/*
Theme Name: VFO Astra Child
Template: astra
Description: Vietnam Furniture Online, warm minimal showroom skin for WooCommerce (design brief 12). Palette: #FAF7F2 / #2E241C / #C8A97E / #1F5C4D / CTA #D9822B. Fonts self-hosted (Fraunces + Inter variable).
Version: 2.9.10
*/

/* ---------- Self-hosted fonts (no external requests) ---------- */
@font-face{
  font-family:"Fraunces";
  src:url("fonts/fraunces-var.woff2") format("woff2");
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("fonts/inter-var.woff2") format("woff2");
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
}


:root{
  --vfo-bg:#FAF7F2;
  --vfo-ink:#2E241C;
  --vfo-oak:#C8A97E;
  --vfo-jade:#1F5C4D;
  --vfo-cta:#D9822B;
  --vfo-linen:#F1EAE0;
  --vfo-line:#E7DED2;
  --vfo-muted:#8C7860;
  --vfo-body:#5C4B3C;
  --vfo-serif:"Fraunces",Georgia,serif;
  --vfo-sans:"Inter",system-ui,sans-serif;
}

/* ---------- Base ---------- */
/* Fond de PAGE blanc ; les tons crème/lin sont réservés aux blocs (cartes, encarts, calculateur) */
body,.ast-separate-container .ast-article-single,.ast-separate-container .ast-article-post{background:#fff}
body{color:var(--vfo-ink);font-family:var(--vfo-sans)}
h1,h2,h3,.woocommerce-products-header__title{font-family:var(--vfo-serif);font-weight:600;letter-spacing:-.015em;color:var(--vfo-ink)}
h1{font-size:clamp(32px,4vw,48px);line-height:1.1}
h2{font-size:32px}
h3{font-size:22px}
a{color:var(--vfo-jade)}
a:hover{color:var(--vfo-cta)}

/* ---------- Announcement bar (hooked in functions.php) ---------- */
.vfo-announce{background:var(--vfo-ink);color:var(--vfo-linen);text-align:center;padding:9px 16px;font:500 13px/1.4 var(--vfo-sans)}

/* ---------- Header ---------- */
.ast-primary-header-bar,.main-header-bar{background:var(--vfo-bg);border-bottom:1px solid var(--vfo-line)}
.custom-logo{max-height:44px;width:auto}
@media (max-width:767px){.custom-logo{max-height:34px}}
.site-title a{font-family:var(--vfo-serif);font-weight:600;color:var(--vfo-ink)}
.main-header-menu .menu-link{font:500 14px/1 var(--vfo-sans);color:var(--vfo-ink)}
.main-header-menu .current-menu-item>.menu-link{border-bottom:2px solid var(--vfo-oak)}

/* ---------- Buttons ---------- */
.woocommerce a.button,.woocommerce button.button,
.wp-block-button__link,.ast-button,
.woocommerce #respond input#submit{
  background:var(--vfo-jade);color:#fff;border-radius:4px;
  font:600 14px/1 var(--vfo-sans);padding:14px 24px;border:none;
}
/* Conversion CTAs only = amber */
.woocommerce .single_add_to_cart_button,
.woocommerce a.add_to_cart_button,
.woocommerce .checkout-button,
.woocommerce #place_order,
.vfo-cta{
  background:var(--vfo-cta)!important;color:#fff!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover{filter:brightness(1.06)}
.vfo-ghost,.woocommerce a.button.vfo-ghost{background:transparent!important;color:var(--vfo-ink)!important;border:1.5px solid var(--vfo-ink)!important}

/* ---------- Product cards (loop) ---------- */
.woocommerce ul.products li.product{
  background:var(--vfo-bg);border:1px solid var(--vfo-line);border-radius:4px;
  overflow:hidden;transition:border-color .15s,box-shadow .15s;text-align:left;
}
.woocommerce ul.products li.product:hover{border-color:var(--vfo-oak);box-shadow:0 8px 24px rgba(46,36,28,.09)}
.woocommerce ul.products li.product img{aspect-ratio:4/3.2;object-fit:cover;margin:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font:500 14.5px/1.35 var(--vfo-sans);color:var(--vfo-ink);padding:0 14px;margin:6px 0 8px;min-height:0;
}
.woocommerce ul.products li.product .price{
  color:var(--vfo-ink);font:700 24px/1 var(--vfo-sans);letter-spacing:-.02em;padding:0 14px;margin:0 0 12px;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol{font-size:.8em}
.vfo-per-pc{font:500 12.5px/1 var(--vfo-sans);color:var(--vfo-muted);margin-left:4px}
.vfo-loop-meta{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 14px}
.vfo-chip{background:var(--vfo-linen);border-radius:3px;padding:4px 8px;font:600 11.5px/1 var(--vfo-sans);color:var(--vfo-body)}
.vfo-wood-badge{position:absolute;top:10px;left:10px;z-index:2;background:var(--vfo-bg);border:1px solid var(--vfo-oak);border-radius:999px;padding:4px 9px;font:600 10.5px/1 var(--vfo-sans);color:#7A5F3C}
.woocommerce ul.products li.product{position:relative}
.woocommerce ul.products li.product .button{margin:0 14px 14px}

/* 2 columns on mobile (design brief §6) */
@media (max-width:640px){
  .woocommerce ul.products{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .woocommerce ul.products li.product{width:100%!important;margin:0!important}
}

/* ---------- Category page ---------- */
.woocommerce-products-header{max-width:900px}
.term-description{font:400 16px/1.65 var(--vfo-sans);color:var(--vfo-body)}
.widget_layered_nav ul li a,.widget ul li a{font:400 14px/1.4 var(--vfo-sans);color:var(--vfo-ink)}
.widget .widget-title{font:600 12px/1 var(--vfo-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--vfo-muted);border-bottom:1px solid var(--vfo-line);padding-bottom:12px}
.woocommerce .woocommerce-result-count{color:var(--vfo-muted);font:400 13.5px/1 var(--vfo-sans)}
.woocommerce .woocommerce-ordering select{border:1px solid var(--vfo-line);border-radius:3px;padding:9px 12px;background:var(--vfo-bg)}

/* ---------- Single product ---------- */
/* Astra affiche la catégorie au-dessus du titre (span.single-product-category) : redondant
   avec le fil d'ariane remonté en haut + le meta « Category: » plus bas. On le masque. */
.single-product-category{display:none}

.woocommerce div.product p.price{font:700 40px/1 var(--vfo-sans);letter-spacing:-.03em;color:var(--vfo-ink);border-top:1px solid var(--vfo-line);border-bottom:1px solid var(--vfo-line);padding:16px 0}
.woocommerce div.product .quantity .qty{border:1.5px solid var(--vfo-ink);border-radius:4px;height:48px;font:600 16px var(--vfo-sans)}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--vfo-line);padding:0;margin:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:none;border-radius:0;margin:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font:600 14.5px/1 var(--vfo-sans);color:var(--vfo-muted);padding:15px 20px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--vfo-ink);border-bottom:2px solid var(--vfo-cta)}
.woocommerce table.shop_attributes th{font:500 14px/1.4 var(--vfo-sans);color:var(--vfo-muted);width:44%}
.woocommerce table.shop_attributes td{font:500 14px/1.4 var(--vfo-sans);color:var(--vfo-ink)}
/* Onglets produit : tableau « rows » à gauche + encart contextuel à droite */
.vfo-tab-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;align-items:start;margin-top:6px}
.vfo-spec-table{width:100%;border-collapse:collapse;margin:0}
.vfo-spec-table tr{border-bottom:1px solid var(--vfo-line)}
.vfo-spec-table th,.vfo-spec-table td{text-align:left;vertical-align:top;padding:13px 0;font:400 15px/1.45 var(--vfo-sans)}
.vfo-spec-table th{color:var(--vfo-muted);font-weight:400;width:42%;padding-right:20px}
.vfo-spec-table td{color:var(--vfo-ink)}
.vfo-spec-table td[colspan="2"]{color:var(--vfo-body)}
.vfo-tab-note{background:var(--vfo-linen);border-radius:6px;padding:22px 24px}
.vfo-tab-note h4{font:600 18px/1.3 var(--vfo-serif);color:var(--vfo-ink);margin:0 0 10px}
.vfo-tab-note p{font:400 14.5px/1.65 var(--vfo-sans);color:var(--vfo-body);margin:0 0 10px}
.vfo-tab-note p:last-child{margin-bottom:0}
@media (max-width:768px){.vfo-tab-grid{grid-template-columns:1fr;gap:22px}}
/* Bloc description avec « Read more » */
.vfo-desc{max-width:72ch;margin:24px 0 8px}
.vfo-desc p{font:400 15.5px/1.7 var(--vfo-sans);color:var(--vfo-body);margin:0 0 14px}
.vfo-desc strong{color:var(--vfo-ink);font-weight:600}
.vfo-desc-more{background:none;border:none;color:var(--vfo-jade);font:600 14px/1 var(--vfo-sans);cursor:pointer;padding:2px 0;text-decoration:underline;text-underline-offset:3px}
.vfo-desc-more:hover{color:var(--vfo-cta)}

