/* ============================================================
   wybor-wariantu.css — strona wyboru wariantu (rodziny produktow,
   np. Lunety). Komponenty przeniesione z mockupu luneta-wybor,
   zakresowane pod .wybor-wariantu. Chrom strony = naglowek/stopka
   Kadence. Pattern: edumovly/wybor-wariantu.
   ============================================================ */

:root {
    
    --bg-base: #FFFFFF;
    --bg-paper: #FFFFFF;
    --bg-warm: #F2FAEA;
    --bg-night: #34611A;          
    --ink-deep: #1D1932;          
    --ink-medium: #4A4658;
    --ink-soft: #8A8794;
    --border: #EAE8EF;
    --eu-green: #68B42D;
    --eu-green-dark: #4F8A22;
    --eu-green-soft: #EBF7DD;
    --green-light: #9FE34A;
    --green-muted: #61993B;
    --green-deep: #34611A;
    --pink: #DD19B2;
    --pink-dark: #C80E92;
    --pink-violet: #9D5391;
    --magenta: #910F66;
    
    --astro-deep: #2D4174;
    --astro-light: #6680B5;
    --view-deep: #4F8A22;
    --view-light: #9FE34A;
    --mix-deep: #9D5391;
    --mix-light: #DD19B2;
    --shadow-soft: 0 2px 8px rgba(29, 25, 50, 0.05), 0 8px 32px rgba(29, 25, 50, 0.05);
    --shadow-card: 0 4px 16px rgba(29, 25, 50, 0.07), 0 16px 48px rgba(29, 25, 50, 0.09);
    --shadow-pop: 0 12px 36px rgba(29, 25, 50, 0.13);
    --font-display: 'Oswald', system-ui, sans-serif;
    --font-body: 'Montserrat', system-ui, sans-serif;
    --font-hand: 'Caveat', cursive;
    --font-a11y: 'Atkinson Hyperlegible', system-ui, sans-serif;
    --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px;
    --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px;
    --r-sm: 12px; --r-md: 20px; --r-lg: 28px; --r-xl: 40px;
  }

.wybor-wariantu .brand-logo {
    height: 38px;
    width: auto;
    display: block;
  }

.wybor-wariantu .brand-text { display: none; }

/* Ukryj Kadence default page title — używamy własnego heroa z patternu */
body.page:has(.wybor-wariantu) .entry-header,
body.page:has(.wybor-wariantu) .above-entry-content,
body.page:has(.wybor-wariantu) header.entry-header { display: none !important; }
body.page:has(.wybor-wariantu) .content-area > .site-container > article { padding-top: 0 !important; }

.wybor-wariantu .hero {
    padding: 28px var(--s-5) 20px;   /* zwarte: warianty muszą być widoczne bez skrolowania */
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
  }

.wybor-wariantu .hero-eu {
    width: 70px;                      /* z 160 → 70: mniejszy, nie zajmuje viewportu */
    margin: 0 auto 8px;
    filter: drop-shadow(0 6px 12px rgba(29, 25, 50, 0.16));
    animation: bob 4s ease-in-out infinite;
  }

@keyframes bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
  }

.wybor-wariantu .hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: 6px var(--s-3);
    border-radius: 999px;
    background: rgba(104, 180, 45, 0.18);
    color: #910F66;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: var(--s-3);
  }

.wybor-wariantu .hero-title {
    font-family: var(--font-display);
    font-variation-settings: "opsz" 144, "SOFT" 50, "WONK" 1;
    font-weight: 700;
    font-size: clamp(1.6rem, 4.5vw, 2.6rem);  /* mniejszy: szybciej do wariantów */
    line-height: 1.05;
    letter-spacing: -0.025em;
    color: var(--ink-deep);
    margin: 0 0 10px;
  }

.wybor-wariantu .hero-title em {
    font-style: italic;
    font-variation-settings: "opsz" 144, "SOFT" 100, "WONK" 1;
    color: #910F66;
  }

