/* =========================================================
   ICE theme overrides: #book (booking form + direct-contact side panel)
   Colour only. Every rule scoped [data-theme="ice"]. Original: assets/css/book.css
   (+ a small scoped footer contrast fix at the end, see note there)
   ========================================================= */

/* soft ice highlights; the dark bg-02 brand wallpaper is dropped (screen blend vanishes on white anyway).
   No highlight at top-centre: it sits under the 12px eyebrow and would pull it under 4.5:1. */
[data-theme="ice"] .book-aura {
  background:
    radial-gradient(40% 30% at 18% 30%, rgba(56, 182, 245, .12), transparent 70%),
    radial-gradient(40% 34% at 85% 70%, rgba(99, 102, 241, .07), transparent 70%);
}
[data-theme="ice"] .book-aura::after,
[data-theme="ice"] .book.is-near .book-aura::after { background-image: none; mix-blend-mode: normal; }

/* ---------- form head ---------- */
[data-theme="ice"] .book-form-sub span, [data-theme="ice"] .book-req { color: var(--violet); }

[data-theme="ice"] .book-picked {
  border-color: rgba(5, 119, 181, .45); background: rgba(56, 182, 245, .1);
  box-shadow: 0 8px 22px -12px rgba(14, 140, 220, .6);
}
[data-theme="ice"] .book-picked-k { color: var(--cyan); }
[data-theme="ice"] .book-picked b { color: var(--ink); }
[data-theme="ice"] .book-picked-x { background: #fff; border-color: var(--line-2); color: var(--ink-2); }
[data-theme="ice"] .book-picked-x:hover { color: var(--ink); border-color: var(--cyan); }

[data-theme="ice"] .book-label, [data-theme="ice"] .book-set > legend { color: var(--ink-2); }

/* ---------- chips ---------- */
[data-theme="ice"] .book-chip span {
  background: #fff; border-color: var(--line-2); color: var(--ink-2);
  box-shadow: 0 1px 2px rgba(16, 60, 110, .05);
}
[data-theme="ice"] .book-chip:hover span { border-color: var(--ice); color: var(--ink); background: #f5fbff; }
[data-theme="ice"] .book-chip input:focus-visible + span { outline-color: var(--cyan); }
/* event type (single choice): filled ice-blue pill, navy text, like the primary buttons */
[data-theme="ice"] .book-chip input[type="radio"]:checked + span {
  color: #03203d; background: var(--grad-btn); border-color: var(--cyan);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55), 0 8px 20px -10px rgba(14, 140, 220, .75);
}
[data-theme="ice"] .book-set.is-invalid .book-chip span { border-color: rgba(200, 38, 74, .55); }

/* product interest checkboxes */
[data-theme="ice"] .book-group + .book-group { border-top-color: rgba(14, 92, 160, .09); }
[data-theme="ice"] .book-group-name { color: var(--muted); }
[data-theme="ice"] .book-pchip span::before { border-color: #7590ad; background-color: #fff; }
[data-theme="ice"] .book-pchip input:checked + span {
  color: var(--ink); border-color: var(--cyan); background: #e3f4fd;
  box-shadow: 0 6px 16px -10px rgba(14, 140, 220, .8);
}
[data-theme="ice"] .book-pchip input:checked + span::before {
  border-color: transparent; background-color: var(--cyan);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@keyframes book-flash-ice { 0% { box-shadow: 0 0 0 0 rgba(56, 182, 245, .7); } 100% { box-shadow: 0 0 0 12px rgba(56, 182, 245, 0); } }
[data-theme="ice"] .book-pchip.is-flash span { animation-name: book-flash-ice; }
[data-theme="ice"] .book-more { color: var(--cyan); text-decoration-color: rgba(5, 119, 181, .4); }
[data-theme="ice"] .book-more:hover { color: #045a8c; text-decoration-color: currentColor; }

/* ---------- inputs: white fields, navy text, --line-2 borders, clear ice focus ring ---------- */
[data-theme="ice"] .book-form input:not([type="radio"]):not([type="checkbox"]),
[data-theme="ice"] .book-form select,
[data-theme="ice"] .book-form textarea {
  background-color: #fff; border-color: var(--line-2); color: var(--ink);
  box-shadow: inset 0 1px 2px rgba(16, 60, 110, .06);
}
[data-theme="ice"] .book-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230577b5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; /* same as original; keeps the chevron single when :focus sets the colour */
}
[data-theme="ice"] .book-form select option { background: #fff; color: var(--ink); }
[data-theme="ice"] .book-form input::placeholder, [data-theme="ice"] .book-form textarea::placeholder { color: var(--muted); opacity: 1; }
[data-theme="ice"] .book-form input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(29%) sepia(92%) saturate(1240%) hue-rotate(181deg) brightness(92%); opacity: .9;
}
[data-theme="ice"] .book-form input:not([type="radio"]):not([type="checkbox"]):hover,
[data-theme="ice"] .book-form select:hover,
[data-theme="ice"] .book-form textarea:hover { border-color: rgba(5, 119, 181, .5); }
[data-theme="ice"] .book-form input:not([type="radio"]):not([type="checkbox"]):focus,
[data-theme="ice"] .book-form select:focus,
[data-theme="ice"] .book-form textarea:focus {
  border-color: var(--cyan); background-color: #fff; box-shadow: 0 0 0 3px rgba(56, 182, 245, .32);
}
/* error state (the selector is long so it outranks the white-field rule above, focused or not) */
[data-theme="ice"] .book-field.is-invalid input:not([type="radio"]):not([type="checkbox"]),
[data-theme="ice"] .book-field.is-invalid select { border-color: #d0365a; box-shadow: 0 0 0 3px rgba(208, 54, 90, .14); }
[data-theme="ice"] .book-err { color: #c0264a; }
[data-theme="ice"] .book-status.is-error { color: #c0264a; }

/* ---------- success ---------- */
[data-theme="ice"] .book-success-ring { filter: drop-shadow(0 6px 14px rgba(14, 140, 220, .35)); }
[data-theme="ice"] .book-success-sum { background: #fff; border-color: var(--line); box-shadow: var(--shadow-1); }
[data-theme="ice"] .book-success-dev { color: #8a5a06; border-color: rgba(200, 140, 30, .55); background: rgba(246, 198, 107, .12); }

/* ---------- side panel: white cards with soft navy shadows ---------- */
[data-theme="ice"] .book-card {
  border-color: var(--line); background: var(--grad-soft); box-shadow: var(--shadow-1);
}
[data-theme="ice"] .book-status-card {
  border-color: rgba(16, 185, 129, .35);
  background: linear-gradient(170deg, #e6f9f1, #ffffff 75%);
}
[data-theme="ice"] .book-now { color: #047857; }
[data-theme="ice"] .book-now i { background: #10b981; box-shadow: 0 0 0 3px rgba(16, 185, 129, .2); }
[data-theme="ice"] .book-card-title { color: var(--ink); }

[data-theme="ice"] .book-contact a:hover { background: rgba(56, 182, 245, .09); }
[data-theme="ice"] .book-contact-ico { border-color: var(--line-2); background: rgba(56, 182, 245, .1); color: var(--cyan); }
[data-theme="ice"] .book-contact b { color: var(--ink); }

[data-theme="ice"] .book-steps li::before { color: #fff; background: linear-gradient(100deg, #0369a1, #2563eb 55%, #5b4fe0); box-shadow: 0 4px 10px -3px rgba(37, 99, 235, .55); }

[data-theme="ice"] .book-stats li { border-color: var(--line); background: #fff; box-shadow: var(--shadow-1); }
[data-theme="ice"] .book-stats b { color: var(--ink); }