/* ---------- Breadcrumb (WooCommerce natif, Home remplacé par une icône maison) ---------- */
.woocommerce-breadcrumb{font:500 12.5px/1.4 var(--vfo-sans);color:var(--vfo-muted);margin:6px 0 22px}
.woocommerce-breadcrumb a{color:var(--vfo-muted);text-decoration:none}
.woocommerce-breadcrumb a:hover{color:var(--vfo-cta)}
.woocommerce-breadcrumb a:first-of-type{font-size:0;display:inline-flex;vertical-align:-2px;color:var(--vfo-ink)}
.woocommerce-breadcrumb a:first-of-type:hover{color:var(--vfo-cta)}
.woocommerce-breadcrumb a:first-of-type::before{
  content:"";display:block;width:15px;height:15px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9.5 21v-6h5v6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9.5 21v-6h5v6'/%3E%3C/svg%3E") center/contain no-repeat;
}



/* ---------- Quantity stepper + MOQ note ---------- */
.vfo-qty-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:4px}
.woocommerce div.product form.cart .quantity{display:inline-flex;align-items:stretch;border:1.5px solid var(--vfo-ink);border-radius:4px;overflow:hidden}
.woocommerce div.product form.cart .quantity .qty{border:none!important;border-radius:0;text-align:center;width:64px}
.vfo-step{border:none;background:var(--vfo-bg);color:var(--vfo-ink);width:40px;font:400 20px/1 var(--vfo-sans);cursor:pointer}
.vfo-step:hover{background:var(--vfo-linen)}
.vfo-step:disabled{opacity:.35;cursor:not-allowed;background:var(--vfo-bg)}
.vfo-step-down{border-right:1px solid var(--vfo-line)}
.vfo-step-up{border-left:1px solid var(--vfo-line)}
.vfo-qty-note{font:400 13px/1.4 var(--vfo-sans);color:var(--vfo-muted)}

