/*
Theme Name:   AQUAVITAL
Template:     astra
Description:  Thème enfant Astra — identité AQUAVITAL. Palette prélevée sur le produit
              (turquoise #18B1BD du boîtier, bleu #14405D du logo), cartes arrondies,
              boutons en dégradé, typographie Plus Jakarta Sans et Cairo pour l'arabe.
Author:       AQUAVITAL
Version:      2.0.0
Text Domain:  aquavital
*/

/* ════════════════════════════════════════════════════════════
   JETONS
   ════════════════════════════════════════════════════════════ */
:root{
  --navy:#14405D; --navy-2:#4A6B74; --navy-3:#7E9AA1;
  --turq:#18B1BD; --turq-d:#0E8B95; --mint:#4FD8C3;
  --paper:#F5FCFD; --white:#FFFFFF; --line:#DCEDF0;
  --grad:linear-gradient(120deg,#0E8B95 0%,#18B1BD 46%,#4FD8C3 100%);
  --glow:0 20px 48px -18px rgba(24,177,189,.6);
  --card:0 2px 4px rgba(20,64,93,.04),0 14px 34px -14px rgba(20,64,93,.18);
  --card-h:0 4px 10px rgba(20,64,93,.07),0 28px 54px -18px rgba(20,64,93,.28);
  --r:20px; --r-s:14px;
  --f:"Plus Jakarta Sans",system-ui,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
html[lang^="ar"], body.rtl{ --f:"Cairo",system-ui,sans-serif; }

/* ════════════════════════════════════════════════════════════
   BASE
   ════════════════════════════════════════════════════════════ */
body{background:var(--paper);color:var(--navy);font-family:var(--f);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.rtl{line-height:1.85}
h1,h2,h3,h4,.site-title{font-family:var(--f);font-weight:800;letter-spacing:-.03em;color:var(--navy)}
body.rtl h1,body.rtl h2,body.rtl h3{font-weight:700;letter-spacing:0}
a{color:var(--turq-d)}
:focus-visible{outline:2px solid var(--turq);outline-offset:3px}

/* ════════════════════════════════════════════════════════════
   EN-TÊTE
   ════════════════════════════════════════════════════════════ */
.ast-primary-header-bar,.site-header{
  background:rgba(245,252,253,.88)!important;
  backdrop-filter:saturate(160%) blur(16px);
  border-bottom:1px solid var(--line)!important;box-shadow:none!important;
}
.main-header-menu a,.ast-header-break-point .main-navigation a{font-weight:600;color:var(--navy)}
.main-header-menu .menu-item:hover>a{color:var(--turq-d)}
.ast-site-identity .site-title a{font-weight:800;letter-spacing:-.02em}

/* ════════════════════════════════════════════════════════════
   BOUTONS — dégradé, pilule, relief
   ════════════════════════════════════════════════════════════ */
.ast-button,.button,button,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{
  background:var(--grad)!important;color:#fff!important;border:0!important;
  border-radius:999px!important;font-family:var(--f);font-weight:700;font-size:16px;
  padding:15px 30px!important;box-shadow:var(--glow);
  transition:transform .2s var(--ease),filter .2s var(--ease);
}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,.woocommerce #respond input#submit:hover{
  transform:translateY(-2px);filter:saturate(115%);color:#fff!important;
}
.button:active{transform:translateY(0)}

/* ════════════════════════════════════════════════════════════
   CATALOGUE — cartes produit
   ════════════════════════════════════════════════════════════ */
.woocommerce ul.products{gap:clamp(14px,1.8vw,22px)!important}
.woocommerce ul.products li.product{
  background:var(--white);border:0;border-radius:var(--r);padding:18px 18px 24px;
  box-shadow:var(--card);text-align:start;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--card-h)}
.woocommerce ul.products li.product a img{
  border-radius:var(--r-s);background:linear-gradient(150deg,#EAF7F9,#FFFFFF);
  margin-bottom:16px;transition:transform .5s var(--ease);
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.03)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:18px!important;font-weight:700;line-height:1.3;padding:0!important;color:var(--navy);
}
.woocommerce ul.products li.product .price{
  font-size:19px!important;font-weight:800;color:var(--navy);margin-top:8px;display:block;
}
.woocommerce ul.products li.product .price del{color:var(--navy-3);font-weight:500;font-size:15px}
.woocommerce ul.products li.product .button{
  margin-top:16px;font-size:14.5px;padding:12px 22px!important;
}
.woocommerce span.onsale{
  background:var(--grad)!important;color:#fff;border-radius:999px;
  padding:6px 16px;font-weight:700;font-size:12.5px;min-height:0;line-height:1.4;
  box-shadow:var(--glow);top:14px;inset-inline-start:14px;
}

/* en-tête de boutique */
.woocommerce-products-header__title,.entry-title{font-size:clamp(30px,4vw,46px)}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select{color:var(--navy-2);font-size:14.5px}
.woocommerce .woocommerce-ordering select{
  border:1px solid var(--line);border-radius:999px;padding:10px 18px;background:var(--white);
}

/* ════════════════════════════════════════════════════════════
   FICHE PRODUIT
   ════════════════════════════════════════════════════════════ */
.single-product div.product{padding-block:clamp(20px,3vw,40px)}
.single-product div.product .woocommerce-product-gallery{
  background:var(--white);border-radius:var(--r);padding:clamp(14px,2vw,26px);box-shadow:var(--card);
}
.single-product div.product .woocommerce-product-gallery img{border-radius:var(--r-s)}
.single-product div.product .product_title{font-size:clamp(28px,3.6vw,42px);line-height:1.1}
.single-product div.product p.price,
.single-product div.product span.price{
  font-size:clamp(26px,3vw,34px)!important;font-weight:800;color:var(--navy);
  margin-block:14px 18px;
}
.single-product div.product p.price del{font-size:20px;color:var(--navy-3);font-weight:500}
.woocommerce-product-details__short-description{color:var(--navy-2);font-size:17px}

/* sélecteur de finition */
.woocommerce div.product form.cart .variations{background:var(--white);border-radius:var(--r-s);
  padding:16px 18px;box-shadow:var(--card);margin-bottom:18px}
.woocommerce div.product form.cart .variations label{font-weight:700;color:var(--navy-2);font-size:14px}
.woocommerce div.product form.cart .variations select{
  border:1.5px solid var(--line);border-radius:var(--r-s);padding:12px 14px;
  background:var(--paper);font-family:var(--f);font-size:16px;
}
.woocommerce div.product form.cart .variations select:focus{border-color:var(--turq);background:var(--white)}

/* onglets */
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin-bottom:22px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;border:0;border-radius:0;margin:0 22px 0 0;padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-weight:700;color:var(--navy-3);padding:12px 0;display:inline-block;
  border-bottom:2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--navy);border-bottom-color:var(--turq);
}
.woocommerce div.product .woocommerce-tabs .panel{
  background:var(--white);border-radius:var(--r);padding:clamp(20px,3vw,34px);box-shadow:var(--card);
}
.woocommerce table.shop_attributes th{color:var(--navy-2);font-weight:700}
.woocommerce table.shop_attributes td{color:var(--navy)}

