 

 
@font-face {
  font-family:'Bricolage Grotesque'; font-style:normal; font-weight:600 800;
  font-display:swap; src:url('../fonts/bricolage.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'Bricolage Grotesque'; font-style:normal; font-weight:600 800;
  font-display:swap; src:url('../fonts/bricolage-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:'Inter'; font-style:normal; font-weight:400 600;
  font-display:swap; src:url('../fonts/inter.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'Inter'; font-style:normal; font-weight:400 600;
  font-display:swap; src:url('../fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
 
@font-face {
  font-family:'Inter'; font-style:normal; font-weight:400 600;
  font-display:swap; src:url('../fonts/inter-symboly.woff2') format('woff2');
  unicode-range:U+203A,U+2190-2193,U+2197,U+21BA,U+25B6,U+2605,U+2606,U+26A0;
}
@font-face {
  font-family:'Spline Sans Mono'; font-style:normal; font-weight:400 500;
  font-display:swap; src:url('../fonts/spline-mono.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'Spline Sans Mono'; font-style:normal; font-weight:400 500;
  font-display:swap; src:url('../fonts/spline-mono-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root {
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

   
  color-scheme: light;

   
  --paper:#FAF7EF;             
  --ink:#17150F;
  --muted:#5C574C;
  --line:#E4DED0;
  --surface:#FFFFFF;

   
  --primar:#2B2721;            
  --primar-h:#141210;          
  --tint:#F2ECDD;            
  --pruh:#EDE5D2;            

   
   
  --akcent:#B87C0A;
  --akcent-text:#8A5A05;
  --akcent-text-h:#6B4504;      

   
  --zlata-plocha:#F7E7BE;
  --zlata-text:#17150F;
  --zlata-ram:#B87C0A;

   
   
  --sms:#0B57D0;
  --sms-h:#0A4AB0;
  --na-sms:#FFFFFF;

  --zavolat:#C9292B;
  --zavolat-h:#A81E20;         
  --na-zavolat:#FFFFFF;

   

   
  --vystraha:#A32A2A;

   
  --na-farbe:#FFFFFF;
  --na-farbe-jemny:#E8E2D5;

   
  --tmavy-panel:#211E18;
  --na-panele:#CFC7B6;
  --na-panele-muted:#9C947F;
  --na-panele-jasny:#FFFFFF;

   
  --scrim:rgba(23,21,15,.78);
  --na-scrim:#FFFFFF;
  --na-scrim-jemny:#E3DCCC;

   
  --ok-bg:#E9F0E6;    --ok-text:#2A4620;   --ok-line:#C6D8BE;
  --err-bg:#FBEAE7;   --err-text:#7A2118;  --err-line:#F0CCC5;
  --top-bg:#FBF0D8;   --top-text:#7A5205;  --top-line:#EBD6A4;
  --off-bg:#F1EEE5;
  --riadok-hover:#FCFAF4;

   
  --hlavicka:rgba(250,247,239,.9);
  --sekcia-tint:rgba(242,236,221,.55);
  --line-jemna:rgba(228,222,208,.6);
  --zar-primar:rgba(43,39,33,.10);
  --zar-akcent:rgba(184,124,10,.16);

   
  --radius:14px;
  --radius-s:12px;
  --radius-l:16px;

   
  --tien:0 1px 2px rgba(23,21,15,.05), 0 6px 20px rgba(23,21,15,.07);
  --tien-h:0 2px 6px rgba(23,21,15,.09), 0 14px 34px rgba(23,21,15,.11);
  --tien-panel:0 2px 12px rgba(0,0,0,.20);

   
  --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;

   
  --vyska-hlavicky:107px;

   
   
   
   
   
   
   
   
   
   
   
  --ease-out:cubic-bezier(.23, 1, .32, 1);
  --ease-in-out:cubic-bezier(.77, 0, .175, 1);

   
  --t-tlacidlo:0ms;
  --t-hover:0ms;
  --t-menu:0ms;
  --t-modal:0ms;
}

 

 
html { scroll-padding-top:calc(var(--vyska-hlavicky) + 12px); }

 
@view-transition { navigation:auto; }

@media (prefers-reduced-motion: no-preference) {
   
  ::view-transition-old(root) {
    animation-duration:90ms; animation-timing-function:var(--ease-out);
  }
  ::view-transition-new(root) {
    animation-duration:210ms; animation-delay:90ms;
    animation-timing-function:var(--ease-out); animation-fill-mode:backwards;
  }

  :root {
    --t-tlacidlo:140ms;    
    --t-hover:150ms;       
    --t-menu:200ms;        
    --t-modal:280ms;       
  }
}

 
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;

    --paper:#12110E;
    --ink:#EFEBE2;
    --muted:#A39C8D;
    --line:#2E2B25;
    --surface:#1C1A16;

     
    --primar:#E8DCC2;
    --primar-h:#F5EDDC;
    --tint:#241F17;
    --pruh:#2A241A;

    --akcent:#E8A93B;
    --akcent-text:#F0C06B;
    --akcent-text-h:#F6D293;

     
    --zlata-plocha:#3A2C0E;
    --zlata-text:#F5E3B8;
    --zlata-ram:#E8A93B;

    --vystraha:#F08A80;

     

     
    --na-farbe:#12110E;
     
    --zavolat-h:#E04446;

     
    --sms:#2A6FE0;
    --sms-h:#1F5FCF;
    --na-farbe-jemny:#241F17;

    --tmavy-panel:#191712;
    --na-panele:#CFC7B6;
    --na-panele-muted:#A69D88;
    --na-panele-jasny:#FFFFFF;

    --scrim:rgba(8,7,5,.80);
    --na-scrim:#FFFFFF;
    --na-scrim-jemny:#E3DCCC;

    --ok-bg:#17241A;    --ok-text:#96D0A0;   --ok-line:#2E4636;
    --err-bg:#2A1512;   --err-text:#F2A396;  --err-line:#4A241E;
    --top-bg:#2B2312;   --top-text:#F0C06B;  --top-line:#4C3D1E;
    --off-bg:#1F1D18;
    --riadok-hover:#1E1C17;

    --hlavicka:rgba(18,17,14,.9);
    --sekcia-tint:rgba(36,31,23,.5);
    --line-jemna:rgba(46,43,37,.7);
    --zar-primar:rgba(232,220,194,.10);
    --zar-akcent:rgba(232,169,59,.14);

     
    --tien:0 1px 2px rgba(0,0,0,.50), 0 6px 20px rgba(0,0,0,.45);
    --tien-h:0 2px 6px rgba(0,0,0,.55), 0 14px 34px rgba(0,0,0,.50);
    --tien-panel:0 2px 12px rgba(0,0,0,.60);
  }
}

 
*,*::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;
}
 
input, select, textarea, optgroup, option { color:var(--ink); font-family:inherit; }

 
input::placeholder, textarea::placeholder { color:var(--muted); opacity:1; }

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; text-wrap:balance; }

 
.karta-nazov, .hp-karta-nazov, .kat-nazov, .hub-nazov, .m-nazov,
.detail-nazov, .obj-nazov, .st-nazov, .alergen-nazov, .sekcia-hlava h2 {
  text-wrap:balance;
}
p, .hp-sub, .karta-popis, .cms-obsah li { text-wrap:pretty; }
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(--primar); font-weight:600; white-space:nowrap; }
.odkaz-viac:hover { color:var(--akcent-text); }

 
.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 var(--t-tlacidlo) var(--ease-out), box-shadow var(--t-tlacidlo) var(--ease-out), background var(--t-tlacidlo) var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .cta:hover { transform:translateY(-1px); }
}
.cta-primar { background:var(--primar); color:var(--na-farbe); }
.cta-primar:hover { background:var(--primar-h); }
.cta-akcent { background:var(--akcent-text); color:var(--na-farbe); }
.cta-akcent: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; }

 
.hlavicka { position:sticky; top:0; z-index:50; background:var(--hlavicka); 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(--primar); }
.brand-bodka { color:var(--akcent-text); }
.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(--primar); 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 { 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(--akcent-text); 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(--primar); outline-offset:1px; }
.hero-tip { margin-top:12px; font-size:.85rem; color:var(--muted); }

 
.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 var(--t-tlacidlo) var(--ease-out), box-shadow var(--t-tlacidlo) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .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(--akcent-text); 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(--primar); }
 
.karta-zaloha { display:block; font-family:var(--pismo-text); font-weight:400; font-size:.78rem; color:var(--muted); white-space:nowrap; }
.detail-zaloha { display:block; font-family:var(--pismo-text); font-size:.85rem; font-weight:400; color:var(--muted); margin-top:2px; }
.karta-cta { font-size:.85rem; color:var(--muted); font-weight:600; text-decoration:none; }
.karta:hover .karta-cta { color:var(--akcent-text); }
 
.karta-foto { display:block; }
.karta-nazov a { color:inherit; text-decoration:none; }
.karta-nazov a:hover { color:var(--akcent-text); }
.karta-partner { font-size:.72rem; color:var(--muted); margin:6px 0 0; padding-top:6px; border-top:1px solid var(--line); }

 
.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(--primar); background:repeating-linear-gradient(135deg,var(--tint),var(--tint) 12px,var(--pruh) 12px,var(--pruh) 24px);
}

 
.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 var(--t-tlacidlo) var(--ease-out), box-shadow var(--t-tlacidlo) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .dlazdica:hover { transform:translateY(-2px); box-shadow:var(--tien-h); color:var(--primar); }
}
.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(--akcent-text); border:1px solid var(--line); padding:.15em .5em; border-radius:999px; }

 
.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(--primar); }

 
.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(--primar); 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); }

 
.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(--primar); color:var(--primar); }
.str.je-aktivna { background:var(--primar); color:var(--na-farbe); border-color:var(--primar); }
.str-dots { color:var(--muted); padding:0 2px; }

 
.omrvinky { color:var(--muted); font-size:.88rem; margin-bottom:14px; }
.omrvinky a { color:var(--primar); }
.omrvinky a:hover { color:var(--akcent-text); }
.omrvinky-spodne { margin:30px 0 0; padding-top:18px; border-top:1px solid var(--line); }

 
.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(--primar); 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(--akcent-text); 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(--primar); 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; }

 
.detail section { margin:26px 0; }
.detail section h2 { margin-bottom:.5em; }

.blok-verdikt { background:var(--primar); color:var(--na-farbe-jemny); border-radius:var(--radius-l); padding:24px 26px; }
.blok-verdikt h2 { color:var(--na-farbe); margin-top:0; }
.blok-verdikt p { margin:0; font-size:1.05rem; }

 
.blok-nehodi { background:var(--surface); border:1px solid var(--line); border-top:3px solid var(--vystraha); border-radius:var(--radius); padding:18px 20px; }
.blok-nehodi h2 { margin-top:0; }
.blok-nehodi ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.blok-nehodi li { position:relative; padding-left:1.6em; font-size:.95rem; }
.blok-nehodi li::before { content:"✕"; position:absolute; left:0; color:var(--vystraha); font-weight:700; }

