/* =========================================================
   ICE theme overrides: product pages (products/<id>.html, assets/css/product.css)
   Colour only. Every rule scoped [data-theme="ice"]. Loaded after ice/base.css + ice/lib.css.
   ========================================================= */

/* ---------- nav over the hero (product.css gives it a dark top fade) ---------- */
[data-theme="ice"] .pp .nav { background: linear-gradient(180deg, rgba(244, 249, 254, .92), rgba(244, 249, 254, 0)); }
[data-theme="ice"] .pp .nav.scrolled, [data-theme="ice"] .pp .nav.open { background: rgba(255, 255, 255, .86); }

/* product pages keep a flat page colour (product.css: body.pp { background: var(--bg) }) so the
   body-wide radial tints of ice/base.css never sit under small accent labels */
[data-theme="ice"] body.pp { background: var(--bg); }

/* ---------- hero: faint blurred photo under a white/ice wash, navy text ---------- */
[data-theme="ice"] .pp-hero { background: var(--bg); }
/* lifted (brightness/contrast) so dark photos tint the frost instead of greying it */
[data-theme="ice"] .pp-hero-bg img { filter: blur(46px) saturate(1.5) brightness(1.5) contrast(.82); opacity: .55; }
/* wash is near-solid under the copy (AA for the small accent labels) and thins toward the framed photo */
[data-theme="ice"] .pp-hero-scrim {
  background:
    radial-gradient(55% 65% at 78% 48%, rgba(56, 182, 245, .18), transparent 70%),
    linear-gradient(90deg, rgba(249, 252, 255, .985) 0%, rgba(247, 251, 255, .95) 40%, rgba(236, 245, 254, .72) 100%),
    linear-gradient(180deg, rgba(244, 249, 254, .7) 0%, transparent 24%, transparent 70%, var(--bg) 100%);
}
[data-theme="ice"] .pp-back { background: rgba(255, 255, 255, .78); border-color: var(--line-2); color: var(--ink-2); box-shadow: 0 2px 8px -4px rgba(16, 60, 110, .18); }
[data-theme="ice"] .pp-back:hover { color: var(--ink); border-color: var(--cyan); background: #fff; }
[data-theme="ice"] .pp-hero h1 { color: var(--ink); }
[data-theme="ice"] .pp-price-label { color: var(--muted); }
[data-theme="ice"] .pp-price-val { color: var(--ink); text-shadow: 0 10px 30px rgba(56, 182, 245, .28); }
[data-theme="ice"] .pp-price-note { color: var(--ink-2); }
[data-theme="ice"] .pp-hero-frame {
  background: linear-gradient(160deg, #ffffff 0%, #e4f2fd 52%, #dfe3fb 100%);
  box-shadow:
    0 0 0 1px rgba(14, 92, 160, .1),
    0 40px 90px -38px rgba(16, 60, 110, .55),
    0 0 80px -28px rgba(56, 182, 245, .55);
}
[data-theme="ice"] .pp-hero-frame img { background: var(--bg-3); }

/* ---------- sections: bright bands ---------- */
[data-theme="ice"] .pp-sec + .pp-sec { border-top-color: rgba(14, 92, 160, .08); }
/* alternate bands deepen downward: the section head (small accent labels) sits on the lightest part,
   the white cards below sit on the frostiest part; highlights stay clear of the head */
[data-theme="ice"] .pp-sec:nth-of-type(odd):not(.pp-bandsec) {
  background:
    radial-gradient(55% 380px at 100% 0%, rgba(56, 182, 245, .1), transparent 70%),
    radial-gradient(55% 420px at 0% 100%, rgba(99, 102, 241, .07), transparent 70%),
    linear-gradient(180deg, var(--bg) 0%, #f0f7fe 28%, #e7f1fb 100%);
}
[data-theme="ice"] .pp-what { background: radial-gradient(55% 420px at 94% 10%, rgba(56, 182, 245, .08), transparent 70%); }

/* what you get + at a glance (.glass card comes from ice/base.css) */
[data-theme="ice"] .pp-desc { color: var(--ink-2); }
[data-theme="ice"] .pp-bullets li { color: var(--ink); }
[data-theme="ice"] .pp-aud-label { color: var(--muted); }
[data-theme="ice"] .pp-aud-list li { background: #fff; border-color: var(--line-2); color: var(--ink-2); box-shadow: 0 1px 2px rgba(16, 60, 110, .06); }
[data-theme="ice"] .pp-facts dt { color: var(--muted); }
[data-theme="ice"] .pp-facts dd { color: var(--ink); }
[data-theme="ice"] .pp-facts dd small { color: var(--ink-2); }
[data-theme="ice"] .pp-facts dd a { color: var(--cyan); }

/* ---------- watch: films + clips (screens stay dark: that is content) ---------- */
[data-theme="ice"] .pp-vid-frame {
  background: #0a1f36; border-color: var(--line-2);
  box-shadow: 0 20px 44px -30px rgba(16, 60, 110, .55), 0 0 0 1px rgba(255, 255, 255, .6);
}
[data-theme="ice"] .pp-vid-title { color: var(--ink); }
[data-theme="ice"] .pp-vid-meta { color: var(--ink-2); }
[data-theme="ice"] .pp-film-blurb { color: var(--ink-2); }
[data-theme="ice"] .pp-film-link { color: var(--cyan); }
[data-theme="ice"] .pp-embed { background: radial-gradient(80% 80% at 50% 40%, rgba(56, 182, 245, .35), #0a1f36); }
[data-theme="ice"] .pp-embed::before { background: linear-gradient(180deg, transparent, rgba(6, 18, 34, .72)); }
[data-theme="ice"] .pp-play {
  color: #03203d; background: var(--grad-btn);
  box-shadow: 0 0 0 7px rgba(255, 255, 255, .22), 0 12px 30px -8px rgba(14, 140, 220, .75);
}
[data-theme="ice"] .pp-embed-note { background: rgba(6, 18, 34, .74); color: #e3eefa; }
@media (max-width: 760px) {
  [data-theme="ice"] .pp-play { box-shadow: 0 0 0 6px rgba(255, 255, 255, .22), 0 10px 26px -8px rgba(14, 140, 220, .75); }
}

/* ---------- live sites ---------- */
[data-theme="ice"] .pp-live { background: var(--grad-soft); border-color: var(--line); box-shadow: var(--shadow-1); }
[data-theme="ice"] .pp-live:hover, [data-theme="ice"] .pp-live:focus-visible {
  border-color: rgba(56, 182, 245, .6); box-shadow: 0 22px 46px -22px rgba(14, 140, 220, .5), var(--shadow-1);
}
[data-theme="ice"] .pp-live-shot {
  background:
    radial-gradient(90% 90% at 30% 20%, rgba(56, 182, 245, .2), transparent 60%),
    radial-gradient(80% 80% at 80% 90%, rgba(122, 92, 240, .14), transparent 60%),
    var(--bg-2);
  border-bottom: 1px solid var(--line);
}
[data-theme="ice"] .pp-live-host { color: var(--ink); border-color: var(--line-2); background: rgba(255, 255, 255, .88); box-shadow: 0 6px 18px -10px rgba(16, 60, 110, .35); }
[data-theme="ice"] .pp-live-body b { color: var(--ink); }
[data-theme="ice"] .pp-live-body > span { color: var(--ink-2); }
[data-theme="ice"] .pp-live-body .pp-live-url { color: var(--cyan); }

/* ---------- gallery ---------- */
[data-theme="ice"] .pp-gal-item { background: var(--bg-3); box-shadow: inset 0 0 0 1px var(--line), 0 12px 26px -18px rgba(16, 60, 110, .5); }
[data-theme="ice"] .pp-gal-item::after { box-shadow: inset 0 0 0 1px rgba(14, 92, 160, .12); }
[data-theme="ice"] .pp-gal-item:hover::after, [data-theme="ice"] .pp-gal-item:focus-visible::after {
  box-shadow: inset 0 0 0 2px var(--cyan), inset 0 0 0 4px rgba(255, 255, 255, .55);
}
[data-theme="ice"] .pp-gal-item:hover, [data-theme="ice"] .pp-gal-item:focus-visible {
  box-shadow: inset 0 0 0 1px var(--line), 0 18px 34px -18px rgba(14, 140, 220, .6);
}

/* ---------- pricing tiers: white cards, featured gets an ice-to-violet edge ---------- */
[data-theme="ice"] .pp-tier { background: var(--line-2); box-shadow: var(--shadow-1); }
[data-theme="ice"] .pp-tier.is-featured {
  background: linear-gradient(160deg, var(--ice), var(--violet) 50%, var(--magenta));
  box-shadow: 0 30px 64px -30px rgba(37, 99, 235, .6), 0 0 50px -24px rgba(56, 182, 245, .7);
}
[data-theme="ice"] .pp-tier-in { background: linear-gradient(172deg, #ffffff 0%, #f3f9fe 100%); }
[data-theme="ice"] .pp-tier.is-featured .pp-tier-in { background: linear-gradient(172deg, #ffffff 0%, #ecf6fe 100%); }
[data-theme="ice"] .pp-tier-flag { color: #03203d; background: var(--grad-btn); box-shadow: 0 6px 16px -8px rgba(14, 140, 220, .7); }
[data-theme="ice"] .pp-tier-level { color: var(--cyan); }
[data-theme="ice"] .pp-tier-name { color: var(--ink); }
[data-theme="ice"] .pp-tier-price { border-color: var(--line); }
[data-theme="ice"] .pp-tier-price b { color: var(--ink); }
[data-theme="ice"] .pp-tier-price span { color: var(--muted); }
[data-theme="ice"] .pp-tier-inc li { color: var(--ink-2); }
[data-theme="ice"] .pp-tier-inc li::before { box-shadow: none; }
[data-theme="ice"] .pp-fine { color: var(--ink-2); }
[data-theme="ice"] .pp-fine::before { box-shadow: 0 0 0 3px rgba(246, 198, 107, .3); }

/* ---------- related ---------- */
[data-theme="ice"] .pp-rel { background: var(--grad-soft); border-color: var(--line); box-shadow: var(--shadow-1); }
[data-theme="ice"] .pp-rel:hover, [data-theme="ice"] .pp-rel:focus-visible {
  border-color: rgba(56, 182, 245, .6); box-shadow: 0 22px 46px -22px rgba(14, 140, 220, .5), var(--shadow-1);
}
[data-theme="ice"] .pp-rel-img { background: var(--bg-3); border-bottom: 1px solid var(--line); }
[data-theme="ice"] .pp-rel-kicker { color: var(--cyan); }
[data-theme="ice"] .pp-rel-name { color: var(--ink); }
[data-theme="ice"] .pp-rel-tag { color: var(--ink-2); }
[data-theme="ice"] .pp-rel-go { border-color: var(--line-2); color: var(--cyan); background: #fff; }
[data-theme="ice"] .pp-rel:hover .pp-rel-go { background: var(--grad-btn); color: #03203d; border-color: transparent; box-shadow: 0 8px 18px -8px rgba(14, 140, 220, .7); }

/* ---------- booking band ---------- */
[data-theme="ice"] .pp-band {
  background:
    radial-gradient(50% 80% at 0% 100%, rgba(56, 182, 245, .16), transparent 62%),
    radial-gradient(60% 90% at 100% 100%, rgba(122, 92, 240, .12), transparent 60%),
    radial-gradient(50% 70% at 100% 0%, rgba(56, 182, 245, .12), transparent 62%),
    linear-gradient(160deg, #ffffff 0%, #f1f8fe 100%);
  border-color: var(--line);
  box-shadow: var(--shadow-2), 0 0 90px -50px rgba(56, 182, 245, .7), inset 0 1px 0 #fff;
}
[data-theme="ice"] .pp-band h2 { color: var(--ink); }
[data-theme="ice"] .pp-band-text { color: var(--ink-2); }
[data-theme="ice"] .pp-band-link { color: var(--ink-2); }
[data-theme="ice"] .pp-band-link .ico { color: var(--cyan); }
[data-theme="ice"] .pp-band-link:hover { color: var(--ink); }

/* ---------- phones: hero wash + sticky "Book this" bar ---------- */
@media (max-width: 760px) {
  [data-theme="ice"] .pp-hero-bg img { opacity: .42; }
  [data-theme="ice"] .pp-hero-scrim {
    background:
      radial-gradient(60% 40% at 100% 0%, rgba(56, 182, 245, .12), transparent 70%),
      linear-gradient(180deg, rgba(249, 252, 255, .955) 0%, rgba(247, 251, 255, .95) 50%, var(--bg) 100%);
  }
  [data-theme="ice"] .pp-sticky {
    background: rgba(255, 255, 255, .92); border-color: var(--line-2);
    box-shadow: 0 18px 44px -14px rgba(16, 60, 110, .45), 0 2px 8px rgba(16, 60, 110, .08);
  }
  [data-theme="ice"] .pp-sticky-info b { color: var(--ink); }
  [data-theme="ice"] .pp-sticky-info span { color: var(--muted); }
}
