/* v2.15: dwa obszary, film V6 — patrz koniec pliku */
/* GoWaterAI v2.14 ICE — baza stylu skopiowana z water-ai.html (tokeny, nagłówek, menu, przyciski) */
  /* ============================================================
     GOWATER AI — DESIGN TOKENS
     Kolory, typografia i odstępy — jedno źródło prawdy dla stylu.
     ============================================================ */
  :root{
    --bg-top:      #eef5fc;
    --bg-mid:      #e3eef9;
    --bg-bottom:   #d9e9f7;
    --ink:         #071226;
    --ink-soft:    #33445c;
    --muted:       #5c7089;
    --line:        rgba(10,30,60,0.10);
    --blue-deep:   #0a2a5e;
    --blue:        #1c63ff;
    --blue-bright: #2f8bff;
    --cyan:        #37d0ff;
    --glass-bg:    rgba(255,255,255,0.55);
    --glass-line:  rgba(255,255,255,0.8);
    --navy-card:   #071638;
    --navy-card-2: #0c1f4a;
    --radius-l: 22px;
    --radius-m: 14px;
    --radius-s: 8px;
    --maxw: 1360px;
    --maxw-wide: 1800px;
    --side-pad: clamp(24px, 5vw, 96px);
    --font-display: 'Manrope', 'Inter', sans-serif;
    --font-body: 'Inter', sans-serif;
  }

  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  body{
    font-family:var(--font-body);
    color:var(--ink);
    background:
      radial-gradient(1100px 600px at 78% 8%, #f4f9ff 0%, transparent 60%),
      linear-gradient(180deg, var(--bg-top) 0%, var(--bg-mid) 55%, var(--bg-bottom) 100%);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{ display:block; max-width:100%; }
  a{ color:inherit; text-decoration:none; }
  button{ font-family:inherit; cursor:pointer; }
  ul{ list-style:none; }

  .wrap{ max-width:var(--maxw); margin:0 auto; padding:0 40px; }

  :focus-visible{
    outline:2px solid var(--blue);
    outline-offset:3px;
    border-radius:6px;
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
  }

  /* ============================================================
     HEADER
     ============================================================ */
  .site-header{
    position:sticky; top:0; z-index:50;
    display:flex; align-items:center; justify-content:space-between;
    width:100%;
    max-width:var(--maxw-wide);
    margin:0 auto;
    padding:16px var(--side-pad);
    box-sizing:border-box;
    background:rgba(238,245,252,0.72);
    backdrop-filter:blur(14px) saturate(140%);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
    border-bottom:1px solid transparent;
    transition:border-color .3s ease, background .3s ease;
  }
  .site-header.is-scrolled{
    border-bottom-color:var(--line);
    background:rgba(238,245,252,0.92);
  }

  .logo{ display:flex; align-items:center; }
  .logo img{ height:62px; width:auto; display:block; }
  .logo-fallback-text{
    font-family:var(--font-display);
    font-weight:700;
    font-size:32px;
    letter-spacing:-0.01em;
    background:linear-gradient(100deg, var(--blue-deep) 0%, var(--blue) 55%, var(--cyan) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }

  .main-nav{ display:flex; align-items:center; gap:38px; }
  .main-nav a{
    font-size:15.5px;
    font-weight:500;
    color:var(--ink-soft);
    position:relative;
    padding:4px 0;
    transition:color .2s ease;
  }
  .main-nav a::after{
    content:"";
    position:absolute; left:0; right:100%; bottom:-2px;
    height:2px; background:var(--blue);
    transition:right .25s ease;
    border-radius:2px;
  }
  .main-nav a:hover{ color:var(--ink); }
  .main-nav a:hover::after{ right:0; }
  .lang-switch{
    display:flex; align-items:center; gap:4px;
    font-size:14px; font-weight:600; color:var(--ink-soft);
  }

  /* V1.31 — nawigacja: pięć pozycji (Water AI / Dla kogo / Jak liczyć? /
     Referencje / O nas). Water AI wyróżniona jak przycisk (obwódka), bez
     dropdownu. Trzy pozycje bez gotowego celu (Water AI, Jak liczyć?,
     Referencje) są elementami <span> bez href — nie linkami, nie
     przechwytują kliknięcia, nie pokazują komunikatu "wkrótce" — po
     prostu nieaktywne, wyciszone wizualnie. Dla kogo i O nas prowadzą do
     rzeczywistych podstron. */
  .nav-pill{
    display:inline-flex; align-items:center; justify-content:center;
    padding:6px 16px;
    border:1.5px solid rgba(7,95,229,0.45);
    border-radius:999px;
    transition:border-color .2s ease, background .2s ease;
  }
  .nav-pill:hover{ border-color:rgba(7,95,229,0.8); background:rgba(7,95,229,0.06); }
  .nav-pill.is-active{ border-color:var(--blue); background:rgba(7,95,229,0.12); }
  .nav-pill img{ height:16px; width:auto; display:block; }
  .nav-disabled{
    color:var(--muted);
    opacity:0.62;
    cursor:default;
    user-select:none;
  }
  /* V1.91 — mocniejsze, ale wciąż eleganckie wyróżnienie aktywnej pozycji
     menu: niebieski tekst, delikatna pastylka (tło + cienka obwódka),
     większa waga czcionki, dolna linia (już istniała) automatycznie
     dopasowuje się do szerokości nowej pastylki. Padding+ujemny margines
     = wizualnie szersza pastylka bez przesuwania sąsiednich pozycji. */
  .main-nav a.is-active{
    color:var(--blue);
    font-weight:700;
    background:rgba(28,99,255,0.1);
    border:1px solid rgba(28,99,255,0.22);
    border-radius:999px;
    padding:4px 10px;
    margin:0 -10px;
  }
  .main-nav a.is-active::after{ right:0; }

  /* V1.31 — na tablecie (761–1080px) nowe, nieco dłuższe etykiety
     ("Water AI" w pigułce, "Jak liczyć?") zaczęły się zawijać do dwóch
     linii przy oryginalnym odstępie 38px. Zawężenie odstępu i pigułki
     w tym jednym zakresie przywraca jedną linię bez ingerencji w Hero
     ani w zachowanie na komputerze/telefonie. */
  @media (min-width:761px) and (max-width:1080px){
    .main-nav{ gap:22px; }
    .main-nav a, .main-nav .nav-disabled{ font-size:14px; }
    .nav-pill{ padding:5px 12px; }
    .nav-pill img{ height:14px; }
    .lang-switch{ font-size:13px; }
  }

  /* V159 — siódma pozycja menu ("Warto wiedzieć") przestała się mieścić
     w jednej linii na węższym końcu zakresu komputerowego (1081–1400px)
     przy odstępie 38px. To samo dociągnięcie co wyżej dla tabletu,
     zastosowane teraz też na dolnym pułapie komputera. */
  @media (min-width:1081px) and (max-width:1400px){
    .main-nav{ gap:18px; }
    .main-nav a, .main-nav .nav-disabled{ font-size:14px; }
    .nav-pill{ padding:5px 12px; }
    .nav-pill img{ height:14px; }
    .lang-switch{ font-size:13px; }
  }

  .nav-toggle{
    display:none;
    width:40px; height:40px;
    align-items:center; justify-content:center;
    background:none; border:none;
  }
  .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
    content:""; display:block; width:20px; height:2px; background:var(--ink);
    position:relative; transition:transform .25s ease, opacity .25s ease;
  }
  .nav-toggle span::before{ position:absolute; top:-6px; }
  .nav-toggle span::after{ position:absolute; top:6px; }
  .btn{
    display:inline-flex; align-items:center; gap:12px;
    height:64px;
    padding:0 30px;
    border-radius:999px;
    font-family:var(--font-display);
    font-size:17.5px; font-weight:800;
    letter-spacing:-0.01em;
    border:1px solid transparent;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .btn:active{ transform:translateY(1px); }
  .btn:focus-visible{ outline-offset:4px; }

  .btn-primary{
    color:#fff;
    background:linear-gradient(100deg, #041F5E 0%, #0A63F0 48%, #00D2FF 100%);
    background-size:220% auto;
    animation:btnGradientShift 7s ease-in-out infinite;
    box-shadow:
      0 18px 36px -12px rgba(7,95,229,0.62),
      0 0 0 1px rgba(140,220,255,0.5),
      inset 0 1px 0 rgba(255,255,255,0.4);
  }
  @keyframes btnGradientShift{
    0%{ background-position:0% 50%; }
    50%{ background-position:100% 50%; }
    100%{ background-position:0% 50%; }
  }
  .btn-primary::before{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0) 45%);
    pointer-events:none;
  }
  .btn-primary:hover{
    box-shadow:
      0 20px 40px -12px rgba(7,95,229,0.65),
      0 0 0 1px rgba(140,220,255,0.55),
      inset 0 1px 0 rgba(255,255,255,0.4);
    transform:translateY(-1px);
  }
  .btn-primary .ico{
    position:relative;
    width:44px; height:44px; border-radius:50%;
    background:rgba(255,255,255,0.26);
    border:1.5px solid rgba(255,255,255,0.65);
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    animation:icoPulse 3.4s ease-in-out infinite;
  }
  .btn-primary .ico svg{ position:relative; z-index:1; }
  .btn-primary .ico-ring{
    position:absolute; inset:-5px; border-radius:50%;
    border:1.5px solid rgba(255,255,255,0.5);
    animation:icoRingWave 3.4s ease-out infinite;
  }
  @keyframes icoPulse{
    0%, 100%{ background:rgba(255,255,255,0.2); }
    50%{ background:rgba(255,255,255,0.32); }
  }
  @keyframes icoRingWave{
    0%{ transform:scale(0.85); opacity:0.9; }
    70%{ opacity:0; }
    100%{ transform:scale(1.25); opacity:0; }
  }

  .btn-secondary{
    color:#075DDF;
    background:rgba(235,246,255,0.6);
    border:1.5px solid rgba(7,95,229,0.4);
    position:relative;
    box-shadow:0 8px 20px -14px rgba(7,60,150,0.4);
  }
  .btn-secondary::after{
    content:"";
    position:absolute; inset:-1px;
    border-radius:999px;
    padding:1px;
    background:linear-gradient(120deg, transparent 30%, rgba(140,210,255,0.9) 50%, transparent 70%);
    background-size:260% auto;
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    animation:btnEdgeSweep 5s linear infinite;
    pointer-events:none;
  }
  @keyframes btnEdgeSweep{
    0%{ background-position:0% 50%; }
    100%{ background-position:200% 50%; }
  }
  .btn-secondary:hover{
    background:rgba(235,246,255,0.85);
    border-color:rgba(7,95,229,0.6);
    transform:translateY(-1px);
    box-shadow:0 12px 26px -14px rgba(7,60,150,0.5);
  }
  .btn-secondary svg{ flex-shrink:0; }

  @media (prefers-reduced-motion: reduce){
    .btn-primary, .btn-primary .ico, .btn-primary .ico-ring, .btn-secondary::after{
      animation:none !important;
    }
  }

/* menu mobilne i wąskie */
  @media (max-width: 760px){
    .site-header{ padding:14px 16px; }
    .logo img{ height:38px; }
    .logo-fallback-text{ font-size:22px; }
    .main-nav{
      position:fixed; inset:64px 16px auto 16px;
      flex-direction:column; align-items:flex-start; gap:4px;
      background:rgba(255,255,255,0.97);
      border:1px solid var(--line);
      border-radius:var(--radius-m);
      padding:14px 18px;
      box-shadow:0 20px 40px -20px rgba(10,30,60,0.3);
      transform-origin:top right;
      transform:scale(0.96); opacity:0; pointer-events:none;
      transition:transform .2s ease, opacity .2s ease;
    }
    .main-nav.is-open{ transform:scale(1); opacity:1; pointer-events:auto; }
    .main-nav a, .main-nav .nav-disabled, .main-nav .nav-pill{ padding:10px 0; width:100%; text-align:left; }
    .main-nav .nav-pill{ border:none; padding-left:0; }
    .main-nav a.is-active{ padding:10px 12px; margin:0 -12px; border-radius:10px; }
    .lang-switch{ padding:10px 0; }
    .nav-toggle{ display:flex; }

    .wrap, .hero, .tech-section, .footer-inner{ padding-left:20px; padding-right:20px; }
    .hero{ padding-bottom:20px; gap:28px; }
    .hero h1{ font-size:clamp(40px, 10vw, 46px); }
    .hero-actions{ flex-direction:column; align-items:stretch; }
    .btn{ justify-content:center; }
    .hero-stats{ row-gap:14px; column-gap:12px; }
    .stat-col + .stat-col{ padding-left:0; }
    .stat-col + .stat-col::before{ display:none; }
    .stat-value{ font-size:20px; letter-spacing:-0.6px; }
    .stat-label{ font-size:12px; }

    /* ============================================================
       C2B — TELEFON (≤760px), pełnoprawny układ. Tak jak na tablecie,
       hero-photo dostaje WŁASNY stabilny aspect-ratio (zamiast sztywnej
       height:280px, która przy różnych szerokościach telefonów — 360 do
       430px — dawałaby za każdym razem inną, niekontrolowaną proporcję —
       ten sam błąd co w audycie C2A, tylko w mniejszej skali). Scena jest
       WYDŁUŻONA (proporcja 4:5, węższa niż wysoka) celowo — daje dość
       miejsca, by pokazać wszystkie pięć hologramów naraz, zamiast
       chować którykolwiek z nich (brief C2B sekcja 8). Układ nakładek
       uproszczony do czytelnych, nienachodzących stref; dokładne
       dopasowanie do krawędzi budynków w tej skali to zadania C3-C7. ============================================================ */
    .hero-photo{
      width:100%;
      aspect-ratio:4 / 5;
      height:auto;
    }
    .hero-photo img{
      object-position:66% 36%;
    }

    .holo-tilt-energy{
      top:2%; left:3%; width:38%;
    }
    .holo-energy-inner{ padding:8px 9px 9px; }
    .holo-energy-outer{ padding:4px; }
    .holo-energy .h-title{ font-size:7.5px; }
    .holo-energy .h-chart{ height:20px; }
    .holo-energy .h-result{ font-size:15px; }
    .holo-energy .h-sublabel{ font-size:5px; }

    .hero-photo .facade-logo-position{
      width:20%; top:20%; left:45%;
    }

    /* C2C: na telefonie napis na wieży i napis na bryle są WYŁĄCZNIE
       ukrywane w TYM breakpoincie (display:none tutaj, nie w HTML — nadal
       obecne w DOM i widoczne na komputerze/tablecie). Zbyt mało miejsca
       na wąskim ekranie, by pokazać je czytelnie bez kolizji z resztą
       klastra logo/energii. */
    .holo-tilt-projection{ display:none; }
    .holo-tilt-building-message{ display:none; }

    /* Panel korzyści pozostaje WIDOCZNY na telefonie (brief C2B sekcja 8 —
       zakaz rozwiązywania problemu przez display:none). Przeniesiony pod
       resztę sceny, na dolny pas nieba/wody, żeby nie kolidować z
       gęstszym klastrem logo/wieży powyżej na tak wąskim ekranie. */
    .holo-tilt-benefits.benefits-hologram-position{
      top:50%; left:4%; width:46%;
    }
    .benefits-hologram-perspective{ transform:none; }
    .holo-benefits .l-item{ grid-template-columns:14px 1fr; column-gap:5px; min-height:20px; }
    .holo-benefits .l-icon{ width:14px; height:14px; border-radius:4px; }
    .holo-benefits .l-icon svg{ width:9px; height:9px; }
    .holo-benefits .l-text{ font-size:6px; line-height:1.05; }
    .holo-benefits-outer{ padding:5px; border-radius:16px; border-width:2px; }
    .holo-benefits-inner{ padding:6px 7px 6px; min-height:170px; border-radius:10px; }

    .tech-grid{ grid-template-columns:1fr; }
      }
  .wrap-wide{ max-width:var(--maxw-wide); margin:0 auto; padding:0 var(--side-pad); }
  /* V1.85 — czytelniejsza i zwarta nawigacja komputer/tablet. */
  .main-nav a{ font-weight:700; }
  @media (min-width:1081px) and (max-width:1400px){
    .main-nav{ gap:14px; margin-left:auto; flex-wrap:nowrap; }
    .main-nav a, .main-nav .nav-disabled, .lang-switch{ font-weight:700; white-space:nowrap; flex-shrink:0; }
  }
  @media (min-width:761px) and (max-width:1080px){
    .site-header{ padding-left:14px; padding-right:14px; column-gap:clamp(20px,4vw,44px); }
    .logo{ flex:0 0 auto; }
    .logo img{ height:clamp(42px,5vw,52px); }
    .main-nav{ margin-left:auto; margin-right:0; gap:clamp(4px,.7vw,8px); flex-wrap:nowrap; justify-content:flex-end; min-width:0; }
    .main-nav a, .main-nav .nav-disabled{ font-size:clamp(10.5px,1.25vw,13px); font-weight:700; white-space:nowrap; flex:0 0 auto; }
    .nav-pill{ padding:4px 6px; }
    .nav-pill img{ height:clamp(11px,1.3vw,14px); }
    .lang-switch{ font-size:clamp(10.5px,1.2vw,12.5px); font-weight:700; white-space:nowrap; flex:0 0 auto; }
  }


/* ============================================================
   GoWaterAI v2.11 ICE — strona „Stoki i lodowiska” (sporty-zimowe.html)
   Komponenty tej strony. Wszystkie klasy z prefiksem ice-.
   ============================================================ */
@font-face{font-family:'Inter Local';font-weight:400;font-style:normal;font-display:swap;src:url('inter-Regular.woff') format('woff')}
@font-face{font-family:'Inter Local';font-weight:500;font-style:normal;font-display:swap;src:url('inter-Medium.woff') format('woff')}
@font-face{font-family:'Inter Local';font-weight:600;font-style:normal;font-display:swap;src:url('inter-SemiBold.woff') format('woff')}
@font-face{font-family:'Inter Local';font-weight:700 800;font-style:normal;font-display:swap;src:url('inter-Bold.woff') format('woff')}
:root{
  --font-display:'Manrope','Inter','Inter Local',system-ui,sans-serif;
  --font-body:'Inter','Inter Local',system-ui,sans-serif;
  --ice-card-line:#b5e1fa;
  --ice-header-h:92px;
}
body{ font-family:var(--font-body); }
main [id]{ scroll-margin-top:calc(var(--ice-header-h) + 12px); }
.ice-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ---------- HERO: dwa sektory ---------- */
.ice-hero{ position:relative; color:#fff; padding-bottom:6px; }
.ice-hero-stage{ background:#0b1a46; }
.ice-hero-stage{ position:relative; max-width:var(--maxw-wide); margin:0 auto; overflow:hidden; }
.ice-hero-img{ display:block; width:100%; height:clamp(500px,53vw,800px); object-fit:cover; object-position:50% 62%; }
.ice-hero-scrim{ position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(6,14,44,.78) 0%, rgba(6,14,44,.5) 22%, rgba(6,14,44,0) 44%),
    linear-gradient(0deg, rgba(6,14,44,.0) 55%, rgba(6,14,44,.0) 100%); }
.ice-hero-top{ position:absolute; left:0; right:0; top:0; padding:clamp(26px,3.4vw,56px) var(--side-pad) 0; text-align:center; }
.ice-eyebrow{ display:inline-block; font-family:var(--font-display); font-weight:800; font-size:clamp(12px,1.05vw,14.5px); letter-spacing:.16em; text-transform:uppercase; color:#8fe4ff; margin-bottom:12px; text-shadow:0 1px 8px rgba(0,0,0,.5); }
.ice-h1{ font-family:var(--font-display); font-weight:800; font-size:clamp(28px,3.6vw,58px); line-height:1.08; letter-spacing:-.025em; color:#fff; text-shadow:0 2px 20px rgba(2,10,40,.6); max-width:1100px; margin:0 auto; }
.ice-h1 span{ display:block; color:#a9ecff; }
.ice-hero-lead{ margin:16px auto 0; max-width:780px; font-size:clamp(15px,1.25vw,18.5px); line-height:1.55; color:rgba(255,255,255,.95); text-shadow:0 1px 10px rgba(2,10,40,.6); }
.ice-sectors{ position:relative; z-index:2; max-width:var(--maxw-wide); margin:0 auto; padding:0 var(--side-pad); display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,2.4vw,40px); margin-top:clamp(-96px,-6vw,-64px); }
.ice-sector{ background:linear-gradient(160deg, rgba(255,255,255,.97), rgba(228,245,255,.96)); border:1px solid #b5e1fa; border-radius:var(--radius-l); padding:clamp(20px,2vw,32px); color:var(--ink); box-shadow:0 26px 60px -28px rgba(5,30,90,.55); }
.ice-sector-img{ display:none; }
.ice-sector h2{ font-family:var(--font-display); font-weight:800; font-size:clamp(22px,2vw,30px); letter-spacing:-.015em; color:var(--blue-deep); margin-bottom:6px; }
.ice-sector p{ font-size:clamp(14.5px,1.1vw,16.5px); color:var(--ink-soft); line-height:1.5; margin-bottom:18px; }
.ice-sector-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.ice-btn{ height:50px; padding:0 22px; font-size:15.5px; gap:10px; }
.ice-btn.btn-primary{ animation:none; background:linear-gradient(100deg,#0a3aa8 0%,#0a63f0 55%,#16b9f0 100%); }
.ice-btn .arr{ font-size:18px; line-height:1; }
.btn-secondary.ice-btn{ color:#075DDF; }
.ice-hero-bottomspace{ height:clamp(8px,2vw,28px); }
.ice-hero + .ice-chips-wrap{ padding-top:0; }

/* ---------- Szybka nawigacja ---------- */
.ice-chips-wrap{ padding:30px var(--side-pad) 6px; }
.ice-chips{ max-width:var(--maxw-wide); margin:0 auto; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.ice-chip{ display:inline-flex; align-items:center; min-height:44px; padding:0 20px; border-radius:999px; font-family:var(--font-display); font-weight:700; font-size:15px; color:#075DDF; background:rgba(255,255,255,.8); border:1.5px solid rgba(7,95,229,.3); transition:background .2s,border-color .2s,transform .2s; }
.ice-chip:hover{ background:#fff; border-color:rgba(7,95,229,.7); transform:translateY(-1px); }
.ice-chip.is-ice{ border-color:rgba(20,150,210,.5); color:#0a6a9b; }

/* ---------- Typografia sekcji ---------- */
.ice-section-head{ max-width:920px; margin-bottom:26px; }
.ice-section-head .wa-sub{ margin-bottom:0; font-size:17px; line-height:1.6; }
.ice-kicker{ font-family:var(--font-display); font-weight:800; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#0a6fb5; margin-bottom:8px; }
.ice-lead-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:34px; align-items:center; }
.ice-lead-grid p{ font-size:17px; line-height:1.7; color:var(--ink-soft); margin-bottom:14px; }
.ice-role{ font-size:14.5px; line-height:1.6; color:#33445c; background:rgba(255,255,255,.75); border:1px solid var(--ice-card-line); border-left:4px solid #20bcec; border-radius:12px; padding:16px 18px; }
.ice-role strong{ color:var(--blue-deep); }

/* ---------- Akordeony (details) ---------- */
.ice-acc{ background:linear-gradient(150deg,#fff,#eaf6ff); border:1px solid var(--ice-card-line); border-radius:var(--radius-l); overflow:hidden; align-self:start; transition:box-shadow .2s,border-color .2s; }
.ice-acc[open]{ border-color:#76bcf1; box-shadow:0 18px 45px #145bbb26; }
.ice-acc > summary{ list-style:none; cursor:pointer; display:block; -webkit-tap-highlight-color:transparent; }
.ice-acc > summary::-webkit-details-marker{ display:none; }
.ice-acc > summary:focus-visible{ outline:3px solid #176aff; outline-offset:-3px; border-radius:var(--radius-l); }
.ice-toggle{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 24px 20px; color:#0759dc; font-weight:700; font-size:15.5px; }
.ice-toggle .t-open{ display:none; }
.ice-acc[open] .ice-toggle .t-open{ display:inline; }
.ice-acc[open] .ice-toggle .t-closed{ display:none; }
.ice-sign{ flex:0 0 auto; width:34px; height:34px; border-radius:50%; border:1.5px solid #0759dc; display:inline-flex; align-items:center; justify-content:center; font-size:24px; line-height:1; font-weight:500; background:#fff; }
.ice-sign::before{ content:"+"; margin-top:-2px; }
.ice-acc[open] .ice-sign::before{ content:"\2212"; }
.ice-body{ padding:6px 26px 26px; border-top:1px solid #acd6ee; background:linear-gradient(140deg,#f8fcff,#e8f5ff); font-size:16px; line-height:1.7; color:#33445c; }
.ice-body h4{ font-family:var(--font-display); font-size:19px; line-height:1.35; margin:20px 0 8px; color:var(--blue-deep); }
.ice-body h4:first-child{ margin-top:18px; }
.ice-body p{ margin:10px 0; }
.ice-body ul{ padding-left:22px; margin:10px 0; list-style:disc; }
.ice-body li{ margin:7px 0; }
.ice-body a:not(.btn){ color:#0759dc; text-decoration:underline; text-underline-offset:3px; }
.ice-note{ font-size:14.5px; color:#46607e; background:#fff; border-left:4px solid #21bdea; border-radius:10px; padding:12px 16px; margin:14px 0; }
.ice-struct{ display:grid; gap:12px; margin-top:14px; }
.ice-struct > div{ background:#fff; border:1px solid #cfe7f7; border-radius:12px; padding:14px 16px; }
.ice-struct dt{ font-family:var(--font-display); font-weight:800; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:#0a6fb5; margin-bottom:4px; }
.ice-struct dd{ font-size:15.5px; line-height:1.6; margin:0; }

/* duża karta (obraz + opis + plus) */
.ice-feature{ border-radius:26px; }
.ice-feature > summary{ display:grid; grid-template-columns:1.15fr 1fr; align-items:stretch; }
.ice-feature-img{ position:relative; min-height:340px; overflow:hidden; }
.ice-feature-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.ice-feature > summary:hover .ice-feature-img img{ transform:scale(1.03); }
.ice-feature-copy{ display:flex; flex-direction:column; justify-content:center; padding:clamp(22px,3vw,44px) clamp(22px,3vw,44px) 10px; }
.ice-feature-copy h3{ font-family:var(--font-display); font-weight:800; font-size:clamp(24px,2.4vw,36px); line-height:1.15; letter-spacing:-.02em; color:var(--blue-deep); margin-bottom:12px; }
.ice-feature-copy p{ font-size:17px; line-height:1.6; color:var(--ink-soft); }
.ice-feature .ice-toggle{ padding:18px 0 26px; }
.ice-feature-copy .ice-toggle{ margin-top:auto; }
.ice-feature-links{ display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.ice-inline-link{ font-weight:700; color:#0759dc; border-bottom:2px solid rgba(7,89,220,.3); padding-bottom:2px; }
.ice-inline-link:hover{ border-color:#0759dc; }

/* korzyści: siatka */
.ice-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; }
.ice-grid.two{ grid-template-columns:repeat(2,1fr); }
.ice-benefit > summary{ padding:24px 24px 0; }
.ice-icon{ width:58px; height:58px; border-radius:16px; display:flex; align-items:center; justify-content:center; background:linear-gradient(140deg,#e1f3ff,#c4e8fb); border:1px solid #9fd2f0; margin-bottom:16px; color:#0a4fc4; }
.ice-icon svg{ width:34px; height:34px; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ice-benefit h3{ font-family:var(--font-display); font-weight:800; font-size:20px; line-height:1.25; color:var(--ink); margin-bottom:8px; letter-spacing:-.01em; }
.ice-benefit .ice-vis{ font-size:15.5px; line-height:1.55; color:var(--ink-soft); margin-bottom:16px; }
.ice-benefit .ice-toggle{ padding:0 0 20px; }
.ice-sub-actions{ margin-top:22px; }

/* jakość śniegu */
.ice-samples{ display:flex; flex-wrap:wrap; gap:20px; margin:18px 0 8px; }
.ice-sample{ margin:0; }
.ice-sample img{ width:180px; height:auto; aspect-ratio:180/150; border:1px solid #9fd2f0; border-radius:10px; background:#fff; image-rendering:auto; }
.ice-sample figcaption{ font-size:13.5px; font-weight:700; color:var(--blue-deep); margin-top:6px; }
.ice-quality{ display:grid; grid-template-columns:1.3fr 1fr; gap:34px; align-items:start; }
.ice-quality p{ font-size:16.5px; line-height:1.7; color:var(--ink-soft); margin-bottom:12px; }
.ice-card{ background:linear-gradient(150deg,#fff,#eaf6ff); border:1px solid var(--ice-card-line); border-radius:var(--radius-l); padding:24px 26px; }
.ice-card h3{ font-family:var(--font-display); font-size:22px; color:var(--blue-deep); margin-bottom:10px; letter-spacing:-.01em; }
.ice-card p, .ice-card li{ font-size:15.5px; line-height:1.65; color:#33445c; }
.ice-card ul{ padding-left:20px; list-style:disc; margin:8px 0; }
.ice-ref-facts{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:16px 0; }
.ice-ref-facts div{ background:#fff; border:1px solid #cfe7f7; border-radius:12px; padding:12px 14px; font-size:15px; line-height:1.5; }
.ice-ref-facts b{ display:block; font-family:var(--font-display); color:#0a4fc4; font-size:15px; margin-bottom:3px; }

/* ---------- Symulacje ---------- */
.ice-sim{ background:linear-gradient(150deg,#fff,#eaf6ff); border:1px solid var(--ice-card-line); border-radius:26px; padding:clamp(18px,2.6vw,36px); }
.ice-sim-label{ display:flex; gap:12px; align-items:flex-start; background:#fff6dd; border:1px solid #f0d58a; color:#5a4300; border-radius:12px; padding:12px 16px; font-size:15px; font-weight:700; line-height:1.45; margin-bottom:20px; }
.ice-tabs{ display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.ice-tab{ min-height:48px; padding:0 24px; border-radius:999px; border:1.5px solid rgba(7,95,229,.4); background:#fff; font-family:var(--font-display); font-weight:800; font-size:16px; color:#075DDF; }
.ice-tab[aria-selected="true"]{ background:linear-gradient(100deg,#0a3aa8,#0a63f0 55%,#16b9f0); color:#fff; border-color:transparent; box-shadow:0 10px 24px -12px rgba(7,95,229,.7); }
.ice-tabs.sub .ice-tab{ min-height:42px; font-size:14.5px; padding:0 16px; border-radius:12px; }
.ice-tabs.sub .ice-tab[aria-selected="true"]{ background:#0a2a5e; }
.ice-branch-tag{ display:inline-block; font-size:12.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:4px 10px; border-radius:999px; background:#d8eefc; color:#0a4fc4; margin-bottom:10px; }
.ice-branch-tag.lod{ background:#e6f0ff; color:#3d3fb8; }
.ice-sim h3{ font-family:var(--font-display); font-size:22px; color:var(--blue-deep); margin-bottom:6px; letter-spacing:-.01em; }
.ice-sim-desc{ font-size:15.5px; color:var(--ink-soft); line-height:1.6; margin-bottom:16px; max-width:820px; }
.ice-form-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px 18px; }
.ice-field{ display:flex; flex-direction:column; gap:5px; }
.ice-field label{ font-size:14px; font-weight:700; color:#1c3358; line-height:1.3; }
.ice-field .unit{ font-weight:500; color:#5c7089; }
.ice-field input, .ice-field select, .ice-field textarea{ font:inherit; font-size:16px; min-height:46px; padding:9px 12px; border:1.5px solid #9fc4e2; border-radius:10px; background:#fff; color:var(--ink); width:100%; }
.ice-field input:focus, .ice-field select:focus, .ice-field textarea:focus{ outline:3px solid rgba(23,106,255,.35); border-color:#176aff; }
.ice-field input[aria-invalid="true"]{ border-color:#c0392b; background:#fff5f4; }
.ice-field .hint{ font-size:12.5px; color:#5c7089; line-height:1.4; }
.ice-field.full{ grid-column:1/-1; }
.ice-group-title{ grid-column:1/-1; font-family:var(--font-display); font-weight:800; font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:#0a6fb5; margin-top:6px; padding-top:10px; border-top:1px dashed #9fc4e2; }
.ice-group-title:first-child{ border-top:0; margin-top:0; padding-top:0; }
.ice-sim-actions{ display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 4px; }
.ice-mini{ min-height:44px; padding:0 18px; border-radius:999px; font-weight:700; font-size:14.5px; border:1.5px solid rgba(7,95,229,.4); background:#fff; color:#075DDF; }
.ice-mini:hover{ border-color:#075DDF; }
.ice-mini.reset{ color:#4d5d73; border-color:#b4c4d6; }
.ice-result{ margin-top:18px; border-radius:16px; background:#071638; color:#fff; padding:20px 24px; }
.ice-result[data-state="empty"]{ background:#e6f1fb; color:#33445c; }
.ice-result[data-state="error"]{ background:#fff0ee; color:#7a1f14; border:1px solid #f0b4aa; }
.ice-result h4{ font-family:var(--font-display); font-size:14px; letter-spacing:.1em; text-transform:uppercase; color:#8fe4ff; margin-bottom:10px; }
.ice-result[data-state="empty"] h4, .ice-result[data-state="error"] h4{ color:#0a6fb5; }
.ice-result[data-state="error"] h4{ color:#9c2b1d; }
.ice-result dl{ display:grid; grid-template-columns:1fr auto; gap:6px 24px; }
.ice-result dt{ font-size:15px; opacity:.92; }
.ice-result dd{ font-size:16.5px; font-weight:800; text-align:right; font-variant-numeric:tabular-nums; margin:0; }
.ice-result dd.big, .ice-result dt.big{ font-size:19px; border-top:1px solid rgba(255,255,255,.3); padding-top:8px; margin-top:4px; }
.ice-result p{ font-size:14.5px; line-height:1.55; margin-top:10px; opacity:.95; }
.ice-example-table{ width:100%; border-collapse:collapse; margin:16px 0 4px; font-size:14.5px; }
.ice-example-table th, .ice-example-table td{ padding:8px 10px; border-bottom:1px solid #cfe7f7; text-align:right; }
.ice-example-table th:first-child, .ice-example-table td:first-child{ text-align:left; }
.ice-example-table thead th{ font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; color:#0a6fb5; }

/* ---------- Film ---------- */
.ice-film{ display:grid; grid-template-columns:1.3fr 1fr; gap:26px; align-items:stretch; }
.ice-film-plate{ position:relative; border-radius:22px; overflow:hidden; min-height:300px; background:#0b1a46; color:#fff; display:flex; align-items:flex-end; }
.ice-film-plate img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.9); }
.ice-film-plate::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(5,14,44,.92) 0%, rgba(5,14,44,.78) 45%, rgba(5,14,44,.35) 100%); }
.ice-film-plate .in{ z-index:1; position:relative; padding:26px 28px; max-width:520px; }
.ice-film-plate h3{ font-family:var(--font-display); font-weight:800; font-size:clamp(24px,2.4vw,34px); line-height:1.15; margin-bottom:10px; }
.ice-film-plate p{ font-size:15.5px; line-height:1.55; color:rgba(255,255,255,.92); }
.ice-film video{ position:absolute; inset:0; width:100%; height:100%; background:#000; }
.ice-film-caption{ font-size:13.5px; font-weight:700; color:#0a4fc4; margin-top:8px; }
.ice-film-plate .ice-pill-note{ display:inline-block; font-size:12.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:999px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.4); margin-bottom:12px; }

/* ---------- Pomiar ---------- */
.ice-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; counter-reset:st; margin-bottom:26px; }
.ice-step{ position:relative; background:linear-gradient(150deg,#fff,#eaf6ff); border:1px solid var(--ice-card-line); border-radius:18px; padding:22px 20px 20px; }
.ice-step b{ display:flex; width:36px; height:36px; border-radius:50%; background:linear-gradient(140deg,#0a3aa8,#16b9f0); color:#fff; align-items:center; justify-content:center; font-family:var(--font-display); margin-bottom:12px; }
.ice-step h3{ font-family:var(--font-display); font-size:18px; color:var(--blue-deep); margin-bottom:4px; }
.ice-step p{ font-size:14.5px; color:#46607e; line-height:1.5; }

/* ---------- Oferta ---------- */
.ice-offer{ width:100%; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid var(--ice-card-line); border-radius:18px; overflow:hidden; }
.ice-offer th, .ice-offer td{ padding:16px 20px; text-align:left; vertical-align:top; border-bottom:1px solid #d6eaf8; font-size:16px; line-height:1.5; }
.ice-offer thead th{ background:#0a2a5e; color:#fff; font-family:var(--font-display); font-size:14px; letter-spacing:.06em; text-transform:uppercase; }
.ice-offer tbody tr:last-child td{ border-bottom:0; }
.ice-offer td.price{ font-family:var(--font-display); font-weight:800; font-size:20px; color:var(--blue-deep); white-space:nowrap; }
.ice-offer small{ display:block; font-weight:500; color:#5c7089; font-size:13.5px; margin-top:2px; }
.ice-offer-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:24px; }
.ice-offer-cta p{ flex:1 1 360px; font-size:16px; line-height:1.6; color:var(--ink-soft); }

/* ---------- FAQ ---------- */
.ice-faq{ max-width:980px; display:grid; gap:14px; }
.ice-faq .ice-acc > summary{ padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:var(--font-display); font-weight:800; font-size:17.5px; color:var(--ink); line-height:1.35; }
.ice-faq .ice-acc .ice-body{ padding-top:2px; }

/* ---------- Kontakt ---------- */
.ice-contact{ display:grid; grid-template-columns:1fr 1.2fr; gap:36px; align-items:start; }
.ice-contact-copy p{ font-size:17px; line-height:1.65; color:var(--ink-soft); margin-bottom:14px; }
.ice-form{ background:linear-gradient(150deg,#fff,#eaf6ff); border:1px solid var(--ice-card-line); border-radius:22px; padding:clamp(18px,2.4vw,32px); }
.ice-check{ display:flex; flex-wrap:wrap; gap:10px 20px; }
.ice-check label{ display:flex; align-items:center; gap:8px; font-weight:600; font-size:15.5px; min-height:40px; }
.ice-check input{ width:20px; height:20px; accent-color:#0a63f0; }
.ice-form-msg{ margin-top:14px; font-size:14.5px; line-height:1.55; padding:12px 14px; border-radius:10px; background:#e6f1fb; color:#33445c; }
.ice-form-msg[data-state="error"]{ background:#fff0ee; color:#7a1f14; }
.ice-form-fallback{ margin-top:12px; font-size:14px; color:#46607e; }
.ice-form-fallback a{ color:#0759dc; text-decoration:underline; }

/* ---------- Responsywność ---------- */
@media (max-width:1180px){
  .ice-grid{ grid-template-columns:repeat(2,1fr); }
  .ice-form-grid{ grid-template-columns:repeat(2,1fr); }
  .ice-steps{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:980px){
  .ice-feature > summary{ grid-template-columns:1fr; }
  .ice-feature-img{ min-height:0; aspect-ratio:3/2; }
  .ice-feature-copy{ padding-bottom:0; }
  .ice-lead-grid, .ice-quality, .ice-film, .ice-contact{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  :root{ --ice-header-h:70px; }
  /* hero na telefonie: nagłówek na panoramie, potem dwa sektory jeden pod drugim z własnym kadrem */
  .ice-hero-img{ height:clamp(300px,78vw,420px); object-position:50% 40%; }
  .ice-hero-scrim{ background:linear-gradient(180deg, rgba(6,14,44,.86) 0%, rgba(6,14,44,.62) 48%, rgba(6,14,44,.25) 100%); }
  .ice-hero-top{ padding:22px 20px 0; }
  .ice-h1{ font-size:clamp(26px,7.4vw,34px); }
  .ice-hero-lead{ font-size:14.5px; margin-top:10px; }
  .ice-sectors{ grid-template-columns:1fr; margin-top:-24px; padding:0 16px; gap:16px; }
  .ice-sector{ padding:0; overflow:hidden; }
  .ice-sector-img{ display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
  .ice-sector--ski .ice-sector-img{ object-position:30% 55%; }
  .ice-sector--rink .ice-sector-img{ object-position:50% 60%; }
  .ice-sector-body{ padding:18px 18px 20px; }
  .ice-sector-actions .btn{ flex:1 1 100%; justify-content:center; }
  .ice-chips{ justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
  .ice-chip{ flex:0 0 auto; }
  .ice-grid, .ice-grid.two, .ice-form-grid, .ice-steps, .ice-ref-facts{ grid-template-columns:1fr; }
  .ice-result dl{ grid-template-columns:1fr; gap:2px; }
  .ice-result dd{ text-align:left; margin-bottom:8px; }
  .ice-offer thead{ display:none; }
  .ice-offer, .ice-offer tbody, .ice-offer tr, .ice-offer td{ display:block; width:100%; }
  .ice-offer td{ border-bottom:0; padding:6px 18px; }
  .ice-offer tr{ border-bottom:1px solid #d6eaf8; padding:10px 0; }
  .ice-offer td[data-l]::before{ content:attr(data-l); display:block; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#0a6fb5; }
  .ice-example-table{ font-size:13px; }
  .ice-body{ padding:4px 18px 22px; }
  .ice-faq .ice-acc > summary{ font-size:16px; padding:16px 16px; }
}
@media (min-width:761px) and (max-width:1080px){
  .ice-sectors{ margin-top:-56px; }
  .ice-hero-img{ height:clamp(420px,56vw,560px); }
}
@media (hover:none){ .ice-feature > summary:hover .ice-feature-img img{ transform:none; } }
@media (prefers-reduced-motion:reduce){ .ice-feature-img img{ transition:none; } }

.ice-plain > summary{ padding:22px 24px 0; }
.ice-plain h3{ font-family:var(--font-display); font-weight:800; font-size:20px; line-height:1.25; color:var(--ink); margin-bottom:8px; letter-spacing:-.01em; }
.ice-plain .ice-vis{ font-size:15.5px; line-height:1.55; color:var(--ink-soft); margin-bottom:16px; }
.ice-plain .ice-toggle{ padding:0 0 20px; }

/* sekcje (jak w water-ai.html; boczny odstęp daje .wrap-wide) */
.wa-section{ padding:60px 0; }
.wa-section-alt{ background:linear-gradient(180deg, #f3f8fd 0%, #e9f2fb 100%); }
.wa-h2{ font-family:var(--font-display); font-weight:800; font-size:clamp(24px, 2.6vw, 36px); color:var(--ink); letter-spacing:-0.015em; margin-bottom:10px; line-height:1.15; }
.wa-sub{ font-size:16px; color:var(--ink-soft); margin-bottom:28px; }
@media (max-width:760px){ .wa-section{ padding:40px 0; } .wrap-wide{ padding:0 20px; } }
.ice-steps{ list-style:none; padding:0; }
.ice-lead-grid > *, .ice-quality > *, .ice-film > *, .ice-contact > *, .ice-grid > *{ min-width:0; }
@media (max-width:980px){ .ice-lead-grid, .ice-quality, .ice-film, .ice-contact{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:760px){
  .ice-example-table{ table-layout:fixed; width:100%; }
  .ice-example-table th, .ice-example-table td{ padding:7px 4px; overflow-wrap:anywhere; }
  .ice-example-table thead th{ font-size:10px; letter-spacing:0; }
}

/* =====================================================================
   v2.12 — korzyści najpierw, instrukcje kalkulatorów, film, cenniki
   ===================================================================== */
.ice-h3{ font-family:var(--font-display); font-weight:800; font-size:clamp(20px,2vw,26px); line-height:1.2; color:var(--blue-deep); margin:0 0 8px; letter-spacing:-.01em; }
.ice-h3--rink{ margin-top:48px; padding-top:30px; border-top:1px solid var(--ice-card-line); }
.ice-h4{ font-family:var(--font-display); font-weight:800; font-size:15px; letter-spacing:.04em; text-transform:uppercase; color:#0a6fb5; margin:16px 0 6px; }
.ice-subhead{ margin-top:44px; margin-bottom:18px; }
.ice-subhead .wa-sub{ margin-bottom:0; }
.ice-source{ font-size:14px; line-height:1.55; color:#46607e; margin:10px 0; }
.ice-source strong{ color:#1c3358; }
.ice-lead-quote{ font-size:16.5px; line-height:1.65; font-weight:600; color:#0b2a6b; border-left:4px solid #20bcec; padding:2px 0 2px 14px; margin:6px 0 12px; }

/* 10 korzyści stoku */
.ice-bcards{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.ice-bcard{ position:relative; background:linear-gradient(150deg,#fff,#eaf6ff); border:1px solid var(--ice-card-line); border-radius:18px; padding:18px 20px 18px 72px; min-height:92px; }
.ice-bcard h3{ font-family:var(--font-display); font-weight:800; font-size:18px; line-height:1.25; color:var(--ink); margin-bottom:4px; letter-spacing:-.01em; }
.ice-bcard p{ font-size:15.5px; line-height:1.55; color:var(--ink-soft); margin:0; }
.ice-bnum{ position:absolute; left:20px; top:18px; width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,#0a3aa8,#16b9f0); color:#fff; font-family:var(--font-display); font-weight:800; font-size:16px; display:flex; align-items:center; justify-content:center; }

/* dwie karty (lodowisko) i sekcja doświadczeń */
.ice-two-cards{ display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
.ice-two-cards .ice-card ul{ margin:10px 0; }
.ice-two-cards .ice-card li{ margin-bottom:6px; }
.ice-lead-grid--top{ align-items:start; }

/* film YouTube */
.ice-yt-card{ padding:20px 22px 22px; }
.ice-yt{ position:relative; width:100%; aspect-ratio:16/9; background:#0b1a46; border-radius:14px; margin:12px 0 14px; }
.ice-yt iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:14px; background:#000; display:block; }
.ice-yt-fallback{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; padding:16px 20px; color:#fff; font-size:15px; line-height:1.5; border-radius:14px; background:linear-gradient(150deg,#0b1a46,#0a4fc4); }
.ice-yt-fallback[hidden]{ display:none; }
.ice-yt-fallback strong{ font-size:17px; }
.ice-yt-links{ margin:0 0 6px; }

/* przykład montażu */
.ice-montaz{ margin-top:26px; }
.ice-montaz-photos{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; max-width:760px; margin:12px 0 16px; }
.ice-montaz-photos figure{ margin:0; }
.ice-montaz-photos img{ display:block; width:100%; height:auto; aspect-ratio:731/976; object-fit:cover; border-radius:12px; border:1px solid #9fd2f0; background:#fff; }
.ice-montaz-photos figcaption{ font-size:13.5px; font-weight:700; color:var(--blue-deep); margin-top:6px; }

/* kalkulatory: spokojna informacja zamiast żółtej belki */
.ice-sim-info{ display:flex; gap:12px; align-items:center; background:#eef6ff; border:1px solid var(--ice-card-line); color:#1c3358; border-radius:12px; padding:12px 16px; margin-bottom:20px; }
.ice-sim-info p{ margin:0; font-size:15.5px; line-height:1.5; font-weight:600; }
.ice-info-i{ flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:#0a63f0; color:#fff; font:700 15px/26px Georgia,'Times New Roman',serif; font-style:italic; text-align:center; }

/* rozwijana instrukcja kalkulatora (poza globalnym mechanizmem akordeonów) */
.ice-help{ background:#f4faff; border:1px solid var(--ice-card-line); border-radius:14px; margin:0 0 18px; }
.ice-help > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:10px 16px; font-weight:800; font-size:15.5px; color:#0a4fc4; border-radius:14px; }
.ice-help > summary::-webkit-details-marker{ display:none; }
.ice-help > summary:focus-visible{ outline:3px solid rgba(23,106,255,.4); outline-offset:2px; }
.ice-help-sign{ flex:0 0 auto; width:28px; height:28px; border-radius:50%; background:#fff; border:1.5px solid rgba(7,95,229,.4); position:relative; }
.ice-help-sign::before, .ice-help-sign::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:2px; background:#075DDF; transform:translate(-50%,-50%); }
.ice-help-sign::after{ transform:translate(-50%,-50%) rotate(90deg); }
.ice-help[open] .ice-help-sign::after{ display:none; }
.ice-help-body{ padding:2px 18px 16px; }
.ice-help-body h4{ font-family:var(--font-display); font-weight:800; font-size:13.5px; letter-spacing:.08em; text-transform:uppercase; color:#0a6fb5; margin:14px 0 6px; }
.ice-help-body dl{ display:grid; grid-template-columns:minmax(150px,230px) 1fr; gap:8px 18px; margin:0; }
.ice-help-body dt{ font-weight:700; font-size:15px; color:#1c3358; }
.ice-help-body dd{ margin:0; font-size:15px; line-height:1.55; color:#33445c; }
.ice-help-body p{ font-size:15px; line-height:1.6; color:#33445c; margin:4px 0; }
.ice-help-body .ice-help-note{ font-size:14px; color:#46607e; }
.ice-field .hint{ font-size:13px; }
.ice-mini--primary{ background:linear-gradient(100deg,#0a3aa8,#0a63f0 55%,#16b9f0); color:#fff; border-color:transparent; }
.ice-mini--primary:hover{ border-color:transparent; filter:brightness(1.08); }
.ice-badge-ex{ display:inline-block; font-size:12.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:4px 10px; border-radius:999px; background:#dcecff; color:#0a4fc4; align-self:center; }
.ice-result .ice-badge-ex{ margin-left:6px; letter-spacing:.04em; }
.ice-result[data-state="ok"] .ice-badge-ex{ background:rgba(255,255,255,.18); color:#bfeaff; }
.ice-result .ice-result-label{ font-size:13px; font-weight:500; opacity:.78; }

@media (max-width:980px){
  .ice-two-cards{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .ice-bcards{ grid-template-columns:1fr; }
  .ice-bcard{ padding:16px 16px 16px 62px; }
  .ice-bnum{ left:14px; top:16px; width:34px; height:34px; }
  .ice-help-body dl{ grid-template-columns:1fr; gap:2px; }
  .ice-help-body dd{ margin-bottom:8px; }
  .ice-yt-card{ padding:16px 12px 18px; }
  .ice-montaz-photos{ grid-template-columns:1fr 1fr; gap:10px; }
  .ice-h3--rink{ margin-top:36px; }
}

.ice-badge-ex[hidden]{ display:none; }
.ice-montaz-photos img{ aspect-ratio:auto; object-fit:contain; }

/* ============================================================
   v2.13 — grafiki kafelków, blok temperatur, blok „część korzyści”, gwarancja, film
   ============================================================ */
.ice-benefit-img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:center; border-radius:14px; border:1px solid #cfe7f7; background:#dcecf8; margin:0 0 16px; }
.ice-linkrow{ margin:14px 0 6px; font-size:15.5px; }

.ice-temp{ background:linear-gradient(150deg,#fff,#eaf6ff); border:1px solid var(--ice-card-line); border-radius:var(--radius-l); padding:26px 28px; margin:0 0 22px; }
.ice-temp .ice-h3{ margin:0 0 14px; }
.ice-temp-grid{ display:grid; grid-template-columns:1.15fr 1fr; gap:22px; align-items:start; }
.ice-temp-grid > *{ min-width:0; }
.ice-temp p, .ice-temp li{ font-size:16px; line-height:1.65; color:#33445c; }
.ice-temp-facts{ margin:14px 0; }
.ice-temp-facts b{ font-size:19px; }
.ice-temp-lead{ margin:6px 0 0; }
.ice-temp-note{ background:#fff; padding:20px 22px; }
.ice-temp-note ul{ padding-left:20px; list-style:disc; margin:8px 0 0; }
.ice-temp-note li{ font-size:15px; margin-bottom:8px; }
.ice-temp-why{ margin-top:18px; padding-top:16px; border-top:1px solid #cfe7f7; }
.ice-temp-why ul{ padding-left:20px; list-style:disc; margin:8px 0 12px; }

.ice-more{ margin-top:18px; border-radius:16px; background:linear-gradient(150deg,#fff,#eaf6ff); border:1px solid #9fd2f0; border-left:5px solid #21bdea; padding:20px 24px; color:#33445c; }
.ice-more[hidden]{ display:none; }
.ice-more h4{ font-family:var(--font-display); font-size:20px; color:var(--blue-deep); margin:0 0 10px; letter-spacing:-.01em; }
.ice-more p{ font-size:15.5px; line-height:1.65; margin:0 0 10px; }
.ice-more-actions{ display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 8px; }
.ice-more-actions .ice-mini{ min-height:46px; }
.ice-more-fine{ font-size:13.5px !important; color:#46607e; margin:6px 0 0 !important; }

.ice-guarantee{ margin-top:18px; }
.ice-guarantee p{ margin:0 0 8px; }
.ice-guarantee p:last-child{ margin-bottom:0; }

.ice-yt-fallback{ padding:0; overflow:hidden; background:#0b1a46; }
.ice-yt-thumb{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; opacity:.55; }
.ice-yt-msg{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:16px 20px; text-align:center; width:100%; height:100%; background:linear-gradient(180deg,rgba(7,22,56,.15),rgba(7,22,56,.72)); }
.ice-yt-play{ width:54px; height:54px; border-radius:50%; background:rgba(255,255,255,.92); position:relative; flex:0 0 auto; }
.ice-yt-play::after{ content:""; position:absolute; left:21px; top:16px; border-style:solid; border-width:11px 0 11px 18px; border-color:transparent transparent transparent #0a4fc4; }
.ice-yt video{ position:absolute; inset:0; width:100%; height:100%; display:block; border-radius:14px; background:#000; }

@media (max-width:980px){
  .ice-temp-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .ice-temp{ padding:20px 16px; }
  .ice-more{ padding:18px 16px; }
  .ice-more-actions .ice-mini{ flex:1 1 100%; }
  .ice-yt-msg strong{ font-size:15.5px; }
  .ice-yt-play{ width:44px; height:44px; }
  .ice-yt-play::after{ left:17px; top:12px; border-width:10px 0 10px 16px; }
}

/* v2.14 — grafiki kafelków lodowiska (te same reguły co w kafelkach stoku) */
.ice-rink-img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:center; }
.ice-temp-note p{ margin:0 0 12px; }
.ice-temp-note p:last-child{ margin-bottom:0; }

/* =====================================================================
   v2.15 — dwa obszary (stoki / lodowiska), film V6, przykład 5 dni
   ===================================================================== */
[hidden]{ display:none !important; }
.ice-chip--main{ min-height:52px; padding:0 28px; font-size:17px; background:#fff; border-width:2px; border-color:#075DDF; }
.ice-chip--main.is-ice{ border-color:#0a8fc0; }

/* obszar: duży nagłówek, odstęp i wyraźna zmiana tła na granicy */
.ice-area{ position:relative; }
.ice-area-banner{ position:relative; color:#fff; padding:clamp(44px,6vw,88px) 0; overflow:hidden; border-top:6px solid #20bcec; }
.ice-area-banner--ski{ background:linear-gradient(105deg,#071d4a 0%,#0a3a8c 55%,#0b6fc4 100%); }
.ice-area-banner--rink{ background:linear-gradient(105deg,#06304a 0%,#0a5578 55%,#0e82a8 100%); border-top-color:#8fe4ff; }
.ice-area-banner--aux{ background:linear-gradient(105deg,#33445c 0%,#4b5f7a 100%); border-top-color:#9fb4cc; padding:26px 0; }
.ice-area-banner-in{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:clamp(22px,4vw,64px); align-items:center; }
.ice-area-banner--aux .ice-area-banner-in{ grid-template-columns:minmax(0,1fr); }
.ice-area-no{ display:inline-block; font-family:var(--font-display); font-weight:800; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:#d8f4ff; border:1.5px solid rgba(255,255,255,.5); border-radius:999px; padding:5px 14px; margin-bottom:16px; }
.ice-area-h{ font-family:var(--font-display); font-weight:800; font-size:clamp(36px,5.6vw,68px); line-height:1.03; letter-spacing:-.03em; color:#fff; margin:0 0 16px; }
.ice-area-banner--aux .ice-area-h{ font-size:clamp(24px,3vw,34px); margin:0; }
.ice-area-lead{ max-width:62ch; font-size:clamp(15.5px,1.35vw,18.5px); line-height:1.6; color:rgba(255,255,255,.96); margin:0; }
.ice-area-nav{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.ice-area-nav .ice-chip{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.5); color:#fff; min-height:42px; padding:0 16px; font-size:14.5px; }
.ice-area-nav .ice-chip:hover{ background:#fff; color:#0a2a5e; }
.ice-area-img{ display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:22px; border:2px solid rgba(255,255,255,.4); box-shadow:0 26px 54px -26px rgba(0,0,0,.65); }
.ice-area--rink .wa-section-alt{ background:linear-gradient(180deg,#eef9fc 0%,#dff1f7 100%); }
.ice-area--rink .ice-kicker{ color:#0a6a9b; }
.ice-area--aux .wa-section{ background:#fff; }
.ice-grid.one{ grid-template-columns:minmax(0,1fr); max-width:860px; }
.ice-steps + .ice-grid.one{ margin-top:22px; }

/* film V6: cały kadr 16:9, bez przycinania */
.ice-film{ align-items:start; }
.ice-vid{ position:relative; aspect-ratio:16/9; background:#000; border-radius:22px; overflow:hidden; box-shadow:0 22px 50px -26px rgba(5,30,90,.6); }
.ice-vid-el{ display:block; width:100%; height:100%; object-fit:contain; background:#000; }
.ice-vid-start{ position:absolute; inset:0 0 54px 0; display:grid; place-items:center; pointer-events:none; background:linear-gradient(0deg,rgba(5,14,44,.38),rgba(5,14,44,.08)); }
.ice-vid-btn{ pointer-events:auto; display:inline-flex; align-items:center; gap:14px; min-height:58px; padding:0 30px 0 22px; border:0; border-radius:999px; cursor:pointer; font-family:var(--font-display); font-weight:800; font-size:18px; color:#fff; background:linear-gradient(100deg,#0a3aa8 0%,#0a63f0 55%,#16b9f0 100%); box-shadow:0 14px 34px -12px rgba(2,10,40,.75); }
.ice-vid-btn:hover{ filter:brightness(1.08); }
.ice-vid-btn:focus-visible, .ice-vid-replay:focus-visible{ outline:3px solid #fff; outline-offset:3px; box-shadow:0 0 0 6px #0a63f0; }
.ice-vid-ico{ width:0; height:0; border-left:17px solid #fff; border-top:10px solid transparent; border-bottom:10px solid transparent; margin-left:4px; }
.ice-vid-after{ display:flex; justify-content:center; margin-top:14px; }
.ice-vid-replay .arr{ font-size:20px; }
.ice-vid-msg{ margin-top:10px; font-size:14px; line-height:1.5; color:#7a2a0a; background:#fff4ec; border:1px solid #f1c7aa; border-radius:10px; padding:10px 14px; }

/* przykład: pięć dodatkowych dni */
.ice-days{ width:100%; border-collapse:collapse; margin:10px 0 16px; font-size:16px; }
.ice-days th, .ice-days td{ padding:9px 0; border-bottom:1px solid #d6eaf8; text-align:left; font-weight:600; }
.ice-days td{ text-align:right; font-family:var(--font-display); font-weight:800; white-space:nowrap; color:var(--blue-deep); }
.ice-days small{ font-family:var(--font-body); font-weight:600; font-size:13px; color:#5c7089; }
.ice-days tfoot .total th, .ice-days tfoot .total td{ border-top:2px solid #0a2a5e; font-size:18px; font-weight:800; }
.ice-days tfoot tr:last-child th, .ice-days tfoot tr:last-child td{ border-bottom:0; }
.ice-days-card p{ margin:0 0 10px; }
.ice-days-cta{ margin-top:18px !important; }
.ice-days-cta .btn{ width:100%; justify-content:center; }

@media (max-width:900px){
  .ice-area-banner-in{ grid-template-columns:minmax(0,1fr); }
  .ice-area-img{ order:-1; aspect-ratio:16/9; border-radius:18px; }
}
@media (max-width:760px){
  .ice-chips{ flex-wrap:wrap; justify-content:center; overflow-x:visible; }
  .ice-chip--main{ flex:1 1 100%; justify-content:center; }
  .ice-area-banner{ padding:34px 0 38px; }
  .ice-area-banner--aux{ padding:20px 0; }
  .ice-area-nav{ margin-top:18px; }
  .ice-area-nav .ice-chip{ flex:1 1 auto; justify-content:center; }
  .ice-vid{ border-radius:16px; }
  .ice-vid-btn{ min-height:52px; font-size:16.5px; padding:0 24px 0 18px; }
}
.ice-grid.one + .ice-linkrow, .ice-steps + .ice-linkrow{ margin-top:22px; }


/* ===== v2.16 ===== */
/* Stopka: ta podstrona nie miała bazowej reguły .site-footer (tło, odstęp), którą mają pozostałe strony,
   więc jasne tło sekcji nad stopką prześwitywało pod białym tekstem. Ta sama reguła co na stronie głównej i w Water AI. */
.site-footer{ position:relative; margin-top:56px; padding:56px var(--side-pad) 30px; overflow:hidden; background-color:#0a2a5e; display:flex; align-items:flex-end; }
.footer-inner{ position:relative; z-index:1; }
.ice-vid--wide{ max-width:1280px; margin:0 auto; }
.ice-yt-thumb{ object-fit:contain; background:#0b1a46; }
.ice-yt-msg .ice-vid-btn{ pointer-events:auto; }
.ice-yt-msg .ice-vid-btn[hidden], .ice-yt-msg strong[hidden], .ice-yt-msg .btn[hidden]{ display:none !important; }
.ice-subhead--first{ margin-top:0; }
#oceny-lodowiska{ padding-top:40px; }

/* ===== v2.18 ===== */
/* Stok: film i oprawa jak film lodowiska (wspólna klasa .ice-vid--wide), model obrotu pod filmem */
#film .ice-vid--wide{ margin-top:4px; }
.ice-film-caption--wide{ max-width:1280px; margin:12px auto 0; font-size:15px; }
.ice-days-card--wide{ max-width:1280px; margin:26px auto 0; padding:28px 32px 30px; }
.ice-days-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px 48px; align-items:start; }
.ice-days-main h3{ margin-top:0; }
.ice-days-main .ice-days{ margin-bottom:0; }
.ice-days-note p:first-child{ margin-top:0; }
.ice-days-card--wide .ice-days-cta .btn{ width:auto; }
@media (max-width:980px){
  .ice-days-grid{ grid-template-columns:minmax(0,1fr); gap:14px; }
  .ice-days-card--wide{ padding:22px 20px 24px; }
  .ice-days-card--wide .ice-days-cta .btn{ width:100%; }
}
/* Reportaż YouTube: odtwarzacz (iframe + IFrame API), plansza ładowania, przyciski pod odtwarzaczem */
.ice-yt iframe{ z-index:1; }
.ice-yt .ice-yt-fallback{ z-index:2; }
.ice-yt.is-live .ice-yt-fallback{ display:none; }
.ice-yt-ctl{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 12px; }
.ice-yt-ctl[hidden]{ display:none; }
.ice-yt-ctl .btn{ min-height:48px; font-size:16px; }
.ice-yt-ctl .btn[hidden]{ display:none !important; }
.ice-yt-ctl .btn:disabled{ opacity:.6; cursor:default; }
@media (max-width:560px){
  .ice-yt-ctl .btn{ flex:1 1 100%; justify-content:center; }
}

/* ===== v2.19: temperatury, reportaż w układzie pionowym ===== */
.ice-temp-kick{ display:block; font-size:12.5px; font-weight:700; letter-spacing:.02em; color:#4a5f7c; margin-bottom:6px; line-height:1.35; }
.ice-temp-facts div{ display:flex; flex-direction:column; }
.ice-temp-facts b{ font-size:22px; }
.ice-temp-shared{ margin:0; font-size:15px; color:#33445c; line-height:1.55; }
.ice-strbske{ max-width:1280px; margin:0 auto 22px; }
.ice-strbske p{ margin:0; max-width:960px; }
.ice-yt-block{ max-width:1280px; margin:0 auto 26px; }
.ice-yt-block h3{ margin:0 0 8px; }
.ice-yt-desc{ margin:0 0 16px; max-width:960px; }
.ice-yt-block .ice-yt{ width:100%; max-width:1280px; margin:0 auto; border-radius:22px; overflow:hidden; box-shadow:0 22px 50px -26px rgba(5,30,90,.6); background:#071638; }
.ice-yt-block .ice-yt iframe{ border-radius:0; }
.ice-yt-block .ice-yt-fallback{ border-radius:0; background:linear-gradient(135deg,#071638,#0c2a5c); }
.ice-yt-block .ice-yt-thumb{ object-fit:cover; opacity:1; }
.ice-yt-block .ice-yt-thumb[hidden]{ display:none; }
.ice-yt-block .ice-yt-msg{ background:linear-gradient(0deg,rgba(5,14,44,.42),rgba(5,14,44,.08)); }
.ice-yt-block .ice-yt-msg strong{ background:rgba(7,22,56,.82); padding:10px 16px; border-radius:12px; max-width:min(560px,90%); }
.ice-yt-block .ice-yt-msg strong[hidden]{ display:none; }
.ice-yt-block .ice-vid-btn[hidden]{ display:none !important; }
.ice-yt-block .ice-vid-btn[disabled]{ opacity:.75; cursor:progress; }
.ice-yt-block .ice-yt-links{ display:flex; justify-content:center; margin:18px 0 8px; }
.ice-yt-block .ice-source{ text-align:center; }
@media(max-width:640px){ .ice-yt-block .ice-yt{ border-radius:16px; } .ice-yt-block .ice-yt-links .btn{ width:100%; justify-content:center; } }

/* ===== v2.22: film lodowiska V5 i przykładowe obliczenia lodowiska ===== */
.ice-film-desc{ max-width:1280px; margin:18px auto 0; font-size:17px; line-height:1.65; color:#33445c; }
#przyklad-lodowisko{ border-top:1px solid var(--ice-card-line); }
.ice-sim-tag{ display:inline-block; font-size:13px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#fff; background:#0a63f0; border-radius:999px; padding:6px 14px; margin:0 0 12px; }
.ice-calc-card{ max-width:1280px; margin:0 auto 26px; padding:28px 32px 30px; }
.ice-calc-card h3{ margin-top:0; }
.ice-calc-grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:22px 44px; align-items:start; margin:6px 0 16px; }
.ice-assump{ padding-left:20px; list-style:disc; margin:8px 0 12px; }
.ice-assump li{ font-size:15.5px; line-height:1.55; color:#33445c; margin-bottom:6px; }
.ice-calc{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.ice-calc li{ display:grid; grid-template-columns:36px minmax(0,1fr); gap:2px 14px; align-items:center; padding:11px 14px; background:#fff; border:1px solid var(--ice-card-line); border-radius:14px; }
.ice-calc li>b{ grid-row:1 / span 2; width:34px; height:34px; border-radius:50%; background:#0a63f0; color:#fff; display:grid; place-items:center; font-family:var(--font-display); font-weight:800; font-size:16px; }
.ice-calc h4{ margin:0; font-size:14.5px; line-height:1.35; color:#46607e; font-weight:700; }
.ice-calc .f{ margin:0; font-size:16px; line-height:1.5; color:#33445c; overflow-wrap:anywhere; }
.ice-calc .r{ font-family:var(--font-display); font-weight:800; color:var(--blue-deep); }
.ice-calc li.final{ background:#0a2a5e; border-color:#0a2a5e; }
.ice-calc li.final>b{ background:#21bdea; color:#06224f; }
.ice-calc li.final h4{ color:#bfe3f7; }
.ice-calc li.final .f, .ice-calc li.final .r{ color:#fff; }
.ice-calc-foot{ margin:6px 0 0; }
.ice-buy{ max-width:1280px; margin:26px auto 0; }
.ice-buy-calc{ font-size:17px !important; }
@media (max-width:900px){
  .ice-calc-grid{ grid-template-columns:minmax(0,1fr); gap:10px; }
  .ice-calc-card{ padding:22px 18px 24px; }
  .ice-film-desc{ font-size:16px; }
}