.blok-popis p { color:var(--ink); }
.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-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(--akcent-text); font-weight:700; }
.faq-item[open] summary::after { content:"–"; }
.faq-item p { margin:0 0 14px; color:var(--muted); }

 
 
.pata { background:var(--tmavy-panel); color:var(--na-panele); 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:var(--na-panele-jasny); }
.pata-brand p { margin:.6em 0 0; font-size:.9rem; color:var(--na-panele-muted); max-width:34ch; }
.pata-nav { display:flex; flex-direction:column; gap:8px; }
.pata-nav a:hover, .pata-social a:hover { color:var(--na-panele-jasny); }
.pata-social { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; gap:12px; }
.pata-social span { color:var(--na-panele-muted); font-size:.85rem; }
 
.pata-social a { color:var(--na-panele); display:inline-flex; align-items:center; transition:color var(--t-tlacidlo) var(--ease-out); }
.pata-social a:hover { color:var(--na-panele-jasny); }
.pata-social svg { display:block; }
.pata-spodok p { margin:0 0 4px; }
.pata-affil { color:var(--na-panele-muted); }
.pata-firma a { color:inherit; text-decoration:underline; }
.pata-spodok { border-top:1px solid rgba(255,255,255,.08); text-align:center; padding:16px 20px; font-size:.8rem; color:var(--na-panele-muted); }

 
 
.poradca-form { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.poradca-form input { flex:1 1 12ch; min-width:0; 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 button { flex:0 0 auto; }
.poradca-form input:focus { outline:2px solid var(--primar); 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(--akcent-text); font-weight:600; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; }
.poradca-veta { background:var(--tint); border-left:4px solid var(--akcent); 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(--primar); font-weight:600; }
 
.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); }
 
.odporucame { margin:0 0 30px; padding:20px 22px; background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--akcent); border-radius:var(--radius); }
.odporucame-tip { margin:0 0 4px; font-size:1.02rem; line-height:1.6; color:var(--ink); max-width:62ch; }
.odporucame-tip a { font-weight:600; white-space:nowrap; }
.odporucame-nadpis { font-family:var(--pismo-nadpis); font-size:1rem; font-weight:600; color:var(--muted); margin:0 0 14px; }
.odporucame-mriezka { gap:16px; }
@media (max-width:430px) {
   
  .odporucame { padding:16px 14px; }
}

.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(--primar); font-weight:600; transition:background var(--t-tlacidlo) var(--ease-out), border-color var(--t-tlacidlo) var(--ease-out); }
.chip-klik:hover { background:var(--surface); border-color:var(--akcent); }
#vysledky.je-nacitanie { opacity:.45; transition:opacity var(--t-tlacidlo) var(--ease-out); }
.poradca-viac { text-align:center; margin:8px 0 4px; }

 
 
 
.dlazdice-nastroje { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }

 
.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(--primar); border-color:var(--primar); }
.gf.je-aktivny { background:var(--primar); color:var(--na-farbe); border-color:var(--primar); }
.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:var(--na-scrim); display:flex; flex-direction:column; gap:2px; background:linear-gradient(transparent, var(--scrim)); opacity:0; transition:opacity var(--t-hover) var(--ease-out); }
.m-dlazdica:hover .m-popis, .m-dlazdica:focus .m-popis { opacity:1; }
.m-typ { font-size:.68rem; text-transform:uppercase; letter-spacing:.07em; color:var(--na-scrim-jemny); }
.m-nazov { font-size:.85rem; font-weight:600; line-height:1.25; }

 
@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; }
   
  .nav-prepinac {
    display:block; position:absolute; width:1px; height:1px;
    margin:-1px; padding:0; border:0; overflow:hidden; white-space:nowrap;
    clip-path:inset(50%);
  }
   
  .nav-prepinac:focus-visible ~ .hlavicka-in .hamburger,
  .nav-prepinac:focus-visible + .hamburger {
    outline:2px solid var(--primar); outline-offset:2px;
  }
  .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 var(--t-menu) var(--ease-out); 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); }
  .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; }
}

 
.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(--primar); }
.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(--primar); outline-offset:1px; }
.login-form .cta { justify-content:center; margin-top:6px; }
.login-chyba { background:var(--err-bg); color:var(--vystraha); border:1px solid var(--err-line); 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-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(--tmavy-panel); color:var(--na-panele); 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:var(--na-panele-jasny); padding:6px 22px 18px; }
.admin-menu { display:flex; flex-direction:column; }
.admin-menu a { color:var(--na-panele); 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:var(--na-panele-jasny); }
.admin-menu a.je-aktivny { background:rgba(255,255,255,.10); color:var(--na-panele-jasny); border-left-color:var(--akcent); }
.admin-odhlasit { margin-top:14px; border-top:1px solid rgba(255,255,255,.08); color:var(--na-panele-muted) !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(--primar); 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(--primar); }
.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 var(--t-menu) var(--ease-out); 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; }
}

 
.brand { display:inline-flex; align-items:center; gap:10px; }
 
.brand-logo { display:block; flex:none; width:69px; height:44px; }
.pata-logo img { display:block; width:48px; height:48px; }
.brand-nazov { font-family:var(--pismo-nadpis); font-weight:800; font-size:1.35rem; letter-spacing:-.02em; color:var(--primar); }
.pata-logo .brand-nazov { display:none; }

 

 

 
.pata-logo { display:inline-flex; align-items:center; background:var(--paper); border-radius:12px; padding:10px 14px; box-shadow:var(--tien-panel); }

 
.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; }

 
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 var(--line-jemna); }
 
main > .sekcia:nth-of-type(even) { background:linear-gradient(180deg, var(--sekcia-tint), transparent 60%); }

 
.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(--akcent-text); margin:0; }
.sekcia-hlava h2 { margin:0; }

 
.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%, var(--zar-primar), 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%, var(--zar-akcent), var(--zar-primar) 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(--akcent); border-radius:3px; margin:8px auto 0; }

 
.karta { border-radius:var(--radius-l); }
@media (hover: hover) and (pointer: fine) {
  .karta:hover { transform:translateY(-4px); box-shadow:var(--tien-h); }
}

 
@media (max-width:680px) {
   
   
  .brand { gap:8px; }
  .brand-nazov { font-size:1.18rem; }
}

 
.admin-flash { padding:12px 16px; border-radius:var(--radius-s); margin-bottom:18px; font-weight:500; border:1px solid; }
.admin-flash-ok  { background:var(--ok-bg); color:var(--ok-text); border-color:var(--ok-line); }
.admin-flash-err { background:var(--err-bg); color:var(--err-text); border-color:var(--err-line); }

.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 var(--t-tlacidlo) var(--ease-out), box-shadow var(--t-tlacidlo) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .admin-staty a.admin-stat:hover { transform:translateY(-2px); box-shadow:var(--tien-h); }
}

 
.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; }

 
.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(--vystraha); }

 
.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:var(--riadok-hover); }
.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(--primar); font-weight:600; }
.admin-tabulka .st-nazov a:hover { color:var(--akcent-text); }
.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:var(--ok-bg); color:var(--ok-text); border-color:var(--ok-line); }
.odznak-off { background:var(--off-bg); color:var(--muted); border-color:var(--line); }
.odznak-top { background:var(--top-bg); color:var(--top-text); border-color:var(--top-line); }
.odznak-pln { background:transparent; color:var(--muted); border-color:var(--line); }
.admin-link { background:none; border:none; color:var(--primar); font:inherit; font-size:.85rem; font-weight:600; cursor:pointer; padding:0; margin-right:8px; }
.admin-link:hover { color:var(--akcent-text); }
.admin-link-zmaz { color:var(--vystraha); }

 
.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(--primar); color:var(--na-farbe); border-color:var(--primar); }

 
.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; background:var(--surface); }
.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-body-md { font-family:var(--pismo-mono); font-size:.9rem; line-height:1.5; width:100%; padding:12px; border:1px solid var(--line); border-radius:8px; }
.pick-hladaj { position:relative; margin-bottom:12px; }
.pick-hladaj > input { width:100%; padding:.55em .7em; border:1px solid var(--line); border-radius:8px; font:inherit; background:var(--surface); }
.pick-vysledky { position:absolute; z-index:20; left:0; right:0; background:var(--surface); border:1px solid var(--line); border-radius:8px; box-shadow:var(--tien-h); max-height:280px; overflow-y:auto; margin-top:4px; }
.pick-navrh { display:block; width:100%; text-align:left; padding:.55em .7em; background:none; border:0; border-bottom:1px solid var(--line); cursor:pointer; font:inherit; }
.pick-navrh:hover { background:var(--tint); }
.pick-rows { display:flex; flex-direction:column; gap:8px; }
.pick-row { display:flex; gap:8px; align-items:center; background:var(--tint); border-radius:8px; padding:8px 10px; }
.pick-info { min-width:220px; display:flex; flex-direction:column; gap:2px; }
.pick-row > input[type="text"] { flex:1; padding:.5em .65em; border:1px solid var(--line); border-radius:8px; font:inherit; background:var(--surface); }
.pick-badge { font-size:.7rem; color:var(--muted); }
.pick-akcie { display:flex; gap:4px; }
.admin-form-pata { display:flex; gap:12px; align-items:center; margin-top:18px; }
.admin-zmaz-box { margin-top:8px; padding:10px; background:var(--err-bg); border:1px solid var(--err-line); border-radius:10px; max-width:340px; }
.admin-zmaz-box select { margin:6px 0; }
.je-skryty { display:none; }

 
.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(--primar); }
 
.import-report { margin-top:14px; padding:12px 16px; border-radius:var(--radius-s); border:1px solid; }
.import-ok  { background:var(--ok-bg); color:var(--ok-text); border-color:var(--ok-line); }
.import-err { background:var(--err-bg); color:var(--err-text); border-color:var(--err-line); }

 
.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; }
}

 
.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(--primar); color:var(--na-farbe); border-color:var(--primar); }
.an-dnes { display:block; font-size:.75rem; color:var(--akcent-text); margin-top:2px; }

 
.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(--primar),var(--primar-h)); border-radius:3px 3px 0 0; }
 