/* produits liés */
.related.products>h2,.up-sells>h2{font-size:clamp(24px,3vw,34px);margin-bottom:22px}

/* pastilles de réassurance sous le formulaire */
.aqv-reassure{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.aqv-reassure span{
  display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--navy);
  background:var(--white);border:1px solid var(--line);border-radius:999px;padding:9px 16px;
}
.aqv-reassure i{width:7px;height:7px;border-radius:50%;background:var(--grad);flex:none}

/* ════════════════════════════════════════════════════════════
   PANIER ET COMMANDE — allégés
   ════════════════════════════════════════════════════════════ */
.woocommerce table.shop_table{border:0;border-radius:var(--r);overflow:hidden;
  background:var(--white);box-shadow:var(--card)}
.woocommerce table.shop_table th{background:transparent;color:var(--navy-2);font-weight:700}
.woocommerce-checkout #payment{background:var(--white);border-radius:var(--r);box-shadow:var(--card)}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{
  border:1.5px solid var(--line);border-radius:var(--r-s);padding:14px 16px;
  background:var(--paper);font-family:var(--f);font-size:16px;
}
.woocommerce form .form-row input.input-text:focus{border-color:var(--turq);background:var(--white);outline:none}
.woocommerce-message,.woocommerce-info{
  background:#E1F8F1;border-top-color:var(--turq);border-radius:var(--r-s);color:#0B6B52;
}
.woocommerce-error{background:#FDECEC;border-top-color:#D14343;border-radius:var(--r-s);color:#8A1B1B}

/* ════════════════════════════════════════════════════════════
   PIED DE PAGE
   ════════════════════════════════════════════════════════════ */
.site-footer,.ast-small-footer,.footer-adv{
  background:var(--navy)!important;color:#A9C2CB!important;border:0!important;
}
.site-footer a,.ast-small-footer a{color:#7FE0EC!important}

/* ════════════════════════════════════════════════════════════
   CE QU'ON MASQUE
   Un site de vente installée à domicile n'a pas besoin de panier
   visible ni de fil d'Ariane sur chaque page.
   ════════════════════════════════════════════════════════════ */
.ast-site-header-cart,.ast-header-woo-cart,
.woocommerce .woocommerce-breadcrumb,
.woocommerce-store-notice{display:none!important}

/* Dernier filet : si un thème ou une extension réaffiche le formulaire
   panier natif, il reste invisible. Le formulaire AQUAVITAL n'est pas
   un form.cart, il n'est donc pas touché. */
.single-product form.cart,
.single-product .single_add_to_cart_button,
.woocommerce .add_to_cart_button{display:none!important}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms!important}
}
