/* Adonis — kaderníctvo Rača. Antická keramika: čierna glazúra, terakota, krémová hlina. */
:root{
  --ink:#1C1612; --ink-2:#2A221C; --cream:#F3EADC; --paper:#EADFCB; --line:#D6C7AF;
  --terra:#A4461F; --terra-l:#E0875A; --muted:#5E5048; --muted-d:#B9AB9C;
  --serif:'Marcellus',Georgia,serif; --sans:'Commissioner',system-ui,sans-serif;
  --prst:44px; --nav-h:68px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:clamp(15px,.45vw + 13.4px,19px);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1rem/1.6 var(--sans)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0;letter-spacing:-.005em}
h1 em,h2 em{font-style:normal;color:var(--terra)}
p{margin:0}
a{color:inherit}
.num{font-family:var(--sans);font-variant-numeric:lining-nums tabular-nums}
.wrap{width:min(100% - 2.5rem,72rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;min-height:44px;display:flex;align-items:center;background:var(--ink);color:var(--cream);padding:.6rem 1rem;z-index:99}
.skip:focus{left:1rem}
:focus-visible{outline:3px solid var(--terra);outline-offset:3px}
.eyebrow{font:600 .74rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin-bottom:1rem}
.il{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;display:inline-flex;align-items:center;min-height:var(--prst)}
.il:hover{color:var(--terra)}

/* tlačidlá */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:var(--prst);padding:.7rem 1.35rem;border-radius:2px;
  font:600 .92rem/1.2 var(--sans);letter-spacing:.04em;text-decoration:none;border:1.5px solid transparent;transition:background .2s,color .2s,border-color .2s}
.btn--terra{background:var(--terra);color:#fff;border-color:var(--terra)}
.btn--terra:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.btn--line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--cream)}

