/* ==========================================================================
   atrium.cz — Databáze studií (/studie-vyhledavani/)
   Předloha: https://atrium-marketing.lovable.app/databaze-studii
   Spec chování: _root/docs/atrium.cz/studie-spec-chovani.md

   Rozměry změřené v předloze (Playwright), barvy z design systému HP
   (hp-redesign.css :root) — Lovable stojí na stejné paletě, jeho
   atrium-blue = rgb(26,115,196) = --atr-blue-l.
   ========================================================================== */

/* --- Pozadí stránky ----------------------------------------------------- */
/* styly_studie.css má .obsah_clanek_filtrace{background-color:#efefef} = šedá.
   Předloha používá světle modrou #eef4fb (změřeno: bg-[#eef4fb] = rgb 238,244,251). */

.obsah_clanek_filtrace{
  background-color:#f4f7fb;
  /* Vlastní blokový kontext: bez viditelného filtru zmizí jeho floaty, legacy
     .spacer se sbalí na 0 a margin-bottom formuláře by protekl ven ze sekce
     (pod modrou by zůstal bílý pruh k patičce). */
  display:flow-root;
}

/* --- Šířka obsahu ------------------------------------------------------- */
/* Web má .blok_sirky_webu = 1520px, předloha drží obsah v 1088px (kontejner
   max-w-6xl = 1152 minus padding). Na 1520 se karty roztáhnou a rozjede se
   grid výpisu i mřížka filtru. Zužujeme jen na tomhle modulu. */

.obsah_clanek_filtrace .blok_sirky_webu{
  width:100%;
  max-width:1152px;
  padding-left:32px;
  padding-right:32px;
  box-sizing:border-box;
}

/* --- Hlavička: eyebrow + H1 + perex ------------------------------------- */

.atr-stud-hlavicka{
  text-align:center;
  padding:56px 0 8px;
}

.atr-stud-eyebrow{
  font-size:14px;
  font-weight:700;
  letter-spacing:4.2px;      /* 0.3em v předloze */
  text-transform:uppercase;
  color:var(--atr-blue-l);
  margin-bottom:16px;
}

.atr-stud-h1{
  font-size:60px;
  font-weight:800;
  line-height:60px;
  color:var(--atr-ink);
  margin:0 0 20px;
}

.atr-stud-perex{
  font-size:18px;
  line-height:29px;
  color:var(--atr-muted);
  max-width:768px;
  margin:0 auto;
}

/* --- Tři ikony ---------------------------------------------------------- */

.atr-stud-ikony{
  display:flex;
  justify-content:center;
  align-items:stretch;
  gap:0;
  margin:44px auto 0;
  max-width:1060px;
}

.atr-stud-ikona{
  display:flex;
  align-items:flex-start;
  gap:16px;
  flex:1 1 0;
  padding:0 28px;
  text-align:left;
}

/* Oddělovače mezi ikonami — jako v předloze, ne kolem krajních */
.atr-stud-ikona + .atr-stud-ikona{
  border-left:1px solid var(--atr-line);
}

.atr-stud-ikona-obal{
  flex:0 0 56px;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#dbeafe;
  color:var(--atr-blue-l);
  display:flex;
  align-items:center;
  justify-content:center;
}

.atr-stud-ikona-text strong{
  display:block;
  font-size:16px;
  font-weight:700;
  color:var(--atr-ink);
  margin-bottom:4px;
}

.atr-stud-ikona-text span{
  display:block;
  font-size:14px;
  line-height:22px;
  color:var(--atr-muted);
}

/* --- Karty filtru (01 / 02 / 03) ---------------------------------------- */
/* Legacy styly_studie.css dává kartám radius 4px, žádný stín a padding 10px 40px 0;
   labely 22px/700 a selecty bez rámečku. Předloha je jinde — přepisujeme. */

.sekce_filtrace_formular{
  background:#fff;
  border-radius:18px;
  box-shadow:0 8px 30px rgba(15,58,110,.06);
  padding:40px;
  margin:0 0 24px;
}

/* Hlavička karty: badge nahoře, pod ním nadpis a vpravo popisek.
   Nadpis i popisek sedí na společném účaří (baseline) — popisek tak lícuje
   spodkem s nadpisem, ne s horním okrajem. */
