:root,[data-theme="light"]{--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--color-bg:#f7f6f2;--color-surface:#f9f8f5;--color-surface-2:#fbfbf9;--color-surface-offset:#edeae5;--color-border:#d4d1ca;--color-text:#28251d;--color-text-muted:#7a7974;--color-primary:#01696f;--color-primary-hover:#0c4e54;--shadow-sm:0 1px 2px rgba(0,0,0,.06);--shadow-md:0 10px 30px rgba(0,0,0,.08);--font-body:'Satoshi',sans-serif;--font-display:'Boska',serif}
[data-theme="dark"]{--color-bg:#171614;--color-surface:#1c1b19;--color-surface-2:#201f1d;--color-surface-offset:#22211f;--color-border:#393836;--color-text:#cdccca;--color-text-muted:#97948f;--color-primary:#4f98a3;--color-primary-hover:#227f8b;--shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 10px 30px rgba(0,0,0,.35)}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;background:var(--color-bg);color:var(--color-text)}img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.narrow{width:min(760px,calc(100% - 2rem));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:var(--color-primary);color:#fff;padding:.75rem 1rem;border-radius:var(--radius-md)}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0}.brand{display:flex;align-items:center;gap:var(--space-4)}.brand strong{display:block}.brand span{display:block;color:var(--color-text-muted);font-size:var(--text-sm)}.theme-toggle{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;min-width:44px;min-height:44px}.hero{padding:clamp(3rem,8vw,7rem) 0}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-8);align-items:start}.hero-small{padding-top:3rem;padding-bottom:2rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:var(--text-xs);color:var(--color-primary);font-weight:700}.hero h1{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.05;margin:.5rem 0 1rem}.lead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:42rem}.hero-card,.results-card,.side-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.hero-card,.side-card{padding:var(--space-6)}.search-panel{margin-top:var(--space-6);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.search-tabs{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.search-tabs label{display:flex;gap:.5rem;align-items:center;font-size:var(--text-sm)}.search-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-3)}.search-row input{min-height:52px;padding:0 1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text)}.search-row button,.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:700}.search-row button:hover,.button-link:hover{background:var(--color-primary-hover)}.section{padding:var(--space-12) 0}.surface{background:var(--color-surface-offset)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}.results-layout{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);align-items:start}.link-grid{display:flex;flex-wrap:wrap;gap:.75rem}.chip{padding:.7rem 1rem;border:1px solid var(--color-border);background:var(--color-surface-2);border-radius:999px;font-size:var(--text-sm)}.results-card{padding:var(--space-6)}.results-head{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;margin-bottom:var(--space-4)}.badge{display:inline-flex;padding:.35rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-size:var(--text-sm);font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:1rem;border-bottom:1px solid var(--color-border);vertical-align:top}th{font-size:var(--text-sm);color:var(--color-text-muted)}.sidebar-stack{display:grid;gap:var(--space-6)}.empty-state{padding:var(--space-8);background:var(--color-surface-2);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.site-footer{padding:var(--space-12) 0;border-top:1px solid var(--color-border)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}.prose{max-width:70ch}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:900px){.hero-grid,.two-col,.results-layout,.footer-grid{grid-template-columns:1fr}.search-row{grid-template-columns:1fr}.brand img{width:140px;height:auto}} 

/* ===== Kompaktnější layout – overrides ===== */

/* užší container a menší mezery */
.container {
  width: min(1040px, calc(100% - 1.5rem));
}

/* hero menší na výšku */
.hero {
  padding: 2.5rem 0 2rem;
}
.hero-small {
  padding-top: 2rem;
  padding-bottom: 1.5rem;
}

/* méně „vzduchu“ mezi sekcemi */
.section {
  padding: 2.5rem 0;
}
.surface {
  padding: 2rem 0;
}

/* menší vnitřní padding karet/formulářů */
.hero-card,
.search-panel,
.results-card,
.side-card {
  padding: 1.25rem 1.5rem;
}

/* utáhnout mezery ve dvousloupcovém layoutu */
.two-col,
.results-layout,
.footer-grid {
  gap: 1.75rem;
}

/* kompaktnější hero grid na desktopu */
.hero-grid {
  gap: 2rem;
}

/* menší „chips“ a link-grid */
.link-grid {
  gap: 0.5rem;
}
.chip {
  padding: 0.45rem 0.9rem;
  font-size: var(--text-sm);
}

/* tabulka výsledků – trochu menší řádky */
th,
td {
  padding: 0.6rem 0.75rem;
}

/* textové bloky o PSČ – ne tak vysoké */
.psc-info-block {
  margin-bottom: 1.75rem;
}
.psc-info-block h2 {
  margin-bottom: 0.4rem;
}
.psc-info-block p {
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
}

/* hero text o chlup menší, ať se celý „fold“ vejde na menších noteboocích */
.hero h1 {
  font-size: clamp(1.8rem, 1.3rem + 1.8vw, 2.4rem);
}
.lead {
  font-size: var(--text-base);
}

/* footer – menší padding */
.site-footer {
  padding: 2.5rem 0;
}