/* =============================================================================
   shop-nabytok.sk (Domozn) — editoriálny kurátorský dizajn
   Mobile-first, bez frameworkov. Dizajn tokeny = sekcia 11 handoveru.
   ============================================================================= */

:root {
  --paper:#F6F4EF;
  --ink:#1A1D19;
  --muted:#65695F;
  --line:#E4DFD4;
  --pine:#2C4A3A;
  --pine-d:#1F3729;
  --oak:#B5762F;
  --surface:#FFFFFF;
  --tint:#EBF0EB;
  --brick:#9C3B2E;          /* doplnkový akcent pre "nevýhody" (tehlová) */

  --radius:14px;
  --radius-s:12px;
  --radius-l:16px;
  --tien:0 1px 2px rgba(26,29,25,.04), 0 6px 20px rgba(26,29,25,.06);
  --tien-h:0 2px 6px rgba(26,29,25,.08), 0 14px 34px rgba(26,29,25,.10);

  --pismo-nadpis:"Bricolage Grotesque", system-ui, sans-serif;
  --pismo-text:"Inter", system-ui, sans-serif;
  --pismo-mono:"Spline Sans Mono", ui-monospace, monospace;

  --obal:1140px;
}

/* ----------------------------------------------------------------- základ */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0;
  font-family:var(--pismo-text);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-size:16px;
}
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
h1,h2,h3 { font-family:var(--pismo-nadpis); line-height:1.15; margin:0 0 .5em; font-weight:700; letter-spacing:-.01em; }
h1 { font-size:clamp(1.8rem,4vw,2.6rem); }
h2 { font-size:clamp(1.4rem,2.6vw,1.9rem); }
h3 { font-size:1.05rem; }
p { margin:0 0 1rem; }
.lead { color:var(--muted); font-size:1.05rem; }