.sekce_filtrace_formular_nadpis{
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "cislo cislo"
    "nadpis popis";
  align-items:end;      /* popisek lícuje spodkem s nadpisem */
  column-gap:24px;
  cursor:default;       /* předloha karty nerozbaluje */
  padding:0 0 20px;
  margin:0;             /* mezeru pod linkou dělá padding obsahu, ne margin */
  border-bottom:1px solid rgba(26,115,196,.12);
}

.atr-stud-sekce-cislo{
  grid-area:cislo;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--atr-blue-l);
  color:#fff;
  font-size:14px;
  font-weight:800;
  margin-bottom:14px;
}

.sekce_filtrace_formular_nadpis .nadpis_sekce_filtr{
  grid-area:nadpis;
  font-size:30px;
  font-weight:800;
  color:var(--atr-ink);
  background-image:none;   /* legacy ikona_sekce_filtr_* dávala bg obrázek */
  padding:0;
  margin:0;
  float:none;
  width:auto;
}

.atr-stud-sekce-popis{
  grid-area:popis;
  font-size:14px;
  line-height:20px;
  color:rgba(26,115,196,.9);
  text-align:right;
  max-width:320px;
}

/* Předloha karty nerozbaluje — obsah je vždy vidět, +/- nemá smysl. */
.rozbal_zabal_sekci_filtrace{
  display:none !important;
}

/* Mřížka polí + vzhled labelu a selectu.
   !important drží obsah vždy viditelný — legacy toggle (.toggle()) jinak nastaví
   display:none inline. Musí být grid, ne block, jinak se pole seřadí pod sebe. */
.sekce_filtrace_formular .sekce_filtrace_formular_obsah{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr);
  gap:22px 20px;
  /* styly_studie.css kreslí nad obsahem border-top → spolu s linkou pod
     nadpisem to dělalo dvě čáry nad sebou. Nechává se jen ta pod nadpisem. */
  border-top:0;
  margin:0;
  padding:28px 0 0;   /* odstup od linky */
}

.sekce_filtrace_formular_obsah .form_blok_filtr{
  float:none;
  width:auto;
  margin:0;
  padding:0;
}

/* Custom pole — vzor Dukovany .dg-search-field (label uvnitř, tučná hodnota,
   kařet, vlastní popup). Nativní select zůstává v DOMu skrytý a drží logiku. */

.form_popisek_filtr{
  display:block;
  font-size:14px;
  font-weight:600;
  color:var(--atr-ink);
  margin-bottom:0;
  width:auto;
}

/* Jakmile JS postaví custom pole, skryjeme nativní select. Label NAD polem
   zůstává viditelný — předloha ho má venku, ne uvnitř boxu.
   Select musí zůstat v DOMu — drží hodnotu i onchange, jen ho není vidět. */
.atr-stud-blok-custom .form_select_def{
  display:none !important;
}

.atr-stud-pole{
  position:relative;
  background:#fff;
  border:1px solid rgba(26,115,196,.3);
  border-radius:8px;
  /* Stín i výška dle předlohy (změřeno: 44px, shadow 0 1px 3px rgba(0,0,0,.1)) */
  box-shadow:0 1px 3px rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1);
  transition:border-color .15s var(--atr-ease), box-shadow .15s var(--atr-ease);
}

.atr-stud-pole:hover{
  border-color:var(--atr-blue-l);
}

.atr-stud-pole.je-otevrene{
  border-color:var(--atr-blue-l);
  box-shadow:0 0 0 3px rgba(26,115,196,.12);
}

.atr-stud-pole-val{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  height:42px;              /* +2px rámeček = 44 jako předloha */
  padding:0 12px;
  font-size:14px;
  font-weight:400;          /* předloha má hodnotu normální váhou, ne tučně */
  color:rgba(11,26,43,.8);
  cursor:pointer;
  user-select:none;
}

