/* Éclose — habillage WooCommerce (panier, commande, compte, notices, formulaire produit). */

/* --- Header : zone marque + menu mobile --- */
.brand-zone{display:flex;align-items:center;gap:8px}
.nav.is-open{display:flex;position:fixed;inset:68px 0 0 0;background:var(--c-cream);flex-direction:column;align-items:flex-start;padding:32px var(--gut);gap:24px;z-index:60}
.nav.is-open a{font-size:18px}
body.nav-open{overflow:hidden}
.skip-link:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;clip:auto;background:var(--c-night);color:var(--c-cream);padding:12px 18px;border-radius:999px;z-index:200}
.site-footer{background:var(--c-night);color:var(--c-sand);padding:clamp(56px,7vw,96px) 0 var(--s4)}
.site-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:var(--s4)}
.site-footer h4{font-family:var(--f-body);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--c-taupe);margin:0 0 var(--s2);font-weight:700}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.site-footer a:hover{color:var(--c-cream);text-decoration:underline;text-underline-offset:4px}
.site-footer .foot-mark{width:30px;height:46px;margin-bottom:var(--s3)}
.site-footer .tagline{font-family:var(--f-display);font-size:clamp(1.6rem,1rem + 1.6vw,2.4rem);color:var(--c-cream);line-height:1.15;max-width:14em}
.site-footer .legal{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid rgba(228,218,203,.2);display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;font-size:13px;color:var(--c-taupe)}
.site-footer .legal-links{display:flex;gap:20px}
.site-footer .nl{display:flex;border-bottom:1px solid var(--c-taupe);margin-top:var(--s2)}
.site-footer .nl input{flex:1;background:none;border:0;color:var(--c-cream);font:inherit;padding:12px 0;min-width:0}
.site-footer .nl input::placeholder{color:var(--c-taupe)}
.site-footer .nl button{color:var(--c-cream);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:0 4px}
@media(max-width:900px){.site-footer .cols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.site-footer .cols{grid-template-columns:1fr}}

/* --- Accueil --- */
.hero-art .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.process .aside .aside-img{aspect-ratio:1/1.15;max-width:380px;margin-top:var(--s4);object-fit:cover;width:100%}
.contact .two-col{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:center}
.contact h2{font-size:clamp(2rem,1.2rem + 2.6vw,3.4rem);margin:var(--s2) 0 var(--s3)}
.contact .actions{margin-top:var(--s4)}
.contact-img{aspect-ratio:4/4.6;max-width:420px;margin-left:auto;object-fit:cover;width:100%}
@media(max-width:900px){.contact .two-col{grid-template-columns:1fr}}
.card img.ph{height:auto;width:100%;aspect-ratio:4/5;object-fit:cover}
.spacer{height:clamp(48px,6vw,96px)}
.empty{color:var(--c-taupe);padding:var(--s5) 0;text-align:center}

/* --- Boutique --- */
.shop-tools{display:flex;gap:24px;align-items:center}
.woocommerce-ordering select.orderby{font:inherit;font-size:13.5px;font-weight:700;color:var(--c-forest);background:none;border:0;border-bottom:1px solid var(--c-taupe);padding:8px 0;min-height:40px}
.woocommerce-pagination ul{list-style:none;display:flex;gap:8px;justify-content:center;padding:var(--s4) 0 0;margin:0}
.woocommerce-pagination a,.woocommerce-pagination span{display:grid;place-items:center;min-width:44px;height:44px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:14px}
.woocommerce-pagination .current{background:var(--c-night);color:var(--c-cream);border-color:var(--c-night)}