.obal { max-width:var(--obal); margin:0 auto; padding:0 20px; }
.sekcia { max-width:var(--obal); margin:0 auto; padding:42px 20px; }
.sekcia.stred { text-align:center; }
.sekcia-hlava { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.sekcia-hlava h2 { margin:0; }
.odkaz-viac { color:var(--pine); font-weight:600; white-space:nowrap; }
.odkaz-viac:hover { color:var(--oak); }

/* --------------------------------------------------------------- tlačidlá */
.cta {
  display:inline-flex; align-items:center; gap:.4em;
  font-family:var(--pismo-text); font-weight:600; font-size:.96rem;
  padding:.7em 1.15em; border-radius:999px; border:1px solid transparent;
  cursor:pointer; transition:transform .08s ease, box-shadow .12s ease, background .12s ease;
}
.cta:hover { transform:translateY(-1px); }
.cta-pine { background:var(--pine); color:#fff; }
.cta-pine:hover { background:var(--pine-d); }
.cta-oak { background:var(--oak); color:#fff; }
.cta-oak:hover { filter:brightness(.95); }
.cta-ghost { background:transparent; border-color:var(--line); color:var(--ink); }
.cta-ghost:hover { background:var(--surface); }
.cta-velka { font-size:1.05rem; padding:.85em 1.5em; }
.cta-disabled { background:var(--line); color:var(--muted); cursor:not-allowed; }
.cta-disabled:hover { transform:none; }

/* --------------------------------------------------------------- hlavička */
.hlavicka { position:sticky; top:0; z-index:50; background:rgba(246,244,239,.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.hlavicka-in { max-width:var(--obal); margin:0 auto; padding:12px 20px; display:flex; align-items:center; gap:16px; }
.brand { font-family:var(--pismo-nadpis); font-weight:800; font-size:1.35rem; letter-spacing:-.02em; color:var(--pine); }
.brand-bodka { color:var(--oak); }
.navigacia { margin-left:auto; display:flex; gap:6px; flex-wrap:wrap; }
.navigacia a { padding:.45em .75em; border-radius:999px; color:var(--muted); font-weight:500; font-size:.95rem; }
.navigacia a:hover { color:var(--ink); background:var(--tint); }
.navigacia a.je-aktivny { color:var(--pine); background:var(--tint); font-weight:600; }

.nav-prepinac, .hamburger { display:none; }
.hamburger { width:42px; height:38px; margin-left:auto; border:1px solid var(--line); border-radius:10px; background:var(--surface); cursor:pointer; flex-direction:column; justify-content:center; align-items:center; gap:4px; }
.hamburger span { width:18px; height:2px; background:var(--ink); border-radius:2px; }

/* --------------------------------------------------------------------- hero */
.hero { background:linear-gradient(180deg,var(--tint),var(--paper)); border-bottom:1px solid var(--line); }
.hero-in { max-width:840px; margin:0 auto; padding:64px 20px 56px; text-align:center; }
.hero-kicker { text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:600; color:var(--oak); margin-bottom:14px; }
.hero-claim { font-size:clamp(2rem,5vw,3.2rem); margin-bottom:.4em; }
.hero-popis { color:var(--muted); font-size:1.1rem; max-width:620px; margin:0 auto 1.6em; }
.hero-hladaj { display:flex; gap:10px; max-width:600px; margin:0 auto; }
.hero-hladaj input { flex:1; padding:.9em 1.1em; border:1px solid var(--line); border-radius:999px; font-size:1rem; background:var(--surface); }
.hero-hladaj input:focus { outline:2px solid var(--pine); outline-offset:1px; }
.hero-tip { margin-top:12px; font-size:.85rem; color:var(--muted); }

/* --------------------------------------------------------- mriežka kariet */
.mriezka { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:20px; }
.karta { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--tien); display:flex; flex-direction:column; transition:transform .1s ease, box-shadow .14s ease; }
.karta:hover { transform:translateY(-3px); box-shadow:var(--tien-h); }
.karta-media { aspect-ratio:4/3; background:var(--tint); }
.karta-media img { width:100%; height:100%; object-fit:cover; }
.karta-telo { padding:14px 14px 16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.karta-typ { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--oak); font-weight:600; }
.karta-nazov { font-size:1rem; font-weight:600; font-family:var(--pismo-text); line-height:1.3; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.karta-teaser { font-size:.85rem; color:var(--muted); margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.karta-pata { margin-top:auto; padding-top:8px; display:flex; align-items:center; justify-content:space-between; }
.karta-cena { font-family:var(--pismo-mono); font-weight:500; font-size:1.05rem; color:var(--pine); }
.karta-cta { font-size:.85rem; color:var(--muted); font-weight:600; text-decoration:none; }
.karta:hover .karta-cta { color:var(--oak); }
/* P12.6 – dvojvrstvová karta: foto/názov odkazy + partnerská poznámka pri zásobe */
.karta-foto { display:block; }
.karta-nazov a { color:inherit; text-decoration:none; }
.karta-nazov a:hover { color:var(--oak); }
.karta-partner { font-size:.72rem; color:var(--muted); margin:6px 0 0; padding-top:6px; border-top:1px solid var(--line); }

/* záskok obrázka (IMGURL býva blokovaný / bez prípony) */
.is-empty { position:relative; }
.is-empty img { display:none; }
.is-empty::after {
  content:attr(data-nazov);
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  padding:14px; text-align:center; font-family:var(--pismo-nadpis); font-weight:600;
  font-size:.85rem; color:var(--pine); background:repeating-linear-gradient(135deg,var(--tint),var(--tint) 12px,#E6ECE6 12px,#E6ECE6 24px);
}

/* ----------------------------------------------------------------- dlaždice */
.dlazdice { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; }
.dlazdica { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:20px 18px; min-height:88px; display:flex; align-items:flex-end; font-family:var(--pismo-nadpis); font-weight:600; box-shadow:var(--tien); transition:transform .1s ease, box-shadow .14s; }
.dlazdica:hover { transform:translateY(-2px); box-shadow:var(--tien-h); color:var(--pine); }
.dlazdica-clanok { flex-direction:column; align-items:flex-start; gap:6px; }
.dl-titulok { font-size:1.05rem; }
.dl-popis { font-family:var(--pismo-text); font-weight:400; font-size:.85rem; color:var(--muted); }
.dl-coming { font-family:var(--pismo-text); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--oak); border:1px solid var(--line); padding:.15em .5em; border-radius:999px; }

/* prehľad kategórií */
.dlazdice-kat { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.kat-karta { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:18px; box-shadow:var(--tien); }
.kat-karta-hlava { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.kat-nazov { font-family:var(--pismo-nadpis); font-weight:700; font-size:1.15rem; }
.kat-pocet { font-family:var(--pismo-mono); font-size:.82rem; color:var(--muted); }
.kat-deti { list-style:none; margin:12px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.kat-deti a { font-size:.85rem; color:var(--muted); background:var(--tint); padding:.25em .6em; border-radius:999px; }
.kat-deti a:hover { color:var(--pine); }

/* ------------------------------------------------------------------ katalóg */
.kat-hlava { margin-bottom:22px; }
.filtre { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:14px; margin-bottom:26px; box-shadow:var(--tien); }
.filtre-row { display:grid; grid-template-columns:1.4fr 1fr 1fr .8fr .8fr 1fr auto; gap:10px; align-items:center; }
.filtre input, .filtre select { padding:.6em .7em; border:1px solid var(--line); border-radius:10px; font-size:.92rem; background:var(--paper); font-family:var(--pismo-text); width:100%; }
.filtre input:focus, .filtre select:focus { outline:2px solid var(--pine); outline-offset:1px; }
.pocet-vysledkov { color:var(--muted); margin:-8px 0 18px; }
.prazdne { background:var(--surface); border:1px dashed var(--line); border-radius:var(--radius); padding:40px; text-align:center; color:var(--muted); }

/* stránkovanie */
.strankovanie { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; align-items:center; margin-top:34px; }
.str { min-width:40px; text-align:center; padding:.5em .7em; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); font-weight:600; font-size:.9rem; }
.str:hover { border-color:var(--pine); color:var(--pine); }
.str.je-aktivna { background:var(--pine); color:#fff; border-color:var(--pine); }
.str-dots { color:var(--muted); padding:0 2px; }

/* ----------------------------------------------------------------- omrvinky */
.omrvinky { color:var(--muted); font-size:.88rem; margin-bottom:14px; }
.omrvinky a { color:var(--pine); }
.omrvinky a:hover { color:var(--oak); }
.omrvinky-spodne { margin:30px 0 0; padding-top:18px; border-top:1px solid var(--line); }

/* ------------------------------------------------------------------- detail */
.detail { max-width:860px; margin:0 auto; padding:36px 20px 56px; }
.geo-odsek { font-size:1.18rem; line-height:1.6; color:var(--ink); background:var(--tint); border-left:4px solid var(--pine); padding:18px 20px; border-radius:0 var(--radius) var(--radius) 0; margin:0 0 28px; }
.detail-hlava { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; margin-bottom:34px; }
.detail-media { aspect-ratio:1/1; background:var(--tint); border-radius:var(--radius-l); overflow:hidden; border:1px solid var(--line); }
.detail-media img { width:100%; height:100%; object-fit:cover; }
.detail-info { display:flex; flex-direction:column; gap:8px; }
.detail-typ { font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--oak); font-weight:600; }
.detail-nazov { font-size:clamp(1.5rem,3vw,2.1rem); margin:0; }
.detail-cena { font-family:var(--pismo-mono); font-size:1.8rem; font-weight:500; color:var(--pine); margin:6px 0 14px; }
.detail-mini { font-size:.82rem; color:var(--muted); margin:8px 0 0; }
.detail-aktual { font-size:.78rem; color:var(--muted); margin:6px 0 0; }
.kat-aktual { font-size:.82rem; color:var(--muted); margin:.35em 0 0; }

/* signature bloky */
.detail section { margin:26px 0; }
.detail section h2 { margin-bottom:.5em; }

.blok-verdikt { background:var(--pine); color:#EAF0EA; border-radius:var(--radius-l); padding:24px 26px; }
.blok-verdikt h2 { color:#fff; margin-top:0; }
.blok-verdikt p { margin:0; font-size:1.05rem; }

.blok-vn { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.blok-vn h3 { margin:0 0 .5em; }
.blok-vn ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.blok-vn li { position:relative; padding-left:1.7em; font-size:.95rem; }
.vyhody, .nevyhody { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; }
.vyhody li::before { content:"＋"; position:absolute; left:0; color:var(--pine); font-weight:700; }
.nevyhody li::before { content:"－"; position:absolute; left:0; color:var(--brick); font-weight:700; }

.blok-rada { background:var(--surface); border:1px solid var(--line); border-left:4px solid var(--oak); border-radius:0 var(--radius) var(--radius) 0; padding:20px 22px; }
.blok-rada h2 { color:var(--oak); margin-top:0; }
.blok-rada p { margin:0; }

.pre-koho { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.pre-koho h3 { margin:0 0 .5em; }
.pre-koho ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.pre-koho li { position:relative; padding-left:1.6em; font-size:.95rem; }
.pk-ano, .pk-nie { border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; background:var(--surface); }
.pk-ano { border-top:3px solid var(--pine); }
.pk-nie { border-top:3px solid var(--brick); }
.pk-ano li::before { content:"✓"; position:absolute; left:0; color:var(--pine); font-weight:700; }
.pk-nie li::before { content:"✕"; position:absolute; left:0; color:var(--brick); font-weight:700; }

.blok-popis p { color:#2a2e27; }
.param-tab { width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.param-tab th, .param-tab td { text-align:left; padding:.7em 1em; border-bottom:1px solid var(--line); font-size:.92rem; vertical-align:top; }
.param-tab th { width:38%; color:var(--muted); font-weight:600; font-family:var(--pismo-text); }
.param-tab td { font-family:var(--pismo-mono); font-size:.88rem; }
.param-tab tr:last-child th, .param-tab tr:last-child td { border-bottom:0; }

/* --------------------------------------------------------------------- FAQ */
.faq-item { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:4px 18px; margin-bottom:10px; }
.faq-item summary { cursor:pointer; font-weight:600; padding:14px 0; font-family:var(--pismo-nadpis); list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; float:right; color:var(--oak); font-weight:700; }
.faq-item[open] summary::after { content:"–"; }
.faq-item p { margin:0 0 14px; color:var(--muted); }

/* ----------------------------------------------------------------- pätička */
.pata { background:var(--pine-d); color:#C9D4CB; margin-top:40px; }
.pata-in { max-width:var(--obal); margin:0 auto; padding:48px 20px 28px; display:grid; grid-template-columns:2fr 1fr 1fr; gap:30px; }
.pata .brand { color:#fff; }
.pata-brand p { margin:.6em 0 0; font-size:.9rem; color:#9DB0A0; max-width:34ch; }
.pata-nav { display:flex; flex-direction:column; gap:8px; }
.pata-nav a:hover, .pata-social a:hover { color:#fff; }
.pata-social { display:flex; flex-direction:column; gap:8px; }
.pata-social span { color:#9DB0A0; font-size:.85rem; }
.pata-spodok { border-top:1px solid rgba(255,255,255,.08); text-align:center; padding:16px 20px; font-size:.8rem; color:#8DA08F; }

/* ------------------------------------------------------------- poradca */
.poradca-form { display:flex; gap:10px; margin-bottom:18px; }
.poradca-form input { flex:1; padding:.85em 1.1em; border:1px solid var(--line); border-radius:999px; font-size:1rem; background:var(--surface); font-family:var(--pismo-text); }
.poradca-form input:focus { outline:2px solid var(--pine); outline-offset:1px; }
.pochopene-chips { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:18px; }
.ch-label { color:var(--muted); font-size:.85rem; }
.chip { background:var(--tint); border:1px solid var(--line); border-radius:999px; padding:.3em .8em; font-size:.88rem; }
.chip-k { color:var(--oak); font-weight:600; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; }
.poradca-veta { background:var(--tint); border-left:4px solid var(--oak); border-radius:0 var(--radius) var(--radius) 0; padding:14px 18px; font-size:1.05rem; margin:0 0 22px; }
.poradca-alt-nadpis { font-weight:600; color:var(--muted); margin:6px 0 12px; }
.poradca-tipy { color:var(--muted); }
.poradca-tipy a { color:var(--pine); font-weight:600; }
/* P12.6 – slotové výsledky + nápoveda s chipmi */
.poradca-slot { margin:0 0 34px; }
.poradca-slot-nadpis { font-size:1.15rem; margin:0 0 10px; padding-bottom:6px; border-bottom:1px solid var(--line); }
.poradca-napoveda { background:var(--tint); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; margin-top:8px; }
.poradca-napoveda-text { margin:0 0 12px; color:var(--muted); }
.poradca-chipy { display:flex; flex-wrap:wrap; gap:8px; }
.chip-klik { text-decoration:none; color:var(--pine); font-weight:600; transition:background .12s ease, border-color .12s ease; }
.chip-klik:hover { background:var(--surface); border-color:var(--oak); }
#vysledky.je-nacitanie { opacity:.45; transition:opacity .12s; }
.dlazdice-nastroje { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }

/* ------------------------------------------------------------ dotazník */
.dotaznik-form { max-width:660px; }
.dk-krok { border:0; margin:0 0 20px; padding:0; }
.dk-krok legend { font-family:var(--pismo-nadpis); font-weight:700; font-size:1.25rem; margin-bottom:14px; padding:0; }
.dk-cislo { display:inline-block; background:var(--oak); color:#fff; font-family:var(--pismo-mono); font-size:.78rem; padding:.12em .55em; border-radius:999px; margin-right:8px; vertical-align:middle; }
.dk-moznosti { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; }
.dk-moznost { display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:var(--radius); padding:.8em 1em; background:var(--surface); cursor:pointer; transition:border-color .1s, background .1s; }
.dk-moznost:hover { border-color:var(--pine); }
.dk-moznost input { accent-color:var(--pine); width:18px; height:18px; }
.dk-moznost:has(input:checked) { border-color:var(--pine); background:var(--tint); }
.dk-akcie { display:flex; gap:10px; align-items:center; margin-top:10px; }
.dk-treba { outline:2px dashed var(--brick); outline-offset:8px; border-radius:var(--radius); }
.dk-prev, .dk-next { display:none; }
.dotaznik-form.je-krokovy .dk-prev { display:inline-flex; }
.dotaznik-form.je-krokovy .dk-next { display:inline-flex; }
.dotaznik-form.je-krokovy .dk-submit { display:none; }
.dotaznik-form.je-krokovy .dk-krok { display:none; }
.dotaznik-form.je-krokovy .dk-krok.je-aktivny { display:block; }
.dotaznik-znova { margin-top:24px; }

/* ------------------------------------------------------------- galéria */
.galeria-filtre { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.gf { padding:.45em .95em; border:1px solid var(--line); border-radius:999px; background:var(--surface); font-size:.9rem; font-weight:500; color:var(--muted); }
.gf:hover { color:var(--pine); border-color:var(--pine); }
.gf.je-aktivny { background:var(--pine); color:#fff; border-color:var(--pine); }
.masonry { columns:4 240px; column-gap:14px; }
.m-dlazdica { display:block; width:100%; margin:0 0 14px; break-inside:avoid; position:relative; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:var(--surface); box-shadow:var(--tien); }
.m-dlazdica:hover { box-shadow:var(--tien-h); }
.m-media { background:var(--tint); }
.m-media img { width:100%; height:auto; display:block; }
.m-media.is-empty { min-height:210px; }
.m-popis { position:absolute; left:0; right:0; bottom:0; padding:22px 12px 10px; color:#fff; display:flex; flex-direction:column; gap:2px; background:linear-gradient(transparent, rgba(26,29,25,.78)); opacity:0; transition:opacity .15s; }
.m-dlazdica:hover .m-popis, .m-dlazdica:focus .m-popis { opacity:1; }
.m-typ { font-size:.68rem; text-transform:uppercase; letter-spacing:.07em; color:#E8D9C2; }
.m-nazov { font-size:.85rem; font-weight:600; line-height:1.25; }

/* -------------------------------------------------------------- responzíva */
@media (max-width:860px) {
  .detail-hlava { grid-template-columns:1fr; }
  .filtre-row { grid-template-columns:1fr 1fr; }
  .pata-in { grid-template-columns:1fr 1fr; }
}
@media (max-width:680px) {
  .hamburger { display:flex; }
  .navigacia {
    position:fixed; inset:62px 0 auto 0; margin:0; flex-direction:column; gap:0;
    background:var(--paper); border-bottom:1px solid var(--line); padding:8px 20px 16px;
    transform:translateY(-130%); transition:transform .2s ease; box-shadow:var(--tien);
  }
  .nav-prepinac:checked ~ .navigacia { transform:translateY(0); }
  .navigacia a { padding:.7em 0; border-radius:0; border-bottom:1px solid var(--line); }
  .blok-vn, .pre-koho { grid-template-columns:1fr; }
  .filtre-row { grid-template-columns:1fr 1fr; }
  .hero-hladaj { flex-direction:column; }
  .hero-hladaj .cta { justify-content:center; }
  .pata-in { grid-template-columns:1fr; }
}
@media (max-width:420px) {
  .filtre-row { grid-template-columns:1fr; }
}

/* ============================================================ prihlásenie */
.login-body { min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg,var(--tint),var(--paper)); padding:24px; }
.login-karta { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l); box-shadow:var(--tien-h); padding:34px 30px; width:100%; max-width:380px; text-align:center; }
.login-brand { font-family:var(--pismo-nadpis); font-weight:800; font-size:1.4rem; color:var(--pine); }
.login-nadpis { font-size:1.1rem; color:var(--muted); font-weight:600; margin:.2em 0 1.4em; }
.login-form { display:flex; flex-direction:column; gap:14px; text-align:left; }
.login-form label { display:flex; flex-direction:column; gap:5px; font-size:.85rem; color:var(--muted); font-weight:600; }
.login-form input { padding:.7em .9em; border:1px solid var(--line); border-radius:10px; font-size:1rem; font-family:var(--pismo-text); background:var(--paper); }
.login-form input:focus { outline:2px solid var(--pine); outline-offset:1px; }
.login-form .cta { justify-content:center; margin-top:6px; }
.login-chyba { background:#FBEAE7; color:var(--brick); border:1px solid #F0CCC5; border-radius:10px; padding:.7em 1em; font-size:.9rem; margin:0 0 16px; }
.login-spat { margin:18px 0 0; font-size:.85rem; }
.login-spat a { color:var(--muted); }

/* ============================================================== admin rám */
.admin-body { margin:0; background:var(--paper); }
.admin-menu-prepinac { display:none; }
.admin-sidebar { position:fixed; top:0; left:0; bottom:0; width:230px; background:var(--pine-d); color:#C9D4CB; display:flex; flex-direction:column; padding:18px 0; overflow-y:auto; }
.admin-brand { font-family:var(--pismo-nadpis); font-weight:800; font-size:1.2rem; color:#fff; padding:6px 22px 18px; }
.admin-menu { display:flex; flex-direction:column; }
.admin-menu a { color:#C9D4CB; padding:.7em 22px; font-size:.92rem; font-weight:500; border-left:3px solid transparent; }
.admin-menu a:hover { background:rgba(255,255,255,.06); color:#fff; }
.admin-menu a.je-aktivny { background:rgba(255,255,255,.10); color:#fff; border-left-color:var(--oak); }
.admin-odhlasit { margin-top:14px; border-top:1px solid rgba(255,255,255,.08); color:#9DB0A0 !important; }
.admin-hlavny { margin-left:230px; min-height:100vh; display:flex; flex-direction:column; }
.admin-top { display:flex; align-items:center; gap:14px; background:var(--surface); border-bottom:1px solid var(--line); padding:12px 24px; position:sticky; top:0; z-index:10; }
.admin-top-titulok { font-weight:600; color:var(--ink); }
.admin-top-user { margin-left:auto; display:flex; align-items:center; gap:14px; font-size:.9rem; }
.admin-meno { color:var(--muted); }
.admin-top-odhlasit { color:var(--pine); font-weight:600; }
.admin-hamburger { display:none; width:40px; height:36px; border:1px solid var(--line); border-radius:8px; background:var(--surface); cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.admin-hamburger span { width:18px; height:2px; background:var(--ink); }
.admin-obsah { padding:28px 24px; max-width:1000px; }
.admin-hlava h1 { margin:0 0 .2em; }
.admin-lead { color:var(--muted); margin:0; }
.admin-staty { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; margin:22px 0; }
.admin-stat { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:18px; box-shadow:var(--tien); }
.admin-stat-cislo { display:block; font-family:var(--pismo-mono); font-size:1.9rem; font-weight:500; color:var(--pine); }
.admin-stat-popis { color:var(--muted); font-size:.85rem; }
.admin-panel { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:20px 22px; margin-top:18px; }
.admin-panel h2 { margin:0 0 .4em; font-size:1.1rem; }
.admin-panel-prazdny { border-style:dashed; color:var(--muted); }
@media (max-width:760px) {
  .admin-sidebar { transform:translateX(-100%); transition:transform .2s ease; z-index:30; box-shadow:var(--tien-h); }
  .admin-menu-prepinac:checked ~ .admin-sidebar { transform:translateX(0); }
  .admin-hlavny { margin-left:0; }
  .admin-hamburger { display:flex; }
}

/* ============================================================ logo / brand */
.brand { display:inline-flex; align-items:center; gap:8px; }
.brand-logo { height:40px; max-height:40px; width:auto; display:block; }
.brand-text { display:none; }                                  /* fallback len keď logo zlyhá */
.brand.bez-loga .brand-text { display:inline-flex; align-items:baseline; font-family:var(--pismo-nadpis); font-weight:800; font-size:1.35rem; letter-spacing:-.02em; color:var(--pine); }

/* pätička: logo v jemnom svetlom chipe (pozadie pätičky je tmavé pine) */
.pata-logo { display:inline-flex; align-items:center; background:var(--paper); border-radius:12px; padding:10px 14px; box-shadow:0 2px 12px rgba(0,0,0,.20); }
.pata-logo .brand-logo { height:32px; max-height:32px; }
.pata-logo .brand-text { display:none; }
.pata-logo.bez-loga { background:transparent; padding:0; box-shadow:none; }
.pata-logo.bez-loga .brand-text { display:inline; font-family:var(--pismo-nadpis); font-weight:800; font-size:1.3rem; color:#fff; }

/* admin top-bar logo */
.admin-top-brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.admin-logo { height:34px; max-height:34px; width:auto; display:block; }
.admin-top-brand .brand-text { display:none; }
.admin-top-brand.bez-loga .brand-text { display:inline; font-family:var(--pismo-nadpis); font-weight:800; color:var(--pine); }

/* ===================================================== jemné pozadie webu */
body {
  background-color:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='2' cy='2' r='1.4' fill='%232C4A3A' fill-opacity='0.045'/%3E%3C/svg%3E");
}
.sekcia + .sekcia { border-top:1px solid rgba(228,223,212,.6); }
/* decentné striedanie: každá druhá sekcia jemný tint nádych */
main > .sekcia:nth-of-type(even) { background:linear-gradient(180deg, rgba(235,240,235,.5), transparent 60%); }

/* ============================================================ sekčné kickery */
.sekcia-titulky { display:flex; flex-direction:column; gap:2px; }
.sekcia-kicker { text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:700; color:var(--oak); margin:0; }
.sekcia-hlava h2 { margin:0; }

/* ================================================================= hero+ */
.hero { position:relative; overflow:hidden; background:linear-gradient(180deg, var(--tint) 0%, var(--paper) 72%); border-bottom:1px solid var(--line); }
.hero::before { content:""; position:absolute; inset:0; background:radial-gradient(70% 90% at 82% -20%, rgba(44,74,58,.10), transparent 60%); pointer-events:none; }
.hero-vizual { position:absolute; right:-6%; bottom:-34%; width:min(560px,70vw); aspect-ratio:1/1; border-radius:50%;
  background:radial-gradient(circle at 32% 30%, rgba(181,118,47,.16), rgba(44,74,58,.12) 55%, transparent 70%);
  filter:blur(2px); pointer-events:none; z-index:0; }
.hero-in { position:relative; z-index:1; }
.hero-kicker::after { content:""; display:block; width:38px; height:3px; background:var(--oak); border-radius:3px; margin:8px auto 0; }

/* ============================================================ karty polish */
.karta { border-radius:var(--radius-l); }
.karta:hover { transform:translateY(-4px); box-shadow:var(--tien-h); }

@media (max-width:680px) {
  .brand-logo { height:36px; max-height:36px; }
  .pata-logo .brand-logo { height:30px; max-height:30px; }
}

/* ============================================================ ADMIN CRUD (P7) */
.admin-flash { padding:12px 16px; border-radius:var(--radius-s); margin-bottom:18px; font-weight:500; border:1px solid; }
.admin-flash-ok  { background:#EAF3EC; color:#1F3729; border-color:#BFD8C5; }
.admin-flash-err { background:#F8E9E6; color:#7A2A20; border-color:#E2B7AE; }

.admin-hlava-akcia { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.admin-pocet { font-family:var(--pismo-mono); font-size:.95rem; color:var(--muted); font-weight:500; }
.admin-skratky { display:flex; flex-wrap:wrap; gap:10px; }
.admin-staty a.admin-stat { text-decoration:none; transition:transform .12s ease, box-shadow .12s ease; }
.admin-staty a.admin-stat:hover { transform:translateY(-2px); box-shadow:var(--tien-h); }

/* filtre */
.admin-filtre { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:18px 0; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:14px 16px; }
.admin-filtre input[type=search], .admin-filtre select { padding:.5em .7em; border:1px solid var(--line); border-radius:10px; font:inherit; background:var(--paper); }
.admin-filtre input[type=search] { min-width:220px; flex:1; }
.admin-zrus { color:var(--muted); font-size:.9rem; }

/* bulk */
.admin-bulk { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:14px 0; }
.admin-bulk select { padding:.45em .6em; border:1px solid var(--line); border-radius:10px; font:inherit; background:var(--surface); }
.admin-mini { font-size:.82rem; color:var(--muted); }
.admin-mini-warn { color:var(--brick); }

/* tabuľka */
.admin-tabulka-obal { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.admin-tabulka { width:100%; border-collapse:collapse; font-size:.9rem; }
.admin-tabulka th, .admin-tabulka td { padding:9px 12px; text-align:left; border-bottom:1px solid var(--line); vertical-align:middle; }
.admin-tabulka thead th { background:var(--tint); font-family:var(--pismo-nadpis); font-size:.82rem; position:sticky; top:0; }
.admin-tabulka tbody tr:hover { background:#FBFAF7; }
.admin-tabulka tr.je-vypnuty { opacity:.55; }
.admin-tabulka .st-check { width:34px; }
.admin-tabulka .st-foto  { width:54px; }
.admin-tabulka .st-cena  { font-family:var(--pismo-mono); white-space:nowrap; }
.admin-tabulka .st-nazov a { color:var(--pine); font-weight:600; }
.admin-tabulka .st-nazov a:hover { color:var(--oak); }
.admin-tabulka .st-akcie { white-space:nowrap; }
.admin-tabulka-uzka { max-width:520px; }
.admin-thumb { width:42px; height:42px; border-radius:8px; overflow:hidden; background:var(--tint); }
.admin-thumb img { width:100%; height:100%; object-fit:cover; }
.admin-thumb.is-empty::after { content:""; }

.inline-akcia { display:inline; margin:0; }
.odznak { border:1px solid transparent; border-radius:999px; padding:.2em .7em; font-size:.78rem; font-weight:600; cursor:pointer; font-family:inherit; }
.odznak-ok  { background:#EAF3EC; color:#1F3729; border-color:#BFD8C5; }
.odznak-off { background:#F1EFEA; color:var(--muted); border-color:var(--line); }
.odznak-top { background:#F6ECDD; color:#7A4E15; border-color:#E4C79B; }
.odznak-pln { background:transparent; color:var(--muted); border-color:var(--line); }
.admin-link { background:none; border:none; color:var(--pine); font:inherit; font-size:.85rem; font-weight:600; cursor:pointer; padding:0; margin-right:8px; }
.admin-link:hover { color:var(--oak); }
.admin-link-zmaz { color:var(--brick); }

/* stránkovanie */
.admin-strankovanie { display:flex; flex-wrap:wrap; gap:6px; margin:18px 0; }
.admin-strankovanie a { padding:.35em .7em; border:1px solid var(--line); border-radius:8px; background:var(--surface); font-size:.85rem; }
.admin-strankovanie a.je-aktivny { background:var(--pine); color:#fff; border-color:var(--pine); }

/* formuláre */
.admin-form { margin-top:18px; }
.admin-form-mriezka { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.admin-pole { display:flex; flex-direction:column; gap:6px; }
.admin-pole-siroke { grid-column:1 / -1; }
.admin-pole > span { font-weight:600; font-size:.9rem; }
.admin-pole input, .admin-pole select, .admin-pole textarea, .admin-panel input, .admin-panel select {
  padding:.6em .75em; border:1px solid var(--line); border-radius:10px; font:inherit; background:var(--surface); width:100%; }
.admin-pole small { color:var(--muted); font-size:.8rem; }
.admin-mono { font-family:var(--pismo-mono); font-size:.85rem; }
.admin-fieldset { border:1px solid var(--line); border-radius:var(--radius); padding:16px; margin:18px 0; }
.admin-fieldset legend { font-family:var(--pismo-nadpis); font-weight:700; padding:0 8px; }
.param-row, .crit-row, .faq-row { display:flex; gap:8px; margin-bottom:8px; align-items:flex-start; }
.param-row input, .crit-row input, .faq-row input, .faq-row textarea { flex:1; padding:.5em .65em; border:1px solid var(--line); border-radius:8px; font:inherit; }
.cta-mini { padding:.4em .9em; font-size:.85rem; }
.admin-prepinace { display:flex; flex-wrap:wrap; gap:18px; margin:18px 0; }
.admin-check { display:flex; align-items:center; gap:8px; font-weight:500; }
.admin-check input { width:auto; }
.admin-form-pata { display:flex; gap:12px; align-items:center; margin-top:18px; }
.admin-zmaz-box { margin-top:8px; padding:10px; background:#F8E9E6; border:1px solid #E2B7AE; border-radius:10px; max-width:340px; }
.admin-zmaz-box select { margin:6px 0; }
.je-skryty { display:none; }

/* import progres */
.import-progres { margin:16px 0; }
.import-bar { height:14px; background:var(--tint); border-radius:999px; overflow:hidden; }
.import-bar-fill { height:100%; width:0; background:var(--pine); transition:width .25s ease; }
.import-report { margin-top:14px; padding:12px 16px; border-radius:var(--radius-s); border:1px solid; }
.import-ok  { background:#EAF3EC; color:#1F3729; border-color:#BFD8C5; }
.import-err { background:#F8E9E6; color:#7A2A20; border-color:#E2B7AE; }

/* CMS / sprievodca verejné */
.stranka-cms .cms-obsah { max-width:760px; }
.stranka-cms .cms-obsah h2 { margin-top:1.4em; }
.sprievodca .kriterium { margin-bottom:1.2em; }
.sprievodca-faq .faq-polozka { border-bottom:1px solid var(--line); padding:.6em 0; }
.sprievodca-faq summary { font-weight:600; cursor:pointer; }
.sprievodca-cta { margin-top:1.6em; }

@media (max-width:760px) {
  .admin-form-mriezka { grid-template-columns:1fr; }
}

/* ============================================================ ANALYTIKA (P8) */
.an-obdobie { display:flex; gap:6px; }
.an-obdobie a { padding:.4em .8em; border:1px solid var(--line); border-radius:8px; background:var(--surface); font-size:.85rem; }
.an-obdobie a.je-aktivny { background:var(--pine); color:#fff; border-color:var(--pine); }
.an-dnes { display:block; font-size:.75rem; color:var(--oak); margin-top:2px; }

/* stĺpcový graf */
.an-graf { display:flex; align-items:flex-end; gap:2px; height:180px; padding-top:8px; overflow-x:auto; }
.an-stlpec { flex:1 1 0; min-width:8px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; }
.an-bar { width:70%; min-height:0; background:linear-gradient(180deg,var(--pine),var(--pine-d)); border-radius:3px 3px 0 0; transition:height .2s ease; }
.an-stlpec:hover .an-bar { background:var(--oak); }
.an-os { font-size:.62rem; color:var(--muted); margin-top:4px; white-space:nowrap; }
.an-os-skryta { visibility:hidden; }

/* mriežka tabuliek */
.an-mriezka { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px; }
.an-mriezka-2 { grid-template-columns:repeat(2,1fr); margin-top:12px; }
.an-tab h2 { font-size:1.05rem; margin:0 0 .6em; }
.an-tab-money { border-color:var(--oak); box-shadow:0 0 0 1px rgba(181,118,47,.25), var(--tien); }
.an-money-znak { color:var(--oak); }
.an-zoznam { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; }
.an-zoznam li { display:grid; grid-template-columns:1fr 70px auto; align-items:center; gap:8px; font-size:.85rem; }
.an-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); }
.an-bar-mini { background:var(--tint); border-radius:999px; height:8px; overflow:hidden; }
.an-bar-mini span { display:block; height:100%; background:var(--pine); border-radius:999px; }
.an-tab-money .an-bar-mini span { background:var(--oak); }
.an-cislo { font-family:var(--pismo-mono); font-weight:500; text-align:right; }
.an-geo { margin-top:18px; }

@media (max-width:900px) { .an-mriezka { grid-template-columns:1fr; } .an-mriezka-2 { grid-template-columns:1fr; } }

/* ============================================================ HOMEPAGE (P11) */
/* nav CTA + mobil */
.nav-cta { background:var(--oak); color:#fff !important; border-radius:999px; padding:.5em 1.15em !important; font-weight:600; }
.nav-cta:hover { background:#9d6526; }

/* --- HERO Variant A (centrovaný) --- */
.hp-hero { position:relative; overflow:hidden; background:var(--paper); padding:72px 20px 84px; text-align:center; border-bottom:1px solid var(--line); }
.hp-hero-vizual { position:absolute; right:-8%; top:-30%; width:min(560px,60vw); aspect-ratio:1/1; border-radius:50%;
  background:radial-gradient(circle at 35% 35%, rgba(181,118,47,.14), rgba(44,74,58,.10) 55%, transparent 72%); filter:blur(2px); pointer-events:none; z-index:0; }
.hp-hero-in { position:relative; z-index:1; max-width:860px; margin:0 auto; }
.hp-kicker { font-family:var(--pismo-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--oak); margin:0 0 16px; }
.hp-h1 { font-family:var(--pismo-nadpis); font-weight:800; font-size:clamp(2.1rem,5.4vw,3.5rem); line-height:1.04; letter-spacing:-.02em; color:var(--ink); margin:0 0 18px; }
.hp-sub { font-family:var(--pismo-text); font-size:18px; line-height:1.6; color:var(--muted); max-width:680px; margin:0 auto 32px; }

.hp-search { display:flex; gap:12px; max-width:720px; margin:0 auto; }
.hp-search-pole { flex:1; display:flex; align-items:center; gap:10px; height:76px; background:#fff; border:2px solid var(--pine-d); border-radius:16px; box-shadow:0 16px 38px rgba(31,55,41,.15); padding:0 20px; }
.hp-search-pole input { flex:1; border:0; outline:0; background:transparent; font:inherit; font-size:1.05rem; height:100%; color:var(--ink); }
.hp-search-btn { flex:none; background:var(--oak); color:#fff; font-family:var(--pismo-text); font-weight:600; font-size:19px; padding:0 40px; border:0; border-radius:16px; box-shadow:0 12px 26px rgba(181,118,47,.3); cursor:pointer; transition:background .12s ease; }
.hp-search-btn:hover { background:#9d6526; }

.hp-chips { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; margin-top:18px; }
.hp-chips-label { font-size:.85rem; color:var(--muted); }
.hp-chip { border-radius:999px; border:1px solid var(--line); padding:9px 16px; font-size:.88rem; background:#fff; color:var(--ink); transition:border-color .12s, background .12s; }
.hp-chip:hover { border-color:var(--pine); background:var(--tint); }

/* --- rozcestník (3 karty) --- */
.hp-rozcestnik { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hp-rc { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; display:flex; flex-direction:column; gap:8px; box-shadow:var(--tien); transition:transform .1s ease, box-shadow .14s; }
a.hp-rc:hover, .hp-clanok:hover { transform:translateY(-3px); box-shadow:var(--tien-h); }
.hp-rc-kicker { font-family:var(--pismo-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--oak); margin:0; }
.hp-rc h3 { margin:0; font-size:1.2rem; }
.hp-rc-popis { color:var(--muted); font-size:.92rem; margin:0; }
.hp-rc-cta { margin-top:auto; padding-top:6px; color:var(--pine); font-weight:600; font-size:.92rem; }
.hp-rc:hover .hp-rc-cta { color:var(--oak); }

/* --- TOP výber mriežka --- */
.hp-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.hp-karta { display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--tien); transition:transform .1s ease, box-shadow .14s; }
.hp-karta:hover { transform:translateY(-4px); box-shadow:var(--tien-h); }
.hp-foto { aspect-ratio:4/3; background:var(--tint); }
.hp-foto img { width:100%; height:100%; object-fit:cover; }
.hp-karta-telo { padding:14px 15px 16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.hp-karta-kicker { font-family:var(--pismo-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--oak); }
.hp-karta-nazov { margin:0; font-family:var(--pismo-text); font-weight:600; font-size:1rem; line-height:1.3; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hp-karta-popis { margin:0; color:var(--muted); font-size:.85rem; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hp-karta-cena { margin-top:auto; padding-top:6px; font-family:var(--pismo-mono); font-weight:500; font-size:1.05rem; color:var(--pine); }

/* --- dlaždice miestností --- */
.hp-miestnosti { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; }
.hp-tile { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:20px 18px; border-radius:var(--radius); background:linear-gradient(135deg,var(--pine),var(--pine-d)); color:#fff; font-family:var(--pismo-nadpis); font-weight:700; font-size:1.05rem; box-shadow:var(--tien); transition:transform .1s ease, box-shadow .14s; }
.hp-tile:hover { transform:translateY(-3px); box-shadow:var(--tien-h); }
.hp-tile-sip { color:var(--oak); font-size:1.2rem; }

/* --- články --- */
.hp-clanky { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hp-clanok { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:22px; display:flex; flex-direction:column; gap:8px; box-shadow:var(--tien); transition:transform .1s ease, box-shadow .14s; }
.hp-clanok h3 { margin:0; font-size:1.1rem; }
.hp-prazdny-blok { border:1px dashed var(--line); border-radius:var(--radius); padding:28px; text-align:center; color:var(--muted); background:var(--surface); }

/* --- FAQ --- */
.hp-faq-sub { color:var(--muted); margin:.3em 0 0; font-size:1rem; }
.faq-item { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-s); padding:4px 18px; margin-bottom:10px; }
.faq-item summary { cursor:pointer; font-weight:600; padding:14px 0; list-style:none; position:relative; padding-right:28px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; position:absolute; right:2px; top:12px; color:var(--oak); font-size:1.3rem; line-height:1; }
.faq-item[open] summary::after { content:"–"; }
.faq-item p { margin:0 0 14px; color:var(--muted); line-height:1.6; }

/* --- footer stĺpce --- */
.pata-in { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:28px; align-items:start; }
.pata-stlpce { display:contents; }
.pata-stlpec h4 { font-family:var(--pismo-nadpis); font-size:.95rem; margin:0 0 12px; color:#fff; }
.pata-stlpec a { display:block; color:#C9D4CB; font-size:.9rem; padding:4px 0; }
.pata-stlpec a:hover { color:#fff; }

/* --- responsive --- */
@media (max-width:1000px) {
  .hp-grid { grid-template-columns:repeat(2,1fr); }
  .hp-rozcestnik, .hp-clanky { grid-template-columns:1fr; }
  .pata-in { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .hp-hero { padding:48px 18px 60px; }
  .hp-search { flex-direction:column; }
  .hp-search-btn { padding:16px; }
  .hp-grid { grid-template-columns:1fr; }
  .pata-in { grid-template-columns:1fr; }
}
