/* Activated exclusively by the same successful, unexpired holiday feed. */
.holiday-booking-band{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:96px;padding:24px 28px 18px;margin:22px 0 12px;border-block:4px solid #d7ad53;background:#8c101c;color:#fff}
.holiday-booking-band p{position:relative;margin:0;color:#fff;font:800 clamp(20px,3vw,30px)/1.3 Arial,sans-serif;text-align:center}
.holiday-booking-band .promotion-holly{flex:none;position:relative;z-index:1;line-height:0}
.holiday-booking-band .promotion-holly svg{width:46px;height:42px}
.holiday-band-right{transform:scaleX(-1)}
.holiday-booking-band::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,rgba(255,239,193,.18) 1px,transparent 1.7px),radial-gradient(circle,rgba(255,239,193,.10) 1px,transparent 1.6px);background-size:29px 31px,43px 47px;animation:holiday-snow 12s linear infinite}
@keyframes holiday-snow{to{background-position:29px 62px,-43px 94px}}
.holiday-offer-card{box-sizing:border-box;border:2px solid #d7ad53;border-left:7px solid #1e5631;border-radius:8px;background:#fff5de;color:#512218;padding:18px 22px;margin:0 0 22px;font:700 18px/1.5 Arial,sans-serif;max-width:none;overflow-wrap:anywhere}
.holiday-booking-active .bk .bk-steps li.is-on{color:#8c101c}
.holiday-booking-active .bk .bk-steps li.is-on::before{background:#b3121f}
.holiday-booking-active .bk .bk-steps li.is-done{color:#1e5631}
.holiday-booking-active .bk .bk-steps li.is-done::before{background:#1e5631}
.holiday-booking-active .bk .btn.btn-gold:not(.bk-danger-solid),.holiday-booking-active #customer-calendar .btn.btn-gold{background:#b3121f;color:#fff;border:1px solid #e6bc66;box-shadow:none}
.holiday-booking-active .bk .btn.btn-gold:not(.bk-danger-solid):hover,.holiday-booking-active #customer-calendar .btn.btn-gold:hover{background:#8c101c;color:#fff}
.holiday-booking-active .bk .bk-back,.holiday-booking-active .bk .bk-link{color:#8c101c}
.holiday-confirmation-note{background:#163f29;color:#fff!important;border:1px solid #e6bc66;border-left:5px solid #e6bc66;border-radius:6px;padding:16px;font-weight:700;line-height:1.5}
@media(max-width:767px){.holiday-booking-band{padding:20px 14px 14px;gap:8px;margin-top:14px;min-height:86px}.holiday-booking-band .promotion-holly svg{width:30px;height:30px}.holiday-booking-band p{font-size:20px}.holiday-offer-card{padding:14px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.holiday-booking-band::before{animation:none!important}.holiday-booking-band .promotion-bulb{animation:none!important}}

/* 2026-10-22 Jayson: booking pages show only the big festive band (no duplicate ribbon). */ .launch-offer{display:none!important}

/* Holiday light strand replaces the gold roller stroke while the holiday offer runs. */
.stroke.hl-on svg.paint,.stroke.hl-on .roller{display:none}
.stroke.hl-on{height:calc(var(--h) * 1.9)}
.hl-strand{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:hl-reveal 1.2s cubic-bezier(.45,.05,.3,1) .3s both}
.hl-wire{fill:none;stroke:#1e5631;stroke-width:2.2;vector-effect:non-scaling-stroke}
.hl-cap{fill:#3b4a3f}
.hl-glass{fill:var(--c);opacity:.38;transition:opacity .08s,filter .08s}
.hl-bulb.lit .hl-glass{opacity:1;filter:drop-shadow(0 0 5px var(--c)) drop-shadow(0 0 2px var(--c))}
@keyframes hl-reveal{from{clip-path:inset(-60% 100% -60% 0)}to{clip-path:inset(-60% 0 -60% 0)}}
@media (prefers-reduced-motion:reduce){.hl-strand{animation:none}}

.bk-confirm-cancel{position:relative;padding-top:64px}.bk-cancel-close{position:absolute;right:12px;top:12px}

/* Avoid painting the estimate before its embedded fallback treatment is ready. */
.holiday-pending main,.holiday-pending .site-finish{visibility:hidden}
