/* =============================================================================
   marchand.css — raccord entre la vitrine V2 (site.css) et les composants
   marchands (boutique.css). Tout ce qui est propre à l'intégration WordPress.
   ============================================================================= */

/* --- en-tête : recherche · compte · panier ---------------------------------- */
.hdr .vcb-header{padding:0;gap:.15rem}
.hdr .vcb-header-action{color:var(--froid-nuit);border-radius:50%}
.hdr .vcb-compteur{top:2px;right:0;min-width:20px;height:20px;font-size:.7rem;line-height:1}
.hdr .vcb-search-panel{top:calc(100% + 14px);width:min(92vw,380px)}
.nav .nav-creer{color:var(--chaud);font-weight:700}
@media (max-width:1023.98px){
  /* sur mobile le compte vit dans le menu et le panier dans la barre du bas */
  .hdr .vcb-header-action[aria-label="Mon compte"]{display:none}
}
@media (min-width:1024px){
  /* 7 entrées : on resserre pour tenir sur une ligne dès 1024 px */
  .hdr .nav{gap:clamp(.55rem,1.3vw,1.4rem);font-size:clamp(.84rem,1.05vw,.96rem)}
  .hdr .nav a{white-space:nowrap}
}

/* --- barre mobile : le panier remplace le devis -------------------------------- */
.barre .barre-panier-ico{position:relative;display:inline-flex}
.barre .vcb-compteur{top:-7px;right:-12px;min-width:18px;height:18px;font-size:.66rem;line-height:1}

/* --- pages simples (panier, commande, compte, pages sans gabarit) ------------- */
.page-simple,.boutique{padding-block:clamp(2rem,5vw,4rem)}
.page-simple h1,.boutique h1{font-size:clamp(2.2rem,6.5vw,4rem);margin-bottom:1.4rem}
.page-contenu>*+*{margin-top:1rem}
.page-404-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.liste-resultats{display:grid;gap:.6rem;margin-top:1rem}
.liste-resultats a{font-weight:600;color:var(--froid);text-decoration:underline;text-underline-offset:3px}

/* --- trou visible : donnée que Vincent doit fournir (jamais une valeur plausible) */
.vc-a-completer{display:inline-block;padding:.15rem .55rem;border:1px dashed var(--chaud);border-radius:6px;
  background:var(--chaud-doux);color:var(--charbon);font-size:.85rem;font-weight:600}

/* le burger est une grille : sans align-content ses trois traits s'étalent sur toute la hauteur du bouton */
.burger{align-content:center}

/* --- boutons primaires : le survol corail vif + texte crème ferait 3.11:1 (interdit) → on fonce au lieu d'éclaircir */
.vcb-btn{text-decoration:none;gap:.5rem}
.vcb-btn-primary:hover,.vcb-service-actions .vcb-btn-primary:hover{background-color:#6E4D00;color:var(--creme)}

/* --- grille boutique : WooCommerce rend une <ul class="products">, on lui donne la grille Gemini -------------- */
.boutique ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.7rem,2vw,1.25rem);list-style:none;margin:0;padding:0}
.boutique ul.products::before,.boutique ul.products::after{content:none}
@media (min-width:768px){.boutique ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.boutique ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
.boutique ul.products li.product{width:auto;margin:0;float:none}
.vcb-product-card-img-wrapper{display:block;background:var(--creme-2)}
.vcb-product-card-title{font-family:inherit;text-transform:none;font-weight:700;line-height:1.25;letter-spacing:-.01em}
.vcb-product-card-title a{color:inherit}
.vcb-product-card-title a:hover{color:var(--chaud)}
.vcb-product-card-price .woocommerce-Price-amount{color:inherit}
.vc-sur-devis{font-size:.9rem;font-weight:600;color:var(--txt-2)}
.vcb-category-texte{max-width:68ch;color:var(--txt-2);margin-bottom:1.4rem}
.vcb-filter-pill{text-decoration:none}
.vcb-filter-tech{border-style:dashed}
.vcb-vide{background:var(--chaud-doux);border-radius:var(--r);padding:clamp(1.4rem,4vw,2.6rem)}
.vcb-vide h2{font-size:clamp(1.8rem,5vw,3rem);margin-bottom:.6rem}
.woocommerce-result-count,.woocommerce-ordering{display:none}
.woocommerce-pagination ul{display:flex;gap:.4rem;justify-content:center;list-style:none;margin:2rem 0 0;padding:0}
.woocommerce-pagination a,.woocommerce-pagination span{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--bord);border-radius:10px;font-weight:600}
.woocommerce-pagination .current{background:var(--froid);color:var(--creme);border-color:var(--froid)}