/* navigácia */
.nav{position:sticky;top:0;z-index:50;background:var(--cream);border-bottom:1px solid var(--line)}
.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);margin-right:auto}
.nav-logo img{height:34px;width:auto}
.nav-links{display:flex;gap:1.6rem}
.nav-links a{font:500 .9rem/1 var(--sans);text-decoration:none;display:inline-flex;align-items:center;min-height:var(--prst)}
.nav-links a:hover{color:var(--terra)}
.burger{display:none;width:var(--prst);height:var(--prst);background:none;border:0;padding:0;cursor:pointer;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--ink);transition:transform .2s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.drawer{position:fixed;inset:var(--nav-h) 0 auto 0;background:var(--cream);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 1.25rem 1.5rem;color:var(--ink)}
.drawer a{font:500 1.05rem/1 var(--sans);text-decoration:none;min-height:var(--prst);display:flex;align-items:center}
.drawer a.btn--terra{color:#fff;margin-top:.5rem}
@media (max-width:860px){.nav-links,.nav-cta{display:none}.burger{display:block}}
@media (min-width:861px){.drawer{display:none!important}}

/* hero */
.hero{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:minmax(0,1.35fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.hero h1{font-size:clamp(2.6rem,min(7vw,10.5vh),5.6rem);line-height:1.04;max-width:12ch}
.lead{font-size:1.1rem;color:var(--muted);max-width:34rem;margin-top:clamp(1rem,3vh,1.6rem)}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:clamp(1.25rem,4vh,2.2rem)}
.tabula{background:var(--ink);color:var(--cream);padding:clamp(1.4rem,3.5vh,2.2rem) clamp(1.4rem,3vw,2.2rem);position:relative;
  border-top:6px solid var(--terra-l)}
.tabula::before{content:"";position:absolute;inset:8px;border:1px solid rgba(243,234,220,.18);pointer-events:none}
.tab-h{font:600 .74rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--terra-l)}
.stav{font:400 clamp(1.5rem,min(2.6vw,4.2vh),2.1rem)/1.15 var(--serif);margin-top:.7rem}
.dnes{color:var(--muted-d);margin-top:.35rem;font-size:.95rem}
.tab-rule{height:12px;margin:clamp(1rem,3vh,1.5rem) 0;background:
  linear-gradient(var(--terra-l),var(--terra-l)) 0 100%/100% 1.5px no-repeat}
.hodn{display:flex;align-items:center;gap:.6rem}
.hv{font:400 2.6rem/1 var(--serif);color:var(--cream)}
.hv-s{color:var(--terra-l);font-size:1.5rem}
.hv-t{font-size:.85rem;line-height:1.35;color:var(--muted-d);margin-left:.3rem}
.tab-q{margin-top:1.1rem;font:400 1.05rem/1.45 var(--serif);color:var(--cream)}
.tab-q .tq-a{display:block;font:500 .78rem/1.4 var(--sans);color:var(--muted-d);margin-top:.4rem;letter-spacing:.04em}
@media (max-width:860px){.hero-in{grid-template-columns:1fr}.hero{min-height:0}.hero h1{font-size:clamp(2.4rem,11vw,3.6rem)}}

/* meandrový vlys — podpisový prvok, kreslí sa pri skrolovaní */
.friz{height:24px;overflow:hidden;margin-block:0}
.friz svg{width:100%;height:24px;display:block}
.friz path{fill:none;stroke:var(--terra);stroke-width:2.4;stroke-linecap:square;stroke-dasharray:100 101;stroke-dashoffset:0}
.js .friz path{stroke-dashoffset:calc(100 - var(--k,0) * 100)}
.friz--foot{background:var(--ink)}
.friz--foot path{stroke:var(--terra-l)}
@media (prefers-reduced-motion:reduce){.js .friz path{stroke-dashoffset:0}}

/* sekcie */
.sec{padding-block:clamp(3.5rem,9vw,7rem)}
.sec h2{font-size:clamp(2rem,4.4vw,3.4rem)}
.sec-h p{color:var(--muted);max-width:32rem;margin-top:1rem}
.sec-h--row{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem}
.sec--ink{background:var(--ink);color:var(--cream)}
.sec--ink h2 em{color:var(--terra-l)}
.sec--ink .eyebrow{color:var(--terra-l)}
.sec--paper{background:var(--paper);color:var(--ink)}
.doplnit,.sec p.doplnit,.sec-h p.doplnit,.k-info p.doplnit{display:inline-block;background:#FFE08A;color:#3A2A00!important;font:600 .78rem/1.4 var(--sans);padding:.25rem .6rem;border-radius:3px;border:1px dashed #9A6B00;margin-top:.9rem;max-width:none}

/* služby — editoriálny zoznam s rímskymi číslicami */
.sluzby{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.zoznam{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.zoznam li{display:grid;grid-template-columns:3.2rem minmax(0,1fr);grid-template-rows:auto auto;column-gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}
.z-n{grid-row:1/3;font:400 1.05rem/1.9 var(--serif);color:var(--terra)}
.zoznam h3{font-size:clamp(1.4rem,2.4vw,1.9rem)}
.zoznam p{color:var(--muted);font-size:.95rem;margin-top:.2rem}
@media (hover:hover){.zoznam li:hover{background:var(--paper);padding-inline:.8rem}}
@media (max-width:860px){.sluzby{grid-template-columns:1fr}}

/* objednanie */
.obj{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.obj-l{color:var(--muted-d);max-width:32rem;margin-top:1rem}
.tel-big{display:inline-flex;align-items:center;min-height:var(--prst);margin-top:1.6rem;text-decoration:none;color:var(--cream);
  font-size:clamp(2rem,5vw,3.6rem);font-weight:300;letter-spacing:.01em;border-bottom:2px solid var(--terra-l)}
.tel-big .num{font-weight:300}
.tel-big:hover{color:var(--terra-l)}
.obj-q{margin:0;border-left:2px solid var(--terra-l);padding-left:1.5rem}
.obj-q blockquote{margin:0}
.obj-q p{font:400 clamp(1.3rem,2.4vw,1.8rem)/1.35 var(--serif);color:var(--cream)}
.obj-q figcaption{color:var(--muted-d);font-size:.85rem;margin-top:.9rem}
@media (max-width:860px){.obj{grid-template-columns:1fr}}

/* recenzie — vodorovný pás */
.num-d{font-family:var(--serif)}
.rv-nav{display:flex;gap:.5rem}
.rv-b{width:var(--prst);height:var(--prst);border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:400 1.4rem/1 var(--serif);cursor:pointer}
.rv-b:hover{background:var(--ink);color:var(--cream)}
.rvs{--pad:max(1.25rem,(100% - 72rem)/2);list-style:none;margin:0;padding:0 var(--pad) .5rem;scroll-padding-inline:var(--pad);display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.rv{flex:0 0 min(84vw,24rem);scroll-snap-align:start;background:var(--paper);color:var(--ink);padding:1.6rem 1.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;border-top:3px solid var(--terra)}
.rv blockquote{margin:0}
.rv blockquote p{font:400 1.08rem/1.5 var(--serif)}
.rv-a{font-weight:600;font-size:.9rem}
.rv-a span{display:block;font-weight:400;color:var(--muted);font-size:.8rem}
.rv-link{margin-top:1rem}
@media (max-width:600px){.rv-nav{display:none}}

/* rámy na fotky */
.ramy{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ramy li{aspect-ratio:4/5;border:1.5px dashed var(--muted);display:flex;align-items:flex-end;padding:1rem;color:var(--muted);font-size:.85rem;
  background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(28,22,18,.035) 14px 15px)}
@media (min-width:861px){.ramy{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* kontakt */
.kontakt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.hod{border-collapse:collapse;width:100%;max-width:26rem;margin-top:1.6rem}
.hod th,.hod td{text-align:left;padding:.55rem 0;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}
.hod th{font-weight:500;width:45%}
.hod tr.dnes-r th,.hod tr.dnes-r td{color:var(--terra);font-weight:700}
.k-info dl{margin:1.6rem 0 0;display:grid;grid-template-columns:6rem 1fr;gap:.6rem 1rem}
.k-info dt{font:600 .74rem/2.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.k-info dd{margin:0}
.mapa{position:relative;background:var(--ink);color:var(--cream);aspect-ratio:4/3.4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;overflow:hidden}
.mapa-ph{text-align:center}
.mapa-ph img{margin:0 auto 1rem;filter:invert(93%) sepia(10%) saturate(300%) hue-rotate(340deg)}
.mapa-ph p{font-family:var(--serif);font-size:1.3rem}
.mapa .btn--line{color:var(--cream);border-color:var(--cream)}
.mapa .btn--line:hover{background:var(--cream);color:var(--ink)}
.mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:860px){.kontakt{grid-template-columns:1fr}}

/* pätička */
.foot{background:var(--ink);color:var(--muted-d);padding:3rem 0 6rem;font-size:.9rem}
.foot-in{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;justify-content:space-between}
.foot img{height:58px;width:auto}
.foot a{color:var(--cream)}

/* mobilná lišta */
.mbar{display:none}
@media (max-width:860px){
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--ink);border-top:1px solid #000}
  .mbar a{min-height:54px;display:flex;align-items:center;justify-content:center;color:var(--cream);text-decoration:none;font-weight:600;letter-spacing:.04em}
  .mbar a.on{background:var(--terra);color:#fff}
}

/* odhalenie */
.js .vynor{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .vynor.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .vynor{opacity:1;transform:none;transition:none}}
