/*
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. */
@media (max-width: 900px){.woocommerce ul.products li.product a img{height:auto;max-height:none;object-fit:contain;padding:5px}}
.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,.woocommerce-cart .woocommerce-shipping-destination{display:none!important}
@media (min-width: 901px){
  /* Le tableau de panier a besoin de toute la largeur : à deux colonnes,
     les titres des calendriers s'écrasaient dès qu'il y avait deux lignes. */
  .woocommerce-cart .woocommerce-cart-form{float:none;width:100%;min-width:0}
  .woocommerce-cart .woocommerce-cart-form table.cart{width:100%;table-layout:auto}
  .woocommerce-cart .woocommerce-cart-form .product-thumbnail{width:92px}
  .woocommerce-cart .woocommerce-cart-form .product-name{min-width:220px}
  .woocommerce-cart .cart-collaterals{float:none;width:100%;margin:34px 0 0;display:flex;justify-content:flex-end}
  .woocommerce-cart .cart-collaterals .cart_totals{float:none;width:min(100%,560px)}
  .woocommerce-cart .woocommerce::after{content:"";display:block;clear:both}
}

/* 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:clamp(18px,2.5vw,52px);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:clamp(18px,4vw,65px);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:18px;width:calc(100% - 28px)}
  .homepage-showcase__title h1{font-size:clamp(1.7rem,7.3vw,2.45rem)}
  .homepage-showcase__campaign{right:14px;bottom:16px;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:66px!important;height:66px!important;max-width:none;object-fit:contain;background:#f7f0e2;border:1px solid var(--lucarne-line);border-radius:3px;padding:3px}
.woocommerce-cart .woocommerce-cart-form .product-remove a{display:grid;place-items:center;width:28px;height:28px;margin:auto;color:#b42222!important;font-size:1.55rem;font-weight:700;line-height:1;text-decoration:none}
.woocommerce-cart .woocommerce-cart-form .product-remove a:hover{background:#f7e2df;border-radius:50%;color:#8d1111!important}
.woocommerce-cart .woocommerce-cart-form table.cart td.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}
.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon{display:flex;align-items:center;gap:10px;flex:1 1 360px;margin:0}
.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon .input-text{width:180px!important;min-height:42px;margin:0!important;border-color:#173c6960}
.woocommerce-cart .woocommerce-cart-form table.cart td.actions button[name="update_cart"]{margin-left:auto!important;white-space:nowrap}
.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{background:transparent!important;border:1px solid #173c69;color:#173c69!important}
.ll-group-order{margin-top:24px!important;max-width:680px}
.woocommerce-cart .cart-collaterals .woocommerce-shipping-destination{display:none!important}
@media(max-width:760px){
  .ll-about-portrait{float:none;width:min(100%,340px);margin:0 auto 26px}
  .woocommerce-cart .woocommerce-cart-form .product-thumbnail img{width:52px!important;height:52px!important}
  .woocommerce-cart .woocommerce-cart-form table.cart td.actions,.woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon{align-items:stretch}
  .woocommerce-cart .woocommerce-cart-form table.cart td.actions .coupon{flex:1 1 100%;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 button[name="update_cart"]{margin-left:0!important;width:100%}
}
