/* Holiday offers 2026/2027: scoped components; shared navigation spacing. */
@media (min-width:992px) {
 #header #menu-left, #header-sticky #menu-left { display:flex; justify-content:center; gap:12px; white-space:nowrap; }
 #header #menu-left > li > a, #header-sticky #menu-left > li > a { margin-right:0; font-size:13px; }
 #header #menu-left > li > a:before, #header-sticky #menu-left > li > a:before { margin-right:6px; }
 #header #menu-right, #header-sticky #menu-right { display:flex; justify-content:center; gap:9px; white-space:nowrap; }
 #header #menu-right > li > a, #header-sticky #menu-right > li > a { padding-left:0; padding-right:0; font-size:13px; }
 #header #menu-right > li > a:before, #header-sticky #menu-right > li > a:before { margin-right:6px; }
}
.holiday-section { padding:65px 0 75px; background:#f8f3e9; margin:0 0 60px; }
.holiday-heading { text-align:center; margin:0 auto 35px; }
.holiday-heading h2 { font-size:42px; color:#6b1320; }
.holiday-eyebrow { color:#795524; text-transform:uppercase; letter-spacing:2px; font-size:12px; font-weight:500; margin-bottom:10px; }
.holiday-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.holiday-card { background:#fff; border:1px solid #dfcfb4; display:flex; flex-direction:column; box-shadow:0 8px 25px rgba(51,30,14,.05); }
.holiday-card-image { display:block; background:#f1e5d0; }
.holiday-card-image img { width:100%; height:540px; object-fit:contain; display:block; }
.holiday-card-body { padding:28px; display:flex; flex-direction:column; flex:1; }
.holiday-card h3 { color:#6b1320; margin-bottom:12px; }
.holiday-card ul { padding-left:20px; margin-bottom:22px; }
.holiday-card .holiday-button { align-self:flex-start; margin-top:auto; }
.holiday-button { display:inline-block; background:#701521; color:#fff!important; border:1px solid #701521; padding:13px 23px; font-size:13px; font-weight:500; text-transform:uppercase; letter-spacing:.5px; text-align:center; line-height:22px; text-decoration:none!important; }
.holiday-button:hover,.holiday-button:focus { background:#4e1019; border-color:#4e1019; }
.holiday-button:focus-visible,.holiday-tabs a:focus-visible { outline:3px solid #bd965e; outline-offset:4px; }
.holiday-date { color:#795524; font-weight:500; }
.offers-intro { padding:150px 15px 45px; text-align:center; background:#f8f3e9; }
.offers-intro h1 { color:#6b1320; }
.holiday-tabs { display:flex; justify-content:center; gap:15px; flex-wrap:wrap; margin-top:25px; }
.holiday-tabs a { border-bottom:1px solid #ac844c; color:#701521; padding:8px 14px; }
.offer-detail { padding:65px 0; scroll-margin-top:120px; border-bottom:1px solid #dfcfb4; }
.offer-lead { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:45px; align-items:start; }
.offer-poster { width:100%; height:auto; display:block; }
.offer-detail h2 { color:#6b1320; }
.offer-detail h3 { margin:30px 0 18px; }
.offer-detail ul { padding-left:22px; }
.offer-prices { width:100%; border-collapse:collapse; font-size:15px; line-height:23px; margin:20px 0; }
.offer-prices th,.offer-prices td { text-align:left; padding:13px 10px; border-bottom:1px solid #dfcfb4; }
.offer-prices thead { background:#173f36; color:#fff; }
.offer-prices tbody tr:nth-child(odd) { background:#f8f3e9; }
.offer-prices td:last-child { color:#701521; font-weight:700; white-space:nowrap; }
.offer-prices td:nth-child(2) { white-space:nowrap; }
.offer-note { background:#f8f3e9; border-left:3px solid #bc9457; padding:16px 20px; margin:20px 0; }
.offer-program { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.program-day { padding:25px; background:#f8f3e9; border-top:3px solid #bc9457; }
.program-day h4 { font-family:Roboto,sans-serif; font-size:18px; font-weight:500; color:#701521; }
.program-copy { white-space:pre-line; font-size:15px; line-height:26px; }
.offer-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin:25px 0; }
.offer-actions a:not(.holiday-button) { color:#701521; text-decoration:underline; }
.offer-terms { padding:28px; background:#f8f3e9; margin-top:30px; }
.offer-terms summary { cursor:pointer; color:#701521; font-size:20px; font-weight:500; }
.offer-terms[open] summary { margin-bottom:20px; }
.offer-bank { overflow-wrap:anywhere; }
.holiday-hero { text-align:center!important; white-space:normal!important; background:rgba(12,22,29,.7); padding:35px!important; box-sizing:border-box!important; }
.holiday-hero h2 { color:#fff; font-family:Prata,serif; font-size:42px; line-height:1.35; margin:0 0 20px; }
.holiday-hero p { color:#fff; font-family:Roboto,sans-serif; font-size:21px; line-height:1.5; margin-bottom:25px; }
.holiday-hero .holiday-button { background:#fff4df; border-color:#fff4df; color:#61131c!important; }
@media(min-width:768px) and (max-width:991px) {
 .holiday-hero { padding:25px!important; }
 .holiday-hero h2 { font-size:30px; }
 .holiday-hero p { font-size:18px; }
}
@media(max-width:767px) {
 .holiday-hero { padding:12px!important; }
 .holiday-hero h2 { font-size:clamp(15px,4.5vw,27px); line-height:1.25; margin-bottom:8px; }
 .holiday-hero p { font-size:clamp(12px,3.3vw,17px); line-height:1.4; margin-bottom:10px; }
 .holiday-hero .holiday-button { font-size:11px; padding:7px 13px; line-height:20px; }
}
@media(max-width:991px) { .offers-intro { padding-top:45px; } .offer-lead { gap:25px; } .offer-program { grid-template-columns:1fr; } .holiday-card-image img { height:430px; } }
@media(max-width:767px) { .holiday-grid,.offer-lead { grid-template-columns:1fr; } .holiday-heading h2,.offers-intro h1 { font-size:32px; line-height:1.4; } .holiday-section { padding:40px 0; } .holiday-card-image img { height:auto; max-height:580px; } .holiday-card-body { padding:23px; } .offer-detail { padding:40px 0; } .offer-prices { font-size:13px; } .offer-prices th,.offer-prices td { padding:10px 6px; } .offers-intro { padding-top:35px; } }