.wybor-wariantu .hero-lead {
    font-family: var(--font-display);
    font-weight: 400;
    font-variation-settings: "opsz" 18, "SOFT" 100;
    font-size: clamp(0.95rem, 2vw, 1.05rem);  /* mniejszy lead */
    line-height: 1.5;
    color: var(--ink-medium);
    max-width: 56ch;
    margin: 0 auto;
  }

.wybor-wariantu .hero-hint {
    display: none;  /* ukryte: wskazówka redundantna gdy warianty są od razu widoczne */
  }

.wybor-wariantu .hero-hint strong { color: var(--ink-deep); }

.wybor-wariantu .group-section {
    max-width: 980px;
    margin: 20px auto 0;     /* zmniejszony gap od hero */
    padding: 0 var(--s-5);
  }
.wybor-wariantu .group-section:first-of-type { margin-top: 8px; }
@media (max-width: 600px) {
  /* mobile: agresywne zwarcie hero, żeby kafle wariantów wchodziły wyżej
     (bez chowania hero — zostaje maskotka + eyebrow + tytuł + lead). */
  .wybor-wariantu .hero { padding: 10px var(--s-5) 8px; }
  .wybor-wariantu .hero-eu { width: 40px; margin-bottom: 2px; }
  .wybor-wariantu .hero-eyebrow { margin-bottom: 6px; padding: 4px 10px; font-size: 11px; }
  .wybor-wariantu .hero-title { font-size: 1.32rem; margin-bottom: 6px; }
  .wybor-wariantu .hero-lead { font-size: 0.82rem; line-height: 1.4; }
  .wybor-wariantu .group-section { margin-top: 10px; padding: 0 12px; }
  .wybor-wariantu .group-section:first-of-type { margin-top: 6px; }
}

.wybor-wariantu .group-head {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    margin: var(--s-6) 0 var(--s-4);
    padding: 0 var(--s-2);
  }

.wybor-wariantu .group-num {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--ink-deep);
    color: var(--bg-paper);
    display: grid; place-items: center;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 17px;
    flex-shrink: 0;
  }

.wybor-wariantu .group-name {
    font-family: var(--font-display);
    font-weight: 700;
    font-variation-settings: "opsz" 36, "SOFT" 80;
    font-size: 22px;
    line-height: 1.1;
    color: var(--ink-deep);
  }

.wybor-wariantu .group-name em {
    font-style: italic;
    font-variation-settings: "opsz" 36, "SOFT" 100, "WONK" 1;
    color: var(--eu-green-dark);
  }

.wybor-wariantu .group-line {
    flex: 1;
    height: 1px;
    background: var(--border);
  }

.wybor-wariantu .variants-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--s-4);
  }

@media (min-width: 600px) {
  .wybor-wariantu .variants-grid { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 900px) {
  .wybor-wariantu .variants-grid.three-col { grid-template-columns: repeat(3, 1fr); }
}

.wybor-wariantu .variant-card {
    background: var(--bg-paper);
    border: 1.5px solid var(--border);
    border-radius: var(--r-lg);
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    position: relative;
  }

.wybor-wariantu .variant-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-pop);
    border-color: var(--accent, var(--eu-green));
  }

.wybor-wariantu .variant-visual {
    aspect-ratio: 16/10;
    position: relative;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: var(--vbg, linear-gradient(135deg, var(--bg-warm), var(--eu-green-soft)));
  }

.wybor-wariantu .variant-visual svg {
    width: 65%;
    height: auto;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.15));
  }

.wybor-wariantu .v-astro {
    --vbg: linear-gradient(135deg, var(--astro-deep), var(--astro-light));
    --accent: var(--astro-deep);
  }

