/*
Theme Name: VQ Ayurveda
Theme URI: https://vqayurveda.com
Description: VQ Ayurveda / Salon Cassiopé boutique child theme for Hello Elementor — green/gold brand system (Playfair Display + Jost), French WooCommerce shop, cart, checkout and account, header/footer, and helpers for the VQ Ayurveda Elementor widgets.
Author: VQ Ayurveda
Template: hello-elementor
Version: 3.2.0
Requires at least: 6.8
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: hello-elementor-child
*/

/* ============================================================
   VQ AYURVEDA — BRAND DESIGN TOKENS
   ============================================================ */
:root{
  --vq-cream:      #faf9f5;  /* page background        */
  --vq-maroon:     #5c2b2e;  /* primary brand maroon   */
  --vq-maroon-900: #2a1215;  /* near-black maroon text */
  --vq-coral:      #ff8a80;  /* accent / CTA highlight */
  --vq-muted:      #999999;
  --vq-ink:        #2a1215;
  --vq-card:       #ffffff;
  --vq-border:     #efe9e2;
  --vq-radius:     18px;
  --vq-radius-sm:  12px;
  --vq-shadow:     0 10px 30px rgba(42,18,21,.08);
  --vq-shadow-hover: 0 18px 44px rgba(42,18,21,.14);
  --vq-font:       "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body{
  background: var(--vq-cream);
  color: var(--vq-ink);
  font-family: var(--vq-font);
  -webkit-font-smoothing: antialiased;
}

/* ============================================================
   WOOCOMMERCE — PRODUCT CARD (shop & archives)
   Matches the "My Design" boutique card: cream-white card,
   rounded corners, soft shadow, coral price, maroon button.
   ============================================================ */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background: var(--vq-card);
  border: 1px solid var(--vq-border);
  border-radius: var(--vq-radius);
  padding: 14px 14px 20px;
  box-shadow: var(--vq-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
  text-align: center;
  overflow: hidden;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
  transform: translateY(-6px);
  box-shadow: var(--vq-shadow-hover);
}
.woocommerce ul.products li.product a img{
  border-radius: var(--vq-radius-sm);
  margin-bottom: 14px;
  background: var(--vq-cream);
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family: var(--vq-font);
  font-weight: 500;
  font-size: 1.05rem;
  color: var(--vq-maroon-900);
  padding: 4px 6px 2px;
  line-height: 1.3;
}
.woocommerce ul.products li.product .price{
  color: var(--vq-maroon);
  font-weight: 600;
  font-size: 1.1rem;
}
.woocommerce ul.products li.product .price del{ color: var(--vq-muted); font-weight:400; }
.woocommerce ul.products li.product .price ins{ color: var(--vq-coral); text-decoration:none; }

/* Sale flash as a soft coral pill, top-left */
.woocommerce span.onsale{
  background: var(--vq-coral);
  color: var(--vq-maroon-900);
  border-radius: 999px;
  min-height: auto;
  min-width: auto;
  padding: 6px 14px;
  font-weight: 600;
  line-height: 1;
  top: 18px;
  left: 18px;
  margin: 0;
}

