/* =========================================================================
   CAVIAR D'EDEN v4 — WooCommerce / Astra translation (Kaviari-grade)
   Shop loop cards, single product (PDP), cart, checkout, header, footer.
   Loaded after v4.css; reuses its tokens. Hairlines, not shadows.
   ========================================================================= */
body.woocommerce,body.woocommerce-page{background:var(--paper)!important; color:var(--ink-2); font-family:var(--sans);}
body.woocommerce-page h1,body.woocommerce-page h2,body.woocommerce-page h3,
.woocommerce .product_title,.woocommerce-loop-product__title{font-family:var(--serif)!important; color:var(--ink)!important; font-weight:400!important;}

/* ---- Astra header → slim light ---- */
#masthead,.main-header-bar,.ast-above-header,.site-header,.ast-header-sticked,#ast-fixed-header{
  background:rgba(244,240,232,.95)!important; border-bottom:1px solid var(--line-soft)!important; box-shadow:none!important;}
.main-header-menu a,.ast-builder-menu .menu-item>a{color:var(--ink)!important; font-family:var(--sans)!important;
  text-transform:uppercase; letter-spacing:.13em; font-size:.72rem; font-weight:500;}
.main-header-menu a:hover{color:var(--petrol)!important;}
.ast-site-identity .site-title,.site-logo-img{font-family:var(--serif)!important;}

/* ---- Astra footer → petrol-deep (matches homepage footer) ---- */
.site-footer,#colophon,.ast-small-footer,.footer-adv{background:var(--petrol-deep)!important; color:rgba(244,240,232,.72)!important; border-top:0!important;}
#colophon a,.site-footer a{color:rgba(244,240,232,.78)!important;}
#colophon a:hover{color:var(--paper)!important;}
.site-footer h2,.site-footer h3,.site-footer .widget-title{color:rgba(244,240,232,.55)!important; font-family:var(--sans)!important; text-transform:uppercase; letter-spacing:.16em; font-size:.68rem!important;}

/* ---- archive / page titles ---- */
.woocommerce-products-header{text-align:center; padding-top:clamp(5rem,9vh,7rem);}
.woocommerce-products-header__title,.entry-title,.ast-archive-description .ast-archive-title{font-family:var(--serif)!important; font-weight:400!important; color:var(--ink)!important; font-size:clamp(1.9rem,4vw,2.6rem)!important;}
.term-description,.woocommerce-products-header .ast-archive-description p{color:var(--ink-mute); max-width:60ch; margin:.6rem auto 0;}

/* =========================================================================
   SHOP LOOP → matches the homepage .pcard recipe
   ========================================================================= */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:clamp(1rem,2vw,1.5rem)!important; margin:2.5rem 0 0!important;}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important;}
.woocommerce ul.products li.product{width:auto!important; margin:0!important; float:none!important; text-align:left!important;
  background:#fff!important; border:1px solid var(--line)!important; border-radius:2px!important; box-shadow:none!important;
  padding:clamp(1.2rem,2vw,1.6rem)!important; display:flex; flex-direction:column; transition:background .3s var(--silk),border-color .3s;}
.woocommerce ul.products li.product:hover{background:var(--card)!important; border-color:var(--line-2)!important;}
.woocommerce ul.products li.product a img{background:transparent!important; max-height:200px; width:auto!important;
  margin:0 auto 1rem!important; object-fit:contain!important; padding:0!important; border:0!important; border-radius:0!important;
  box-shadow:none!important; transition:transform .7s var(--silk);}
.woocommerce ul.products li.product:hover a img{transform:scale(1.035);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif)!important; color:var(--ink)!important; font-size:1.0625rem!important; padding:0!important; font-weight:400!important; line-height:1.25;}
.cde-card-meta{display:block; color:var(--ink-mute); font-family:var(--sans); font-style:normal; font-size:.8125rem; letter-spacing:0; text-transform:none; margin:.25rem 0 0;}
.woocommerce ul.products li.product .price{color:var(--ink)!important; font-family:var(--sans)!important; font-size:1rem!important; font-weight:500!important;
  margin:.65rem 0 0!important; display:block;}
