/* Friseur — Rajecká 15. Paleta z ich výkladu: červený portál, betón, limetkové písmo na skle. */
@font-face{font-family:"Josefin Sans";src:url(fonts/josefin.woff2) format("woff2");font-weight:100 700;font-display:swap}
@font-face{font-family:"Karla";src:url(fonts/karla.woff2) format("woff2");font-weight:200 800;font-display:swap}

:root{
  --papier:#F4F1EC; --betón:#E6E0D8; --betón-2:#D5CCC1; --linka:#CFC5B9;
  --atrament:#221E1C; --atrament-2:#3A3431; --tlmene:#5E5650;
  --cervena:#C8232C; --cervena-t:#A51C24; --cervena-s:#E0453D;
  --limetka:#A6C63A; --limetka-t:#5E7418;
  --disp:"Josefin Sans",system-ui,sans-serif; --text:"Karla",system-ui,sans-serif;
  --prst:44px; --nav-h:4.4rem;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:clamp(15px,.45vw + 13.2px,19px);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--atrament);font:400 1rem/1.6 var(--text)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--disp);font-weight:600;line-height:1.08;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.4vw,2.9rem);margin-bottom:1.2rem}
h3{font-size:1.35rem}
p{margin:0 0 .9rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skok{position:absolute;left:-999px;top:0;min-height:44px;display:flex;align-items:center}
.skok:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.6rem 1rem}
:focus-visible{outline:3px solid var(--cervena);outline-offset:3px}
.obal{width:min(100% - 2.5rem,74rem);margin-inline:auto}
.nadtitul{font:600 .78rem/1.3 var(--disp);letter-spacing:.2em;text-transform:uppercase;color:var(--cervena-t);margin-bottom:.9rem}
.nadtitul--svetly{color:var(--limetka)}
.cislo,.tel{font-family:var(--text);font-variant-numeric:lining-nums}
.doplnit.doplnit{display:inline-block;background:#FFF1B8;color:#5A4300;border:1.5px dashed #B08A00;border-radius:4px;padding:.1rem .45rem;font:600 .82rem/1.4 var(--text);letter-spacing:0;text-transform:none}

/* tlačidlá */
.tlacidlo{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--prst);padding:.7rem 1.3rem;background:var(--cervena);color:#fff;text-decoration:none;font:700 1rem/1.2 var(--text);letter-spacing:.01em;border:2px solid var(--cervena);border-radius:2px;transition:background .2s,border-color .2s,transform .2s}
.tlacidlo:hover{background:var(--cervena-t);border-color:var(--cervena-t);transform:translateY(-2px)}
.tlacidlo--obrys{background:transparent;color:var(--atrament);border-color:var(--atrament)}
.tlacidlo--obrys:hover{background:var(--atrament);color:var(--papier);border-color:var(--atrament)}
.tel{display:inline-flex;align-items:center;min-height:var(--prst);font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}

/* navigácia */
.nav{position:sticky;top:0;z-index:50;background:var(--papier);border-bottom:1px solid var(--linka)}
.nav__in{display:flex;align-items:center;gap:1.5rem;min-height:var(--nav-h)}
.nav__logo{display:flex;align-items:center;min-height:var(--prst)}
.nav__logo img{height:2.3rem;width:auto}
.nav__odkazy{display:flex;gap:1.6rem;margin-left:auto}
.nav__odkazy a{display:inline-flex;align-items:center;min-height:var(--prst);text-decoration:none;font:600 .95rem var(--disp);letter-spacing:.06em;text-transform:uppercase}
.nav__odkazy a:hover{color:var(--cervena-t)}
.nav__tel{display:inline-flex;align-items:center;min-height:var(--prst);padding:0 1rem;background:var(--atrament);color:var(--papier);text-decoration:none;font:700 .95rem var(--text);border-radius:2px}
.nav__tel:hover{background:var(--cervena)}
.nav__tel-kr{display:none}
.nav__menu{display:none;width:48px;height:48px;border:0;background:transparent;cursor:pointer;position:relative}
.nav__menu span:not(.sr){position:absolute;left:12px;right:12px;height:2px;background:var(--atrament);transition:transform .25s}
.nav__menu span:nth-child(1){top:19px}.nav__menu span:nth-child(2){top:27px}
.nav__menu[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.nav__menu[aria-expanded="true"] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.zasuvka{position:absolute;left:0;right:0;top:100%;background:var(--papier);color:var(--atrament);border-bottom:3px solid var(--cervena);display:flex;flex-direction:column;align-items:center;padding:1rem 1.25rem 1.5rem;gap:.2rem}
.zasuvka a{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;text-decoration:none;font:600 1.1rem var(--disp);text-transform:uppercase;letter-spacing:.06em}
.zasuvka a.tlacidlo{margin-top:.6rem;color:#fff}

/* hero */
.hero{padding-block:clamp(1.5rem,4vh,3.5rem)}
.hero__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center;min-height:calc(100svh - var(--nav-h) - clamp(3rem,8vh,7rem))}
.hero__text{min-width:0}
.hero h1{font-size:clamp(2.5rem,min(5.6vw,9vh),5.4rem);line-height:1.04;margin-bottom:clamp(.8rem,2.2vh,1.4rem)}
.hero__lead{font-size:clamp(1.05rem,min(1.4vw,2.4vh),1.3rem);max-width:34rem;color:var(--atrament-2);margin-bottom:clamp(1rem,3vh,2rem)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:clamp(1rem,3vh,2rem)}
.hero__fakty{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.95rem;color:var(--tlmene);margin:0}
.hodnotenie b{color:var(--atrament);font-size:1.1rem}
.hv{color:var(--cervena)}
.stav::before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--betón-2);margin-right:.45rem;vertical-align:.08rem}
.stav.je-otvorene::before{background:var(--limetka)}
.stav.je-zatvorene::before{background:var(--cervena)}

