/* Festive Wines: retain the campaign shopping contract with a summer palette. */
.rce--festive { --rce-paper: #faf7f0; --rce-cream: #f1eadc; --rce-ink: #30392c; --rce-charcoal: #30392c; --rce-gold: #a77b35; --rce-gold-dark: #795821; }
.rce--festive .rce-hero, .rce--festive .rce-hero__content { min-height: clamp(620px, 52vw, 780px); }
.rce--festive .rce-hero__content { padding-left: 5%; padding-right: 5%; max-width: 1600px; }
.rce--festive .rce-hero h1 { font-size: clamp(54px, 5.4vw, 82px); max-width: 610px; width: 47%; line-height: 1.02; }
.rce--festive .rce-hero__lede { max-width: 440px; width: 43%; }
.rce--festive .rce-hero__media::after { display: block; content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(250,247,240,.68),transparent 65%); }
.rce--festive .rce-products__toolbar, .rce--festive .rce-products__notes { display: none; }
.rce--festive .rce-intro { padding: 64px 5% 30px; }
.rce--festive .rce-products { padding-top: 45px; }
.rce--festive .rce-product-card { border-color: #ded6c5; }
.rce--festive .rce-closing__image { object-position: center; }
.rce--festive .rce-closing { background: #eee7d9; }
@media (max-width: 767px) {
 .rce--festive .rce-hero, .rce--festive .rce-hero__content { min-height: 760px; }
 .rce--festive .rce-hero__content { padding: 44px 6% 360px; }
 .rce--festive .rce-hero h1 { font-size: clamp(40px, 10.5vw, 64px); width: 100%; max-width: 520px; margin-top: 16px; }
 .rce--festive .rce-hero__lede { width: 100%; max-width: 430px; font-size: 16px; }
 .rce--festive .rce-hero__media::after { background: linear-gradient(180deg,rgba(250,247,240,.8),transparent 65%); }
 .rce--festive .rce-hero__image { object-position: center bottom; }
 .rce--festive .rce-intro { padding: 48px 6% 12px; }
}
/* Keep both destinations readable in the floating footer. */
.rce--festive + .rce-sticky { grid-template-columns: 1fr auto auto; }
.rce--festive + .rce-sticky .rce-sticky__link { white-space: nowrap; }
@media (max-width: 767px) {
 .rce--festive + .rce-sticky { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
 .rce--festive + .rce-sticky .rce-sticky__link { padding: 12px 8px; font-size: 12px !important; justify-content: center; min-height: 44px; min-width: 0; gap: 6px; }
}
@media (max-width: 360px) {
 .rce--festive .rce-products__grid { grid-template-columns: minmax(0, 1fr); }
 .rce--festive + .rce-sticky .rce-sticky__link { font-size: 11px !important; }
 .rce--festive + .rce-sticky .rce-sticky__link > span[aria-hidden] { display: none; }
}