.an-stlpec:hover .an-bar { background:var(--akcent); }
.an-os { font-size:.62rem; color:var(--muted); margin-top:4px; white-space:nowrap; }
.an-os-skryta { visibility:hidden; }

 
.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(--akcent); box-shadow:0 0 0 1px var(--akcent), var(--tien); }
.an-money-znak { color:var(--akcent-text); }
.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(--primar); border-radius:999px; }
.an-tab-money .an-bar-mini span { background:var(--akcent); }
.an-cislo { font-family:var(--pismo-mono); font-weight:500; text-align:right; }
 
.admin-tabulka th.an-cislo, .admin-tabulka td.an-cislo { 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; } }

 
 

 
.hp-hero { position:relative; overflow:hidden; background:var(--paper); padding:72px 20px 84px; text-align:center; border-bottom:1px solid var(--line); }
.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(--akcent-text); 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-vyzva { font-family:var(--pismo-text); font-size:.95rem; font-weight:600; color:var(--muted); max-width:720px; margin:0 auto 10px; text-align:left; }
.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:var(--surface); border:2px solid var(--primar-h); border-radius:16px; box-shadow:var(--tien-h); 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(--akcent-text); color:var(--na-farbe); font-family:var(--pismo-text); font-weight:600; font-size:19px; padding:0 40px; border:0; border-radius:16px; box-shadow:var(--tien-h); cursor:pointer; transition:background var(--t-tlacidlo) var(--ease-out); }
.hp-search-btn:hover { background:var(--akcent-text-h); }

.hp-hero-akcie { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:26px; }
.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:var(--surface); color:var(--ink); transition:border-color var(--t-tlacidlo) var(--ease-out), background var(--t-tlacidlo) var(--ease-out); }
.hp-chip:hover { border-color:var(--primar); background:var(--tint); }

 
.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 var(--t-tlacidlo) var(--ease-out), box-shadow var(--t-tlacidlo) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  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(--akcent-text); margin:0; }
 
.hp-rc h2 { margin:0; font-size:1.2rem; font-family:var(--pismo-nadpis); }
.hp-rc-popis { color:var(--muted); font-size:.92rem; margin:0; }
.hp-rc-cta { margin-top:auto; padding-top:6px; color:var(--primar); font-weight:600; font-size:.92rem; }
.hp-rc:hover .hp-rc-cta { color:var(--akcent-text); }

 
.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 var(--t-tlacidlo) var(--ease-out), box-shadow var(--t-tlacidlo) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .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(--akcent-text); }
.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(--primar); }

 
.hp-dlazdice { 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(--primar),var(--primar-h)); color:var(--na-farbe); font-family:var(--pismo-nadpis); font-weight:700; font-size:1.05rem; box-shadow:var(--tien); transition:transform var(--t-tlacidlo) var(--ease-out), box-shadow var(--t-tlacidlo) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .hp-tile:hover { transform:translateY(-3px); box-shadow:var(--tien-h); }
}
.hp-tile-sip { color:var(--akcent-text); font-size:1.2rem; }

 
.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 var(--t-tlacidlo) var(--ease-out), box-shadow var(--t-tlacidlo) var(--ease-out); }
.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); }

 
.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(--akcent-text); 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; }

 
.pata-in { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:28px; align-items:start; }
.pata-stlpce { display:contents; }
 
.pata-stlpec h2 { font-family:var(--pismo-nadpis); font-size:.95rem; margin:0 0 12px; color:var(--na-panele-jasny); font-weight:700; }
.pata-stlpec a { display:block; color:var(--na-panele); font-size:.9rem; padding:4px 0; }
.pata-stlpec a:hover { color:var(--na-panele-jasny); }

 
@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; }
}

 
.clanok { max-width:820px; margin-inline:auto; }
.clanok-lead { font-size:1.2rem; line-height:1.6; }
.clanok-meta { font-size:.85rem; color:var(--muted); margin:0 0 24px; }
.clanok-kriteria { background:var(--tint); border-left:4px solid var(--primar); border-radius:0 var(--radius) var(--radius) 0; padding:16px 20px; margin:0 0 28px; }
.clanok-kriteria h2 { margin:0 0 8px; font-size:1.05rem; }
.clanok-kriteria ul { margin:0; padding-left:20px; }
.clanok-kriteria li { margin:4px 0; }
.clanok-telo { line-height:1.7; }
.clanok-telo h2 { margin:32px 0 12px; font-size:1.4rem; }
.clanok-telo h3 { margin:24px 0 8px; font-size:1.12rem; }
.clanok-telo p { margin:0 0 16px; }
.clanok-telo ul, .clanok-telo ol { margin:0 0 16px; padding-left:22px; }
.clanok-telo li { margin:6px 0; }
.clanok-telo blockquote { margin:20px 0; padding:12px 18px; border-left:4px solid var(--akcent); background:var(--tint); border-radius:0 var(--radius) var(--radius) 0; color:var(--muted); }
.clanok-telo a { color:var(--primar); font-weight:600; }
.clanok-telo code { background:var(--tint); padding:.1em .35em; border-radius:4px; font-family:var(--pismo-mono); font-size:.9em; }
.clanok-tab-obal { overflow-x:auto; margin:0 0 20px; }
.clanok-tab { border-collapse:collapse; width:100%; font-size:.95rem; }
.clanok-tab th, .clanok-tab td { border:1px solid var(--line); padding:8px 12px; text-align:left; }
.clanok-tab th { background:var(--tint); font-weight:600; }
.clanok-vyber { margin:36px 0; }
.clanok-picks { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:20px; }
.clanok-pick { display:flex; flex-direction:column; }
.clanok-pick-note { font-size:.85rem; color:var(--muted); margin:8px 2px 0; font-style:italic; }
.clanok-faq { margin:36px 0; }
.clanok-faq .faq-polozka { border-top:1px solid var(--line); padding:16px 0; }
.clanok-faq h3 { margin:0 0 6px; font-size:1.02rem; }
.clanok-faq p { margin:0; color:var(--ink); }
.clanok-suvisiace { margin:40px 0 0; border-top:2px solid var(--line); padding-top:24px; }
.clanok-suvisiace-zoznam { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.clanok-suvisiace-zoznam a { display:block; padding:12px 16px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); text-decoration:none; color:var(--ink); font-weight:600; transition:border-color var(--t-tlacidlo) var(--ease-out); }
.clanok-suvisiace-zoznam a:hover { border-color:var(--akcent); }
.suv-kicker { display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--akcent-text); font-weight:600; }
 
.hub-mriezka { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:20px; }
.hub-karta { display:flex; flex-direction:column; gap:6px; padding:20px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--tien); text-decoration:none; color:var(--ink); transition:transform var(--t-tlacidlo) var(--ease-out), box-shadow var(--t-tlacidlo) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .hub-karta:hover { transform:translateY(-3px); box-shadow:var(--tien-h); }
}
.hub-kicker { font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--akcent-text); font-weight:600; }
.hub-nazov { font-size:1.1rem; margin:0; }
.hub-lead { font-size:.9rem; color:var(--muted); margin:0; flex:1; }
.hub-cta { font-size:.85rem; color:var(--primar); font-weight:600; margin-top:4px; }

 

 
.hp-hero::after {
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
 
.hp-hero::before {
  content:""; position:absolute; z-index:0; pointer-events:none;
  left:-10%; bottom:-40%; width:min(480px,55vw); aspect-ratio:1/1; border-radius:50%;
  background:radial-gradient(circle at 50% 50%, var(--zar-primar), transparent 70%);
  filter:blur(80px);
}
 
@media (prefers-reduced-motion: no-preference) {
  .hp-hero::before { animation:hp-drift2 34s var(--ease-in-out) infinite alternate; }
}
@keyframes hp-drift {
  from { transform:translate3d(0,0,0) scale(1); }
  to   { transform:translate3d(-3%,2%,0) scale(1.06); }
}
@keyframes hp-drift2 {
  from { transform:translate3d(0,0,0) scale(1); }
  to   { transform:translate3d(4%,-3%,0) scale(1.1); }
}

 
.karta { transition:transform var(--t-hover) var(--ease-out), box-shadow var(--t-hover) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .karta:hover { transform:translateY(-2px); box-shadow:var(--tien-h); }
}

 
.faq-item summary::after {
  content:""; width:14px; height:14px; margin-top:5px;
  background:no-repeat center/contain
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B5762F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  transition:transform var(--t-menu) var(--ease-out);
}
.faq-item[open] summary::after { content:""; transform:rotate(180deg); }
.faq-telo { display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--t-menu) var(--ease-out); }
.faq-item[open] .faq-telo { grid-template-rows:1fr; }
.faq-telo > div { overflow:hidden; }

 
.cms-obsah { max-width:68ch; line-height:1.7; }
.cms-obsah > p:first-of-type { font-size:1.12rem; line-height:1.65; color:var(--ink); }
.cms-obsah h2 {
  position:relative; padding-left:14px; margin-top:1.8em;
  border-left:3px solid var(--akcent); line-height:1.25;
}
.cms-obsah ul, .cms-obsah ol { padding-left:1.2em; }
.cms-obsah li { margin-bottom:.4em; }
 
.cms-obsah .udaje, .cms-obsah blockquote {
  background:var(--tint); border-left:3px solid var(--primar);
  border-radius:0 var(--radius-s) var(--radius-s) 0;
  padding:14px 18px; margin:1.6em 0; color:var(--ink);
}

 
.sprievodca .clanok-lead, .clanok .clanok-lead {
  font-size:1.16rem; line-height:1.6; color:var(--ink);
  border-left:3px solid var(--akcent); padding-left:16px; margin-bottom:1.6em;
}
.clanok-verdikt { box-shadow:inset 0 1px 0 rgba(255,255,255,.10), inset 0 -18px 40px rgba(0,0,0,.16); }

 
@supports (animation-timeline:scroll()) {
  .citanie {
    position:fixed; top:0; left:0; right:0; height:3px; z-index:50;
    background:var(--akcent); transform-origin:0 50%; transform:scaleX(0);
    animation:citanie-rast linear both;
    animation-timeline:scroll(root block);
  }
  @keyframes citanie-rast { to { transform:scaleX(1); } }
}

 

 
.cms-obsah { counter-reset:sekcia; }
.cms-obsah h2 {
  counter-increment:sekcia;
  display:flex; align-items:baseline; gap:12px;
  margin-top:3.5rem; padding-left:0; border-left:0;
}
.cms-obsah h2::before {
  content:counter(sekcia,decimal-leading-zero);
  font-family:var(--pismo-mono); font-size:.8rem; font-weight:500;
  color:var(--akcent-text); flex:none; letter-spacing:.06em;
  position:relative; top:-.15em;
}
.cms-obsah h2:first-of-type { margin-top:1.6rem; }
.cms-obsah > p:first-of-type { font-size:1.15rem; line-height:1.65; color:var(--ink); }

 
.kat-karta { transition:transform var(--t-hover) var(--ease-out), box-shadow var(--t-hover) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .kat-karta:hover { transform:translateY(-2px); box-shadow:var(--tien-h); }
}
.kat-karta-hlava { display:flex; align-items:center; gap:14px; }
.kat-ikona { flex:none; color:var(--ink); transition:color var(--t-menu) var(--ease-out); }
.kat-ikona svg { display:block; width:48px; height:48px; }
.kat-karta:hover .kat-ikona { color:var(--akcent-text); }
.kat-karta-hlava .kat-nazov { flex:1; }
.kat-pocet {
  font-family:var(--pismo-mono); font-size:.82rem; color:var(--akcent-text);
  white-space:nowrap; flex:none;
}

 
.dp-diera { border-left:3px solid var(--vystraha); }
.dp-diera .an-cislo { color:var(--vystraha); font-weight:600; }
.dp-text { font-family:var(--pismo-mono); font-size:.86rem; }
.dp-prazdne { color:var(--muted); font-style:italic; }

 
@media (prefers-reduced-motion:reduce) {
  .kat-karta, .kat-karta:hover { transform:none; transition:none; }
  .hp-hero::before { animation:none; }
  .karta, .karta:hover { transform:none; transition:none; }
  .faq-telo { transition:none; }
  .faq-item summary::after { transition:none; }
  .citanie { display:none; }
}

 
 
 
.admin-pata {
  margin-top:32px; padding:14px 24px 22px; max-width:1000px;
  border-top:1px solid var(--line);
  text-align:right;
}
.admin-verzia {
  font-family:var(--pismo-mono); font-size:.75rem;
  color:var(--muted); letter-spacing:.02em;
}
 