/* podpis: portál — fotka pod červeným rámom s tabuľou, ako ich výklad */
.portal{margin:0;position:relative;padding:0 clamp(.9rem,1.6vw,1.4rem) clamp(.9rem,1.6vw,1.4rem);background:var(--cervena);color:#fff;max-height:calc(100svh - var(--nav-h) - 4rem);display:flex;flex-direction:column}
.portal__strecha{display:flex;align-items:center;justify-content:flex-start;min-height:clamp(3.4rem,8vh,5.2rem);padding-left:.2rem}
.portal__tabula{display:inline-block;background:#5b5a5c;color:#fff;border:2px solid #d9d6d2;padding:.35rem 1.1rem .25rem;font:400 clamp(1rem,1.5vw,1.35rem)/1 var(--disp);letter-spacing:.08em;clip-path:polygon(0 0,100% 0,96% 100%,0 100%);transform-origin:left center}
.portal img{width:100%;flex:1 1 auto;min-height:0;object-fit:cover;object-position:50% 30%;aspect-ratio:4/5}
.portal figcaption{position:absolute;right:clamp(.9rem,1.6vw,1.4rem);bottom:clamp(.9rem,1.6vw,1.4rem);background:var(--atrament);color:var(--papier);font:600 .78rem var(--text);padding:.35rem .7rem;letter-spacing:.02em}

/* služby */
.sluzby{padding-block:clamp(4rem,9vw,7rem);background:var(--betón)}
.sluzby__stlpce{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);margin-top:2rem}
.zoznam{min-width:0}
.zoznam h3{display:flex;align-items:baseline;gap:.8rem;padding-bottom:.8rem;border-bottom:3px solid var(--atrament);margin-bottom:.2rem}
.zoznam__c{font:600 .85rem var(--text);color:var(--cervena-t)}
.zoznam ul{list-style:none;margin:0;padding:0}
.zoznam li{padding:.85rem 0;border-bottom:1px solid var(--betón-2);font-size:1.08rem;transition:padding .2s,color .2s}
.zoznam li:hover{padding-left:.6rem;color:var(--cervena-t)}
.cennik{margin-top:2.6rem;padding:1.3rem 1.5rem;background:var(--papier);color:var(--atrament);border-left:6px solid var(--cervena);display:flex;flex-wrap:wrap;gap:.3rem 2.5rem;align-items:center}
.cennik p{margin:0}

/* recenzie */
.recenzie{background:var(--atrament);color:var(--papier);padding-block:clamp(4rem,9vw,7rem)}
.recenzie h2{color:var(--papier)}
.recenzie__hlava{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 3rem;flex-wrap:wrap;margin-bottom:2rem}
.recenzie__skore{margin:0;color:#CFC7BE}
.recenzie__skore b{font:600 2rem var(--disp);color:var(--papier)}
.recenzie__skore a{display:inline-flex;align-items:center;min-height:var(--prst);color:var(--limetka)}
.pas{--odsad:max(1.25rem,(100% - 74rem)/2);display:flex;gap:1.1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--odsad) 1rem;scroll-padding-inline:var(--odsad);scrollbar-width:thin;scrollbar-color:var(--atrament-2) transparent}
.karta{flex:0 0 min(84vw,23rem);scroll-snap-align:start;margin:0;background:var(--atrament-2);color:var(--papier);padding:1.6rem 1.5rem 1.4rem;border-top:4px solid var(--cervena-s);display:flex;flex-direction:column;justify-content:space-between;gap:1rem}
.karta p{margin:0;font-size:1.05rem;line-height:1.55}
.karta p::before{content:"„";font:600 2.4rem/0 var(--disp);color:var(--cervena-s);display:block;height:1.1rem}
.karta cite{font:600 .9rem var(--disp);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--limetka)}
.pas__ovl{display:flex;gap:.6rem;margin-top:.6rem}
.pas__btn{width:48px;height:48px;border:2px solid #6d645e;background:transparent;color:var(--papier);font-size:1.2rem;cursor:pointer;border-radius:2px}
.pas__btn:hover{border-color:var(--limetka);color:var(--limetka)}

/* salón */
.salon{padding-block:clamp(4rem,9vw,7rem)}
.salon__in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.salon__foto{margin:0;position:relative}
.salon__foto img{width:100%;aspect-ratio:3/4;object-fit:cover;border-bottom:10px solid var(--limetka)}
.salon__foto figcaption{margin-top:.8rem}
.salon__text{min-width:0;max-width:36rem;font-size:1.08rem}
.salon__firma{font-size:.9rem;color:var(--tlmene)}

/* kontakt: hodiny ako nápis na skle výkladu */
.kontakt{padding-block:clamp(4rem,9vw,7rem);background:var(--betón)}
.kontakt__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem)}
.vitrina{background:linear-gradient(160deg,#2A2826,#1A1817);color:var(--limetka);padding:clamp(1.6rem,3vw,2.6rem);border:10px solid #BFB8AF;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.vitrina__nadpis{font:300 clamp(1.8rem,3vw,2.5rem)/1.1 var(--disp);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem}
.vitrina__stav{font:600 1rem var(--text);color:#E9E4DC;margin-bottom:1.2rem}
.hodiny{width:100%;border-collapse:collapse;font-size:1.05rem}
.hodiny th,.hodiny td{padding:.6rem 0;border-bottom:1px dashed rgba(166,198,58,.35);text-align:left;font-weight:400}
.hodiny th{font-family:var(--disp);letter-spacing:.06em;text-transform:uppercase;font-size:.95rem}
.hodiny td{text-align:right;font-variant-numeric:lining-nums tabular-nums;color:#E9E4DC}
.hodiny tr.dnes th,.hodiny tr.dnes td{color:#fff;font-weight:700}
.hodiny tr.dnes th::after{content:" · dnes";color:var(--limetka);font-weight:400;text-transform:none;letter-spacing:0}
.kontakt__info{min-width:0}
.udaje{margin:0 0 1.6rem}
.udaje div{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--betón-2)}
.udaje dt{font:600 .8rem var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--tlmene);padding-top:.25rem}
.udaje dd{margin:0}
.tel--velky{font-size:1.4rem}
.mapa{grid-column:1/-1}
.mapa iframe{display:block;width:100%;height:clamp(18rem,36vw,26rem);border:0;filter:grayscale(.35)}

/* pätička */
.pata{background:var(--atrament);color:#CFC7BE;padding-block:3rem 5.5rem;font-size:.92rem}
.pata__in{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 2rem}
.pata img{height:3.2rem;width:auto;margin-right:auto}
.pata p{margin:0}
.pata .tel{color:var(--papier)}

/* mobilná lišta */
.lista{display:none}

/* pohyb */
@media (prefers-reduced-motion:no-preference){
  .js .vynor{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
  .js .vynor.je-videt{opacity:1;transform:none}
  .js .portal__tabula{animation:tabula .9s .25s both cubic-bezier(.2,.8,.2,1)}
  @keyframes tabula{from{transform:rotate(-6deg) translateY(-8px);opacity:0}to{transform:none;opacity:1}}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tlacidlo:hover{transform:none}}

/* zlomy */
@media (max-width:960px){
  .nav__odkazy{display:none}
  .nav__menu{display:block}
  .nav__tel{margin-left:auto}
  .hero__in{grid-template-columns:1fr;min-height:0}
  .portal{max-height:none}
  .portal img{aspect-ratio:4/3;object-position:50% 12%}
  .sluzby__stlpce,.salon__in,.kontakt__in{grid-template-columns:1fr}
  .salon__foto{max-width:26rem}
}
@media (max-width:600px){
  .nav__logo img{height:1.9rem}
  .nav__tel-txt{display:none}.nav__tel-kr{display:inline}
  .nav__in{gap:.6rem}
  .hero h1{font-size:clamp(2.2rem,10vw,3rem)}
  .hero__cta .tlacidlo{flex:1 1 100%}
  .udaje div{grid-template-columns:1fr;gap:.2rem}
  .lista{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--atrament);border-top:3px solid var(--cervena)}
  .lista a{display:flex;align-items:center;justify-content:center;min-height:52px;color:var(--papier);text-decoration:none;font:600 1rem var(--disp);letter-spacing:.08em;text-transform:uppercase}
  .lista a:first-child{background:var(--cervena);color:#fff}
}
