
html{scroll-padding-top:24px}.season-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px;border-bottom:1px solid var(--line)}.season-header>a{flex-shrink:0}.season-header img{display:block;width:130px;height:auto}.season-header nav{gap:28px}.season-header nav a{font-size:15px;text-decoration:underline}.season-main{padding-top:28px}.back-link{font-size:14px;color:var(--muted);display:inline-block;margin-bottom:28px}.season-page h1{font-size:clamp(36px,4.6vw,60px);line-height:1.1;letter-spacing:-1.7px;text-align:left;margin:0 0 24px}.season-page h2{font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.7px;text-align:left;margin:0 0 20px}.season-page h3{font-size:21px;line-height:1.3;letter-spacing:-.3px;margin:0 0 12px}.season-page p{margin:0 0 18px}.eyebrow{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:1.4px;color:var(--green);text-align:left!important;hyphens:none!important}.season-lead{font-size:19px;line-height:1.6}.season-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:24px 0}.season-actions a:not(.button){font-size:15px;color:var(--green)}.season-actions .button{justify-content:center;min-height:48px;width:auto}.season-actions button{font-family:inherit;border:0;cursor:pointer}.season-actions [hidden]{display:none!important}.small-copy{font-size:14px;color:var(--muted)}.season-page footer{border-top:1px solid var(--line)}.halloween-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:70px;align-items:start;padding-bottom:50px}.halloween-poster{margin:0;max-width:450px;justify-self:end}.halloween-poster img{display:block;width:100%;height:auto;border-radius:6px}.practical{margin:28px 0 34px;border-block:1px solid var(--line);padding-block:10px}.practical>div{padding:12px 0}.practical dt{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.practical dd{margin:3px 0 0;font-weight:650;line-height:1.5}.important{background:var(--soft);border-left:4px solid var(--green);padding:24px;margin:28px 0}.important h2,.important h3{font-size:20px;margin-bottom:10px}.important p{font-size:16px;margin:0}.noel-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center;padding-bottom:28px}.noel-poster{display:block;width:100%;height:auto;border-radius:5px}.deadline{font-weight:750;color:var(--green);text-align:left!important}.section-nav{display:flex;gap:24px;flex-wrap:wrap;border-block:1px solid var(--line);padding-block:12px;margin-top:12px}.section-nav a{font-size:14px;text-decoration:underline;min-height:36px;display:flex;align-items:center}.season-section{padding-block:54px;border-bottom:1px solid var(--line)}.season-section:last-child{border-bottom:0}.why-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:70px}.why-section p:last-of-type{margin-bottom:14px}.why-section a{color:var(--green);font-size:15px}.steps{list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;margin:32px 0}.steps li{counter-increment:steps}.steps li::before{content:counter(steps,decimal-leading-zero);display:block;color:var(--green);font-size:32px;line-height:1;margin-bottom:18px;font-weight:700}.steps p{font-size:16px}.partner-list{margin-top:32px}.partner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:70px;padding-block:28px;border-top:1px solid var(--line)}.partner h3{font-size:27px;line-height:1.2}.partner-location{font-size:13px;color:var(--muted);text-align:left!important;margin-bottom:8px!important}.partner-price{font-size:14px;font-weight:650;color:var(--green);text-align:left!important;margin:0!important}.partner p{font-size:16px}.fete-section{padding:0;margin-block:20px;background:#f8f1e8}.fete-section>img{display:block;width:100%;height:auto}.fete-copy{padding:40px;max-width:850px}.fete-meta{font-weight:650;text-align:left!important;color:var(--green)}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px;margin-top:32px}.faq-list p{font-size:16px;margin-bottom:0}.shop-section{padding-top:60px}.shop-section iframe{display:block;width:100%;height:900px;border:0;background:white;margin-top:24px}.shop-section iframe[hidden]{display:none}.shop-section .season-actions{margin-bottom:14px}.season-section,.shop-section{scroll-margin-top:24px}.season-page .color-line{margin-bottom:40px}
@media(max-width:900px){.halloween-layout{gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.noel-hero{gap:28px;grid-template-columns:1fr}.noel-poster{max-width:700px}.why-section,.partner{gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.steps{gap:24px}.steps h3{font-size:19px}}
@media(max-width:620px){.season-header{min-height:88px;gap:18px;align-items:center}.season-header img{width:100px}.season-header nav{gap:0;flex-direction:column}.season-header nav a{font-size:13px;padding-block:5px;min-height:32px}.season-main{padding-top:20px}.back-link{margin-bottom:24px}.season-page h1{font-size:38px;letter-spacing:-1.2px}.season-lead{font-size:17px}.halloween-layout,.why-section,.partner,.steps,.faq-list{grid-template-columns:1fr;gap:24px}.halloween-poster{justify-self:center;max-width:400px}.halloween-layout{padding-bottom:32px}.season-section{padding-block:36px}.section-nav{gap:4px 20px;justify-content:flex-start}.season-actions{align-items:flex-start;flex-direction:column;gap:16px}.season-actions .button{width:100%;text-align:center}.season-page p{font-size:16px}.season-page .eyebrow{font-size:11px}.season-page .small-copy{font-size:13px}.important{padding:20px;margin-block:24px}.steps{margin:28px 0}.steps li::before{font-size:28px;margin-bottom:12px}.partner{padding-block:24px;gap:12px}.partner p{margin-bottom:12px}.partner h3{margin-bottom:0;font-size:25px}.fete-section{padding:0}.fete-copy{padding:24px}.fete-section>img{min-height:70px;object-fit:contain}.faq-list{gap:28px}.shop-section iframe{height:1100px}.season-page footer{padding-block:24px}.season-page footer p{font-size:12px}}
.christmas-feature{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--soft);border-left:4px solid var(--green);padding:24px;margin-bottom:28px}.christmas-feature strong{font-size:21px;line-height:1.3}.christmas-feature p{font-size:15px;margin:8px 0 0;max-width:620px}.christmas-feature .button{flex-shrink:0;justify-content:center}@media(max-width:620px){.christmas-feature{flex-direction:column;align-items:stretch;gap:18px;padding:20px}.christmas-feature .button{width:100%}}


/* Visuels de Noël d’origine : bannière entière sur ordinateur, format 16:9 sur mobile. */
.noel-banner{display:block;width:100%;overflow:hidden;border-radius:5px;background:#f8f1e9}
.noel-banner img{display:block;width:100%;height:auto}
.home-season-banner{display:block;margin-top:4px;margin-bottom:28px;text-decoration:none}
.home-season-banner:hover{outline:2px solid var(--season-orange);outline-offset:5px}
.christmas-feature{background:#eee3d2;border-left-color:var(--season-orange)}
.christmas-feature strong{color:var(--green)}
.noel-page .noel-hero{padding-top:34px;align-items:start;grid-template-columns:1fr 1fr}
.noel-page .season-word{color:var(--season-orange-text)}
.noel-page .eyebrow{color:var(--season-orange-text)}
.noel-page .section-nav{border-top:3px solid var(--season-orange);border-bottom-color:var(--line)}
.noel-page .steps li::before{color:var(--season-orange-text)}
.noel-page .important{background:#eee3d2;border-left-color:var(--season-orange)}
.noel-page .partner h3{color:var(--green)}
.noel-page .partner-location{color:var(--season-orange-text)}
.noel-page .fete-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#eee3d2;overflow:hidden;border-radius:5px}
.noel-page .fete-section>img{height:auto;min-height:0}
.noel-page .fete-copy{padding:32px}
.noel-page .shop-section{border-top:3px solid var(--season-orange)}
.event-visual{display:block;margin:18px 0 12px;border-radius:4px;overflow:hidden}
.event-visual img{display:block;width:100%;height:auto}
.events-block .is-gallery .event--noel{background:#f8f1e9;border-color:#d8c7ad;border-top:4px solid var(--season-orange)}
.events-block .event--noel .event-date-mark span:nth-child(2){background:#204b40;color:#fff5e9;border-color:#204b40}
.event-visual--noel{max-width:570px;background:#f8f1e9}
.event-visual--noel img{max-height:190px;object-fit:contain}

/* Halloween : la palette du flyer, sans modifier l’affiche originale. */
.halloween-page,.event--halloween{
  --ink:#282044;--muted:#51405f;--green:#493064;
  --paper:#e8d0e8;--soft:#f3e7f5;--line:#c8adce;
  --season-orange:#ef7b32;--season-orange-text:#8d3a1d;
}
.halloween-page{background:var(--paper)}
.halloween-page .season-header{border-bottom:2px solid #493064}
.halloween-page h1,.halloween-page h2{color:#282044}
.halloween-page .season-word{color:#713d86}
.halloween-page .eyebrow{color:#603675}
.halloween-page .practical{border-color:#bea1c9;background:#f3e7f5;padding:12px 24px;border-left:4px solid #ef7b32}
.halloween-page .important{background:#282153;color:#f8eef8;border-left-color:#ef7b32}
.halloween-page .important h2{color:#f8eef8}
.halloween-page .button{background:#ef7b32;color:#282044;border:1px solid #c75c20}
.halloween-page .button:hover{background:#fa9853}
.halloween-page .halloween-poster img{border:1px solid #b191c5;border-radius:5px}
.halloween-page .color-line{gap:0;height:5px}
.halloween-page .color-line i{background:#282153}
.halloween-page .color-line i:nth-child(2){background:#6b448b}
.halloween-page .color-line i:nth-child(3){background:#b28bc7}
.halloween-page .color-line i:nth-child(4){background:#ef7b32}
.halloween-page .color-line i:nth-child(5){background:#d55d60}
.events-block .is-gallery .event--halloween{background:#efe0f1;border-color:#bea1c9;border-top:4px solid #ef7b32;color:#282044}
.events-block .event--halloween .event-date-mark{border-color:#b89ac5;background:#f8edf8;color:#493064}
.events-block .event--halloween .event-date-mark span:nth-child(2){background:#493064;color:#fff0fa;border-color:#493064}
.event--halloween .event-visual{background:#282153}
.event-visual--halloween img{max-height:230px;object-fit:contain}

@media(max-width:900px){.noel-page .noel-hero{grid-template-columns:1fr;gap:10px}.noel-page .fete-section{grid-template-columns:1fr}.noel-page .fete-section>img{max-width:760px;justify-self:center}}
@media(max-width:620px){
  .home-season-banner{margin-top:0;margin-bottom:24px}
  .noel-page .noel-hero{padding-top:26px}
  .noel-page .noel-hero h1{margin-bottom:16px}
  .noel-page .fete-copy{padding:24px}
  .halloween-page .practical{padding:10px 20px}
}
@media(max-width:560px){
  .events-block .event-visual{grid-column:1/-1;width:100%;margin:12px 0 6px}
  .event-visual--halloween img{max-height:230px}
  .event-visual--noel img{max-height:none}
}


/* Frise des commandes et des retraits : dates reliées sur un axe continu. */
.noel-page .order-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:32px 0 38px}
.order-timeline>li{display:grid;grid-template-rows:72px 22px minmax(0,1fr);min-width:0;padding-right:32px}
.order-timeline>li:last-child{padding-right:0}
.noel-page .order-timeline .timeline-date{align-self:end;margin:0 0 16px;color:var(--season-orange-text);font-size:17px;font-weight:750;line-height:1.4;text-align:left;hyphens:none}
.timeline-point{position:relative;display:block;min-width:0;height:22px}
.timeline-point::before{content:"";position:absolute;left:8px;right:-40px;top:10px;height:2px;background:#c9ae8d}
.timeline-point::after{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border:3px solid var(--green);border-radius:50%;background:var(--paper)}
.order-timeline>li:last-child .timeline-point::before{display:none}
.timeline-content{min-width:0;padding-top:18px}
.noel-page .timeline-content h3{font-size:21px;line-height:1.3;margin-bottom:12px}
.noel-page .timeline-content p{font-size:16px;margin:0}
@media(max-width:760px){
  .noel-page .order-timeline{display:block;margin-block:28px 32px}
  .order-timeline>li{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;padding:0 0 32px}
  .order-timeline>li:last-child{padding-bottom:0}
  .noel-page .order-timeline .timeline-date{grid-column:2;grid-row:1;align-self:start;font-size:16px;margin-bottom:10px}
  .timeline-point{grid-column:1;grid-row:1/3;align-self:stretch;height:auto}
  .timeline-point::before{left:10px;right:auto;top:10px;bottom:-42px;width:2px;height:auto}
  .timeline-point::after{left:3px;top:2px}
  .timeline-content{grid-column:2;grid-row:2;padding-top:0}
  .noel-page .timeline-content h3{font-size:20px}
}


/* Logos officiels, proportions et couleurs d’origine conservées. */
.partner-logo{display:flex;align-items:center;justify-content:center;width:190px;max-width:100%;height:128px;margin:4px 0 18px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:4px}
.partner-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:106px;object-fit:contain}
.partner-logo--valrhona{background:#2b1b16;border-color:#2b1b16;padding:18px}
.partner-logo--fromagerie{width:148px;height:148px;padding:8px;background:transparent;border:0}
.partner-logo--fromagerie img{max-height:132px}
.partner h3 a{text-decoration-thickness:1px;text-underline-offset:5px}
.partner h3 a:hover{text-decoration-thickness:2px}
@media(max-width:620px){.partner-logo{width:170px;height:112px;margin-bottom:16px}.partner-logo img{max-height:92px}.partner-logo--fromagerie{width:128px;height:128px}.partner-logo--fromagerie img{max-height:112px}}


/* Fiche Halloween : un vrai partage texte / affiche, sans flottant. */
.events-block .event--halloween .event-visual{float:none;background:transparent}
@media(min-width:761px){
  .events-block .is-gallery .event--halloween .event-content{display:grid;grid-template-columns:minmax(0,1fr) 184px;grid-template-rows:auto auto auto 1fr;gap:8px 28px;align-items:start}
  .events-block .event--halloween .event-content>h3{grid-column:1;grid-row:1}
  .events-block .event--halloween .event-compact-meta{grid-column:1;grid-row:2;margin-top:0}
  .events-block .is-gallery .event--halloween .event-details{grid-column:1;grid-row:3;min-width:0;margin:0}
  .events-block .event--halloween .event-permalink{grid-column:1;grid-row:4;align-self:start;justify-self:start;margin-top:4px}
  .events-block .event--halloween .event-visual{grid-column:2;grid-row:1/-1;align-self:start;width:184px;margin:0}
  .events-block .event--halloween .event-visual img{width:100%;max-height:none;height:auto}
}
@media(max-width:760px){
  .events-block .event--halloween .event-visual{width:min(100%,184px);margin:18px auto 0;justify-self:center}
  .events-block .event--halloween .event-visual img{max-height:none}
}