.admin-verzia[title] { color:var(--vystraha); cursor:help; }
 
 
.poradca-oprava {
  margin:0 0 18px;
  padding:10px 14px;
  border-left:3px solid var(--akcent);
  background:var(--tint);
  border-radius:0 8px 8px 0;
  color:var(--ink);
  font-size:.95rem;
}
 
 
 
.pd-rozklad { margin:34px 0 8px; }
.pd-nadpis {
  font-family:var(--pismo-mono); font-size:.78rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--akcent-text); margin:0 0 18px;
}

 
.pd-veta {
  display:flex; flex-wrap:wrap; gap:8px 26px;
  text-decoration:none; color:inherit;
  padding:16px 18px; border:1px solid var(--line); border-radius:12px;
  background:var(--surface);
}
.pd-veta:hover { border-color:var(--akcent); }
.pd-veta:focus-visible { outline:2px solid var(--primar); outline-offset:2px; }

.pd-tok { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.pd-slovo {
  display:block; font-size:1.18rem; font-weight:600; color:var(--ink);
  line-height:1.3;
}

 
.pd-slovo::after {
  content:''; display:block; height:2px; margin-top:4px;
  background:var(--akcent); border-radius:1px; transform-origin:left center;
  animation:none;
}
@media (prefers-reduced-motion: no-preference) {
  .pd-slovo::after { animation:pd-kresli .45s var(--ease-out) both; }
}
.pd-tok:nth-child(2) .pd-slovo::after { animation-delay:.12s; }
.pd-tok:nth-child(3) .pd-slovo::after { animation-delay:.24s; }
@keyframes pd-kresli { from { transform:scaleX(0); } to { transform:scaleX(1); } }

.pd-slot {
  font-family:var(--pismo-mono); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--akcent-text);
}

 
.pd-zvysok { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; margin:14px 2px 0; }
.pd-slot-prazdny {
  color:var(--muted); border-bottom:2px dashed var(--line); padding-bottom:1px;
}
.pd-zvysok-text { color:var(--muted); font-size:.92rem; }

 
@media (max-width:520px) {
  .pd-veta { flex-direction:column; gap:12px; }
  .pd-tok { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .pd-slovo::after { animation:none; transform:none; }
}
 
 
 
.cms-obsah { position:relative; padding-left:30px; }

 
.cms-obsah::before {
  content:""; position:absolute; left:8px; top:4.8rem; bottom:1.5rem;
  width:1px; background:var(--line);
}
.cms-obsah h2 { position:relative; }

 
.cms-obsah h2::after {
  content:""; position:absolute; left:-29px; top:.5em;
  width:11px; height:11px; border-radius:50%;
  background:var(--surface); border:2px solid var(--akcent);
}

 
.cms-obsah h2.je-ai::after {
  border-style:dashed; border-color:var(--muted);
}

 
@media (max-width:560px) {
  .cms-obsah::before { display:none; }
  .cms-obsah h2::after { display:none; }
}
 

 
 
.wishlist { max-width:var(--obal); margin:40px auto 56px; padding:26px 24px; background:var(--tint); border:1px solid var(--line); border-radius:var(--radius); }
.wishlist-nadpis { font-family:var(--pismo-nadpis); font-size:1.25rem; margin:0 0 .5em; }
.wishlist-text { color:var(--muted); font-size:.95rem; line-height:1.6; margin:0 0 18px; max-width:60ch; }
.wishlist-label { display:block; font-size:.9rem; font-weight:600; color:var(--muted); margin-bottom:8px; }
.wishlist-riadok { display:flex; gap:10px; max-width:640px; }
.wishlist-pole { flex:1; min-width:0; padding:.8em 1em; border:1px solid var(--line); border-radius:12px; font:inherit; font-size:1rem; background:var(--surface); color:var(--ink); }
.wishlist-pole:focus { outline:2px solid var(--primar); outline-offset:1px; }
.wishlist-btn { flex:none; }

 
.wishlist-odozva { font-size:.92rem; font-weight:600; margin:0 0 14px; padding:.6em .9em; border-radius:10px; border:1px solid; }
.wishlist-odozva.je-ok { color:var(--ok-text); background:var(--ok-bg); border-color:var(--ok-line); }
.wishlist-odozva.je-chyba { color:var(--err-text); background:var(--err-bg); border-color:var(--err-line); }

@media (max-width:680px) {
  .wishlist-riadok { flex-direction:column; }
  .wishlist-btn { justify-content:center; }
}

 
.wl-tab .wl-c { text-align:right; font-family:var(--pismo-mono); white-space:nowrap; }
.wl-tab .wl-d { white-space:nowrap; color:var(--muted); font-size:.88rem; }
.wl-text { display:block; }
.wl-bar { display:block; margin-top:5px; max-width:260px; }

 
.kat-uvod { max-width:72ch; margin:.6em 0 0; color:var(--muted); font-size:.95rem; line-height:1.65; }

 
.vyhrada-ceny { max-width:80ch; margin:16px 0 0; font-size:.82rem; line-height:1.55; color:var(--muted); }

 

.karta-gramaz {
  display: block;
  font-family: var(--pismo-mono);
  font-size: .8125rem;
  color: var(--muted);
  margin-top: 2px;
}

.detail-gramaz {
  font-family: var(--pismo-mono);
  font-size: .875rem;
  font-weight: 400;
  color: var(--muted);
  margin-left: 8px;
}

.karta-alergeny {
  display: inline-block;
  margin-top: 6px;
  padding: 2px 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  font-family: var(--pismo-mono);
  font-size: .75rem;
  color: var(--muted);
  text-decoration: none;
}
.karta-alergeny:hover { border-color: var(--akcent); color: var(--ink); }
.karta-alergeny.je-zavisle { border-style: dotted; }
.karta-alergeny.je-neoverene { border-style: dashed; color: var(--muted); }

.detail-znacky {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 0;
  padding: 0;
}
.detail-znacky li {
  padding: 2px 10px;
  border-radius: var(--radius-s);
  background: var(--tint);
  font-size: .8125rem;
  color: var(--ink);
}

.alergeny {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px 18px;
  background: var(--surface);
}
.alergeny-nadpis { margin: 0 0 10px; font-size: 1.125rem; }

.alergeny-vyhrada {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-left: 3px solid var(--akcent);
  background: var(--sekcia-tint);
  font-size: .9375rem;
}

.alergeny-zoznam {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.alergeny-zoznam a {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  text-decoration: none;
  color: var(--ink);
}
.alergeny-zoznam a:hover { border-color: var(--akcent); }
.alergen-cislo {
  font-family: var(--pismo-mono);
  font-weight: 700;
  color: var(--akcent-text);
}
.alergen-nazov { font-size: .9375rem; }

.alergeny-ziadne, .alergeny-chyba, .alergeny-moze {
  margin: 0; font-size: .9375rem; color: var(--muted);
}
.alergeny-chyba { color: var(--ink); }
.alergeny-moze { margin-top: 10px; font-style: italic; }

 
.alergeny-neoverene {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--muted);
  border-radius: var(--radius-s);
  background: var(--surface);
  color: var(--ink);
  font-size: .92rem;
  line-height: 1.5;
}

 
.karta-neoverene {
  display: inline-block;
  margin-left: 6px;
  width: 1.15em;
  height: 1.15em;
  line-height: 1.15em;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  font-size: .78rem;
  cursor: help;
}
.karta-neoverene:hover { color: var(--ink); border-color: var(--muted); }

 
.jazyk-prepinac {
  display: inline-flex;
  align-items: center;
  margin-left: 10px;
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  color: var(--muted);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-decoration: none;
  white-space: nowrap;
}
.jazyk-prepinac:hover { color: var(--ink); border-color: var(--muted); }
.jazyk-kratky { display: none; }

 
.jazyk-vyber { position: relative; margin-left: 10px; }
.jazyk-vyber > summary {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 10px; border: 1px solid var(--line); border-radius: var(--radius-s);
  color: var(--muted); font-size: .82rem; font-weight: 600; letter-spacing: .02em;
  white-space: nowrap; cursor: pointer; list-style: none;
}
.jazyk-vyber > summary::-webkit-details-marker { display: none; }
.jazyk-vyber > summary::after { content: '⌄'; font-size: .9em; line-height: 1; }
.jazyk-vyber > summary:hover { color: var(--ink); border-color: var(--muted); }
.jazyk-vyber[open] > summary { color: var(--ink); border-color: var(--muted); }
.jazyk-zoznam {
  position: absolute; right: 0; z-index: 40; margin: 4px 0 0; padding: 4px;
  min-width: 100%; list-style: none;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-s); box-shadow: var(--tien);
}
.jazyk-zoznam a {
  display: block; padding: 6px 12px; border-radius: var(--radius-s);
  color: var(--ink); font-size: .85rem; text-decoration: none; white-space: nowrap;
}
.jazyk-zoznam a:hover { background: var(--tint); }

 
.stitok-sk { display: inline-block; margin-left: 6px; padding: 1px 5px;
  border: 1px solid var(--line); border-radius: var(--radius-s);
  background: var(--surface); color: var(--muted);
  font-size: .62em; font-weight: 600; letter-spacing: .04em;
  vertical-align: middle; text-transform: uppercase; }

 
