/* ICE theme overrides: shared components (assets/css/lib/holowall.css + lightbox.css).
   Colour only; every rule scoped [data-theme="ice"]. Audio (voice.css) lives in ice/base.css. */

/* =========================================================
   HOLO-WALL component (.holowall / .hw-*)
   Panels are photos/videos: they keep a dark caption scrim with white text.
   Chrome around them (chips, arrows, projector, beam) goes bright ice.
   ========================================================= */
[data-theme="ice"] .hw-chip {
  color: var(--ink-2); background: rgba(255, 255, 255, .88); border-color: var(--line-2);
  box-shadow: 0 1px 2px rgba(16, 60, 110, .05), 0 6px 14px -10px rgba(16, 60, 110, .3);
}
[data-theme="ice"] .hw-chip:hover { color: var(--ink); border-color: var(--ice); background: #fff; box-shadow: 0 8px 20px -10px rgba(14, 140, 220, .5); }
[data-theme="ice"] .hw-chip.is-on {
  color: #03203d; background: var(--grad-btn); border-color: transparent;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .6) inset, 0 10px 24px -10px rgba(14, 140, 220, .65), 0 2px 6px rgba(16, 60, 110, .1);
}

/* panels: crisp white bezel + soft navy drop shadow instead of the neon halo */
[data-theme="ice"] .hw-media {
  background: #dcecf9;
  border-color: rgba(255, 255, 255, .9);
  box-shadow: 0 0 0 1px rgba(14, 92, 160, .2), 0 16px 34px -16px rgba(16, 60, 110, .5), 0 0 18px -4px rgba(56, 182, 245, .35);
}
[data-theme="ice"] .hw-media::after { /* lighter scanline sheen, ice tint (no neon) */
  background:
    repeating-linear-gradient(0deg, rgba(255, 255, 255, .03) 0 1px, transparent 1px 3px),
    linear-gradient(160deg, rgba(127, 220, 255, .08), transparent 40%, rgba(160, 170, 255, .08));
}
[data-theme="ice"] .hw-tile.is-hot .hw-media {
  border-color: #fff;
  box-shadow: 0 0 0 2px rgba(56, 182, 245, .75), 0 0 0 7px rgba(56, 182, 245, .16), 0 22px 48px -18px rgba(14, 100, 180, .6);
}
[data-theme="ice"] .hw-cap { color: #fff; background: linear-gradient(180deg, transparent, rgba(6, 22, 44, .88) 55%); }
[data-theme="ice"] .hw-txt strong { color: #fff; }
[data-theme="ice"] .hw-txt em { color: rgba(226, 238, 250, .86); }
[data-theme="ice"] .hw-type { border-color: #7fd3ff; color: #bfe8fb; background: rgba(56, 182, 245, .2); box-shadow: 0 0 8px rgba(56, 182, 245, .35); }
[data-theme="ice"] .hw-type[data-type="link"] { border-color: #a9a2ff; color: #dedbff; background: rgba(122, 92, 240, .22); box-shadow: 0 0 8px rgba(122, 92, 240, .35); }
[data-theme="ice"] .hw-type[data-type="image"] { border-color: #f6c66b; color: #ffe3a3; background: rgba(246, 198, 107, .16); box-shadow: 0 0 8px rgba(246, 198, 107, .3); }

/* projector: pale ice light cone on frost (screen blending would erase it) */
[data-theme="ice"] .hw-beam {
  background: radial-gradient(ellipse 50% 100% at 50% 100%, rgba(56, 182, 245, .34), rgba(56, 182, 245, .10) 45%, transparent 75%);
  mix-blend-mode: normal;
}
[data-theme="ice"] .hw-rays {
  background: repeating-conic-gradient(from 180deg at 50% 100%, rgba(5, 119, 181, .10) 0deg 1.2deg, transparent 1.2deg 7deg);
  mix-blend-mode: normal; opacity: .9;
}
[data-theme="ice"] .hw-floor { background: radial-gradient(ellipse at 50% 30%, rgba(56, 182, 245, .2), transparent 62%); }
[data-theme="ice"] .hw-base { filter: drop-shadow(0 14px 18px rgba(16, 60, 110, .22)) drop-shadow(0 2px 3px rgba(16, 60, 110, .18)); }

[data-theme="ice"] .hw-arrow {
  color: var(--cyan); background: #fff; border-color: var(--line-2);
  box-shadow: 0 1px 2px rgba(16, 60, 110, .06), 0 8px 20px -12px rgba(16, 60, 110, .35);
}
[data-theme="ice"] .hw-arrow:hover { border-color: var(--ice); box-shadow: 0 0 0 4px rgba(56, 182, 245, .14), 0 10px 24px -10px rgba(14, 140, 220, .55); }
[data-theme="ice"] .hw-hint { color: #4c627c; } /* AA on the projector glow */

/* =========================================================
   LIGHTBOX (.lb)
   Light frosted ice overlay, navy controls + captions; the media frame stays dark (it is content).
   ========================================================= */
[data-theme="ice"] .lb-backdrop {
  background:
    radial-gradient(ellipse at 50% 38%, rgba(255, 255, 255, .6), transparent 62%),
    rgba(235, 244, 252, .94);
  -webkit-backdrop-filter: blur(14px) saturate(1.1); backdrop-filter: blur(14px) saturate(1.1);
}
[data-theme="ice"] .lb-stage {
  background: #061426; border-color: rgba(14, 92, 160, .22);
  box-shadow: 0 2px 6px rgba(16, 60, 110, .08), 0 34px 80px -30px rgba(16, 60, 110, .55), 0 0 0 6px rgba(255, 255, 255, .7);
}
/* stills (photos, site previews) sit on a pale print mat; video + embeds keep the dark screen above */
[data-theme="ice"] .lb-stage.lb-image, [data-theme="ice"] .lb-stage.lb-link {
  background: linear-gradient(160deg, #ffffff 0%, #e8f2fb 100%);
}
[data-theme="ice"] .lb-hud i { border-color: var(--ice); filter: none; }
[data-theme="ice"] .lb-hud i:nth-child(3), [data-theme="ice"] .lb-hud i:nth-child(4) { border-color: var(--violet); filter: none; }
[data-theme="ice"] .lb-meta h3 { color: var(--ink); }
[data-theme="ice"] .lb-meta p { color: var(--ink-2); }
[data-theme="ice"] .lb-kicker { color: var(--cyan); }
[data-theme="ice"] .lb-count { color: var(--muted); }
[data-theme="ice"] .lb-btn {
  color: var(--ink); background: rgba(255, 255, 255, .94); border-color: var(--line-2);
  box-shadow: 0 1px 2px rgba(16, 60, 110, .08), 0 10px 24px -12px rgba(16, 60, 110, .45);
}
[data-theme="ice"] .lb-btn:hover { color: var(--cyan); background: #fff; border-color: var(--ice); box-shadow: 0 0 0 4px rgba(56, 182, 245, .16), 0 12px 26px -10px rgba(14, 140, 220, .55); }
/* explanation card (hero vortex items) */
[data-theme="ice"] .lb-info {
  background: rgba(255, 255, 255, .95); border-color: var(--line);
  box-shadow: 0 2px 6px rgba(16, 60, 110, .06), 0 24px 60px -28px rgba(16, 60, 110, .45);
}
[data-theme="ice"] .lb-info-name, [data-theme="ice"] .lb-info-tag, [data-theme="ice"] .lb-info-price b { color: var(--ink); }
[data-theme="ice"] .lb-info-desc, [data-theme="ice"] .lb-info-bullets li, [data-theme="ice"] .lb-info-now { color: var(--ink-2); }
[data-theme="ice"] .lb-info-price { color: var(--muted); }