.atr-stud-pole-hodnota{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.atr-stud-pole-caret{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  color:var(--atr-blue-l);
  opacity:.7;
  transition:transform .2s var(--atr-ease);
}

.atr-stud-pole.je-otevrene .atr-stud-pole-caret{
  transform:rotate(180deg);
}

/* Popup se seznamem */
.atr-stud-pop{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  background:#fff;
  border:1px solid var(--atr-line);
  border-radius:10px;
  box-shadow:0 12px 34px rgba(15,58,110,.16);
  padding:6px;
  z-index:40;
  max-height:280px;
  overflow-y:auto;
  display:none;
  scrollbar-width:thin;
}

.atr-stud-pole.je-otevrene .atr-stud-pop{
  display:block;
}

.atr-stud-pop-item{
  display:block;
  padding:8px 12px;
  border-radius:6px;
  font-size:13px;
  font-weight:500;
  color:var(--atr-ink);
  cursor:pointer;
  transition:background-color .12s, color .12s;
}

.atr-stud-pop-item:hover{
  background:#dbeafe;
  color:var(--atr-blue);
}

.atr-stud-pop-item.je-aktivni{
  background:var(--atr-blue-l);
  color:#fff;
}

/* Zakázané kombinace (Mona je značí disabled na <option>) — informace,
   kterou nesmíme zahodit: kombinace by nic nenašla. */
.atr-stud-pop-item.je-zakazane{
  opacity:.4;
  cursor:not-allowed;
}

.atr-stud-pop-item.je-zakazane:hover{
  background:transparent;
  color:var(--atr-ink);
}

/* --- Sekce 02: Rozměry a plocha (noUiSlider) ---------------------------- */
/* Slider přes celou šířku, ne do mřížky */
#sekce_filtrace_2 .sekce_filtrace_formular_obsah{
  display:block !important;
}

/* Popisek nese zvolený rozsah, hodnota modře (jako v předloze) */
.atr-stud-slider-popis{
  font-size:14px;
  font-weight:600;
  color:var(--atr-ink);
  margin-bottom:14px !important;
}

.atr-stud-slider-popis strong{
  color:var(--atr-blue-l);
  font-weight:700;
}

/* Slider sedí ve světlém panelu */
.atr-stud-slider-box{
  background:#f6f9fd;
  border:1px solid rgba(26,115,196,.12);
  border-radius:12px;
  padding:26px 24px 14px;
}

.obal_posuvnik_home #slider_1{
  height:6px;
  border:0;
  border-radius:999px;
  background:#dbe6f3;
  box-shadow:none;
}

.obal_posuvnik_home #slider_1 .noUi-connect{
  background:var(--atr-blue-l);
}

.obal_posuvnik_home #slider_1 .noUi-handle{
  width:18px;
  height:18px;
  right:-9px;
  top:-6px;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--atr-blue-l);
  box-shadow:0 2px 6px rgba(15,58,110,.25);
  cursor:grab;
}

.obal_posuvnik_home #slider_1 .noUi-handle:active{
  cursor:grabbing;
}

/* noUiSlider kreslí na úchytu dvě čárky — předloha má čistý kroužek */
.obal_posuvnik_home #slider_1 .noUi-handle::before,
.obal_posuvnik_home #slider_1 .noUi-handle::after{
  display:none;
}

/* Krajní popisky (min / max) — malé a nenápadné */
.popisky_posuvnik_filtrace{
  margin-top:14px;
}

.popisky_posuvnik_filtrace .popisek_leva,
.popisky_posuvnik_filtrace .popisek_prava{
  font-size:12px;
  font-weight:400;
  color:var(--atr-muted);
}

.popisky_posuvnik_filtrace .popisek_leva{ float:left; }
.popisky_posuvnik_filtrace .popisek_prava{ float:right; }

/* --- Tlačítka filtru ---------------------------------------------------- */
/* Vlastní třídy: legacy .form_tl_def má bílý text a barevné pozadí dostává
   jen uvnitř .blok_dokumenty_zdarma_nad_patou → tady bylo písmo neviditelné. */

/* Dvojtřída kvůli specificitě vůči styly_studie.css
   (.sekce_filtrace_formular_tlacitka{display:block;padding:20px 40px}) */
.sekce_filtrace_formular_tlacitka.atr-stud-tlacitka{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  margin:32px 0 0;
  padding:0;
  background:none;
}

/* styly_studie.css barví VŠECHNY odkazy v bloku tlačítek na bílo — to je
   důvod, proč bylo písmo "Filtrovat" neviditelné. Vracíme barvu dle role. */
.atr-stud-tlacitka a.atr-stud-tl-primar:link,
.atr-stud-tlacitka a.atr-stud-tl-primar:visited,
.atr-stud-tlacitka a.atr-stud-tl-primar:hover{
  color:#fff;
}

.atr-stud-tlacitka a.atr-stud-tl-sekundar:link,
.atr-stud-tlacitka a.atr-stud-tl-sekundar:visited,
.atr-stud-tlacitka a.atr-stud-tl-sekundar:hover{
  color:var(--atr-blue);
}