/* --- fiche produit -------------------------------------------------------------------------------------------- */
.vcb-product-detail-grid{gap:clamp(1.4rem,4vw,3rem)}
@media (min-width:1024px){.vcb-product-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}
  .vcb-product-purchase-options{top:calc(var(--hdr) + 16px)}}
.vcb-fiche .woocommerce-product-gallery{position:relative;width:100%;float:none;margin:0;opacity:1!important}
.vcb-fiche .woocommerce-product-gallery__wrapper{margin:0}
.vcb-fiche .woocommerce-product-gallery img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);background:var(--creme-2)}
.vcb-fiche .woocommerce-product-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;list-style:none;margin:.7rem 0 0;padding:0}
.vcb-fiche .woocommerce-product-gallery__trigger{display:none}
.vcb-fiche .product_title{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:.6rem}
.vcb-fiche .summary .price{font-size:1.5rem;font-weight:700;color:var(--chaud);margin-bottom:.2rem}
.vcb-fiche .summary .price del{color:var(--txt-2);font-weight:400}
.vcb-fiche .woocommerce-product-details__short-description{color:var(--txt-2);margin-bottom:1.4rem}
.vcb-fiche form.cart{display:grid;gap:1rem}
.vcb-fiche table.variations{width:100%;border-collapse:collapse}
.vcb-fiche table.variations th,.vcb-fiche table.variations td{display:block;text-align:left;padding:0}
.vcb-fiche table.variations th label{font-weight:700;display:block;margin:.8rem 0 .4rem}
.vcb-fiche table.variations select{width:100%;min-height:48px;padding:.6rem .8rem;border:2px solid var(--bord);border-radius:var(--r);background:var(--creme);font:inherit;color:var(--charbon)}
.vcb-fiche .reset_variations{display:inline-block;margin-top:.5rem;font-size:.85rem;color:var(--txt-2);text-decoration:underline}
.vcb-fiche .woocommerce-variation-price{margin-bottom:.6rem}
.vcb-fiche .woocommerce-variation-add-to-cart,.vcb-fiche form.cart:not(.variations_form){display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:stretch}
.vcb-fiche form.cart:not(.variations_form)>*:not(.quantity):not(.single_add_to_cart_button){grid-column:1/-1}
.vcb-fiche .woocommerce-variation-add-to-cart>*:not(.quantity):not(.single_add_to_cart_button){grid-column:1/-1}
.vcb-fiche .quantity input.qty{width:4.6rem;min-height:52px;text-align:center;border:2px solid var(--bord);border-radius:var(--r);background:var(--creme);font:inherit;font-weight:700}
.vcb-fiche .single_add_to_cart_button{min-height:52px;border:0;border-radius:var(--r);background:var(--chaud);color:var(--creme);font:inherit;font-weight:700;font-size:1.02rem;cursor:pointer;padding:.7rem 1.2rem;transition:background-color .2s}
.vcb-fiche .single_add_to_cart_button:hover{background:#6E4D00}
.vcb-fiche .single_add_to_cart_button.disabled,.vcb-fiche .single_add_to_cart_button:disabled{background:#475069;color:#fff;cursor:not-allowed}
.vcb-fiche .product_meta{margin-top:1.2rem;font-size:.85rem;color:var(--txt-2);display:grid;gap:.2rem}
.vcb-fiche .product_meta a{text-decoration:underline}
.vcb-fiche .vcb-reassurance{margin-top:clamp(1.6rem,4vw,3rem)}
.vcb-fiche .woocommerce-tabs{margin-top:2rem}
.vcb-fiche .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0 0 1rem;padding:0;border-bottom:2px solid var(--bord)}
.vcb-fiche .woocommerce-tabs ul.tabs li a{display:block;padding:.7rem 1rem;font-weight:700;color:var(--txt-2)}
.vcb-fiche .woocommerce-tabs ul.tabs li.active a{color:var(--charbon);box-shadow:0 2px 0 var(--chaud)}
.vcb-fiche .related{margin-top:clamp(2rem,5vw,4rem)}
.vcb-fiche .related>h2{font-size:clamp(1.8rem,4.5vw,2.8rem);margin-bottom:1rem}

/* --- prestation sur devis (univers froid) ----------------------------------------------------------------------- */
.vcb-service-section h1{color:var(--creme);font-size:clamp(2.2rem,6vw,4rem);margin-bottom:1rem}
.vcb-service-texte{color:var(--creme-2);max-width:60ch;margin:0 auto 1rem;font-size:1.08rem}
.vcb-service-section .vcb-service-prix{color:var(--creme);font-weight:700;margin-bottom:1.6rem}
.vcb-service-actions{max-width:340px}
.vcb-retour{margin-top:1.4rem}
.vcb-retour a{color:var(--froid);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* --- messages WooCommerce ------------------------------------------------------------------------------------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 1.2rem;padding:.9rem 1.1rem;border-radius:var(--r);border:1px solid var(--bord);background:var(--froid-doux);color:var(--charbon)}
.woocommerce-error{background:var(--chaud-doux);border-color:var(--chaud)}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:1rem;font-weight:700;color:var(--froid);text-decoration:underline}
.woocommerce-notices-wrapper:empty{display:none}

