@font-face{font-family:'Oxanium';src:url(fonts/oxanium.woff2) format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/manrope.woff2) format('woff2');font-weight:200 800;font-display:swap}

:root{
  --g950:#0E1012;--g900:#16191C;--g800:#1F2327;--g700:#2C3236;--g500:#5B636A;--g400:#8A9298;--g300:#AEB5BA;--g200:#D5D9D6;--g100:#E7E9E6;--papier:#F3F4F1;--biela:#FFFFFF;
  --z300:#6FE39A;--z400:#2FD16F;--z500:#1BAF58;--z700:#0B7A3B;--z800:#085C2D;
  --jantar:#F5A524;
  --prst:44px;--nav-h:72px;
  --disp:'Oxanium',system-ui,sans-serif;--text:'Manrope',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{font-size:clamp(15px,.45vw + 13px,19px);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--text);color:var(--g900);background:var(--papier);line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--disp);line-height:1.06;margin:0;font-weight:700;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.6vw,3rem);max-width:22ch}
h3{font-size:1.18rem;line-height:1.2}
p{margin:0}
.skip{position:absolute;left:-999px;top:0;background:var(--z400);color:var(--g950);padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem}
:focus-visible{outline:3px solid var(--z400);outline-offset:3px}
.shell{width:100%;max-width:74rem;margin:0 auto;padding-inline:clamp(16px,4vw,2.5rem)}

.eyebrow{font-family:var(--disp);font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--z400);margin-bottom:.9rem}
.eyebrow--tm{color:var(--z700)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--prst);padding:.7rem 1.3rem;border-radius:6px;font-family:var(--disp);font-weight:700;font-size:1rem;letter-spacing:.02em;text-decoration:none;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn--zel{background:var(--z400);color:var(--g950)}
.btn--zel:hover{background:var(--z300)}
.btn--line{border-color:var(--g500);color:var(--papier);background:transparent}
.btn--line:hover{border-color:var(--z400);color:var(--z300)}
.btn--tm{border-color:var(--g300);color:var(--g900)}
.btn--tm:hover{border-color:var(--z700);color:var(--z700)}
.btn:active{transform:translateY(1px)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--g950);color:var(--papier);border-bottom:1px solid var(--g800)}
.nav__in{display:flex;align-items:center;gap:1.5rem;height:var(--nav-h)}
.nav__logo{display:flex;align-items:center;min-height:var(--prst)}
.nav__logo img{height:40px;width:auto}
.nav__links{display:flex;gap:.3rem;margin-left:auto}
.nav__links a{display:inline-flex;align-items:center;min-height:var(--prst);padding:0 .8rem;text-decoration:none;font-weight:600;font-size:.95rem;color:var(--g200)}
.nav__links a:hover{color:var(--z300)}
.nav__tel{padding-block:.5rem}
.nav__burger{display:none;margin-left:auto;width:48px;height:48px;background:none;border:1px solid var(--g700);border-radius:6px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav__burger span{display:block;width:20px;height:2px;background:var(--papier)}
.drawer{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem 16px 1.4rem;background:var(--g950);color:var(--papier);border-top:1px solid var(--g800)}
.drawer a{display:flex;align-items:center;justify-content:center;min-height:var(--prst);width:100%;max-width:22rem;text-decoration:none;font-weight:600;font-size:1.05rem}
.drawer a.btn--zel{color:var(--g950);margin-top:.4rem}
@media (min-width:861px){.drawer{display:none !important}}
@media (max-width:860px){.nav__links,.nav__tel{display:none}.nav__burger{display:flex}}

/* hero */
.hero{background:var(--g900);color:var(--papier);min-height:calc(100svh - var(--nav-h));display:flex;align-items:center;padding-block:clamp(1.5rem,5vh,4rem)}
.hero__in{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vh,2.5rem);align-items:center}
@media (min-width:900px){.hero__in{grid-template-columns:1.05fr 1fr;gap:3.5rem}}
.hero h1{font-size:clamp(2.5rem,min(6.4vw,9.4vh),5.4rem);line-height:1.04;font-weight:700;margin-bottom:clamp(.9rem,2.4vh,1.4rem)}
.hero h1 span{display:block;color:var(--z400)}
.hero__lead{font-size:1.08rem;color:var(--g200);max-width:34rem;margin-bottom:clamp(1.2rem,3vh,2rem)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.7rem}
.hero__fakty{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 2rem;padding:0;margin:clamp(1.2rem,3.5vh,2.2rem) 0 0;border-top:1px solid var(--g700);padding-top:clamp(.9rem,2.4vh,1.3rem)}
.hero__fakty li{display:flex;flex-direction:column}
.hero__fakty b{font-family:var(--disp);font-size:1.35rem;font-weight:700;color:var(--papier)}
.hero__fakty span{font-size:.85rem;color:var(--g300)}
.hero__foto{margin:0;position:relative;border-radius:10px;overflow:hidden;background:var(--g800)}
.hero__foto img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:899px){.hero__foto img{aspect-ratio:16/10;max-height:34vh}}

