/*
Theme Name: Les Lucarnes
Theme URI: https://leslucarnes.fr
Author: Les Lucarnes
Description: Thème sur mesure de la boutique Les Lucarnes.
Version: 0.1.0
Text Domain: les-lucarnes
*/

:root {
  --lucarne-ink: #0b1e33;
  --lucarne-gold: #c99235;
  --lucarne-coral: #f3c75a;
  --lucarne-slate: #4d7b94;
  --lucarne-sage: #7e9a84;
  --lucarne-paper: #fcfaf6;
  --lucarne-paper-warm: #f2e8d9;
  --lucarne-line: rgba(11, 30, 51, .14);
  --lucarne-serif: "Cormorant Garamond", Georgia, serif;
  --lucarne-sans: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--lucarne-ink); background: var(--lucarne-paper); font: 400 16px/1.55 var(--lucarne-sans); }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--lucarne-coral); }
.site-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.site-header { border-bottom: 1px solid var(--lucarne-line); background: rgba(252,250,246,.95); }
.site-header__inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.site-branding { display: block; flex: 0 0 155px; }
.site-logo { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.site-title { font: 700 clamp(1.7rem, 3vw, 2.3rem)/.95 var(--lucarne-serif); letter-spacing: .025em; }
.site-tagline { font-size: .7rem; letter-spacing: .11em; text-transform: uppercase; color: var(--lucarne-slate); }
.primary-menu ul { display: flex; gap: 21px; align-items: center; list-style: none; margin: 0; padding: 0; font-size: .88rem; font-weight: 700; }
.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { display: inline-block; border: 0; border-radius: 999px; padding: .75rem 1.25rem; background: var(--lucarne-gold); color: white; font: 700 .85rem/1 var(--lucarne-sans); cursor: pointer; }
.button--coral { background: var(--lucarne-coral); }
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { color: white; filter: brightness(.94); }
.hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 42px; align-items: center; padding: 76px 0; }
.eyebrow { margin: 0 0 12px; color: var(--lucarne-coral); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hero h1, .section-title { margin: 0; font-family: var(--lucarne-serif); line-height: .98; letter-spacing: -.02em; }
.hero h1 { font-size: clamp(3.25rem, 7vw, 5.8rem); }
.hero__text { font-size: 1.1rem; max-width: 39rem; margin: 23px 0 28px; }
.window-scene { min-height: 380px; position: relative; overflow: hidden; border-radius: 160px 160px 18px 18px; background: var(--lucarne-paper-warm); }
.window { position: absolute; width: 38%; aspect-ratio: .7; bottom: 0; border: 10px solid var(--lucarne-ink); border-bottom: 0; border-radius: 110px 110px 0 0; background: var(--lucarne-gold); box-shadow: inset 0 0 0 10px var(--lucarne-paper-warm); }
.window::after { content: ""; position: absolute; left: 50%; top: 0; height: 100%; width: 8px; transform: translateX(-50%); background: var(--lucarne-ink); }
.window--one { left: 13%; height: 59%; background: var(--lucarne-coral); }
.window--two { right: 12%; height: 76%; background: var(--lucarne-slate); }
.spark { position: absolute; height: 16px; width: 16px; background: var(--lucarne-gold); transform: rotate(45deg); }
.spark--one { top: 20%; left: 23%; }.spark--two { top: 14%; right: 21%; background: var(--lucarne-coral); }.spark--three { top: 36%; right: 42%; background: var(--lucarne-sage); }
.entry-section { padding: 72px 0; background: var(--lucarne-paper-warm); }
.section-intro { max-width: 41rem; margin-bottom: 30px; }.section-title { font-size: clamp(2.3rem, 4vw, 3.5rem); }
.entry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.entry-card { min-height: 250px; display: flex; flex-direction: column; justify-content: flex-end; padding: 25px; border-radius: 14px; color: var(--lucarne-ink); background: var(--lucarne-paper); border: 1px solid var(--lucarne-line); transition: transform .2s ease, box-shadow .2s ease; }
.entry-card:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(11,30,51,.12); }
.entry-card__window { width: 68px; height: 86px; margin-bottom: auto; border-radius: 36px 36px 0 0; background: var(--lucarne-gold); border: 6px solid var(--lucarne-ink); border-bottom: 0; }
.entry-card:nth-child(2) .entry-card__window { background: var(--lucarne-coral); }.entry-card:nth-child(3) .entry-card__window { background: var(--lucarne-slate); }
.entry-card h3 { margin: 0 0 6px; font: 700 2rem/1 var(--lucarne-serif); }.entry-card p { margin: 0; }
.site-footer { padding: 38px 0; background: var(--lucarne-ink); color: var(--lucarne-paper); }.site-footer p { margin: 0; font-size: .86rem; }

