/* ==========================================================================
   Czasy dostawy v2 (resources/views/czasy-v2). Paczka fcpoints-skupkont-czasy-v2.
   Wszystko pod .cz2 albo z prefiksem cz2-. Tokeny jak fcpoints-v2 / sbc-skup-v2. Telefon: < 768 px.
   ========================================================================== */
.cz2 {
  --c2-ciemny: #111a24;
  --c2-hero: #070d13;
  --c2-zloty: #f5a623;
  --c2-zloty-tekst: #9a5b00;
  --c2-zielony: #17783f;
  --c2-zielony-jasny: #3ddc84;
  --c2-szary: #5b6472;
  --c2-ramka: #dfe3e9;
  --c2-cond: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  max-width: 1110px; margin: 0 auto; padding: 6px 0 28px;
  display: flex; flex-direction: column; gap: 20px;
  font-family: Barlow, 'Helvetica Neue', Arial, sans-serif; color: var(--c2-ciemny); text-align: left;
  font-size: 15px; line-height: 1.5;
}
.cz2 *, .cz2 *::before, .cz2 *::after { box-sizing: border-box; }
.cz2 a { color: var(--c2-zloty-tekst); text-decoration: none; }
.cz2 a:hover { color: #6e4100; }
.cz2 button { font-family: inherit; cursor: pointer; }
.cz2 h1, .cz2 h2, .cz2 h3 { text-transform: none; letter-spacing: 0; text-align: left; }
.cz2 p { margin: 0; }
.cz2 ul { margin: 0; padding: 0; list-style: none; }
.cz2 [hidden] { display: none !important; }
.cz2 > * { min-width: 0; max-width: 100%; }
.cz2 a:focus-visible, .cz2 button:focus-visible, .cz2 summary:focus-visible { outline: 3px solid var(--c2-zloty); outline-offset: 2px; border-radius: 6px; }

.cz2-okruszki { font-size: 13px; font-weight: 700; color: var(--c2-szary); letter-spacing: .6px; text-transform: uppercase; }
.cz2-okruszki a { color: var(--c2-szary); }
.cz2-okruszki span { color: #b6bec9; }
.cz2-karta { background: #ffffff; border: 1px solid var(--c2-ramka); border-radius: 20px; padding: 22px 24px; }
.cz2-h2 { margin: 0; font-family: var(--c2-cond); font-size: 26px; font-weight: 800; line-height: 1.1; color: var(--c2-ciemny); }
.cz2-pod { font-size: 13px; color: var(--c2-szary); }
.cz2-pusto { text-align: center; color: var(--c2-szary); }

/* hero */
.cz2-hero { position: relative; overflow: hidden; background: var(--c2-hero); border-radius: 22px; padding: 32px 34px; display: flex; gap: 28px; flex-wrap: wrap; align-items: center; }
.cz2-hero-blask { position: absolute; right: -10%; top: -60%; width: 60%; height: 220%; background: radial-gradient(closest-side, rgba(245,166,35,.20), transparent); pointer-events: none; }
.cz2-hero-tekst { position: relative; flex: 999 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.cz2-blok { display: flex; flex-direction: column; gap: 14px; }
.cz2-napis { font-size: 12px; font-weight: 800; letter-spacing: 1.6px; color: #f5c66b; text-transform: uppercase; }
.cz2-h1 { margin: 0; font-family: var(--c2-cond); font-size: 50px; font-weight: 800; line-height: 1; color: #ffffff; }
.cz2-zloty { color: var(--c2-zloty); }
.cz2-lead { color: #c3cbd6; font-size: 17px; line-height: 1.55; max-width: 560px; }
.cz2-blok a { color: #f5c66b; text-decoration: underline; }
.cz2-status { display: flex; align-items: center; gap: 12px; background: #101a26; border: 1px solid #22344a; border-radius: 14px; padding: 12px 14px; align-self: flex-start; max-width: 100%; }
.cz2-status-kropka { width: 12px; height: 12px; border-radius: 50%; background: var(--c2-zielony-jasny); flex-shrink: 0; animation: cz2Puls 1.6s ease-in-out infinite; }
@keyframes cz2Puls { 0%, 100% { box-shadow: 0 0 0 0 rgba(61,220,132,.55); } 50% { box-shadow: 0 0 0 7px rgba(61,220,132,0); } }
.cz2-status-tekst { display: flex; flex-direction: column; min-width: 0; }
.cz2-status-tekst strong { color: #ffffff; font-weight: 800; font-size: 15px; }
.cz2-status-tekst span { color: #a9b4c2; font-size: 13px; }
.cz2-zegar { position: relative; flex: 1 1 240px; height: 230px; display: flex; align-items: center; justify-content: center; }
.cz2-orbita { position: absolute; width: 220px; height: 220px; border-radius: 50%; border: 1px dashed rgba(245,166,35,.35); animation: cz2Obrot 24s linear infinite; }
.cz2-orbita span:first-child { position: absolute; top: -6px; left: 50%; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--c2-zloty); box-shadow: 0 0 14px var(--c2-zloty); }
.cz2-orbita span:last-child { position: absolute; bottom: 20px; right: 14px; width: 9px; height: 9px; border-radius: 50%; background: var(--c2-zielony-jasny); box-shadow: 0 0 12px var(--c2-zielony-jasny); }
.cz2-tarcza { position: relative; width: 150px; height: 150px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #1d2b3c, #0b121b); border: 4px solid var(--c2-zloty); box-shadow: 0 20px 50px rgba(0,0,0,.5), inset 0 0 30px rgba(245,166,35,.15); }
.cz2-kreska { position: absolute; background: #3a4558; border-radius: 2px; }
.cz2-kreska--g { left: 50%; top: 12px; width: 4px; height: 12px; margin-left: -2px; background: var(--c2-zloty); }
.cz2-kreska--d { left: 50%; bottom: 12px; width: 4px; height: 12px; margin-left: -2px; }
.cz2-kreska--l { top: 50%; left: 12px; width: 12px; height: 4px; margin-top: -2px; }
.cz2-kreska--p { top: 50%; right: 12px; width: 12px; height: 4px; margin-top: -2px; }
.cz2-wskazowka { position: absolute; left: 50%; border-radius: 3px; transform-origin: 50% 100%; }
.cz2-wskazowka--h { top: 32px; width: 6px; height: 43px; margin-left: -3px; background: #ffffff; animation: cz2Obrot 60s linear infinite; }
.cz2-wskazowka--m { top: 20px; width: 3px; height: 55px; margin-left: -1.5px; background: var(--c2-zloty); animation: cz2Obrot 6s linear infinite; }
.cz2-os { position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--c2-zloty); }
@keyframes cz2Obrot { to { transform: rotate(360deg); } }

/* karty u góry */
.cz2-topy { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.cz2-top { background: #ffffff; border: 1px solid var(--c2-ramka); border-radius: 16px; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.cz2-top-nazwa { font-size: 13px; font-weight: 800; color: var(--c2-szary); }
.cz2-top-czas { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.cz2-top-czas strong { font-family: var(--c2-cond); font-size: 34px; font-weight: 800; line-height: 1; }
.cz2-top-czas span { font-size: 13px; color: var(--c2-szary); }
.cz2-top-maks { font-size: 13px; color: #3a4558; }

/* filtry i legenda */
.cz2-pasek { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.cz2-filtry { display: flex; gap: 8px; flex-wrap: wrap; }
.cz2-filtr { height: 40px; padding: 0 14px; border-radius: 999px; font-weight: 800; font-size: 14px; border: 1px solid #d5d9e0; background: #ffffff; color: var(--c2-ciemny); transition: background .15s ease, color .15s ease, border-color .15s ease; }
.cz2-filtr:hover { border-color: #9aa6b5; }
.cz2-filtr[aria-pressed="true"] { background: var(--c2-ciemny); border-color: var(--c2-ciemny); color: #ffffff; }
.cz2-legenda { display: inline-flex; align-items: center; gap: 14px; font-size: 13px; color: #3a4558; font-weight: 700; }
.cz2-legenda > span { display: inline-flex; align-items: center; gap: 6px; }
.cz2-legenda-kropka { width: 12px; height: 12px; border-radius: 50%; background: var(--c2-ciemny); border: 2px solid var(--c2-zloty); }
.cz2-legenda-pasek { width: 22px; height: 6px; border-radius: 3px; background: linear-gradient(90deg, var(--c2-zloty), #e2e6ec); }

/* grupy */
.cz2-grupa { background: #ffffff; border: 1px solid var(--c2-ramka); border-radius: 20px; overflow: hidden; }
.cz2-grupa-gora { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid #edf0f4; }
.cz2-grupa-ikona { width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--c2-cond); font-size: 18px; font-weight: 800; flex-shrink: 0; }
.cz2-grupa-tytul { display: flex; flex-direction: column; min-width: 0; }
.cz2-naglowki, .cz2-wiersz { display: grid; grid-template-columns: minmax(200px, 1.2fr) minmax(220px, 1.6fr) 120px 110px; gap: 0 16px; align-items: center; }
.cz2-naglowki { padding: 8px 20px 0; font-size: 11px; font-weight: 800; letter-spacing: 1px; color: #8f9bab; text-transform: uppercase; }
.cz2-skala { display: flex; justify-content: space-between; text-transform: none; letter-spacing: 0; }
.cz2-prawo { text-align: right; }
.cz2-wiersz { padding: 12px 20px; border-top: 1px solid #f1f3f6; transition: background .12s ease; }
.cz2-wiersze .cz2-wiersz:first-child { border-top: 0; }
.cz2-wiersz:hover { background: #fafbfc; }
.cz2-usluga { display: flex; flex-direction: column; min-width: 0; }
.cz2-usluga a, .cz2-usluga strong { font-weight: 800; font-size: 16px; color: var(--c2-ciemny); }
.cz2-usluga a:hover { color: var(--c2-zloty-tekst); text-decoration: underline; }
.cz2-notka { font-size: 12px; color: var(--c2-szary); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cz2-auto { display: inline-flex; align-items: center; gap: 3px; background: #e8f6ed; color: var(--c2-zielony); border-radius: 999px; padding: 1px 7px; font-size: 11px; font-weight: 800; }
.cz2-os-czasu { position: relative; height: 22px; display: flex; align-items: center; }
.cz2-tor { position: absolute; left: 0; right: 0; height: 4px; border-radius: 2px; background: #eef0f3; }
.cz2-zakres { position: absolute; left: 0; height: 6px; border-radius: 3px; transform-origin: left center; background: linear-gradient(90deg, var(--c2-zloty) 0%, var(--c2-zloty) var(--cz2-a), #e2e6ec 100%); animation: cz2Pasek .9s cubic-bezier(.2,.8,.2,1) both; }
@keyframes cz2Pasek { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.cz2-punkt { position: absolute; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: var(--c2-ciemny); border: 3px solid var(--c2-zloty); }
.cz2-sr { text-align: right; font-family: var(--c2-cond); font-size: 22px; font-weight: 800; }
.cz2-mx { text-align: right; font-size: 15px; font-weight: 700; color: #3a4558; }
.cz2-etykieta-mob { display: none; }
.cz2-stopka { padding: 12px 20px 16px; font-size: 13px; color: #3a4558; line-height: 1.5; background: #fbfcfd; border-top: 1px solid #edf0f4; }

/* co wpływa, FAQ */
.cz2-why { display: flex; flex-direction: column; gap: 14px; }
.cz2-why-gora { display: flex; flex-direction: column; gap: 2px; }
.cz2-why-siatka { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.cz2-why-poz { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; background: #f6f7f9; border-radius: 14px; padding: 14px; }
.cz2-why-nr { width: 40px; height: 40px; border-radius: 12px; background: var(--c2-ciemny); color: var(--c2-zloty); display: inline-flex; align-items: center; justify-content: center; font-family: var(--c2-cond); font-size: 18px; font-weight: 800; }
.cz2-why-poz > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.cz2-why-poz strong { font-size: 15px; }
.cz2-why-poz > span:last-child > span { font-size: 13px; color: #3a4558; line-height: 1.5; }
.cz2-faq { display: flex; flex-direction: column; }
.cz2-faq .cz2-h2 { margin-bottom: 8px; }
.cz2-faq details { border-top: 1px solid #edf0f4; }
.cz2-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0; font-size: 16px; font-weight: 800; }
.cz2-faq summary::-webkit-details-marker { display: none; }
.cz2-faq summary::after { content: '+'; flex-shrink: 0; width: 28px; height: 28px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800; background: #fff3d6; color: var(--c2-zloty-tekst); transition: transform .2s ease; }
.cz2-faq details[open] summary::after { background: var(--c2-ciemny); color: var(--c2-zloty); transform: rotate(45deg); }
.cz2-faq details p { margin: 0 0 14px; font-size: 15px; color: #3a4558; line-height: 1.6; }

@media (max-width: 767px) {
  .cz2 { gap: 14px; padding-top: 0; }
  .cz2-hero { padding: 22px 18px; gap: 16px; border-radius: 18px; }
  .cz2-h1 { font-size: 36px; }
  .cz2-lead { font-size: 15px; }
  .cz2-zegar { display: none; }
  .cz2-topy { grid-template-columns: 1fr 1fr; gap: 8px; }
  .cz2-top { padding: 12px; border-radius: 14px; }
  .cz2-top-czas strong { font-size: 26px; }
  .cz2-pasek { flex-direction: column; align-items: stretch; }
  .cz2-filtry { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; min-width: 0; max-width: 100%; }
  .cz2-filtr { flex-shrink: 0; height: 38px; }
  .cz2-legenda { display: none; }
  .cz2-grupa { border-radius: 16px; }
  .cz2-grupa-gora { padding: 14px 16px; }
  .cz2-naglowki { display: none; }
  .cz2-wiersz { grid-template-columns: 1fr auto auto; grid-template-areas: "u u u" "o o o" "s . m"; gap: 6px 12px; padding: 12px 16px; }
  .cz2-usluga { grid-area: u; }
  .cz2-os-czasu { grid-area: o; }
  .cz2-sr { grid-area: s; text-align: left; font-size: 20px; display: flex; align-items: baseline; gap: 6px; }
  .cz2-mx { grid-area: m; display: flex; align-items: baseline; gap: 6px; }
  .cz2-etykieta-mob { display: inline; font-family: Barlow, Arial, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; color: #8f9bab; }
  .cz2-stopka { padding: 12px 16px 14px; }
  .cz2-karta { padding: 18px 16px; border-radius: 16px; }
  .cz2-h2 { font-size: 23px; }
}
@media (max-width: 360px) {
  .cz2-topy { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .cz2-orbita, .cz2-wskazowka, .cz2-zakres, .cz2-status-kropka { animation: none; }
}