/* --- Fiche produit : formulaire Woo --- */
.buy .sub{color:var(--c-taupe);margin-top:8px}
.buy .desc p{margin:0 0 12px;color:var(--c-forest)}
.buy form.cart{margin-top:var(--s3)}
.buy .cta-row,.buy form.cart .cart-actions{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:var(--s3);align-items:center}
.buy .single_add_to_cart_button{background:var(--c-night);color:var(--c-cream);border:0;border-radius:999px;min-height:48px;padding:0 26px;font:inherit;font-weight:700;font-size:14px;letter-spacing:.04em;cursor:pointer;width:100%;transition:background .2s}
.buy .single_add_to_cart_button.alt{background:var(--c-night)}
.buy .single_add_to_cart_button:hover,.buy .single_add_to_cart_button.alt:hover{background:var(--c-forest)}
.buy .single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed}
.quantity input.qty{width:48px;text-align:center;border:0;background:none;font:inherit;font-weight:700;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none}
.qty-wrap{display:inline-flex;border:1px solid var(--c-taupe);border-radius:999px;overflow:hidden}
.qty-wrap button{width:44px;min-height:48px;font-size:20px;color:var(--c-forest)}
.qty-wrap button:hover{background:var(--c-linen)}
.acc-body{padding:0 0 20px;color:var(--c-forest);max-width:40em;font-size:15.5px}
.acc-body p{margin:0 0 10px}
.related{padding-bottom:clamp(64px,8vw,120px)}
.related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.related-grid .card:nth-child(3n+2){transform:none}
@media(max-width:900px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stock.out-of-stock{color:var(--c-terra);font-weight:700}

/* --- Personnalisation (plugin) --- */
.eclose-perso{display:grid;gap:var(--s3);margin:var(--s3) 0}
.eclose-perso .field{margin:0}
.eclose-perso .field.two{grid-template-columns:1fr 1fr;gap:16px}
.eclose-perso .field.two>div{display:grid;gap:8px}
.eclose-perso .field.two label{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c-forest)}
.eclose-perso .swatch input{position:absolute;opacity:0;pointer-events:none}
.eclose-perso .swatch{position:relative;cursor:pointer}
.eclose-perso .swatch:has(input:checked){border-color:var(--c-night);background:var(--c-ivory)}
.eclose-perso .swatch:has(input:focus-visible){outline:2px solid var(--c-terra);outline-offset:3px}
.eclose-perso .field .help.is-error{color:var(--c-terra)}
.eclose-perso input[aria-invalid="true"]{border-color:var(--c-terra)}

/* --- Notices Woo --- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:var(--s3) 0;padding:16px 20px;border-radius:2px;border:1px solid var(--line);background:var(--c-ivory);color:var(--c-forest);font-size:15px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.woocommerce-error{border-color:var(--c-terra);color:var(--c-terra)}
.woocommerce-message .button,.woocommerce-info .button{order:2;border:1px solid var(--c-night);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;color:var(--c-night)}
.woocommerce-notices-wrapper:empty{display:none}

/* --- Pages Woo (panier, commande, compte) : conteneur & typo --- */
.prose{max-width:72ch;font-size:16.5px}
.prose.wc-page{max-width:none}
.prose h2,.prose h3{margin:var(--s4) 0 var(--s2)}
.prose h2{font-size:clamp(1.5rem,1rem + 1.4vw,2.1rem)}
.prose h3{font-size:1.2rem}
.prose p,.prose li{color:var(--c-forest)}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th,.prose td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-taupe);font-weight:700}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button,#place_order,.checkout-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;background:var(--c-night);color:var(--c-cream);border:0;font:inherit;font-weight:700;font-size:14px;letter-spacing:.04em;cursor:pointer;text-decoration:none;transition:background .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,#place_order:hover,.checkout-button:hover{background:var(--c-forest);color:var(--c-cream)}

.woocommerce-cart .product-thumbnail img{width:64px;height:80px;object-fit:cover;border-radius:999px 999px 0 0}
.woocommerce-cart .product-remove a{color:var(--c-taupe);font-size:20px;text-decoration:none}
.woocommerce-cart .coupon{display:flex;gap:8px;align-items:center}
.woocommerce-cart .cart_totals{margin-top:var(--s4);padding:var(--s3);background:var(--c-ivory);border:1px solid var(--line);max-width:420px;margin-left:auto}
.woocommerce-cart .cart_totals h2{margin-top:0;font-size:1.4rem}
.woocommerce-cart .cart_totals .order-total td{font-family:var(--f-display);font-size:1.4rem}
.woocommerce-cart .wc-proceed-to-checkout{margin-top:var(--s3)}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{width:100%}
.variation,.wc-item-meta{list-style:none;margin:6px 0 0;padding:0;font-size:13.5px;color:var(--c-taupe)}
.variation dt,.wc-item-meta dt,.wc-item-meta strong{display:inline;font-weight:700;color:var(--c-forest);margin-right:4px}
.variation dd,.wc-item-meta dd{display:inline;margin:0}
.variation dd p,.wc-item-meta p{display:inline;margin:0}