@media (max-width: 760px) {
  .site-header__inner, .primary-menu ul { gap: 12px; }.site-branding { flex-basis: 118px; }.site-header__inner { min-height: 72px; }.primary-menu ul { font-size: .74rem; flex-wrap: wrap; justify-content: flex-end; }.hero { grid-template-columns: 1fr; padding: 45px 0; }.window-scene { min-height: 290px; }.entry-grid { grid-template-columns: 1fr; }.entry-card { min-height: 180px; }
}

.breizh-band{display:flex;justify-content:center;align-items:center;gap:60px;padding:15px 20px;background:#0b1e33;color:#f3d58a}.breizh-band span{display:flex;align-items:center;gap:15px}.theme-hero-image img{width:100%;height:400px;object-fit:cover}.theme-hero-image p{font-size:.8rem}.button,.woocommerce a.button,.woocommerce button.button{background:#0b1e33;color:white}.woocommerce{max-width:1180px;margin:40px auto;padding:0 20px}.woocommerce input,.woocommerce select,.woocommerce textarea{padding:12px;max-width:100%}.woocommerce div.product .product_title{font:500 3rem/1.1 Georgia,serif}@media(max-width:760px){.breizh-band{flex-direction:column;gap:10px}.theme-hero-image img{height:280px}}
/* Reprise de la maquette validée, avec formulaires natifs WooCommerce. */
:root{--lucarne-ink:#173c69;--lucarne-gold:#bd8a20;--lucarne-paper:#fffdf8;--lucarne-serif:Georgia,'Times New Roman',serif;--lucarne-sans:Arial,Helvetica,sans-serif}
.local-notice{text-align:center;background:#f8e6ac;color:#594313;padding:8px 16px;font-size:.8rem}.site-header{position:sticky;top:0;z-index:30}.site-header__inner{min-height:90px}.site-logo{width:145px;height:90px;object-fit:cover}.site-branding{flex-basis:145px}.primary-menu ul{font-size:.8rem;gap:17px}.primary-menu a{white-space:nowrap}.primary-menu li:last-child{display:none}.header-actions{display:flex;gap:12px;align-items:center}.header-cart{white-space:nowrap;border:1px solid var(--lucarne-line);border-radius:30px;padding:9px 13px;font-size:.85rem}.ll-cart-count{display:inline-grid;place-items:center;background:#edc95c;color:#173c69;border-radius:50%;min-width:22px;height:22px;margin-left:4px}.mobile-navigation{display:none}.breizh-band{background:#173c69}.hero{gap:65px;min-height:620px}.hero h1{font-weight:400;font-size:clamp(3rem,5.6vw,5rem);line-height:1.06}.hero__text{color:#43607e;line-height:1.8}.eyebrow{color:#93660f}.theme-hero-image{position:relative;overflow:hidden;border-radius:3px 3px 100px 3px;box-shadow:0 16px 35px #173c6920}.theme-hero-image img{display:block;height:470px}.theme-hero-image p{position:absolute;bottom:0;left:0;right:0;padding:30px 22px;margin:0;color:white;background:linear-gradient(transparent,#132c48);font-size:.9rem}.entry-section{background:var(--lucarne-paper);padding:35px 0 90px}.section-title{font-weight:400;line-height:1.12}.entry-grid{margin-top:40px;gap:22px}.entry-card{border-radius:3px;padding:30px;min-height:275px;justify-content:center;border-top:3px solid #c8921e;background:#f9efd3}.entry-card:nth-child(2){background:#e4eef3;border-top-color:#5f91aa}.entry-card:nth-child(3){background:#e8eedf;border-top-color:#879b70}.entry-card h3{font-weight:400;line-height:1.2;margin-bottom:20px}.footer-layout{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-layout strong{font:400 1.8rem Georgia,serif}.footer-layout nav{display:flex;flex-wrap:wrap;gap:22px;font-size:.85rem}.image-credit{font-size:.7rem!important;margin-top:25px!important}.content-page{padding:55px 0 90px;min-height:65vh}.page-heading h1{font:400 clamp(2.8rem,5vw,4.6rem)/1.1 Georgia,serif;margin:0 0 45px}.editorial-content{max-width:850px}.editorial-content p{line-height:1.8;color:#43607e}.editorial-content h2{font:400 2.2rem/1.2 Georgia,serif;margin:35px 0 18px}.editorial-content details{padding:20px 0;border-bottom:1px solid var(--lucarne-line)}.editorial-content summary{font:400 1.4rem/1.5 Georgia,serif;cursor:pointer}.ll-contact-form{max-width:620px;padding:30px;background:#eaf0f4;margin-top:30px}.ll-contact-form label{display:grid;gap:8px;margin:20px 0}.ll-contact-form input,.ll-contact-form textarea{width:100%;border:1px solid #9aaabc;background:white;padding:12px;font:inherit;color:var(--lucarne-ink)}.ll-contact-form [role=status]:empty{display:none}.woocommerce ul.products li.product a img{aspect-ratio:1.2;object-fit:cover}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:400 1.6rem/1.25 Georgia,serif}.woocommerce div.product p.price{color:var(--lucarne-ink);font-size:1.6rem}.woocommerce div.product div.images img{border-radius:3px}.woocommerce .quantity .qty{min-height:43px;width:70px}.woocommerce button.button.alt,.woocommerce a.button.alt{background:var(--lucarne-ink)}.woocommerce-info,.woocommerce-message{border-top-color:var(--lucarne-gold)}.woocommerce-info::before,.woocommerce-message::before{color:var(--lucarne-ink)}.woocommerce table.shop_table{border-color:var(--lucarne-line)}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{font:inherit;border:1px solid #9aaabc;min-height:44px}.woocommerce form .form-row label{line-height:1.7;margin:10px 0}.woocommerce #payment{background:#edf1f3}.woocommerce-cart .cart-collaterals .cart_totals{background:#f2ead8;padding:26px}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#f7efdd;border-color:var(--lucarne-line)}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{clip:auto;width:auto;height:auto;z-index:100;background:white;padding:15px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #bd8a20;outline-offset:3px}.ll-product-facts{border-top:1px solid var(--lucarne-line);border-bottom:1px solid var(--lucarne-line);padding:16px 0;margin:20px 0}.ll-product-facts div{display:flex;gap:20px;padding:7px 0}.ll-product-facts dt{min-width:110px;font-weight:700}.ll-product-facts dd{margin:0}
@media(max-width:1100px){.primary-menu{display:none}.mobile-navigation{display:block}.mobile-navigation summary{cursor:pointer;padding:10px;border:1px solid var(--lucarne-line);border-radius:25px}.mobile-navigation nav{position:absolute;top:100%;left:0;right:0;background:var(--lucarne-paper);padding:20px;border-bottom:1px solid var(--lucarne-line);box-shadow:0 12px 20px #173c6915}.mobile-navigation ul{list-style:none;padding:0;margin:0}.mobile-navigation a{display:block;padding:12px}.hero{gap:35px}}
@media(max-width:760px){.site-shell{width:calc(100% - 36px)}.hero{min-height:auto}.hero h1{font-size:3.1rem}.theme-hero-image img{height:330px}.entry-section{padding-top:25px}.entry-card{min-height:220px}.footer-layout{display:block}.footer-layout nav{margin-top:25px}.content-page{padding:35px 0 60px}.ll-contact-form{padding:22px}.woocommerce{padding:0;margin:20px auto}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}.woocommerce ul.products[class*=columns-] li.product{width:100%;float:none;margin-right:0}.woocommerce div.product .product_title{font-size:2.5rem}.woocommerce-cart .cart-collaterals .cart_totals{padding:18px}}
/* WooCommerce also places its class on body; keep the site frame full width. */
body.woocommerce{max-width:none;margin:0;padding:0}
.woocommerce-products-header h1{font:400 clamp(2.5rem,5vw,4rem)/1.1 Georgia,serif}
@media(max-width:380px){.site-logo{width:118px}.site-branding{flex-basis:118px}.site-header__inner{gap:8px}.header-actions{gap:6px}.header-cart{padding:9px}.hero h1{font-size:2.7rem}}

/* Keep links readable on pale surfaces and identifiable without color alone. */
a:hover{color:#795510}
.site-footer a:hover{color:#f3c75a}
.editorial-content p a,.editorial-content li a,.image-credit a{text-decoration:underline;text-underline-offset:.2em}
select:focus-visible,[tabindex]:focus-visible{outline:3px solid #795510;outline-offset:3px}
:target{scroll-margin-top:120px}
@media(prefers-reduced-motion:reduce){.entry-card{transition:none}.entry-card:hover{transform:none}}

/* Catalogue : controls remain usable on narrow screens and without JavaScript. */
.ll-catalog-tools{background:var(--lucarne-paper-warm);border:1px solid var(--lucarne-line);border-radius:12px;padding:24px;margin-bottom:32px}
.ll-catalog-search{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;gap:18px}
.ll-catalog-search label{display:grid;gap:8px;font-size:.9rem;font-weight:700;min-width:0}
.ll-catalog-search input,.ll-catalog-search select{width:100%;min-width:0;min-height:46px;background:white;border:1px solid #8a9aaa;border-radius:5px;padding:10px 12px;font:inherit;color:var(--lucarne-ink)}
.ll-catalog-search button{min-height:46px;background:var(--lucarne-ink)}
.ll-reset-search,.ll-back-shop a{text-decoration:underline;text-underline-offset:3px}.ll-reset-search{display:inline-block;margin-top:16px}.ll-back-shop{margin-bottom:28px}
.ll-empty-catalog{padding:32px;border:1px solid var(--lucarne-line);border-radius:12px;margin:20px 0 45px}.ll-empty-catalog h2{font:400 2rem/1.2 Georgia,serif}
.woocommerce .woocommerce-breadcrumb{line-height:1.7;margin-bottom:12px}
@media(max-width:760px){.ll-catalog-search{grid-template-columns:1fr}.ll-catalog-tools{padding:18px}.ll-catalog-search button{width:100%}}
.ll-card-facts{font-size:.85rem;color:#43607e;margin:8px 0 12px;line-height:1.5}
.ll-product-editorial{clear:both;max-width:850px;padding:24px 0 40px;line-height:1.8}
.ll-product-editorial h2{font:400 2rem/1.2 Georgia,serif;margin:24px 0 18px}.ll-product-editorial .wp-video{max-width:100%}
.woocommerce ul.products li.product a img{object-fit:contain;background:var(--lucarne-paper-warm)}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.woocommerce div.product div.images .flex-control-thumbs li{float:none;width:calc(25% - 8px)}
.woocommerce div.product div.images .flex-control-thumbs img{aspect-ratio:1;object-fit:contain;background:var(--lucarne-paper-warm);border:2px solid transparent}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active{border-color:var(--lucarne-gold)}
@media(max-width:480px){.ll-product-facts div{display:grid;gap:3px}.ll-product-facts dt{min-width:0}}

.ll-contact-form select{width:100%;min-height:46px;padding:12px;border:1px solid #9aaabc;background:white;font:inherit;color:var(--lucarne-ink)}.ll-contact-form button:disabled{opacity:.65;cursor:wait}.ll-contact-form [data-ll-result]:empty{display:none}

.ll-buyer-guide{clear:both;margin:2.5rem 0;padding:clamp(18px,3vw,32px);background:#f3ecdc;border-radius:8px}.ll-buyer-guide h2{margin-top:0}.ll-buyer-guide details{border-top:1px solid #d6cbb8;padding:12px 0}.ll-buyer-guide summary{cursor:pointer;font-weight:600;min-height:32px;line-height:1.6}.ll-buyer-guide summary:focus-visible{outline:2px solid #183b63;outline-offset:4px}.ll-buyer-guide li{margin-bottom:.65rem}.ll-buyer-guide a{text-decoration:underline}

/* Clear catalogue prices, uncropped illustrations and keyboard focus. */
.woocommerce ul.products li.product .price,.woocommerce div.product .stock{color:#183b63}
.woocommerce ul.products li.product a img{object-fit:contain;background:#f3ecdc}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #795510;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Identité validée par Maël, octobre 2026. Le mélange retire visuellement le fond blanc du JPEG. */
.site-logo{width:170px;height:124px;object-fit:contain;mix-blend-mode:multiply}
.site-branding{flex-basis:170px;flex-shrink:0}
.entry-card{background:#f5dfa0;border-top-color:#b78016}
.entry-card:nth-child(2){background:#c4e0ef;border-top-color:#367ca4}
.entry-card:nth-child(3){background:#b8d69c;border-top-color:#43712d}
.breizh-band>span:first-child{flex-wrap:wrap;justify-content:center}
.ll-about-intro{font:400 clamp(1.3rem,2.5vw,1.7rem)/1.65 Georgia,serif;color:#234b6d!important;border-left:4px solid #c51d30;padding-left:24px}
.ll-about-welcome{background:#f5dfa0;padding:24px 28px;border-radius:3px;font-weight:600}
@media(max-width:760px){.site-logo{width:125px;height:92px}.site-branding{flex-basis:125px}.ll-about-intro{padding-left:16px}}

/* Hiérarchie typographique : titres affirmés, sans prendre toute la page. */
.hero h1{font-size:clamp(2.45rem,4.6vw,4.1rem);line-height:1.08}
.section-title{font-size:clamp(2rem,3.5vw,3rem);line-height:1.16}
.page-heading h1,.woocommerce-products-header h1{font-size:clamp(2.25rem,3.8vw,3.35rem);line-height:1.12}
.woocommerce div.product .product_title{font-size:clamp(2rem,3.3vw,2.85rem);line-height:1.15}
.editorial-content h2,.ll-product-editorial h2{font-size:clamp(1.65rem,2.5vw,2.05rem);line-height:1.22}
.entry-card h3{font-size:clamp(1.5rem,2.4vw,1.85rem)}
@media(max-width:760px){.hero h1{font-size:2.65rem}.page-heading h1,.woocommerce-products-header h1{font-size:2.45rem}.woocommerce div.product .product_title{font-size:2.2rem}}

/* Boutique : toutes les vignettes gardent le même cadre ; l'image entière reste visible. */
.woocommerce ul.products li.product a img{display:block;width:100%;height:clamp(160px,12vw,220px);max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center;background:var(--lucarne-paper-warm);border:1px solid var(--lucarne-line);border-radius:4px;padding:0}
/* Sur mobile, un produit occupe toute la largeur : préserver son ratio évite un grand cadre vide. */
/* Chaque visuel de boutique garde le même cadre horizontal sur téléphone.
   Les fichiers importés n'ont pas tous la même taille technique, mais aucun
   ne doit modifier la hauteur de sa carte. */
@media (max-width: 900px){
  .woocommerce ul.products li.product a img{display:block;width:100%;height:clamp(230px,calc((100vw - 38px) * .7071),360px);max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center;padding:0}
}
.woocommerce div.product div.images img{background:transparent}
.woocommerce div.product div.images .flex-control-thumbs img{background:transparent}

/* Liens contractuels : toujours repérables en bas de page. */
.footer-legal{padding-top:18px;margin-top:20px;border-top:1px solid #ffffff38}
.footer-legal nav{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:.82rem}
.footer-legal .image-credit{margin-top:22px!important}

/* Visuels ajoutés par Maël : conserver l'intégralité de l'image, sans rognage latéral. */
.theme-hero-image{background:var(--lucarne-paper-warm)}
.theme-hero-image img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:transparent}

/* Accueil : le visuel s'étend sur toute la page, sans jamais être recadré. */
@media (min-width:761px){.hero{grid-template-columns:1fr;gap:44px}.hero>div{max-width:760px}.theme-hero-image{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}}
@media (max-width:760px){.theme-hero-image{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px}}

/* Le titre manifeste de l'accueil reste volontairement d'un seul tenant. */
.entry-section .section-title{white-space:nowrap;font-size:clamp(.95rem,3.2vw,3rem);letter-spacing:-.035em}

/* Ajustements éditoriaux demandés par Maël. */
.hero h1{font-size:clamp(2.3rem,4.1vw,3.65rem)}
.hero>div:first-child{text-align:center;margin-left:auto;margin-right:auto}
.hero>div:first-child .hero__text{margin-left:auto;margin-right:auto}
.hero>div:first-child h1{white-space:nowrap;font-size:clamp(1.05rem,2.85vw,3.65rem);letter-spacing:-.035em}
.entry-section .section-title{white-space:nowrap;font-size:clamp(.95rem,2.95vw,2.55rem);letter-spacing:-.035em}
.ll-about-intro{font-size:clamp(1.17rem,2.15vw,1.45rem);line-height:1.48}

/* Relecture Maël — 25 octobre 2026. */
.band-globe{font-size:1.15em;line-height:1}
.hero .eyebrow,.entry-section .section-intro .eyebrow{color:#d51e2d;font-size:.88rem;letter-spacing:.13em}
.ll-reservation-notice,.ll-shipping-notice{margin:18px 0 0;padding:11px 14px;border-left:3px solid var(--lucarne-gold);background:#f7f0e2;color:#43607e;font-size:.88rem;line-height:1.55}
.woocommerce-cart .shipping-calculator-button,.woocommerce-cart .shipping-calculator-form{display:none!important}
/* Les boutons Stripe express apparaissent après les coordonnées, à la commande,
   et non dans le panier. */
.woocommerce-cart #wc-stripe-express-checkout-element{display:none!important}
/* Le paiement intervient une fois le panier et les coordonnées confirmés. */
.single-product #wc-stripe-express-checkout-element{display:none!important}
.woocommerce-checkout .ll-express-payment-heading{margin:28px 0 12px;text-align:center;color:#43607e;font-size:.95rem}
.woocommerce-checkout #payment + .ll-express-payment-heading + #wc-stripe-express-checkout-element{margin:0 0 28px}
/* La page Panier utilise un contenu éditorial plus étroit par défaut ; elle
   reprend ici toute la largeur disponible pour éviter d'écraser le tableau. */
.woocommerce-cart .editorial-content{max-width:none}
@media (min-width: 1100px){
  /* Un parcours unique et ample : commande, code groupé puis total. */
  .woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
  .woocommerce-cart .woocommerce-cart-form{grid-column:1;grid-row:1;float:none;width:100%;min-width:0}
  .woocommerce-cart .woocommerce-cart-form table.cart{width:100%;table-layout:fixed}
  .woocommerce-cart .woocommerce-cart-form .product-remove{width:44px}
  .woocommerce-cart .woocommerce-cart-form .product-thumbnail{width:108px}
  .woocommerce-cart .woocommerce-cart-form .product-price{width:82px}
  .woocommerce-cart .woocommerce-cart-form .product-quantity{width:100px}
  .woocommerce-cart .woocommerce-cart-form .product-subtotal{width:94px}
  .woocommerce-cart .woocommerce-cart-form .product-name{min-width:0;overflow-wrap:anywhere}
  .woocommerce-cart .cart-collaterals{grid-column:1;grid-row:2;float:none;width:100%;margin:0;display:block}
  .woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%}
  .woocommerce-cart .woocommerce::after{display:none}
}

/* Accueil : le visuel de collection porte désormais le titre et son actualité. */
.homepage-showcase{position:relative;width:100%;background:#f4e8d7}
.homepage-showcase__visual{position:relative;display:block;overflow:hidden;color:var(--lucarne-ink)}
.homepage-showcase__visual>img{display:block;width:100%;height:auto;min-height:280px;object-fit:cover;object-position:center}
.homepage-showcase__title{position:absolute;z-index:1;top:calc(clamp(18px,2.5vw,52px) + var(--ll-hero-title-offset,0px));left:50%;width:min(1220px,calc(100% - 40px));transform:translateX(-50%);text-align:center;text-shadow:0 1px 0 #fff8}
.homepage-showcase__title .eyebrow{margin-bottom:7px;color:#d51e2d;font-size:clamp(.7rem,1vw,.9rem);letter-spacing:.15em}
.homepage-showcase__title h1{margin:0;color:#173c69;font:400 clamp(1.7rem,2.65vw,3rem)/1.08 var(--lucarne-serif);letter-spacing:-.03em}
.homepage-showcase__campaign{position:absolute;z-index:1;right:clamp(18px,6vw,100px);bottom:calc(clamp(18px,4vw,65px) - var(--ll-campaign-offset,0px));max-width:min(790px,calc(100% - 36px));margin:0;padding:16px 24px 14px;background:#fffdf8e8;border:1px solid #173c6926;color:#173c69;font:400 clamp(1.15rem,2.65vw,2.45rem)/1.14 var(--lucarne-serif);text-align:right;box-shadow:0 8px 24px #173c6914}
.homepage-showcase__campaign span{display:block;margin-top:7px;font:700 clamp(.67rem,1.2vw,.98rem)/1.35 var(--lucarne-sans);letter-spacing:.04em;text-transform:uppercase}
.hero--after-showcase{display:block;min-height:0;padding:42px 0 50px;text-align:center}
.hero--after-showcase>div{max-width:760px;margin:0 auto}
.hero--after-showcase .hero__text{margin:0 auto 24px}
.ll-group-order{clear:both;margin:18px 0 0;padding:14px 16px;border:1px solid var(--lucarne-line);border-left:3px solid var(--lucarne-gold);background:#f7f0e2;color:#173c69}
.ll-group-order p{margin:0}
.ll-group-order__intro{display:flex;gap:8px;align-items:baseline;margin-bottom:10px!important;font-size:.9rem;line-height:1.4}
.ll-group-order__intro span{color:#43607e}
.ll-group-order__form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ll-group-order__form input{flex:1 1 190px;min-height:42px;padding:8px 10px;border:1px solid #173c6960;background:#fff;font:inherit}
@media(max-width:760px){
  .homepage-showcase__visual>img{min-height:360px;height:62vw;object-position:center bottom}
  .homepage-showcase__title{top:calc(18px + var(--ll-hero-title-offset,0px));width:calc(100% - 28px)}
  .homepage-showcase__title h1{font-size:clamp(1.7rem,7.3vw,2.45rem)}
  .homepage-showcase__campaign{right:14px;bottom:calc(16px - var(--ll-campaign-offset,0px));max-width:calc(100% - 28px);padding:12px 15px 11px;font-size:clamp(1.05rem,5vw,1.55rem)}
  .homepage-showcase__campaign span{font-size:.61rem}
  .hero--after-showcase{padding:30px 0 38px}
  .ll-group-order__form{align-items:stretch}
  .ll-group-order__intro{display:block}
  .ll-group-order__intro span{display:block;margin-top:4px}
}

/* Relecture Maël — panier, commande et incarnation de la page À propos. */
.band-globe{font-size:1.3em}
.ll-about-portrait{float:right;width:min(38%,340px);margin:0 0 28px 34px}
.ll-about-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border:1px solid var(--lucarne-line);border-radius:4px;box-shadow:0 12px 26px #173c691c}
.ll-about-portrait figcaption{margin-top:8px;color:#43607e;font-size:.8rem;line-height:1.35;text-align:center}
.woocommerce-cart .woocommerce-cart-form .product-thumbnail img{display:block;width:96px!important;height:96px!important;max-width:none;object-fit:contain;background:#f7f0e2;border:1px solid var(--lucarne-line);border-radius:3px;padding:4px}
.woocommerce-cart .woocommerce-cart-form .product-remove a{display:inline-flex!important;align-items:center;justify-content:center;width:122px!important;height:42px!important;min-height:42px!important;margin:auto;padding:10px 16px!important;overflow:visible!important;text-indent:0!important;background:#0b2744!important;border:1px solid #0b2744!important;border-radius:999px;color:#fff!important;font-weight:700;line-height:1!important;text-decoration:none;white-space:nowrap}
.woocommerce-cart .woocommerce-cart-form .product-remove a .ll-remove-icon{display:none}
.woocommerce-cart .woocommerce-cart-form .product-remove a .ll-remove-label{font-size:.84rem;line-height:1}
.woocommerce-cart .woocommerce-cart-form .product-remove a:hover{background:#1d4a7e!important;border-color:#1d4a7e!important;color:#fff!important}
@media(min-width:761px){
  .woocommerce-cart .woocommerce-cart-form .product-remove{width:154px!important;padding:0 18px!important;text-align:center!important}
  .woocommerce-cart .woocommerce-cart-form .product-thumbnail{width:138px!important;padding-left:20px!important}
  .woocommerce-cart .woocommerce-cart-form .product-name{padding-left:12px!important}
}
.woocommerce-cart .woocommerce-cart-form table.cart td.actions{display:table-cell!important;width:auto!important;padding-top:20px;padding-bottom:20px;text-align:right}
.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon{float:left;display:flex;align-items:center;gap:10px;min-width:0;margin:0}
.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon .input-text{width:160px!important;min-height:42px;margin:0!important;border-color:#173c6960}
.woocommerce-cart .woocommerce-cart-form table.cart td.actions button[name="apply_coupon"]{white-space:nowrap}
.woocommerce-cart .woocommerce-cart-form table.cart td.actions button[name="update_cart"]{float:right;margin:0!important;white-space:nowrap}
.woocommerce-cart .woocommerce-cart-form table.cart td.actions button[name="update_cart"]:disabled{background:#64758a!important;color:#fff!important;opacity:1!important}
.ll-reservation-notice,.ll-shipping-notice,.ll-continue-shopping,.ll-group-order{clear:both;max-width:100%}
.ll-reservation-notice{margin-top:26px!important;background:transparent!important;border-left:0!important;padding:0!important;color:#43607e!important;font-size:.84rem!important}
.ll-shipping-notice{margin-top:14px!important;background:#f7f0e2!important}
.ll-continue-shopping{margin:18px 0 0!important}
.ll-continue-shopping .button{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:12px 22px!important;background:#173c69!important;border-color:#173c69!important;color:#fff!important;font-size:1rem}
.ll-group-order{margin-top:24px!important;max-width:none}
/* L'adresse du retrait est déjà incluse dans son libellé : ne pas la doubler.
   L'adresse du point relais reste, elle, visible quand Mondial Relay est choisi. */
.woocommerce-cart .cart-collaterals #shipping_method:has(input[value^="ll_local_pickup"]:checked) + .woocommerce-shipping-destination{display:none!important}
@media(max-width:760px){
  .ll-about-portrait{float:none;width:min(100%,340px);margin:0 auto 26px}
  /* WooCommerce masque la miniature du panier par défaut sur téléphone.
     On la conserve : elle évite qu'une ligne ne ressemble à un produit sans image. */
  .woocommerce-cart .woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item{display:grid!important;grid-template-columns:minmax(0,1fr) 118px;grid-template-areas:"thumbnail remove" "name name" "price price" "quantity quantity" "subtotal subtotal"}
  .woocommerce-cart .woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item .product-remove{grid-area:remove;display:flex!important;align-items:center;justify-content:center;text-align:center!important;padding:0!important}
  .woocommerce-cart .woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item .product-remove a{margin:0!important}
  .woocommerce-cart .woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item .product-thumbnail{grid-area:thumbnail;display:flex!important;align-items:center;justify-content:center;text-align:center!important;padding:16px 0 10px 0!important}
  .woocommerce-cart .woocommerce-cart-form table.cart .product-thumbnail::before{display:none!important}
  .woocommerce-cart .woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item .product-name{grid-area:name}
  .woocommerce-cart .woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item .product-price{grid-area:price}
  .woocommerce-cart .woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item .product-quantity{grid-area:quantity}
  .woocommerce-cart .woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item .product-subtotal{grid-area:subtotal}
  .woocommerce-cart .woocommerce-cart-form .product-thumbnail img{width:170px!important;height:120px!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
  .woocommerce-cart .woocommerce-cart-form .product-remove a{width:108px!important;height:40px!important;min-height:40px!important;padding:8px 10px!important;font-size:.82rem!important}
  .woocommerce-cart .woocommerce-cart-form table.cart td.actions{display:block!important}
  .woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon{float:none;display:flex;flex-wrap:wrap}
  .woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon .input-text{flex:1 1 160px}
  .woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon button[name="apply_coupon"]{width:100%!important;min-height:56px;justify-content:center;font-size:1.05rem;white-space:normal}
  .woocommerce-cart .woocommerce-cart-form table.cart td.actions button[name="update_cart"]{float:none;margin-left:0!important;width:100%}
  .woocommerce-cart .ll-continue-shopping .button{display:flex!important;justify-content:center;width:100%;min-height:56px;padding:15px 22px!important;background:#173c69!important;border-color:#173c69!important;color:#fff!important;font-size:1.05rem}
}