.atr-stud-tlacitka .obal_tl_filtrovat,
.atr-stud-tlacitka .obal_tl_zrusit_filtraci{
  float:none;
  margin:0;
}

/* Vzhled i hover řeší sdílený .atr-btn z hp-redesign.css (radius 6, border 2px,
   14/800, outline ↔ plný modrý). Tady zůstává jen výška a padding — per-button
   specifikum, přesně jak to má HP zavedené. */
.atr-stud-tl{
  height:44px;
  padding:0 24px;
  justify-content:center;
}

/* styly_studie.css barví všechny odkazy v bloku tlačítek na bílo — přebít,
   jinak by outline varianta měla bílý text na bílém. */
.atr-stud-tlacitka a.atr-btn:link,
.atr-stud-tlacitka a.atr-btn:visited{
  color:#006CB0 !important;
}

.atr-stud-tlacitka a.atr-btn:hover{
  color:#fff !important;
}

.atr-stud-tlacitka a.atr-btn--fill:link,
.atr-stud-tlacitka a.atr-btn--fill:visited,
.atr-stud-tlacitka a.atr-btn--fill:hover{
  color:#fff !important;
}

/* --- DEV přepínač variant (jen localhost) ------------------------------- */
/* Vykresluje se pouze na lokále — viz podmínka v template/studie-vyhledavani.php.
   Záměrně vypadá „nepatřičně", aby si ho nikdo nespletl s prvkem webu. */

/* Řádky pod sebou, vše zarovnané vlevo — přepínač omezení tak začíná
   přesně pod tlačítkem S0. */
.atr-stud-dev{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin:0 0 20px;
  padding:12px 16px;
  background:#fffbe6;
  border:1px dashed #e0b400;
  border-radius:10px;
}

.atr-stud-dev-radek{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.atr-stud-dev-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#8a6d00;
}

.atr-stud-dev-check{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:600;
  color:#8a6d00;
  cursor:pointer;
}

.atr-stud-dev-check input{
  width:14px;
  height:14px;
  margin:0;
  accent-color:#a03030;
  cursor:pointer;
}

/* Hláška o aktivním omezení — bez ní není poznat, proč přepínač variant nereaguje. */
.atr-stud-dev-stav{
  margin:0;
  padding:10px 12px;
  max-width:760px;
  background:#fff0f0;
  border:1px solid #e0a0a0;
  border-radius:8px;
  font-size:12px;
  line-height:19px;
  color:#8a2020;
}

.atr-stud-dev-stav strong{
  color:#a03030;
}

.atr-stud-dev-stav code{
  padding:1px 5px;
  background:rgba(160,48,48,.1);
  border-radius:4px;
  font-size:11px;
}

.atr-stud-dev-label em{
  font-style:normal;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
  opacity:.75;
}

.atr-stud-dev-tl{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid #e0b400;
  color:#8a6d00 !important;
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}

.atr-stud-dev-tl:hover{
  background:#fff4c2;
}

.atr-stud-dev-aktivni{
  background:#e0b400;
  color:#fff !important;
  border-color:#e0b400;
}

.atr-stud-dev-nacita{
  opacity:.6;
  pointer-events:none;
}

/* Odemknutí zamčeného filtru (smaže cookie) — odlišené, ať se neplete s variantami */
.atr-stud-dev-reset{
  font-family:inherit;
  cursor:pointer;
  background:#fff0f0;
  border-color:#e0a0a0;
  color:#a03030 !important;
}

.atr-stud-dev-reset:hover{
  background:#ffe0e0;
}

/* --- Výpis studií (V2 / V3) --------------------------------------------- */

/* Mezera pod výpisem = Lovable `mb-10` na kartě. Platí i pro V1 — ta je
   `.atr-stud-vypis.atr-stud-v1`, takže mezeru dědí. */
.atr-stud-vypis{
  margin:24px 0 40px;
}

.atr-stud-vypis-karta{
  background:#fff;
  border-radius:16px;
  box-shadow:0 8px 30px rgba(15,58,110,.06);
  padding:48px;
}

.atr-stud-vypis .atr-stud-eyebrow{
  text-align:left;
  margin-bottom:12px;
}

.atr-stud-vypis-h2{
  font-size:48px;
  font-weight:800;
  line-height:1.1;
  color:var(--atr-ink);
  margin:0 0 12px;
  text-align:left;
}

