/* ==========================================================
   L'Hunic v1 : adaptation WordPress / WooCommerce
   Chargé après style.css et lhunic.css (maquette validée, version blanche du 01/11).
   Aucune extension n'est modifiée : des sélecteurs plus précis, sur les seules pages du module.
   Couleurs : celles de la version blanche (--ink...), avec une valeur de secours.
   ========================================================== */

/* ---------- accessibilité : classes de WordPress et WooCommerce ---------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.screen-reader-text:focus{left:1rem;top:1rem;z-index:100000;width:auto;height:auto;margin:0;padding:.8rem 1.2rem;clip:auto;clip-path:none;background:#fff;color:var(--ink,#111214)}

/* ---------- barre d'administration (administrateurs connectés seulement) ---------- */
body.admin-bar{--admin-h:32px}
body.admin-bar .site-header{top:32px}
@media (max-width:782px){body.admin-bar{--admin-h:46px}body.admin-bar .site-header{top:46px}}
@media (max-width:600px){body.admin-bar{--admin-h:0px}body.admin-bar .site-header{top:0}}

/* ---------- bandeau de cookies (Cookiebot) : toujours au-dessus du rideau et de l'en-tête ---------- */
#CybotCookiebotDialog{z-index:2147483647!important}

/* ---------- indicateur d'aperçu (administrateurs, tant que le module n'est pas public) ---------- */
.tv2-preview{position:fixed;left:.75rem;bottom:.75rem;z-index:90;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#c9cdd1;background:rgba(17,18,20,.88);border:1px solid rgba(255,255,255,.14);padding:.3rem .8rem;border-radius:99px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tv2-preview a{color:#fff;text-decoration:underline;margin-left:.6rem}
@media (max-width:959px){body.tv2-lhunic-product .tv2-preview{bottom:4.8rem}}

/* ---------- pied de page : la cassure en biais suppose une section sombre au-dessus ;
   quand la page finit sur du blanc, un simple filet la remplace ---------- */
body:has(#contenu > .lh-sec--blanc:last-child) .site-footer.lh-sec--blanc::before{display:none}
body:has(#contenu > .lh-sec--blanc:last-child) .site-footer.lh-sec--blanc{border-top:1px solid rgba(17,18,20,.12)}

/* ---------- messages de WooCommerce (ajout au panier, erreurs) ---------- */
.pdp .lh-notices,.lh-shop-inner>.lh-notices{grid-column:1/-1}
.lh-notices .woocommerce-notices-wrapper:empty{display:none}
.lh-notices .woocommerce-message,.lh-notices .woocommerce-info,.lh-notices .woocommerce-error{list-style:none;margin:0 0 1.2rem;padding:1rem 1.3rem;background:#f4f5f7;color:var(--ink,#111214);border:0;border-left:3px solid var(--ink,#111214);font-size:.92rem;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;justify-content:space-between}
.lh-notices .woocommerce-error{border-left-color:#a2331f}
.lh-notices .woocommerce-message::before,.lh-notices .woocommerce-info::before,.lh-notices .woocommerce-error::before{display:none}
.lh-notices a.button,.lh-notices .button{order:2;display:inline-flex;align-items:center;min-height:2.75rem;padding:.6rem 1.1rem;background:transparent;color:var(--ink,#111214);border:1px solid rgba(17,18,20,.55);border-radius:0;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}
.lh-notices a.button:hover,.lh-notices .button:hover{background:var(--ink,#111214);color:#fff}

/* ---------- fiche L'Hunic : vrai formulaire de WooCommerce, habillé comme la maquette ---------- */
#lh-cart form.cart{margin:0}
/* les pastilles remplacent la liste déroulante dès que JavaScript fonctionne ; sans JavaScript, c'est l'inverse */
html.lh-js #lh-cart.has-pills table.variations{display:none}
html:not(.lh-js) #lh-cart .variants{display:none}
#lh-cart table.variations{width:100%;margin:1.6rem 0 0;border:0;border-collapse:collapse}
#lh-cart table.variations tr,#lh-cart table.variations th,#lh-cart table.variations td{display:block;padding:0;border:0;text-align:left;background:none}
#lh-cart table.variations label{display:block;margin:0 0 .7rem;font-size:.7rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-4,#55585d)}
#lh-cart table.variations select{width:100%;max-width:22rem;min-height:3rem;padding:.6rem .9rem;background:#fff;color:var(--ink,#111214);border:1px solid rgba(17,18,20,.35);border-radius:0;font:inherit}
#lh-cart a.reset_variations{display:none!important}
#lh-cart .single_variation_wrap{margin:0}
#lh-cart .woocommerce-variation{margin:1rem 0 0;font-size:.9rem;color:var(--ink-3,#4a4d52)}
#lh-cart .woocommerce-variation:empty{display:none}
#lh-cart .woocommerce-variation-price .price{font-family:var(--serif);font-size:1.6rem;color:var(--ink,#111214)}
#lh-cart .woocommerce-variation-description p,#lh-cart .stock{margin:0 0 .4rem}
#lh-cart .stock{font-size:.82rem;letter-spacing:.06em}
#lh-cart .stock.out-of-stock{color:#a2331f}
#lh-cart .vpill.is-out span{opacity:.5;text-decoration:line-through}
#lh-cart .vpill input:disabled{cursor:not-allowed}
/* ligne d'achat : quantité, bouton, puis les paiements express (Stripe, PayPal) sur leur propre ligne */
#lh-cart .buy-row>*{order:5}
#lh-cart .buy-row>.quantity{order:1}
#lh-cart .buy-row>.single_add_to_cart_button{order:2}
#lh-cart .quantity.qty{display:inline-flex;align-items:stretch;flex:0 0 auto;margin:0}
#lh-cart .quantity.hidden{display:none}
#lh-cart .quantity.qty input.qty{display:block;width:2.8rem;height:auto;min-height:3.2rem;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;color:inherit;font:inherit;font-size:1rem;text-align:center;-moz-appearance:textfield;appearance:textfield}
#lh-cart .quantity.qty input.qty::-webkit-outer-spin-button,#lh-cart .quantity.qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#lh-cart .quantity.qty input.qty:focus-visible{outline:2px solid var(--ink,#111214);outline-offset:-2px}
#lh-cart .quantity.qty button{display:inline-flex;align-items:center;justify-content:center;width:48px;min-height:3.2rem;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;color:inherit;font-size:1.3rem;line-height:1;cursor:pointer}
#lh-cart .single_add_to_cart_button{flex:1 1 13rem;margin:0;border-radius:0;box-shadow:none;text-shadow:none;line-height:1.2}
#lh-cart .single_add_to_cart_button.disabled,#lh-cart .single_add_to_cart_button:disabled{opacity:.45;cursor:not-allowed}
#lh-cart .single_add_to_cart_button.loading{opacity:.7;pointer-events:none}
#lh-cart #wc-stripe-express-checkout-element,#lh-cart #wc-stripe-payment-request-wrapper,#lh-cart .ppc-button-wrapper,#lh-cart #ppc-button-ppcp-gateway,#lh-cart .ppcp-messages{flex:1 1 100%;min-width:0;margin-top:.4rem}
#lh-cart #wc-stripe-express-checkout-button-separator,#lh-cart #wc-stripe-payment-request-button-separator{flex:1 1 100%;margin:.4rem 0 0;text-align:center;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4,#55585d)}
/* ce que les extensions ajoutent sous la fiche */
.pdp-ext{padding:calc(var(--cut-h,60px) + 2rem) 0 clamp(2.5rem,5vw,4rem)}

/* ---------- pages intérieures : bandeau de titre et contenu sur blanc pur ---------- */
.pg-hero{padding:calc(var(--top-h) + clamp(2.5rem,7vw,5rem)) 0 clamp(1.8rem,4vw,2.8rem);background:#fff;color:var(--ink,#111214)}
.pg-hero h1{font-size:clamp(2.6rem,7vw,5.6rem);line-height:1.02;margin:0;max-width:18ch;text-wrap:balance}
.pg-hero .eyebrow{margin-bottom:1rem}
.pg-body{background:#fff;color:var(--ink,#111214);padding:0 0 clamp(3.5rem,8vw,6.5rem)}
.pg-hero>.wrap,.pg-body>.wrap{width:min(100% - 2*var(--gutter),1100px)}
.tv2-lhunic-woo .pg-hero>.wrap,.tv2-lhunic-woo .pg-body>.wrap,.tv2-lhunic-produit .pg-hero>.wrap,.tv2-lhunic-produit .pg-body>.wrap{width:min(100% - 2*var(--gutter),1240px)}
.pg-body>.wrap{border-top:1px solid rgba(17,18,20,.12);padding-top:clamp(2rem,5vw,3.5rem)}
.pg-body .btn-row{margin-top:2rem}
.tv2-paper{color:var(--ink,#111214);font-weight:400}
.tv2-paper h1,.tv2-paper h2,.tv2-paper h3,.tv2-paper h4,.tv2-paper h5,.tv2-paper h6{color:var(--ink,#111214);line-height:1.15;font-family:var(--serif);font-weight:500}
.tv2-paper h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.tv2-paper h3{font-size:clamp(1.35rem,2.2vw,1.7rem)}
.tv2-paper h4,.tv2-paper h5,.tv2-paper h6{font-size:1.2rem}
.tv2-paper p,.tv2-paper li,.tv2-paper td,.tv2-paper th,.tv2-paper label{color:inherit}
.tv2-paper a{color:var(--ink,#111214);text-decoration:underline;text-underline-offset:.15em}
.tv2-paper a:hover{text-decoration-thickness:2px}
.tv2-paper ul{list-style:disc;padding-left:1.4em;margin:0 0 1em}
.tv2-paper ol{list-style:decimal;padding-left:1.5em;margin:0 0 1em}
.tv2-paper .breadcrumb ol,.tv2-paper .woocommerce ul,.tv2-paper .wc-block-components-product-details,.tv2-paper ul.woocommerce-error,.tv2-paper ul.woocommerce-message,.tv2-paper ul.woocommerce-info,.tv2-paper ul.payment_methods,.tv2-paper ul.wc_payment_methods,.tv2-paper ul.woocommerce-order-overview,.tv2-paper .woocommerce-MyAccount-navigation ul,.tv2-paper ul.woocommerce-shipping-methods,.tv2-paper ul.products,.tv2-paper ul.page-numbers,.tv2-paper ul.tabs,.tv2-paper .pg-list{list-style:none;padding-left:0}
.tv2-paper .breadcrumb a{text-decoration:none}
.tv2-paper img{display:inline-block;max-width:100%;height:auto}
.tv2-paper figure{margin:0 0 1.2em}
.tv2-paper table{width:100%;border-collapse:collapse}
.tv2-paper th,.tv2-paper td{padding:.75rem .8rem;border-bottom:1px solid rgba(17,18,20,.14);text-align:left;vertical-align:top}
.tv2-paper input[type=text],.tv2-paper input[type=email],.tv2-paper input[type=tel],.tv2-paper input[type=password],.tv2-paper input[type=number],.tv2-paper input[type=search],.tv2-paper input[type=url],.tv2-paper input[type=date],.tv2-paper textarea,.tv2-paper select{background:#fff;color:var(--ink,#111214);border:1px solid rgba(17,18,20,.32);border-radius:0;padding:.75rem .9rem;font:inherit;font-size:1rem;max-width:100%;box-shadow:none}
.tv2-paper textarea{width:100%}
.tv2-paper input:focus,.tv2-paper textarea:focus,.tv2-paper select:focus{outline:2px solid var(--ink,#111214);outline-offset:1px}
.tv2-paper .woocommerce form .form-row input.input-text,.tv2-paper .woocommerce form .form-row textarea{background:#fff;color:var(--ink,#111214)}
.tv2-paper .woocommerce form.login,.tv2-paper .woocommerce form.register,.tv2-paper .woocommerce form.checkout_coupon,.tv2-paper .woocommerce form.lost_reset_password{border:1px solid rgba(17,18,20,.14);border-radius:0}
/* boutons de WooCommerce et des formulaires : encre pleine, angles droits (passe devant woocommerce.css) */
body.lhunic-v1 .tv2-paper .button,body.lhunic-v1 .tv2-paper a.button,body.lhunic-v1 .tv2-paper button.button,body.lhunic-v1 .tv2-paper input.button,body.lhunic-v1 .tv2-paper input[type=submit],body.lhunic-v1 .tv2-paper #place_order,body.lhunic-v1 .tv2-paper .single_add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;padding:1rem 2rem;background:var(--ink,#111214);color:#fff;border:0;border-radius:0;font:500 .78rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;text-shadow:none;cursor:pointer;box-shadow:none;transition:background .4s var(--ease)}
body.lhunic-v1 .tv2-paper .button:hover,body.lhunic-v1 .tv2-paper a.button:hover,body.lhunic-v1 .tv2-paper button.button:hover,body.lhunic-v1 .tv2-paper input.button:hover,body.lhunic-v1 .tv2-paper input[type=submit]:hover,body.lhunic-v1 .tv2-paper #place_order:hover,body.lhunic-v1 .tv2-paper .single_add_to_cart_button:hover{background:#2b2d31;color:#fff}
body.lhunic-v1 .tv2-paper .button.disabled,body.lhunic-v1 .tv2-paper .button:disabled,body.lhunic-v1 .tv2-paper .button[disabled]{background:var(--ink,#111214)!important;color:#fff!important;opacity:.5}
body.lhunic-v1 .tv2-paper .woocommerce-message .button,body.lhunic-v1 .tv2-paper .woocommerce-info .button{min-height:2.75rem;padding:.6rem 1.1rem;background:transparent;color:var(--ink,#111214);border:1px solid rgba(17,18,20,.55);font-size:.68rem}
body.lhunic-v1 .tv2-paper .woocommerce-message .button:hover,body.lhunic-v1 .tv2-paper .woocommerce-info .button:hover{background:var(--ink,#111214);color:#fff}
.tv2-paper a.btn{text-decoration:none}
.tv2-paper .woocommerce-message,.tv2-paper .woocommerce-info,.tv2-paper .woocommerce-error{background:#f4f5f7;color:var(--ink,#111214);border-top:3px solid var(--ink,#111214);padding:1rem 1.3rem;margin:0 0 1.6rem}
.tv2-paper .woocommerce-message::before,.tv2-paper .woocommerce-info::before,.tv2-paper .woocommerce-error::before{color:var(--ink,#111214)}
.tv2-paper .woocommerce-error{border-top-color:#a2331f}
.tv2-paper .woocommerce-error::before{color:#a2331f}
.tv2-paper #payment{background:#f4f5f7;border-radius:0}
.tv2-paper #payment div.payment_box{background:#e9ebee;color:var(--ink,#111214)}
.tv2-paper #payment div.payment_box::before{border-bottom-color:#e9ebee}
.tv2-paper .woocommerce-MyAccount-navigation li a{display:block;padding:.6rem 0;border-bottom:1px solid rgba(17,18,20,.14);text-decoration:none}
.tv2-paper .woocommerce-MyAccount-navigation li.is-active a{font-weight:600}
.tv2-paper .entry-content::after{content:"";display:block;clear:both}
.tv2-paper .entry-content{overflow-wrap:anywhere}
.tv2-paper .alignfull,.tv2-paper .alignwide{margin-left:0;margin-right:0;max-width:100%}
.pg-list>li{padding:1.4rem 0;border-top:1px solid rgba(17,18,20,.14)}
.pg-list-title{margin:0 0 .4rem;font-size:1.6rem}
.tv2-paper .nav-links,.tv2-paper .navigation.pagination{margin-top:2rem}
.tv2-paper .page-numbers{display:inline-block;padding:.4rem .8rem}
/* panier et commande en blocs */
.tv2-paper a.wc-block-components-button,.tv2-paper a.wp-block-button__link,.tv2-paper .wc-block-components-button:not(.is-link){text-decoration:none}
.tv2-paper .wc-block-components-button:not(.is-link),.tv2-paper .wp-block-button__link,.tv2-paper .wc-block-cart__submit-button,.tv2-paper .wc-block-components-checkout-place-order-button{background:var(--ink,#111214);color:#fff;border-radius:0;font-weight:500;letter-spacing:.14em;text-transform:uppercase;box-shadow:none}
.tv2-paper .wc-block-components-button:not(.is-link):hover,.tv2-paper .wp-block-button__link:hover{background:#2b2d31;color:#fff}
.tv2-paper .wc-block-components-button:not(.is-link) .wc-block-components-button__text{color:inherit}
.tv2-paper .wc-block-components-title,.tv2-paper .wc-block-components-checkout-step__title{color:var(--ink,#111214);font-family:var(--serif);font-size:1.5rem;line-height:1.2}
.tv2-paper .wc-block-components-text-input input,.tv2-paper .wc-block-components-address-form input,.tv2-paper .wc-blocks-components-select select{background:#fff;color:var(--ink,#111214)}
/* autre produit que L'Hunic : fiche standard de WooCommerce */
.lh-wcgen div.product{margin-top:1rem}
.lh-wcgen .woocommerce-tabs ul.tabs li{background:#f4f5f7;border-color:rgba(17,18,20,.14);border-radius:0}
.lh-wcgen .woocommerce-tabs ul.tabs li.active{background:#fff}
.lh-wcgen .price{font-family:var(--serif);font-size:1.6rem;color:var(--ink,#111214)}

/* ---------- boutique ---------- */
.lh-shop.lh-shop--page{padding:calc(var(--top-h) + clamp(2.5rem,7vw,5rem)) 0 clamp(4rem,9vw,7rem)}
.lh-shop--page h1{font-size:clamp(2.6rem,7vw,5.6rem);line-height:1.02;margin:0 0 .5em}
.lh-shop--page .lh-shop-card{display:grid;gap:2.5rem}
.lh-shop .lh-empty{color:var(--ink-3,#4a4d52)}
.lh-shop-inner>.tv2-pagination{grid-column:1/-1}
.tv2-pagination ul.page-numbers{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;border:0;list-style:none}
.tv2-pagination li>.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.8rem;min-height:2.8rem;padding:0 .8rem;border:1px solid rgba(17,18,20,.2);color:var(--ink,#111214);font-size:.8rem}
.tv2-pagination li>.page-numbers.current,.tv2-pagination li>a.page-numbers:hover{background:var(--ink,#111214);color:#fff;border-color:var(--ink,#111214)}

/* ---------- contact : coordonnées sur blanc, formulaire sur sombre ---------- */
.lh-contact.lh-contact--page{padding:calc(var(--top-h) + clamp(2.5rem,7vw,5rem)) 0 clamp(3rem,7vw,5rem)}
.lh-contact.lh-contact--page.lh-sec--blanc{background:#fff}
.lh-contact--page h1{font-size:clamp(3rem,9vw,7.5rem);line-height:1;margin:0 0 .3em}
.lh-sec--blanc .lh-lines .lh-k{color:var(--ink-4,#55585d)}
.lh-sec--blanc .lh-lines a:hover{color:var(--ink,#111214)}
.lh-form{padding:calc(var(--cut-h,60px) + clamp(2.5rem,6vw,4rem)) 0 clamp(4rem,9vw,7rem)}
.lh-form>.wrap{width:min(100% - 2*var(--gutter),860px)}
.lh-form h2{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 1.5rem}
.lh-form a{color:#fff;text-decoration:underline;text-underline-offset:.15em}
.lh-form .wpforms-container{--wpforms-field-background-color:transparent;--wpforms-field-border-color:rgba(255,255,255,.38);--wpforms-field-border-color-spare:rgba(255,255,255,.38);--wpforms-field-text-color:#f6f6f3;--wpforms-field-menu-color:#0d0d0e;--wpforms-label-color:#f6f6f3;--wpforms-label-sublabel-color:#a7abb0;--wpforms-label-error-color:#ff9b87;--wpforms-button-background-color:#f6f6f3;--wpforms-button-text-color:#050505;--wpforms-button-border-color:#f6f6f3;--wpforms-field-border-radius:0px;--wpforms-button-border-radius:0px;margin:0;max-width:none}
.lh-form .wpforms-container .wpforms-form label,.lh-form .wpforms-container .wpforms-form legend,.lh-form .wpforms-container .wpforms-form .wpforms-field-label{color:#f6f6f3;font-weight:400}
.lh-form .wpforms-container .wpforms-form .wpforms-field-sublabel,.lh-form .wpforms-container .wpforms-form .wpforms-field-description{color:#a7abb0}
.lh-form .wpforms-container .wpforms-form input[type=text],.lh-form .wpforms-container .wpforms-form input[type=email],.lh-form .wpforms-container .wpforms-form input[type=tel],.lh-form .wpforms-container .wpforms-form input[type=url],.lh-form .wpforms-container .wpforms-form input[type=number],.lh-form .wpforms-container .wpforms-form textarea,.lh-form .wpforms-container .wpforms-form select{background:transparent;color:#f6f6f3;border:1px solid rgba(255,255,255,.38);border-radius:0;box-shadow:none;font:inherit;font-size:1rem;padding:.8rem 1rem;max-width:100%}
.lh-form .wpforms-container .wpforms-form select option{background:#0d0d0e;color:#f6f6f3}
.lh-form .wpforms-container .wpforms-form input:focus,.lh-form .wpforms-container .wpforms-form textarea:focus,.lh-form .wpforms-container .wpforms-form select:focus{border-color:#f6f6f3;outline:2px solid #f6f6f3;outline-offset:1px;box-shadow:none}
.lh-form .wpforms-container .wpforms-form .wpforms-submit,.lh-form .wpforms-container .wpforms-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;padding:1rem 2.2rem;background:#f6f6f3;color:#050505;border:0;border-radius:0;font:500 .78rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;box-shadow:none}
.lh-form .wpforms-container .wpforms-form .wpforms-submit:hover,.lh-form .wpforms-container .wpforms-form button[type=submit]:hover{background:#fff;color:#050505}
.lh-form .wpforms-container .wpforms-form .wpforms-error,.lh-form .wpforms-container .wpforms-form label.wpforms-error,.lh-form .wpforms-container .wpforms-form em.wpforms-error{color:#ff9b87}
.lh-form .wpforms-confirmation-container-full,.lh-form .wpforms-confirmation-container{background:transparent;border:1px solid rgba(255,255,255,.38);color:#f6f6f3;padding:1.2rem 1.4rem}
.lh-form .entry-content{color:#dfe2e5}

/* ---------- histoire : bandeau blanc, manifeste sombre (celui de l'accueil), appel vers la boutique sur blanc ---------- */
.lh-hist{padding:calc(var(--cut-h,60px) + clamp(3rem,7vw,5rem)) 0 clamp(4rem,9vw,7rem)}
.lh-hist-inner{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
.lh-hist-media img{width:100%;max-width:640px;height:auto;margin-inline:auto}
@media (min-width:900px){.lh-hist-inner{grid-template-columns:1.1fr 1fr;gap:6vw}}

/* ---------- petits écrans ---------- */
@media (max-width:640px){
  .pg-hero>.wrap,.pg-body>.wrap,.tv2-lhunic-woo .pg-hero>.wrap,.tv2-lhunic-woo .pg-body>.wrap{width:min(100% - 2.2rem,1100px)}
}