.wybor-wariantu .v-astro .variant-visual::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
      radial-gradient(circle 1px at 20% 30%, rgba(255,255,255,0.95), transparent 100%),
      radial-gradient(circle 1px at 70% 25%, rgba(255,255,255,0.8), transparent 100%),
      radial-gradient(circle 2px at 40% 60%, rgba(255,255,255,0.95), transparent 100%),
      radial-gradient(circle 1px at 85% 70%, rgba(255,255,255,0.85), transparent 100%),
      radial-gradient(circle 1px at 15% 80%, rgba(255,255,255,0.7), transparent 100%),
      radial-gradient(circle 2px at 60% 15%, rgba(255,255,255,0.9), transparent 100%),
      radial-gradient(circle 1px at 90% 40%, rgba(255,255,255,0.75), transparent 100%),
      radial-gradient(circle 1px at 30% 90%, rgba(255,255,255,0.7), transparent 100%);
  }

.wybor-wariantu .v-view {
    --vbg: linear-gradient(180deg, var(--view-light) 0%, var(--view-deep) 100%);
    --accent: var(--view-deep);
  }

.wybor-wariantu .v-view .variant-visual::before {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 35%;
    background: linear-gradient(180deg, transparent, rgba(91, 141, 107, 0.4));
    clip-path: polygon(0% 100%, 0% 60%, 15% 40%, 30% 55%, 50% 35%, 70% 50%, 85% 40%, 100% 55%, 100% 100%);
  }

.wybor-wariantu .v-mix {
    --vbg: linear-gradient(135deg, var(--mix-deep), var(--mix-light));
    --accent: var(--mix-deep);
  }

.wybor-wariantu .v-mix .variant-visual::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
      radial-gradient(circle 1.5px at 20% 25%, rgba(255,255,255,0.85), transparent 100%),
      radial-gradient(circle 1.5px at 75% 20%, rgba(255,255,255,0.8), transparent 100%),
      radial-gradient(circle 1px at 50% 40%, rgba(255,255,255,0.7), transparent 100%);
  }

.wybor-wariantu .v-mix .variant-visual::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 30%;
    background: linear-gradient(180deg, transparent, rgba(91, 141, 107, 0.3));
    clip-path: polygon(0% 100%, 0% 70%, 20% 50%, 40% 65%, 60% 45%, 80% 60%, 100% 50%, 100% 100%);
  }

/* ============================================================
   ZDJĘCIA LUNET jako tło kart (zamiast samych gradientów).
   Selektory rozróżniają: grupa 1 (variants-grid) vs grupa 2 (.three-col),
   typ przez .v-astro / .v-view / .v-mix. Zdjęcie = cover, gradient zostaje
   jako fallback gdy obraz się nie załaduje. Badge nad zdjęciem (z-index 2).
   ============================================================ */