.atr-stud-vypis-perex{
  font-size:18px;
  line-height:29px;
  color:var(--atr-muted);
  margin:0 0 32px;
}

/* Řádek studie: název + 6 parametrů + akce (grid dle předlohy) */
.atr-stud-radek{
  display:grid;
  grid-template-columns:1.2fr repeat(6, 1fr) auto;
  align-items:center;
  gap:16px;
  padding:24px 0;
  border-top:1px solid rgba(26,115,196,.10);
}

.atr-stud-radky > .atr-stud-radek:first-child{
  border-top:0;
}

.atr-stud-radek-nazev h3{
  font-size:24px;
  line-height:32px;
  font-weight:700;
  color:var(--atr-ink);
  margin:0 0 8px;
}

.atr-stud-badge{
  display:inline-block;
  background:#f7c948;
  color:var(--atr-ink);
  font-size:12px;
  font-weight:700;
  padding:4px 12px;
  border-radius:999px;
  line-height:1.4;
}

/* Popisek je drobný a světlý, hodnota nese váhu (Lovable: text-xs foreground/50
   nad text-base font-semibold). */
.atr-stud-param-l{
  display:block;
  font-size:12px;
  font-weight:400;
  color:rgba(11,26,43,.5);
  margin-bottom:4px;
}

.atr-stud-param-v{
  display:block;
  font-size:16px;
  font-weight:600;
  color:var(--atr-ink);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.atr-stud-akce{
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:flex-end;
}

.atr-stud-tl-zobrazit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid var(--atr-blue-l);
  background:#fff;
  color:var(--atr-blue-l) !important;
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  white-space:nowrap;
  box-sizing:border-box;
  box-shadow:0 1px 2px rgba(0,0,0,.05);
  transition:background-color .2s var(--atr-ease), color .2s var(--atr-ease);
}

a.atr-stud-tl-zobrazit:hover{
  background:var(--atr-blue-l);
  color:#fff !important;
}

/* Bez PDF — tlačítko zůstane (zákryt řádků), ale je zjevně neaktivní. */
.atr-stud-tl-zobrazit-ne{
  border-color:rgba(26,115,196,.2);
  color:rgba(26,115,196,.25) !important;
  background:transparent;
  box-shadow:none;
  cursor:default;
}

.atr-stud-foto{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--atr-blue-l);
  color:#fff !important;
  flex:0 0 40px;
  transition:background-color .2s var(--atr-ease);
}

a.atr-stud-foto:hover{
  background:var(--atr-blue);
}

/* Bez fotek — jen naznačená, neaktivní (Lovable). */
.atr-stud-foto-ne{
  background:transparent;
  border:1px solid rgba(26,115,196,.2);
  color:rgba(26,115,196,.25) !important;
}

.atr-stud-celkem{
  margin:28px 0 0;
  font-size:14px;
  font-weight:700;
  color:var(--atr-ink);
}

/* --- V1 — žádná shoda --------------------------------------------------- */

.atr-stud-v1-text{
  font-size:16px;
  line-height:27px;
  color:var(--atr-muted);
  margin:0 0 14px;
}

.atr-stud-v1-text:last-child{
  margin-bottom:0;
}

/* Věta „Zkuste se prosím vrátit k výběru parametrů" je v zadání zvýrazněná —
   je to hlavní pokyn, co má návštěvník udělat dál. */
.atr-stud-v1-zvyrazneno{
  font-weight:700;
  color:var(--atr-ink);
}

/* --- Gating (V3) — zamčené studie --------------------------------------- */
/* Řádky obsahují fake placeholdery, ne reálná data. Blur je jen dekorace. */

.atr-stud-gate{
  position:relative;
}

.atr-stud-gate-radky{
  filter:blur(4px);
  user-select:none;
  pointer-events:none;
}

/* Modrý panel s přerušovaným rámečkem, vycentrovaný přes rozmazané řádky
   (Lovable: bg-[#e8f0fc]/90 + border-dashed border-atrium-blue/30). */
.atr-stud-gate-panel{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  display:flex;
  align-items:center;
  gap:20px;
  background:rgba(232,240,252,.9);
  border:1px solid rgba(26,115,196,.3);
  border-style:dashed;
  border-radius:12px;
  box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);
  padding:32px;
  /* Pevných 640 px na desktopu (Martin 2026-07-16 — auto šířka dle obsahu
     vycházela úzká), na užších displejích ustoupí obsahu. */
  width:640px;
  max-width:calc(100% - 40px);
}