.woocommerce ul.products li.product .price del{color:var(--ink-mute); font-weight:400;}
.woocommerce ul.products li.product .price ins{text-decoration:none; color:var(--ink);}
.woocommerce ul.products li.product .price .from,.woocommerce ul.products li.product .price small{color:var(--ink-mute); font-weight:400; font-size:.8125rem;}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart{
  margin:1rem 0 0!important; padding:1rem 0 0!important; border-top:1px solid var(--line)!important; border-radius:0!important;
  background:transparent!important; color:var(--petrol)!important; box-shadow:none!important;
  text-transform:none!important; letter-spacing:.01em!important; font-size:.8125rem!important; font-weight:600!important; display:block;}
.woocommerce ul.products li.product .button::after{content:" \2192"; transition:none;}
.woocommerce ul.products li.product .button:hover{color:var(--ink)!important; background:transparent!important; text-decoration:underline; text-underline-offset:3px;}

/* =========================================================================
   SINGLE PRODUCT (PDP) — two-column buy box over stacked editorial
   ========================================================================= */
.single-product div.product{display:grid; grid-template-columns:1.28fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:start;}
.single-product .woocommerce-product-gallery{margin:0!important;}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery img{background:var(--card)!important; border:1px solid var(--line)!important; border-radius:2px;}
.single-product .flex-control-thumbs li{margin:.6rem .6rem 0 0!important;}
.single-product .flex-control-thumbs img{border:1px solid var(--line)!important; border-radius:2px; opacity:.6; transition:opacity .3s,border-color .3s;}
.single-product .flex-control-thumbs img:hover,.single-product .flex-control-thumbs .flex-active{opacity:1; border-color:var(--petrol)!important;}
.single-product .summary.entry-summary{background:transparent!important; border:0!important; padding:0!important; box-shadow:none!important; position:sticky; top:6rem;}
.single-product .product_title{font-size:clamp(2rem,3.4vw,2.8rem)!important; margin:0 0 .5rem!important; line-height:1.06;}
.single-product .woocommerce-product-details__short-description{color:var(--ink-2); margin:0 0 1.2rem; font-size:.95rem; max-width:46ch;}
.single-product .summary .price,.single-product .summary .price .woocommerce-Price-amount{color:var(--ink)!important; font-family:var(--sans)!important; font-weight:600!important; font-size:1.5rem!important;}
.single-product .summary .price{margin:0 0 .25rem!important;}
.single-product .summary .price del{color:var(--ink-mute); font-weight:400;}
.cde-perkg{font-size:.8125rem; color:var(--ink-mute); margin:0 0 1.4rem;}

/* weight selector → pills (JS converts the <select>; styled here) */
.single-product table.variations{margin:0 0 1.2rem!important; border:0;}
.single-product table.variations td,.single-product table.variations th{display:block; border:0!important; padding:.25rem 0!important; background:transparent!important;}
.single-product table.variations label{color:var(--ink-mute)!important; text-transform:uppercase; letter-spacing:.14em; font-size:.68rem; font-family:var(--sans); margin-bottom:.5rem; display:block;}
.cde-pills{display:flex; flex-wrap:wrap; gap:.5rem; margin:.2rem 0 .2rem;}
.cde-pill{border:1px solid var(--line); background:var(--card); color:var(--ink-2); border-radius:2px; padding:.6em 1.05em;
  font-family:var(--sans); font-size:.875rem; cursor:pointer; transition:all .25s var(--silk); min-width:54px; text-align:center;}
.cde-pill:hover{border-color:var(--line-2);}
.cde-pill.is-on{border-color:var(--petrol); background:var(--petrol-tint); color:var(--ink);}
.cde-has-pills .variations select{display:none!important;}
.single-product .single_variation .price{margin:.4rem 0 0!important;}

