/* ===========================================================
   Preston Christmas on Ice — skin for the Elementor build
   (typography, colour, button + card styling, sticky glass header,
    hero filter, responsive). Section/column structure, backgrounds
    and spacing live in native Elementor settings — this is the theme.
   =========================================================== */
:root{
  --night:#071426; --night-2:#0c2140; --night-3:#0a1c34;
  --ice:#8fd3f0; --ice-2:#bfe9ff; --ice-deep:#1f6fb2; --ice-line:rgba(191,233,255,.16);
  --frost:#eaf6ff; --snow:#ffffff;
  --red:#c8102e; --red-2:#e5384d; --red-deep:#8f0c20;
  --gold:#f2c14e; --gold-2:#ffd77a;
  --cream:#f7efe0; --ink:#0b1e38;
  --disp:'Cinzel', Georgia, 'Times New Roman', serif;
  --script:'Great Vibes', 'Segoe Script', cursive;
  --body:'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
body{background:var(--night);color:var(--frost)!important;font-family:var(--body)!important}
[id^="poi-"]{scroll-margin-top:88px}
/* kill theme chrome if it ever renders (Canvas already omits it) */
body .wp-site-blocks>header, body .wp-site-blocks>footer,
body > header.wp-block-template-part, .admin-bar #poi-header{}

/* generic heading helpers ---------------------------------- */
.poi-kicker .elementor-heading-title{font-family:var(--body)!important;font-weight:600;text-transform:uppercase;
  letter-spacing:.42em;font-size:.82rem;color:var(--gold-2)!important}
.poi-h2 .elementor-heading-title{font-family:var(--disp)!important;font-weight:700;color:var(--snow)!important;
  font-size:clamp(2rem,4.2vw,3.3rem);line-height:1.08;letter-spacing:.01em}
.poi-h2.poi-onlight .elementor-heading-title{color:var(--ink)!important}
.poi-lead .elementor-text-editor,.poi-lead{color:#cfe2f4;font-size:1.06rem;line-height:1.75;font-weight:300}
.poi-lead.poi-onlight,.poi-lead.poi-onlight .elementor-text-editor{color:#2b3f5c}
.poi-script .elementor-heading-title{font-family:var(--script)!important;color:var(--gold-2)!important;
  font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1}

/* buttons -------------------------------------------------- */
.poi-btn .elementor-button{font-family:var(--body)!important;font-weight:600;text-transform:uppercase;
  letter-spacing:.07em;font-size:.86rem;border-radius:999px;padding:1.05em 2.1em;border:0;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;display:inline-flex;gap:.6em;align-items:center}
.poi-btn .elementor-button:hover{transform:translateY(-2px)}
.poi-btn-red .elementor-button{background:linear-gradient(180deg,var(--red-2),var(--red-deep))!important;color:#fff!important;
  box-shadow:0 14px 34px -12px rgba(200,16,46,.75)}
.poi-btn-red .elementor-button:hover{box-shadow:0 18px 40px -12px rgba(200,16,46,.9)}
.poi-btn-ice .elementor-button{background:linear-gradient(180deg,var(--ice-2),var(--ice-deep))!important;color:#05233f!important;
  box-shadow:0 14px 34px -12px rgba(31,111,178,.7)}
.poi-btn-gold .elementor-button{background:linear-gradient(180deg,var(--gold-2),var(--gold))!important;color:#3a2606!important;
  box-shadow:0 14px 34px -12px rgba(242,193,78,.6)}
.poi-btn-ghost .elementor-button{background:rgba(255,255,255,.06)!important;border:2px solid rgba(191,233,255,.4)!important;
  color:var(--frost)!important}
.poi-btn-ghost .elementor-button:hover{background:rgba(191,233,255,.14)!important;border-color:var(--ice-2)!important}

/* ================= HEADER (sticky glass) ================= */
#poi-header{position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(7,20,38,.42);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);
  border-bottom:1px solid rgba(191,233,255,.12)}
.admin-bar #poi-header{top:32px}
#poi-header .elementor-container{align-items:center}
#poi-header .elementor-widget:not(:last-child){margin-bottom:0}
.poi-logo .elementor-widget-container{text-align:left}
.poi-logo img{max-height:58px!important;width:auto;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}
/* nav row */
#poi-navcol .elementor-widget-wrap{flex-direction:row!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px}
#poi-navcol .elementor-widget{width:auto!important;max-width:none}
.poi-navlink .elementor-button{background:transparent!important;color:var(--frost)!important;box-shadow:none!important;
  font-weight:500;letter-spacing:.14em;font-size:.74rem;padding:.6em .9em;border-radius:6px}
.poi-navlink .elementor-button:hover{color:var(--gold-2)!important;transform:none;background:rgba(255,255,255,.06)!important}
#poi-ctacol .elementor-widget-wrap{justify-content:flex-end}
.poi-cta .elementor-button{background:linear-gradient(180deg,var(--red-2),var(--red-deep))!important;color:#fff!important;
  border-radius:999px;padding:.8em 1.5em;letter-spacing:.1em;font-size:.78rem;box-shadow:0 10px 26px -10px rgba(200,16,46,.7)}

/* ================= HERO ================= */
#poi-hero{position:relative;overflow:hidden}
#poi-hero .elementor-background-video-container{filter:saturate(1.05)}
/* frosty vignette + top scrim so the glass header reads on the video */
#poi-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(120% 90% at 50% 8%,rgba(7,20,38,0) 40%,rgba(7,20,38,.55) 100%),
             linear-gradient(180deg,rgba(7,20,38,.75) 0%,rgba(7,20,38,.15) 26%,rgba(7,20,38,.2) 60%,rgba(7,20,38,.92) 100%)}
#poi-hero > .elementor-container{position:relative;z-index:2}
#poi-hero .poi-hero-logo img{max-width:min(430px,74vw)!important;width:100%;height:auto;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,.55))}
.poi-hero-tag .elementor-heading-title{font-family:var(--disp)!important;font-weight:700;color:var(--snow)!important;
  font-size:clamp(1.5rem,3.4vw,2.6rem);letter-spacing:.02em;text-shadow:0 4px 24px rgba(0,0,0,.5)}
.poi-hero-tag b,.poi-hero-tag .elementor-heading-title b{color:var(--gold-2)!important;font-weight:700}
.poi-hero-meta .elementor-heading-title{font-family:var(--body)!important;font-weight:500;color:var(--ice-2)!important;
  font-size:clamp(1rem,1.7vw,1.22rem);letter-spacing:.06em}
.poi-hero-meta .elementor-heading-title b{color:var(--snow)!important}
.poi-hero-eyebrow .elementor-heading-title{font-family:var(--body)!important;font-weight:600;text-transform:uppercase;
  letter-spacing:.5em;font-size:.8rem;color:var(--gold-2)!important;text-shadow:0 2px 14px rgba(0,0,0,.6)}
/* hero button rows: keep buttons inline centered */
.poi-btnrow .elementor-widget-wrap{flex-direction:row!important;flex-wrap:wrap;justify-content:center;gap:14px}
.poi-btnrow .elementor-widget{width:auto!important}

/* ================= FEATURE STRIP ================= */
#poi-features{border-top:1px solid var(--ice-line);border-bottom:1px solid var(--ice-line)}
.poi-feat .elementor-icon-box-icon{margin-bottom:12px}
.poi-feat .elementor-icon{font-size:34px;color:var(--ice-2)!important;fill:var(--ice-2)!important}
.poi-feat .elementor-icon-box-title{font-family:var(--body)!important;font-weight:600;text-transform:uppercase;
  letter-spacing:.12em;font-size:.9rem;color:var(--snow)!important;margin:0 0 4px}
.poi-feat .elementor-icon-box-description{font-family:var(--body)!important;font-weight:300;font-size:.82rem;color:#a9c2da}

/* ================= SECTION TITLES / cards ================= */
.poi-eyebrow-c .elementor-heading-title{text-align:center}
/* frosted card look is applied via native column bg; these style contents */
.poi-price-name .elementor-heading-title{font-family:var(--body)!important;font-weight:600;text-transform:uppercase;
  letter-spacing:.1em;font-size:.86rem;color:var(--ice-2)!important}
.poi-price-val .elementor-heading-title{font-family:var(--disp)!important;font-weight:700;font-size:2.1rem;color:var(--snow)!important;line-height:1}
.poi-price-note .elementor-text-editor{font-family:var(--body)!important;font-weight:300;font-size:.78rem;color:#9fb6cf}
.poi-price-free .elementor-heading-title{color:var(--gold-2)!important}

/* what's-on cards (icon on frosted column) */
.poi-wcard .elementor-icon{font-size:40px;color:var(--gold-2)!important;fill:var(--gold-2)!important}
.poi-wcard .elementor-icon-box-title{font-family:var(--disp)!important;font-weight:700;font-size:1.3rem;color:var(--snow)!important;margin:.4em 0 .3em}
.poi-wcard .elementor-icon-box-description{font-weight:300;color:#bcd0e6;font-size:.9rem;line-height:1.6}

/* opening times */
.poi-day .elementor-heading-title{font-family:var(--body)!important;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;font-size:.82rem;color:var(--ice-2)!important}
.poi-time .elementor-heading-title{font-family:var(--disp)!important;font-weight:700;font-size:1.5rem;color:var(--snow)!important}
.poi-time.poi-closed .elementor-heading-title{color:var(--red-2)!important}

/* grotto */
#poi-grotto .poi-h2 .elementor-heading-title{color:#fff}
.poi-grotto-hours .elementor-heading-title{font-family:var(--disp)!important;font-weight:700;font-size:1.7rem;color:var(--gold-2)!important}

/* find us / map */
.poi-map iframe,.poi-map .elementor-custom-embed{width:100%;min-height:380px;border:0;
  border-radius:16px;filter:grayscale(.15) contrast(1.02)}
.poi-addr .elementor-heading-title{font-family:var(--disp)!important;font-weight:700;font-size:1.5rem;color:var(--snow)!important}

/* footer */
#poi-footer{border-top:1px solid var(--ice-line)}
.poi-foot-logo img{max-height:96px!important;width:auto}
.poi-foot-h .elementor-heading-title{font-family:var(--body)!important;font-weight:600;text-transform:uppercase;
  letter-spacing:.22em;font-size:.78rem;color:var(--gold-2)!important}
.poi-foot-link .elementor-icon-list-items{}
.poi-foot-link .elementor-icon-list-item a,.poi-foot-link a{color:#a9c2da;font-weight:300;font-size:.92rem}
.poi-foot-link a:hover{color:var(--frost)!important}
.poi-foot-script .elementor-heading-title{font-family:var(--script)!important;color:var(--gold-2)!important;font-size:2.4rem;line-height:1}
.poi-copy .elementor-heading-title,.poi-copy{color:#7f97b0;font-size:.8rem;font-weight:300;letter-spacing:.03em}
#poi-footer .elementor-social-icon{background:rgba(191,233,255,.1)!important;transition:background .2s}
#poi-footer .elementor-social-icon:hover{background:var(--red)!important}
#poi-footer .elementor-social-icon i{color:var(--frost)!important}

/* decorative snow dots on dark sections (very subtle) */
.poi-snowtop{position:relative}
.poi-snowtop::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--gold-2),var(--ice-2),transparent);opacity:.5}

/* ===== hero split (concept layout) ===== */
#poi-herol .elementor-widget-wrap{align-content:center}
#poi-heror .elementor-widget-wrap{align-items:flex-start}
.poi-hero-assoc .elementor-heading-title{font-family:var(--body)!important;text-transform:uppercase;letter-spacing:.34em;font-size:.7rem;font-weight:600;color:var(--ice-2)!important}
.poi-spudlogo img{max-width:min(210px,54vw)!important;height:auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.55))}
.poi-hero-head .elementor-heading-title{font-family:var(--disp)!important;font-weight:800;color:var(--snow)!important;
  font-size:clamp(2.1rem,4.2vw,3.5rem);line-height:1.06;letter-spacing:.01em;text-shadow:0 4px 24px rgba(0,0,0,.55)}
.poi-hero-head .elementor-heading-title b{color:var(--gold-2)!important;font-weight:800}
.poi-hero-body .elementor-text-editor{color:#dbe8f6!important;font-size:1.06rem;line-height:1.7;font-weight:300;max-width:34em}

/* ===== Spud Bros band ===== */
.poi-spud-h .elementor-heading-title{font-family:var(--body)!important;text-transform:uppercase;letter-spacing:.3em;
  font-size:.74rem;font-weight:600;color:var(--red)!important}
.poi-spud-h-light .elementor-heading-title{color:#ffd8dc!important}
.poi-spud-title .elementor-heading-title{font-family:var(--disp)!important;font-weight:800;color:var(--cream)!important;
  font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.06}
.poi-spudlogo-lg img{max-width:min(250px,64vw)!important;height:auto}
.poi-foot-spud img{max-width:148px!important;height:auto}
.poi-onink .elementor-text-editor,.poi-onink{color:#5a4a34!important;font-weight:400!important}
.poi-oncream .elementor-text-editor,.poi-oncream{color:#ffe1e5!important}
.poi-btn-cream .elementor-button{background:var(--cream)!important;color:#8f0c20!important;box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}

/* ===== photo cards (What's On) ===== */
.poi-photocap .elementor-heading-title{display:inline-block;background:rgba(255,255,255,.95);color:#0b1e38!important;
  font-family:var(--disp)!important;font-weight:700;font-size:1.12rem;letter-spacing:.01em;padding:.5em 1em;border-radius:9px;
  box-shadow:0 10px 24px rgba(0,0,0,.4)}
/* force photo-card height + bottom-align caption (native column min-height is ignored in this build) */
#poi-whatson .elementor-inner-section .elementor-widget-wrap.elementor-element-populated{min-height:400px;justify-content:flex-end;position:relative;overflow:hidden}
#poi-whatson .elementor-inner-section .elementor-widget-wrap.elementor-element-populated::before{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(180deg,transparent,rgba(4,10,20,.6));pointer-events:none;z-index:1}
#poi-whatson .poi-photocap{position:relative;z-index:2}

/* feature strip dividers */
#poi-features .elementor-column:not(:last-child){border-right:1px solid var(--ice-line)}

/* ================= RESPONSIVE ================= */
@media(max-width:1024px){
  .poi-navlink .elementor-button{font-size:.66rem;letter-spacing:.08em;padding:.5em .55em}
  .poi-logo img{max-height:46px}
  #poi-features .elementor-column:nth-child(3){border-right:0}
}
@media(max-width:767px){
  #poi-header{position:sticky}
  #poi-header .elementor-container{flex-wrap:wrap}
  #poi-navcol .elementor-widget-wrap{gap:0}
  .poi-navlink .elementor-button{font-size:.7rem;padding:.5em .7em}
  #poi-ctacol .elementor-widget-wrap{justify-content:center}
  #poi-hero .poi-hero-logo img{max-width:78vw}
  /* hero split -> centre everything */
  #poi-heror .elementor-widget-wrap{align-items:center}
  #poi-heror .elementor-heading-title,#poi-heror .elementor-text-editor{text-align:center!important}
  .poi-hero-body .elementor-text-editor{margin-left:auto;margin-right:auto}
  .poi-spudlogo img{margin:0 auto}
  /* Spud band + photo cards + features stack */
  #poi-features .elementor-column{border-right:0!important}
  .poi-photocap .elementor-heading-title{font-size:1.05rem}
  .poi-btn .elementor-button{width:100%;justify-content:center}
}