.atr-stud-gate-ikona{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(26,115,196,.1);
  color:var(--atr-blue-l);
  display:flex;
  align-items:center;
  justify-content:center;
}

.atr-stud-gate-text strong{
  display:block;
  font-size:18px;
  font-weight:700;
  color:var(--atr-ink);
  margin-bottom:4px;
}

.atr-stud-gate-text p{
  margin:0;
  font-size:14px;
  line-height:22px;
  color:var(--atr-muted);
}

/* --- S2 — návrat po využitém výběru ------------------------------------- */

.atr-stud-s2{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 20px;
  padding:16px 22px;
  background:#fff;
  border:1px solid var(--atr-line);
  border-left:3px solid var(--atr-blue-l);
  border-radius:12px;
}

.atr-stud-s2-ikona{
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#dbeafe;
  color:var(--atr-blue-l);
  display:flex;
  align-items:center;
  justify-content:center;
}

.atr-stud-s2 strong{
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--atr-ink);
  margin-bottom:2px;
}

.atr-stud-s2 p{
  margin:0;
  font-size:14px;
  line-height:21px;
  color:var(--atr-muted);
}

.atr-stud-s2-odkaz{
  margin-left:auto;
  font-size:13px;
  font-weight:700;
  color:var(--atr-blue-l) !important;
  text-decoration:none;
  white-space:nowrap;
}

/* Filtr po vyfiltrování — celý blok pryč */
.blok_formular_filtrace.atr-stud-filtr-skryto{
  display:none;
}

/* Zamčený filtr — vidět zůstává (ať návštěvník ví, co zadal), ale needitovatelný */
.atr-stud-filtr-zamceny{
  opacity:.65;
  pointer-events:none;
  position:relative;
}

/* --- Lead formulář ------------------------------------------------------ */

/* Spodní odsazení od patičky — formulář je poslední blok stránky (Lovable má
   na sekci py-16). Platí i pro V1, kde nad ním není výpis. */
.atr-stud-form{
  margin:24px 0 64px;
}

/* Bez bílé karty — formulář leží přímo na modrém BG sekce (Lovable). */
.atr-stud-form-obal{
  padding:0;
}

.atr-stud-form-h2{
  font-size:30px;
  font-weight:800;
  color:var(--atr-ink);
  margin:0 0 12px;
}

.atr-stud-form-perex{
  font-size:18px;
  line-height:29px;
  color:var(--atr-muted);
  margin:0 0 40px;
}

.atr-stud-form-eyebrow{
  font-size:14px;
  font-weight:700;
  letter-spacing:2.8px;
  text-transform:uppercase;
  color:var(--atr-blue-l);
  margin:0 0 32px;
}

/* Krátká modrá linka pod eyebrow (Lovable: w-12 h-0.5 bg-atrium-blue mb-8). */
.atr-stud-form-eyebrow::after{
  content:"";
  display:block;
  width:48px;
  height:2px;
  margin-top:8px;
  background:var(--atr-blue-l);
}

.atr-stud-form-pole{
  margin-top:0;
}

.atr-stud-form-radek{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:20px;
}

/* PSČ je úzké pole, ne půlka řádku (Lovable: sm:max-w-[12rem]). */
.atr-stud-form-radek-psc{
  grid-template-columns:192px;
}

.atr-stud-form-blok label{
  display:block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:var(--atr-ink);
  margin-bottom:8px;
}

.atr-stud-form-blok label span{
  color:var(--atr-blue-l);
}

.atr-stud-form-blok input{
  width:100%;
  height:46px;
  padding:12px 16px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  font-size:14px;
  color:var(--atr-ink);
  box-sizing:border-box;
  box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);
  transition:border-color .2s var(--atr-ease),box-shadow .2s var(--atr-ease);
}

.atr-stud-form-blok input::placeholder{
  color:rgba(11,26,43,.4);
}

.atr-stud-form-blok input:focus{
  outline:none;
  border-color:var(--atr-blue-l);
  box-shadow:0 0 0 2px rgba(26,115,196,.2);
}

.atr-stud-form-souhlas{
  margin:24px 0 24px;
}

.atr-stud-form-souhlas label{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
  cursor:pointer;
}