/* ---------- Add to cart : CTA ambre seul, pleine largeur ---------- */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.woocommerce div.product form.cart .quantity{margin:0}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1 1 auto;min-width:200px;text-align:center}





/* ---------- Trust bar / process shortcodes ---------- */
.vfo-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));border-top:1px solid var(--vfo-line);border-bottom:1px solid var(--vfo-line)}
.vfo-trust>div{padding:22px 20px;display:flex;align-items:center;gap:12px;border-right:1px solid var(--vfo-line);font:500 13.5px/1.35 var(--vfo-sans)}
.vfo-trust i{flex:none;width:26px;height:26px;border:1.5px solid var(--vfo-oak);border-radius:50%}
.vfo-trust>div:nth-child(even) i{border-radius:2px}
.vfo-process{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px}
.vfo-process .n{width:30px;height:30px;border-radius:50%;background:var(--vfo-jade);color:var(--vfo-bg);display:inline-flex;align-items:center;justify-content:center;font:600 13px/1 var(--vfo-sans);margin-bottom:10px}
.vfo-process h4{font:600 17px/1.3 var(--vfo-serif);margin:0 0 6px}
.vfo-process p{font:400 14px/1.55 var(--vfo-sans);color:var(--vfo-body);margin:0}

/* ---------- WhatsApp widget ---------- */

/* ---------- Footer ---------- */
.site-footer,.ast-footer-overlay{background:var(--vfo-ink);color:rgba(241,234,224,.72)}
.site-footer a{color:rgba(241,234,224,.72)}
.site-footer a:hover{color:var(--vfo-oak)}
.site-footer .widget-title{color:var(--vfo-oak);font:600 11.5px/1 var(--vfo-sans);letter-spacing:.14em;text-transform:uppercase}