/* the ONE solid button on the whole site */
.single_add_to_cart_button,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #respond input#submit,.wc-proceed-to-checkout a.button,.checkout-button,#place_order{
  background:var(--petrol-deep)!important; color:var(--paper)!important; border:1px solid var(--petrol-deep)!important; border-radius:3px!important;
  text-transform:none!important; letter-spacing:.03em!important; font-size:.875rem!important; font-weight:600!important; padding:1.05em 2.2em!important;
  box-shadow:none!important; transition:background .35s var(--silk)!important;}
.single_add_to_cart_button:hover,.woocommerce a.button.alt:hover,.checkout-button:hover,.wc-proceed-to-checkout a.button:hover,#place_order:hover{background:var(--petrol)!important; color:var(--paper)!important;}
/* clean buy area: full-width button, no qty field (one tin per add, weight is the choice) */
.single-product form.cart{display:block; margin-top:.5rem;}
.single-product .summary .quantity,.single-product form.cart .quantity,.single-product .woocommerce-variation-add-to-cart .quantity{display:none!important;}
.single-product .woocommerce-variation-add-to-cart{display:block;}
.single-product .single_add_to_cart_button{width:100%; margin-top:.2rem;}
.single-product .cde-atc-micro{display:none;} /* superseded by .cde-reassure list */
.single-product .summary .stock{color:var(--ok)!important; font-size:.82rem; display:inline-flex; align-items:center; gap:.5rem; margin:.2rem 0 1rem; font-weight:500;}
.single-product .summary .stock::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--ok);}
.woocommerce a.button:not(.alt){background:transparent!important; color:var(--petrol)!important; border:1px solid var(--line)!important; border-radius:2px!important;}

/* reassurance one-liners under the buy box */
.cde-reassure{list-style:none; margin:1.3rem 0 0; padding:1.3rem 0 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:.6rem;}
.cde-reassure li{display:flex; align-items:flex-start; gap:.6rem; font-size:.82rem; color:var(--ink-mute); line-height:1.4;}
.cde-reassure svg,.cde-reassure .cde-ic{width:15px; height:15px; color:var(--petrol); flex:none; margin-top:.1rem;}

/* legacy v2 assurance block restyle (kept by woo-enhancements) */
.cde-assurance{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:1.4rem 0 0; padding:1.3rem 0 0; border-top:1px solid var(--line);}
.cde-assurance__item{display:flex; gap:.5rem; align-items:flex-start;}
.cde-assurance__item strong{display:block; color:var(--ink); font-size:.78rem; letter-spacing:.02em;}
.cde-assurance__item span{display:block; color:var(--ink-mute); font-size:.78rem;}
.cde-ic{width:20px; height:20px; color:var(--petrol);}
.cde-atc-micro{color:var(--ink-mute); font-size:.82rem; display:flex; align-items:center; gap:.5rem; margin:.9rem 0 0;}
.cde-atc-micro .cde-ic{color:var(--petrol)!important;}

/* tasting profile band */
.cde-profile{grid-column:1/-1; background:var(--paper-2); border-radius:2px; padding:clamp(1.6rem,3vw,2.4rem); margin-top:var(--sy);}
.cde-profile h3{font-family:var(--serif); font-size:1.375rem; color:var(--ink); margin-bottom:1.4rem; font-weight:400;}
.cde-profile__bars{display:grid; gap:.9rem; max-width:520px;}
.cde-prow{display:grid; grid-template-columns:9rem 1fr; align-items:center; gap:1rem;}
.cde-prow span{font-size:.82rem; color:var(--ink-2);}
.cde-prow .bar{height:4px; background:var(--line); border-radius:3px; overflow:hidden;}
.cde-prow .bar i{display:block; height:100%; background:var(--petrol); border-radius:3px;}