.wybor-wariantu .variant-visual {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/* Grupa 1 — Luneta pojedyncza */
.wybor-wariantu .variants-grid:not(.three-col) .v-astro .variant-visual {
    background-image: url('/wp-content/uploads/2026/05/device-gallery/luneta-pojedyncza-astronomiczna-1.jpg');
}
.wybor-wariantu .variants-grid:not(.three-col) .v-view .variant-visual {
    background-image: url('/wp-content/uploads/2026/05/device-gallery/luneta-pojedyncza-widokowa-1.jpg');
}
/* Grupa 2 — Luneta podwójna */
.wybor-wariantu .variants-grid.three-col .v-astro .variant-visual {
    background-image: url('/wp-content/uploads/2026/05/device-gallery/luneta-podwojna-astronomiczna-1.jpg');
}
.wybor-wariantu .variants-grid.three-col .v-view .variant-visual {
    background-image: url('/wp-content/uploads/2026/05/device-gallery/luneta-podwojna-widokowa-1.jpg');
}
.wybor-wariantu .variants-grid.three-col .v-mix .variant-visual {
    background-image: url('/wp-content/uploads/2026/05/device-gallery/luneta-podwojna-widokowo-astronomiczna-1.jpg');
}
/* na zdjęciu wyłączamy dekoracyjne gwiazdki/wzgórza (::before/::after) — i tak ich nie widać */
.wybor-wariantu .variant-visual[style],
.wybor-wariantu .v-astro .variant-visual::before,
.wybor-wariantu .v-view .variant-visual::before,
.wybor-wariantu .v-mix .variant-visual::before,
.wybor-wariantu .v-mix .variant-visual::after {
    opacity: 0.55;
}
/* lekkie przyciemnienie u góry pod badge dla czytelności */
.wybor-wariantu .variant-visual {
    box-shadow: inset 0 40px 60px -30px rgba(0,0,0,0.35);
}

.wybor-wariantu .variant-badge {
    position: absolute;
    top: var(--s-3); right: var(--s-3);
    background: rgba(255, 253, 247, 0.95);
    backdrop-filter: blur(6px);
    padding: 4px var(--s-3);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    color: var(--ink-deep);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    z-index: 2;
  }

.wybor-wariantu .variant-info {
    padding: var(--s-5);
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
  }

.wybor-wariantu .variant-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    color: var(--accent, var(--eu-green-dark));
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

.wybor-wariantu .variant-name {
    font-family: var(--font-display);
    font-weight: 700;
    font-variation-settings: "opsz" 36, "SOFT" 80;
    font-size: 21px;
    color: var(--ink-deep);
    line-height: 1.15;
  }

.wybor-wariantu .variant-name em {
    font-style: italic;
    font-variation-settings: "opsz" 36, "SOFT" 100, "WONK" 1;
    color: var(--accent, var(--eu-green-dark));
  }

.wybor-wariantu .variant-desc {
    color: var(--ink-medium);
    font-size: 14px;
    line-height: 1.55;
    flex: 1;
  }

.wybor-wariantu .variant-recognize {
    background: var(--bg-warm);
    border-radius: var(--r-sm);
    padding: var(--s-3);
    font-size: 12px;
    color: var(--ink-medium);
    line-height: 1.45;
  }

.wybor-wariantu .variant-recognize strong {
    color: var(--ink-deep);
    display: block;
    margin-bottom: 2px;
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

.wybor-wariantu .variant-cta {
    margin-top: auto;
    padding-top: var(--s-3);
    border-top: 1px dashed var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 700;
    font-size: 14px;
    color: var(--accent, var(--eu-green-dark));
  }

.wybor-wariantu .variant-cta .arrow { transition: transform 0.2s ease; }

.wybor-wariantu .variant-card:hover .variant-cta .arrow { transform: translateX(4px); }

.wybor-wariantu .help-block {
    max-width: 980px;
    margin: var(--s-7) auto var(--s-5);
    padding: 0 var(--s-5);
  }

.wybor-wariantu .help-inner {
    background: var(--bg-paper);
    border: 1.5px solid var(--border);
    border-radius: var(--r-lg);
    padding: var(--s-5);
    display: grid;
    gap: var(--s-4);
    align-items: center;
  }

@media (min-width: 700px) {
  .wybor-wariantu .help-inner { grid-template-columns: 100px 1fr; }
}

.wybor-wariantu .help-eu img {
    width: 100px;
    margin: 0 auto;
    filter: drop-shadow(0 6px 12px rgba(29, 25, 50, 0.15));
  }

.wybor-wariantu .help-text h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-variation-settings: "opsz" 24, "SOFT" 80;
    font-size: 19px;
    color: var(--ink-deep);
    margin-bottom: var(--s-2);
  }

.wybor-wariantu .help-text p {
    color: var(--ink-medium);
    font-size: 14px;
    line-height: 1.6;
  }

/* mostek WP: wp:group renderuje wrapper __inner-container — display:contents
   "rozpuszcza" go, by grid/flex z klas mockupu widzial dzieci */
.wybor-wariantu .wp-block-group > .wp-block-group__inner-container { display: contents; }
/* karta wariantu = grupa (nie <a>); link zyje w .variant-cta */
.wybor-wariantu .variant-cta a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }

