/* The campaign is built around the original, uncropped photographs. */
.collection-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:30px 24px; }
.collection-heading__copy { min-width:0; }
.collection-heading__eyebrow { margin:0 0 7px; color:#87642c; font-size:10px; font-weight:600; line-height:1.5; letter-spacing:1.6px; }
.collection-heading h1 { margin:0; color:#103f35; font-size:clamp(28px,2.6vw,38px); font-weight:600; line-height:1.15; letter-spacing:-1.25px; }
.collection-heading h1 em { color:#ad873e; font-style:normal; font-weight:500; }
.collection-heading__description { margin:9px 0 0; color:#64756b; font-size:13px; line-height:1.6; }
.collection-heading .catalogue-download { flex:none; width:auto; min-height:48px; padding:12px 17px; gap:10px; border:1px solid #ccbb97; border-radius:8px; background:#fffcf5; color:#234b3e; font-size:12px; white-space:nowrap; }
.collection-heading .catalogue-download:hover { border-color:#9f7e3d; background:#f2ead9; }
.collection-heading__download-arrow { margin-left:12px; color:#967337; font-size:17px; font-weight:400; }
.collection-heading .catalogue-download:focus-visible { outline:3px solid #ac8c4c; outline-offset:4px; }
.holiday-hero { position:relative; width:100%; margin:0 0 38px; overflow:hidden; border:1px solid #d8ccb3; border-radius:16px; background:#fffcf6; box-shadow:0 12px 32px #274e3c08; }
.holiday-hero:focus-visible { outline:3px solid #ac8c4c; outline-offset:5px; }
.holiday-hero [hidden] { display:none!important; }
.holiday-hero__slide, .holiday-hero__picture { margin:0; }
.holiday-hero__banner-link { display:block; color:inherit; text-decoration:none; }
.holiday-hero__banner-link:focus-visible { outline:3px solid #ac8c4c; outline-offset:-4px; }
.holiday-hero__picture { width:100%; background:#eee7da; }
.holiday-hero .holiday-hero__image { display:block; width:100%; height:auto; aspect-ratio:3/1; object-fit:contain; }
.holiday-hero__notice { margin:0; padding:8px 18px; border-top:1px solid #e7ddca; background:#f8f3e8; color:#405b4f; font-size:11px; line-height:1.5; text-align:center; }
.holiday-hero__notice strong { font-weight:600; }
.holiday-hero__notice small { display:block; margin-top:3px; font-size:10.5px; line-height:1.5; }
.holiday-hero__caption { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; min-height:96px; padding:18px 374px 18px 26px; border-top:1px solid #e7ddca; background:#fffcf6; color:#103f35; }
.holiday-hero__copy { min-width:0; }
.holiday-hero__title { margin:0; font-size:clamp(18px,1.65vw,23px); font-weight:600; line-height:1.3; letter-spacing:-.5px; text-wrap:balance; }
.holiday-hero__description { margin:5px 0 0; color:#6b776b; font-size:12px; line-height:1.5; }
.holiday-hero__cta { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:10px 15px; border:1px solid #103f35; border-radius:7px; background:#103f35; color:#fffaf0; font-size:12px; font-weight:600; line-height:1.5; white-space:nowrap; }
.holiday-hero__cta svg { width:17px; height:17px; flex:none; }
.holiday-hero__banner-link:hover .holiday-hero__cta { border-color:#2a5b49; background:#2a5b49; }
.holiday-hero__controls { position:absolute; right:16px; bottom:0; display:flex; align-items:center; justify-content:flex-end; gap:2px; height:96px; padding-left:18px; color:#103f35; }
.holiday-hero__controls::before { content:''; position:absolute; left:0; top:50%; width:1px; height:30px; transform:translateY(-50%); background:#e0d5be; }
.holiday-hero__position { margin-right:6px; color:#667160; font-size:10px; font-variant-numeric:tabular-nums; letter-spacing:.5px; white-space:nowrap; }
.holiday-hero__position-current { color:#103f35; font-weight:700; }
.holiday-hero__control, .holiday-hero__dot { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; min-width:44px; height:44px; min-height:44px; padding:0; border:0; border-radius:50%; background:transparent; color:#214b3d; touch-action:manipulation; }
.holiday-hero__control svg { width:18px; height:18px; }
.holiday-hero__control:hover, .holiday-hero__dot:hover { background:#f1eadc; }
.holiday-hero__control:focus-visible, .holiday-hero__dot:focus-visible { outline:2px solid #a48645; outline-offset:-2px; }
.holiday-hero__control:disabled { opacity:.45; }
.holiday-hero__dots { display:flex; align-items:center; }
.holiday-hero__dot span { display:block; width:6px; height:6px; border-radius:8px; background:#c4c6b8; }
.holiday-hero__dot[aria-current='true'] span { width:23px; background:#b18d44; }
/* Keep the five supplied product photographs intact and visible together. */
.holiday-hero__gourmand { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:6px; min-height:360px; aspect-ratio:3/1; padding:24px 32px 14px; background:#f5eddd url('assets/fond-fetes-mugs-higgsfield.webp') center bottom / 100% 100% no-repeat; }
.holiday-hero__gourmand-eyebrow { display:flex; align-items:center; justify-content:center; gap:10px; margin:0; color:#765c29; font-size:clamp(12px,1.25vw,18px); font-weight:600; letter-spacing:.25px; text-align:center; text-shadow:0 1px 6px #fff; }
.holiday-hero__gourmand-eyebrow span { font-size:1.6em; line-height:.8; }
/* Transparent product photographs rest on the timber; no card crops their handles. */
.holiday-hero__gourmand-products { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:end; gap:clamp(7px,1.25vw,18px); min-height:0; height:100%; }
.holiday-hero__gourmand-products figure { position:relative; z-index:1; display:grid; grid-template-rows:minmax(0,1fr) 22px; align-items:end; min-width:0; height:100%; min-height:0; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.holiday-hero__gourmand-products figure::before { content:''; position:absolute; z-index:-1; left:22%; right:22%; bottom:27px; height:8px; border-radius:50%; background:#6a462877; filter:blur(3px); }
.holiday-hero__gourmand-products img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; object-position:center bottom; padding-inline:5px; filter:drop-shadow(2px 3px 3px #67462916); }
.holiday-hero__gourmand-products figcaption { align-self:center; color:#214b3d; font-size:clamp(10px,.95vw,13px); font-weight:600; line-height:1.3; text-align:center; text-wrap:balance; text-shadow:0 1px 3px #fff7; }
.holiday-hero__gourmand-stock { display:flex; align-items:center; justify-content:center; gap:9px; margin:0; color:#426052; font-size:11px; line-height:1.4; text-align:center; }
.holiday-hero__gourmand-footer { display:flex; align-items:center; justify-content:center; gap:18px; min-height:30px; }
.holiday-hero__gourmand-stock { padding:5px 12px; border-radius:20px; background:#fffdf4ed; font-weight:600; }
.holiday-hero__brand { display:block; flex:none; width:78px; height:auto; max-height:32px; padding:4px 6px; border-radius:5px; background:#fff; object-fit:contain; }
@media (max-width:650px) { .holiday-hero__gourmand-footer { gap:9px; } .holiday-hero__gourmand-footer .holiday-hero__gourmand-stock { padding:5px 8px; font-size:10px; } .holiday-hero__brand { width:66px; max-height:28px; padding:3px 4px; } }
/* A discreet light reflection on the primary actions. */
.button-primary, .catalogue-download, .holiday-hero__cta { position:relative; isolation:isolate; overflow:hidden; }
.button-primary::before, .catalogue-download::before, .holiday-hero__cta::before { content:''; position:absolute; z-index:-1; inset:-20% -30%; pointer-events:none; background:linear-gradient(110deg,transparent 35%,#fff4 50%,transparent 65%); transform:translateX(-120%); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .button-primary:not(:disabled):hover::before, .catalogue-download:hover::before, .holiday-hero__banner-link:hover .holiday-hero__cta::before { transform:translateX(120%); transition:transform .7s ease; }
}
@media (prefers-reduced-motion:no-preference) { .holiday-hero__slide:not([hidden]) { animation:holiday-reveal .4s ease-out; } }
@keyframes holiday-reveal { from { opacity:.35; } to { opacity:1; } }
@media (max-width:1150px) {
 .holiday-hero__caption { min-height:88px; padding:17px 24px; }
 .holiday-hero__controls { position:static; justify-content:center; height:48px; padding:0 20px 6px; }
 .holiday-hero__controls::before { display:none; }
 .holiday-hero__position { margin-right:auto; }
}
@media (max-width:650px) {
 .collection-heading { align-items:flex-start; gap:15px; padding-block:23px 20px; }
 .collection-heading__eyebrow { margin-bottom:6px; font-size:8px; letter-spacing:1.05px; }
 .collection-heading h1 { font-size:28px; letter-spacing:-.8px; }
 .collection-heading h1 em { white-space:nowrap; }
 .collection-heading__description { margin-top:7px; font-size:12px; }
 .collection-heading .catalogue-download { min-height:44px; padding:10px 12px; font-size:11px; }
 .collection-heading__download-arrow { display:none; }
 .holiday-hero { margin-bottom:28px; border-radius:11px; }
 .holiday-hero__notice { padding:8px 14px; font-size:10.5px; text-align:left; }
 .holiday-hero__caption { grid-template-columns:minmax(0,1fr); align-items:start; gap:12px; min-height:0; padding:17px 18px 11px; }
 .holiday-hero__title { font-size:20px; letter-spacing:-.35px; }
 .holiday-hero__description { margin-top:6px; font-size:12px; }
 .holiday-hero__cta { justify-self:start; min-height:44px; padding:9px 13px; }
 .holiday-hero__controls { justify-content:flex-end; padding:0 10px 7px 18px; height:51px; }
 .holiday-hero__gourmand { aspect-ratio:auto; grid-template-rows:auto auto auto; min-height:0; gap:10px; padding:17px 11px 12px; background-size:auto 100%; }
 .holiday-hero__gourmand-eyebrow { gap:6px; font-size:12px; letter-spacing:0; }
 .holiday-hero__gourmand-products { grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:190px; align-items:stretch; gap:14px 8px; height:auto; }
 .holiday-hero__gourmand-products::before { content:''; position:absolute; top:calc(50% - 40px); left:-11px; right:-11px; height:29px; background:#d7b68e url('assets/fond-fetes-mugs-higgsfield.webp') center bottom / 100% auto; border-bottom:3px solid #a47b50; box-shadow:0 4px 6px #5c3a1d19; }
 .holiday-hero__gourmand-products figure { grid-column:span 2; grid-template-rows:minmax(0,1fr) 24px; gap:0; padding:0; border-radius:0; }
 .holiday-hero__gourmand-products figure:nth-child(4) { grid-column:2 / span 2; }
 .holiday-hero__gourmand-products figure:nth-child(5) { grid-column:4 / span 2; }
 .holiday-hero__gourmand-products img { height:100%; }
 .holiday-hero__gourmand-products figcaption { display:flex; align-items:center; justify-content:center; width:100%; min-height:24px; font-size:clamp(10px,2.25vw,12px); line-height:1.35; overflow-wrap:normal; }
 .holiday-hero__gourmand-stock { flex-wrap:wrap; gap:6px; font-size:11px; }
}
@media (max-width:440px) {
 .holiday-hero__position { display:none; }
 .collection-heading { flex-wrap:wrap; gap:13px; }
 .collection-heading__copy { width:100%; }
 .collection-heading .catalogue-download { padding:9px 13px; }
}
@media (prefers-reduced-motion:reduce) { .holiday-hero *, .holiday-hero *::before, .holiday-hero *::after { animation:none!important; transition:none!important; } }
@media print { .collection-heading, .holiday-hero { display:none!important; } }

@media (min-width:651px) { .holiday-hero__gourmand-products img { transform:translateY(6px); } }
@media (max-width:650px) { .holiday-hero__gourmand-products figure::before { bottom:calc(24px + 3.8%); } }