/* stacked editorial (product story) */
.cde-story{max-width:var(--maxw); margin:var(--sy) auto 0; grid-column:1/-1;}
.cde-story__head{margin-bottom:1.8rem;}
.cde-eyebrow{font-size:.6875rem; text-transform:uppercase; letter-spacing:.18em; font-weight:600; color:var(--ink-mute); display:inline-block; margin-bottom:.6rem;}
.cde-story__head .cde-hairline{font-family:var(--serif)!important; font-weight:400!important; color:var(--ink)!important; font-size:clamp(1.6rem,3vw,2.1rem)!important; line-height:1.1; margin:0;}
.cde-rule{width:42px; height:1px; background:var(--petrol); margin-top:1rem;}
.cde-storygrid{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1rem,2vw,1.5rem);}
.cde-storycard{background:var(--card); border:1px solid var(--line); border-radius:2px; padding:1.6rem 1.5rem;}
.cde-storycard--wide{grid-column:1/-1; background:var(--paper-2); border-color:var(--line-soft);}
.cde-storycard .k,.cde-storycard h3{font-family:var(--serif)!important; color:var(--ink); font-size:1.15rem; margin:0 0 .5rem; font-weight:400!important; font-style:normal;}
.cde-storycard p{color:var(--ink-2); font-size:.9rem; line-height:1.6;}
.cde-storycard .cde-ic{color:var(--petrol); width:24px; height:24px; margin-bottom:.6rem;}
.cde-flavors{display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.6rem;}
.cde-flavors span{border:1px solid var(--line); color:var(--ink-mute); border-radius:999px; font-size:.62rem; text-transform:uppercase; letter-spacing:.1em; padding:.34em .85em;}
.single-product div.product .cde-story,.single-product div.product .woocommerce-tabs,
.single-product div.product .related,.single-product div.product .cde-assurance,.single-product div.product .up-sells,.single-product div.product .cde-profile{grid-column:1/-1;}

/* hide the generic woo tab dump in favour of the stacked story */
.single-product .woocommerce-tabs{display:none;}

/* related products → clean grid */
.single-product .related>h2,.single-product .up-sells>h2{font-family:var(--serif)!important; font-weight:400!important; font-size:clamp(1.5rem,3vw,2rem)!important; text-align:center; margin-bottom:2rem;}

/* breadcrumb */
.woocommerce .woocommerce-breadcrumb{font-size:.78rem; color:var(--ink-mute); letter-spacing:.02em; margin-bottom:1.6rem;}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--petrol);}

/* sticky mobile ATC (v2 markup) */
.cde-stickybar{position:fixed; left:0; right:0; bottom:0; z-index:1000; display:none; align-items:center; gap:1rem;
  padding:.75rem var(--gx) calc(.75rem + env(safe-area-inset-bottom,0)); background:rgba(251,249,244,.97); backdrop-filter:blur(12px); border-top:1px solid var(--line); transform:translateY(110%); transition:transform .4s var(--silk);}
.cde-stickybar.is-visible{transform:none;}
.cde-stickybar__name{font-family:var(--serif); color:var(--ink); font-size:1rem;}
.cde-stickybar__price,.cde-stickybar__price .woocommerce-Price-amount{color:var(--petrol)!important; font-size:.9rem; font-weight:600;}
.cde-stickybar__btn{margin-left:auto; background:var(--petrol-deep); color:var(--paper); border:0; border-radius:3px; text-transform:none; letter-spacing:.03em; font-size:.82rem; font-weight:600; padding:.95em 1.5em; cursor:pointer;}