.atr-stud-form-souhlas input{
  width:16px;
  height:16px;
  margin-top:4px;
  flex:0 0 auto;
  accent-color:var(--atr-blue-l);
}

.atr-stud-form-souhlas span{
  font-size:14px;
  line-height:21px;
  color:var(--atr-muted);
}

/* Vizuál z HP (.atr-btn + --fill), tady už jen výška/padding. */
.atr-stud-form-tl{
  height:44px;
  padding:0 24px;
}

/* Chyby validace */
.atr-stud-form-chyby{
  margin:18px 0 0;
  padding:14px 18px;
  background:#fff4f4;
  border:1px solid #f5c2c2;
  border-radius:10px;
}

.atr-stud-form-chyby p{
  margin:0 0 4px;
  font-size:14px;
  color:#b3261e;
}

.atr-stud-form-chyby p:last-child{
  margin-bottom:0;
}

/* Potvrzení po odeslání — formulář se skryje, zůstane jen tohle */
.atr-stud-form-dekujeme{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:28px;
  background:#f2f9f4;
  border:1px solid #cfe8d6;
  border-radius:12px;
}

.atr-stud-form-dekujeme-ikona{
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#dcefe2;
  color:#2e7d47;
  display:flex;
  align-items:center;
  justify-content:center;
}

.atr-stud-form-dekujeme strong{
  display:block;
  font-size:18px;
  font-weight:700;
  color:var(--atr-ink);
  margin-bottom:4px;
}

.atr-stud-form-dekujeme p{
  margin:0;
  font-size:15px;
  color:var(--atr-muted);
}

/* --- V4 — neomezený přístup (odkaz na Portál ATRIUM) -------------------- */

.atr-stud-v4{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:32px 0 0;
  padding:22px 0 0;
  border-top:1px solid var(--atr-line);
}

.atr-stud-v4-text{
  border-left:3px solid var(--atr-blue-l);
  padding-left:16px;
}

.atr-stud-v4-text strong{
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--atr-ink);
  margin-bottom:4px;
}

.atr-stud-v4-text p{
  margin:0;
  font-size:14px;
  line-height:21px;
  color:var(--atr-muted);
  max-width:620px;
}

.atr-stud-v4-odkaz{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--atr-blue-l) !important;
  text-decoration:none;
  white-space:nowrap;
}

.atr-stud-v4-odkaz:hover{
  color:var(--atr-blue) !important;
}

/* Načítání výsledku bez reloadu — jen decentní ztlumení, blok se hned vymění. */
.atr-stud-obsah-nacita{
  opacity:.45;
  transition:opacity .15s var(--atr-ease);
  pointer-events:none;
}

/* --- Loader filtru ------------------------------------------------------
   styly_studie.css ho má jako `position:fixed` plochu přes CELOU obrazovku
   s plnou barvou #d1dced — při každé změně selectu (AJAX ~100 ms) tak přes web
   probliklo šedomodré pole. Vypadalo to jako přenačtení stránky.

   Necháváme ho žít (na pomalém spojení dává zpětnou vazbu), ale jen jako jemný
   závoj nad samotným filtrem. Zpoždění 250 ms znamená, že u běžně rychlé odpovědi
   nestihne naskočit vůbec — jQuery ho do té doby zase schová. */
.obal_ajax{
  position:relative;
}

.blok_formular_filtrace .loader_filtr{
  position:absolute !important;
  inset:0;
  width:auto !important;
  height:auto !important;
  background-color:rgba(238,244,251,.55) !important;
  background-size:32px 32px;
  border-radius:18px;
  z-index:5 !important;
  opacity:0;
  animation:atr-stud-loader-fade .2s var(--atr-ease) .25s forwards;
}

@keyframes atr-stud-loader-fade{
  to{ opacity:1; }
}

/* --- Prázdný stav (S0 / S1) --------------------------------------------- */

.atr-stud-prazdny{
  background:#fff;
  border-radius:16px;
  padding:44px 32px;
  text-align:center;
  margin:0 0 48px;
  box-shadow:0 2px 10px rgba(16,45,80,.06);
}

.atr-stud-prazdny p{
  margin:0;
  font-size:16px;
  line-height:26px;
  color:var(--atr-muted);
  max-width:620px;
  margin:0 auto;
}

/* --- Responzivita ------------------------------------------------------- */