/* Formulaires (commande, compte) */
.woocommerce form .form-row{margin:0 0 16px}
.woocommerce form .form-row label{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c-forest);margin-bottom:8px}
.woocommerce form .form-row label .required{color:var(--c-terra);text-decoration:none}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{width:100%;font:inherit;font-size:16px;padding:12px 16px;min-height:50px;border:1px solid var(--c-taupe);background:var(--c-ivory);border-radius:2px;color:var(--c-ink);box-sizing:border-box}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:24px;color:var(--c-ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:48px}
.woocommerce form .form-row .input-text:focus,.woocommerce form .form-row select:focus{outline:2px solid var(--c-terra);outline-offset:1px;border-color:transparent}
.woocommerce form .form-row.woocommerce-invalid .input-text{border-color:var(--c-terra)}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.woocommerce-checkout #order_review_heading{margin-top:var(--s5)}
.woocommerce-checkout #order_review{background:var(--c-ivory);border:1px solid var(--line);padding:var(--s3)}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;padding:0;margin:var(--s3) 0}
.woocommerce-checkout #payment li{padding:14px 0;border-top:1px solid var(--line)}
.woocommerce-checkout #payment li label{display:inline-flex;align-items:center;gap:10px;font-weight:700;cursor:pointer}
.woocommerce-checkout #payment .payment_box{background:var(--c-cream);padding:14px 16px;margin-top:10px;border-radius:2px;font-size:14px;color:var(--c-forest)}
.woocommerce-checkout #place_order{width:100%;margin-top:var(--s3)}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:14px;color:var(--c-forest);margin-top:var(--s3)}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p{margin:0 0 10px}
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text{font-weight:400;text-transform:none;letter-spacing:0;font-size:14.5px}
.woocommerce-checkout .validate-required .woocommerce-terms-and-conditions-checkbox-text::after{content:" *";color:var(--c-terra)}
@media(max-width:900px){.woocommerce-checkout .col2-set{grid-template-columns:1fr}}

/* Confirmation de commande */
.woocommerce-order .woocommerce-thankyou-order-received{font-family:var(--f-display);font-size:clamp(1.6rem,1rem + 1.6vw,2.3rem);color:var(--c-ink);margin-bottom:var(--s3)}
.woocommerce-order-overview{list-style:none;padding:var(--s3);margin:0 0 var(--s4);border:1px solid var(--line);background:var(--c-ivory);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s2);font-size:14px;color:var(--c-taupe)}
.woocommerce-order-overview strong{display:block;color:var(--c-ink);font-size:16px;margin-top:4px}

/* Compte */
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 var(--s4);display:flex;gap:8px;flex-wrap:wrap}
.woocommerce-MyAccount-navigation a{display:inline-flex;min-height:40px;align-items:center;padding:0 16px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:700;color:var(--c-forest)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--c-night);color:var(--c-cream);border-color:var(--c-night)}

/* Journal */
.posts{display:grid;gap:var(--s5)}
.post-card{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--s4);align-items:center}
.post-card .fig img{aspect-ratio:4/5;object-fit:cover;width:100%;max-width:360px}
.post-card h2{font-size:clamp(1.5rem,1rem + 1.6vw,2.2rem);margin:var(--s2) 0}
@media(max-width:700px){.post-card{grid-template-columns:1fr}}

/* Compléments personnalisation */
.eclose-perso .lbl,.eclose-perso label{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c-forest)}
.eclose-perso .req{color:var(--c-terra)}
.eclose-perso select{font:inherit;font-size:17px;padding:14px 16px;border:1px solid var(--c-taupe);background:var(--c-ivory);border-radius:2px;color:var(--c-ink);min-height:52px;width:100%}
.try-form .actions{margin-top:var(--s4);display:flex;gap:14px;flex-wrap:wrap}
.try-form .eclose-perso{margin-top:var(--s3)}
.nav li,.site-footer .menu li{list-style:none;display:contents}
.site-footer ul.menu{display:grid}