/* =========================================================================
   CART / CHECKOUT — light, hairline, refined
   ========================================================================= */
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{max-width:var(--maxw); margin-inline:auto;}
.woocommerce table.shop_table{background:transparent!important; border:0!important; border-radius:0!important;}
.woocommerce table.shop_table thead th{color:var(--ink-mute)!important; text-transform:uppercase; letter-spacing:.1em; font-size:.68rem; border-bottom:1px solid var(--line)!important; font-weight:600;}
.woocommerce table.shop_table td{border-top:1px solid var(--line-soft)!important; color:var(--ink-2); padding:1.2rem .8rem!important; background:transparent!important;}
.woocommerce table.shop_table td.product-name a,.woocommerce-cart .product-name a{font-family:var(--serif)!important; color:var(--ink)!important; font-size:1.05rem;}
.woocommerce .cart img,.woocommerce-cart .product-thumbnail img{width:72px!important; height:72px!important; object-fit:contain; background:var(--card); border:1px solid var(--line-soft); border-radius:2px; padding:6%;}
.woocommerce .quantity .qty{background:var(--card)!important; border:1px solid var(--line)!important; border-radius:2px!important; color:var(--ink)!important; padding:.5em!important; width:3.4em;}
.cart_totals,.woocommerce-checkout #order_review{background:var(--card)!important; border:1px solid var(--line)!important; border-radius:3px!important; padding:1.8rem 1.6rem!important;}
.woocommerce .cart_totals h2,.woocommerce-checkout #order_review_heading{font-family:var(--serif)!important; color:var(--ink)!important; font-weight:400!important; font-size:1.4rem!important; margin-bottom:1rem;}
.cart_totals table.shop_table td,.cart_totals table.shop_table th{border-top:1px solid var(--line-soft)!important; padding:.7rem 0!important;}
.woocommerce .order-total .amount,.cart_totals .order-total .amount{color:var(--ink)!important; font-family:var(--serif)!important; font-size:1.3rem; font-weight:400;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%; text-align:center; margin-top:.6rem;}

/* free-shipping progress (third-party bar + woo notices) → slim petrol/ok */
.free-shipping-progress-bar,.woocommerce-info,.woocommerce .berocket_cart_notice{background:var(--paper-2)!important; border:1px solid var(--line)!important; border-left:3px solid var(--petrol)!important; border-radius:2px!important; color:var(--ink-2)!important; box-shadow:none!important;}
.free-shipping-progress-bar .progress-fill,.berocket_cart_notice [class*=progress]>span,.berocket_cart_notice .bcn-progress{background:var(--ok)!important;}
.free-shipping-progress-bar strong,.free-shipping-progress-bar b{color:var(--ok)!important;}
.woocommerce-info::before,.berocket_cart_notice::before{color:var(--petrol)!important;}

/* checkout form fields */
.woocommerce form .form-row label,.woocommerce-checkout label{color:var(--ink-mute)!important; text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; font-weight:500;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.select2-container--default .select2-selection,.woocommerce-checkout input[type=text],.woocommerce-checkout input[type=email],.woocommerce-checkout input[type=tel]{
  background:var(--card)!important; border:1px solid var(--line)!important; color:var(--ink)!important; border-radius:3px!important; padding:.85em 1em!important; min-height:3rem; font-family:var(--sans); font-size:.95rem;}
.woocommerce form .form-row input.input-text:focus,.woocommerce-checkout input:focus,.select2-container--default.select2-container--focus .select2-selection{border-color:var(--petrol)!important; outline:none; box-shadow:none!important;}
.woocommerce #payment,.woocommerce-checkout #payment{background:transparent!important; border-radius:0;}
.woocommerce #payment ul.payment_methods{background:var(--card)!important; border:1px solid var(--line)!important; border-radius:3px!important; padding:1.2rem!important;}
.woocommerce #payment div.payment_box{background:var(--paper-2)!important; border-radius:2px; color:var(--ink-2);}
.woocommerce #payment div.payment_box::before{border-bottom-color:var(--paper-2)!important;}
.cde-confidence{display:flex; gap:1.2rem; flex-wrap:wrap; justify-content:center; margin:1.2rem 0 0; color:var(--ink-mute); font-size:.78rem;}
.cde-confidence span{display:flex; align-items:center; gap:.4rem;}
.cde-confidence .cde-ic{color:var(--petrol)!important;}
.woocommerce-message,.woocommerce-error{background:var(--card)!important; border:1px solid var(--line)!important; border-top:2px solid var(--petrol)!important; color:var(--ink)!important; border-radius:2px;}
.woocommerce .blockUI.blockOverlay{background:var(--paper)!important; opacity:.7!important;}

@media (max-width:1023px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr 1fr!important;}
  .single-product div.product{grid-template-columns:1fr;}
  .single-product .summary.entry-summary{position:static;}
  .cde-storygrid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr!important;}
  .cde-storygrid{grid-template-columns:1fr;}
  .cde-assurance{grid-template-columns:1fr;}
  .cde-prow{grid-template-columns:7rem 1fr;}
}
@media (max-width:880px){ .cde-stickybar{display:flex;} }