/* ---------- Credibility rules (brief §6) ---------- */
.woocommerce-store-notice{background:var(--vfo-ink)}
.onsale{display:none} /* pas de badges promo criards */

/* ---------- Polish 05/08 (retours capture plein écran) ---------- */
/* Cartes : boutons d'achat masqués (icône Astra ET bouton texte) — seul « View product »
   outline reste ; l'ambre est réservé au CTA de la fiche, et un add-to-cart direct
   sauterait le choix deposit/full */
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product .added_to_cart{display:none!important}
/* Contrôles natifs : accent à la palette (radios Acowebs, checkboxes) au lieu du bleu navigateur */
input[type="radio"],input[type="checkbox"]{accent-color:var(--vfo-jade)}
/* Focus visible : liseré chêne au lieu du bleu navigateur */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--vfo-oak);outline-offset:2px}
/* Onglet actif : souligné ambre, jamais le style Astra par défaut */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--vfo-ink)!important;border-bottom:2px solid var(--vfo-cta)!important;box-shadow:none!important}
/* Widget WhatsApp flottant : masqué sur les fiches (la carte contact du résumé le remplace) */

/* ── Cartes produits, rythme 15/08 : image → 12px → chip → 6px → titre → 8px → prix → 12px → bouton ── */
.vfo-card-meta{display:inline-block;margin:12px 14px 0;background:var(--vfo-linen);border-radius:3px;padding:4px 8px;font:600 11px/1 var(--vfo-sans);color:var(--vfo-body)}
.woocommerce ul.products li.product .ast-woo-shop-parent-category,
.woocommerce ul.products li.product .ast-woo-product-category{display:none}
.vfo-view{display:block;margin:12px 14px 14px;text-align:center;padding:11px 14px;border:1.5px solid var(--vfo-ink);border-radius:4px;font:600 13px/1 var(--vfo-sans);color:var(--vfo-ink);text-decoration:none}
.vfo-view:hover{border-color:var(--vfo-cta);color:var(--vfo-cta)}

/* Related products : titre → cartes 20px */
.single-product .related.products > h2{margin:0 0 20px!important}
.single-product .related.products ul.products{margin-top:0!important}