.vyziva-tabulka { width: 100%; max-width: 420px; border-collapse: collapse; margin: 8px 0 14px; }
.vyziva-tabulka th, .vyziva-tabulka td { padding: 7px 0; border-bottom: 1px solid var(--line); font-size: .93rem; text-align: left; }
.vyziva-tabulka th { font-weight: 500; color: var(--muted); }
.vyziva-tabulka td { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
 
.vyziva-vyhrada { margin: 6px 0 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.vyziva-chyba { margin: 6px 0 0; padding: 10px 12px; border: 1px solid var(--line);
  border-left: 3px solid var(--muted); border-radius: var(--radius-s);
  background: var(--surface); color: var(--ink); font-size: .92rem; line-height: 1.5; }
 
.obj-box { margin: 0 0 20px; padding: 14px 16px 14px 34px;
  border: 1px solid var(--zlata-ram); border-radius: var(--radius-s);
  background: var(--zlata-plocha); color: var(--zlata-text);
  font-size: .93rem; line-height: 1.55; }
.obj-box li + li { margin-top: 8px; }
 
.obj-box strong { font-weight: 700; }

 
.alergeny-otaznik { display: inline; }
.alergeny-otaznik > summary {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 24px; min-height: 24px; margin-left: 6px; padding: 0 4px;
  border: 1px solid var(--line); border-radius: 50%;
  background: var(--surface); color: var(--muted);
  font-size: .78rem; font-weight: 700; line-height: 1;
  cursor: pointer; list-style: none; vertical-align: middle;
}
.alergeny-otaznik > summary::-webkit-details-marker { display: none; }
.alergeny-otaznik > summary:hover,
.alergeny-otaznik > summary:focus-visible { border-color: var(--muted); color: var(--ink); }
.alergeny-otaznik[open] > summary { border-color: var(--muted); color: var(--ink); }

 
.alergeny-otaznik[open] { display: block; flex-basis: 100%; }
.alergeny-otaznik > p {
  margin: 6px 0 0; padding: 8px 10px;
  border: 1px solid var(--line); border-left: 3px solid var(--zlata-ram);
  border-radius: var(--radius-s);
  background: var(--surface); color: var(--ink);
  font-size: .86rem; line-height: 1.5; overflow-wrap: anywhere;
}

 
.obj-kcal { margin: 2px 0 0; color: var(--muted); font-size: .8rem;
  font-variant-numeric: tabular-nums; }
 
.obj-vyziva-blok { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--line); }
.obj-vyziva-blok h3 { margin: 0 0 8px; font-size: 1rem; }
.obj-vyziva-tab { width: 100%; table-layout: fixed; border-collapse: collapse; }
.obj-vyziva-tab td { padding: 6px 0; border-bottom: 1px solid var(--line-jemna);
  font-size: .86rem; line-height: 1.45; vertical-align: top;
  overflow-wrap: anywhere; }
.obj-vyziva-tab tr:last-child td { border-bottom: 0; }
.obj-vyziva-hodnota { width: 92px; text-align: right; white-space: nowrap;
  font-variant-numeric: tabular-nums; overflow-wrap: normal; }
 
.obj-vyziva-hodnota.je-chyba { color: var(--muted); font-style: italic; }
.obj-vyziva-vyhrada:empty { display: none; }
.obj-vyziva-vyhrada { margin: 8px 0 0; }
@media (max-width: 420px) {
   
  .jazyk-prepinac { margin-left: 0; padding: 3px 7px; font-size: .78rem; }
   
  .jazyk-vyber { margin-left: 0; }
  .jazyk-vyber > summary { padding: 3px 7px; font-size: .78rem; gap: 4px; }
  .hlavicka-in { gap: 10px; padding-left: 14px; padding-right: 14px; }
}
.alergeny-legenda { margin: 12px 0 0; font-size: .875rem; }

.alergeny-tab .alergen-cislo-bunka {
  font-family: var(--pismo-mono);
  width: 4rem;
}

 
 
.stranka-cms .hodiny {
  border-collapse: collapse;
  margin: 12px 0 8px;
  font-size: .9375rem;
}
.stranka-cms .hodiny th {
  text-align: left;
  font-weight: 600;
  padding: 5px 20px 5px 0;
  white-space: nowrap;
}
.stranka-cms .hodiny td {
  padding: 5px 0;
  font-family: var(--pismo-mono);
  white-space: nowrap;
}

 
.pata-hodiny { color: var(--na-panele-muted); }

 
 

 
.vo-skryte {
  position:absolute; width:1px; height:1px; margin:-1px; padding:0;
  border:0; overflow:hidden; white-space:nowrap; clip-path:inset(50%);
}

.hl-akcie { display:flex; align-items:center; gap:8px; margin-left:auto; }
.hl-akcia {
  display:inline-flex; align-items:center; gap:7px;
   
  min-height:44px; padding:.45em .9em;
  border-radius:999px; font-weight:600; font-size:.95rem; white-space:nowrap;
  border:1px solid transparent; transition:background var(--t-tlacidlo) var(--ease-out), border-color var(--t-tlacidlo) var(--ease-out);
}
.hl-zavolat { background:var(--zavolat); color:var(--na-zavolat); }
.hl-zavolat:hover { background:var(--zavolat-h); color:var(--na-zavolat); }
.hl-navigovat { background:var(--surface); color:var(--ink); border-color:var(--line); }
.hl-navigovat:hover { border-color:var(--primar); }
.hl-akcia svg { flex:none; }

 
.brand { order:1; }
.navigacia { order:2; }
.hl-akcie { order:3; }
 
.jazyk-prepinac { order:3; }
.jazyk-vyber { order:3; }
.hamburger { order:4; }

@media (max-width:900px) {
   
  .hl-akcia-text {
    position:absolute; width:1px; height:1px; margin:-1px; padding:0;
    border:0; overflow:hidden; white-space:nowrap; clip-path:inset(50%);
  }
  .hl-akcia { padding:.45em; min-width:44px; justify-content:center; }
}
@media (max-width:680px) {
   
  .hamburger { margin-left:0; }
  .hlavicka-in { gap:10px; }
}

 
.cta-sms { background:var(--sms); color:var(--na-sms); }
.cta-sms:hover { background:var(--sms-h); color:var(--na-sms); }
 
.cta-whatsapp { background:var(--primar); color:var(--na-farbe); }
.cta-whatsapp:hover { background:var(--primar-h); color:var(--na-farbe); }
.cta-zavolat { background:var(--zavolat); color:var(--na-zavolat); }
.cta-zavolat:hover { background:var(--zavolat-h); color:var(--na-zavolat); }

 
 
.hp-foto-pas { width:100%; background:var(--tint); border-bottom:1px solid var(--line); }
.hp-hero-foto {
  display:block; width:100%; height:auto;
   
  max-height:min(46vh, 460px); object-fit:cover; object-position:center;
}

 
.hp-foto-druha { display:grid; grid-template-columns:420px 1fr; gap:32px; align-items:center; }
.hp-foto2 { margin:0; }
.hp-foto2 img {
  display:block; width:100%; height:auto; border-radius:var(--radius);
  border:1px solid var(--line); box-shadow:var(--tien);
}
.hp-foto2 figcaption { margin-top:10px; font-size:.875rem; color:var(--muted); }
.hp-foto2-text h2 { margin-top:0; }
.hp-foto2-text p { color:var(--muted); }
.hp-foto2-cta { margin-bottom:0; }
@media (max-width:760px) {
  .hp-foto-druha { grid-template-columns:1fr; gap:20px; }
}

 
.hp-rozvoz-odkazy { display:flex; flex-wrap:wrap; gap:12px; }
.hp-rozvoz-btn {
  display:inline-flex; align-items:center; gap:8px; min-height:48px;
  padding:.6em 1.3em; border:1px solid var(--line); border-radius:999px;
  background:var(--surface); color:var(--ink); font-weight:600;
  box-shadow:var(--tien); transition:border-color var(--t-tlacidlo) var(--ease-out), box-shadow var(--t-tlacidlo) var(--ease-out);
}
.hp-rozvoz-btn:hover { border-color:var(--primar); box-shadow:var(--tien-h); }
.hp-rozvoz-sip { color:var(--muted); font-size:.9em; }
.hp-rozvoz-alt { margin-top:18px; color:var(--muted); }
 
.hp-rozvoz-tel { font-weight:600; }

 
.pata-poznamka { margin:6px 0 0; font-size:.8rem; color:var(--na-panele-muted); }

 
.detail-uprava { margin:14px 0 0; color:var(--muted); font-size:.9375rem; }
.detail-akcie { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 0; }

 
 
.obj-mriezka { display:grid; grid-template-columns:1fr 400px; gap:32px; align-items:start; margin-top:28px; }
@media (max-width:900px) { .obj-mriezka { grid-template-columns:1fr; } }

 
.obj-zatvorene {
  margin:0 0 18px; padding:14px 18px; border-radius:var(--radius);
  border-left:4px solid var(--vystraha); background:var(--tint); color:var(--ink);
}
.obj-potvrdenie {
  display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between;
  margin:0 0 8px; padding:16px 20px; border-radius:var(--radius);
  border:2px solid var(--zavolat); background:var(--surface);
}
.obj-potvrdenie-text { margin:0; flex:1 1 320px; }
.obj-potvrdenie-btn { flex:0 0 auto; }
.obj-noscript {
  margin:16px 0 0; padding:14px 18px; border-radius:var(--radius);
  border:1px solid var(--line); background:var(--tint);
}

 
.obj-hladaj { display:block; margin:0 0 18px; }
.obj-hladaj input {
  width:100%; padding:.7em 1em; border:1px solid var(--line); border-radius:999px;
  background:var(--surface); font:inherit; color:var(--ink);
}
.obj-listok-tip { color:var(--muted); margin:0 0 14px; }
.obj-kat { margin:0 0 26px; }
.obj-kat h3 { margin:0 0 10px; font-size:1.05rem; }
.obj-zoznam { list-style:none; margin:0; padding:0; }
.obj-polozka {
  display:flex; align-items:center; gap:12px;
  padding:9px 0; border-bottom:1px solid var(--line);
}
.obj-polozka-text { flex:1; min-width:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.obj-polozka-nazov { color:var(--ink); font-weight:500; }
.obj-polozka-gramaz, .obj-polozka-vyber { font-size:.8rem; color:var(--muted); }
.obj-polozka-vyber {
  border:1px solid var(--line); border-radius:999px; padding:.1em .6em; white-space:nowrap;
}
.obj-polozka-cena { font-family:var(--pismo-mono); white-space:nowrap; }
 
.obj-pridaj {
  flex:none; width:44px; height:44px; border-radius:50%;
  border:1px solid var(--line); background:var(--surface); color:var(--ink);
  font-size:1.3rem; line-height:1; cursor:pointer;
  transition:background var(--t-tlacidlo) var(--ease-out), border-color var(--t-tlacidlo) var(--ease-out);
}
.obj-pridaj:hover { background:var(--tint); border-color:var(--primar); }
.obj-nenaslo { color:var(--muted); }

 
 
.obj-panel {
  position:sticky; top:88px;
  max-height:calc(100vh - 104px);
  max-height:calc(100dvh - 104px);
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid var(--line); border-radius:var(--radius);
  background:var(--surface); padding:20px; box-shadow:var(--tien);
}
@media (max-width:900px) {
   
  .obj-panel { order:-1; }
  .obj-listok { order:0; }

   
  .obj-panel {
    position:static;
    max-height:70vh; max-height:70dvh;
    overflow-y:auto; overscroll-behavior:contain;
  }
  .obj-kosik { max-height:none; overflow:visible; }
}
.obj-panel h2 { margin-top:0; font-size:1.15rem; }
.obj-prazdna { color:var(--muted); }
.obj-kosik { list-style:none; margin:0 0 18px; padding:0; }
.obj-riadok { padding:12px 0; border-bottom:1px solid var(--line); }
.obj-riadok-hlava { display:flex; align-items:center; gap:8px; }
.obj-pocet { font-family:var(--pismo-mono); min-width:2.2em; }
.obj-nazov { flex:1; min-width:0; font-weight:500; }
.obj-cena { font-family:var(--pismo-mono); white-space:nowrap; }
.obj-zaloha { display:block; font-family:var(--pismo-text); font-size:.74rem; font-weight:400; color:var(--muted); }
.obj-mnoz, .obj-zmaz {
  flex:none; width:32px; height:32px; border-radius:8px;
  border:1px solid var(--line); background:var(--surface); color:var(--ink);
  cursor:pointer; line-height:1;
}
.obj-mnoz:hover, .obj-zmaz:hover { background:var(--tint); }
.obj-vyber { margin:10px 0 0; }
.obj-vyber label { display:block; font-size:.85rem; color:var(--muted); margin-bottom:3px; }
.obj-select {
  width:100%; padding:.5em .6em; border:1px solid var(--line); border-radius:8px;
  background:var(--surface); color:var(--ink); font:inherit;
}
 
 

.obj-pole { margin:0 0 14px; }
.obj-pole label { display:block; font-weight:600; font-size:.9rem; margin-bottom:4px; }
.obj-pole input {
  width:100%; padding:.6em .8em; border:1px solid var(--line); border-radius:10px;
  background:var(--surface); color:var(--ink); font:inherit;
}
.obj-mini { margin:4px 0 0; font-size:.8125rem; color:var(--muted); }
.obj-suma { margin:16px 0 0; font-size:1.05rem; font-weight:600; }
.obj-suma-vyhrada { margin-bottom:16px; }
 
.obj-zaloha-spolu { margin:2px 0 0; }

.obj-nadpis-sms { font-size:.95rem; margin:18px 0 6px; }
 
.obj-sms {
  margin:0; padding:12px 14px; border-radius:10px;
  border:1px dashed var(--line); background:var(--tint);
  font-family:var(--pismo-mono); font-size:.8125rem; line-height:1.5;
  white-space:pre-wrap; word-break:break-word; overflow-wrap:anywhere;
}
.obj-dlzka { margin:8px 0 0; font-size:.8125rem; color:var(--muted); }
.obj-dlzka.je-dlha { color:var(--ink); border-left:3px solid var(--vystraha); padding-left:10px; }
.obj-akcie { display:flex; flex-direction:column; gap:10px; margin:16px 0 0; }
.obj-akcie .cta { text-align:center; }
.obj-desktop { margin:0; font-size:.875rem; color:var(--muted); }
.obj-potvrdenie-mini { margin:14px 0 0; font-size:.875rem; }
.obj-sukromie { margin-top:12px; }

 
.obj-odznak { background:var(--tint); color:var(--ink); border-color:var(--line); gap:5px; }
.obj-odznak-n { font-family:var(--pismo-mono); font-weight:700; }

 
.karta-pridaj {
  display:block; width:100%; margin:10px 0 0;
  padding:.55em 1em; border:1px solid var(--line); border-radius:999px;
  background:var(--surface); color:var(--ink); font:inherit; font-weight:600;
  font-size:.875rem; cursor:pointer; transition:background var(--t-tlacidlo) var(--ease-out), border-color var(--t-tlacidlo) var(--ease-out);
}
.karta-pridaj:hover { background:var(--tint); border-color:var(--primar); }

 
.obj-oznam {
  position:fixed; left:50%; bottom:20px; transform:translate(-50%, 20px);
  z-index:80; max-width:calc(100vw - 32px);
  padding:12px 18px; border-radius:999px;
  background:var(--primar); color:var(--na-farbe); font-size:.9rem;
  box-shadow:var(--tien-h); opacity:0; pointer-events:none;
  transition:opacity var(--t-hover) var(--ease-out), transform var(--t-hover) var(--ease-out);
}
.obj-oznam.je-vidno { opacity:1; transform:translate(-50%, 0); }
@media (prefers-reduced-motion:reduce) {
  .obj-oznam { transition:none; }
}

 
.bezlepkova-vyhrada {
  border:2px solid var(--vystraha); border-radius:var(--radius);
  background:var(--tint); padding:18px 20px;
}
.bezlepkova-vyhrada h2 { margin:0 0 10px; font-size:1.05rem; }
.bezlepkova-vyhrada p { margin:0 0 10px; }
.bezlepkova-vyhrada p:last-child { margin-bottom:0; }
.bezlepkova-vyhrada-mini { font-size:.875rem; color:var(--muted); }

 
.karta-alergeny.je-ziadne { color:var(--muted); font-weight:500; }

 
.obj-foto {
  flex:none; display:block; width:56px; height:56px;
  border-radius:10px; overflow:hidden; background:var(--tint);
  border:1px solid var(--line);
}
.obj-foto img { display:block; width:100%; height:100%; object-fit:cover; }
 
.obj-foto-prazdna::after { content:none; }
.obj-foto-prazdna {
  background:repeating-linear-gradient(135deg,var(--tint),var(--tint) 6px,var(--pruh) 6px,var(--pruh) 12px);
}

 
 
.obj-krok {
  display:flex; align-items:center; gap:10px;
  margin:0 0 10px; font-family:var(--pismo-nadpis); font-weight:700;
  font-size:.95rem; color:var(--ink);
}
.obj-krok-c {
  flex:none; display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:50%;
  background:var(--primar); color:var(--na-farbe);
  font-family:var(--pismo-mono); font-size:.8rem; font-weight:700;
}
 
.obj-krok3 {
  margin:18px 0 0; padding:16px 18px;
  border:1px solid var(--line); border-radius:var(--radius); background:var(--tint);
   
  scroll-margin-bottom:16px;
}
.obj-krok3 p { margin:0 0 10px; font-size:.9375rem; }
 
.obj-krok3-btn { display:block; text-align:center; scroll-margin-bottom:20px; }
.obj-akcie .cta, .obj-navrat-btn { scroll-margin-bottom:20px; }
.obj-cakanie { color:var(--muted); }

 
.obj-navrat {
  position:relative; margin:0 0 16px; padding:16px 40px 16px 18px;
  border:2px solid var(--zavolat); border-radius:var(--radius);
  background:var(--surface);
}
.obj-navrat-text { margin:0 0 12px; }
.obj-navrat-btn { display:block; text-align:center; }
.obj-navrat-zavri {
  position:absolute; top:6px; right:6px; width:32px; height:32px;
  border:0; background:transparent; color:var(--muted);
  font-size:1.2rem; line-height:1; cursor:pointer; border-radius:8px;
}
.obj-navrat-zavri:hover { background:var(--tint); color:var(--ink); }

 
 
.mapa { margin:18px 0; }
.mapa-zastup, .mapa-ram {
  display:block; width:100%; height:280px;
  border:1px solid var(--line); border-radius:var(--radius);
}
.mapa-zastup {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; text-align:center; color:var(--ink);
   
  background:repeating-linear-gradient(135deg,var(--tint),var(--tint) 14px,var(--pruh) 14px,var(--pruh) 28px);
  transition:border-color var(--t-tlacidlo) var(--ease-out);
}
.mapa-zastup:hover { border-color:var(--primar); }
.mapa-zastup-ikona { color:var(--akcent-text); }
.mapa-zastup-text { line-height:1.5; }
.mapa-zastup-cta { font-weight:600; color:var(--akcent-text); }
.mapa-ram { border:0; }
.mapa-pata { display:flex; flex-direction:column; gap:8px; margin-top:10px; }
.mapa-btn { align-self:flex-start; }
.mapa-poznamka { margin:0; font-size:.8125rem; color:var(--muted); }
@media (max-width:600px) {
  .mapa-zastup, .mapa-ram { height:220px; }
  .mapa-btn { align-self:stretch; text-align:center; }
}

 
 
.obj-qr {
  margin:6px 0 0; padding:14px; border:1px solid var(--line);
  border-radius:var(--radius); background:var(--tint); text-align:center;
}
.obj-qr-vyzva { margin:0 0 10px; font-size:.9375rem; font-weight:600; }
 
.obj-qr canvas {
  display:block; margin:0 auto; max-width:100%; height:auto;
  border-radius:8px; box-shadow:var(--tien);
}
.obj-qr-pozn { margin:10px 0 0; font-size:.8125rem; color:var(--muted); }
.obj-qr-pozn.je-dlha {
  color:var(--ink); text-align:left;
  border-left:3px solid var(--vystraha); padding-left:10px;
}

 
 
.rozvoz-logo { display:block; flex:none; width:40px; height:40px; }
.hp-rozvoz-btn { padding-left:.7em; }
.pata-rozvoz { display:inline-flex; align-items:center; gap:8px; }
.pata-rozvoz img { display:block; flex:none; width:20px; height:20px; }

 
.uprava-zoznam { list-style: none; margin: 10px 0 0; padding: 0; max-width: 420px; }
.uprava-riadok + .uprava-riadok { border-top: 1px solid var(--line); }
 
.uprava-riadok-bokom:first-of-type { border-top: 2px solid var(--line); }
.uprava-prepinac {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 44px; padding: 4px 0; cursor: pointer;
}
.uprava-text { font-size: .95rem; line-height: 1.4; }
 
.uprava-vstup { position: absolute; width: 44px; height: 26px; margin: 0; opacity: 0; cursor: pointer; }
.uprava-spinac {
  flex: 0 0 44px; width: 44px; height: 26px; border-radius: 13px;
  background: var(--line); position: relative; transition:background var(--t-hover) var(--ease-out);
}
.uprava-spinac::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px;
  border-radius: 50%; background: var(--surface); box-shadow: var(--tien-h);
  transition:transform var(--t-hover) var(--ease-out);
}
.uprava-vstup:checked + .uprava-spinac { background: var(--primar-h); }
.uprava-vstup:checked + .uprava-spinac::after { transform: translateX(18px); }
 
.uprava-vstup:focus-visible + .uprava-spinac { outline: 2px solid var(--primar-h); outline-offset: 2px; }
.uprava-popis { margin: 4px 0 0; color: var(--muted); font-size: .92rem; line-height: 1.5; }
.uprava-poznamka { margin: 10px 0 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.uprava-vratit { margin-top: 14px; }

 
.uprava-prouzok {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
  padding: 12px 20px calc(12px + env(safe-area-inset-bottom));
  background: var(--surface); border-top: 1px solid var(--line);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, .08);
  font-size: .95rem; font-variant-numeric: tabular-nums; text-align: center;
}
@media (prefers-reduced-motion: reduce) {
  .uprava-spinac, .uprava-spinac::after { transition:none; }
}

 
.obj-uprava { display: block; margin-top: 2px; color: var(--muted); font-size: .82rem; line-height: 1.4; }

 
.cta:active,
button:not(:disabled):active,
.admin-link:active,
.karta:active, .hp-karta:active, .hp-tile:active, a.hp-rc:active,
.hp-clanok:active, .hub-karta:active, .kat-karta:active, .dlazdica:active,
a.admin-stat:active {
  scale:.97;
  transition:scale var(--t-tlacidlo) var(--ease-out);
}
 
.cta-disabled:active, button:disabled:active { scale:1; }

 
:root {
  color-scheme:dark;
  --paper:#171410; --ink:#f9efda; --muted:#c5b59d; --line:#4a4033;
  --surface:#231f19; --tint:#2c251c; --primar:#e4bb77; --primar-h:#f4d49e;
  --akcent:#e4bb77; --akcent-text:#e4bb77; --akcent-text-h:#f4d49e; --zlata-plocha:#352919;
  --zlata-text:#f9dfb3; --zlata-ram:#a88652; --na-farbe:#171410; --na-farbe-jemny:#292016;
  --hlavicka:#211c16; --tmavy-panel:#171410;
  --na-panele:#e0d1b8; --na-panele-muted:#ccbaa1; --na-panele-jasny:#fffbf3;
  --viz-cervena:#e4bb77; --viz-krem:#171410; --viz-med:#e8b05c;
  --viz-tmava:#211c16; --viz-biela:#fffbf3; --viz-jemna:#231f19;
  --viz-vodoznak:#e6d4ba; --viz-tien:rgba(48,33,23,.08);
  --viz-hlavicka-text:#f5efdf; --viz-hlavicka-muted:#d4c2a7;
  --viz-hlavicka-line:#4a4033; --viz-priehladna:rgba(23,20,16,0);
  --sekcia-tint:rgba(23,20,16,0); --line-jemna:rgba(74,64,51,.65);
  --pruh:#2a241a; --vystraha:#f08a80; --off-bg:#211d17; --riadok-hover:#29231b;
  --ok-bg:#17241a; --ok-text:#96d0a0; --ok-line:#2e4636;
  --err-bg:#2a1512; --err-text:#f2a396; --err-line:#4a241e;
  --top-bg:#2b2312; --top-text:#f0c06b; --top-line:#4c3d1e;
  --tien:0 10px 30px var(--viz-tien);
  --burger-noc:#171410; --burger-svetlo:#f9efda; --burger-zlato:#e4bb77;
  --burger-tlmeny:#c5b59d; --burger-linka:rgba(228,187,119,.24);
  --burger-ziara:rgba(165,104,39,.2); --burger-titul:rgba(228,187,119,.12);
  --radius:16px; --radius-l:22px;
}
html { scroll-padding-top:90px; }
body { background:var(--paper); color:var(--ink); }
.hlavicka {
  --paper:var(--viz-tmava); --ink:var(--viz-hlavicka-text);
  --muted:var(--viz-hlavicka-muted); --line:var(--viz-hlavicka-line);
  --surface:var(--viz-tmava); --tint:var(--viz-hlavicka-line);
  background:var(--viz-tmava); border-bottom-color:var(--viz-hlavicka-line);
  backdrop-filter:none;
}
.hlavicka-in { max-width:1400px; min-height:76px; }
.brand-logo { width:79px; height:auto; }
.navigacia a { font-weight:600; }
.hlavicka .nav-tel { background:var(--viz-cervena); color:var(--na-farbe); }
.hlavicka .cta-zavolat { background:var(--primar); color:var(--na-farbe); }
.hlavicka .cta-zavolat:hover { background:var(--primar-h); color:var(--na-farbe); }
.hlavicka .hl-zavolat { background:var(--primar); color:var(--na-farbe); }
.hlavicka .hl-zavolat:hover { background:var(--primar-h); color:var(--na-farbe); }
.hp-hero { position:relative; padding:76px 24px 68px; min-height:calc(100svh - 76px); display:flex; align-items:center; justify-content:center; background:var(--paper); overflow:hidden; }
.hp-hero::before,.hp-hero::after { content:none; }
.hp-hero-in { width:100%; max-width:1120px; position:relative; z-index:1; }
.hp-kicker { color:var(--viz-cervena); font-size:.74rem; letter-spacing:.16em; margin-bottom:26px; }
.hp-h1 { max-width:1100px; font-size:clamp(3.5rem,7.7vw,7rem); line-height:1.01; letter-spacing:-.064em; margin:0 auto 26px; font-weight:800; }
.hp-h1 span { display:block; }
.hp-h1 span:last-child { color:var(--viz-cervena); }
.hp-sub { max-width:640px; margin:0 auto 34px; font-size:1.02rem; line-height:1.7; color:var(--muted); }
.hero-peciatka { position:absolute; top:74px; right:4.5%; width:103px; height:103px; border:1px solid var(--viz-cervena); border-radius:50%; display:flex; flex-direction:column; justify-content:center; gap:5px; text-align:center; color:var(--viz-cervena); transform:rotate(12deg); font:600 .64rem var(--pismo-mono); letter-spacing:.09em; }
.hero-peciatka span { font-size:.48rem; }
.hp-search-vyzva { max-width:760px; font-size:.85rem; color:var(--ink); }
.hp-search { max-width:760px; margin-inline:auto; gap:10px; align-items:stretch; }
.hp-search-pole { border:1px solid var(--ink); background:var(--surface); border-radius:12px; min-height:66px; padding:12px 20px; box-shadow:none; }
.hp-search-pole input { font-size:1rem; min-height:38px; }
.hp-search-btn { background:var(--viz-cervena); color:var(--na-farbe); border:1px solid var(--viz-cervena); border-radius:12px; padding:0 34px; min-height:66px; box-shadow:none; }
.hp-search-btn:hover { background:var(--primar-h); color:var(--na-farbe); }
.hp-search-pole:focus-within { outline:2px solid var(--viz-cervena); outline-offset:3px; }
.hp-chips { margin-top:19px; gap:8px; }
.hp-chip { border:1px solid var(--line); background:transparent; color:var(--ink); box-shadow:none; font-size:.76rem; padding:8px 13px; }
.hp-chip:hover { background:var(--viz-jemna); border-color:var(--muted); }
.hp-chips-label { font-size:.75rem; }

 
.burger-scena { --paper:var(--burger-noc); --ink:var(--burger-svetlo); --muted:var(--burger-tlmeny); --line:var(--burger-linka); --viz-cervena:var(--burger-zlato); position:relative; color:var(--ink); background:var(--paper); border:0; }
.burger-sticky { position:relative; height:740px; max-height:900px; min-height:540px; display:grid; grid-template-columns:1fr 1.6fr .8fr; align-items:center; gap:14px; padding:50px max(5vw,24px); overflow:hidden; isolation:isolate; background:var(--paper); }
.burger-scena.is-interaktivna { height:auto; }
.is-interaktivna .burger-sticky { position:relative; top:0; height:calc(100svh - 76px); }
.burger-vodoznak { display:none; }
.burger-sticky { background:radial-gradient(ellipse closest-side at 50% 50%,var(--burger-ziara),var(--viz-priehladna)),var(--paper); }
.burger-sticky::after { content:none; }
.burger-uvod { position:relative; z-index:2; max-width:310px; align-self:center; }
.burger-uvod .sekcia-kicker { max-width:220px; font-size:.62rem; line-height:1.6; color:var(--viz-cervena); }
.burger-uvod h2 { font-size:clamp(2rem,3.7vw,3.7rem); line-height:1.02; letter-spacing:-.05em; margin:18px 0; text-wrap:balance; }
.burger-veta { color:var(--muted); font-size:.9rem; line-height:1.8; max-width:235px; }
.burger-preskoc { display:inline-flex; align-items:center; gap:20px; padding:13px 0; border-bottom:1px solid var(--viz-cervena); color:var(--viz-cervena); font-weight:600; font-size:.86rem; text-decoration:none; }
.burger-preskoc span { font-size:1.3rem; }
.burger-obraz { position:absolute; inset:5% 0 auto; height:100%; min-height:0; pointer-events:none; z-index:0; mix-blend-mode:screen; transform:scale(calc(1 + var(--burger-progres,0) * .65)); transform-origin:50% 55%; }
.burger-obraz img,.burger-obraz video { position:absolute; width:100%; height:100%; object-fit:contain; inset:0; }
.burger-video { opacity:0; }
.is-video-pripravene .burger-video { opacity:1; }
.is-video-pripravene .burger-poster { opacity:0; }
.burger-detail { position:relative; grid-column:3; z-index:2; width:100%; max-width:220px; justify-self:end; padding-top:75px; }
.is-interaktivna .burger-uvod { opacity:calc(.35 + var(--burger-text,0) * .65); transform:translateX(calc((var(--burger-text,0) - 1) * 85px)); }
.is-interaktivna .burger-detail { opacity:calc(.35 + var(--burger-text,0) * .65); transform:translateX(calc((1 - var(--burger-text,0)) * 85px)); }
.burger-cislo { font:400 .65rem var(--pismo-mono); letter-spacing:.12em; color:var(--muted); }
.burger-kroky { margin-top:24px; }
.burger-krok { display:grid; grid-template-columns:25px 1fr; gap:10px; font-size:.87rem; font-weight:600; padding:14px 0; margin:0; border-bottom:1px solid var(--line); color:var(--muted); transition:color .2s; }
.burger-krok span { font:400 .6rem var(--pismo-mono); margin-top:4px; }
.burger-krok.is-aktivny { color:var(--viz-cervena); }
.burger-linka { height:2px; width:100%; margin-top:28px; background:var(--line); overflow:hidden; }
.burger-linka i { display:block; width:100%; height:100%; background:var(--viz-cervena); transform:scaleX(var(--burger-progres,0)); transform-origin:left; }
.burger-pokyn { margin-top:13px; font-size:.65rem; color:var(--muted); display:flex; justify-content:space-between; gap:8px; }
.burger-pokyn span { font-size:1.1rem; }
.burger-podpis { position:absolute; bottom:24px; left:5vw; color:var(--muted); font:400 .58rem var(--pismo-mono); letter-spacing:.2em; }

.sekcia { max-width:1320px; padding:64px 32px; }
.hp-oblubene { position:relative; background:var(--paper); max-width:none; padding:72px max(5vw,24px) 80px; border:0; }
.hp-oblubene .sekcia-hlava,.hp-oblubene .hp-grid { max-width:1320px; margin-inline:auto; }
.sekcia-hlava { margin-bottom:32px; }
.sekcia-titulky h2 { font-size:clamp(1.75rem,3vw,2.8rem); letter-spacing:-.045em; max-width:700px; }
.sekcia-kicker { color:var(--viz-cervena); font-size:.68rem; letter-spacing:.12em; }
.odkaz-viac { color:var(--viz-cervena); }
.hp-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.hp-karta { border:1px solid var(--line); border-radius:16px; box-shadow:none; background:var(--paper); }
.hp-karta:hover { box-shadow:0 12px 28px var(--viz-tien); }
.hp-karta .hp-foto { aspect-ratio:4/3; }
.hp-karta .hp-foto img { transition:transform .35s; }
.hp-karta:hover .hp-foto img { transform:scale(1.035); }
.hp-karta-telo { padding:19px; }
.hp-karta-kicker { color:var(--viz-cervena); font-size:.58rem; letter-spacing:.06em; }
.hp-karta-nazov { font-size:1.22rem; letter-spacing:-.025em; }
.hp-karta-popis { color:var(--muted); font-size:.8rem; line-height:1.6; }
.hp-karta-cena { color:var(--viz-cervena); font:700 1.4rem var(--pismo-nadpis); }
.hp-foto-pas { height:280px; overflow:hidden; }
.hp-hero-foto { width:100%; height:100%; object-fit:cover; }
.katalog-banner { height:clamp(150px,21vw,290px); position:relative; }
.katalog-banner::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,var(--viz-priehladna) 55%,var(--paper)); pointer-events:none; }
.katalog-banner .hp-hero-foto { object-position:50% 47%; }
.katalog-banner picture { display:block; width:100%; height:100%; }
@media (min-width:861px) {
  .katalog-obsah .filtre-row { grid-template-columns:1.6fr 1.2fr .8fr .8fr 1fr auto; }
  .katalog-obsah .filtre-row-kategoria { grid-template-columns:1.6fr .8fr .8fr 1fr auto; }
}
@media (max-width:760px) { .katalog-banner { display:none; } }
@media (max-width:760px), (hover:none) {
  @view-transition { navigation:none; }
}
 
