:root.gr-holiday-has-bar { --gr-holiday-header-height:124px; scroll-padding-top:var(--gr-holiday-bar-height, 0px); }
.gr-holiday-has-bar .site-header { height:calc(var(--gr-holiday-header-height) + var(--gr-holiday-bar-height, 0px)); }
.gr-holiday-has-bar .site-header > .header-inner { height:var(--gr-holiday-header-height); }
.gr-holiday-header-space { height:var(--gr-holiday-bar-height, 0px); }
.gr-holiday-announcement { background:var(--yellow,#fdc502); color:#171307; }
.gr-holiday-announcement > a { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:0 .55em; min-height:36px; padding:6px 12px; text-align:center; color:inherit; font-size:14px; font-weight:750; line-height:1.35; }
.gr-holiday-announcement > a:hover { color:#171307; background:#ffe16a; }
.gr-holiday-announcement > a:focus-visible { outline:2px solid #171307; outline-offset:-4px; }
.gr-holiday-bar-details { text-decoration:underline; text-underline-offset:2px; }
.gr-holiday-popup[hidden], .gr-holiday-announcement[hidden], .gr-holiday-status[hidden] { display:none !important; }
.gr-holiday-popup {
  position:fixed; z-index:990; right:20px; bottom:20px; width:min(420px,calc(100% - 40px));
  max-height:calc(100dvh - 24px); overflow:auto; padding:22px; border:1px solid #9f8123;
  border-top:3px solid var(--yellow,#fdc502); background:#181915; color:#fff;
  box-shadow:0 14px 34px #0009; font-size:14px; line-height:1.4;
}
.gr-holiday-popup-inline { position:relative; z-index:auto; inset:auto; width:min(620px,calc(100% - 32px)); max-height:none; margin:24px auto; }
#gr-holiday-popup h2 { font-family:Anton,Impact,sans-serif; font-weight:400; font-size:clamp(22px,4.5vw,30px) !important; line-height:1.13 !important; color:#fff !important; text-transform:none !important; margin:8px 30px 8px 0 !important; }
#gr-holiday-popup p { margin:5px 0 !important; font-size:14px !important; line-height:1.4 !important; }
#gr-holiday-popup .gr-holiday-kicker { font-size:11px !important; }
#gr-holiday-popup .gr-holiday-popup-price { color:var(--yellow,#fdc502); font-size:20px !important; margin:10px 0 4px !important; }
.gr-holiday-popup .gr-holiday-popup-price strong { font-size:27px; }
.gr-holiday-popup .gr-holiday-closed { color:#ffd3c5; font-weight:700; }
.gr-holiday-dismiss { position:absolute; top:6px; right:6px; display:grid; place-items:center; width:44px; height:44px; border:0; color:#fff; background:transparent; font:28px/1 Arial,sans-serif; cursor:pointer; }
.gr-holiday-dismiss:hover { background:#33362c; }
.gr-holiday-dismiss:focus-visible, .gr-holiday-button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.gr-holiday-popup-actions, .gr-holiday-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:16px; }
.gr-holiday-button.button { min-height:44px; padding:9px 15px; text-align:center; line-height:1.25; }
.gr-holiday-popup-actions .gr-holiday-button { flex:1 1 auto; }

.gr-holiday-page { width:min(100% - 48px,1200px); margin:0 auto; padding:160px 0 48px; color:#fff; }
.gr-holiday-page .gr-holiday-hero { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,5vw,64px); align-items:center; padding:0 0 42px; }
.gr-holiday-page h1, .gr-holiday-page h2, .gr-holiday-page h3 { margin:0 0 12px; color:#fff; line-height:1.12; font-family:Anton,Impact,sans-serif; font-weight:400; }
.gr-holiday-page h1 { font-size:clamp(33px,4.5vw,66px); text-transform:uppercase; }
.gr-holiday-page h2 { font-size:clamp(28px,3.6vw,45px); }
.gr-holiday-page h3 { font-size:25px; }
.gr-holiday-page p { margin:0 0 13px; }
.gr-holiday-kicker { color:var(--yellow,#fdc502); font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.09em; }
.gr-holiday-page .gr-holiday-lead { font-size:clamp(16px,2vw,19px); }
.gr-holiday-page .gr-holiday-lead strong, .gr-holiday-page .gr-holiday-price { color:var(--yellow,#fdc502); }
.gr-holiday-page .gr-holiday-date-line { color:#dedbd0; }
.gr-holiday-photo { margin:0; padding:8px; background:#1d1e17; border:1px solid #4d4a38; }
.gr-holiday-photo img { width:100%; height:auto; aspect-ratio:16 / 9; object-fit:cover; }
.gr-holiday-photo figcaption { margin:8px 2px 1px; color:#b7b7b7; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.gr-holiday-section { border-top:1px solid #35372c; padding:36px 0; scroll-margin-top:144px; }
.gr-holiday-package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:22px 0; }
.gr-holiday-card { padding:20px; background:#191b16; border:1px solid #434338; border-top:2px solid #9f8123; }
.gr-holiday-page .gr-holiday-price { font:400 37px/1.1 Anton,Impact,sans-serif; margin:0 0 12px; }
.gr-holiday-terms, .gr-holiday-note { color:#d0ccc0; }
.gr-holiday-note { font-size:14px; }
.gr-holiday-hours-grid { display:grid; grid-template-columns:1fr .95fr; gap:28px; align-items:start; margin-top:18px; }
.gr-holiday-hours { width:100%; table-layout:fixed; border-collapse:collapse; background:#171913; }
.gr-holiday-hours th, .gr-holiday-hours td { text-align:left; padding:12px 14px; border-bottom:1px solid #444338; overflow-wrap:anywhere; }
.gr-holiday-hours thead { color:var(--yellow,#fdc502); background:#222318; }
.gr-holiday-closed-row { color:#ffd3c5; }
.gr-holiday-surcharge, .gr-holiday-booking-policy { padding:20px; background:#202016; border-left:3px solid var(--yellow,#fdc502); }
.gr-holiday-surcharge ul, .gr-holiday-booking-policy ul { padding-left:20px; margin:10px 0 14px; }
.gr-holiday-surcharge li + li, .gr-holiday-booking-policy li + li { margin-top:7px; }
.gr-holiday-booking-policy { margin-top:20px; }
.gr-holiday-booking-policy ul { margin-bottom:0; }
.gr-holiday-surcharge p:last-child { margin-bottom:0; }
.gr-holiday-inactive .gr-holiday-active-only { display:none !important; }
.gr-holiday-status { padding:10px 13px; border-left:3px solid var(--yellow,#fdc502); background:#222318; }
@media(max-width:900px) {
  .gr-holiday-page .gr-holiday-hero, .gr-holiday-hours-grid { grid-template-columns:1fr; }
}
@media(max-width:768px) {
  :root.gr-holiday-has-bar { --gr-holiday-header-height:88px; }
  .gr-holiday-has-bar .site-header .main-nav { top:calc(88px + var(--gr-holiday-bar-height,0px)); }
  .gr-holiday-announcement > a { min-height:44px; padding:6px 9px; font-size:12px; gap:0 .35em; }
  .gr-holiday-bar-divider { display:none; }
  .gr-holiday-popup { right:12px; bottom:12px; width:min(420px,calc(100% - 24px)); padding:16px; }
  .gr-holiday-popup-inline { inset:auto; }
  .gr-holiday-page { width:calc(100% - 32px); padding-top:111px; }
  .gr-holiday-section { scroll-margin-top:104px; }
}
@media(max-width:620px) {
  .gr-holiday-package-grid { grid-template-columns:1fr; }
  .gr-holiday-popup-actions { gap:7px; }
  .gr-holiday-popup-actions .gr-holiday-button { padding-inline:9px; font-size:11px; }
  .gr-holiday-page .gr-holiday-actions .button { flex:1 1 auto; }
  .gr-holiday-hours th, .gr-holiday-hours td { font-size:14px; padding:10px; }
}