/* ══ PAGE COLLECTION (spec 16/08) — pas d'orange sur cette page ══ */
/* 1. Header : breadcrumb→H1 18px, H1→intro 12px, intro→layout 30px */
.woocommerce.archive .woocommerce-breadcrumb{margin-bottom:18px}
.woocommerce.archive .woocommerce-products-header__title{font-size:clamp(30px,3.4vw,44px)!important;letter-spacing:-.02em;line-height:1.12;margin:0 0 12px}
.woocommerce.archive .term-description{font:400 17px/1.65 var(--vfo-sans);color:var(--vfo-body);max-width:900px;margin:0 0 30px}
.woocommerce.archive .term-description p{margin:0 0 10px}
/* 2. Toolbar : compteur + tri sur une ligne, fermée d'un trait, 20px avant la grille */
.woocommerce.archive .woocommerce-result-count{float:left;margin:0;padding:2px 0 14px}
.woocommerce.archive .woocommerce-ordering{float:right;margin:0 0 0 auto;padding-bottom:14px}
.woocommerce.archive .woocommerce-ordering select{font:500 13.5px/1.2 var(--vfo-sans)}
.woocommerce.archive ul.products{clear:both;border-top:1px solid var(--vfo-line);padding-top:20px}
/* grille : 3 colonnes desktop gap 20 (2 col gap 14 mobile déjà en place) */
@media (min-width:768px){
  .woocommerce.archive ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .woocommerce.archive ul.products li.product{width:100%!important;margin:0!important}
}
/* 4. Carte : image 4/5, ENTIÈREMENT cliquable, rythme titre →7px→ prix →7px→ chip */
.woocommerce.archive ul.products li.product img{aspect-ratio:4/5}
.woocommerce.archive ul.products li.product a.woocommerce-LoopProduct-link::after{content:'';position:absolute;inset:0;z-index:1}
.woocommerce.archive ul.products li.product .woocommerce-loop-product__title{margin:12px 0 7px;min-height:38px}
.woocommerce.archive ul.products li.product .price{margin:0 0 7px}
.vfo-card-chip{display:inline-block;margin:0 14px 14px;background:var(--vfo-linen);border-radius:3px;padding:4px 8px;font:600 11.5px/1 var(--vfo-sans);color:var(--vfo-body)}
@media (max-width:640px){.woocommerce.archive ul.products li.product .price{font-size:21px}}
/* 5. Bas de page SEO + FAQ : trait, padding-top 28, 2 colonnes gap 30 */
.vfo-cat-bottom{border-top:1px solid var(--vfo-line);margin-top:24px;padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:30px}
@media (max-width:767px){.vfo-cat-bottom{grid-template-columns:1fr}}
.vfo-cat-seo h2,.vfo-cat-faq h2{font:600 22px/1.3 var(--vfo-serif);color:var(--vfo-ink);margin:0 0 20px}
.vfo-cat-seo p{font:400 15px/1.7 var(--vfo-sans);color:var(--vfo-body);margin:0 0 12px}
.vfo-faq-item{border-bottom:1px solid #EDE4D7}
.vfo-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font:600 14.5px/1.4 var(--vfo-sans);color:var(--vfo-ink);padding:13px 0}
.vfo-faq-item summary::-webkit-details-marker{display:none}
.vfo-faq-ico{flex:none;width:24px;height:24px;border:1.5px solid var(--vfo-oak);border-radius:50%;position:relative}
.vfo-faq-ico::before,.vfo-faq-ico::after{content:'';position:absolute;background:var(--vfo-oak);top:50%;left:50%;transform:translate(-50%,-50%)}
.vfo-faq-ico::before{width:10px;height:1.5px}
.vfo-faq-ico::after{width:1.5px;height:10px}
.vfo-faq-item[open] .vfo-faq-ico{background:var(--vfo-jade);border-color:var(--vfo-jade)}
.vfo-faq-item[open] .vfo-faq-ico::before{background:#fff}
.vfo-faq-item[open] .vfo-faq-ico::after{display:none}
.vfo-faq-a{font:400 14px/1.7 var(--vfo-sans);color:var(--vfo-body);padding:0 36px 14px 0}

/* ══ SIDEBAR FILTRES (spec §3) ══ */
@media (min-width:922px){
  .woocommerce.archive #secondary{width:240px!important;flex:0 0 240px;padding:0!important;margin-right:34px}
  .woocommerce.archive #primary{width:calc(100% - 274px)!important;flex:1 1 auto}
  .woocommerce.archive #secondary .sidebar-main{position:sticky;top:70px;padding:0}
  .vfo-filter-btn{display:none}
  .vfo-drawer-close{display:none}
}
/* groupes : titre 12px uppercase, 24px entre groupes, 9px entre options */
.woocommerce.archive #secondary .widget{margin:0 0 24px;padding:0}
.woocommerce.archive #secondary .widget .widget-title,
.woocommerce.archive #secondary .widget .wp-block-heading{font:600 12px/1 var(--vfo-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--vfo-muted);border-bottom:1px solid var(--vfo-line);padding-bottom:12px;margin:0 0 12px}
/* options layered nav : rangée checkbox 15px chêne + label + compteur à droite */
.woocommerce.archive .woocommerce-widget-layered-nav-list{list-style:none;margin:0;padding:0}
.woocommerce.archive .woocommerce-widget-layered-nav-list li{display:flex;align-items:center;gap:9px;margin:0 0 9px;padding:0}
.woocommerce.archive .woocommerce-widget-layered-nav-list li a{display:flex;align-items:center;gap:9px;flex:1 1 auto;font:400 14px/1.3 var(--vfo-sans);color:var(--vfo-ink);text-decoration:none}
.woocommerce.archive .woocommerce-widget-layered-nav-list li a::before{content:'';flex:none;width:15px;height:15px;border:1.5px solid var(--vfo-oak);border-radius:2px;background:transparent;transition:background .12s}
.woocommerce.archive .woocommerce-widget-layered-nav-list li.chosen a::before{background:var(--vfo-oak);box-shadow:inset 0 0 0 2px var(--vfo-bg)}
.woocommerce.archive .woocommerce-widget-layered-nav-list li .count{margin-left:auto;font:400 12.5px/1 var(--vfo-sans);color:#A8967F}
/* filtre prix : slider à la palette */
.woocommerce.archive .price_slider_wrapper .ui-slider{background:var(--vfo-line);height:4px;border:none;border-radius:2px;margin-bottom:14px}
.woocommerce.archive .price_slider_wrapper .ui-slider-range{background:var(--vfo-oak)}
.woocommerce.archive .price_slider_wrapper .ui-slider-handle{background:var(--vfo-bg);border:1.5px solid var(--vfo-oak);border-radius:50%;width:14px;height:14px;top:-5px}
.woocommerce.archive .price_slider_amount{display:flex;align-items:center;justify-content:space-between;font:400 13px/1.3 var(--vfo-sans);color:var(--vfo-body)}
.woocommerce.archive .price_slider_amount .button{background:transparent!important;color:var(--vfo-jade)!important;border:1.5px solid var(--vfo-jade);padding:7px 14px;font-size:12.5px}
/* carte « Need a size? » */
.vfo-side-card{background:var(--vfo-linen);border-radius:4px;padding:16px}
.vfo-side-card h4{font:600 14px/1.35 var(--vfo-sans);color:var(--vfo-ink);margin:0 0 6px}
.vfo-side-card p{font:400 13px/1.55 var(--vfo-sans);color:var(--vfo-body);margin:0 0 12px}
.vfo-side-wa{display:block;text-align:center;padding:10px 12px;border:1.5px solid var(--vfo-jade);border-radius:4px;font:600 13px/1 var(--vfo-sans);color:var(--vfo-jade);text-decoration:none}
.vfo-side-wa:hover{background:var(--vfo-jade);color:#fff}
/* mobile : bouton Filter 44px + drawer plein écran (spec §7) */
@media (max-width:921px){
  .vfo-filter-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;margin:0 0 14px;border:1px solid var(--vfo-line);border-radius:3px;background:var(--vfo-bg);font:600 13.5px/1 var(--vfo-sans);color:var(--vfo-ink);cursor:pointer}
  .woocommerce.archive #secondary{position:fixed;inset:0;z-index:99999;background:var(--vfo-bg);overflow:auto;padding:18px 16px 40px;transform:translateX(-102%);transition:transform .25s ease;margin:0;width:100%!important}
  body.vfo-drawer-open{overflow:hidden}
  body.vfo-drawer-open .woocommerce.archive #secondary,body.vfo-drawer-open #secondary{transform:none}
  .vfo-drawer-close{display:block;margin:0 0 18px auto;min-height:44px;padding:0 14px;border:1px solid var(--vfo-line);border-radius:3px;background:#fff;font:600 14px/1 var(--vfo-sans);color:var(--vfo-ink);cursor:pointer}
}


/* ═══════════ Footer 5 colonnes (SPEC-FOOTER.md 16/08, remplace le footer Astra) ═══════════ */
.vfo-footer{background:var(--vfo-ink);color:rgba(241,234,224,.72);padding:44px 44px 30px}
.vfo-footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px;max-width:1240px;margin:0 auto}
.vfo-footer a{color:rgba(241,234,224,.72);text-decoration:none;font:400 13.5px/1.35 var(--vfo-sans)}
.vfo-footer a:hover{color:var(--vfo-oak)}
.vfo-footer nav{display:flex;flex-direction:column;gap:9px}
.vfo-footer h4{font:600 11.5px/1 var(--vfo-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--vfo-oak);margin:0 0 14px}
.vfo-footer-brand img{height:36px;width:auto}
.vfo-footer-brand p{font:400 13px/1.6 var(--vfo-sans);color:rgba(241,234,224,.72);margin:12px 0 10px;max-width:32ch}
.vfo-footer-certs{font:400 11.5px/1.5 var(--vfo-sans);color:rgba(241,234,224,.5)}
.vfo-footer-wa i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#25D366;margin-right:6px}
.vfo-footer-legal{max-width:1240px;margin:32px auto 0;padding-top:18px;border-top:1px solid rgba(200,169,126,.25);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:400 12.5px/1.4 var(--vfo-sans);color:rgba(241,234,224,.5)}
.vfo-footer-legal a{color:rgba(241,234,224,.5);font-size:12.5px}
.vfo-footer-legal nav{flex-direction:row;gap:14px}
@media(max-width:900px){.vfo-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.vfo-footer{padding:28px 16px 24px}.vfo-footer-grid{grid-template-columns:1fr;gap:22px}}