@media (max-width:680px) {
  .hlavicka .navigacia { display:none; position:absolute; inset:100% 0 auto; transform:none; transition:none; max-height:calc(100svh - 64px); overflow-y:auto; }
  .hlavicka .nav-prepinac:checked ~ .navigacia { display:flex; transform:none; }
  .hlavicka .navigacia a { min-height:44px; display:flex; align-items:center; touch-action:manipulation; }
}
.katalog-obsah { padding-top:35px; }
.katalog-obsah > .kat-hlava { position:relative; min-height:0; }
.burger-kurzor { position:fixed; top:0; left:0; width:90px; height:110px; z-index:60; pointer-events:none; visibility:hidden; opacity:.85; mix-blend-mode:screen; }
.burger-kurzor.je-viditelny { visibility:visible; }
.burger-kurzor-otocka { width:100%; height:100%; }
.burger-kurzor-vyrez { position:relative; width:90px; height:110px; overflow:hidden; }
.burger-kurzor img { position:absolute; width:108px; height:192px; max-width:none; left:-9px; top:-43px; }
@media (max-width:760px),(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse) { .burger-kurzor { display:none; } }
@media (max-width:760px),(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse) { .katalog-obsah > .kat-hlava { min-height:0; } }
.hp-foto-druha { padding-block:85px; gap:64px; }
.hp-foto2 { border-radius:20px; overflow:hidden; transform:rotate(-2deg); }
.hp-foto2 figcaption { padding:12px 8px; font-size:.75rem; }
.hp-foto2-text h2 { font-size:clamp(2rem,3.7vw,3.6rem); letter-spacing:-.045em; line-height:1.08; }
.hp-foto2-text p { font-size:.96rem; line-height:1.8; }
.hp-rc { background:var(--surface); box-shadow:none; border:1px solid var(--line); }
.hp-rozvoz { background:var(--paper); border-color:var(--line); }
:focus-visible { outline:3px solid var(--viz-cervena); outline-offset:4px; }
.hlavicka :focus-visible { outline-color:var(--viz-med); }
@media(min-width:1500px) { .burger-sticky { padding-inline:calc((100vw - 1320px)/2); } }
@media(max-width:1100px) {
  .hero-peciatka { display:none; }
  .hp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .burger-sticky { grid-template-columns:1fr 1.5fr .8fr; padding-inline:30px; }
  .burger-uvod h2 { font-size:2.3rem; }
}
@media(max-width:760px) {
  html { scroll-padding-top:80px; }
  .hlavicka-in { min-height:64px; }
  .brand-logo { width:66px; }
  .hp-hero { padding:46px 20px 42px; min-height:calc(100svh - 68px); }
  .hp-kicker { font-size:.61rem; margin-bottom:24px; line-height:1.7; }
  .hp-h1 { font-size:clamp(2.8rem,9.3vw,4.7rem); letter-spacing:-.055em; margin-bottom:22px; }
  .hp-sub { font-size:.91rem; line-height:1.7; max-width:470px; margin-bottom:26px; }
  .hp-search { gap:9px; }
  .hp-search-pole { min-height:58px; padding:8px 14px; }
  .hp-search-pole input { font-size:.88rem; }
  .hp-search-btn { min-height:52px; padding:12px 24px; }
  .hp-chip { font-size:.69rem; padding:8px 12px; }
  .hp-chips { gap:6px; }
  .burger-scena.is-interaktivna { height:210svh; }
  .burger-sticky,.is-interaktivna .burger-sticky { top:0; height:calc(100svh - 64px); min-height:570px; max-height:900px; padding:28px 22px 20px; grid-template-columns:1fr; grid-template-rows:auto 1fr auto; gap:0; }
  .is-interaktivna .burger-sticky { position:sticky; top:64px; min-height:0; max-height:none; }
  .burger-vodoznak { top:31%; font-size:18vw; }
  .burger-uvod { align-self:start; max-width:none; text-align:center; }
  .is-interaktivna .burger-uvod,.is-interaktivna .burger-detail { transform:none; opacity:1; }
  .burger-uvod .sekcia-kicker { max-width:none; font-size:.5rem; margin:0; }
  .burger-uvod h2 { font-size:1.95rem; margin:9px 0 8px; }
  .burger-veta { display:none; }
  .burger-preskoc { position:absolute; right:0; top:calc(100svh - 147px); font-size:.65rem; gap:10px; border-bottom:0; padding:0; }
  .burger-obraz { inset:13% -5% auto; width:110%; max-width:none; height:80%; min-height:0; margin:0; transform:scale(calc(1 + var(--burger-progres,0) * .18)); }
  .burger-detail { grid-column:1; grid-row:3; max-width:none; width:100%; padding:0 0 23px; }
  .burger-cislo { display:none; }
  .burger-kroky { margin:0; display:flex; justify-content:center; gap:10px; }
  .burger-krok { display:none; border:0; font-size:.78rem; padding:0; text-align:center; }
  .burger-krok.is-aktivny { display:block; }
  .burger-krok span { margin-right:10px; }
  .burger-linka { margin-top:13px; }
  .burger-pokyn { position:absolute; bottom:-9px; margin:0; font-size:.56rem; }
  .burger-pokyn span { display:none; }
  .burger-podpis { display:none; }
  .sekcia { padding:45px 20px; }
  .hp-oblubene { padding:45px 20px; }
  .sekcia-hlava { align-items:start; gap:18px; }
  .sekcia-titulky h2 { font-size:1.85rem; }
  .sekcia-hlava>.odkaz-viac { font-size:.72rem; white-space:nowrap; padding-top:7px; }
  .hp-grid { gap:14px; }
  .hp-karta-telo { padding:15px; }
  .hp-karta-nazov { font-size:1.1rem; }
  .hp-foto-pas { height:200px; }
  .hp-foto-druha { gap:32px; }
  .hp-foto2 { transform:none; }
}
@media(max-width:520px) {
  .hp-grid { grid-template-columns:1fr; gap:22px; }
  .hp-karta .hp-foto { aspect-ratio:1.55; }
  .hp-karta-telo { padding:20px; }
  .hp-karta-nazov { font-size:1.4rem; }
}
@media(prefers-reduced-motion:reduce) {
  .burger-scena.is-interaktivna { height:auto; }
  .is-interaktivna .burger-sticky { position:relative; top:0; }
  .burger-video { display:none; }
  .is-video-pripravene .burger-poster { opacity:1; }
  .burger-obraz { transform:none; }
  .burger-uvod,.burger-detail { transform:none!important; opacity:1!important; }
  .burger-pokyn,.burger-linka { display:none; }
  .hp-karta:hover .hp-foto img { transform:none; }
}

 
.obj-podrobnosti { margin:16px 0; border:1px solid var(--line); border-radius:12px; padding:12px; }
.obj-podrobnosti summary { cursor:pointer; font-weight:600; }
.obj .obj-box { font-size:.85rem; padding-block:10px; }
.obj .obj-potvrdenie { padding:12px 16px; }
.obj-mobil-lista { display:none; }
@media(max-width:900px) {
 .obj { padding-bottom:110px; }
 .obj-panel { scroll-margin-top:90px; }
 .obj-mobil-lista:not([hidden]) { position:fixed; z-index:45; bottom:max(14px,env(safe-area-inset-bottom)); left:16px; right:16px; display:flex; justify-content:space-between; align-items:center; padding:16px 20px; border-radius:14px; background:var(--primar); color:var(--na-farbe); font-weight:600; text-decoration:none; box-shadow:var(--tien); }
}