/* --- on bat la feuille générale de WooCommerce (bouton violet, prix kaki) en spécificité, sans !important -------- */
.woocommerce div.product.vcb-fiche .summary p.price,.woocommerce div.product.vcb-fiche .summary span.price{color:var(--chaud);font-size:1.5rem;font-weight:700}
.woocommerce div.product.vcb-fiche form.cart .button.single_add_to_cart_button.alt{background-color:var(--chaud);color:var(--creme);border-radius:var(--r);min-height:52px;font-weight:700;font-size:1.02rem;padding:.7rem 1.2rem;float:none}
.woocommerce div.product.vcb-fiche form.cart .button.single_add_to_cart_button.alt:hover{background-color:#6E4D00;color:var(--creme)}
.woocommerce div.product.vcb-fiche form.cart .button.single_add_to_cart_button.alt.disabled,
.woocommerce div.product.vcb-fiche form.cart .button.single_add_to_cart_button.alt:disabled{background-color:#475069;color:#fff;opacity:1}
.woocommerce div.product.vcb-fiche form.cart{margin:0}
.woocommerce div.product.vcb-fiche form.cart div.quantity{float:none;margin:0}
.woocommerce div.product.vcb-fiche div.images,.woocommerce div.product.vcb-fiche div.summary{float:none;width:auto;margin:0}
.woocommerce div.product.vcb-fiche .woocommerce-tabs ul.tabs::before,.woocommerce div.product.vcb-fiche .woocommerce-tabs ul.tabs li::before,.woocommerce div.product.vcb-fiche .woocommerce-tabs ul.tabs li::after{content:none}
.woocommerce div.product.vcb-fiche .woocommerce-tabs ul.tabs{padding:0;margin:0 0 1rem}
.woocommerce div.product.vcb-fiche .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0;padding:0}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{padding:.6rem .8rem;font-style:normal;text-align:left}
.woocommerce table.shop_attributes td p{padding:0}

/* --- case légale : la case et son texte côte à côte ------------------------------------------------------------ */
.vcb-legal-checkbox{display:flex;align-items:flex-start;gap:.7rem;margin:0}
.vcb-legal-checkbox input[type="checkbox"]{margin:.1rem 0 0;width:22px;height:22px}
.vcb-legal-checkbox label{display:block}

/* --- bloc réception + estimation du port (fiche produit) ------------------------------------------------------- */
.vcb-reception-titre{font-family:inherit;text-transform:none;font-size:1.1rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin-bottom:.7rem}
.vcb-reception-liste,.vcb-port-liste{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.vcb-reception-liste li,.vcb-port-liste li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.vcb-reception-liste li span{color:var(--txt-2)}
.vcb-port-ligne{display:flex;gap:.6rem}
.vcb-port-ligne input{flex:1;min-width:0;min-height:48px}
.vcb-port{color:var(--charbon)}
.vcb-port small{display:block;margin-top:.5rem;color:var(--txt-2)}
.vcb-relais{margin:1.4rem 0;padding:1rem;border:1px solid var(--bord);border-radius:var(--r);background:var(--creme)}
.vcb-relais h3{margin-bottom:.5rem}
.vcb-relais-choisi{font-weight:600;margin-bottom:.8rem}

/* --- accueil marchand ------------------------------------------------------------------------------------------ */
.hero .vcb-reassurance{margin:1.2rem 0 0;padding:.9rem 1rem;background:transparent;border:1px solid var(--bord)}
.hero .vcb-reassurance-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem .9rem;list-style:none;margin:0;padding:0}
.hero .vcb-reassurance-item{font-size:.86rem;gap:.5rem}
.hero .vcb-reassurance-item .vcb-icon{width:20px;height:20px;flex:none}
.vcb-reassurance-list{list-style:none;margin:0;padding:0}
.supports-phares{padding-block:clamp(2.6rem,7vw,5.5rem)}
.vcb-supports{list-style:none;margin:0;padding:0}
.vcb-supports .vcb-product-card-img-wrapper{background:var(--chaud-doux)}
.vcb-support-picto{position:absolute;inset:12%;width:76%;height:76%;fill:var(--creme);stroke:var(--chaud);stroke-width:6;stroke-linejoin:round;stroke-linecap:round}
.vcb-support-autre{background:var(--creme-2);justify-content:center}
.vcb-support-autre p{color:var(--txt-2);font-size:.92rem;margin-bottom:.9rem}
.cfg-commander{margin-top:.7rem;width:100%}

/* frise du parcours : les libellés restent lisibles à toutes les largeurs (la version d'origine les masquait sous 480 px) */
.vcb-journey-section{border-radius:0;padding:clamp(2.6rem,7vw,5rem) 0}
.vcb-journey-section h1,.vcb-journey-section h2{color:var(--charbon);font-size:clamp(2.2rem,6.5vw,4.2rem);margin-bottom:clamp(1.4rem,4vw,2.6rem);text-align:center}
.vcb-journey-timeline{max-width:1080px;gap:1rem .6rem;font-size:1rem;padding:0;margin-inline:auto;display:grid;grid-template-columns:1fr}
.vcb-journey-timeline::before{content:none}
.vcb-journey-timeline li{padding:0 0 0 2.2rem;text-align:left;min-width:0}
.vcb-journey-timeline li::before{top:.15rem;left:0;transform:none;width:1.3rem;height:1.3rem;background:var(--charbon);border:0}
.vcb-journey-timeline li span,.vcb-journey-timeline li span b{display:block}
.vcb-journey-timeline li span{color:var(--charbon);font-weight:400;line-height:1.45}
.vcb-journey-timeline li span b{font-weight:800;margin-bottom:.15rem}
@media (max-width:480px){.vcb-journey-timeline li span{display:block}.vcb-journey-timeline li::before{top:.15rem}.vcb-journey-timeline{padding:0}}
@media (min-width:860px){
  .vcb-journey-timeline{grid-template-columns:repeat(4,1fr);gap:1.4rem}
  .vcb-journey-timeline.vcb-journey-5{grid-template-columns:repeat(5,1fr)}
  .vcb-journey-timeline li{padding:2.1rem 0 0;border-top:3px solid var(--charbon)}
  .vcb-journey-timeline li::before{top:-.8rem;left:0}
}
.vcb-journey-cta{text-align:center;margin-top:clamp(1.4rem,4vw,2.4rem)}

.bandeau-series{padding-block:clamp(2.4rem,6vw,4.5rem)}
.bandeau-series-in{display:grid;gap:1.4rem;align-items:center}
@media (min-width:860px){.bandeau-series-in{grid-template-columns:1fr auto;gap:3rem}}
.bandeau-series h2{color:var(--creme);font-size:clamp(1.9rem,5vw,3.2rem);margin:.4rem 0 .7rem}
.bandeau-series p{color:var(--creme-2);max-width:60ch}
.bandeau-series .surtitre{color:var(--or)}

/* --- FAQ --------------------------------------------------------------------------------------------------------- */
.faq details{border-bottom:1px solid var(--bord);padding:.2rem 0}
.faq summary{cursor:pointer;font-weight:700;padding:.9rem 2rem .9rem 0;position:relative;list-style:none;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:.7rem;font-size:1.4rem;font-weight:400;color:var(--chaud)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 1.1rem;color:var(--txt-2)}
.faq h2{margin-top:2.2rem}
/* le bandeau séries porte son propre fond nuit (la classe .bloc-froid du thème est un bleu CLAIR : crème dessus = illisible) */
.bandeau-series,.bandeau-series.bloc-froid{background:var(--froid-nuit)}

/* en-tête : à 320 px et entre 1024 et 1100 px, la rangée dépassait de 6 px → la marque et le menu cèdent la place, jamais les icônes */
.hdr .wrap{min-width:0}
.hdr .brand{min-width:0;flex:0 1 auto}
.hdr .brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hdr .hdr-right{flex:none}
@media (max-width:359.98px){.hdr .brand span{font-size:.95rem}.hdr .wrap{gap:.4rem}.hdr .vcb-header-action,.hdr .burger{min-width:40px;width:40px}}
@media (min-width:1024px) and (max-width:1139.98px){.hdr .nav{gap:.5rem;font-size:.8rem}.hdr .brand span{display:none}}

/* pied de page : les titres de colonne sont des <h2> (ordre des titres correct) qui gardent l'allure des anciens <h4> */
.ftr .ftr-titre{font-family:inherit;font-weight:700;color:var(--creme);font-size:.82rem;line-height:1.3;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.07em}
/* un lien dans une phrase ne se distingue pas par la seule couleur */
.ftr-bas a,.prose a,.cfg-rappel a,.form-note a,.page-contenu a{text-decoration:underline;text-underline-offset:3px}
/* l'image de tête de la boutique n'est pas différée (c'est elle, le LCP) */

/* ---- bloc « Le studio » (base Gemini, adaptée : variables du thème, aucune règle globale) ---------------------- */
.vst{background-color:var(--chaud-vif,#E4B43C);color:var(--charbon,#0B1226);padding-block:64px}
.vst-wrap{max-width:1180px;margin:0 auto;padding:0 16px;display:flex;flex-direction:column;gap:40px}
.vst-img-container{position:relative;display:block;border-radius:24px;overflow:hidden;line-height:0;border:3px solid var(--charbon,#0B1226)}
.vst-img{display:block;width:100%;height:auto}
.vst-img-label{position:absolute;bottom:16px;left:16px;background-color:var(--charbon,#0B1226);color:var(--creme,#F7F9FC);padding:8px 16px;border-radius:999px;font-size:.875rem;font-weight:700;line-height:1.2;white-space:nowrap}
.vst-content{display:flex;flex-direction:column;gap:22px}
.vst-surtitre{margin:0;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--charbon,#0B1226)}
.vst .vst-title{margin:0;font-family:var(--display);font-size:clamp(2.4rem,6vw,4.6rem);line-height:.95;text-transform:uppercase;color:var(--charbon,#0B1226)}
.vst-kw{color:var(--creme,#F7F9FC)}
.vst-description{margin:0;font-size:1.125rem;line-height:1.6;color:var(--charbon,#0B1226)}
.vst-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;counter-reset:vst-point}
.vst-points li{display:flex;align-items:center;font-size:1rem;font-weight:600;line-height:1.4;color:var(--charbon,#0B1226)}
.vst-points li::before{counter-increment:vst-point;content:counter(vst-point);flex-shrink:0;width:32px;height:32px;background-color:var(--charbon,#0B1226);color:var(--creme,#F7F9FC);border-radius:50%;display:inline-flex;justify-content:center;align-items:center;font-weight:700;margin-right:12px;font-size:.875rem}
.vst-supports{display:flex;flex-wrap:wrap;gap:10px}
.vst-support{display:inline-flex;align-items:center;justify-content:center;padding:0 20px;min-height:44px;background-color:var(--creme,#F7F9FC);color:var(--charbon,#0B1226);border:2px solid var(--charbon,#0B1226);border-radius:999px;text-decoration:none;font-size:.9375rem;font-weight:700}
.vst-support:hover{background-color:var(--charbon,#0B1226);color:var(--creme,#F7F9FC)}
.vst-cta{display:inline-flex;align-items:center;justify-content:center;padding:0 32px;min-height:52px;background-color:var(--charbon,#0B1226);color:var(--creme,#F7F9FC);border-radius:999px;text-decoration:none;font-size:1.0625rem;font-weight:700;width:fit-content;max-width:100%;text-align:center}
.vst-cta:hover{background-color:var(--nuit,#061A3A);color:var(--creme,#F7F9FC)}
.vst a:focus-visible{outline:3px solid var(--charbon,#0B1226);outline-offset:4px}
@media (min-width:900px){.vst-wrap{padding:0 32px;flex-direction:row;align-items:center;gap:72px}.vst-img-container{flex:0 0 46%;max-width:46%}.vst-content{flex:1}}

/* ==== CHARTE 2026-09 — nouveau logo « Vince & Co » (écusson bleu roi, or, bleu nuit) =================================
   La palette est portée par les variables de site.css. Ici : ce que les variables seules ne savent pas dire —
   l'or du logo en FOND de bouton (texte bleu nuit dessus : le blanc n'y est pas lisible), le logo non rogné, le liseré or.
   Direction : Gemini Flash à partir du logo ; couleurs relevées dans le fichier du logo ; contrastes mesurés dans le navigateur. */
:root{--or-haut:#F2D277;--or-milieu:#E4B43C;--or-bas:#C8921A;--sur-or:#061A3A;
  --or-degrade:linear-gradient(160deg,var(--or-haut) 0%,var(--or-milieu) 45%,var(--or-bas) 100%)}
.btn-chaud,.vcb-btn-primary,.vcb-service-actions .vcb-btn-primary,.vcb-fiche .single_add_to_cart_button,
.woocommerce div.product.vcb-fiche form.cart .button.single_add_to_cart_button.alt,.vcs-racine [data-vcs-valide],.vq .vq-envoyer{
  background:var(--or-degrade);background-color:var(--or-milieu);color:var(--sur-or);border-color:var(--or-bas);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 2px 0 #9A6F0E,0 6px 16px rgba(6,26,58,.18);text-shadow:none}
.btn-chaud:hover,.vcb-btn-primary:hover,.vcb-service-actions .vcb-btn-primary:hover,.vcb-fiche .single_add_to_cart_button:hover,
.woocommerce div.product.vcb-fiche form.cart .button.single_add_to_cart_button.alt:hover,.vcs-racine [data-vcs-valide]:hover,.vq .vq-envoyer:hover{
  background:linear-gradient(160deg,#F7DF95 0%,#EBC04E 45%,#D19C22 100%);background-color:#EBC04E;color:var(--sur-or);border-color:var(--or-bas)}
.vq .vq-tag--bloquant,.vcs-face-onglets button .vcs-compte{background:var(--or-milieu);color:var(--sur-or)}
/* le logo est un écusson détaillé : jamais rogné en rond, et assez grand pour être lu */
.brand img{width:60px;height:60px;border-radius:0;border:0;object-fit:contain}
.ftr .brand{align-items:center}.ftr .brand img{width:96px;height:96px}
@media (max-width:480px){.brand img{width:52px;height:52px}}
/* l'en-tête et le pied portent le liseré or du logo */
.hdr{border-bottom:3px solid var(--or-milieu)}
.ftr{border-top:4px solid var(--or-milieu)}
/* sur l'or vif, le mot-clé du bloc studio passe en bleu roi (la crème n'y est pas lisible) */
.vst-kw{color:var(--froid,#003C84)}
/* pagination : WooCommerce impose un gris-mauve peu lisible (3,65:1) — nos couleurs, avec la spécificité qu'il faut */
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--froid);color:#fff;border-color:var(--froid)}
.woocommerce nav.woocommerce-pagination ul li a{color:var(--froid)}
.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li a:focus{background:var(--froid-doux);color:var(--froid-nuit)}

/* ---- en-tête bleu nuit : le logo y prend toute sa force ------------------------------------------------------- */
.hdr{background:rgba(6,26,58,.97);border-bottom:3px solid var(--or-milieu)}
.hdr .brand,.hdr .brand span{color:#fff}
.hdr .vcb-header-action,.hdr .burger{color:#fff}
.hdr .vcb-header-action:hover,.hdr .vcb-header-action:focus-visible{background:rgba(255,255,255,.12);color:#fff}
.hdr :focus-visible{outline-color:var(--or-haut)}
.est-compact .hdr{box-shadow:0 2px 18px rgba(0,0,0,.35)}
@media (min-width:1024px){
  .hdr .nav a{color:#DCE6F5}
  .hdr .nav a:hover,.hdr .nav a[aria-current="true"]{color:#fff}
  .hdr .nav a::after{background:var(--or-milieu)}
  .hdr .nav .nav-creer{color:var(--or-haut)}
}
/* ---- hero bleu nuit, grand logo, titre blanc et or --------------------------------------------------------------- */
.hero{background-color:#061A3A;background-image:radial-gradient(120% 90% at 85% 20%,#0B3A7A 0%,#061A3A 55%,#030D20 100%);color:#fff;padding-bottom:clamp(30px,5vw,58px)}
.hero h1{color:#fff}
.hero h1 .l2{color:var(--or-milieu)}
.hero-txt>p{color:#DCE6F5}
.hero .pill{background:#1A2C4A;border-color:rgba(228,180,60,.55);color:var(--or-haut)}
.hero .pill .dot{background:var(--or-milieu)}
.hero .btn-or{background:transparent;color:#fff;border-color:#fff}
.hero .btn-or:hover{background:#fff;color:var(--froid-nuit);border-color:#fff}
.hero-logo{display:grid;place-items:center}
.hero-logo::after{content:none}
.hero-logo img{width:min(78vw,520px);height:auto;border-radius:0;filter:drop-shadow(0 18px 40px rgba(0,0,0,.45))}
.hero .specs{border-color:rgba(255,255,255,.22)}
.hero .spec{color:#fff}
.hero .spec+.spec,.hero .spec:nth-child(3),.hero .spec:nth-child(4){border-color:rgba(255,255,255,.22)}
.hero .spec svg{stroke:var(--or-milieu)}
.hero .vcb-reassurance{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2)}
.hero .vcb-reassurance-item{color:#fff}
.hero .vcb-reassurance-item .vcb-icon{stroke:var(--or-milieu)}

/* ---- galerie de réalisations (page L'atelier) : les photos de Vincent, en colonnes qui respectent leur format ---- */
.realisations-grille{columns:2;column-gap:12px;margin-top:1.6rem}
@media (min-width:700px){.realisations-grille{columns:3;column-gap:16px}}
@media (min-width:1024px){.realisations-grille{columns:4}}
.realisation{break-inside:avoid;margin:0 0 12px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--bord)}
.realisation img{display:block;width:100%;height:auto}
.realisation figcaption{padding:.5rem .7rem .6rem;font-size:.84rem;font-weight:600;color:var(--charbon)}

/* ==== blocs visuels « moins de texte » (23/09) — base Gemini Flash, adaptée ==================================== */
.vb-modes{display:grid;gap:1.2rem;margin-top:1.6rem}
@media (min-width:768px){.vb-modes{grid-template-columns:repeat(3,1fr)}}
.vb-mode{position:relative;background:#fff;border:1px solid var(--bord);border-radius:18px;padding:1.6rem 1.3rem 1.4rem;text-align:center;box-shadow:0 4px 14px rgba(6,26,58,.06)}
.vb-mode--star{border-color:var(--froid);background:var(--froid-doux)}
.vb-mode__label{position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);background:var(--froid);color:#fff;padding:.28rem .8rem;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.vb-mode svg{width:44px;height:44px;margin:0 auto .8rem;fill:none;stroke:var(--froid);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.vb-mode h2{font-size:1.15rem;margin:0 0 .3rem}
.vb-mode__prix{font-family:var(--display);font-size:2.4rem;line-height:1;color:#8A6100;margin:.2rem 0 .6rem}
.vb-mode p{margin:0;font-size:.95rem;color:var(--txt-2)}
.vb-mode__delai{display:inline-block;margin-top:.7rem;padding:.25rem .7rem;border-radius:999px;background:#fff;border:1px solid var(--bord);font-size:.82rem;font-weight:600;color:var(--charbon)}
.vb-mode .btn{margin-top:1rem}
.vb-frise{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.4rem;position:relative}
.vb-frise::before{content:"";position:absolute;left:1.25rem;top:.5rem;bottom:.5rem;width:3px;background:var(--or-milieu,#E4B43C);border-radius:3px}
.vb-frise li{position:relative;display:flex;align-items:center;gap:1rem;padding-left:.5rem}
.vb-frise b{flex:none;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--or-milieu,#E4B43C);color:var(--froid-nuit);display:grid;place-items:center;font-family:var(--display);font-size:1.2rem;position:relative;z-index:1;box-shadow:0 0 0 4px var(--creme)}
.vb-frise span{font-weight:700;color:var(--charbon)}
.vb-frise small{display:block;font-weight:500;color:var(--txt-2);font-size:.86rem}
@media (min-width:768px){.vb-frise{grid-template-columns:repeat(4,1fr);gap:0}.vb-frise::before{left:12.5%;right:12.5%;top:1.25rem;bottom:auto;height:3px;width:auto}.vb-frise li{flex-direction:column;text-align:center;padding:0}.vb-frise b{margin-bottom:.6rem}}
.vb-chiffre{text-align:center;margin:0 0 2rem}
.vb-chiffre b{display:block;font-family:var(--display);font-size:clamp(3.4rem,10vw,6rem);line-height:1;color:var(--froid)}
.vb-chiffre span{display:block;margin-top:.3rem;font-size:1.1rem;color:var(--txt-2)}
.vb-duo{display:grid;gap:1.4rem}
@media (min-width:768px){.vb-duo{grid-template-columns:1fr 1fr}}
.vb-tuile{border-radius:18px;padding:1.3rem;border:1px solid var(--bord);background:#fff}
.vb-tuile--ok{background:var(--froid-doux);border-color:#C9D9EE}
.vb-tuile__tete{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}
.vb-tuile__tete i{flex:none;width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:var(--froid);color:#fff}
.vb-tuile--ko .vb-tuile__tete i{background:#B3261E}
.vb-tuile__tete svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}
.vb-tuile h2{font-size:1.25rem;margin:0}
.vb-tuile img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin-bottom:.9rem}
.vb-tuile ul{margin:0;padding-left:1.2rem}
.vb-tuile li{margin:.35rem 0}
.vb-formats{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:1.2rem 0 0}
.vb-formats span{padding:.45rem .9rem;border-radius:999px;background:var(--froid-nuit);color:#fff;font-weight:700;font-size:.9rem}
.vb-formats span small{font-weight:500;opacity:.85}
.vb-faq{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1.6rem 0 2.4rem}
@media (min-width:700px){.vb-faq{grid-template-columns:repeat(3,1fr);gap:1rem}}
.vb-faq a{position:relative;display:block;aspect-ratio:1/1;border-radius:16px;overflow:hidden;box-shadow:0 2px 10px rgba(6,26,58,.12);transition:transform .25s ease}
.vb-faq a:hover{transform:translateY(-4px)}
.vb-faq img{width:100%;height:100%;object-fit:cover;display:block}
.vb-faq a::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(3,13,32,.92) 0%,rgba(3,13,32,.35) 55%,transparent 100%)}
.vb-faq span{position:absolute;left:.8rem;right:.8rem;bottom:.8rem;z-index:1;color:#fff;font-weight:700;font-size:clamp(.92rem,2.4vw,1.05rem);line-height:1.25}
.vb-nuit{background:var(--froid-nuit);color:#fff;padding:clamp(40px,6vw,64px) 0 0;border-radius:18px;overflow:hidden}
.vb-nuit .vb-chiffres{display:grid;gap:1.6rem;text-align:center;padding:0 1rem 2.4rem}
@media (min-width:640px){.vb-nuit .vb-chiffres{grid-template-columns:repeat(3,1fr)}}
.vb-nuit .vb-chiffres b{display:block;font-family:var(--display);font-size:clamp(3rem,7vw,4.6rem);line-height:1;color:var(--or-milieu,#E4B43C)}
.vb-nuit .vb-chiffres span{display:block;margin-top:.4rem;font-weight:600;color:#DCE6F5}
.vb-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}
@media (min-width:640px){.vb-photos{grid-template-columns:repeat(4,1fr)}}
.vb-photos img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.vb-carte-lieu{display:grid;gap:1.2rem;align-items:center;margin-top:1.4rem}
@media (min-width:860px){.vb-carte-lieu{grid-template-columns:1.1fr .9fr}}
.vb-carte-lieu img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.vb-lieu{background:#fff;border:1px solid var(--bord);border-radius:18px;padding:1.5rem}
.vb-lieu p{margin:.4rem 0 0;color:var(--txt-2)}
.vb-lieu .btn{margin-top:1rem}
.vb-photo-pleine{margin:0;border-radius:18px;overflow:hidden}
.vb-photo-pleine img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block}

/* Tunnel de commande : « Expédier à une adresse différente ? » et « Informations complémentaires » ne doivent jamais se coller */
.woocommerce-checkout #ship-to-different-address,.woocommerce-checkout .woocommerce-additional-fields>h3{display:block;clear:both;margin:1.5rem 0 .75rem}
.woocommerce-checkout #ship-to-different-address label{display:flex;align-items:center;gap:.5rem;cursor:pointer}
.woocommerce-checkout .woocommerce-additional-fields{display:block;clear:both;margin-top:1.25rem}