/* kontrolka: podpisový moment. Bez JS a pri reduced-motion svieti rovno zelená. */
.lampa{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:.7rem;padding:.55rem .95rem .55rem .6rem;background:var(--g950);color:var(--papier);border-radius:8px;border:1px solid var(--g700)}
.lampa__ikona{width:2.6rem;height:2.6rem;color:var(--z400);filter:drop-shadow(0 0 6px rgba(47,209,111,.55));transition:color .5s,filter .5s}
.lampa__txt{display:grid;font-family:var(--disp);font-weight:600;font-size:.9rem;letter-spacing:.04em}
.lampa__a,.lampa__b{grid-area:1/1;transition:opacity .4s}
.lampa__a{opacity:0}
.js .lampa[data-faza="1"] .lampa__ikona{color:var(--jantar);filter:drop-shadow(0 0 8px rgba(245,165,36,.7))}
.js .lampa[data-faza="1"] .lampa__a{opacity:1}
.js .lampa[data-faza="1"] .lampa__b{opacity:0}

/* sekcie */
.sec{padding-block:clamp(3.5rem,9vw,6.5rem)}
.sec__head{margin-bottom:clamp(2rem,4vw,3rem)}
.sluzby{background:var(--papier);color:var(--g900)}
.zoznam{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;border-top:2px solid var(--g900)}
@media (min-width:760px){.zoznam{grid-template-columns:1fr 1fr;column-gap:3rem}}
.zoznam li{display:grid;grid-template-columns:3rem 1fr;column-gap:.6rem;row-gap:.25rem;padding:1.15rem 0;border-bottom:1px solid var(--g200);min-width:0}
.zoznam__c{grid-row:span 2;font-family:var(--disp);font-weight:700;font-size:1rem;color:var(--z700);padding-top:.1rem}
.zoznam p{color:var(--g700);font-size:.95rem}
.zoznam li:hover h3{color:var(--z700)}
.cennik{margin-top:2rem}

