/*
Theme Name:  Aster Child
Description: Child theme Shoptimizer — Studio Aster, DA « Galerie moderne » (blanc, encre, iris électrique, touche acide).
Template:    shoptimizer
Version:     1.0.0
Text Domain: aster-child
*/

/* ══════════════════════════════════════════
   Tokens Studio Aster
   ══════════════════════════════════════════ */
:root{
  --sa-white:#FFFFFF;
  --sa-paper:#F5F4F2;
  --sa-ink:#16141A;
  --sa-iris:#5B48EE;
  --sa-iris-dark:#4636C9;
  --sa-acid:#E9FF66;
  --sa-line:#E5E3DE;
  --sa-muted:#6E6A75;
  --sa-font-display:'Space Grotesk',system-ui,sans-serif;
  --sa-font-text:'Inter',system-ui,sans-serif;
}

/* ══ Base typographique ══ */
body{
  font-family:var(--sa-font-text);
  color:var(--sa-ink);
  background:var(--sa-white);
}
h1,h2,h3,h4,h5,h6,
.woocommerce-products-header__title,
.product_title,
.cart_totals h2,
.cross-sells h2,
.related.products h2,
.up-sells h2{
  font-family:var(--sa-font-display) !important;
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--sa-ink);
}
a{color:var(--sa-iris);}
a:hover{color:var(--sa-iris-dark);}

/* ══ Boutons — rectangulaires nets, iris ══ */
button,.button,input[type=submit],
.woocommerce #respond input#submit,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce button.button.alt.single_add_to_cart_button,
.wc-block-components-button,
.woocommerce #payment #place_order{
  background-color:var(--sa-iris) !important;
  color:#fff !important;
  border:1px solid var(--sa-iris) !important;
  border-radius:0 !important;
  font-family:var(--sa-font-display) !important;
  font-weight:600 !important;
  letter-spacing:.01em;
  text-transform:none;
  box-shadow:none !important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
button:hover,.button:hover,input[type=submit]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce button.button.alt.single_add_to_cart_button:hover,
.woocommerce #payment #place_order:hover{
  background-color:var(--sa-ink) !important;
  border-color:var(--sa-ink) !important;
  color:#fff !important;
}

/* ══ Champs de formulaire ══ */
input[type=text],input[type=email],input[type=tel],input[type=password],
input[type=search],input[type=number],select,textarea,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single{
  border:1px solid var(--sa-line);
  border-radius:0 !important;
  font-family:var(--sa-font-text);
  color:var(--sa-ink);
}
input:focus,select:focus,textarea:focus,
.woocommerce form .form-row input.input-text:focus{
  border-color:var(--sa-iris) !important;
  box-shadow:0 0 0 1px var(--sa-iris) !important;
  outline:none;
}

/* ══ Badge promo — pill acide ══ */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale{
  background:var(--sa-acid) !important;
  color:var(--sa-ink) !important;
  border-radius:999px !important;
  font-family:var(--sa-font-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.02em;
  padding:4px 12px;
  min-width:0;min-height:0;line-height:1.5;
  box-shadow:none;
}

/* ══ Cartes produits (boutique / catégories / related) ══ */
.woocommerce ul.products li.product{
  background:var(--sa-white);
  border:1px solid var(--sa-line);
  border-radius:0;
  padding:0 0 16px;
  transition:border-color .2s ease,transform .2s ease;
}
.woocommerce ul.products li.product:hover{
  border-color:var(--sa-ink);
  transform:translateY(-3px);
}
.woocommerce ul.products li.product img{border-radius:0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{
  font-family:var(--sa-font-display) !important;
  font-weight:600;
  font-size:15.5px;
  letter-spacing:-.01em;
  color:var(--sa-ink);
  padding:12px 14px 2px;
}
.woocommerce ul.products li.product .price{
  color:var(--sa-ink) !important;
  font-family:var(--sa-font-text);
  font-weight:600;
  padding:0 14px;
}
.woocommerce ul.products li.product .price del{color:var(--sa-muted);opacity:1;font-weight:400;}
.woocommerce ul.products li.product .price ins{color:var(--sa-ink);text-decoration:none;font-weight:700;}
.woocommerce ul.products li.product .button{margin:10px 14px 0;}

/* Étoiles : uniquement les vrais avis WooCommerce */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before{color:var(--sa-iris);}
.woocommerce p.stars a{color:var(--sa-iris);}

/* ══ Pages archives boutique ══ */
.woocommerce-products-header{
  background:var(--sa-paper);
  border-bottom:1px solid var(--sa-line);
}
.woocommerce-products-header__title{font-size:clamp(28px,4vw,44px);}
.woocommerce .woocommerce-breadcrumb,.site-breadcrumbs{
  font-family:var(--sa-font-text);
  font-size:12.5px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--sa-muted);
}
.woocommerce .woocommerce-breadcrumb a{color:var(--sa-muted);}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--sa-iris);}
.woocommerce nav.woocommerce-pagination ul{border:none;}
.woocommerce nav.woocommerce-pagination ul li{border:none;margin:0 3px;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--sa-line);
  border-radius:0;
  font-family:var(--sa-font-display);
  font-weight:600;
  color:var(--sa-ink);
  min-width:40px;height:40px;line-height:38px;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{
  background:var(--sa-ink);border-color:var(--sa-ink);color:#fff;
}