/* Add-to-cart button — maroon pill matching brand */
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .single_add_to_cart_button{
  background: var(--vq-maroon);
  color: #fff;
  border-radius: 999px;
  padding: 12px 22px;
  font-family: var(--vq-font);
  font-weight: 500;
  letter-spacing: .2px;
  transition: background .2s ease, transform .2s ease;
  margin-top: 10px;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover{
  background: var(--vq-maroon-900);
  transform: translateY(-2px);
}

/* Shop results header / ordering spacing */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{ margin-bottom: 1.5rem; }

/* Product grid breathing room */
.woocommerce ul.products{ gap: 26px 0; }

/* ============================================================
   EXACT-MATCH HEADER / FOOTER (rendered via [vq_header]/[vq_footer])
   Make the shortcode fill the Elementor header/footer location edge-to-edge.
   ============================================================ */
/* Footer: let the shortcode fill the location edge-to-edge */
.elementor-location-footer > .elementor{ width: 100%; }
.elementor-location-footer .elementor-widget-shortcode{ margin: 0; }
.elementor-location-footer .elementor-shortcode{ display: block; }
.elementor-location-footer .elementor-section,
.elementor-location-footer .elementor-container{ padding: 0 !important; max-width: 100% !important; width: 100%; }

/* HEADER STICKY:
   Collapse every Elementor wrapper inside the header location with
   display:contents so our <header> stacks directly in the page flow.
   Its containing block then becomes the body (full page height), so
   position:sticky actually travels — the nav pins to the top while the
   announcement bar scrolls away, matching the original design. */
/* (front end only — inside the Elementor editor the wrappers stay normal so the header can be selected) */
body:not(.elementor-editor-active) .elementor-location-header,
body:not(.elementor-editor-active) .elementor-location-header .elementor,
body:not(.elementor-editor-active) .elementor-location-header .elementor-section-wrap,
body:not(.elementor-editor-active) .elementor-location-header .elementor-section,
body:not(.elementor-editor-active) .elementor-location-header .elementor-container,
body:not(.elementor-editor-active) .elementor-location-header .elementor-row,
body:not(.elementor-editor-active) .elementor-location-header .elementor-column,
body:not(.elementor-editor-active) .elementor-location-header .elementor-column-wrap,
body:not(.elementor-editor-active) .elementor-location-header .elementor-widget,
body:not(.elementor-editor-active) .elementor-location-header .elementor-widget-wrap,
body:not(.elementor-editor-active) .elementor-location-header .elementor-widget-container,
body:not(.elementor-editor-active) .elementor-location-header .elementor-widget-shortcode,
body:not(.elementor-editor-active) .elementor-location-header .elementor-shortcode,
body:not(.elementor-editor-active) .elementor-location-header .e-con,
body:not(.elementor-editor-active) .elementor-location-header .e-con-inner{ display: contents !important; }

.vq-header{ position: relative; z-index: 999; }

/* Nav + link hover states to match the design's gold accent */
.vq-nav a{ transition: color .18s ease; }
.vq-nav a:hover{ color: #8A6A1F !important; }
.vq-footer a:hover{ color: #F6D67E !important; }
.vq-header .vq-cart-count{ font-variant-numeric: tabular-nums; }

/* Keep the sticky header above Elementor content */
.vq-header{ box-shadow: 0 1px 0 rgba(0,0,0,0.02); }

/* ============================================================
   SLIDE-OUT MINI-CART DRAWER
   Brand palette: green #1F3B2D · cream #FCF6EE · gold #F6D67E
   ============================================================ */
.vq-cart-overlay{
  position: fixed; inset: 0;
  background: rgba(22,41,31,0.55);
  opacity: 0; visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease;
  z-index: 100000;
}
body.vq-cart-open .vq-cart-overlay{ opacity: 1; visibility: visible; }

.vq-cart-drawer{
  position: fixed; top: 0; right: 0;
  width: min(420px, 92vw); height: 100%;
  background: #FCF6EE;
  display: flex; flex-direction: column;
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.22,.61,.36,1);
  z-index: 100001;
  box-shadow: -18px 0 50px rgba(22,41,31,0.22);
  font-family: 'Jost', sans-serif;
}
body.vq-cart-open .vq-cart-drawer{ transform: translateX(0); }

/* Head */
.vq-cart-head{
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 24px;
  background: #1F3B2D;
}
.vq-cart-title{
  font-family: 'Playfair Display', serif;
  font-size: 24px; font-weight: 600; color: #FCF6EE;
}
.vq-cart-close{
  width: 40px; height: 40px; border: 0; cursor: pointer;
  background: rgba(255,255,255,0.08); color: #FCF6EE;
  border-radius: 50%; display: grid; place-items: center;
  transition: background .2s ease, transform .2s ease;
}
.vq-cart-close:hover{ background: #F6D67E; color: #1F3B2D; transform: rotate(90deg); }

/* Scrollable item area */
.vq-cart-scroll{ flex: 1 1 auto; overflow-y: auto; padding: 8px 22px; }

/* Mini-cart list */
.vq-cart-body ul.woocommerce-mini-cart{ list-style: none; margin: 0; padding: 0; }
.vq-cart-body li.woocommerce-mini-cart-item{
  position: relative;
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 14px; align-items: center;
  padding: 18px 0 18px 34px;
  border-bottom: 1px solid #E6DCCB;
}
.vq-cart-body li.woocommerce-mini-cart-item a:not(.remove){
  color: #1F3B2D; text-decoration: none; font-weight: 500; font-size: 15px;
  grid-column: 2; line-height: 1.35;
}
.vq-cart-body li.woocommerce-mini-cart-item img{
  width: 64px !important; height: 64px; object-fit: cover;
  border-radius: 12px; background: #fff;
  grid-row: 1; grid-column: 1;
  float: none !important; margin: 0 !important;
}
.vq-cart-body li.woocommerce-mini-cart-item .quantity{
  grid-column: 2; font-size: 13px; color: #6B7A6E;
}
.vq-cart-body li.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount,
.vq-cart-body .woocommerce-mini-cart__total .woocommerce-Price-amount{ color: #1F3B2D; font-weight: 600; }

/* Remove (×) button — small gold circle, top-left of the row */
.vq-cart-body li.woocommerce-mini-cart-item a.remove{
  position: absolute; top: 50%; left: 0; transform: translateY(-50%);
  width: 24px; height: 24px; border-radius: 50%;
  background: #EFE6D6; color: #8A6A1F !important;
  display: grid; place-items: center;
  font-size: 15px; line-height: 1; text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.vq-cart-body li.woocommerce-mini-cart-item a.remove:hover{ background: #1F3B2D; color: #FCF6EE !important; }

/* Hide WooCommerce's default mini-cart buttons (we use our own sticky footer) */
.vq-cart-body .woocommerce-mini-cart__buttons,
.vq-cart-body p.buttons,
.vq-cart-body .buttons{ display: none !important; }

/* Subtotal row */
.vq-cart-body .woocommerce-mini-cart__total{
  display: flex; align-items: center; justify-content: space-between;
  margin: 18px 0 4px; padding-top: 18px;
  border-top: 2px solid #1F3B2D;
  font-size: 15px; letter-spacing: .04em; text-transform: uppercase; color: #4F5A50;
}
.vq-cart-body .woocommerce-mini-cart__total strong{ font-weight: 600; }

/* Empty state */
.vq-cart-body .woocommerce-mini-cart__empty-message{
  text-align: center; color: #6B7A6E; font-size: 15px; padding: 48px 10px;
}

/* --- Elementor Pro Menu-Cart markup (Pro overrides woocommerce_mini_cart) --- */
.vq-cart-body .elementor-menu-cart__products{ margin: 0; padding: 0; }
.vq-cart-body .elementor-menu-cart__product{
  position: relative;
  display: grid; grid-template-columns: 64px 1fr; gap: 4px 14px;
  align-items: center;
  padding: 18px 40px 18px 0;
  border-bottom: 1px solid #E6DCCB;
}
.vq-cart-body .elementor-menu-cart__product-image{ grid-row: span 2; width: 64px; }
.vq-cart-body .elementor-menu-cart__product-image img{
  width: 64px; height: 64px; object-fit: cover; border-radius: 12px; background: #fff;
}
.vq-cart-body .elementor-menu-cart__product-name{ grid-column: 2; }
.vq-cart-body .elementor-menu-cart__product-name a{
  color: #1F3B2D; font-weight: 500; font-size: 15px; line-height: 1.35; text-decoration: none;
}
.vq-cart-body .elementor-menu-cart__product-price{ grid-column: 2; font-size: 13px; color: #6B7A6E; }
.vq-cart-body .elementor-menu-cart__product-price .amount{ color: #1F3B2D; font-weight: 600; }
/* Remove (×) — gold circle, vertically centred at the row's right edge */
.vq-cart-body .elementor-menu-cart__product-remove{
  position: absolute; top: 50%; right: 0; transform: translateY(-50%);
  width: 24px; height: 24px;
}
.vq-cart-body .elementor-menu-cart__product-remove a{
  display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%;
  background: #EFE6D6; color: #8A6A1F !important; font-size: 0; text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.vq-cart-body .elementor-menu-cart__product-remove a:first-child::before{ content: "\00d7"; font-size: 15px; line-height: 1; }
.vq-cart-body .elementor-menu-cart__product-remove a + a{ display: none; } /* hide duplicate anchor */
.vq-cart-body .elementor-menu-cart__product-remove a:hover{ background: #1F3B2D; color: #FCF6EE !important; }

.vq-cart-body .elementor-menu-cart__subtotal{
  display: flex; align-items: center; justify-content: space-between;
  margin: 18px 0 4px; padding-top: 18px; border-top: 2px solid #1F3B2D;
  font-size: 15px; letter-spacing: .04em; text-transform: uppercase; color: #4F5A50;
}
.vq-cart-body .elementor-menu-cart__subtotal strong{ font-weight: 600; }
.vq-cart-body .elementor-menu-cart__subtotal .amount{ color: #1F3B2D; font-weight: 600; }
/* Hide Elementor's own footer buttons + empty-state actions — we use our sticky footer */
.vq-cart-body .elementor-menu-cart__footer-buttons,
.vq-cart-body .elementor-menu-cart__go-to-cart,
.vq-cart-body .elementor-menu-cart__footer-state{ display: none !important; }
.vq-cart-body .elementor-menu-cart__container,
.vq-cart-body .elementor-menu-cart__main{ padding: 0 !important; width: 100%; }

/* Footer actions */
.vq-cart-foot{
  padding: 18px 22px calc(18px + env(safe-area-inset-bottom));
  border-top: 1px solid #E6DCCB; background: #FCF6EE;
  display: grid; gap: 10px;
}
.vq-cart-foot a{
  display: block; text-align: center; text-decoration: none;
  border-radius: 999px; padding: 14px 20px;
  font-size: 15px; font-weight: 600; transition: all .2s ease;
}
.vq-cart-view{ background: transparent; color: #1F3B2D; border: 1.5px solid #1F3B2D; }
.vq-cart-view:hover{ background: #1F3B2D; color: #FCF6EE; }
.vq-cart-checkout{ background: #1F3B2D; color: #FCF6EE; border: 1.5px solid #1F3B2D; }
.vq-cart-checkout:hover{ background: #F6D67E; color: #1F3B2D; border-color: #F6D67E; }

@media (prefers-reduced-motion: reduce){
  .vq-cart-drawer, .vq-cart-overlay, .vq-cart-close{ transition: none; }
}

/* ============================================================
   MOBILE HEADER / NAV DRAWER  (baseline — refine to exact design)
   ============================================================ */
.vq-menu-toggle{ display:none; }

@media (max-width: 1024px){
  /* Guard against wide content creating horizontal scroll, cap to viewport. */
  html, body{ overflow-x: clip !important; max-width: 100%; } /* clip (not hidden): hidden turns body into a scroll box and breaks the sticky header */
  .vq-header, .vq-announce{ max-width: 100vw; }

  /* MOBILE HEADER LAYOUT: hamburger (left) · wordmark (center) · search + cart (right) */
  .vq-header > div{
    width:100% !important; max-width:100% !important; box-sizing:border-box !important;
    padding:10px 14px !important; flex-wrap:nowrap !important; gap:6px !important; align-items:center;
  }
  .vq-header .vq-menu-toggle{ display:grid !important; order:1; flex:0 0 auto; }
  .vq-header .vq-logo{ display:flex !important; order:2; flex:1 1 auto; justify-content:center; min-width:0; }   /* VQAYURVEDA lotus logo, centred */
  .vq-header .vq-logo img{ height:46px !important; width:auto; }
  .vq-header .vq-logo-mobile{ display:none !important; }     /* not the text wordmark */
  .vq-header .vq-nav{ display:none !important; }
  .vq-header > div > div{ order:3; flex:0 0 auto; gap:2px !important; }   /* icons group */
  .vq-header .vq-ic-search{ display:grid !important; }       /* show search */
  .vq-header .vq-ic-account{ display:none !important; }      /* hide account */

  /* Cart becomes an icon with a count badge (not the pill) */
  .vq-header .vq-cart-pill-text{ display:none; }
  .vq-header .vq-cart-toggle{
    background:transparent !important; color:#1F3B2D !important; padding:0 !important;
    width:44px; height:44px; position:relative; margin:0 !important; gap:0 !important; border-radius:0;
  }
  .vq-header .vq-cart-toggle svg{ width:22px; height:22px; }
  .vq-header .vq-cart-count{
    position:absolute; top:3px; right:1px; min-width:16px; height:16px; padding:0 4px;
    background:#1F3B2D; color:#FCF6EE; border-radius:999px; font-size:10px; font-weight:600;
    display:grid; place-items:center; line-height:1; box-sizing:border-box;
  }

  /* Announcement on mobile: drop the delivery + handmade text,
     keep the left/right row (salon link + FR | EN language switch) */
  .vq-announce > div{ justify-content:space-between !important; flex-wrap:nowrap !important; }
  .vq-announce > div > span{ display:none !important; }
  .vq-announce > div > div{ display:flex !important; flex:1 1 auto; justify-content:space-between; gap:12px; }
}

/* Mobile nav drawer (slides from the left) */
.vq-nav-overlay{
  position:fixed; inset:0; background:rgba(22,41,31,0.55);
  opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease; z-index:100000;
}
body.vq-nav-open .vq-nav-overlay{ opacity:1; visibility:visible; }

.vq-navdrawer{
  position:fixed; top:0; left:0; height:100%; width:min(320px,86vw);
  background:#1F3B2D; color:#FCF6EE;
  display:flex; flex-direction:column;
  transform:translateX(-100%); transition:transform .38s cubic-bezier(.22,.61,.36,1);
  z-index:100001; box-shadow:18px 0 50px rgba(22,41,31,0.25);
  font-family:'Jost',sans-serif;
}
body.vq-nav-open .vq-navdrawer{ transform:translateX(0); }

.vq-navdrawer-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 22px; border-bottom:1px solid #36574A;
}
.vq-navdrawer-brand{ font-family:'Playfair Display',serif; font-size:20px; font-weight:600; color:#F6D67E; }
.vq-nav-close{
  width:40px; height:40px; border:0; cursor:pointer; color:#FCF6EE;
  background:rgba(255,255,255,0.08); border-radius:50%; display:grid; place-items:center;
  transition:background .2s ease, transform .2s ease;
}
.vq-nav-close:hover{ background:#F6D67E; color:#1F3B2D; transform:rotate(90deg); }

.vq-navdrawer-links{ display:flex; flex-direction:column; padding:10px 0; flex:1 1 auto; overflow-y:auto; }
.vq-navdrawer-links a{
  color:#FCF6EE; text-decoration:none; font-size:18px; font-weight:500;
  padding:15px 24px; border-bottom:1px solid rgba(255,255,255,0.06);
  transition:color .18s ease, background .18s ease;
}
.vq-navdrawer-links a:hover{ color:#F6D67E; background:rgba(255,255,255,0.03); }

.vq-navdrawer-foot{ padding:18px 24px; border-top:1px solid #36574A; }
.vq-navdrawer-account{
  display:flex; align-items:center; gap:10px; color:#F6D67E; text-decoration:none;
  font-size:15px; font-weight:500;
}

/* ============================================================
   CART DRAWER v2 — matches Cart.dc.html (overrides v1 above)
   ============================================================ */
.vq-cart-drawer{ width:min(480px,94vw); background:#FCF6EE; font-family:'Jost',sans-serif; color:#22261F; }
.vq-cart-drawer.vq-loading{ opacity:.75; pointer-events:none; }

/* Head — cream, Playfair title + count + round close */
.vq-cart-head{ background:#FCF6EE; border-bottom:1px solid #E6DCCB; padding:22px 28px 18px; }
.vq-cart-head-l{ display:flex; gap:12px; align-items:baseline; }
.vq-cart-title{ margin:0; font-family:'Playfair Display',serif; font-weight:400; font-size:30px; color:#1F3B2D; }
.vq-cart-title .i{ font-style:italic; }
.vq-cart-articles{ font-size:14px; color:#5B5F55; }
.vq-cart-close{ background:#ECE6D8; color:#1F3B2D; width:44px; height:44px; }
.vq-cart-close:hover{ background:#1F3B2D; color:#FCF6EE; }

.vq-cart-scroll{ padding:0; }
.vq-cart-body{ display:flex; flex-direction:column; }

/* Free-shipping bar */
.vq-ship{ padding:16px 28px; background:#ECE6D8; }
.vq-ship-msg{ font-size:14px; color:#1F3B2D; margin-bottom:8px; }
.vq-ship-msg strong{ font-weight:600; }
.vq-ship-track{ height:8px; border-radius:999px; background:#FCF6EE; overflow:hidden; }
.vq-ship-fill{ height:100%; background:#1F3B2D; border-radius:999px; transition:width .4s ease; }

/* Empty state */

/* Items */
.vq-cart-items{ padding:0 28px; }
.vq-ci{ display:flex; gap:16px; padding:18px 0; border-bottom:1px solid #E6DCCB; }
.vq-ci-img{ width:92px; height:104px; flex:none; border-radius:16px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.vq-ci-img img{ width:84%; height:84%; object-fit:contain; mix-blend-mode:multiply; }
.vq-ci-main{ flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.vq-ci-top{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.vq-ci-name{ font-family:'Playfair Display',serif; font-size:18px; color:#1F3B2D; line-height:1.25; text-decoration:none; }
.vq-ci-remove{ width:36px; height:36px; flex:none; border:0; background:transparent; color:#5B5F55; display:grid; place-items:center; margin:-6px -8px 0 0; cursor:pointer; transition:color .2s ease; }
.vq-ci-remove:hover{ color:#1F3B2D; }
.vq-ci-variant{ font-size:13px; color:#5B5F55; }
.vq-ci-bottom{ display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:6px; }
.vq-qty{ display:flex; align-items:center; border:1px solid #D8CDB8; border-radius:999px; background:#fff; height:40px; }
.vq-qty button{ width:40px; height:100%; border:0; background:transparent; color:#1F3B2D; display:grid; place-items:center; cursor:pointer; }
.vq-qty button:hover{ color:#8A6A1F; }
.vq-qn{ min-width:22px; text-align:center; font-size:15px; font-weight:500; }
.vq-ci-price{ font-size:16px; font-weight:500; color:#22261F; }
.vq-ci-price .amount,.vq-ci-price bdi{ color:#22261F; }

/* Upsell */
.vq-upsell{ margin:20px 28px 12px; }
.vq-upsell-k{ font-size:12px; letter-spacing:.22em; color:#8A6A1F; font-weight:600; margin-bottom:10px; }
.vq-upsell-card{ background:#fff; border-radius:18px; padding:12px; display:flex; gap:14px; align-items:center; }
.vq-upsell-img{ width:60px; height:60px; flex:none; border-radius:12px; background:#ECE6D8; display:grid; place-items:center; overflow:hidden; }
.vq-upsell-img img{ width:82%; height:82%; object-fit:contain; mix-blend-mode:multiply; }
.vq-upsell-info{ flex:1; min-width:0; }
.vq-upsell-info .n{ font-family:'Playfair Display',serif; font-size:16px; color:#1F3B2D; }
.vq-upsell-info .p{ font-size:14px; color:#4E5348; }
.vq-upsell-info .p .amount{ color:#4E5348; }
.vq-upsell-add{ height:40px; padding:0 16px; border-radius:999px; border:1.5px solid #1F3B2D; background:transparent; color:#1F3B2D !important; font-size:13px; font-weight:500; display:inline-flex; align-items:center; text-decoration:none; white-space:nowrap; transition:all .2s ease; }
.vq-upsell-add:hover{ background:#1F3B2D; color:#FCF6EE !important; }

/* Gift note */
.vq-gift{ display:flex; gap:12px; align-items:center; padding:14px 28px; font-size:14px; color:#1F3B2D; cursor:pointer; }
.vq-gift input{ width:18px; height:18px; accent-color:#1F3B2D; margin:0; flex:none; }
.vq-gift-note{ margin:0 28px 14px; width:calc(100% - 56px); box-sizing:border-box; border:1px solid #D8CDB8; border-radius:14px; background:#fff; padding:12px 14px; font-size:14px; resize:none; font-family:inherit; }

/* Footer / totals */
.vq-cart-foot{ padding:18px 28px calc(24px + env(safe-area-inset-bottom)); border-top:1px solid #E6DCCB; background:#fff; display:flex; flex-direction:column; gap:12px; }
.vq-cart-subtotal-row{ display:flex; justify-content:space-between; align-items:baseline; }
.vq-cart-subtotal-row > span:first-child{ font-size:16px; color:#1F3B2D; }
.vq-cart-subtotal{ font-family:'Playfair Display',serif; font-size:26px; color:#1F3B2D; }
.vq-cart-subtotal .amount,.vq-cart-subtotal bdi{ color:#1F3B2D; }
.vq-cart-taxnote{ font-size:13px; color:#5B5F55; margin-top:-8px; }
.vq-cart-checkout{ height:56px; border-radius:999px; background:#1F3B2D; color:#FCF6EE; display:flex; align-items:center; justify-content:center; gap:10px; font-size:16px; font-weight:500; text-decoration:none; border:0; transition:background .2s ease; }
.vq-cart-checkout:hover{ background:#163024; color:#FCF6EE; border:0; }
.vq-cart-foot-links{ display:flex; gap:10px; }
.vq-cart-foot-links a{ flex:1; height:48px; border-radius:999px; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:500; text-decoration:none; color:#1F3B2D; }
.vq-cart-view{ border:1.5px solid #1F3B2D; background:transparent; }
.vq-cart-view:hover{ background:#1F3B2D; color:#FCF6EE; }
.vq-cart-continue{ text-decoration:underline; }
.vq-cart-pay{ display:flex; gap:6px; justify-content:center; flex-wrap:wrap; margin-top:2px; }
.vq-cart-pay span{ background:#F3EEE3; border-radius:6px; padding:3px 9px; font-weight:600; font-size:11px; color:#1F3B2D; }

/* ============================================================
   CART DRAWER — fix colours overridden by Elementor global links
   (kit selector .elementor-kit-N a wins over single classes)
   ============================================================ */
.vq-cart-drawer .vq-cart-checkout,
.vq-cart-drawer .vq-cart-checkout:hover,
.vq-cart-drawer .vq-cart-checkout:focus{ color:#FCF6EE !important; }
.vq-cart-drawer .vq-cart-checkout:hover{ background:#163024 !important; }
.vq-cart-drawer .vq-cart-view{ color:#1F3B2D !important; }
.vq-cart-drawer .vq-cart-view:hover{ color:#FCF6EE !important; }
.vq-cart-drawer .vq-cart-continue{ color:#1F3B2D !important; }
.vq-cart-drawer .vq-cart-continue:hover{ color:#8A6A1F !important; }
.vq-cart-drawer .vq-ci-name{ color:#1F3B2D !important; }
.vq-cart-drawer .vq-ci-name:hover{ color:#8A6A1F !important; }

/* Quantity steppers: never show a hover/active/focus background (the pink) */
.vq-cart-drawer .vq-qty button,
.vq-cart-drawer .vq-qty button:hover,
.vq-cart-drawer .vq-qty button:focus,
.vq-cart-drawer .vq-qty button:active{
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  color:#1F3B2D !important;
}
.vq-cart-drawer .vq-qty button:hover{ color:#8A6A1F !important; }
.vq-cart-drawer .vq-ci-remove,
.vq-cart-drawer .vq-ci-remove:hover,
.vq-cart-drawer .vq-ci-remove:focus,
.vq-cart-drawer .vq-ci-remove:active{ background:transparent !important; box-shadow:none !important; outline:none !important; }
.vq-cart-drawer .vq-ci-remove{ color:#5B5F55 !important; }
.vq-cart-drawer .vq-ci-remove:hover{ color:#1F3B2D !important; }

/* Center the × in the cart-drawer close button */
.vq-cart-drawer .vq-cart-close{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  box-sizing:border-box;
  line-height:0;
  border-radius:50%;
  flex:none;
}
.vq-cart-drawer .vq-cart-close svg{ display:block; margin:0; }

/* ============================================================
   SHOP ARCHIVE — matches Shop.dc.html (green/gold)
   ============================================================ */
/* Hero band */
.vq-shop-hero{ padding:16px 16px 0; }
.vq-shop-hero-inner{ background:#ECE6D8; border-radius:36px; max-width:1408px; margin:0 auto; padding:48px 40px 40px; box-sizing:border-box; font-family:'Jost',sans-serif; }
.vq-shop-hero-inner > div{ max-width:1240px; margin:0 auto; }
.vq-shop-breadcrumb{ font-size:13px; color:#5B5F55; display:flex; gap:8px; margin-bottom:18px; }
.vq-shop-breadcrumb a{ color:#5B5F55; text-decoration:none; }
.vq-shop-breadcrumb .cur{ color:#1F3B2D; }
.vq-shop-hero h1{ margin:0; font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(40px,4.6vw,64px); color:#1F3B2D; line-height:1; }
.vq-shop-hero h1 .i{ font-style:italic; }
.vq-shop-hero p{ margin:12px 0 0; color:#4E5348; font-size:17px; max-width:520px; }

/* Body layout */
.vq-shop-body{ max-width:1320px; margin:0 auto; padding:40px 24px 88px; display:flex; flex-wrap:wrap; gap:36px; align-items:flex-start; font-family:'Jost',sans-serif; }
.vq-shop-aside{ flex:1 1 260px; max-width:300px; min-width:0; background:#fff; border-radius:26px; padding:26px 24px; box-sizing:border-box; display:flex; flex-direction:column; gap:22px; }
.vq-shop-results{ flex:999 1 560px; min-width:0; }

/* Sidebar */
.vq-shop-aside h2{ font-family:'Playfair Display',serif; font-weight:400; font-size:22px; color:#1F3B2D; margin:0; }
.vq-shop-ftitle{ font-size:12px; letter-spacing:.2em; color:#8A6A1F; font-weight:600; margin-bottom:12px; }
.vq-shop-sep{ height:1px; background:#EEE6D7; }
.vq-shop-aside ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.vq-shop-aside ul li a{ display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:15px; color:#1F3B2D; text-decoration:none; padding:4px 0; }
.vq-shop-aside ul li a:hover{ color:#8A6A1F; }
.vq-shop-aside ul li.current-cat > a,
.vq-shop-aside ul li.chosen > a{ color:#8A6A1F; font-weight:600; }
.vq-shop-aside .count{ font-size:12px; color:#5B5F55; background:#F3EEE3; border-radius:999px; padding:1px 9px; }
.vq-shop-aside .price_slider_wrapper .price_slider{ margin:12px 4px 10px; }
.vq-shop-aside .price_slider_amount{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; color:#4E5348; }
.vq-shop-aside .price_slider_amount .button{ background:#1F3B2D; color:#fff; border-radius:999px; padding:8px 16px; font-size:13px; order:1; }
.vq-shop-aside .ui-slider{ background:#EEE6D7; height:4px; border-radius:999px; position:relative; }
.vq-shop-aside .ui-slider .ui-slider-range{ background:#1F3B2D; height:4px; position:absolute; }
.vq-shop-aside .ui-slider .ui-slider-handle{ background:#1F3B2D; width:16px; height:16px; border-radius:50%; top:-6px; border:0; }
.vq-shop-consult{ background:#1F3B2D; color:#EFE6D6; border-radius:20px; padding:20px; display:flex; flex-direction:column; gap:10px; }
.vq-shop-consult .t{ font-family:'Playfair Display',serif; font-style:italic; font-size:20px; color:#F6D67E; line-height:1.2; }
.vq-shop-consult .s{ font-size:14px; }
.vq-shop-consult a{ align-self:flex-start; color:#FCF6EE; font-size:14px; font-weight:500; border-bottom:1px solid #FCF6EE; text-decoration:none; }

/* Results header (ordering + count) */
.vq-shop-results .woocommerce-result-count{ font-size:15px; color:#4E5348; margin:0; float:none; }
.vq-shop-results .woocommerce-ordering{ margin:0; float:none; }
.vq-shop-results .woocommerce-ordering select{ height:44px; border-radius:999px; border:1px solid #D8CDB8; background:#fff; padding:0 16px; font-size:14px; color:#1F3B2D; }
.vq-shop-results-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px; margin-bottom:22px; }

/* Product cards (green/gold, cover image) */
.woocommerce .vq-shop-results ul.products,
.woocommerce-page .vq-shop-results ul.products{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:30px 22px; margin:0; }
.vq-shop-results ul.products li.product{ width:auto !important; margin:0 !important; float:none !important; background:transparent; border:0; box-shadow:none; padding:0; text-align:left; }
.vq-shop-results ul.products li.product a img{ border-radius:24px; width:100%; aspect-ratio:1/1.08; object-fit:cover; margin:0 0 14px; background:#ECE6D8;
  box-shadow:0 10px 30px rgba(31,59,45,0.14); transition:transform .25s ease, box-shadow .25s ease; }
.vq-shop-results ul.products li.product:hover a img{ transform:translateY(-6px); box-shadow:0 20px 46px rgba(31,59,45,0.20); }
.vq-shop-results ul.products li.product .woocommerce-loop-product__title{ font-family:'Playfair Display',serif; font-weight:500; font-size:19px; color:#1F3B2D; padding:0 4px; line-height:1.25; }
.vq-shop-results ul.products li.product .price{ color:#22261F; font-weight:500; font-size:18px; padding:0 4px; }
.vq-shop-results ul.products li.product .price del{ color:#9aa29a; }
.vq-shop-results ul.products li.product .price ins{ text-decoration:none; color:#1F3B2D; }
.vq-shop-results ul.products li.product .button,
.vq-shop-results ul.products li.product .added_to_cart{ background:#1F3B2D; color:#FCF6EE !important; border-radius:999px; padding:12px 20px; font-family:'Jost',sans-serif; font-weight:500; margin:10px 4px 0; display:inline-block; }
.vq-shop-results ul.products li.product .button:hover{ background:#163024; }
.woocommerce span.onsale{ background:#1F3B2D; color:#FCF6EE; border-radius:999px; }

/* Pagination */
.vq-shop-results .woocommerce-pagination ul{ border:0; display:flex; gap:8px; justify-content:center; }
.vq-shop-results .woocommerce-pagination ul li{ border:0; }
.vq-shop-results .woocommerce-pagination ul li a,
.vq-shop-results .woocommerce-pagination ul li span{ width:44px; height:44px; border-radius:50%; display:grid; place-items:center; border:1px solid #D8CDB8; color:#1F3B2D; background:#fff; }
.vq-shop-results .woocommerce-pagination ul li span.current{ background:#1F3B2D; color:#FCF6EE; border-color:#1F3B2D; }

@media (max-width:860px){
  .vq-shop-aside{ max-width:none; flex-basis:100%; }
  .vq-shop-body{ padding:24px 16px 56px; gap:24px; }
}

/* ============================================================
   SINGLE PRODUCT — brand-matched (green/gold, Playfair)
   ============================================================ */
.woocommerce div.product{ font-family:'Jost',sans-serif; max-width:1320px; margin:34px auto 0; padding:0 24px; }
.woocommerce .woocommerce-breadcrumb{ max-width:1320px; margin:18px auto 0; padding:0 24px; font-size:13px; color:#5B5F55; }
.woocommerce .woocommerce-breadcrumb a{ color:#5B5F55; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary{ margin-bottom:0; }
.woocommerce div.product div.images img{ border-radius:32px; }
/* Gallery: just the image + thumbnails (no beige frame) */
.woocommerce div.product .woocommerce-product-gallery{ background:transparent; border-radius:0; padding:0; box-sizing:border-box; }
.woocommerce div.product div.images.woocommerce-product-gallery{ margin-bottom:64px; } /* space before the tabs (float margin survives clearance) */
.woocommerce div.product div.images .flex-control-thumbs{
  display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:10px 0 0 !important; padding:0;
}
.woocommerce div.product div.images .flex-control-thumbs::before,
.woocommerce div.product div.images .flex-control-thumbs::after{ content:none !important; display:none !important; }
.woocommerce div.product div.images .flex-control-thumbs li{ width:auto !important; float:none !important; margin:0 !important; padding:0; list-style:none; }
.woocommerce div.product div.images .flex-control-thumbs li img{
  display:block; width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:14px; margin:0;
  opacity:.6; transition:opacity .2s ease, box-shadow .2s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{ opacity:1; }
/* ring drawn inside the edge (outline paints over the image and isn't clipped by the list's overflow) */
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{ box-shadow:none; outline:2px solid #1F3B2D; outline-offset:-2px; }
@media (max-width:767px){
  .woocommerce div.product div.images.woocommerce-product-gallery{ margin-bottom:32px; }
}

.woocommerce div.product .product_title{ font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(34px,4vw,52px); color:#1F3B2D; line-height:1.05; margin:6px 0 10px; }
.woocommerce div.product .posted_in,
.woocommerce div.product .product_meta{ font-size:13px; color:#5B5F55; }
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product p.price ins{ color:#1F3B2D !important; font-size:30px; font-weight:500; }
.woocommerce div.product p.price del{ color:#9aa29a; font-size:.7em; }
.woocommerce div.product .woocommerce-product-details__short-description{ color:#4E5348; font-size:17px; line-height:1.7; }

.woocommerce .quantity input.qty{ border:1.5px solid #D8CDB8; border-radius:999px; height:54px; width:86px; text-align:center; font-size:16px; color:#1F3B2D; background:#fff; }
.woocommerce div.product form.cart{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:22px 0; }
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button{
  background:#1F3B2D !important; color:#FCF6EE !important; border-radius:999px !important;
  min-height:54px; padding:0 30px !important; font-family:'Jost',sans-serif; font-weight:500; font-size:16px;
  display:inline-flex; align-items:center; transition:background .2s ease;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover{ background:#163024 !important; }
.woocommerce div.product .variations select{ border:1.5px solid #D8CDB8; border-radius:999px; height:48px; padding:0 16px; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs{ margin-top:48px; }
.woocommerce div.product .woocommerce-tabs ul.tabs{ padding:0; border-bottom:1px solid #E0D5C1; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-color:#E0D5C1; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ background:transparent; border:0; border-radius:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family:'Playfair Display',serif; font-size:19px; color:#5B5F55; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:#1F3B2D; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom:2px solid #1F3B2D; }
.woocommerce div.product .woocommerce-Tabs-panel h2{ font-family:'Playfair Display',serif; color:#1F3B2D; }

/* Trust badges injected after add-to-cart */
.vq-pdp-trust{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; background:#fff; border-radius:20px; padding:16px; margin:4px 0 8px; max-width:none; }
.vq-pdp-trust > div{ display:flex; flex-direction:column; gap:6px; align-items:center; text-align:center; font-size:13px; color:#4E5348; }

/* Related + upsells = cover cards */
.woocommerce .related.products h2,
.woocommerce .upsells.products h2{ font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(28px,3vw,42px); color:#1F3B2D; }
.woocommerce .related.products, .woocommerce .upsells.products{ max-width:1320px; margin:72px auto 0; padding:0 24px; }
.woocommerce .related.products ul.products li.product,
.woocommerce .upsells.products ul.products li.product{ background:transparent; border:0; box-shadow:none; padding:0; text-align:left; }
.woocommerce .related.products ul.products li.product a img,
.woocommerce .upsells.products ul.products li.product a img{ border-radius:24px; aspect-ratio:1/1.08; object-fit:cover; background:#ECE6D8;
  box-shadow:0 10px 30px rgba(31,59,45,0.14); transition:transform .25s ease, box-shadow .25s ease; margin-bottom:14px; }
.woocommerce .related.products ul.products li.product:hover a img{ transform:translateY(-6px); box-shadow:0 20px 46px rgba(31,59,45,0.20); }
.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title,
.woocommerce .upsells.products ul.products li.product .woocommerce-loop-product__title{ font-family:'Playfair Display',serif; font-size:19px; color:#1F3B2D; }

/* Shop results: 2 columns on mobile */
@media (max-width:768px){
  .woocommerce .vq-shop-results ul.products,
  .woocommerce-page .vq-shop-results ul.products,
  .vq-shop-results ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:22px 12px !important; }
  .vq-shop-results ul.products li.product .woocommerce-loop-product__title{ font-size:15px; }
  .vq-shop-results ul.products li.product .button{ padding:9px 14px; font-size:13px; }
  /* related products on single product: 2 columns too */
  .woocommerce .related.products ul.products,
  .woocommerce .upsells.products ul.products{ display:grid; grid-template-columns:repeat(2,1fr) !important; gap:22px 12px !important; }
}

/* Shop hero: align the cream box with the content box below */
.vq-shop-hero{ max-width:1320px; margin:0 auto; padding:16px 24px 0 !important; }
.vq-shop-hero-inner{ max-width:none !important; margin:0 !important; }

/* Fix: WooCommerce clearfix pseudo-elements (::before/::after display:table)
   become grid items and steal the first cell — remove them on grid lists. */
.vq-shop-results ul.products::before,
.vq-shop-results ul.products::after,
.woocommerce .related.products ul.products::before,
.woocommerce .related.products ul.products::after,
.woocommerce .upsells.products ul.products::before,
.woocommerce .upsells.products ul.products::after{ content:none !important; display:none !important; }

/* Price slider — brand green instead of WooCommerce default purple. */
.woocommerce .vq-shop-aside .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .vq-shop-aside .widget_price_filter .ui-slider .ui-slider-handle,
.vq-shop-aside .ui-slider .ui-slider-range,
.vq-shop-aside .ui-slider .ui-slider-handle{ background-color:#1F3B2D !important; }
.woocommerce .vq-shop-aside .widget_price_filter .price_slider_wrapper .ui-widget-content,
.vq-shop-aside .price_slider_wrapper .ui-widget-content{ background-color:#EEE6D7 !important; }

/* ===== Shop grid uses the home "Créations" card (vq_product_card) ===== */
.vq-shop-grid .vq-pgrid{ gap:30px 22px; }
/* WooCommerce's ".woocommerce a.button" (grey) outranks .vq-add on shop pages */
.woocommerce .vq-shop-grid a.vq-add,
.woocommerce-page .vq-shop-grid a.vq-add{
  height:46px; padding:0 20px; margin:0; border:0; border-radius:999px; background:#1F3B2D; background-image:none;
  color:#FCF6EE !important; font-family:'Jost',sans-serif; font-size:14px; font-weight:500; line-height:1;
  display:inline-flex; gap:8px; align-items:center; justify-content:center; text-decoration:none; box-shadow:none;
}
.woocommerce .vq-shop-grid a.vq-add:hover{ background:#163024; color:#FCF6EE !important; }
.woocommerce .vq-shop-grid a.vq-add.added{ background:#2E5240; }
.woocommerce .vq-shop-grid a.vq-add::after{ display:none !important; }
/* the drawer opens on add — no extra "Voir le panier" link inside cards */
.vq-pcard-foot .added_to_cart{ display:none !important; }
@media (max-width:520px){
  .woocommerce .vq-shop-grid a.vq-add{ width:100%; padding:10px 14px; font-size:13px; }
}

/* ===== Shop pagination — round, centred, no WooCommerce box/dividers ===== */
.woocommerce .vq-shop-results nav.woocommerce-pagination{ padding-top:50px; text-align:center; }
.woocommerce .vq-shop-results nav.woocommerce-pagination ul{
  border:0 !important; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; white-space:normal;
}
.woocommerce .vq-shop-results nav.woocommerce-pagination ul li{
  border:0 !important; float:none; display:block; overflow:visible; margin:0; padding:0;
}
.woocommerce .vq-shop-results nav.woocommerce-pagination ul li a,
.woocommerce .vq-shop-results nav.woocommerce-pagination ul li span{
  box-sizing:border-box; width:44px; height:44px; min-width:0; margin:0; padding:0;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%; border:1px solid #D8CDB8; background:#fff; color:#1F3B2D;
  font-family:'Jost',sans-serif; font-size:15px; font-weight:500; line-height:1; text-decoration:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.woocommerce .vq-shop-results nav.woocommerce-pagination ul li a:hover,
.woocommerce .vq-shop-results nav.woocommerce-pagination ul li a:focus,
.woocommerce .vq-shop-results nav.woocommerce-pagination ul li span.current{
  background:#1F3B2D; color:#FCF6EE; border-color:#1F3B2D; outline:none;
}
.woocommerce .vq-shop-results nav.woocommerce-pagination ul li a:focus-visible{ box-shadow:0 0 0 3px rgba(184,146,58,.45); }

/* ===== Shop sidebar — category checkboxes (auto-apply, see assets/vq-shop.js) ===== */
.vq-shop-cats fieldset{ border:0; margin:0; padding:0; min-width:0; }
.vq-shop-cats legend.vq-shop-ftitle{ float:none; width:100%; padding:0; }
.vq-shop-aside .vq-check{
  position:relative; display:flex; align-items:center; gap:12px; padding:5px 0; margin:0;
  cursor:pointer; font-size:15px; line-height:1.35; color:#1F3B2D; vertical-align:baseline;
}
.vq-shop-aside .vq-check input{ position:absolute; opacity:0; width:1px; height:1px; margin:0; pointer-events:none; }
.vq-shop-aside .vq-check .box{
  flex:0 0 18px; width:18px; height:18px; box-sizing:border-box; border-radius:5px;
  border:1.5px solid #CDBF9F; background:#fff; display:inline-flex; align-items:center; justify-content:center;
  transition:background .15s ease, border-color .15s ease;
}
.vq-shop-aside .vq-check .box::after{
  content:""; width:5px; height:9px; margin-top:-2px; border:solid #FCF6EE; border-width:0 2px 2px 0;
  transform:rotate(45deg); opacity:0; transition:opacity .15s ease;
}
.vq-shop-aside .vq-check:hover .box{ border-color:#1F3B2D; }
.vq-shop-aside .vq-check input:checked + .box{ background:#1F3B2D; border-color:#1F3B2D; }
.vq-shop-aside .vq-check input:checked + .box::after{ opacity:1; }
.vq-shop-aside .vq-check input:focus-visible + .box{ box-shadow:0 0 0 3px rgba(184,146,58,.45); }
.vq-shop-aside .vq-check .name{ flex:1; min-width:0; }
.vq-shop-aside .vq-check.is-on .name{ font-weight:500; }
.vq-shop-apply{ margin-top:12px; background:#1F3B2D; color:#FCF6EE; border:0; border-radius:999px; padding:8px 18px; font-size:13px; cursor:pointer; }
/* while the filtered page loads */
body.vq-filtering .vq-shop-results{ opacity:.45; pointer-events:none; transition:opacity .2s ease; }

/* ===== Shop sort — custom dropdown (built by assets/vq-shop.js) ===== */
.vq-shop-results .vq-sort{ position:relative; display:inline-block; font-family:'Jost',sans-serif; }
.vq-shop-results .vq-sort select.orderby{
  position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; border:0 !important;
  opacity:0 !important; overflow:hidden; clip:rect(0 0 0 0); pointer-events:none;
}
.vq-shop-results .vq-sort .vq-sort-btn,
.vq-shop-results .vq-sort .vq-sort-btn:hover,
.vq-shop-results .vq-sort .vq-sort-btn:focus,
.vq-shop-results .vq-sort .vq-sort-btn:active{
  height:44px; min-width:220px; margin:0; padding:0 16px 0 20px; box-sizing:border-box;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  background:#fff !important; color:#1F3B2D !important; border:1px solid #D8CDB8 !important; border-radius:999px !important;
  font-family:'Jost',sans-serif; font-size:14px; font-weight:500; line-height:1; text-transform:none; letter-spacing:0;
  cursor:pointer; outline:none; box-shadow:none; transition:border-color .2s ease, box-shadow .2s ease;
}
.vq-shop-results .vq-sort .vq-sort-btn:hover{ border-color:#1F3B2D !important; }
.vq-shop-results .vq-sort .vq-sort-btn:focus-visible{ border-color:#B8923A !important; box-shadow:0 0 0 3px rgba(184,146,58,.30); }
.vq-shop-results .vq-sort.is-open .vq-sort-btn{ border-color:#1F3B2D !important; }
.vq-shop-results .vq-sort .chev{ flex:none; color:#8A6A1F; transition:transform .2s ease; }
.vq-shop-results .vq-sort.is-open .chev{ transform:rotate(180deg); }

.vq-shop-results .vq-sort-list{
  position:absolute; z-index:40; top:calc(100% + 8px); left:0; right:0; margin:0; padding:6px; list-style:none;
  background:#fff; border:1px solid #EEE6D7; border-radius:18px; box-shadow:0 18px 40px rgba(31,59,45,.16);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.vq-shop-results .vq-sort.is-open .vq-sort-list{ opacity:1; visibility:visible; transform:none; transition:opacity .18s ease, transform .18s ease; }
.vq-shop-results .vq-sort-list li{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0;
  padding:10px 14px; border-radius:12px; font-size:14px; line-height:1.2; color:#1F3B2D; cursor:pointer; outline:none;
}
.vq-shop-results .vq-sort-list li:hover,
.vq-shop-results .vq-sort-list li:focus{ background:#F6F1E7; }
.vq-shop-results .vq-sort-list li[aria-selected="true"]{ color:#8A6A1F; font-weight:500; }
.vq-shop-results .vq-sort-list li .tick{ flex:none; opacity:0; }
.vq-shop-results .vq-sort-list li[aria-selected="true"] .tick{ opacity:1; }

/* ===== Cart drawer — empty state ===== */
.vq-cart-body.is-empty{ min-height:100%; justify-content:center; }
.vq-cart-drawer .vq-cart-empty{ padding:40px 32px 64px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.vq-cart-drawer .vq-cart-empty-ic{
  width:76px; height:76px; border-radius:50%; margin-bottom:22px; background:#F3EEE3; color:#8A6A1F;
  display:flex; align-items:center; justify-content:center; box-shadow:inset 0 0 0 1px #EADFC9;
}
.vq-cart-drawer .vq-cart-empty-t{ margin:0 0 28px; font-family:'Playfair Display',serif; font-weight:400; font-size:26px; line-height:1.15; color:#1F3B2D; }
.vq-cart-drawer .vq-cart-empty-t .i{ font-style:italic; }
.vq-cart-drawer a.vq-cart-empty-btn,
.vq-cart-drawer a.vq-cart-empty-btn:hover,
.vq-cart-drawer a.vq-cart-empty-btn:focus{
  display:inline-flex; align-items:center; gap:10px; height:50px; padding:0 28px; border-radius:999px;
  background:#1F3B2D; color:#FCF6EE !important; font-family:'Jost',sans-serif; font-size:15px; font-weight:500;
  text-decoration:none !important; transition:background .2s ease;
}
.vq-cart-drawer a.vq-cart-empty-btn:hover{ background:#163024; }
.vq-cart-drawer a.vq-cart-empty-btn:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(184,146,58,.4); }
/* nothing to pay for: hide subtotal / checkout while the cart is empty */
.vq-cart-drawer:has(.vq-cart-body.is-empty) .vq-cart-foot{ display:none; }

/* ===== Single product — tabs + readable description (see inc/product.php) ===== */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex; flex-wrap:wrap; gap:30px; margin:0 !important; padding:0 !important; overflow:visible;
  border-bottom:1px solid #E0D5C1; list-style:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none !important; content:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
  margin:0 !important; padding:0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block; padding:0 0 14px !important; margin-bottom:-1px; border-bottom:2px solid transparent;
  font-family:'Playfair Display',serif; font-size:24px; font-weight:400; color:#8A8F86 !important; text-decoration:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:#1F3B2D !important; border-bottom-color:#1F3B2D; }

.woocommerce div.product .woocommerce-tabs .panel.woocommerce-Tabs-panel{
  margin:28px 0 0 !important; padding:clamp(24px,4.5vw,56px) !important;
  background:#fff; border-radius:28px; box-shadow:0 10px 30px rgba(31,59,45,.06);
}
.woocommerce div.product .vq-desc{ max-width:820px; font-family:'Jost',sans-serif; font-size:16px; line-height:1.8; color:#3F443B; }
.woocommerce div.product .vq-desc > div,
.woocommerce div.product .vq-desc > p{ margin:0 0 14px; }
.woocommerce div.product .vq-desc > div:empty{ display:none; }
/* heading-only wrapper divs: let the heading control the spacing */
.woocommerce div.product .vq-desc > div:has(> h1:only-child),
.woocommerce div.product .vq-desc > div:has(> h2:only-child),
.woocommerce div.product .vq-desc > div:has(> h3:only-child),
.woocommerce div.product .vq-desc > div:has(> h4:only-child){ margin:0; }
.woocommerce div.product .vq-desc h1,
.woocommerce div.product .vq-desc h2,
.woocommerce div.product .vq-desc h3,
.woocommerce div.product .vq-desc h4{
  font-family:'Playfair Display',serif; font-weight:500; color:#1F3B2D; line-height:1.25; letter-spacing:0; text-transform:none;
}
.woocommerce div.product .vq-desc h1,
.woocommerce div.product .vq-desc h2{ font-size:26px; margin:40px 0 14px; padding-top:30px; border-top:1px solid #EEE6D7; }
.woocommerce div.product .vq-desc h3{ font-size:20px; margin:26px 0 10px; }
.woocommerce div.product .vq-desc h4{ font-size:17px; margin:22px 0 8px; }
/* first heading of the description = tagline, no divider above it */
.woocommerce div.product .vq-desc > :first-child,
.woocommerce div.product .vq-desc > div:first-child > :first-child{ margin-top:0; padding-top:0; border-top:0; }
.woocommerce div.product .vq-desc strong,
.woocommerce div.product .vq-desc b{ color:#1F3B2D; font-weight:600; }
.woocommerce div.product .vq-desc a{ color:#8A6A1F !important; text-decoration:underline; }
.woocommerce div.product .vq-desc ul,
.woocommerce div.product .vq-desc ol{ margin:0 0 14px; padding-left:22px; }
.woocommerce div.product .vq-desc li{ margin:4px 0; }
/* numbered benefit rows ("**1. Titre :** …") */
.woocommerce div.product .vq-desc .vq-feat{ margin:0 0 10px; padding:16px 20px; background:#FAF6EE; border-radius:16px; }
.woocommerce div.product .vq-desc .vq-feat-t{
  display:flex; align-items:center; gap:10px; margin-bottom:4px;
  font-family:'Playfair Display',serif; font-size:18px; font-weight:500; color:#1F3B2D;
}
.woocommerce div.product .vq-desc .vq-feat-n{
  flex:none; width:26px; height:26px; border-radius:50%; background:#1F3B2D; color:#F6D67E;
  display:inline-flex; align-items:center; justify-content:center; font-family:'Jost',sans-serif; font-size:13px; font-weight:600;
}
@media (max-width:767px){
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-size:20px; }
  .woocommerce div.product .vq-desc{ font-size:15px; line-height:1.75; }
  .woocommerce div.product .vq-desc h1,
  .woocommerce div.product .vq-desc h2{ font-size:22px; margin-top:30px; padding-top:24px; }
  .woocommerce div.product .vq-desc h3{ font-size:18px; }
}

/* ===== Single product — bottom spacing, section heads, reviews, related ===== */
.woocommerce div.product{ padding-bottom:96px; }
.woocommerce div.product .vq-reviews,
.woocommerce div.product .vq-related{ clear:both; margin-top:80px; }
.woocommerce div.product .vq-sec-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px 24px; margin-bottom:28px; }
.woocommerce div.product .vq-sec-k{ font-size:12px; letter-spacing:.2em; font-weight:600; color:#8A6A1F; margin-bottom:10px; }
.woocommerce div.product .vq-sec-h{ margin:0; font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(28px,3vw,40px); line-height:1.1; color:#1F3B2D; }
.woocommerce div.product .vq-sec-h .i{ font-style:italic; }
.woocommerce div.product a.vq-sec-link{ display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:500; color:#1F3B2D !important; text-decoration:none; border-bottom:1px solid #1F3B2D; padding-bottom:3px; }
.woocommerce div.product a.vq-sec-link:hover{ color:#8A6A1F !important; border-color:#8A6A1F; }

/* stars (summary, reviews, form) in brand gold */
.woocommerce .star-rating{ color:#B8923A; }
.woocommerce .star-rating::before{ color:#E2D6BC; }

/* reviews layout */
.woocommerce div.product .vq-reviews-score{ display:flex; align-items:center; gap:14px; }
.woocommerce div.product .vq-reviews-score .avg{ font-family:'Playfair Display',serif; font-size:48px; line-height:1; color:#1F3B2D; }
.woocommerce div.product .vq-reviews-score-r{ display:flex; flex-direction:column; gap:6px; }
.woocommerce div.product .vq-reviews-score .star-rating{ float:none; margin:0; font-size:16px; }
.woocommerce div.product .vq-reviews-score .meta{ font-size:14px; color:#5B5F55; }
.woocommerce div.product .vq-reviews-grid{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:24px; align-items:start; }
.woocommerce div.product .vq-reviews-grid:has(.vq-reviews-empty){ align-items:stretch; }
.woocommerce div.product #reviews #comments.vq-reviews-list,
.woocommerce div.product #reviews .vq-review-form{
  background:#fff; border-radius:28px; padding:clamp(22px,3.5vw,40px); box-shadow:0 10px 30px rgba(31,59,45,.06); box-sizing:border-box;
}
.woocommerce div.product .vq-reviews-empty{ height:100%; min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.woocommerce div.product .vq-reviews-empty .ic{ width:64px; height:64px; border-radius:50%; background:#F3EEE3; color:#B8923A; display:flex; align-items:center; justify-content:center; margin-bottom:16px; box-shadow:inset 0 0 0 1px #EADFC9; }
.woocommerce div.product .vq-reviews-empty .t{ margin:0; font-family:'Playfair Display',serif; font-size:22px; color:#1F3B2D; }
.woocommerce div.product .vq-reviews-empty .s{ margin:6px 0 0; font-size:15px; color:#5B5F55; }

/* review list */
.woocommerce div.product #reviews #comments ol.commentlist{ list-style:none; margin:0; padding:0; }
.woocommerce div.product #reviews #comments ol.commentlist li{ margin:0; padding:22px 0; border-bottom:1px solid #EEE6D7; background:none; }
.woocommerce div.product #reviews #comments ol.commentlist li:first-child{ padding-top:0; }
.woocommerce div.product #reviews #comments ol.commentlist li:last-child{ border-bottom:0; padding-bottom:0; }
.woocommerce div.product #reviews #comments ol.commentlist li .comment_container{ display:flex; gap:16px; align-items:flex-start; }
.woocommerce div.product #reviews .vq-rev-av{
  flex:none; width:44px; height:44px; border-radius:50%; background:#1F3B2D; color:#F6D67E;
  display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:19px;
}
.woocommerce div.product #reviews #comments ol.commentlist li .comment-text{ flex:1; min-width:0; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0; }
.woocommerce div.product #reviews #comments ol.commentlist li .comment-text .star-rating{ float:none; margin:2px 0 8px; font-size:14px; }
.woocommerce div.product #reviews #comments ol.commentlist li .comment-text p.meta{ margin:0 0 8px; font-size:13px; color:#5B5F55; display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; }
.woocommerce div.product #reviews .woocommerce-review__author{ font-size:15px; font-weight:600; color:#1F3B2D; }
.woocommerce div.product #reviews .woocommerce-review__verified{ font-style:normal; font-size:12px; color:#2E5240; background:#E3ECE5; border-radius:999px; padding:2px 10px; }
.woocommerce div.product #reviews .woocommerce-review__awaiting-approval{ font-style:normal; color:#8A6A1F; }
.woocommerce div.product #reviews #comments ol.commentlist li .comment-text .description{ font-size:15px; line-height:1.7; color:#3F443B; }
.woocommerce div.product #reviews #comments ol.commentlist li .comment-text .description p{ margin:0 0 8px; }

/* review form */
.woocommerce div.product #review_form #respond{ margin:0; padding:0; border:0; }
.woocommerce div.product #review_form #reply-title{ display:block; margin:0 0 6px; font-family:'Playfair Display',serif; font-size:24px; font-weight:400; color:#1F3B2D; }
.woocommerce div.product #review_form .comment-notes{ margin:0 0 18px; font-size:13px; color:#5B5F55; }
.woocommerce div.product #review_form form.comment-form{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.woocommerce div.product #review_form form.comment-form > *{ grid-column:1 / -1; margin:0; }
.woocommerce div.product #review_form form.comment-form > .comment-form-author{ grid-column:1; }
.woocommerce div.product #review_form form.comment-form > .comment-form-email{ grid-column:2; }
.woocommerce div.product #review_form label{ display:block; margin:0 0 6px; font-size:13px; font-weight:500; color:#4E5348; }
.woocommerce div.product #review_form .required{ color:#B8923A; }
.woocommerce div.product #review_form input[type="text"],
.woocommerce div.product #review_form input[type="email"],
.woocommerce div.product #review_form textarea{
  width:100%; box-sizing:border-box; border:1.5px solid #D8CDB8; border-radius:14px; background:#fff;
  padding:12px 14px; font-family:'Jost',sans-serif; font-size:15px; color:#1F3B2D; outline:none; transition:border-color .2s ease, box-shadow .2s ease;
}
.woocommerce div.product #review_form textarea{ min-height:120px; resize:vertical; }
.woocommerce div.product #review_form input:focus,
.woocommerce div.product #review_form textarea:focus{ border-color:#1F3B2D; box-shadow:0 0 0 3px rgba(31,59,45,.08); }
.woocommerce div.product #review_form .comment-form-rating p.stars{ margin:0; line-height:1; }
.woocommerce div.product #review_form .comment-form-rating p.stars a{ color:#B8923A !important; font-size:26px; margin-right:6px; text-decoration:none; }
.woocommerce div.product #review_form .comment-form-cookies-consent{ display:flex; gap:8px; align-items:flex-start; font-size:13px; color:#5B5F55; }
.woocommerce div.product #review_form .comment-form-cookies-consent label{ margin:0; font-weight:400; }
.woocommerce div.product #review_form .form-submit{ margin:4px 0 0; }
.woocommerce div.product #review_form #respond input#submit,
.woocommerce div.product #review_form #respond input#submit:hover{
  width:100%; height:52px; border:0; border-radius:999px; background:#1F3B2D !important; color:#FCF6EE !important;
  font-family:'Jost',sans-serif; font-size:15px; font-weight:500; cursor:pointer; padding:0 24px; transition:background .2s ease;
}
.woocommerce div.product #review_form #respond input#submit:hover{ background:#163024 !important; }
.woocommerce div.product .vq-review-form .woocommerce-verification-required{ margin:0; color:#5B5F55; }

@media (max-width:900px){
  .woocommerce div.product .vq-reviews-grid{ grid-template-columns:1fr; }
}
@media (max-width:767px){
  .woocommerce div.product{ padding-bottom:56px; }
  .woocommerce div.product .vq-reviews,
  .woocommerce div.product .vq-related{ margin-top:56px; }
  .woocommerce div.product #review_form form.comment-form > .comment-form-author,
  .woocommerce div.product #review_form form.comment-form > .comment-form-email{ grid-column:1 / -1; }
}

/* ===== Single product: same width as the header (1320px container, 24px gutters) ===== */
body.single-product main.site-main{ max-width:none !important; width:100% !important; margin:0 !important; padding-left:0 !important; padding-right:0 !important; }
/* description fills the whole card */
.woocommerce div.product .vq-desc{ max-width:none; }

/* ============================================================
   MY ACCOUNT — /my-account/ (inc/account.php + woocommerce/myaccount/*)
   ============================================================ */
body.woocommerce-account main.site-main{ max-width:none !important; width:100% !important; margin:0 !important; padding-left:0 !important; padding-right:0 !important; }
.vq-acct{ max-width:1320px; margin:0 auto; padding:32px 24px 96px; box-sizing:border-box; font-family:'Jost',sans-serif; color:#22261F; }
.vq-acct *{ box-sizing:border-box; }

/* shared fields */
.vq-acct label{ display:block; margin:0 0 7px; font-size:13px; font-weight:500; color:#4E5348; line-height:1.3; }
.vq-acct .required{ color:#B8923A; text-decoration:none; border:0; }
.vq-acct .form-row,
.vq-acct .woocommerce-form-row{ margin:0 0 16px !important; padding:0 !important; float:none !important; width:auto !important; }
.vq-acct input.input-text,
.vq-acct input[type="text"],
.vq-acct input[type="email"],
.vq-acct input[type="password"],
.vq-acct input[type="tel"],
.vq-acct select,
.vq-acct textarea{
  width:100% !important; height:50px; margin:0; padding:0 16px !important; border:1.5px solid #D8CDB8 !important; border-radius:14px !important;
  background:#fff !important; color:#1F3B2D !important; font-family:'Jost',sans-serif; font-size:15px; line-height:1.2; box-shadow:none; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.vq-acct textarea{ height:auto; min-height:110px; padding:12px 16px !important; }
.vq-acct input:focus,
.vq-acct select:focus,
.vq-acct textarea:focus{ border-color:#1F3B2D !important; box-shadow:0 0 0 3px rgba(31,59,45,.08) !important; }
.vq-acct input[type="checkbox"]{ width:18px; height:18px; margin:0; accent-color:#1F3B2D; vertical-align:middle; }
.vq-acct .password-input{ position:relative; display:block; }
.vq-acct .show-password-input,
.vq-acct .show-password-input:hover,
.vq-acct .show-password-input:focus{
  position:absolute; right:12px; top:50%; transform:translateY(-50%); background:transparent !important; border:0 !important;
  color:#5B5F55 !important; padding:6px !important; box-shadow:none !important;
}
.vq-acct #account_display_name_description,
.vq-acct .description{ display:block; margin-top:6px; font-size:12px; color:#5B5F55; font-style:normal; }

/* shared buttons */
.vq-acct button.button,
.vq-acct a.button,
.vq-acct .vq-acct-btn,
.vq-acct button.button:hover,
.vq-acct a.button:hover{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 26px !important;
  border:0 !important; border-radius:999px !important; background:#1F3B2D !important; color:#FCF6EE !important;
  font-family:'Jost',sans-serif; font-size:15px; font-weight:500; line-height:1; text-decoration:none !important; cursor:pointer;
  box-shadow:none; transition:background .2s ease;
}
.vq-acct button.button:hover,
.vq-acct a.button:hover,
.vq-acct .vq-acct-btn:hover{ background:#163024 !important; }

/* notices */
.vq-acct .woocommerce-message,
.vq-acct .woocommerce-info,
.vq-acct .woocommerce-error{
  position:relative; list-style:none; margin:0 0 20px; padding:16px 20px 16px 50px; border:0; border-left:3px solid #1F3B2D;
  border-radius:14px; background:#FAF6EE; color:#1F3B2D; font-size:15px; display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px;
}
.vq-acct .woocommerce-message::before,
.vq-acct .woocommerce-info::before{ color:#1F3B2D; left:18px; top:50%; transform:translateY(-50%); }
.vq-acct .woocommerce-error{ border-left-color:#B5543C; background:#FBF1EE; }
.vq-acct .woocommerce-error::before{ color:#B5543C; left:18px; top:50%; transform:translateY(-50%); }
.vq-acct .woocommerce-error li{ margin:0; }
.vq-acct .woocommerce-message .button,
.vq-acct .woocommerce-info .button{ order:2; margin-left:auto; float:none; min-height:40px; padding:0 18px !important; font-size:14px; }

/* ---------- logged out: sign in ---------- */
.vq-login{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; align-items:stretch; }
.vq-login-card{ background:#fff; border-radius:28px; padding:clamp(26px,4vw,48px); box-shadow:0 10px 30px rgba(31,59,45,.06); }
.vq-login-title{ margin:0; font-family:'Playfair Display',serif; font-weight:400; font-size:30px; line-height:1.15; color:#1F3B2D; }
.vq-login-sub{ margin:6px 0 26px; font-size:15px; color:#5B5F55; }
.vq-acct form.woocommerce-form-login,
.vq-acct form.woocommerce-form-register{ margin:0 !important; padding:0 !important; border:0 !important; border-radius:0; }
.vq-login-row{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; margin:4px 0 22px; }
.vq-login-row label{ display:inline-flex !important; align-items:center; gap:9px; margin:0; font-size:14px; font-weight:400; color:#3F443B; cursor:pointer; }
.vq-acct a.vq-login-lost{ font-size:14px; font-weight:500; color:#8A6A1F !important; text-decoration:underline; }
.vq-acct button.vq-login-btn{ width:100%; min-height:52px; font-size:16px; }
.vq-login-note{ margin:0 0 18px; font-size:14px; color:#5B5F55; }

.vq-login-aside{
  border-radius:28px; padding:clamp(28px,4vw,52px); color:#E9E2D2;
  background:radial-gradient(120% 90% at 100% 0%, rgba(246,214,126,.16), transparent 55%), radial-gradient(90% 80% at 0% 100%, rgba(94,125,107,.35), transparent 60%), #1F3B2D;
  display:flex; flex-direction:column; justify-content:center;
}
.vq-login-aside-k{ font-size:12px; letter-spacing:.2em; font-weight:600; color:#F6D67E; margin-bottom:12px; }
.vq-acct .vq-login-aside-t{ margin:0 0 24px; font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(28px,2.6vw,36px); line-height:1.15; color:#FCF6EE; }
.vq-login-aside-t .i{ font-style:italic; color:#F6D67E; }
.vq-login-perks{ list-style:none; margin:0 0 30px; padding:0; display:flex; flex-direction:column; gap:14px; }
.vq-login-perks li{ display:flex; align-items:center; gap:14px; font-size:15px; color:#E9E2D2; }
.vq-login-perks .ic{ flex:none; width:38px; height:38px; border-radius:50%; background:rgba(246,214,126,.14); color:#F6D67E; display:flex; align-items:center; justify-content:center; }
.vq-acct a.vq-login-aside-btn,
.vq-acct a.vq-login-aside-btn:hover{
  align-self:flex-start; display:inline-flex; align-items:center; height:50px; padding:0 28px; border-radius:999px;
  background:#F6D67E; color:#1F3B2D !important; font-weight:600; font-size:15px; text-decoration:none !important; transition:background .2s ease;
}
.vq-acct a.vq-login-aside-btn:hover{ background:#f0c95f; }

/* lost / reset password */
.vq-acct.is-out form.woocommerce-ResetPassword{
  max-width:620px; margin:0 auto !important; padding:clamp(26px,4vw,48px) !important; border:0 !important;
  background:#fff; border-radius:28px; box-shadow:0 10px 30px rgba(31,59,45,.06);
}
.vq-acct.is-out form.woocommerce-ResetPassword > p:first-child{ margin:0 0 22px; font-size:15px; line-height:1.6; color:#3F443B; }
.vq-acct.is-out form.woocommerce-ResetPassword button.button{ width:100%; min-height:52px; }
.vq-acct.is-out .woocommerce-message + p{ max-width:620px; margin:0 auto; color:#3F443B; }

/* ---------- logged in: layout ---------- */
.vq-acct.is-in > .woocommerce{ display:grid; grid-template-columns:290px minmax(0,1fr); gap:28px; align-items:start; }
.vq-acct.is-in > .woocommerce::before,
.vq-acct.is-in > .woocommerce::after{ content:none !important; display:none !important; }
.vq-acct.is-in > .woocommerce > .woocommerce-notices-wrapper{ grid-column:1 / -1; }
.vq-acct.is-in > .woocommerce > .woocommerce-notices-wrapper:empty{ display:none; }
.vq-acct .woocommerce-MyAccount-navigation,
.vq-acct .woocommerce-MyAccount-content{ float:none !important; width:auto !important; margin:0 !important; }

/* nav card */
.vq-acct .vq-acct-nav{ background:#fff; border-radius:26px; padding:14px; box-shadow:0 10px 30px rgba(31,59,45,.06); position:sticky; top:110px; }
.vq-acct-user{ display:flex; align-items:center; gap:12px; padding:10px 10px 16px; border-bottom:1px solid #EEE6D7; margin-bottom:8px; }
.vq-acct-user .av{ flex:none; width:46px; height:46px; border-radius:50%; background:#1F3B2D; color:#F6D67E; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:20px; }
.vq-acct-user .who{ min-width:0; display:flex; flex-direction:column; }
.vq-acct-user .n{ font-weight:600; font-size:16px; color:#1F3B2D; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vq-acct-user .e{ font-size:13px; color:#5B5F55; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vq-acct .vq-acct-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.vq-acct .vq-acct-nav li{ margin:0; padding:0; }
.vq-acct .vq-acct-nav li a{
  display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:14px;
  font-size:15px; font-weight:500; color:#1F3B2D !important; text-decoration:none !important; transition:background .15s ease, color .15s ease;
}
.vq-acct .vq-acct-nav li a svg{ flex:none; color:#8A6A1F; }
.vq-acct .vq-acct-nav li a:hover{ background:#F6F1E7; }
.vq-acct .vq-acct-nav li.is-active a{ background:#1F3B2D; color:#FCF6EE !important; }
.vq-acct .vq-acct-nav li.is-active a svg{ color:#F6D67E; }
.vq-acct .vq-acct-nav li.woocommerce-MyAccount-navigation-link--customer-logout{ margin-top:8px; padding-top:8px; border-top:1px solid #EEE6D7; }
.vq-acct .vq-acct-nav li.woocommerce-MyAccount-navigation-link--customer-logout a{ color:#8A6A1F !important; }

/* content card */
.vq-acct .woocommerce-MyAccount-content{ background:#fff; border-radius:28px; padding:clamp(22px,3.5vw,40px); box-shadow:0 10px 30px rgba(31,59,45,.06); min-height:100%; }
.vq-acct .woocommerce-MyAccount-content > p:first-child{ margin-top:0; }
.vq-acct .woocommerce-MyAccount-content h2,
.vq-acct .woocommerce-MyAccount-content h3{ font-family:'Playfair Display',serif; font-weight:400; color:#1F3B2D; }
.vq-acct .woocommerce-MyAccount-content h2{ font-size:24px; margin:0 0 14px; }
.vq-acct .woocommerce-MyAccount-content h3{ font-size:20px; margin:0 0 12px; }
.vq-acct .woocommerce-MyAccount-content a:not(.button){ color:#8A6A1F; }

/* dashboard */
.vq-dash-tiles{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.vq-acct a.vq-dash-tile{
  display:flex; align-items:center; gap:14px; padding:18px; border:1px solid #EEE6D7; border-radius:20px; background:#FFFDF9;
  color:#1F3B2D !important; text-decoration:none !important; transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.vq-acct a.vq-dash-tile:hover{ border-color:#1F3B2D; transform:translateY(-2px); box-shadow:0 12px 26px rgba(31,59,45,.08); }
.vq-dash-tile .ic{ flex:none; width:44px; height:44px; border-radius:50%; background:#F3EEE3; color:#8A6A1F; display:flex; align-items:center; justify-content:center; }
.vq-dash-tile .tx{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.vq-dash-tile .t{ font-family:'Playfair Display',serif; font-size:18px; line-height:1.2; }
.vq-dash-tile .s{ font-size:13px; color:#5B5F55; }
.vq-dash-tile .ar{ flex:none; color:#8A6A1F; }
.vq-dash-recent{ margin-top:34px; }
.vq-dash-head{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:14px; }
.vq-acct .vq-dash-head h3{ margin:0; font-size:22px; }
.vq-acct .vq-dash-head a{ display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:500; color:#1F3B2D !important; text-decoration:none; }
.vq-dash-orders{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.vq-acct .vq-dash-orders a{
  display:grid; grid-template-columns:110px 1fr auto 110px 20px; align-items:center; gap:14px; padding:14px 18px;
  border-radius:16px; background:#FAF6EE; color:#1F3B2D !important; text-decoration:none !important; transition:background .2s ease;
}
.vq-acct .vq-dash-orders a:hover{ background:#F3EEE3; }
.vq-dash-orders .no{ font-weight:600; }
.vq-dash-orders .dt{ font-size:14px; color:#5B5F55; }
.vq-dash-orders .tt{ text-align:right; font-weight:500; }
.vq-dash-orders .ar{ color:#8A6A1F; display:flex; }
.vq-acct .st{ display:inline-block; padding:4px 12px; border-radius:999px; font-size:12px; font-weight:600; background:#EEE6D7; color:#4E5348; white-space:nowrap; }
.vq-acct .st-processing{ background:#E3ECE5; color:#2E5240; }
.vq-acct .st-completed{ background:#DCE9DF; color:#1F3B2D; }
.vq-acct .st-on-hold,
.vq-acct .st-pending{ background:#F6EBCF; color:#8A6A1F; }
.vq-acct .st-cancelled,
.vq-acct .st-failed,
.vq-acct .st-refunded{ background:#F3E1DC; color:#8F3F2C; }
.vq-dash-empty{ padding:26px; border-radius:20px; background:#FAF6EE; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; }
.vq-dash-empty p{ margin:0; color:#3F443B; }

/* orders table */
.vq-acct table.woocommerce-orders-table,
.vq-acct table.shop_table{ width:100%; border:0 !important; border-collapse:collapse; border-radius:0; margin:0 0 20px; }
.vq-acct table.shop_table th{ padding:0 12px 12px !important; border:0 !important; border-bottom:1px solid #E0D5C1 !important; text-align:left; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:#8A6A1F; }
.vq-acct table.shop_table td{ padding:16px 12px !important; border:0 !important; border-bottom:1px solid #EEE6D7 !important; vertical-align:middle; font-size:15px; color:#22261F; background:transparent; }
.vq-acct table.shop_table tr:last-child td{ border-bottom:0 !important; }
.vq-acct table.shop_table td a:not(.button){ color:#1F3B2D; font-weight:600; text-decoration:none; }
.vq-acct table.shop_table td .button{ min-height:38px; padding:0 18px !important; font-size:14px; margin:2px 4px 2px 0; }
.vq-acct .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status{ color:#2E5240; font-weight:600; }
.vq-acct .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status{ color:#1F3B2D; font-weight:600; }
.vq-acct .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status,
.vq-acct .woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status{ color:#8A6A1F; font-weight:600; }
.vq-acct .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.vq-acct .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status{ color:#8F3F2C; font-weight:600; }
.vq-acct .woocommerce-pagination{ display:flex; gap:10px; justify-content:space-between; }

/* view order */
.vq-acct .woocommerce-MyAccount-content mark{ background:#F6EBCF; color:#1F3B2D; padding:1px 8px; border-radius:999px; font-weight:600; }
.vq-acct .woocommerce-order-details,
.vq-acct .woocommerce-customer-details{ margin-top:26px; }
.vq-acct .woocommerce-customer-details address{ border:1px solid #EEE6D7 !important; border-radius:18px; padding:18px 20px !important; font-style:normal; line-height:1.7; }

/* addresses */
.vq-acct .woocommerce-Addresses{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; }
.vq-acct .woocommerce-Addresses::before,
.vq-acct .woocommerce-Addresses::after{ content:none !important; display:none !important; }
.vq-acct .woocommerce-Addresses .woocommerce-Address{ float:none !important; width:auto !important; max-width:none !important; margin:0 !important; padding:22px; border:1px solid #EEE6D7; border-radius:20px; background:#FFFDF9; }
.vq-acct .woocommerce-Address-title{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; }
.vq-acct .woocommerce-Address-title::before,
.vq-acct .woocommerce-Address-title::after{ content:none !important; }
.vq-acct .woocommerce-Address-title h2{ margin:0 !important; font-size:20px !important; float:none !important; }
.vq-acct .woocommerce-Address-title a.edit{
  float:none !important; display:inline-flex; align-items:center; height:34px; padding:0 14px; border-radius:999px; border:1px solid #D8CDB8;
  font-size:13px; font-weight:500; color:#1F3B2D !important; text-decoration:none;
}
.vq-acct .woocommerce-Address-title a.edit:hover{ border-color:#1F3B2D; background:#F6F1E7; }
.vq-acct .woocommerce-Address address{ font-style:normal; line-height:1.7; color:#3F443B; }

/* edit address / account forms */
.vq-acct .woocommerce-address-fields__field-wrapper{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.vq-acct .woocommerce-address-fields__field-wrapper > .form-row{ grid-column:1 / -1; }
.vq-acct .woocommerce-address-fields__field-wrapper > .form-row-first{ grid-column:1; }
.vq-acct .woocommerce-address-fields__field-wrapper > .form-row-last{ grid-column:2; }
.vq-acct form.woocommerce-EditAccountForm{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.vq-acct form.woocommerce-EditAccountForm > *{ grid-column:1 / -1; }
.vq-acct form.woocommerce-EditAccountForm > .form-row-first{ grid-column:1; }
.vq-acct form.woocommerce-EditAccountForm > .form-row-last{ grid-column:2; }
.vq-acct form.woocommerce-EditAccountForm > .clear{ display:none; }
.vq-acct form.woocommerce-EditAccountForm fieldset{ margin:10px 0 18px; padding:20px 20px 4px; border:1px solid #EEE6D7; border-radius:20px; }
.vq-acct form.woocommerce-EditAccountForm legend{ padding:0 8px; font-family:'Playfair Display',serif; font-size:18px; color:#1F3B2D; }
.vq-acct .select2-container{ width:100% !important; }
.vq-acct .select2-container--default .select2-selection--single{ height:50px; border:1.5px solid #D8CDB8; border-radius:14px; background:#fff; }
.vq-acct .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:47px; padding-left:16px; color:#1F3B2D; }
.vq-acct .select2-container--default .select2-selection--single .select2-selection__arrow{ height:47px; right:10px; }
body.woocommerce-account .select2-dropdown{ border:1.5px solid #D8CDB8; border-radius:14px; overflow:hidden; }
body.woocommerce-account .select2-results__option--highlighted[aria-selected],
body.woocommerce-account .select2-container--default .select2-results__option--highlighted[data-selected]{ background:#1F3B2D; }

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .vq-dash-tiles{ grid-template-columns:1fr; }
}
@media (max-width:900px){
  .vq-login{ grid-template-columns:1fr; }
  .vq-acct.is-in > .woocommerce{ grid-template-columns:1fr; gap:18px; }
  .vq-acct .vq-acct-nav{ position:static; }
  .vq-acct .vq-acct-nav ul{ flex-direction:row; overflow-x:auto; gap:6px; padding-bottom:4px; -webkit-overflow-scrolling:touch; }
  .vq-acct .vq-acct-nav li a{ white-space:nowrap; padding:10px 14px; }
  .vq-acct .vq-acct-nav li.woocommerce-MyAccount-navigation-link--customer-logout{ margin:0; padding:0; border:0; }
}
@media (max-width:767px){
  .vq-acct{ padding:22px 16px 56px; }
  .vq-acct .vq-dash-orders a{ grid-template-columns:1fr auto; gap:6px 12px; }
  .vq-acct .vq-dash-orders .dt{ grid-column:1; grid-row:2; }
  .vq-acct .vq-dash-orders .tt{ grid-column:2; grid-row:2; }
  .vq-acct .vq-dash-orders .ar{ display:none; }
  .vq-acct .woocommerce-Addresses,
  .vq-acct .woocommerce-address-fields__field-wrapper,
  .vq-acct form.woocommerce-EditAccountForm{ grid-template-columns:1fr; }
  .vq-acct .woocommerce-address-fields__field-wrapper > .form-row-first,
  .vq-acct .woocommerce-address-fields__field-wrapper > .form-row-last,
  .vq-acct form.woocommerce-EditAccountForm > .form-row-first,
  .vq-acct form.woocommerce-EditAccountForm > .form-row-last{ grid-column:1; }
}

/* account fields: enforce height + gold required mark over WooCommerce/Elementor defaults */
.vq-acct input.input-text, .vq-acct input[type="text"], .vq-acct input[type="email"], .vq-acct input[type="password"], .vq-acct input[type="tel"], .vq-acct select{ height:50px !important; min-height:50px; line-height:normal !important; }
.vq-acct .required, .woocommerce .vq-acct form .form-row .required{ color:#B8923A !important; }

/* account tables: only real column headers get the small-caps style */
.vq-acct table.shop_table tbody th,
.vq-acct table.shop_table tfoot th{
  padding:16px 12px !important; border:0 !important; border-bottom:1px solid #EEE6D7 !important;
  font-size:15px; letter-spacing:0; text-transform:none; font-weight:600; color:#1F3B2D; text-align:left; vertical-align:middle;
}
.vq-acct table.shop_table td,
.vq-acct table.shop_table th{ background:transparent !important; }
.vq-acct table.shop_table tbody th a{ color:#1F3B2D !important; text-decoration:none; font-weight:600; letter-spacing:0; }
.vq-acct table.shop_table tfoot tr:last-child th,
.vq-acct table.shop_table tfoot tr:last-child td{ font-size:17px; border-bottom:0 !important; }
.vq-acct table.order_details td.product-total,
.vq-acct table.order_details tfoot td,
.vq-acct table.order_details thead th.product-total{ text-align:right; }
/* "Commande n° X passée le … : statut" */
.vq-acct .woocommerce-MyAccount-content mark.order-number,
.vq-acct .woocommerce-MyAccount-content mark.order-date{ background:none; padding:0; font-weight:600; color:#1F3B2D; }
.vq-acct .woocommerce-MyAccount-content mark.order-status{ background:#E3ECE5; color:#2E5240; padding:3px 12px; border-radius:999px; font-size:14px; }
/* select2 (country / province): hidden native select stays hidden, text centred */
.vq-acct select.select2-hidden-accessible{ height:1px !important; min-height:0 !important; padding:0 !important; border:0 !important; }
.vq-acct .select2-container--default .select2-selection--single{ display:flex; align-items:center; }
.vq-acct .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:1.3 !important; padding:0 36px 0 16px; }
.vq-acct .select2-container--default .select2-selection--single .select2-selection__arrow{ top:50%; transform:translateY(-50%); height:24px; }
.vq-acct table.shop_table tbody tr:last-child th{ border-bottom:0 !important; }
@media (max-width:900px){ .vq-acct.is-in > .woocommerce{ grid-template-columns:minmax(0,1fr) !important; } }

/* ============================================================
   ACCOUNT POPUP — Se connecter / Créer un compte (inc/auth.php, assets/vq-auth.js)
   ============================================================ */
html.vq-auth-lock,
html.vq-auth-lock body{ overflow:hidden; }
.vq-auth{
  position:fixed; inset:0; z-index:100005; display:flex; align-items:center; justify-content:center; padding:24px;
  visibility:hidden; pointer-events:none; font-family:'Jost',sans-serif; transition:visibility 0s linear .3s;
}
.vq-auth.is-open{ visibility:visible; pointer-events:auto; transition-delay:0s; }
.vq-auth *{ box-sizing:border-box; }
.vq-auth-overlay{ position:absolute; inset:0; background:rgba(22,41,31,.55); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); opacity:0; transition:opacity .3s ease; }
.vq-auth.is-open .vq-auth-overlay{ opacity:1; }
.vq-auth-dialog{
  position:relative; width:100%; max-width:460px; max-height:calc(100vh - 48px); overflow-y:auto; overscroll-behavior:contain;
  padding:34px 36px 32px; border-radius:30px; color:#22261F;
  background:radial-gradient(120% 60% at 100% 0%, rgba(246,214,126,.18), transparent 60%), #FCF6EE;
  box-shadow:0 30px 80px rgba(22,41,31,.35);
  opacity:0; transform:translateY(18px) scale(.98); transition:opacity .3s ease, transform .35s cubic-bezier(.2,.8,.2,1);
}
.vq-auth.is-open .vq-auth-dialog{ opacity:1; transform:none; }

.vq-auth .vq-auth-close,
.vq-auth .vq-auth-close:hover,
.vq-auth .vq-auth-close:focus{
  position:absolute; top:16px; right:16px; width:40px; height:40px; padding:0 !important; margin:0; border:0 !important; border-radius:50% !important;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:none;
  background:#EFE7D8 !important; color:#1F3B2D !important; transition:background .2s ease, color .2s ease;
}
.vq-auth .vq-auth-close:hover{ background:#1F3B2D !important; color:#FCF6EE !important; }

.vq-auth-head{ text-align:center; margin-bottom:22px; }
.vq-auth-logo{ display:block; width:56px; height:auto; margin:0 auto 8px; }
.vq-auth .vq-auth-title{ margin:0; font-family:'Playfair Display',serif; font-weight:400; font-size:28px; line-height:1.15; color:#1F3B2D; }

.vq-auth-tabs{ display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:5px; margin:0 0 22px; border-radius:999px; background:#EFE7D8; }
.vq-auth .vq-auth-tabs button,
.vq-auth .vq-auth-tabs button:hover,
.vq-auth .vq-auth-tabs button:focus{
  height:44px; padding:0 10px !important; margin:0; border:0 !important; border-radius:999px !important; cursor:pointer;
  background:transparent !important; color:#5B5F55 !important; box-shadow:none !important;
  font-family:'Jost',sans-serif; font-size:15px; font-weight:500; line-height:1; transition:background .2s ease, color .2s ease, box-shadow .2s ease;
}
.vq-auth .vq-auth-tabs button:hover{ color:#1F3B2D !important; }
.vq-auth .vq-auth-tabs button.is-active{ background:#fff !important; color:#1F3B2D !important; box-shadow:0 4px 14px rgba(31,59,45,.12) !important; }
.vq-auth .vq-auth-tabs button:focus-visible{ outline:2px solid #B8923A; outline-offset:2px; }

.vq-auth-msg{ margin:0 0 16px; padding:12px 16px; border-radius:14px; border-left:3px solid #B5543C; background:#FBF1EE; color:#8F3F2C; font-size:14px; line-height:1.45; }
.vq-auth-msg.is-ok{ border-left-color:#2E5240; background:#E3ECE5; color:#2E5240; }

.vq-auth form.vq-auth-panel{ margin:0; padding:0; border:0; }
.vq-auth .vq-auth-field{ margin:0 0 14px; }
.vq-auth .vq-auth-field label{ display:block; margin:0 0 7px; font-size:13px; font-weight:500; color:#4E5348; }
.vq-auth .vq-auth-field label small{ font-weight:400; color:#8A8F86; }
.vq-auth .vq-auth-field input{
  display:block; width:100% !important; height:50px !important; margin:0; padding:0 16px !important;
  border:1.5px solid #D8CDB8 !important; border-radius:14px !important; background:#fff !important; color:#1F3B2D !important;
  font-family:'Jost',sans-serif; font-size:15px; line-height:normal; box-shadow:none !important; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.vq-auth .vq-auth-field input:focus{ border-color:#1F3B2D !important; box-shadow:0 0 0 3px rgba(31,59,45,.08) !important; }
.vq-auth .vq-auth-pw{ position:relative; display:block; }
.vq-auth .vq-auth-pw input{ padding-right:52px !important; }
.vq-auth .vq-auth-eye,
.vq-auth .vq-auth-eye:hover,
.vq-auth .vq-auth-eye:focus{
  position:absolute; right:7px; top:50%; transform:translateY(-50%); width:38px; height:38px; padding:0 !important; margin:0;
  border:0 !important; border-radius:50% !important; background:transparent !important; color:#8A8F86 !important; box-shadow:none !important;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
}
.vq-auth .vq-auth-eye:hover,
.vq-auth .vq-auth-eye.is-on{ color:#1F3B2D !important; background:#F6F1E7 !important; }

.vq-auth-row{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; margin:2px 0 20px; font-size:14px; }
.vq-auth .vq-auth-check{ display:inline-flex; align-items:center; gap:9px; margin:0; color:#3F443B; cursor:pointer; }
.vq-auth .vq-auth-check input{ width:18px; height:18px; margin:0; accent-color:#1F3B2D; }
.vq-auth .vq-auth-row a{ color:#8A6A1F !important; font-weight:500; text-decoration:underline; }

.vq-auth .vq-auth-submit,
.vq-auth .vq-auth-submit:hover,
.vq-auth .vq-auth-submit:focus{
  display:flex; align-items:center; justify-content:center; width:100%; height:52px; padding:0 24px !important; margin:0;
  border:0 !important; border-radius:999px !important; background:#1F3B2D !important; color:#FCF6EE !important; box-shadow:none !important;
  font-family:'Jost',sans-serif; font-size:16px; font-weight:500; cursor:pointer; transition:background .2s ease, opacity .2s ease;
}
.vq-auth .vq-auth-submit:hover{ background:#163024 !important; }
.vq-auth .vq-auth-submit.is-loading{ opacity:.7; cursor:wait; }

.vq-auth .vq-auth-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.vq-auth .woocommerce-privacy-policy-text p{ margin:2px 0 16px; font-size:12px; line-height:1.5; color:#5B5F55; }
.vq-auth .woocommerce-privacy-policy-text a{ color:#8A6A1F; }

/* phones: bottom sheet */
@media (max-width:600px){
  .vq-auth{ align-items:flex-end; padding:0; }
  .vq-auth-dialog{ max-width:none; max-height:92vh; border-radius:26px 26px 0 0; padding:28px 20px calc(24px + env(safe-area-inset-bottom)); transform:translateY(100%); }
  .vq-auth .vq-auth-close{ top:12px; right:12px; }
}

/* /my-account/ page: register card extras (first name + honeypot) */
.vq-acct .vq-auth-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.vq-acct .woocommerce-privacy-policy-text p{ margin:0 0 18px; font-size:13px; line-height:1.5; color:#5B5F55; }
.vq-acct .vq-hint{ font-weight:400; color:#8A8F86; }

/* ============================================================
   CART PAGE — /cart/ (inc/cart.php + woocommerce/cart/*)
   ============================================================ */
body.woocommerce-cart main.site-main{ max-width:none !important; width:100% !important; margin:0 !important; padding-left:0 !important; padding-right:0 !important; }

/* hero: title + steps */
.vq-cart-hero-row{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:20px; }
.vq-steps{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:10px; font-family:'Jost',sans-serif; }
.vq-steps li{ display:inline-flex; align-items:center; gap:8px; margin:0; font-size:14px; color:#6B7066; }
.vq-steps li + li::before{ content:""; width:28px; height:1px; background:#CDBF9F; margin-right:2px; }
.vq-steps li span{ width:28px; height:28px; border-radius:50%; border:1.5px solid #CDBF9F; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; }
.vq-steps li.on{ color:#1F3B2D; font-weight:600; }
.vq-steps li.on span{ background:#1F3B2D; border-color:#1F3B2D; color:#F6D67E; }

.vq-cartpg{ max-width:1320px; margin:0 auto; padding:32px 24px 96px; box-sizing:border-box; font-family:'Jost',sans-serif; color:#22261F; }
.vq-cartpg *{ box-sizing:border-box; }
.vq-cartpg > .woocommerce{ display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:28px; align-items:start; }
.vq-cartpg > .woocommerce::before,
.vq-cartpg > .woocommerce::after{ content:none !important; display:none !important; }
.vq-cartpg > .woocommerce > *{ grid-column:1 / -1; min-width:0; }
.vq-cartpg > .woocommerce > form.woocommerce-cart-form{ grid-column:1; }
.vq-cartpg > .woocommerce > .cart-collaterals{ grid-column:2; position:sticky; top:110px; width:auto; }
.vq-cartpg > .woocommerce > .woocommerce-notices-wrapper:empty{ display:none; }

/* notices */
.vq-cartpg .woocommerce-message,
.vq-cartpg .woocommerce-info,
.vq-cartpg .woocommerce-error{
  position:relative; list-style:none; margin:0 0 4px; padding:16px 20px 16px 50px; border:0; border-left:3px solid #1F3B2D;
  border-radius:14px; background:#FAF6EE; color:#1F3B2D; font-size:15px; display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px;
}
.vq-cartpg .woocommerce-message::before,
.vq-cartpg .woocommerce-info::before{ color:#1F3B2D; left:18px; top:50%; transform:translateY(-50%); }
.vq-cartpg .woocommerce-error{ border-left-color:#B5543C; background:#FBF1EE; }
.vq-cartpg .woocommerce-error::before{ color:#B5543C; left:18px; top:50%; transform:translateY(-50%); }
.vq-cartpg .woocommerce-error li{ margin:0; }
.vq-cartpg .woocommerce-message .button,
.vq-cartpg .woocommerce-message a.restore-item{ order:2; margin-left:auto; float:none; color:#8A6A1F !important; background:none !important; padding:0 !important; font-weight:600; text-decoration:underline; }

/* ---------- items card ---------- */
.vq-cart-card{ background:#fff; border-radius:28px; padding:clamp(20px,3vw,34px); box-shadow:0 10px 30px rgba(31,59,45,.06); }
.vq-cart-card-head{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.vq-cartpg .vq-cart-card-t{ margin:0; font-family:'Playfair Display',serif; font-weight:400; font-size:24px; color:#1F3B2D; }
.vq-cart-items-count{ font-size:13px; font-weight:600; color:#2E5240; background:#E3ECE5; border-radius:999px; padding:4px 12px; }
.vq-cart-ship{ margin:18px 0 6px; padding:14px 16px; border-radius:16px; background:#FAF6EE; }
.vq-cart-ship p{ margin:0 0 10px; font-size:14px; color:#3F443B; }
.vq-cart-ship p strong{ color:#1F3B2D; }
.vq-cart-ship-track{ height:6px; border-radius:999px; background:#EEE6D7; overflow:hidden; }
.vq-cart-ship-track span{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#2E5240,#1F3B2D); transition:width .4s ease; }

.vq-cartpg table.shop_table.cart{ width:100%; margin:0; border:0 !important; border-radius:0; border-collapse:collapse; }
.vq-cartpg table.shop_table.cart tbody{ display:block; }
.vq-cartpg table.shop_table.cart td,
.vq-cartpg table.shop_table.cart th{ padding:0 !important; border:0 !important; background:transparent !important; text-align:left; }
.vq-cartpg table.shop_table.cart td::before{ display:none !important; content:none !important; }
.vq-cartpg table.shop_table.cart tr.cart_item{
  display:grid; grid-template-columns:96px minmax(0,1fr) auto 104px 40px; align-items:center; gap:18px;
  padding:20px 0; border-bottom:1px solid #EEE6D7;
}
.vq-cartpg table.shop_table.cart td{ display:block; }
.vq-cartpg td.product-thumbnail{ width:96px; height:96px; border-radius:18px; overflow:hidden; background:var(--vq-tint,#ECE6D8); }
.vq-cartpg td.product-thumbnail a{ display:block; width:100%; height:100%; }
.vq-cartpg table.cart td.product-thumbnail img{ width:100% !important; height:100% !important; max-width:none; object-fit:cover; display:block; border-radius:0; box-shadow:none; }
.vq-cartpg td.product-name{ display:flex !important; flex-direction:column; gap:3px; min-width:0; }
.vq-ci-cat{ font-size:11px; letter-spacing:.14em; font-weight:600; text-transform:uppercase; color:#8A6A1F; }
.vq-ci-name{ font-family:'Playfair Display',serif; font-size:18px; line-height:1.25; color:#1F3B2D; }
.vq-cartpg .vq-ci-name a{ color:#1F3B2D !important; text-decoration:none; }
.vq-cartpg .vq-ci-name a:hover{ color:#8A6A1F !important; }
.vq-ci-unit{ font-size:13px; color:#6B7066; }
.vq-ci-unit .amount{ color:#6B7066; }
.vq-cartpg td.product-name dl.variation{ margin:2px 0 0; font-size:13px; color:#5B5F55; }
.vq-cartpg td.product-subtotal{ text-align:right !important; font-size:16px; font-weight:600; color:#1F3B2D; }
.vq-cartpg td.product-remove{ text-align:right !important; }
.vq-cartpg td.product-remove a.remove,
.vq-cartpg td.product-remove a.remove:hover{
  display:inline-flex !important; align-items:center; justify-content:center; width:38px !important; height:38px !important;
  border-radius:50% !important; font-size:inherit !important; line-height:1; text-decoration:none; transition:background .2s ease, color .2s ease;
  color:#8A8F86 !important; background:transparent !important;
}
.vq-cartpg td.product-remove a.remove:hover{ color:#B5543C !important; background:#FBF1EE !important; }

/* quantity stepper */
.vq-qty{ display:inline-flex; align-items:center; height:44px; padding:0 3px; border:1.5px solid #D8CDB8; border-radius:999px; background:#fff; }
.vq-qty.is-fixed{ border:0; padding:0; }
.vq-cartpg .vq-qty .vq-qty-btn,
.vq-cartpg .vq-qty .vq-qty-btn:hover,
.vq-cartpg .vq-qty .vq-qty-btn:focus{
  width:34px; height:34px; padding:0 !important; margin:0; border:0 !important; border-radius:50% !important; box-shadow:none !important;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  background:transparent !important; color:#1F3B2D !important; transition:background .15s ease;
}
.vq-cartpg .vq-qty .vq-qty-btn:hover{ background:#F3EEE3 !important; }
.vq-cartpg .vq-qty .quantity{ margin:0 !important; display:inline-flex; }
.vq-cartpg .vq-qty .quantity input.qty{
  width:38px !important; height:38px !important; padding:0 !important; margin:0 !important; border:0 !important; border-radius:0 !important;
  background:transparent !important; box-shadow:none !important; text-align:center; font-family:'Jost',sans-serif; font-size:15px; font-weight:600; color:#1F3B2D;
  -moz-appearance:textfield; appearance:textfield;
}
.vq-cartpg .vq-qty .quantity input.qty::-webkit-outer-spin-button,
.vq-cartpg .vq-qty .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* actions row: coupon + continue */
.vq-cartpg table.shop_table.cart tr.vq-cart-actions-row{ display:block; padding-top:22px; }
.vq-cartpg table.shop_table.cart td.actions{ display:flex !important; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; text-align:left !important; }
.vq-cartpg td.actions .coupon{ float:none !important; display:flex; align-items:center; gap:8px; flex:1 1 320px; max-width:420px; }
.vq-cartpg td.actions .coupon .input-text,
.vq-cartpg td.actions .coupon #coupon_code{
  float:none !important; flex:1; width:auto !important; min-width:0; height:46px; margin:0 !important; padding:0 18px !important;
  border:1.5px solid #D8CDB8 !important; border-radius:999px !important; background:#fff !important; color:#1F3B2D;
  font-family:'Jost',sans-serif; font-size:15px; box-shadow:none !important; outline:none;
}
.vq-cartpg td.actions .coupon #coupon_code:focus{ border-color:#1F3B2D !important; }
.vq-cartpg td.actions .coupon button.vq-coupon-btn,
.vq-cartpg td.actions .coupon button.vq-coupon-btn:hover{
  float:none !important; height:46px; padding:0 22px !important; margin:0 !important; border:1.5px solid #1F3B2D !important; border-radius:999px !important;
  background:transparent !important; color:#1F3B2D !important; font-family:'Jost',sans-serif; font-size:15px; font-weight:500; cursor:pointer; box-shadow:none;
}
.vq-cartpg td.actions .coupon button.vq-coupon-btn:hover{ background:#1F3B2D !important; color:#FCF6EE !important; }
.vq-cartpg td.actions .coupon-error-notice{ flex-basis:100%; margin:4px 0 0 16px; font-size:13px; color:#B5543C; }
.vq-cartpg a.vq-cart-continue{ display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:500; color:#8A6A1F !important; text-decoration:none; }
.vq-cartpg a.vq-cart-continue:hover{ color:#1F3B2D !important; }
.vq-cartpg td.actions button.vq-cart-update{
  position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important;
  overflow:hidden; clip:rect(0 0 0 0); border:0 !important; white-space:nowrap;
}

/* ---------- summary card ---------- */
.vq-cartpg .cart-collaterals .cart_totals{
  float:none !important; width:auto !important; background:#fff; border-radius:28px; padding:clamp(22px,3vw,32px);
  box-shadow:0 10px 30px rgba(31,59,45,.06);
}
.vq-cartpg .cart_totals h2.vq-sum-t{ margin:0 0 10px; font-family:'Playfair Display',serif; font-weight:400; font-size:24px; color:#1F3B2D; }
.vq-cartpg .cart_totals table.shop_table{ width:100%; margin:0; border:0 !important; border-collapse:collapse; border-radius:0; }
.vq-cartpg .cart_totals table.shop_table tr{ display:table-row !important; }
.vq-cartpg .cart_totals table.shop_table th,
.vq-cartpg .cart_totals table.shop_table td{
  display:table-cell !important; padding:13px 0 !important; border:0 !important; border-bottom:1px solid #EEE6D7 !important;
  background:transparent !important; font-size:15px; vertical-align:top;
}
.vq-cartpg .cart_totals table.shop_table th{ text-align:left; font-weight:400; color:#4E5348; width:auto; }
.vq-cartpg .cart_totals table.shop_table td{ text-align:right !important; font-weight:500; color:#1F3B2D; }
.vq-cartpg .cart_totals table.shop_table td::before{ display:none !important; content:none !important; }
.vq-cartpg .cart_totals tr.order-total th,
.vq-cartpg .cart_totals tr.order-total td{ border-bottom:0 !important; padding-top:16px !important; font-size:20px; color:#1F3B2D; }
.vq-cartpg .cart_totals tr.order-total th{ font-family:'Playfair Display',serif; }
.vq-cartpg .cart_totals tr.order-total td strong{ font-weight:600; }
.vq-cartpg .cart_totals tr.order-total small.includes_tax{ display:block; font-size:12px; font-weight:400; color:#6B7066; }
.vq-cartpg .cart_totals .cart-discount td{ color:#2E5240; }
.vq-cartpg .cart_totals a.woocommerce-remove-coupon{ font-size:13px; color:#8A6A1F; }
.vq-cartpg .cart_totals ul#shipping_method{ list-style:none; margin:0; padding:0; text-align:right; }
.vq-cartpg .cart_totals .woocommerce-shipping-destination,
.vq-cartpg .cart_totals .shipping-calculator-button{ font-size:13px; color:#6B7066; }
.vq-cartpg .vq-sum-note{ margin:10px 0 18px; font-size:13px; color:#6B7066; }

.vq-cartpg .wc-proceed-to-checkout{ padding:0 !important; margin:0; }
.vq-cartpg .wc-proceed-to-checkout a.checkout-button,
.vq-cartpg .wc-proceed-to-checkout a.checkout-button:hover{
  display:flex !important; align-items:center; justify-content:center; gap:10px; width:100%; height:56px; padding:0 24px !important; margin:0 0 12px !important;
  border:0 !important; border-radius:999px !important; background:#1F3B2D !important; color:#FCF6EE !important;
  font-family:'Jost',sans-serif; font-size:16px !important; font-weight:500; text-decoration:none; box-shadow:none; transition:background .2s ease;
}
.vq-cartpg .wc-proceed-to-checkout a.checkout-button:hover{ background:#163024 !important; }
.vq-cartpg .wc-proceed-to-checkout a.checkout-button::before{
  content:""; width:18px; height:18px; flex:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6D67E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") no-repeat center / contain;
}
.vq-sum-trust{ list-style:none; margin:18px 0 0; padding:16px 0 0; border-top:1px solid #EEE6D7; display:flex; flex-direction:column; gap:9px; }
.vq-sum-trust li{ display:flex; align-items:center; gap:10px; margin:0; font-size:13px; color:#4E5348; }
.vq-sum-trust li svg{ flex:none; color:#8A6A1F; }
.vq-sum-pay{ display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.vq-sum-pay span{ font-size:11px; font-weight:600; color:#1F3B2D; background:#F3EEE3; border-radius:6px; padding:4px 10px; }

/* ---------- suggestions + empty state ---------- */
.vq-cartpg .vq-cart-suggest{ margin-top:56px; }
.vq-cartpg .vq-sec-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px 24px; margin-bottom:26px; }
.vq-cartpg .vq-sec-k{ font-size:12px; letter-spacing:.2em; font-weight:600; color:#8A6A1F; margin-bottom:10px; }
.vq-cartpg .vq-sec-h{ margin:0; font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(28px,3vw,40px); line-height:1.1; color:#1F3B2D; }
.vq-cartpg .vq-sec-h .i{ font-style:italic; }
.vq-cartpg a.vq-sec-link{ display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:500; color:#1F3B2D !important; text-decoration:none; border-bottom:1px solid #1F3B2D; padding-bottom:3px; }
.vq-cartpg .vq-cart-empty-page{
  background:#fff; border-radius:28px; padding:clamp(36px,6vw,64px) 24px; text-align:center; box-shadow:0 10px 30px rgba(31,59,45,.06);
  display:flex; flex-direction:column; align-items:center;
}
.vq-cart-empty-page .ic{ width:84px; height:84px; border-radius:50%; background:#F3EEE3; color:#8A6A1F; display:flex; align-items:center; justify-content:center; margin-bottom:20px; box-shadow:inset 0 0 0 1px #EADFC9; }
.vq-cartpg .vq-cart-empty-page h2{ margin:0 0 8px; font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(28px,3vw,36px); color:#1F3B2D; }
.vq-cart-empty-page h2 .i{ font-style:italic; }
.vq-cart-empty-page p{ margin:0 0 24px; font-size:16px; color:#5B5F55; }
.vq-cartpg a.vq-cart-btn,
.vq-cartpg a.vq-cart-btn:hover{ display:inline-flex; align-items:center; height:52px; padding:0 30px; border-radius:999px; background:#1F3B2D; color:#FCF6EE !important; font-weight:500; font-size:15px; text-decoration:none !important; transition:background .2s ease; }
.vq-cartpg a.vq-cart-btn:hover{ background:#163024; }

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .vq-cartpg > .woocommerce{ grid-template-columns:minmax(0,1fr); }
  .vq-cartpg > .woocommerce > form.woocommerce-cart-form,
  .vq-cartpg > .woocommerce > .cart-collaterals{ grid-column:1; position:static; }
}
@media (max-width:767px){
  .vq-cartpg{ padding:22px 16px 56px; }
  .vq-cart-hero-row{ flex-direction:column; align-items:flex-start; }
  .vq-steps{ gap:6px; }
  .vq-steps li{ font-size:13px; }
  .vq-steps li + li::before{ width:14px; }
  .vq-cartpg table.shop_table.cart tr.cart_item{
    grid-template-columns:76px minmax(0,1fr) auto 38px; gap:10px 14px;
    grid-template-areas:"img name name rm" "img qty sub sub";
  }
  .vq-cartpg td.product-thumbnail{ grid-area:img; width:76px; height:76px; border-radius:14px; align-self:start; }
  .vq-cartpg td.product-name{ grid-area:name; }
  .vq-cartpg td.product-quantity{ grid-area:qty; }
  .vq-cartpg td.product-subtotal{ grid-area:sub; align-self:center; }
  .vq-cartpg td.product-remove{ grid-area:rm; align-self:start; }
  .vq-ci-name{ font-size:16px; }
  .vq-cartpg td.actions .coupon{ max-width:none; flex-basis:100%; }
}
/* already on the cart: no "Voir le panier" link inside the added-to-cart notices */
.vq-cartpg .woocommerce-message a.wc-forward{ display:none !important; }

/* cart on phones: undo WooCommerce small-screen rules (hidden thumbnail, right-aligned cells) */
@media (max-width:767px){
  .woocommerce-page .vq-cartpg table.shop_table.cart td.product-thumbnail,
  .vq-cartpg table.shop_table_responsive.cart tr td.product-thumbnail{ display:block !important; }
  .vq-cartpg table.shop_table_responsive.cart tr td{ text-align:left !important; }
  .vq-cartpg table.shop_table_responsive.cart tr td.product-subtotal,
  .vq-cartpg table.shop_table_responsive.cart tr td.product-remove{ text-align:right !important; }
  .vq-cartpg table.shop_table_responsive.cart tr.cart_item{ display:grid !important; }
  /* steps: numbers only, label on the current step */
  .vq-steps li:not(.on){ font-size:0; gap:0; }
  .vq-steps li:not(.on) span{ font-size:12px; }
  .vq-steps li + li::before{ width:16px; margin-right:6px; }
}

/* cart: sticky summary must stay inside the cart row (it slid over the suggestions).
   The column stretches to the row height; the card is sticky inside that column only. */
.vq-cartpg > .woocommerce > .cart-collaterals{ position:static !important; top:auto; align-self:stretch; }
.vq-cartpg .cart-collaterals .cart_totals{ position:sticky; top:110px; }
@media (max-width:1024px){
  .vq-cartpg .cart-collaterals .cart_totals{ position:static; }
}

/* ============================================================
   CHECKOUT — /checkout/ (inc/checkout.php + woocommerce/checkout/*)
   ============================================================ */
body.woocommerce-checkout main.site-main{ max-width:none !important; width:100% !important; margin:0 !important; padding-left:0 !important; padding-right:0 !important; }
.vq-steps li.done{ color:#2E5240; }
.vq-steps li.done span{ background:#E3ECE5; border-color:#C9DACD; color:#2E5240; }

.vq-co{ max-width:1320px; margin:0 auto; padding:32px 24px 96px; box-sizing:border-box; font-family:'Jost',sans-serif; color:#22261F; }
.vq-co *{ box-sizing:border-box; }
.vq-co > .woocommerce > .woocommerce-notices-wrapper:empty{ display:none; }

/* notices (also checkout validation errors) */
.vq-co .woocommerce-message,
.vq-co .woocommerce-info,
.vq-co .woocommerce-error{
  position:relative; list-style:none; margin:0 0 16px; padding:16px 20px 16px 50px; border:0; border-left:3px solid #1F3B2D;
  border-radius:14px; background:#FAF6EE; color:#1F3B2D; font-size:15px;
}
.vq-co .woocommerce-message::before,
.vq-co .woocommerce-info::before{ color:#1F3B2D; left:18px; top:17px; }
.vq-co .woocommerce-error{ border-left-color:#B5543C; background:#FBF1EE; color:#8F3F2C; }
.vq-co .woocommerce-error::before{ color:#B5543C; left:18px; top:17px; }
.vq-co .woocommerce-error li{ margin:0 0 4px; }
.vq-co .woocommerce-error li:last-child{ margin:0; }
.vq-co .woocommerce-message a.button,
.vq-co .woocommerce-message a.wc-forward{ display:none !important; }
.vq-co .woocommerce-info a,
.vq-co .woocommerce-error a{ color:#8A6A1F; font-weight:600; }

/* coupon toggle + form */
.vq-co .woocommerce-form-coupon-toggle .woocommerce-info{ background:#fff; box-shadow:0 10px 30px rgba(31,59,45,.06); border-left-color:#B8923A; }
.vq-co .woocommerce-form-coupon-toggle .woocommerce-info::before{ color:#B8923A; }
.vq-co form.checkout_coupon{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:-6px 0 16px !important; padding:18px 20px !important;
  border:0 !important; border-radius:18px !important; background:#fff; box-shadow:0 10px 30px rgba(31,59,45,.06);
}
.vq-co form.checkout_coupon > p:first-child{ flex-basis:100%; margin:0 0 4px; font-size:14px; color:#5B5F55; }
.vq-co form.checkout_coupon .form-row{ float:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
.vq-co form.checkout_coupon .form-row-first{ flex:1 1 220px; }
.vq-co form.checkout_coupon .clear{ display:none; }
.vq-co form.checkout_coupon button.button,
.vq-co form.checkout_coupon button.button:hover{
  height:48px; padding:0 24px !important; border:1.5px solid #1F3B2D !important; border-radius:999px !important;
  background:transparent !important; color:#1F3B2D !important; font-weight:500; font-size:15px; cursor:pointer;
}
.vq-co form.checkout_coupon button.button:hover{ background:#1F3B2D !important; color:#FCF6EE !important; }

/* grid */
.vq-co-grid{ display:grid; grid-template-columns:minmax(0,1fr) 430px; gap:28px; align-items:start; }
.vq-co-main{ min-width:0; display:flex; flex-direction:column; gap:16px; }
.vq-co-side{ align-self:stretch; min-width:0; }
.vq-co-sum{ position:sticky; top:110px; background:#fff; border-radius:28px; padding:clamp(22px,3vw,32px); box-shadow:0 10px 30px rgba(31,59,45,.06); }
.vq-co #customer_details{ display:flex; flex-direction:column; gap:16px; margin:0; }
.vq-co #customer_details::before,
.vq-co #customer_details::after{ content:none !important; display:none !important; }
.vq-co #customer_details .col-1,
.vq-co #customer_details .col-2{ float:none !important; width:auto !important; max-width:none !important; }
.vq-co-card{ background:#fff; border-radius:28px; padding:clamp(22px,3vw,34px); box-shadow:0 10px 30px rgba(31,59,45,.06); }
.vq-co-card:empty{ display:none; }
.vq-co .vq-co-card h3{ margin:0 0 18px; font-family:'Playfair Display',serif; font-weight:400; font-size:24px; color:#1F3B2D; }

/* express checkout (PayPal plugin) */
.vq-co .wc-ppcp-express-checkout{ background:#fff; border-radius:28px; padding:22px clamp(22px,3vw,34px) 18px; box-shadow:0 10px 30px rgba(31,59,45,.06); margin:0; }
.vq-co .wc-ppcp-express-checkout fieldset{ margin:0; padding:0; border:0 !important; min-width:0; }
.vq-co .wc-ppcp-express-checkout legend.express-title{
  display:block; width:100%; float:none; margin:0 0 14px; padding:0; text-align:left;
  font-family:'Playfair Display',serif; font-size:20px; font-weight:400; color:#1F3B2D;
}
.vq-co .wc-ppcp-express-checkout .wc_ppcp_express_checkout_gateways{ margin:0; }
.vq-co .wc-ppcp-express-checkout .express-divider{
  display:flex; align-items:center; gap:14px; margin:18px 0 0; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#8A8F86;
}
.vq-co .wc-ppcp-express-checkout .express-divider::before,
.vq-co .wc-ppcp-express-checkout .express-divider::after{ content:""; flex:1; height:1px; background:#EEE6D7; }

/* fields */
.vq-co label{ display:block; margin:0 0 7px; font-size:13px; font-weight:500; color:#4E5348; line-height:1.3; }
.vq-co .required,
.woocommerce .vq-co form .form-row .required{ color:#B8923A !important; text-decoration:none; border:0; }
.vq-co .optional{ color:#8A8F86; font-weight:400; }
.vq-co .form-row{ margin:0 0 16px !important; padding:0 !important; float:none !important; width:auto !important; }
.vq-co .woocommerce-billing-fields__field-wrapper,
.vq-co .woocommerce-shipping-fields__field-wrapper{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.vq-co .woocommerce-billing-fields__field-wrapper > .form-row,
.vq-co .woocommerce-shipping-fields__field-wrapper > .form-row{ grid-column:1 / -1; }
.vq-co .woocommerce-billing-fields__field-wrapper > .form-row-first,
.vq-co .woocommerce-shipping-fields__field-wrapper > .form-row-first,
.vq-co #billing_city_field,
.vq-co #billing_postcode_field,
.vq-co #shipping_city_field,
.vq-co #shipping_postcode_field{ grid-column:1; }
.vq-co .woocommerce-billing-fields__field-wrapper > .form-row-last,
.vq-co .woocommerce-shipping-fields__field-wrapper > .form-row-last,
.vq-co #billing_state_field,
.vq-co #billing_phone_field,
.vq-co #shipping_state_field{ grid-column:2; }
.vq-co input.input-text,
.vq-co input[type="text"],
.vq-co input[type="email"],
.vq-co input[type="tel"],
.vq-co input[type="password"],
.vq-co select:not(.select2-hidden-accessible),
.vq-co textarea{
  width:100% !important; height:50px !important; min-height:50px; margin:0; padding:0 16px !important;
  border:1.5px solid #D8CDB8 !important; border-radius:14px !important; background:#fff !important; color:#1F3B2D !important;
  font-family:'Jost',sans-serif; font-size:15px; line-height:normal !important; box-shadow:none !important; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.vq-co textarea{ height:auto !important; min-height:96px; padding:12px 16px !important; resize:vertical; }
.vq-co input:focus,
.vq-co select:focus,
.vq-co textarea:focus{ border-color:#1F3B2D !important; box-shadow:0 0 0 3px rgba(31,59,45,.08) !important; }
.vq-co .form-row.woocommerce-invalid input.input-text,
.vq-co .form-row.woocommerce-invalid .select2-selection{ border-color:#B5543C !important; }
.vq-co .form-row.woocommerce-validated input.input-text{ border-color:#C9DACD !important; }
.vq-co .checkout-inline-error-message{ margin:6px 0 0; font-size:12px; color:#B5543C; }
.vq-co input[type="checkbox"],
.vq-co input[type="radio"]{ accent-color:#1F3B2D; }
.vq-co select.select2-hidden-accessible{ height:1px !important; min-height:0 !important; padding:0 !important; border:0 !important; }
.vq-co .select2-container{ width:100% !important; }
.vq-co .select2-container--default .select2-selection--single{ display:flex; align-items:center; height:50px; border:1.5px solid #D8CDB8; border-radius:14px; background:#fff; }
.vq-co .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:1.3 !important; padding:0 36px 0 16px; color:#1F3B2D; }
.vq-co .select2-container--default .select2-selection--single .select2-selection__arrow{ top:50%; transform:translateY(-50%); height:24px; right:10px; }
body.woocommerce-checkout .select2-dropdown{ border:1.5px solid #D8CDB8; border-radius:14px; overflow:hidden; }
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected]{ background:#1F3B2D; }
.vq-co #ship-to-different-address{ font-family:'Jost',sans-serif; font-size:16px; }
.vq-co #ship-to-different-address label{ display:inline-flex; align-items:center; gap:10px; font-size:15px; color:#1F3B2D; }
.vq-co .woocommerce-additional-fields > h3{ margin:0 0 14px; }
.vq-co .woocommerce-additional-fields .form-row:last-child{ margin-bottom:0 !important; }

/* order summary */
.vq-co-sum-head{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:8px; }
.vq-co .vq-co-sum-head h3{ margin:0; font-family:'Playfair Display',serif; font-weight:400; font-size:24px; color:#1F3B2D; }
.vq-co .vq-co-sum-head a{ font-size:14px; font-weight:500; color:#8A6A1F; text-decoration:underline; }
.vq-co #order_review_heading{ float:none; width:auto; padding:0; }
.vq-co #order_review{ float:none !important; width:auto !important; }
.vq-co table.woocommerce-checkout-review-order-table{ width:100%; margin:0; border:0 !important; border-radius:0; border-collapse:collapse; }
.vq-co table.woocommerce-checkout-review-order-table th,
.vq-co table.woocommerce-checkout-review-order-table td{
  padding:12px 0 !important; border:0 !important; border-bottom:1px solid #EEE6D7 !important; background:transparent !important;
  font-size:15px; vertical-align:middle;
}
.vq-co table.woocommerce-checkout-review-order-table tbody td.product-name{ display:flex; align-items:center; gap:14px; }
.vq-co table.woocommerce-checkout-review-order-table td.product-total,
.vq-co table.woocommerce-checkout-review-order-table tfoot td{ text-align:right; font-weight:500; color:#1F3B2D; white-space:nowrap; }
.vq-ro-thumb{ position:relative; flex:none; width:60px; height:60px; border-radius:14px; background:var(--vq-tint,#ECE6D8); }
.vq-ro-thumb img{ width:100% !important; height:100% !important; object-fit:cover; border-radius:14px; display:block; }
.vq-ro-q{ position:absolute; top:-7px; right:-7px; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:#1F3B2D; color:#FCF6EE; font-size:12px; font-weight:600; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px #fff; }
.vq-ro-info{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.vq-ro-name{ font-family:'Playfair Display',serif; font-size:16px; line-height:1.25; color:#1F3B2D; }
.vq-ro-info .product-quantity{ display:none; }
.vq-ro-info dl.variation{ margin:0; font-size:12px; color:#5B5F55; }
.vq-co table.woocommerce-checkout-review-order-table tfoot th{ text-align:left; font-weight:400; color:#4E5348; }
.vq-co table.woocommerce-checkout-review-order-table tr.order-total th,
.vq-co table.woocommerce-checkout-review-order-table tr.order-total td{ border-bottom:0 !important; padding-top:16px !important; font-size:20px; color:#1F3B2D; }
.vq-co table.woocommerce-checkout-review-order-table tr.order-total th{ font-family:'Playfair Display',serif; }
.vq-co table.woocommerce-checkout-review-order-table tr.order-total td strong{ font-weight:600; }
.vq-co table.woocommerce-checkout-review-order-table .cart-discount td{ color:#2E5240; }

/* payment */
.vq-co #payment{ margin:14px 0 0; padding:0; background:transparent !important; border-radius:0; }
.vq-co #payment ul.payment_methods{ margin:0 0 14px !important; padding:0 !important; border:0 !important; list-style:none; }
.vq-co #payment ul.payment_methods::before,
.vq-co #payment ul.payment_methods::after{ content:none !important; }
.vq-co #payment ul.payment_methods li{ margin:0 0 10px; padding:14px 16px; border:1.5px solid #E0D5C1; border-radius:16px; background:#FFFDF9; line-height:1.4; }
.vq-co #payment ul.payment_methods li:last-child{ margin-bottom:0; }
.vq-co #payment ul.payment_methods li > label{ display:inline-flex; align-items:center; gap:10px; margin:0; font-size:15px; font-weight:600; color:#1F3B2D; cursor:pointer; }
.vq-co #payment ul.payment_methods li img{ max-height:22px; width:auto; margin:0; vertical-align:middle; float:none; }
.vq-co #payment div.payment_box{ margin:12px 0 0 !important; padding:14px 16px !important; border-radius:12px; background:#FAF6EE !important; color:#4E5348; font-size:13px; }
.vq-co #payment div.payment_box::before{ display:none !important; }
.vq-co #payment div.payment_box p:last-child{ margin-bottom:0; }
.vq-co .wc-ppcp-popup__container{ display:flex; align-items:center; gap:14px; text-align:left; }
.vq-co .wc-ppcp-popup__container img{ width:56px; height:auto; flex:none; opacity:.8; }
.vq-co .wc-ppcp-popup__container p{ margin:0; }
.vq-co #payment .form-row.place-order{ margin:0 !important; padding:0 !important; }
.vq-co .woocommerce-terms-and-conditions-wrapper{ margin:0 0 12px; font-size:13px; color:#5B5F55; }
.vq-co .woocommerce-privacy-policy-text:empty{ display:none; }
.vq-co #payment #place_order,
.vq-co #payment #place_order:hover{
  float:none !important; display:flex !important; align-items:center; justify-content:center; gap:10px; width:100%; height:56px;
  padding:0 24px !important; margin:0 !important; border:0 !important; border-radius:999px !important;
  background:#1F3B2D !important; color:#FCF6EE !important; font-family:'Jost',sans-serif; font-size:16px !important; font-weight:500;
  box-shadow:none; cursor:pointer; transition:background .2s ease;
}
.vq-co #payment #place_order:hover{ background:#163024 !important; }
.vq-co #payment #place_order::before{
  content:""; width:18px; height:18px; flex:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6D67E' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") no-repeat center / contain;
}
.vq-co .wc-ppcp-checkout-container{ margin-top:10px; }
.vq-co .blockUI.blockOverlay{ border-radius:28px; }

/* order received (confirmation) */
.vq-co.is-received .woocommerce-order{ max-width:880px; margin:0 auto; background:#fff; border-radius:28px; padding:clamp(24px,4vw,48px); box-shadow:0 10px 30px rgba(31,59,45,.06); }
.vq-co.is-received .woocommerce-notice--success,
.vq-co.is-received .woocommerce-thankyou-order-received{
  margin:0 0 24px; padding:16px 20px; border-radius:16px; background:#E3ECE5; color:#1F3B2D; font-size:17px; font-weight:500;
}
.vq-co.is-received ul.order_details{ list-style:none; margin:0 0 28px; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.vq-co.is-received ul.order_details::before,
.vq-co.is-received ul.order_details::after{ content:none; }
.vq-co.is-received ul.order_details li{ float:none; margin:0; padding:14px 16px; border:1px solid #EEE6D7 !important; border-radius:16px; background:#FFFDF9; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:#8A6A1F; }
.vq-co.is-received ul.order_details li strong{ display:block; margin-top:4px; font-size:16px; letter-spacing:0; text-transform:none; color:#1F3B2D; }
.vq-co.is-received h2{ font-family:'Playfair Display',serif; font-weight:400; font-size:24px; color:#1F3B2D; margin:28px 0 12px; }
.vq-co.is-received table.shop_table{ width:100%; border:0 !important; border-collapse:collapse; }
.vq-co.is-received table.shop_table th,
.vq-co.is-received table.shop_table td{ padding:12px 0 !important; border:0 !important; border-bottom:1px solid #EEE6D7 !important; background:transparent !important; text-align:left; }
.vq-co.is-received table.shop_table td:last-child,
.vq-co.is-received table.shop_table tfoot td{ text-align:right; }
.vq-co.is-received address{ border:1px solid #EEE6D7 !important; border-radius:18px; padding:18px 20px !important; font-style:normal; line-height:1.7; }

/* responsive */
@media (max-width:1024px){
  .vq-co-grid{ grid-template-columns:minmax(0,1fr); }
  .vq-co-sum{ position:static; }
}
@media (max-width:767px){
  .vq-co{ padding:22px 16px 56px; }
  .vq-co .woocommerce-billing-fields__field-wrapper,
  .vq-co .woocommerce-shipping-fields__field-wrapper{ grid-template-columns:1fr; }
  .vq-co .woocommerce-billing-fields__field-wrapper > .form-row,
  .vq-co .woocommerce-shipping-fields__field-wrapper > .form-row{ grid-column:1 !important; }
}

/* checkout error list: lines are jump-links to the fields — keep them readable */
.vq-co .woocommerce-error a{ color:#8F3F2C !important; font-weight:400; text-decoration:none; }
.vq-co .woocommerce-error a strong{ font-weight:600; }
.vq-co .woocommerce-error a:hover{ text-decoration:underline; }

/* ============================================================
   CONTACT PAGE (Elementor, page 25) — finishing touches only;
   colours/fonts/sizes live in the Elementor widget settings.
   ============================================================ */
.vq-contact .vq-contact-hero-box a{ color:#5B5F55; text-decoration:none; }
.vq-contact .vq-contact-hero-box a:hover{ color:#1F3B2D; }
.vq-contact-form .elementor-field-group .elementor-field-textual{ min-height:50px; padding:12px 16px; box-shadow:none; transition:border-color .2s ease, box-shadow .2s ease; }
.vq-contact-form .elementor-field-group textarea.elementor-field-textual{ min-height:130px; }
.vq-contact-form .elementor-field-group .elementor-field-textual:focus{ border-color:#1F3B2D !important; box-shadow:0 0 0 3px rgba(31,59,45,.08); outline:none; }
.vq-contact-form .elementor-field-group .elementor-select-wrapper::before{ color:#8A6A1F; right:16px; }
.vq-contact-form .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option{ display:flex; align-items:flex-start; gap:10px; }
.vq-contact-form .elementor-field-type-acceptance input[type="checkbox"]{ width:18px; height:18px; margin:2px 0 0; flex:none; accent-color:#1F3B2D; }
.vq-contact-form .elementor-field-type-acceptance label{ font-size:13px; font-weight:400 !important; color:#5B5F55 !important; line-height:1.5; }
.vq-contact-form .elementor-button{ min-height:54px; }
.vq-contact-form .elementor-message{ margin-top:14px; padding:12px 16px; border-radius:14px; font-size:14px; }
.vq-contact-form .elementor-message.elementor-message-success{ background:#E3ECE5; }
.vq-contact-form .elementor-message.elementor-message-danger{ background:#FBF1EE; }
.vq-contact-form .elementor-message::before{ display:none; }
.vq-contact-list .elementor-icon-list-item a{ align-items:flex-start; }
.vq-contact-list .elementor-icon-list-icon{ padding-top:4px; }
.vq-contact-mapbox .elementor-widget-container{ overflow:hidden; box-shadow:0 10px 30px rgba(31,59,45,.08); }
.vq-contact-mapbox iframe{ display:block; filter:saturate(.85); }

/* ============================================================
   À PROPOS (Elementor, page 27) — finishing touches only;
   text, colours and images are edited in Elementor.
   ============================================================ */
.vq-about .vq-about-hero-box a{ color:#5B5F55; text-decoration:none; }
.vq-about .vq-about-hero-box a:hover{ color:#1F3B2D; }
.vq-about-photo img{ display:block; box-shadow:0 18px 44px rgba(31,59,45,.16); }
.vq-about-stats-box .elementor-counter{ text-align:center; }
.vq-about-stats-box .elementor-counter-title{ margin-top:6px; }
.vq-about-product img{ filter:drop-shadow(0 24px 36px rgba(22,41,31,.22)); animation:vqFloat 6s ease-in-out infinite; }
@media (prefers-reduced-motion:reduce){ .vq-about-product img{ animation:none; } }
.vq-about .elementor-icon-box-wrapper{ text-align:left; }
.vq-about .elementor-button{ transition:background-color .2s ease, transform .2s ease; }
.vq-about .elementor-button:hover{ transform:translateY(-1px); }
.vq-about-cta-box .elementor-widget-button:last-child .elementor-button{ border:1px solid rgba(252,246,238,.35); }
@media (max-width:767px){
  .vq-about .elementor-widget-button{ width:100% !important; margin-right:0 !important; }
  .vq-about .elementor-widget-button .elementor-button{ width:100%; justify-content:center; }
}

/* À propos — clean version (small stats row, cards, CTA buttons) */
.vq-about-mini{ border-top:1px solid #E0D5C1; }
.vq-about-mini .elementor-counter,
.vq-about-mini .elementor-counter-title{ text-align:left; }
.vq-about-mini .elementor-counter .elementor-counter-number-wrapper{ justify-content:flex-start; }
.vq-about-card{ transition:transform .25s ease, box-shadow .25s ease; }
.vq-about-card:hover{ transform:translateY(-3px); }
.vq-about-card > .elementor-widget-wrap{ box-shadow:0 10px 30px rgba(31,59,45,.05); }
.vq-about-cta-box .elementor-widget-wrap{ justify-content:center; }
@media (max-width:767px){
  .vq-about-mini .elementor-counter-number-wrapper{ font-size:26px !important; }
  .vq-about-cta-box .elementor-widget-button{ width:100% !important; margin:0 0 10px !important; }
}

/* À propos — mission card */
.vq-about-quote-by .elementor-heading-title{ display:inline-flex; align-items:center; gap:14px; }
.vq-about-quote-by .elementor-heading-title::before,
.vq-about-quote-by .elementor-heading-title::after{ content:""; width:36px; height:1px; background:#B8923A; opacity:.6; }
.vq-about-quote-box .elementor-heading-title{ text-wrap:balance; }
@media (max-width:600px){
  .vq-about-quote-by .elementor-heading-title{ gap:10px; letter-spacing:1.4px !important; font-size:11px !important; white-space:nowrap; }
  .vq-about-quote-by .elementor-heading-title::before,
  .vq-about-quote-by .elementor-heading-title::after{ width:18px; }
}

/* ============================================================
   BLOG — "VQ Blog" Elementor widget (saloncassiope.com articles)
   ============================================================ */
.vq-blog{ font-family:'Jost',sans-serif; }
.vq-blog a{ text-decoration:none; }
.vq-blog-img{ display:block; background-color:#E9DCC3; background-size:cover; background-position:center; transition:transform .5s ease; }
.vq-blog-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; color:#6B7066; }
.vq-blog-meta .cat{ font-size:11px; letter-spacing:.16em; font-weight:600; color:#8A6A1F; }
.vq-blog-meta .sep{ color:#C9BDA5; }
.vq-blog-t{ display:block; font-family:'Playfair Display',serif; font-weight:400; color:#1F3B2D; line-height:1.25; }
.vq-blog-ex{ display:block; color:#5B5F55; font-size:15px; line-height:1.65; }
.vq-blog-more{ display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:6px; font-size:14px; font-weight:600; color:#8A6A1F; }
.vq-blog-more svg{ transition:transform .2s ease; }

/* featured */
.vq-blog .vq-blog-feat{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); overflow:hidden;
  background:#fff; border-radius:28px; box-shadow:0 10px 30px rgba(31,59,45,.06); margin-bottom:28px; color:inherit;
}
.vq-blog-feat .vq-blog-img{ min-height:400px; height:100%; }
.vq-blog-feat .vq-blog-txt{ display:flex; flex-direction:column; justify-content:center; gap:14px; padding:clamp(28px,4vw,52px); }
.vq-blog-feat .vq-blog-t{ font-size:clamp(26px,2.6vw,36px); line-height:1.2; }
.vq-blog-feat .vq-blog-ex{ font-size:16px; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }

/* grid */
.vq-blog-grid{ display:grid; grid-template-columns:repeat(var(--vq-blog-cols,3),minmax(0,1fr)); gap:24px; }
.vq-blog .vq-blog-card{
  display:flex; flex-direction:column; overflow:hidden; background:#fff; border-radius:24px; color:inherit;
  box-shadow:0 10px 30px rgba(31,59,45,.06); transition:transform .25s ease, box-shadow .25s ease;
}
.vq-blog-card .vq-blog-img{ aspect-ratio:16/10; }
.vq-blog-card .vq-blog-txt{ display:flex; flex-direction:column; gap:10px; flex:1; padding:22px 24px 24px; }
.vq-blog-card .vq-blog-t{ font-size:21px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.vq-blog-card .vq-blog-ex{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

.vq-blog .vq-blog-card:hover,
.vq-blog .vq-blog-feat:hover{ box-shadow:0 18px 44px rgba(31,59,45,.12); }
.vq-blog .vq-blog-card:hover{ transform:translateY(-4px); }
.vq-blog-card:hover .vq-blog-img,
.vq-blog-feat:hover .vq-blog-img{ transform:scale(1.04); }
.vq-blog-card:hover .vq-blog-more svg,
.vq-blog-feat:hover .vq-blog-more svg{ transform:translateX(4px); }
.vq-blog-card .vq-blog-img,
.vq-blog-feat .vq-blog-img{ overflow:hidden; }

.vq-blog-foot{ display:flex; justify-content:center; margin-top:44px; }
.vq-blog .vq-blog-btn,
.vq-blog .vq-blog-btn:hover{
  display:inline-flex; align-items:center; gap:10px; height:52px; padding:0 30px; border-radius:999px;
  background:#1F3B2D; color:#FCF6EE !important; font-size:15px; font-weight:600; transition:background .2s ease;
}
.vq-blog .vq-blog-btn:hover{ background:#163024; }
.vq-blog-empty{ padding:48px 24px; text-align:center; background:#fff; border-radius:24px; color:#5B5F55; }
.vq-blog-empty a{ color:#8A6A1F; font-weight:600; }

@media (max-width:1024px){
  .vq-blog-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vq-blog .vq-blog-feat{ grid-template-columns:1fr; }
  .vq-blog-feat .vq-blog-img{ min-height:0; aspect-ratio:16/9; height:auto; }
}
@media (max-width:640px){
  .vq-blog-grid{ grid-template-columns:1fr; gap:18px; }
  .vq-blog-card .vq-blog-txt{ padding:20px; }
  .vq-blog .vq-blog-feat{ margin-bottom:18px; border-radius:24px; }
}
.vq-blogpage .vq-blog-hero-box a{ color:#5B5F55; text-decoration:none; }
.vq-blogpage .vq-blog-hero-box a:hover{ color:#1F3B2D; }

/* ============================================================
   EXPÉDITION (Elementor, page 5059) — finishing touches only
   ============================================================ */
.vq-shippg .vq-shippg-hero-box a{ color:#5B5F55; text-decoration:none; }
.vq-shippg .vq-shippg-hero-box a:hover{ color:#1F3B2D; }
.vq-shippg-card > .elementor-widget-wrap{ box-shadow:0 10px 30px rgba(31,59,45,.05); }
.vq-shippg-card{ transition:transform .25s ease; }
.vq-shippg-card:hover{ transform:translateY(-3px); }
.vq-shippg-card .elementor-icon-box-wrapper{ text-align:left; }
.vq-shippg-intro a,
.vq-shippg-faq .elementor-tab-content a{ color:#8A6A1F; font-weight:500; text-decoration:underline; }
.vq-shippg-faq .elementor-toggle-item{ border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 8px 24px rgba(31,59,45,.05); }
.vq-shippg-faq .elementor-tab-title{ border:0 !important; cursor:pointer; }
.vq-shippg-faq .elementor-tab-title a{ color:inherit !important; text-decoration:none; }
.vq-shippg-faq .elementor-tab-content{ border:0 !important; }
.vq-shippg-faq .elementor-tab-content p{ margin:0 0 10px; }
.vq-shippg-faq .elementor-tab-content p:last-child{ margin-bottom:0; }
.vq-shippg-faq .elementor-tab-content ul{ margin:0 0 10px; padding-left:20px; }
.vq-shippg-faq .elementor-tab-content li{ margin:0 0 6px; }
.vq-shippg-cta-box .elementor-widget-wrap{ justify-content:center; }
.vq-shippg .elementor-button{ transition:background-color .2s ease, transform .2s ease; }
.vq-shippg .elementor-button:hover{ transform:translateY(-1px); }
.vq-shippg-cta-box .elementor-widget-button:last-child .elementor-button{ border:1px solid rgba(252,246,238,.35); }
@media (max-width:767px){
  .vq-shippg-cta-box .elementor-widget-button{ width:100% !important; margin:0 0 10px !important; }
  .vq-shippg-cta-box .elementor-widget-button .elementor-button{ width:100%; justify-content:center; }
}
@media (max-width:767px){
  .vq-shippg-card .elementor-icon-box-title{ font-size:17px !important; line-height:1.25; }
  .vq-shippg-card .elementor-icon-box-description{ font-size:13px !important; }
}

/* Expédition — light +/− icon (thin lines in a soft circle, drawn in CSS; replaces the bold glyph) */
.vq-shippg-faq .elementor-tab-title{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.vq-shippg-faq .elementor-tab-title .elementor-toggle-title{ order:1; flex:1; }
.vq-shippg-faq .elementor-toggle-icon{
  order:2; float:none !important; position:relative; flex:none; width:32px !important; height:32px; margin:0 !important;
  border:1px solid #E6DCC6; border-radius:50%; display:inline-flex !important; align-items:center; justify-content:center;
  transition:background .2s ease, border-color .2s ease;
}
.vq-shippg-faq .elementor-toggle-icon > span{ display:none !important; }
.vq-shippg-faq .elementor-toggle-icon::before,
.vq-shippg-faq .elementor-toggle-icon::after{
  content:""; position:absolute; top:50%; left:50%; width:11px; height:1.5px; border-radius:2px; background:#B8923A;
  transform:translate(-50%,-50%); transition:transform .25s ease, opacity .25s ease;
}
.vq-shippg-faq .elementor-toggle-icon::after{ transform:translate(-50%,-50%) rotate(90deg); }
.vq-shippg-faq .elementor-tab-title.elementor-active .elementor-toggle-icon::after{ transform:translate(-50%,-50%) rotate(0deg); opacity:0; }
.vq-shippg-faq .elementor-tab-title:hover .elementor-toggle-icon{ border-color:#B8923A; }
.vq-shippg-faq .elementor-tab-title.elementor-active .elementor-toggle-icon{ background:#F6F1E7; border-color:#E0D2B4; }

/* ============================================================
   ÉLIXIR DE BONTÉ landing (Elementor, page 5151) + generic light FAQ (.vq-faq)
   ============================================================ */
html{ scroll-behavior:smooth; }
#elixirs{ scroll-margin-top:110px; }
.vq-elx .vq-elx-hero-box a{ color:#5B5F55; text-decoration:none; }
.vq-elx .vq-elx-hero-box a:hover{ color:#1F3B2D; }
.vq-elx-hero-img img{ filter:drop-shadow(0 26px 38px rgba(22,41,31,.22)); animation:vqFloat 6s ease-in-out infinite; }
@media (prefers-reduced-motion:reduce){ .vq-elx-hero-img img{ animation:none; } }
.vq-elx-card > .elementor-widget-wrap{ box-shadow:0 10px 30px rgba(31,59,45,.05); }
.vq-elx-card{ transition:transform .25s ease; }
.vq-elx-card:hover{ transform:translateY(-3px); }
.vq-elx-card .elementor-icon-box-wrapper{ text-align:left; }
.vq-elx-products .vq-products{ margin:0; padding:64px 48px 56px; }
.vq-elx-products .vq-sec-head{ margin-bottom:32px; }
.vq-elx-faq-intro a,
.vq-faq .elementor-tab-content a{ color:#8A6A1F; font-weight:500; text-decoration:underline; }
.vq-elx .elementor-button{ transition:background-color .2s ease, transform .2s ease; }
.vq-elx .elementor-button:hover{ transform:translateY(-1px); }
.vq-elx-cta-box .elementor-widget-wrap{ justify-content:center; }
@media (max-width:767px){
  .vq-elx-products .vq-products{ padding:44px 16px 40px; }
  .vq-elx-card.vq-elx-card .elementor-icon-box-title{ font-size:17px !important; line-height:1.25; }
  .vq-elx-card .elementor-icon-box-description{ font-size:13px !important; }
  .vq-elx-hero-box .elementor-widget-button,
  .vq-elx-cta-box .elementor-widget-button{ width:100% !important; margin-right:0 !important; }
  .vq-elx-hero-box .elementor-widget-button .elementor-button,
  .vq-elx-cta-box .elementor-widget-button .elementor-button{ width:100%; justify-content:center; }
}

/* generic light FAQ (Elementor Toggle with class "vq-faq") */
.vq-faq .elementor-toggle-item{ border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 8px 24px rgba(31,59,45,.05); }
.vq-faq .elementor-tab-title{ display:flex; align-items:center; justify-content:space-between; gap:16px; border:0 !important; cursor:pointer; }
.vq-faq .elementor-tab-title .elementor-toggle-title{ order:1; flex:1; color:inherit !important; text-decoration:none; }
.vq-faq .elementor-tab-content{ border:0 !important; }
.vq-faq .elementor-tab-content p{ margin:0 0 10px; }
.vq-faq .elementor-tab-content p:last-child{ margin-bottom:0; }
.vq-faq .elementor-toggle-icon{
  order:2; float:none !important; position:relative; flex:none; width:32px !important; height:32px; margin:0 !important;
  border:1px solid #E6DCC6; border-radius:50%; display:inline-flex !important; align-items:center; justify-content:center;
  transition:background .2s ease, border-color .2s ease;
}
.vq-faq .elementor-toggle-icon > span{ display:none !important; }
.vq-faq .elementor-toggle-icon::before,
.vq-faq .elementor-toggle-icon::after{
  content:""; position:absolute; top:50%; left:50%; width:11px; height:1.5px; border-radius:2px; background:#B8923A;
  transform:translate(-50%,-50%); transition:transform .25s ease, opacity .25s ease;
}
.vq-faq .elementor-toggle-icon::after{ transform:translate(-50%,-50%) rotate(90deg); }
.vq-faq .elementor-tab-title.elementor-active .elementor-toggle-icon::after{ transform:translate(-50%,-50%) rotate(0deg); opacity:0; }
.vq-faq .elementor-tab-title:hover .elementor-toggle-icon{ border-color:#B8923A; }
.vq-faq .elementor-tab-title.elementor-active .elementor-toggle-icon{ background:#F6F1E7; border-color:#E0D2B4; }

/* ============================================================
   PRODUCT CAROUSEL — VQ Products widget, layout "Carrousel"
   ============================================================ */
.vq-products.is-slider .vq-sec-head{ align-items:flex-end; }
.vq-pslider-nav{ display:flex; gap:10px; }
.vq-home .vq-pslider-nav .vq-pslider-btn,
.vq-home .vq-pslider-nav .vq-pslider-btn:focus{
  width:48px; height:48px; padding:0 !important; border:1px solid #D8CDB8 !important; border-radius:50% !important;
  background:#fff !important; color:#1F3B2D !important; display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:none; transition:background .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}
.vq-home .vq-pslider-nav .vq-pslider-btn:hover:not(:disabled){ background:#1F3B2D !important; color:#FCF6EE !important; border-color:#1F3B2D !important; }
.vq-home .vq-pslider-nav .vq-pslider-btn:disabled{ opacity:.35; cursor:default; }
.vq-home .vq-pslider-nav .vq-pslider-btn:focus-visible{ outline:2px solid #B8923A; outline-offset:2px; }
.vq-pslider{ position:relative; }
.vq-pslider-track{
  --vq-gap:24px;
  display:grid; grid-auto-flow:column;
  grid-auto-columns:calc((100% - (var(--vq-cols,4) - 1) * var(--vq-gap)) / var(--vq-cols,4));
  gap:28px var(--vq-gap);
  overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none;
  /* room for the card shadow + hover lift inside the scroll area */
  padding:10px 2px 34px; margin:-10px -2px -34px;
}
.vq-pslider-track::-webkit-scrollbar{ display:none; }
.vq-pslider-track:focus-visible{ outline:2px solid #B8923A; outline-offset:4px; border-radius:12px; }
.vq-pslider-track > .vq-pcard{ scroll-snap-align:start; min-width:0; }
.vq-products.is-slider .vq-center{ margin-top:40px; }
.vq-products.is-slider:has(.vq-pslider.is-static) .vq-pslider-nav{ display:none; }
@media (max-width:1024px){
  .vq-pslider-track{ grid-auto-columns:calc((100% - 2 * var(--vq-gap)) / 2.4); }
}
@media (max-width:767px){
  .vq-pslider-track{ --vq-gap:14px; grid-auto-columns:72%; }
  .vq-pslider-nav{ display:none; }
}

/* Élixir hero — same deep-green mesh as the home hero (base green is set in Elementor) */
.vq-elx .vq-elx-hero-box{
  background-color:#1F3B2D !important;
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,0.055) 0 1.5px, rgba(16,40,30,0.06) 1.5px 15px),
    radial-gradient(68% 78% at 100% 42%, rgba(246,214,126,0.90) 0%, rgba(246,214,126,0) 55%),
    radial-gradient(50% 52% at 86% 2%,   rgba(252,246,238,0.72) 0%, rgba(252,246,238,0) 60%),
    radial-gradient(62% 68% at 56% 110%, rgba(140,168,120,0.30) 0%, rgba(140,168,120,0) 60%),
    linear-gradient(105deg, #133826 0%, #1F3B2D 46%, #2E5440 76%, #5C7C4B 100%) !important;
  background-repeat:no-repeat !important; background-size:auto !important; overflow:hidden;
}
.vq-elx .vq-elx-hero-box a{ color:#C9D3C5; }
.vq-elx .vq-elx-hero-box a:hover{ color:#FCF6EE; }
@media (max-width:1024px){
  .vq-elx .vq-elx-hero-box{
    background-image:
      repeating-linear-gradient(90deg, rgba(255,255,255,0.055) 0 1.5px, rgba(16,40,30,0.06) 1.5px 15px),
      radial-gradient(90% 46% at 70% 100%, rgba(246,214,126,0.85) 0%, rgba(246,214,126,0) 60%),
      linear-gradient(160deg, #133826 0%, #1F3B2D 50%, #2E5440 80%, #5C7C4B 100%) !important;
  }
}

/* ============================================================
   FAQ (Elementor, page 29) — light toggles use the shared .vq-faq styles
   ============================================================ */
.vq-faqpg .vq-faqpg-hero-box a{ color:#5B5F55; text-decoration:none; }
.vq-faqpg .vq-faqpg-hero-box a:hover{ color:#1F3B2D; }
.vq-faqpg-cat{ scroll-margin-top:110px; }
.vq-faqpg .vq-faq .elementor-tab-content a{ color:#8A6A1F; font-weight:500; text-decoration:underline; }
.vq-faqpg .elementor-button{ transition:background-color .2s ease, transform .2s ease; }
.vq-faqpg .elementor-button:hover{ transform:translateY(-1px); }
.vq-faqpg-cta-box .elementor-widget-wrap{ justify-content:center; }
@media (min-width:1025px){
  .vq-faqpg-cat > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap{ position:sticky; top:120px; align-self:flex-start; }
}
@media (max-width:767px){
  .vq-faqpg-cta-box .elementor-widget-button{ width:100% !important; margin:0 0 10px !important; }
  .vq-faqpg-cta-box .elementor-widget-button .elementor-button{ width:100%; justify-content:center; }
}
/* light FAQ rows: comfortable line-height when a question wraps */
.vq-faq .elementor-tab-title .elementor-toggle-title{ line-height:1.35; }
@media (max-width:767px){
  .vq-faq .elementor-tab-title{ padding:18px 18px 18px 20px !important; }
  .vq-faq .elementor-tab-title .elementor-toggle-title{ font-size:17px !important; }
  .vq-faq .elementor-tab-content{ padding:0 20px 20px !important; font-size:15px !important; }
}

/* ============================================================
   SUIVI DE COMMANDE (Elementor, page 41)
   ============================================================ */
.vq-ot .vq-ot-hero-box a{ color:#5B5F55; text-decoration:none; }
.vq-ot .vq-ot-hero-box a:hover{ color:#1F3B2D; }
.vq-ot-form .vq-track-intro{ margin:0 0 22px; font-size:15px; line-height:1.6; color:#5B5F55; }
.vq-ot-form form.track_order{ margin:0; padding:0; border:0; display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.vq-ot-form form.track_order > *{ grid-column:1 / -1; }
.vq-ot-form form.track_order > .form-row-first{ grid-column:1; }
.vq-ot-form form.track_order > .form-row-last{ grid-column:2; }
.vq-ot-form form.track_order > .clear{ display:none; }
.vq-ot-form .form-row{ margin:0 0 16px !important; padding:0 !important; float:none !important; width:auto !important; }
.vq-ot-form label{ display:block; margin:0 0 7px; font-size:13px; font-weight:500; color:#4E5348; }
.vq-ot-form input.input-text{
  width:100% !important; height:50px; padding:0 16px !important; border:1.5px solid #D8CDB8 !important; border-radius:14px !important;
  background:#fff !important; color:#1F3B2D; font-family:'Jost',sans-serif; font-size:15px; box-shadow:none !important; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.vq-ot-form input.input-text:focus{ border-color:#1F3B2D !important; box-shadow:0 0 0 3px rgba(31,59,45,.08) !important; }
.vq-ot-form button.vq-track-btn,
.vq-ot-form button.vq-track-btn:hover{
  width:100%; height:54px; margin:4px 0 0; padding:0 24px !important; border:0 !important; border-radius:999px !important;
  background:#1F3B2D !important; color:#FCF6EE !important; font-family:'Jost',sans-serif; font-size:16px; font-weight:500; cursor:pointer;
  transition:background .2s ease;
}
.vq-ot-form button.vq-track-btn:hover{ background:#163024 !important; }
/* notices + result */
.vq-ot-form .woocommerce-error,
.vq-ot-form .woocommerce-info,
.vq-ot-form .woocommerce-message{
  list-style:none; margin:0 0 18px; padding:14px 18px 14px 46px; border:0; border-left:3px solid #B5543C; border-radius:14px;
  background:#FBF1EE; color:#8F3F2C; font-size:14px; position:relative;
}
.vq-ot-form .woocommerce-error::before{ left:16px; top:15px; color:#B5543C; }
.vq-ot-form .woocommerce-error li{ margin:0; }
.vq-ot-form .woocommerce-order-details,
.vq-ot-form .woocommerce-customer-details{ margin-top:22px; }
.vq-ot-form h2,
.vq-ot-form h2.woocommerce-order-details__title{ font-family:'Playfair Display',serif; font-weight:400; font-size:22px; color:#1F3B2D; margin:22px 0 10px; }
.vq-ot-form p.order-info{ font-size:15px; color:#3F443B; }
.vq-ot-form mark{ background:none; padding:0; font-weight:600; color:#1F3B2D; }
.vq-ot-form mark.order-status{ background:#E3ECE5; color:#2E5240; padding:2px 10px; border-radius:999px; }
.vq-ot-form table.shop_table{ width:100%; border:0 !important; border-collapse:collapse; }
.vq-ot-form table.shop_table th,
.vq-ot-form table.shop_table td{ padding:11px 0 !important; border:0 !important; border-bottom:1px solid #EEE6D7 !important; background:transparent !important; text-align:left; font-size:15px; }
.vq-ot-form table.shop_table td:last-child,
.vq-ot-form table.shop_table tfoot td{ text-align:right; }
.vq-ot-form address{ border:1px solid #EEE6D7 !important; border-radius:16px; padding:16px 18px !important; font-style:normal; line-height:1.7; }
.vq-ot-tips .elementor-icon-list-item a{ align-items:flex-start; }
.vq-ot-tips .elementor-icon-list-icon{ padding-top:4px; }
.vq-ot-tips a .elementor-icon-list-text{ text-decoration:underline; text-decoration-color:rgba(246,214,126,.5); text-underline-offset:3px; }
@media (max-width:767px){
  .vq-ot-form form.track_order{ grid-template-columns:1fr; }
  .vq-ot-form form.track_order > .form-row-first,
  .vq-ot-form form.track_order > .form-row-last{ grid-column:1; }
}
.vq-ot-form input.input-text{ height:50px !important; min-height:50px; line-height:normal !important; }

/* ============================================================
   POLITIQUE DE RETOUR (Elementor, page 5054) — toggles use shared .vq-faq
   ============================================================ */
.vq-retpg .vq-retpg-hero-box a{ color:#5B5F55; text-decoration:none; }
.vq-retpg .vq-retpg-hero-box a:hover{ color:#1F3B2D; }
.vq-retpg-card > .elementor-widget-wrap{ box-shadow:0 10px 30px rgba(31,59,45,.05); }
.vq-retpg-card{ transition:transform .25s ease; }
.vq-retpg-card:hover{ transform:translateY(-3px); }
.vq-retpg-card .elementor-icon-box-wrapper{ text-align:left; }
.vq-retpg-step a,
.vq-retpg-intro a,
.vq-retpg .vq-faq .elementor-tab-content a{ color:#8A6A1F; font-weight:500; text-decoration:underline; word-break:break-word; }
.vq-retpg-addr{ padding:18px 20px; border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(31,59,45,.05); }
.vq-retpg .vq-faq .elementor-tab-content ul{ margin:0 0 10px; padding-left:20px; }
.vq-retpg .vq-faq .elementor-tab-content li{ margin:0 0 6px; }
.vq-retpg-cta-box .elementor-widget-wrap{ justify-content:center; }
.vq-retpg .elementor-button{ transition:background-color .2s ease, transform .2s ease; }
.vq-retpg .elementor-button:hover{ transform:translateY(-1px); }
@media (max-width:767px){
  .vq-retpg-card .elementor-icon-box-title{ font-size:17px !important; line-height:1.25; }
  .vq-retpg-card .elementor-icon-box-description{ font-size:13px !important; }
  .vq-retpg-cta-box .elementor-widget-button{ width:100% !important; margin:0 0 10px !important; }
  .vq-retpg-cta-box .elementor-widget-button .elementor-button{ width:100%; justify-content:center; }
}

/* ============================================================
   CONDITIONS D'UTILISATION (Elementor, page 33)
   ============================================================ */
.vq-terms .vq-terms-hero-box a{ color:#5B5F55; text-decoration:none; }
.vq-terms .vq-terms-hero-box a:hover{ color:#1F3B2D; }
.vq-terms-card{ scroll-margin-top:110px; box-shadow:0 10px 30px rgba(31,59,45,.05); border-radius:24px; }
.vq-terms-text p{ margin:0 0 14px; }
.vq-terms-text p:last-child{ margin-bottom:0; }
.vq-terms-text a{ color:#8A6A1F; font-weight:500; text-decoration:underline; }
.vq-terms-toc .elementor-icon-list-icon{ display:none; }
.vq-terms-toc .elementor-icon-list-item a{ display:block; padding:9px 0 9px 14px; border-left:2px solid #E6DCC6; transition:border-color .2s ease, color .2s ease; }
.vq-terms-toc .elementor-icon-list-item a:hover{ border-left-color:#B8923A; }
.vq-terms-toc .elementor-icon-list-text{ padding-left:0 !important; }
@media (min-width:1025px){
  .vq-terms-side > .elementor-widget-wrap{ position:sticky; top:120px; align-self:flex-start; }
}
@media (max-width:1024px){
  .vq-terms-side{ display:none; }
}

/* ============================================================
   TONIQUES landing (Elementor, page 4946) — reuses the Élixir (.vq-elx) styles
   ============================================================ */
#toniques{ scroll-margin-top:110px; }
.vq-ton-hero-img img{ box-shadow:0 24px 50px rgba(10,30,20,.35); }
.vq-ton .added_to_cart{ display:none !important; }
.vq-ton-atc .elementor-button.loading{ opacity:.7; }
.vq-ton-atc .elementor-button.added::after{ content:" ✓"; }
.vq-ton-card .elementor-icon-list-icon{ padding-top:3px; align-self:flex-start; }
.vq-ton .vq-faq .elementor-tab-content ul{ margin:0; padding-left:20px; }
.vq-ton .vq-faq .elementor-tab-content li{ margin:0 0 6px; }
@media (max-width:767px){
  .vq-ton-card .elementor-widget-wc-add-to-cart,
  .vq-ton-card .elementor-widget-button{ width:100% !important; margin-right:0 !important; margin-left:0 !important; }
  .vq-ton-card .elementor-widget-wc-add-to-cart .elementor-button,
  .vq-ton-card .elementor-widget-button .elementor-button{ width:100%; justify-content:center; }
}
@media (max-width:767px){
  .vq-ton-card .elementor-widget-wc-add-to-cart > .elementor-widget-container,
  .vq-ton-card .elementor-widget-button > .elementor-widget-container,
  .vq-ton-card .elementor-widget-wc-add-to-cart,
  .vq-ton-card .elementor-widget-button{ margin:0 0 10px !important; }
  .vq-ton-card .elementor-widget-wc-add-to-cart,
  .vq-ton-card .elementor-widget-button{ padding:0 12px; box-sizing:border-box; }
}
/* Politique de confidentialité — lists inside article cards, "En bref" card */
.vq-terms-text ul{ margin:0 0 14px; padding-left:20px; }
.vq-terms-text ul:last-child{ margin-bottom:0; }
.vq-terms-text li{ margin:0 0 8px; }
.vq-privacy-brief .elementor-icon-list-icon{ padding-top:4px; align-self:flex-start; }

/* ============================================================
   QUIZ DOSHA (page 5671) — brand skin for the "Ayurvedic Dosha Test" plugin
   (overrides its CSS variables; plugin files untouched)
   ============================================================ */
.vq-dq .vq-dq-hero-box a{ color:#5B5F55; text-decoration:none; }
.vq-dq .vq-dq-hero-box a:hover{ color:#1F3B2D; }
#quiz{ scroll-margin-top:110px; }
.vq-dq-quiz .dosha-wrap{
  --dl-cream:#FFFFFF; --dl-cream-deep:#F6F1E7; --dl-panel:#FAF6EE;
  --dl-green:#1F3B2D; --dl-green-mid:#2E5240;
  --dl-gold:#F6D67E; --dl-gold-rich:#B8923A; --dl-gold-deep:#8A6A1F; --dl-bronze:#8A6A1F; --dl-bronze-light:#B8923A;
  --dl-text:#1F3B2D; --dl-text-mid:#4E5348; --dl-text-muted:#5B5F55; --dl-text-faint:#8A8F86;
  --serif:'Playfair Display', Georgia, serif; --sans:'Jost', system-ui, sans-serif;
  max-width:none; background:#fff !important; box-shadow:0 14px 40px rgba(31,59,45,.08); border-radius:32px;
}
.vq-dq-quiz .dosha-main-title{ font-weight:400; }
.vq-dq-quiz .dosha-answer-btn{ font-family:'Jost',sans-serif; }
.vq-dq-quiz .dosha-btn,
.vq-dq-quiz .dl-restart-btn{ font-family:'Jost',sans-serif; border-radius:999px; }
/* "Et maintenant ?" block added after the result */
.vq-dosha-next{ margin:28px 0 8px; padding:30px 28px; border-radius:24px; text-align:center; background:linear-gradient(150deg,#1F3B2D,#2E5240); color:#E3E6DD; }
.vq-dosha-next .k{ margin:0 0 8px; font-size:12px; letter-spacing:.22em; font-weight:600; color:#F6D67E; }
.vq-dosha-next h3{ margin:0 0 10px; font-family:'Playfair Display',serif; font-weight:400; font-size:28px; line-height:1.2; color:#FCF6EE; }
.vq-dosha-next h3 em{ color:#F6D67E; }
.vq-dosha-next p{ margin:0 0 18px; font-size:15px; line-height:1.6; }
.vq-dosha-next .btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:16px; }
.vq-dosha-next .btns a{ display:inline-flex; align-items:center; height:48px; padding:0 24px; border-radius:999px; font-weight:600; font-size:15px; text-decoration:none; }
.vq-dosha-next .b1{ background:#F6D67E; color:#1F3B2D !important; }
.vq-dosha-next .b2{ border:1px solid rgba(252,246,238,.4); color:#FCF6EE !important; }
.vq-dosha-next .note{ margin:0; font-size:12px; color:#AFC0B3; }
.vq-dq-cta-box .elementor-widget-wrap{ justify-content:center; }
@media (max-width:767px){
  .vq-dosha-next .btns a{ width:100%; justify-content:center; }
  .vq-dq-cta-box .elementor-widget-button{ width:100% !important; margin:0 0 10px !important; }
  .vq-dq-cta-box .elementor-widget-button .elementor-button{ width:100%; justify-content:center; }
}

/* ============================================================
   HEADER (inc/header.php — "VQ Header" widget). Colours/texts are
   editable in Elementor; these are the defaults.
   ============================================================ */
.vq-announce{ background:#16291F; color:#EFE6D6; font-family:'Jost',sans-serif; font-size:13px; letter-spacing:.04em; }
.vq-announce > div{ max-width:1320px; margin:0 auto; padding:9px 24px; display:flex; flex-wrap:wrap; gap:6px 24px; align-items:center; justify-content:space-between; }
.vq-announce-left{ display:flex; gap:8px; align-items:center; }
.vq-announce-left svg{ color:#F6D67E; flex:none; }
.vq-announce-mid{ opacity:.9; }
.vq-announce-right{ display:flex; gap:20px; align-items:center; }
.vq-announce a.vq-announce-link,
.vq-announce a.vq-announce-link:hover{ color:#F6D67E; text-decoration:none; }
.vq-announce a.vq-announce-link:hover{ text-decoration:underline; text-underline-offset:3px; }

.vq-header{ background:#FCF6EE; border-bottom:1px solid #E6DCCB; font-family:'Jost',sans-serif;
  transition:background-color .3s ease, box-shadow .3s ease, border-color .3s ease; }
.vq-header.vq-sticky{ position:-webkit-sticky; position:sticky; top:var(--wp-admin--admin-bar--height, 0px); }
.vq-header-inner{ max-width:1320px; margin:0 auto; padding:14px 24px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 32px; transition:padding .3s ease; }
.vq-header .vq-menu-toggle,
.vq-header .vq-menu-toggle:hover,
.vq-header .vq-menu-toggle:focus{ width:44px; height:44px; padding:0 !important; border:0 !important; background:transparent !important; color:#1F3B2D !important; cursor:pointer; display:none; place-items:center; box-shadow:none !important; }
.vq-header .vq-logo{ display:flex; align-items:center; text-decoration:none; }
.vq-header .vq-logo img{ height:60px; width:auto; display:block; transition:height .3s ease; }
.vq-header .vq-logo-mobile{ display:none; flex-direction:column; align-items:center; line-height:1; text-decoration:none; }
.vq-header .vq-logo-mobile span{ font-family:'Playfair Display',serif; font-style:italic; font-weight:600; font-size:26px; color:#1F3B2D; }
.vq-header .vq-logo-mobile small{ display:block; font-size:9px; letter-spacing:.3em; color:#8A6A1F; margin-top:4px; font-weight:500; }
.vq-header .vq-nav{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 30px; font-size:15px; font-weight:500; }
.vq-header .vq-nav a{ color:#1F3B2D; text-decoration:none; transition:color .18s ease; }
.vq-header .vq-nav a:hover,
.vq-header .vq-nav a.is-current{ color:#8A6A1F; }
.vq-header .vq-nav-item{ position:relative; display:inline-flex; align-items:center; gap:4px; }
.vq-header .vq-nav-chev{ display:inline-flex; color:#8A6A1F; transition:transform .2s ease; }
.vq-header .vq-nav-item:hover .vq-nav-chev,
.vq-header .vq-nav-item:focus-within .vq-nav-chev{ transform:rotate(180deg); }
.vq-header .vq-sub{ position:absolute; top:calc(100% + 12px); left:-14px; min-width:230px; padding:8px; background:#fff; border-radius:16px;
  box-shadow:0 18px 40px rgba(31,59,45,.14); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s; z-index:5; }
.vq-header .vq-sub::before{ content:""; position:absolute; left:0; right:0; top:-14px; height:14px; }
.vq-header .vq-nav-item:hover .vq-sub,
.vq-header .vq-nav-item:focus-within .vq-sub{ opacity:1; visibility:visible; transform:none; transition-delay:0s; }
.vq-header .vq-sub a{ display:block; padding:10px 14px; border-radius:10px; font-size:14px; }
.vq-header .vq-sub a:hover{ background:#F6F1E7; }
.vq-header .vq-header-icons{ display:flex; gap:4px; align-items:center; }
.vq-header a.vq-ic-search,
.vq-header a.vq-ic-account{ width:44px; height:44px; color:#1F3B2D; display:grid; place-items:center; text-decoration:none; border-radius:50%; transition:background .2s ease; }
.vq-header a.vq-ic-search:hover,
.vq-header a.vq-ic-account:hover{ background:rgba(31,59,45,.06); color:#1F3B2D; }
.vq-header a.vq-cart-toggle,
.vq-header a.vq-cart-toggle:hover{ height:44px; background:#1F3B2D; color:#FCF6EE; border-radius:999px; padding:0 18px 0 14px; display:flex; gap:8px; align-items:center;
  font-size:14px; font-weight:500; margin-left:6px; text-decoration:none; cursor:pointer; }
.vq-navdrawer-links a.is-child{ padding-left:40px; font-size:16px; color:#D8DFD4; }

/* Sticky + frosted glass once it reaches the top */
.vq-header.vq-sticky.is-stuck{ box-shadow:0 10px 30px rgba(31,59,45,.08); border-bottom-color:rgba(224,213,193,.55); }
.vq-header.vq-sticky.vq-blur.is-stuck{
  background-color:rgba(252,246,238,.72) !important;
  -webkit-backdrop-filter:saturate(180%) blur(16px); backdrop-filter:saturate(180%) blur(16px);
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .vq-header.vq-sticky.vq-blur.is-stuck{ background-color:rgba(252,246,238,.97) !important; }
}
@media (min-width:1025px){
  .vq-header.vq-sticky.is-stuck .vq-header-inner{ padding-top:9px; padding-bottom:9px; }
  .vq-header.vq-sticky.is-stuck .vq-logo img{ height:50px; }
}
@media (prefers-reduced-motion:reduce){
  .vq-header, .vq-header-inner, .vq-header .vq-logo img{ transition:none; }
}

/* ============================================================
   FR | EN SWITCH (inc/header.php → vq_lang_switcher, TranslatePress)
   Inherits the announcement-bar text colour set in the VQ Header widget.
   ============================================================ */
.vq-lang{ display:inline-flex; align-items:center; gap:7px; letter-spacing:.08em; white-space:nowrap; }
.vq-lang a.vq-lang-opt,
.vq-lang a.vq-lang-opt:visited{ color:inherit; opacity:.55; text-decoration:none; font-weight:500; padding:2px 1px; transition:opacity .18s ease; }
.vq-lang a.vq-lang-opt:hover,
.vq-lang a.vq-lang-opt:focus-visible{ opacity:1; color:inherit; }
.vq-lang a.vq-lang-opt.is-active{ opacity:1; font-weight:600; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.vq-lang-sep{ opacity:.35; }
.vq-navdrawer-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.vq-navdrawer-lang{ color:#FCF6EE; font-family:'Jost',sans-serif; font-size:14px; }
.vq-navdrawer-lang a.vq-lang-opt.is-active{ color:#F6D67E; }
/* Mobile menu: "Mon compte" link was taking the kit's dark link colour (invisible on the green drawer). */
.vq-navdrawer-foot a.vq-navdrawer-account,
.vq-navdrawer-foot a.vq-navdrawer-account:visited{ color:#F6D67E !important; }
.vq-navdrawer-foot a.vq-navdrawer-account:hover{ color:#FCF6EE !important; }