@media (max-width:1240px){
  /* Grid 8 sloupců se do menší šířky nevejde — název přes celou řádku,
     parametry do mřížky pod ním, akce vpravo dole. */
  .atr-stud-vypis-karta{padding:32px 24px}
  .atr-stud-radek{
    grid-template-columns:repeat(3, 1fr);
    gap:14px 16px;
  }
  .atr-stud-radek-nazev{grid-column:1 / -1}
  .atr-stud-akce{grid-column:1 / -1;justify-content:flex-start}
}

@media (max-width:1024px){
  /* Filtr: 4 sloupce se do tabletu nevejdou. */
  .sekce_filtrace_formular{padding:32px 28px}
  .sekce_filtrace_formular .sekce_filtrace_formular_obsah{
    grid-template-columns:repeat(2, 1fr);
  }
  .atr-stud-vypis-h2{font-size:34px}
  .atr-stud-h1{font-size:44px;line-height:48px}
  .atr-stud-ikony{flex-direction:column;gap:24px;max-width:520px}
  .atr-stud-ikona{padding:0}
  .atr-stud-ikona + .atr-stud-ikona{
    border-left:0;
    border-top:1px solid var(--atr-line);
    padding-top:24px;
  }
}

@media (max-width:640px){
  /* Filtr: pole pod sebe, karta s menším paddingem, popisek sekce pod nadpis
     (grid-areas „nadpis popis" vedle sebe se do 390 nevejde). */
  .sekce_filtrace_formular{padding:24px 20px}
  .sekce_filtrace_formular .sekce_filtrace_formular_obsah{
    grid-template-columns:1fr;
    gap:16px;
    padding-top:20px;
  }
  .sekce_filtrace_formular_nadpis{
    grid-template-columns:1fr;
    grid-template-areas:
      "cislo"
      "nadpis"
      "popis";
    align-items:start;
    row-gap:6px;
  }
  /* Pod nadpisem už nemá důvod lícovat doprava. */
  .atr-stud-sekce-popis{text-align:left;max-width:none}
  .atr-stud-form-h2{font-size:24px}
  .atr-stud-form-perex{font-size:16px;line-height:26px;margin-bottom:28px}
  .atr-stud-form-radek{grid-template-columns:1fr;gap:14px}
  .atr-stud-form-radek-psc{grid-template-columns:1fr}
  .atr-stud-form-tl{width:100%;justify-content:center}
  .atr-stud-v4{flex-direction:column;align-items:flex-start;gap:14px}
  /* S2: odkaz s `white-space:nowrap` + `margin-left:auto` přetékal ven z lišty. */
  .atr-stud-s2{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 18px}
  .atr-stud-s2-odkaz{margin-left:0;white-space:normal}
  .atr-stud-vypis-karta{padding:24px 18px}
  .atr-stud-vypis-h2{font-size:26px}
  .atr-stud-vypis-perex{font-size:16px;line-height:26px;margin-bottom:20px}
  .atr-stud-radek{grid-template-columns:repeat(2, 1fr)}
  .atr-stud-radek-nazev h3{font-size:20px}
  /* Zamčené řádky jsou pod blurem jen naznačení, že tam něco je — v plné výšce
     ale zabraly stejně místa jako reálné (3 × 377px kolem 178px panelu = přes
     900px rozmazané výplně). Na mobilu z nich zůstane jen název s badgem. */
  .atr-stud-radek-locked{padding:14px 0;gap:8px}
  .atr-stud-radek-locked .atr-stud-param,
  .atr-stud-radek-locked .atr-stud-akce{display:none}
  .atr-stud-radek-locked .atr-stud-radek-nazev h3{font-size:16px;line-height:22px;margin-bottom:6px}
  /* Aby se panel vešel i když je zamčený řádek jediný. */
  .atr-stud-gate{min-height:210px}
  .atr-stud-gate-panel{padding:16px;gap:10px}
  .atr-stud-gate-text strong{font-size:14px}
  .atr-stud-hlavicka{padding:36px 0 4px}
  .atr-stud-h1{font-size:32px;line-height:38px}
  .atr-stud-perex{font-size:16px;line-height:26px}
  .atr-stud-tlacitka{flex-direction:column;gap:10px}
  .atr-stud-tlacitka .obal_tl_filtrovat,
  .atr-stud-tlacitka .obal_tl_zrusit_filtraci{width:100%}
  .atr-stud-tl-primar,
  .atr-stud-tl-sekundar{width:100%}
  .atr-stud-prazdny{padding:32px 20px}
}