/* blok pomocy: flex zamiast sztywnego gridu 100px/1fr — gdy obrazek
   Eugeniusza nie jest jeszcze wstawiony, tekst nie laduje w waskiej kolumnie */
.wybor-wariantu .help-inner { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-5); }
.wybor-wariantu .help-eu { flex: 0 0 100px; }
.wybor-wariantu .help-text { flex: 1; min-width: 240px; }

/* card-clickable: cała variant-card klikalna (JS w card-clickable.js).
   Hover/transform już zdefiniowane wyżej dla .variant-card */
.wybor-wariantu .variant-card { cursor: pointer; }
/* fokus: jedyny tabstop karty to link w .variant-cta (kontener bez tabindex - ustalenie 40) */
.wybor-wariantu .variant-cta a:focus-visible {
    outline: 3px solid var(--eu-green, #68B42D);
    outline-offset: 3px;
}

/* ============================================================
   KAFEL "WKRÓTCE" — wariant bez gotowej strony.
   Nieklikalny (brak <a> w środku → card-clickable.js go pomija),
   wyszarzony, z etykietą. Rodzina istnieje, ale klient nie wejdzie
   w pusty wariant, dopóki nie postawimy realnej strony.
   ============================================================ */
.wybor-wariantu .variant-card.variant-soon {
    cursor: default;
    opacity: 0.88;
}
.wybor-wariantu .variant-card.variant-soon .variant-visual {
    filter: grayscale(0.4) brightness(0.96);
}
.wybor-wariantu .variant-card.variant-soon:hover {
    transform: none;
    box-shadow: none;
    border-color: var(--border);
}
.wybor-wariantu .variant-soon .variant-badge {
    background: var(--ink-deep);
    color: var(--bg-paper);
    opacity: 0.92;
}
.wybor-wariantu .variant-cta.soon {
    color: var(--ink-medium);
    font-weight: 600;
    justify-content: flex-start;
    gap: 6px;
}

/* ============================================================
   KAFLE COMPACT (mobile ≤600px) — na końcu pliku CELOWO, żeby te
   nadpisania wygrały kolejnością źródła z bazowymi regułami kart
   (.variants-grid, .variant-card…) zdefiniowanymi wyżej.
   Cel: min 4 (realnie ~6) wariantów widocznych naraz zamiast ~1.
   2 kolumny, zdjęcie u góry (16:10 — kluczowy element rozpoznania)
   + nazwa + CTA. Opis i blok „po czym poznasz" chowamy — na telefonie
   do rozpoznania tablicy wystarcza zdjęcie + nazwa. Kafel ~517 → ~230 px.
   ============================================================ */
@media (max-width: 600px) {
  .wybor-wariantu .variants-grid { grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
  .wybor-wariantu .variant-card { border-radius: 16px; }
  .wybor-wariantu .variant-info { padding: 9px 11px 11px; gap: 2px; }
  .wybor-wariantu .variant-info * { margin-top: 0 !important; margin-bottom: 0 !important; } /* zeruje domyślne marginesy bloków WP (dawały ~59 px pustki) */
  .wybor-wariantu .variant-tag { font-size: 9.5px; }
  .wybor-wariantu .variant-name { font-size: 14px; line-height: 1.12; margin-top: 3px !important; }
  .wybor-wariantu .variant-desc { display: none !important; }
  .wybor-wariantu .variant-recognize { display: none !important; }
  .wybor-wariantu .variant-cta { font-size: 11px; padding-top: 7px; margin-top: 5px !important; }
  .wybor-wariantu .variant-cta.soon { font-size: 10.5px; }
  .wybor-wariantu .variant-badge { font-size: 8.5px; padding: 2px 6px; top: 6px; right: 6px; }
}