.doplnit,.zoznam p .doplnit,.dielna p .doplnit,.brand .doplnit{display:inline-block;background:#FFF1B8;color:#5A4300;border:1px dashed #B58A00;border-radius:4px;padding:.15rem .5rem;font-family:var(--text);font-size:.85rem;font-weight:600;line-height:1.45}

.dielna{background:var(--g900);color:var(--papier)}
.gal{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;grid-template-columns:1fr}
.gal li{border-radius:8px;overflow:hidden;background:var(--g800);min-width:0}
.gal img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
@media (min-width:760px){.gal{grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr}.gal__a{grid-row:span 2}.gal__a img{aspect-ratio:auto}}
.dielna__pozn{margin-top:1.5rem}

.recenzie{background:var(--papier);color:var(--g900)}
.recenzie__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 3rem;margin-bottom:2rem}
.recenzie h2{max-width:24ch}
.skore{display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;align-items:center;text-decoration:none;color:var(--g900);min-height:var(--prst);background:var(--biela);border:1px solid var(--g200);border-radius:8px;padding:.8rem 1.1rem}
.skore b{grid-row:span 2;font-family:var(--disp);font-size:2.6rem;line-height:1}
.skore__hv{color:#8A6500;letter-spacing:.1em;font-size:1rem}
.skore span:last-child{font-size:.85rem;color:var(--g500);text-decoration:underline;text-underline-offset:3px}
.skore:hover{border-color:var(--z700)}
.pas{--odsad:max(clamp(16px,4vw,2.5rem),calc((100vw - 74rem)/2 + clamp(16px,4vw,2.5rem)));display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--odsad) 1.2rem;scroll-padding-inline:var(--odsad);scrollbar-width:thin}
.karta{flex:0 0 min(84vw,24rem);scroll-snap-align:start;margin:0;background:var(--biela);color:var(--g900);border:1px solid var(--g200);border-radius:10px;padding:1.4rem 1.4rem 1.2rem;display:flex;flex-direction:column;gap:.8rem}
.karta__hv{color:#8A6500;letter-spacing:.12em}
.karta blockquote{margin:0;font-size:.95rem;line-height:1.6;flex:1}
.karta figcaption{font-size:.85rem;font-weight:700;color:var(--g500)}

.kontakt{background:var(--g100);color:var(--g900)}
.kontakt__in{display:grid;gap:2.5rem}
@media (min-width:900px){.kontakt__in{grid-template-columns:1.2fr 1fr;gap:4rem}}
.kontakt .eyebrow{color:var(--z800)}
.kontakt__lead{margin:1rem 0 1.5rem;color:var(--g700);max-width:34rem}
.kontakt__cta{display:flex;flex-wrap:wrap;gap:.7rem}
.kontakt__cta .btn--line{border-color:var(--g400);color:var(--g900)}
.kontakt__cta .btn--line:hover{border-color:var(--z700);color:var(--z700)}
.mail{display:inline-flex;align-items:center;min-height:var(--prst);margin-top:.8rem;font-weight:700;color:var(--z800);text-underline-offset:4px}
.kontakt__info{background:var(--biela);color:var(--g900);border-radius:10px;padding:1.6rem;border:1px solid var(--g200)}
.stav{display:flex;align-items:center;gap:.6rem;font-weight:700;margin-bottom:1rem}
.stav i{width:.8rem;height:.8rem;border-radius:50%;background:var(--g400);flex:none}
.stav[data-otvorene="1"] i{background:var(--z500);box-shadow:0 0 0 4px rgba(27,175,88,.2)}
.hodiny{width:100%;border-collapse:collapse;margin-bottom:1.3rem;font-size:.95rem}
.hodiny caption{text-align:left;font-family:var(--disp);font-weight:700;margin-bottom:.4rem}
.hodiny th{text-align:left;font-weight:500;padding:.35rem 0}
.hodiny td{text-align:right;padding:.35rem 0}
.hodiny tr{border-bottom:1px solid var(--g100)}
.hodiny tr.dnes{font-weight:800;color:var(--z800)}
.kontakt address{font-style:normal;margin-bottom:1.2rem;line-height:1.55}

.foot{background:var(--g950);color:var(--g300);padding-block:2.5rem}
.foot__in{display:grid;gap:1.5rem;align-items:center}
@media (min-width:800px){.foot__in{grid-template-columns:auto 1fr auto}}
.foot img{width:220px}
.foot__col{display:flex;flex-wrap:wrap;gap:0 1.4rem}
@media (min-width:800px){.foot__col{justify-content:center}}
.foot__col a{display:inline-flex;align-items:center;min-height:var(--prst);color:var(--papier);text-decoration:none;font-weight:600}
.foot__col a:hover{color:var(--z300)}
.foot__legal{font-size:.8rem;line-height:1.6}

@media (prefers-reduced-motion:no-preference){
  .js .odhal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
  .js .odhal.ukaz{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lampa__ikona,.lampa__a,.lampa__b{transition:none}
}