/* ══ Fiche produit ══ */
.single-product .product_title{
  font-size:clamp(26px,3.4vw,40px);
  line-height:1.08;
}
.single-product .summary .price{
  color:var(--sa-ink) !important;
  font-family:var(--sa-font-display);
  font-weight:700;
  font-size:24px;
}
.single-product .summary .price del{color:var(--sa-muted);font-weight:400;font-size:.72em;}
.single-product .summary .price ins{color:var(--sa-ink);text-decoration:none;}
.single-product div.product .woocommerce-tabs ul.tabs li{
  border-radius:0;background:transparent;border:none;
}
.single-product div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--sa-font-display);font-weight:600;color:var(--sa-muted);
}
.single-product div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--sa-ink);
  box-shadow:inset 0 -2px 0 var(--sa-iris);
}
.woocommerce div.product div.images img{border:1px solid var(--sa-line);}
.woocommerce div.product form.cart div.quantity .qty{
  border:1px solid var(--sa-line);border-radius:0;
}
.product-details-wrapper .onsale{position:static;display:inline-block;margin-bottom:10px;}

/* Métas produit */
.single-product .product_meta{
  border-top:1px solid var(--sa-line);
  padding-top:14px;
  font-size:13px;color:var(--sa-muted);
}
.single-product .product_meta a{color:var(--sa-iris);}

/* ══ Panier ══ */
.woocommerce-cart table.cart{border:1px solid var(--sa-line);border-radius:0;}
.woocommerce table.shop_table{border-radius:0;border-color:var(--sa-line);}
.woocommerce table.shop_table th{
  font-family:var(--sa-font-display);
  letter-spacing:.02em;color:var(--sa-ink);
}
.woocommerce-cart .cart-collaterals .cart_totals{
  background:var(--sa-paper);
  border:1px solid var(--sa-line);
  padding:24px;
}
.woocommerce-cart table.cart td.actions .coupon .input-text{
  border:1px solid var(--sa-line);border-radius:0;
}
.woocommerce .cart_totals .order-total .amount{color:var(--sa-ink);font-weight:700;}

/* ══ Notices ══ */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-radius:0;
  border-top:2px solid var(--sa-iris);
  background:var(--sa-paper);
  color:var(--sa-ink);
  font-family:var(--sa-font-text);
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--sa-iris);}
.woocommerce-error{border-top-color:#C33;}

/* ══ Pages éditoriales (mentions, CGV, retours, à propos…) ══ */
.page .entry-content,.page .page-content{
  font-family:var(--sa-font-text);
  line-height:1.75;
  color:var(--sa-ink);
}
.page .entry-content h3{
  font-size:20px;
  margin-top:2.2em;
  padding-top:1.1em;
  border-top:1px solid var(--sa-line);
}
.page .entry-content hr{
  border:none;border-top:1px solid var(--sa-line);margin:2em 0;
}
.page .entry-content a{color:var(--sa-iris);text-decoration:underline;text-underline-offset:3px;}
.page .entry-content ul li::marker{color:var(--sa-iris);}

/* ══ Divers parent Shoptimizer ══ */
.site-content{background:var(--sa-white);}
.col-full{max-width:1320px;}
.woocommerce-store-notice,p.demo_store{background:var(--sa-ink);color:#fff;}

/* ══ Fiche produit — description stable (sans JS) ══ */
.woocommerce-tabs ul.wc-tabs { display: none !important; }
.woocommerce-tabs .woocommerce-Tabs-panel {
  display: block !important; width: 100% !important; max-width: 100% !important;
  float: none !important; opacity: 1 !important; padding: 24px 0 8px !important;
}
.woocommerce-Tabs-panel--description, .woocommerce-Tabs-panel--description p, .woocommerce-Tabs-panel--description li, .woocommerce-Tabs-panel--description td { color: #3A3742 !important; font-size: 16px; line-height: 1.75; }
.woocommerce-Tabs-panel--description h1, .woocommerce-Tabs-panel--description h2,
.woocommerce-Tabs-panel--description h3, .woocommerce-Tabs-panel--description h4, .woocommerce-Tabs-panel--description strong, .woocommerce-Tabs-panel--description b { color: #16141A !important; }
.woocommerce-Tabs-panel--description a { color: #5B48EE !important; }
.woocommerce-Tabs-panel--description hr { border: 0; border-top: 1px solid #E5E3DE; margin: 28px 0; }

/* ══ Encart réassurance fiche produit — DA Galerie ══ */
.sa-reassure { margin-top: 30px; border: 1px solid #E5E3DE; background: #FFFFFF; }
.sa-reassure__head { padding: 12px 18px; border-bottom: 1px solid #E5E3DE; font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #16141A; }
.sa-reassure__head em { font-style: normal; background: #E9FF66; padding: 2px 7px; margin-left: 6px; }
.sa-reassure__item { display: flex; gap: 14px; align-items: flex-start; padding: 15px 18px; border-bottom: 1px solid #E5E3DE; }
.sa-reassure__item:last-child { border-bottom: 0; }
.sa-reassure__item svg { flex: 0 0 22px; width: 22px; height: 22px; color: #5B48EE; margin-top: 2px; }
.sa-reassure__item strong { display: block; font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 13.5px; letter-spacing: .04em; text-transform: uppercase; color: #16141A; margin-bottom: 2px; }
.sa-reassure__item span { font-size: 13.5px; line-height: 1.45; color: #6E6A75; }