/* =========================================================================
   v4 QA FIXES — unify header, kill gold relapse, clean tables/pills
   ========================================================================= */
/* ONE header sitewide: hide the gold sturgeon logo, render the serif wordmark */
.custom-logo-link .custom-logo,.site-logo-img .custom-logo,.ast-site-identity img.custom-logo{display:none!important;}
.custom-logo-link{display:inline-flex!important; flex-direction:column; justify-content:center; align-items:flex-start; line-height:1; text-decoration:none;}
.custom-logo-link::before{content:"Caviar d'Eden"; font-family:var(--serif); font-size:1.35rem; color:var(--ink); line-height:1; letter-spacing:.01em;}
.custom-logo-link::after{content:"MAISON DU CAVIAR"; font-family:var(--sans); font-size:.5rem; text-transform:uppercase; letter-spacing:.36em; color:var(--ink-mute); margin-top:.34rem;}
/* neutralize gold cart + header icons → ink / petrol badge */
.ast-cart-menu-wrap,.ast-cart-menu-wrap *,.ast-header-woo-cart a,.ast-site-header-cart a,.ast-header-search .astra-search-icon{color:var(--ink)!important;}
.ast-cart-menu-wrap .count,.ast-cart-menu-wrap .ast-cart-count,.ast-site-header-cart .count,.ast-addon-cart-wrap .ast-cart-count{background:var(--petrol)!important; color:var(--paper)!important; border-color:var(--petrol)!important;}
.ast-header-woo-cart svg,.ast-cart-menu-wrap svg{fill:var(--ink)!important; color:var(--ink)!important;}

/* scroll-to-top: petrol, not gold */
#ast-scroll-top{background:var(--petrol-deep)!important; color:var(--paper)!important; border:0!important; border-radius:3px!important; box-shadow:none!important; opacity:.92;}
#ast-scroll-top:hover{background:var(--petrol)!important; opacity:1;}

/* cart tables: strip blue-grey bands → warm transparent + hairline */
.woocommerce table.shop_table,.woocommerce table.shop_table thead,.woocommerce table.shop_table tbody,
.woocommerce table.shop_table tr,.woocommerce table.shop_table th,.woocommerce table.shop_table td,
.woocommerce-cart table.cart thead th,.cart_totals table th,.cart_totals table td{background:transparent!important;}
.woocommerce table.shop_table thead th{border-bottom:1px solid var(--line)!important; color:var(--ink-mute)!important; text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; font-weight:600;}
.woocommerce .cart_totals h2,.cart-collaterals h2,.woocommerce-cart .cart-collaterals .cart_totals{background:transparent!important;}

/* weight pills → even 3-col grid (JS adds --compact when options are short) */
.cde-pills--compact{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; max-width:300px;}
.cde-pills--compact .cde-pill{min-width:0; width:100%; padding:.6em .4em;}
.single-product .reset_variations{font-size:.72rem; color:var(--ink-mute); letter-spacing:.04em; margin-left:.2rem;}

/* checkout: tidy field labels so country label doesn't collide with value */
.woocommerce form .form-row{margin-bottom:1.1rem;}
.woocommerce form .form-row label{display:block; margin-bottom:.4rem;}
.woocommerce-checkout #customer_details h3,.woocommerce-checkout .woocommerce-billing-fields>h3{font-family:var(--serif)!important; font-weight:400!important; font-size:1.3rem!important; color:var(--ink)!important; text-transform:none; letter-spacing:0; margin-bottom:1rem;}
