/* PIESOK-SK – verzia 2 (inšpirovaná Terra Pietre, farby PIESOK-SK) */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500 800;font-display:swap;src:url("../fonts/montserrat-latin.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:"Montserrat";font-style:normal;font-weight:500 800;font-display:swap;src:url("../fonts/montserrat-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 600;font-display:swap;src:url("../fonts/hanken-latin.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:"Hanken Grotesk";font-style:normal;font-weight:400 600;font-display:swap;src:url("../fonts/hanken-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink-0:#100f0d;--dark:#171613;--dark-2:#1f1d19;--dark-3:#2a2722;
  --gold:#E2A62B;--gold-2:#F2C45F;--gold-d:#875B10;
  --chalk:#F5F3EE;--sand:#ECE6DA;--white:#fff;
  --ink:#15130F;--ink-2:#5B564C;--stone:#A29C8F;
  --line:rgba(245,243,238,.14);--line-d:rgba(21,19,15,.14);
  --head:"Montserrat","Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.7,0,.2,1);--out:cubic-bezier(.16,1,.3,1);
  --nav:92px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(84px + env(safe-area-inset-top,0px))}
html.loading{overflow:hidden;scroll-behavior:auto}
body{margin:0;background:var(--dark);color:var(--chalk);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
figure{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.light :focus-visible,.sand :focus-visible,.white :focus-visible,.legal :focus-visible,.post :focus-visible{outline-color:var(--gold-d)}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:300;padding:10px 16px;border-radius:999px;background:var(--gold);color:var(--ink);font-weight:600}
.skip:focus{top:16px}
.wrap{width:min(1320px,100% - clamp(40px,8vw,120px));margin-inline:auto}
.wrap.nar{width:min(860px,100% - clamp(40px,8vw,120px))}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.05;margin:0;letter-spacing:-.025em;text-wrap:balance}
h1 em,h2 em,h3 em{font-style:normal;color:var(--gold)}
.light h2 em,.sand h2 em,.white h2 em,.light h3 em,.sand h3 em,.white h3 em{color:var(--gold-d)}
h2.t{font-size:clamp(38px,5.4vw,84px)}
.kick{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--gold);margin-bottom:22px}
.kick::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.light .kick,.sand .kick,.white .kick{color:var(--gold-d)}
.lede{font-size:18px;color:rgba(245,243,238,.72);max-width:48ch;margin:0}
.light,.sand,.white{color:var(--ink)}
.light{background:var(--chalk)}
.sand{background:var(--sand)}
.white{background:#fff}
.light .lede,.sand .lede,.white .lede{color:var(--ink-2)}
.dark{background:var(--dark)}
.sec{padding:clamp(100px,15vh,180px) 0}
.sec.tight{padding:clamp(64px,9vh,110px) 0}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:clamp(44px,7vh,72px)}
.head.c{flex-direction:column;align-items:center;text-align:center;gap:22px}
.head.c .lede{margin-inline:auto}
.ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* objavovanie */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1.2s var(--out)}
.js .rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
.m{display:inline-block;overflow:hidden;vertical-align:top;padding:.12em .06em .26em .05em;margin:-.12em -.06em -.26em -.05em}
.m>span{display:inline-block;transition:transform 1.2s var(--out)}
.js .sh:not(.in) .m>span{transform:translateY(150%)}
.clip{transition:clip-path 1.5s var(--ease)}
.js .clip:not(.in){clip-path:inset(100% 0 0 0)}
.js .clip.in{clip-path:inset(0)}

/* tlačidlá */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font-size:15.5px;font-weight:600;position:relative;overflow:hidden;isolation:isolate;white-space:nowrap;transition:color .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;border-radius:inherit;transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn-g{background:var(--gold);color:var(--ink)}
.btn-g::before{background:var(--chalk)}
.light .btn-g::before,.sand .btn-g::before,.white .btn-g::before{background:var(--ink)}
.light .btn-g:hover,.sand .btn-g:hover,.white .btn-g:hover{color:var(--chalk)}
.btn-o{border:1px solid rgba(245,243,238,.38);color:var(--chalk)}
.btn-o::before{background:var(--chalk)}
.btn-o:hover{color:var(--ink)}
.light .btn-o,.sand .btn-o,.white .btn-o{border-color:rgba(21,19,15,.3);color:var(--ink)}
.light .btn-o::before,.sand .btn-o::before,.white .btn-o::before{background:var(--ink)}
.light .btn-o:hover,.sand .btn-o:hover,.white .btn-o:hover{color:var(--chalk)}
.btn-d{background:var(--ink);color:var(--chalk)}
.btn-d::before{background:var(--gold)}
.btn-d:hover{color:var(--ink)}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.tlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:3px;transition:color .3s,gap .4s var(--ease)}
.tlink:hover{color:var(--gold);gap:12px}
.light .tlink:hover,.sand .tlink:hover,.white .tlink:hover{color:var(--gold-d)}

/* kurzor (len myš) */
.cur,.ring{position:fixed;top:0;left:0;pointer-events:none;z-index:250;border-radius:50%;opacity:0;transition:opacity .3s}
.has-cur .cur,.has-cur .ring{opacity:1}
.cur{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--gold)}
.ring{width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid rgba(226,166,43,.7);display:grid;place-items:center;font-size:12px;font-weight:600;color:var(--ink);transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),background .3s,border-color .3s,opacity .3s}
.ring.link{width:64px;height:64px;margin:-32px 0 0 -32px}
.ring.big{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--gold);border-color:var(--gold)}
.ring span{opacity:0;transition:opacity .2s}.ring.big span{opacity:1}

/* úvodná animácia (raz za návštevu) */
.loader{position:fixed;inset:0;z-index:400;background:var(--ink-0);display:none;place-items:center;transition:opacity .9s ease}
.loading .loader{display:grid}
.loader img{width:clamp(160px,20vw,260px);height:auto;transform:scale(.4);opacity:0;animation:ld 1.6s var(--ease) forwards}
@keyframes ld{40%{opacity:1}to{transform:scale(1);opacity:1}}
.loader.out{opacity:0}

/* logo */
.logo{display:inline-flex;align-items:center;gap:12px;color:var(--chalk);white-space:nowrap}
.logo{flex:none}
.logo img{width:300px;max-width:none;height:auto}
footer .logo img{width:min(330px,100%);max-width:100%}
@media (max-width:1439px){.logo img{width:256px}.nav-tel span{display:none}}
@media (max-width:420px){.logo img{width:196px}}

/* menu */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;padding-top:env(safe-area-inset-top,0px);transition:transform .6s var(--ease),background .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(23,22,19,.86);border-bottom-color:var(--line);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
.nav.hide{transform:translateY(-100%)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--nav);transition:height .4s var(--ease)}
.nav.solid .nav-in{height:74px}
.menu{display:flex;gap:clamp(18px,2.2vw,34px);font-size:15.5px;font-weight:500}
.menu a{position:relative;padding:8px 0;white-space:nowrap;opacity:.88;transition:opacity .3s}
.menu a:hover,.menu a[aria-current]{opacity:1}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.menu a:hover::after,.menu a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.nav-r{display:flex;align-items:center;gap:14px}
.nav-tel{display:inline-flex;align-items:center;gap:10px;font-weight:600;white-space:nowrap}
.nav-tel svg{width:40px;height:40px;padding:10px;border-radius:50%;border:1px solid var(--line);fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.burger{display:none;width:48px;height:48px;border-radius:50%;border:1px solid rgba(245,243,238,.4);position:relative;flex:none}
.burger span{position:absolute;left:14px;right:14px;height:1.5px;background:currentColor;transition:transform .45s var(--ease)}
.burger span:first-child{top:19px}.burger span:last-child{top:27px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:55;background:var(--ink-0);display:flex;flex-direction:column;justify-content:center;gap:2px;padding:110px clamp(24px,8vw,60px) 40px;overflow-y:auto;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease),visibility 0s .8s}
.mnav.open{visibility:visible;clip-path:inset(0);transition:clip-path .8s var(--ease)}
.mnav a{font-family:var(--head);font-weight:700;letter-spacing:-.03em;font-size:clamp(34px,9vw,58px);line-height:1.18;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .8s var(--out)}
.mnav a[aria-current]{color:var(--gold)}
.mnav.open a{opacity:1;transform:none;transition-delay:calc(.25s + var(--i)*.05s)}
.mnav .mnav-c{margin-top:28px;font-family:var(--sans);font-size:17px;font-weight:600;letter-spacing:0;color:var(--gold)}
body.lock{overflow:hidden}

/* hero – domov */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--dark)}
.hero-pic{position:absolute;top:0;right:0;bottom:0;width:min(44vw,700px);overflow:hidden}
.hero-pic img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;animation:kb 9s var(--out) both}
@keyframes kb{from{transform:scale(1.18)}to{transform:scale(1)}}
.hero-pic::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--dark) 0%,rgba(23,22,19,.15) 22%,rgba(23,22,19,0) 50%),linear-gradient(180deg,rgba(23,22,19,.85) 0%,rgba(23,22,19,.45) 12%,rgba(23,22,19,0) 24%,rgba(23,22,19,0) 70%,rgba(23,22,19,.7) 100%)}
.hero-in{position:relative;z-index:2;padding:calc(var(--nav) + 20px) 0 80px}
.hero h1{width:fit-content;font-size:clamp(44px,min(7vw,10.6vh),124px);line-height:.93;letter-spacing:-.035em}
.hero h1 .line{display:block;overflow:hidden;padding:0 .04em .26em 0;margin:0 -.04em -.19em 0;white-space:nowrap}
.hero h1 .ch{display:inline-block;transition:transform 1.3s var(--out);transition-delay:calc(var(--c)*28ms + .1s)}
.js .hero:not(.in) h1 .ch{transform:translateY(140%)}
.hero .fade{transition:opacity 1.1s ease,transform 1.1s var(--out);transition-delay:calc(.6s + var(--d,0s))}
.js .hero:not(.in) .fade{opacity:0;transform:translateY(30px)}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-top:clamp(22px,3.6vh,44px);flex-wrap:wrap;max-width:calc(100% - min(44vw,700px) + 120px)}
.hero .lede{color:rgba(245,243,238,.78);max-width:44ch}
@keyframes spin{to{transform:rotate(360deg)}}
.cue{position:absolute;left:50%;bottom:24px;z-index:3;width:1px;height:48px;background:var(--line);overflow:hidden}
.cue::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--gold);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{to{top:100%}}
.hero-tag{position:absolute;right:calc(clamp(14px,2.4vw,26px) + 74px);bottom:clamp(20px,2.4vw,30px);z-index:3;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(23,22,19,.6);border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:14px}
.hero-tag i{width:8px;height:8px;border-radius:50%;background:#62c77b;box-shadow:0 0 0 0 rgba(98,199,123,.6);animation:pulse 1.8s ease-out infinite}
@keyframes pulse{to{box-shadow:0 0 0 10px rgba(98,199,123,0)}}

/* hlavička podstránky */
.phero{position:relative;display:flex;align-items:flex-end;min-height:clamp(540px,76vh,720px);background:var(--dark);overflow:hidden;isolation:isolate}
.phero.sm{min-height:clamp(400px,56vh,520px)}
.phero-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;animation:kb 9s var(--out) both}
.phero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(23,22,19,.82) 0%,rgba(23,22,19,.4) 35%,rgba(23,22,19,.55) 62%,rgba(23,22,19,.97) 100%)}
.phero.plain::after{background:radial-gradient(90% 80% at 90% 10%,rgba(226,166,43,.12),transparent 60%)}
@media (min-width:1001px){
  .phero-bg{left:auto;right:0;width:min(44vw,700px)}
  .phero:not(.plain)::after{background:linear-gradient(90deg,var(--dark) calc(100% - min(44vw,700px)),rgba(23,22,19,.35) calc(100% - min(44vw,700px) + 140px),rgba(23,22,19,0) calc(100% - min(44vw,700px) + 320px)),linear-gradient(180deg,rgba(23,22,19,.85) 0%,rgba(23,22,19,.45) 12%,rgba(23,22,19,0) 26%,rgba(23,22,19,0) 70%,rgba(23,22,19,.65) 100%)}
  .phero-in{position:relative;z-index:1}
  .phero:not(.plain) h1,.phero:not(.plain) .lede{max-width:min(15ch,calc((100vw + 100%) / 2 - min(44vw,700px) - 60px))}
  .phero:not(.plain) .lede{max-width:46ch}
}
@media (min-width:1001px) and (max-width:1240px){.phero h1{font-size:clamp(40px,4.8vw,64px)}}
/* desktop: hlavička s fotkou na celú obrazovku, text vertikálne v strede (ako úvodná stránka);
   hlavička bez fotky kompaktná, aby bol obsah hneď pod ňou */
@media (min-width:1001px){
  .phero:not(.plain),.phero.plain:not(.sm){align-items:center;min-height:100vh;min-height:100svh}
  .phero:not(.plain) .phero-in{padding:calc(var(--nav) + 24px) 0 64px}
  /* produktové stránky (Epoxi Stone, EASIHOLD): obsah presne v strede plochy pod menu */
  .phero.plain:not(.sm) .phero-in{padding:calc(var(--nav) + 48px) 0 48px}
  .phero:not(.plain) h1{font-size:clamp(40px,min(6vw,9.6vh),96px)}
  .phero.plain.sm{min-height:0;align-items:center}
  .phero.plain.sm .phero-in{padding:calc(var(--nav) + 56px) 0 clamp(48px,7vh,72px)}
  .phero.plain.sm h1{font-size:clamp(40px,min(5.4vw,9.6vh),84px)}
}
.blog-all{padding-top:clamp(40px,6vh,72px)}
.phero-in{padding:calc(var(--nav) + 70px) 0 clamp(48px,8vh,90px)}
.phero h1{font-size:clamp(40px,6vw,96px);line-height:1.06;letter-spacing:-.035em;max-width:15ch}
.phero .lede{margin-top:26px}
.phero .btns{margin-top:32px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;font-size:14px;font-weight:500;color:rgba(245,243,238,.6)}
.crumbs a:hover{color:var(--gold)}
.crumbs span::before{content:"/";margin-right:8px;opacity:.5}

/* pásy */
.note{background:var(--dark-2);color:rgba(245,243,238,.82);border-block:1px solid var(--line)}
.note-in{display:flex;align-items:center;gap:18px;padding:20px 0;font-size:15.5px}
.note-in>svg{width:28px;height:28px;flex:none;color:var(--gold);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.note strong{color:var(--gold);font-weight:600}
.note a{margin-left:auto;flex:none;font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:2px;white-space:nowrap}
.note a:hover{color:var(--gold)}
.marquee{border-top:1px solid var(--line);overflow:hidden;background:var(--dark);padding:22px 0 26px}
.mq-row{display:flex}
.mq-track{display:flex;width:max-content;animation:mq 46s linear infinite}
.mq-row.rev .mq-track{animation-direction:reverse;animation-duration:54s}
.mq-track span{font-family:var(--head);font-weight:700;letter-spacing:-.02em;font-size:clamp(30px,4.4vw,62px);padding-right:44px;display:flex;align-items:center;gap:44px;white-space:nowrap;line-height:1.25}
.mq-track i{width:12px;height:12px;background:var(--gold);transform:rotate(45deg);flex:none}
.mq-row.rev .mq-track span{color:transparent;-webkit-text-stroke:1px rgba(245,243,238,.45)}
.mq-row.rev .mq-track i{background:transparent;border:1px solid rgba(245,243,238,.45)}
@keyframes mq{to{transform:translateX(-50%)}}

/* intro s textom, ktorý sa vyfarbí pri scrolle */
.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(40px,7vw,120px);align-items:center}
.big-text{font-family:var(--head);font-weight:600;letter-spacing:-.015em;font-size:clamp(28px,3.4vw,52px);line-height:1.2;margin:0}
.js .big-text .w{opacity:var(--o,.14);transition:opacity .25s linear}
.intro-main .sub{margin:36px 0 28px;color:var(--ink-2);max-width:46ch;font-size:18px}
.photo{position:relative;overflow:hidden;border-radius:6px;background:var(--dark-3)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.par img{height:116%;margin-top:-8%;will-change:transform}
.photo .tag,.photo figcaption{position:absolute;left:18px;bottom:18px;z-index:1;padding:9px 16px;border-radius:999px;background:rgba(23,22,19,.78);color:var(--chalk);font-size:14px;font-weight:600;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.intro-side .photo{aspect-ratio:4/5}

/* sortiment – vzorky materiálov */
.sand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:56px 28px}
.grain-card{display:block;position:relative}
.grain-card .tex{position:relative;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--dark-3) center/cover;box-shadow:inset 0 0 0 1px rgba(21,19,15,.12),0 22px 44px -24px rgba(21,19,15,.6);transition:transform 1.1s var(--ease)}
.grain-card:hover .tex{transform:rotate(28deg) scale(1.05)}
.grain-card:hover .tex.photo{transform:scale(1.05)}
.js .grain-card:not(.in) .tex{transform:scale(.5) rotate(-60deg);opacity:0}
.grain-card .tex{transition:transform 1.4s var(--out),opacity .9s}
.grain-card.feat{grid-column:span 2;grid-row:span 2}
.grain-card.feat .tex{border-radius:6px;aspect-ratio:auto;height:clamp(300px,34vw,470px)}
.grain-card.feat:hover .tex{transform:scale(1.03)}
.cat-top{position:absolute;right:14px;top:14px;z-index:2;padding:7px 14px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:13px;font-weight:700}
.gmeta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-top:22px}
.gmeta h3{font-size:clamp(20px,1.7vw,24px)}
.grain-card.feat .gmeta h3{font-size:clamp(28px,3vw,44px)}
.gmeta span{font-size:14px;color:var(--ink-2);white-space:nowrap}
.gmeta .new{color:var(--gold-d);font-weight:700}
.grain-card p{margin:6px 0 10px;font-size:15.5px;color:var(--ink-2);max-width:52ch}
.grain-card .go{font-size:14px;font-weight:600;color:var(--gold-d);border-bottom:1px solid currentColor;padding-bottom:2px}

/* kalkulačka */
.k-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center}
.k-label{font-size:14px;font-weight:600;color:rgba(245,243,238,.66);margin-bottom:12px}
.k-mat{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.k-mat button,.k-presets button{min-height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--line);font-size:15px;font-weight:500;transition:background .3s,color .3s,border-color .3s}
.k-mat button:hover,.k-presets button:hover{border-color:var(--gold)}
.k-mat button[aria-checked="true"]{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.k-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 16px;margin-bottom:26px}
.k-field label{font-size:16px;font-weight:500}
.k-num{display:inline-flex;align-items:baseline;gap:6px;border-bottom:1px solid var(--line);padding:4px 0}
.k-num input{width:76px;background:transparent;border:0;color:var(--chalk);font:inherit;font-family:var(--head);font-weight:700;font-size:24px;text-align:right;-moz-appearance:textfield}
.k-num input::-webkit-inner-spin-button,.k-num input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.k-num input:focus{outline:none}.k-num:focus-within{border-bottom-color:var(--gold)}
.k-num i{font-style:normal;color:rgba(245,243,238,.6);font-size:15px}
.k-field input[type=range]{grid-column:1/-1;-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;margin:0}
.k-field input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(to right,var(--gold) var(--p,50%),rgba(245,243,238,.16) var(--p,50%))}
.k-field input[type=range]::-moz-range-track{height:6px;border-radius:99px;background:linear-gradient(to right,var(--gold) var(--p,50%),rgba(245,243,238,.16) var(--p,50%))}
.k-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-9px;width:24px;height:24px;border-radius:50%;background:var(--chalk);border:4px solid var(--gold);box-shadow:0 4px 14px rgba(0,0,0,.35);transition:transform .2s}
.k-field input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--chalk);border:4px solid var(--gold)}
.k-field input[type=range]:active::-webkit-slider-thumb{transform:scale(1.2)}
.k-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.k-presets span{font-size:14px;color:rgba(245,243,238,.6);margin-right:4px}
.k-presets button{min-height:40px;padding:0 16px;font-size:14px}
.k-out{position:relative;background:rgba(245,243,238,.04);border:1px solid var(--line);border-radius:10px;padding:clamp(24px,3vw,40px);text-align:center}
.k-iso{width:100%;height:auto;max-height:290px;display:block;margin:0 auto 8px;overflow:visible}
.k-iso polygon{stroke:rgba(0,0,0,.28);stroke-width:1;stroke-linejoin:round;transition:fill .5s}
.k-dim{fill:rgba(245,243,238,.75);font-family:var(--sans);font-size:14px;font-weight:600}
.k-res{display:flex;justify-content:center;align-items:baseline;gap:10px}
.k-res b{font-family:var(--head);font-weight:700;font-size:clamp(64px,8vw,120px);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.k-res span{font-family:var(--head);font-weight:700;font-size:clamp(28px,3vw,44px);color:var(--gold)}
.k-sub{margin:14px auto 6px;max-width:42ch;color:rgba(245,243,238,.82);font-size:17px}
.k-note{margin:0 0 24px;font-size:13px;color:rgba(245,243,238,.5)}

/* služby – riadky */
.svc-list{border-top:1px solid var(--line-d)}
.svc-item{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1.3fr);gap:32px;align-items:center;padding:30px 20px;border-bottom:1px solid var(--line-d);position:relative;overflow:hidden;transition:color .5s var(--ease)}
.svc-item::before{content:"";position:absolute;inset:0;background:var(--dark);transform:scaleY(0);transform-origin:bottom;transition:transform .65s var(--ease)}
.svc-item:hover{color:var(--chalk)}
.svc-item:hover::before{transform:scaleY(1)}
.svc-item>*{position:relative}
.svc-ic{width:56px;height:56px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;transition:transform .7s var(--ease),border-color .4s,color .4s}
.svc-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.svc-item:hover .svc-ic{transform:rotate(-12deg) scale(1.06);color:var(--gold);border-color:var(--gold)}
.svc-item h3{font-size:clamp(24px,2.2vw,32px);transition:transform .6s var(--ease)}
.svc-item:hover h3{transform:translateX(10px)}
.svc-item p{margin:0;color:var(--ink-2);transition:color .5s}
.svc-item:hover p{color:rgba(245,243,238,.75)}

/* proces – lišta krokov */
.proc-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(40px,8vw,140px)}
.proc-left{position:sticky;top:130px;align-self:start}
.proc-left .lede{margin:28px 0 52px}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);container-type:inline-size}
.stats.s4{grid-template-columns:repeat(4,minmax(0,1fr));border-top:0}
.stats.s4 .stat{padding:30px 20px;border-bottom:0}
.stats.s4 .stat+.stat{border-left:1px solid var(--line)}
.stats.s4 .stat:nth-child(even){padding-left:20px}
.stats.s4 .stat:first-child{padding-left:0}
.stat{padding:24px 14px 24px 0;border-bottom:1px solid var(--line)}
.stat>span{margin-top:12px}
.stat:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}
.stat b{display:block;font-family:var(--head);font-weight:700;font-size:clamp(22px,8.6cqi,50px);line-height:1;color:var(--gold);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat span{display:block;line-height:1.45;font-size:14.5px;color:rgba(245,243,238,.66)}
.stats.s4 .stat b{font-size:clamp(22px,4.3cqi,50px)}
.light .stat span,.sand .stat span{color:var(--ink-2)}
.light .stats,.light .stat,.sand .stats,.sand .stat{border-color:var(--line-d)}
.light .stat b,.sand .stat b{color:var(--gold-d)}
.stat-d{display:flex;align-items:center;gap:8px;width:fit-content;margin:12px 0 0;padding:6px 13px 6px 11px;border-radius:99px;background:rgba(226,166,43,.12);color:var(--gold-2);font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap}
.stat .stat-d span{display:inline;line-height:inherit;font-size:inherit;color:inherit}
.stat-d i{flex:none;width:7px;height:7px;border-radius:50%;background:#62c77b;box-shadow:0 0 0 0 rgba(98,199,123,.6);animation:pulse 1.8s ease-out infinite}
.light .stat-d,.sand .stat-d{background:rgba(135,91,16,.1);color:var(--gold-d)}
.stat-d em{font-style:normal}
/* úzke bunky (mriežka štatistík do ~420 px): „za deň“ namiesto „za posledný deň“ */
@container (max-width:420px){.stat-d em{display:none}}
.stat-d{max-width:100%}
.tl{position:relative;padding-left:60px}
.tl-rail{position:absolute;left:15px;top:10px;bottom:var(--tl-end,60px);width:1px;background:var(--line)}
.tl-rail i{position:absolute;inset:0;background:var(--gold);transform-origin:top;transform:scaleY(var(--p,0))}
.tl-step{position:relative;padding-bottom:clamp(60px,10vh,104px)}
.tl-step:last-child{padding-bottom:0}
.tl-dot{position:absolute;left:-52px;top:8px;width:15px;height:15px;border-radius:50%;border:1px solid var(--gold);background:var(--dark);transition:background .5s,transform .5s var(--ease),box-shadow .5s}
.tl-step.on .tl-dot{background:var(--gold);transform:scale(1.25);box-shadow:0 0 0 8px rgba(226,166,43,.14)}
.tl-step .n{font-family:var(--head);font-weight:600;color:var(--gold);font-size:18px}
.tl-step h3{font-size:clamp(28px,3vw,44px);margin:8px 0 14px}
.tl-step p{color:rgba(245,243,238,.7);max-width:46ch;margin:0}
.light .tl-rail,.white .tl-rail{background:var(--line-d)}
.light .tl-dot,.white .tl-dot{background:var(--chalk)}
.light .tl-step p,.white .tl-step p{color:var(--ink-2)}
.light .tl-step .n,.white .tl-step .n{color:var(--gold-d)}

/* časté otázky */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,100px);align-items:start}
.faq-head{position:sticky;top:130px}
.faq-head .lede{margin:22px 0 32px}
.faq-list{border-top:1px solid var(--line-d)}
.fq{border-bottom:1px solid var(--line-d)}
.fq h3{margin:0;font-size:inherit;letter-spacing:0}
.fq button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;text-align:left;font-family:var(--head);font-weight:700;font-size:clamp(18px,1.7vw,23px);line-height:1.3;letter-spacing:-.01em;color:var(--ink);transition:color .3s}
.fq button:hover{color:var(--gold-d)}
.fq button i{position:relative;flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(21,19,15,.2);transition:background .4s,border-color .4s,transform .5s var(--ease)}
.fq button i::before,.fq button i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:currentColor;border-radius:2px;transition:transform .5s var(--ease)}
.fq button i::after{transform:rotate(90deg)}
.fq.open button i{background:var(--ink);border-color:var(--ink);color:var(--chalk);transform:rotate(180deg)}
.fq.open button i::after{transform:rotate(0deg)}
.fq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.fq.open .fq-a{grid-template-rows:1fr}
.fq-a>div{overflow:hidden;visibility:hidden;transition:visibility 0s .5s}
.fq.open .fq-a>div{visibility:visible;transition:visibility 0s}
.fq-a p{margin:0;padding:0 64px 28px 0;color:var(--ink-2);font-size:17px;opacity:0;transform:translateY(-8px);transition:opacity .4s,transform .5s var(--ease)}
.fq.open .fq-a p{opacity:1;transform:none;transition-delay:.1s}
.fq-a a{color:var(--gold-d);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* mlatový chodník – rez vrstvami */
.ml-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,6vw,90px);align-items:center}
.ml-stack{position:relative;height:clamp(340px,42vw,500px);display:flex;flex-direction:column;padding:0 7%;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#5f7d8c 0%,#9db3bd 40%,#c9d4d8 60%)}
.ml-edge{position:absolute;top:0;width:7%;height:46%;z-index:3;background:linear-gradient(90deg,#8d8a84,#c2bfb8 45%,#85827c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.ml-edge.l{left:0}.ml-edge.r{right:0}
.ml-sky{flex:1}
.ml-layer{position:relative;height:var(--h);opacity:1;transform:none;transition:opacity .6s ease var(--d),transform .9s var(--out) var(--d),filter .4s;box-shadow:inset 0 -1px 0 rgba(0,0,0,.35);background:var(--tex,#8d8576) center/cover}
.js .ml-stack:not(.built) .ml-layer{opacity:0;transform:translateY(-60px)}
.ml-layer.plan{margin:0 -8%;background:linear-gradient(180deg,#6b4e33,#4b3622)}
.ml-layer.geo{background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0 2px,rgba(225,225,220,.9) 2px 5px)}
.ml-layer b{position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:4px 10px;border-radius:999px;background:rgba(21,19,15,.72);color:var(--chalk);font-size:13px;font-weight:600;white-space:nowrap}
.ml-stack.focus .ml-layer{filter:brightness(.5) saturate(.6)}
.ml-stack.focus .ml-layer.on{filter:none}
.ml-layer.on::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 3px var(--gold)}
.ml-rain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity 1s 1.2s}
.ml-stack.built .ml-rain{opacity:1}
.ml-rain i{position:absolute;top:-6%;width:3px;height:12px;border-radius:0 0 4px 4px;background:linear-gradient(180deg,rgba(150,200,230,0),#9fd0ee);animation:rain 3s linear infinite;animation-delay:var(--dl)}
@keyframes rain{0%{transform:translateY(0);opacity:0}8%{opacity:1}70%{opacity:.9}100%{transform:translateY(clamp(300px,40vw,470px));opacity:0}}
.ml-cap{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:14px;color:rgba(245,243,238,.6)}
.ml-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ml-list li{border-radius:10px;transition:background .3s}
.ml-list li.on{background:rgba(245,243,238,.06)}
.ml-list button{width:100%;display:flex;align-items:center;gap:16px;padding:14px 16px;text-align:left}
.ml-n{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-weight:700;font-size:14px;transition:background .3s,color .3s,border-color .3s}
.ml-list li.on .ml-n{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.ml-t{display:grid;gap:2px}
.ml-t b{font-family:var(--head);font-size:clamp(20px,1.7vw,24px)}
.ml-t em{font-style:normal;font-size:14px;color:var(--gold-2)}
.ml-list p{margin:0;padding:0 16px 0 66px;max-height:0;overflow:hidden;color:rgba(245,243,238,.74);font-size:15px;transition:max-height .5s var(--ease),padding .5s var(--ease)}
.ml-list li.on p{max-height:140px;padding-bottom:16px}

/* mriežky kariet */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.cards.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{position:relative;display:flex;flex-direction:column;padding:clamp(24px,2.4vw,32px);border-radius:10px;border:1px solid var(--line);transition:transform .6s var(--out),border-color .4s,background .4s}
.light .card,.sand .card,.white .card{border-color:var(--line-d);background:rgba(255,255,255,.55)}
.white .card{background:var(--chalk);border-color:transparent}
a.card:hover{transform:translateY(-6px);border-color:var(--gold)}
.card .n{font-family:var(--head);font-weight:600;font-size:17px;color:var(--gold);margin-bottom:auto;padding-bottom:34px}
.light .card .n,.sand .card .n,.white .card .n{color:var(--gold-d)}
.card h3{font-size:clamp(20px,1.7vw,24px);margin-bottom:10px}
.card p{margin:0;font-size:15.5px;color:rgba(245,243,238,.7)}
.light .card p,.sand .card p,.white .card p{color:var(--ink-2)}
.card .ico{width:56px;height:56px;padding:15px;margin-bottom:28px;border-radius:50%;border:1px solid currentColor;color:var(--gold);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .7s var(--ease)}
.light .card .ico,.sand .card .ico,.white .card .ico{color:var(--gold-d)}
.card:hover .ico{transform:rotate(-12deg)}

/* kroky (podstránky) */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.steps.s7{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:48px}
.step{position:relative;padding-top:30px;border-top:1px solid var(--line)}
.light .step,.sand .step,.white .step{border-color:var(--line-d)}
.step::before{content:"";position:absolute;left:0;top:-8px;width:15px;height:15px;border-radius:50%;border:1px solid var(--gold);background:var(--gold)}
.step b{display:block;font-family:var(--head);font-weight:600;font-size:18px;color:var(--gold);margin-bottom:10px}
.light .step b,.sand .step b,.white .step b{color:var(--gold-d)}
.step h3{font-size:clamp(20px,1.7vw,24px);margin-bottom:10px}
.step p{margin:0;font-size:15.5px;color:rgba(245,243,238,.7)}
.light .step p,.sand .step p,.white .step p{color:var(--ink-2)}

/* rozdelené sekcie */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,100px);align-items:center}
.split.rev>:first-child{order:2}
.split h2{font-size:clamp(36px,4.6vw,72px);margin-bottom:26px}
.split p{margin:0 0 18px;max-width:56ch;color:rgba(245,243,238,.74)}
.light .split p,.sand .split p,.white .split p{color:var(--ink-2)}
.split .ml-list p{margin:0;max-width:none}
.frame{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--dark-3)}
.frame.wide{aspect-ratio:4/3}
.frame.poster{aspect-ratio:900/1273}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.frame:hover img{transform:scale(1.04)}
.frame figcaption,.frame .tag{position:absolute;left:18px;bottom:18px;z-index:1;padding:9px 16px;border-radius:999px;background:rgba(23,22,19,.78);color:var(--chalk);font-size:14px;font-weight:600;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.points{list-style:none;margin:28px 0 32px;padding:0;border-top:1px solid var(--line)}
.points li{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font-weight:500}
.light .points,.light .points li,.sand .points,.sand .points li{border-color:var(--line-d)}
.points b{font-family:var(--head);font-weight:700;color:var(--gold);min-width:30px}
.light .points b,.sand .points b{color:var(--gold-d)}
.ticks{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:10px}
.ticks li{display:flex;gap:12px}
.ticks li::before{content:"";flex:none;width:8px;height:8px;margin-top:10px;border-radius:50%;background:var(--gold)}
.light .ticks li,.white .ticks li{color:var(--ink-2)}

/* katalógy 3:4 */
.pcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,28px)}
.pc{position:relative;isolation:isolate;display:block;aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:var(--dark);color:var(--chalk)}
.pc img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
a.pc:hover img{transform:scale(1.07)}
.pc::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(23,22,19,0) 45%,rgba(23,22,19,.6) 66%,rgba(23,22,19,.96) 100%)}
.pc-body{position:absolute;left:0;right:0;bottom:0;padding:0 26px 28px;display:flex;flex-direction:column;align-items:flex-start}
.pc-sub{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--gold-2)}
.pc h3{font-size:clamp(24px,2.2vw,32px);color:#fff;margin-bottom:16px}
.pc-cta{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 18px;border-radius:999px;border:1px solid rgba(245,243,238,.4);font-size:14px;font-weight:600;transition:background .45s var(--ease),color .45s,border-color .45s}
.pc-cta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
a.pc:hover .pc-cta{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.pc-cta.off{opacity:.6}

/* novinky – pás produktov */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px;cursor:grab}
.rail::-webkit-scrollbar{display:none}
@media (min-width:1281px){.rail{grid-auto-columns:calc((100% - 96px) / 5)}}
.rail-nav[hidden],.rail-bar[hidden]{display:none}
.np{scroll-snap-align:start;display:flex;flex-direction:column;perspective:1000px}
.np-img{position:relative;aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:var(--chalk);transform-style:preserve-3d;transition:transform .25s ease-out}
.np-img img{width:100%;height:100%;object-fit:contain;padding:12%;mix-blend-mode:multiply;transition:transform 1s var(--ease)}
.np:hover .np-img img{transform:scale(1.05)}
.np-img em{position:absolute;left:14px;top:14px;padding:6px 12px;border-radius:999px;background:var(--ink);color:var(--chalk);font-style:normal;font-size:13px;font-weight:600}
.np-t{padding-top:18px}
.np-t h3{font-size:clamp(20px,1.7vw,24px);margin-bottom:6px}
.np-t p{margin:0 0 8px;font-size:15px;color:var(--ink-2)}
.np-t b{font-family:var(--head);font-weight:700;font-size:20px;color:var(--gold-d)}
.np-t b small{font-family:var(--sans);font-size:13.5px;font-weight:500;color:var(--ink-2)}
.rail-nav{display:flex;gap:10px}
.rail-nav button{width:54px;height:54px;border-radius:50%;border:1px solid rgba(21,19,15,.25);display:grid;place-items:center;transition:background .3s,color .3s,border-color .3s}
.rail-nav button:hover{background:var(--ink);border-color:var(--ink);color:var(--gold)}
.rail-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rail-nav button:first-child svg{transform:rotate(180deg)}
.rail-bar{margin-top:30px;height:1px;background:var(--line-d);position:relative}
.rail-bar i{position:absolute;inset:0;background:var(--gold-d);transform-origin:left;transform:scaleX(var(--p,.2))}

/* formuláre */
.field{margin-bottom:24px}
.field label,.lbl{display:block;font-size:14px;color:rgba(245,243,238,.66);margin-bottom:4px}
.cform{flex:1;display:flex;flex-direction:column}
.cform form{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:0 24px}
.cform form>div.kf-grow{display:flex;flex-direction:column}
.cform .kf-grow textarea{flex:1}
.cform form>div{grid-column:1/-1;margin:0 0 24px}
.cform form>div.half{grid-column:auto}
.cform label{display:block;margin:0 0 4px;font-size:14px;font-weight:500;color:rgba(245,243,238,.66)}
.cform input:not([type=hidden]):not([type=checkbox]),.cform textarea,.cform select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(245,243,238,.4);padding:12px 0;color:var(--chalk);font:inherit;font-size:17px;border-radius:0;transition:border-color .4s}
.cform textarea{resize:vertical;min-height:110px}
.cform input:focus,.cform textarea:focus{outline:none;border-bottom-color:var(--gold)}
.cform .bad input:not([type=hidden]):not([type=checkbox]),.cform .bad textarea{border-bottom-color:#f3a196}
.cform .kf-err{display:block;margin-top:6px;font-size:13px;color:#f3a196}
.cform form>div.kf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform .kf-btn{margin:4px 0 0}
.cform button[type=submit]{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:0 28px;border:0;border-radius:999px;background:var(--gold);color:var(--ink);font:inherit;font-size:15.5px;font-weight:600;cursor:pointer;transition:background .4s,color .4s,opacity .3s}
.cform button[type=submit]:hover{background:var(--chalk)}
.cform form.busy button[type=submit]{opacity:.6;cursor:progress}
.cform .kf-msg{grid-column:1/-1;margin:0 0 18px;padding:14px 16px;border-radius:10px;background:rgba(226,166,43,.14);border:1px solid rgba(226,166,43,.4);color:var(--chalk);font-size:15px}
.cform .kf-msg.chyba{background:rgba(243,161,150,.12);border-color:rgba(243,161,150,.45)}
.qform{display:flex;flex-direction:column;background:rgba(31,29,25,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:10px;padding:clamp(28px,4vw,52px)}
.qform h3{font-size:clamp(24px,2.2vw,32px);margin-bottom:26px}
.fnote{margin:16px 0 0;font-size:13.5px;color:rgba(245,243,238,.55)}
.fnote a{color:rgba(245,243,238,.8);text-decoration:underline;text-underline-offset:2px}

/* kontakt */
.contact{position:relative;overflow:hidden;isolation:isolate}
.contact-bg{position:absolute;inset:0;z-index:-1;opacity:.5;color:rgba(245,243,238,.09)}
.contact-bg svg{width:100%;height:100%}
.contact-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--dark) 15%,rgba(23,22,19,.35))}
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,8vw,140px);align-items:stretch}
.contact h2{font-size:clamp(34px,4.4vw,72px)}
.info{margin-top:46px;display:grid;gap:22px}
.info>a,.info>div{display:flex;gap:18px;align-items:center;font-size:17px}
.info svg{width:46px;height:46px;padding:12px;border-radius:50%;border:1px solid var(--line);color:var(--gold);flex:none;transition:border-color .3s,background .3s;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.info a{transition:color .3s}.info a:hover{color:var(--gold-2)}
.info span a{display:block}
.info small{display:block;margin-bottom:3px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(245,243,238,.5)}
.info>a:hover svg{border-color:var(--gold);background:rgba(226,166,43,.1)}
.contact-side{display:flex;flex-direction:column;gap:20px}
.contact-side .qform{flex:1}
.contact-main{display:flex;flex-direction:column}
.contact-main .info{margin-top:auto;padding-top:46px}
.big-order .bo-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:6px}
.big-order .bo-top h3{margin:0}
.big-order .bo-links{display:flex;flex-wrap:wrap;gap:0 32px}
.big-order{padding:24px 26px;border:1px solid rgba(226,166,43,.45);border-radius:10px;background:rgba(226,166,43,.07)}
.bo-tag{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:13px;font-weight:700}
.big-order h3{font-size:clamp(20px,1.7vw,24px);margin:12px 0 16px}
.big-order a{display:flex;align-items:center;gap:14px;font-size:17px;font-weight:600;margin-top:10px;transition:color .3s}
.big-order a:hover{color:var(--gold-2)}
.big-order svg{width:20px;height:20px;color:var(--gold);flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* predajné miesta */
.stores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.store{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line-d);color:var(--ink)}
.store-map{position:relative;aspect-ratio:16/9;background:var(--dark-2)}
.store-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.store-b{padding:clamp(22px,2.6vw,34px)}
.store-b h3{font-size:clamp(24px,2.2vw,32px);margin-bottom:18px}
.store-b ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.store-oznam{margin:-6px 0 16px;padding:10px 14px;border-radius:8px;background:rgba(226,166,43,.16);border-left:3px solid var(--gold);color:var(--ink);font-size:15px;font-weight:600}
.store-b li{display:flex;gap:14px;align-items:flex-start;font-size:15.5px;color:var(--ink-2)}
.store-b li>svg{width:40px;height:40px;padding:10px;border-radius:50%;border:1px solid var(--line-d);color:var(--gold-d);flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.store-b li a{display:block;color:var(--ink);font-weight:600}
.store-b li a:hover{color:var(--gold-d)}
.hrs{display:grid;grid-template-columns:auto 1fr;gap:2px 16px;width:100%;font-size:15px}
.hrs dt{font-weight:600;color:var(--ink)}
.hrs dd{margin:0}
.hrs .today{color:var(--gold-d);font-weight:700}
.mapph{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;padding:20px;text-align:center;color:rgba(245,243,238,.75);font-size:13.5px;background:radial-gradient(circle at 30% 30%,rgba(226,166,43,.14),transparent 60%),var(--dark-2)}
.mapph svg{width:46px;height:46px;padding:12px;border-radius:50%;background:var(--gold);color:var(--ink);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mapph button{min-height:44px;padding:0 20px;border-radius:999px;background:var(--chalk);color:var(--ink);font-weight:600;font-size:14px}
.mapph button:hover{background:var(--gold)}
.mapph p{margin:0;max-width:40ch;line-height:1.5}
.mapph p a{text-decoration:underline;text-underline-offset:2px}

/* otváracie hodiny */
.hours{border-radius:10px;border:1px solid var(--line);padding:clamp(24px,3vw,38px)}
.htabs{display:inline-flex;gap:6px;padding:4px;border-radius:999px;border:1px solid var(--line);margin-bottom:20px}
.htabs button{min-height:40px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:600;color:rgba(245,243,238,.75);transition:background .3s,color .3s}
.htabs button[aria-selected="true"]{background:var(--gold);color:var(--ink)}
.hlist{display:grid;margin:0}
.hlist div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.hlist div:last-child{border:0}
.hlist dt{color:rgba(245,243,238,.7)}
.hlist dd{margin:0;font-weight:600}
.hlist .today dt,.hlist .today dd{color:var(--gold)}
.hlist .today dt::after{content:" · dnes";font-weight:500}
.cinfo{display:grid;gap:12px;margin-top:30px}
.cinfo>a,.cinfo>div{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;transition:border-color .3s,transform .5s var(--ease)}
.cinfo>a:hover{border-color:var(--gold);transform:translateX(6px)}
.cinfo svg{width:42px;height:42px;padding:11px;border-radius:50%;border:1px solid var(--line);color:var(--gold);flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cinfo small{display:block;font-size:13px;color:rgba(245,243,238,.55)}
.cinfo strong{font-weight:600}

/* kategórie a frakcie */

/* produkty */
.pd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}
.pd-pic{position:sticky;top:110px;aspect-ratio:1;border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden}
.pd-pic img{width:78%;height:78%;object-fit:contain;mix-blend-mode:multiply}
.pd-pic .badge{position:absolute;z-index:3;left:18px;top:18px;right:auto;bottom:auto;width:auto;aspect-ratio:auto;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--ink);color:var(--chalk);font-size:13px;font-weight:600}
.pd-pic .badge i{width:7px;height:7px;border-radius:50%;background:#62c77b}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;padding:20px 0;margin:0 0 24px;border-block:1px solid var(--line-d)}
.price b{font-family:var(--head);font-weight:700;font-size:clamp(44px,4.4vw,64px);line-height:1;letter-spacing:-.04em;color:var(--ink)}
.price span{font-size:14px;color:var(--ink-2)}
.warn{display:flex;gap:14px;align-items:flex-start;margin-top:26px;padding:16px 18px;border-radius:10px;background:var(--chalk);font-size:15px;color:var(--ink-2)}
.dark .warn{background:rgba(245,243,238,.05);color:rgba(245,243,238,.75)}
.warn svg{width:24px;height:24px;flex:none;color:var(--gold-d);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-d)}
.pgrid div{padding:20px 20px 20px 0;border-bottom:1px solid var(--line-d)}
.pgrid small{display:block;font-size:13.5px;color:var(--ink-2);margin-bottom:2px}
.pgrid b{font-family:var(--head);font-weight:600;font-size:17px}
.pgrid>div:last-child:nth-child(3n+1){grid-column:1/-1}
.docs{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.doc{display:inline-flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:999px;border:1px solid var(--line-d);font-weight:600;font-size:15px;transition:border-color .3s,transform .4s var(--ease)}
.doc:hover{border-color:var(--gold-d);transform:translateY(-2px)}
.doc svg{width:36px;height:36px;padding:9px;border-radius:50%;background:var(--ink);color:var(--gold);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.video{position:relative;border-radius:6px;overflow:hidden;background:#000;aspect-ratio:16/9}
.video video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.packs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.pack{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;border-radius:10px;background:#fff;overflow:hidden;color:var(--ink);transition:transform .6s var(--out),box-shadow .6s}
.pack:hover{transform:translateY(-6px);box-shadow:0 30px 60px -36px rgba(21,19,15,.5)}
.pack-img{aspect-ratio:1;display:grid;place-items:center;background:#fff}
.pack-img img{width:80%;height:80%;object-fit:contain;mix-blend-mode:multiply;transition:transform 1s var(--ease)}
.pack:hover .pack-img img{transform:scale(1.06) rotate(-2deg)}
.pack-t{padding:26px 28px 26px 8px}
.pack-t small{font-size:13px;font-weight:600;color:var(--gold-d)}
.pack-t h3{font-size:clamp(24px,2.2vw,32px);margin:6px 0 10px}
.pack-t p{margin:0 0 16px;font-size:15px;color:var(--ink-2)}
.pack-t b{display:block;font-family:var(--head);font-weight:700;font-size:24px;color:var(--gold-d);margin-bottom:14px}
.use{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;border-top:1px solid var(--line-d)}
.use li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-d);font-weight:500}
.use li::before{content:"✓";display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;background:var(--ink);color:var(--gold);font-size:12px}
.use li.no{color:var(--ink-2);text-decoration:line-through;text-decoration-color:rgba(21,19,15,.3)}
.use li.no::before{content:"✕";background:transparent;border:1px solid var(--line-d);color:#b03a2e}
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(170px,18vw,270px);gap:14px}
.gi{position:relative;overflow:hidden;border-radius:6px;background:var(--dark-3);padding:0}
.gi:nth-child(1){grid-column:span 2;grid-row:span 2}
.gi:nth-child(4),.gi:nth-child(5){grid-row:span 2}
.gi:nth-child(6){grid-column:span 2}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.gi:hover img{transform:scale(1.07)}
.prod3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.pr img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.pr div{padding-top:18px}
.pr h3{font-size:clamp(20px,1.7vw,24px);margin-bottom:6px}
.pr p{margin:0 0 14px;color:var(--ink-2);font-size:15.5px}
.brand{display:flex;flex-direction:column;color:inherit}
.brand-logo{aspect-ratio:5/2;border-radius:6px;overflow:hidden;background:#fff;transition:transform .6s var(--out)}
a.brand:hover .brand-logo{transform:translateY(-6px)}
.brand-logo img{width:100%;height:100%;object-fit:cover}
.brand-t{padding-top:20px}
.brand-t small{font-size:13.5px;font-weight:600;color:var(--gold-d)}
.brand-t h3{font-size:clamp(24px,2.2vw,32px);margin:4px 0 10px}
.brand-t p{margin:0;color:var(--ink-2);font-size:15.5px}
.rent{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border-radius:10px;overflow:hidden;background:#fff;color:var(--ink)}
.rent img{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.rent div{padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column}
.rent h3{font-size:clamp(24px,2.2vw,32px);margin-bottom:10px}
.rent p{margin:0 0 16px;font-size:15.5px;color:var(--ink-2)}
.rent b{font-family:var(--head);font-weight:700;font-size:20px;color:var(--gold-d)}
.rent small{margin-top:6px;font-size:14px;font-weight:600;color:var(--ink-2)}
.more{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-top:clamp(28px,4vh,44px);padding:26px 0;border-block:1px solid var(--line);transition:padding .5s var(--ease)}
.light .more,.sand .more,.white .more{border-color:var(--line-d)}
.more small{font-size:14px;font-weight:600;color:rgba(245,243,238,.6)}
.light .more small,.sand .more small,.white .more small{color:var(--ink-2)}
.more b{font-family:var(--head);font-weight:700;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.02em;flex:1}
.more i{width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;transition:transform .5s var(--ease)}
.more svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.more:hover{padding-inline:18px}
.more:hover i{transform:rotate(-45deg)}

/* strešné kamene – pás */
.promo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:10px;overflow:hidden;background:var(--dark-2);border:1px solid var(--line)}
.promo .photo{border-radius:0;min-height:420px}
.promo-t{padding:clamp(30px,4.4vw,64px);display:flex;flex-direction:column;justify-content:center}
.promo-t h2{font-size:clamp(34px,4vw,62px);margin-bottom:20px}
.promo-t p{margin:0 0 22px;color:rgba(245,243,238,.74)}

/* právne texty */
.legal{padding:clamp(56px,9vh,100px) 0;background:var(--chalk);color:var(--ink)}
.legal .meta{color:var(--ink-2);font-size:14px;margin:0 0 26px}
.legal p,.legal li{color:var(--ink-2)}
.legal ul{padding-left:1.2em}
.legal li{margin-bottom:6px}
.legal strong{color:var(--ink)}
.legal a{text-decoration:underline;text-underline-offset:2px}
.legal a:hover{color:var(--gold-d)}
.legal h2{font-size:clamp(26px,2.8vw,34px);margin:52px 0 14px}
.legal h3{font-family:var(--sans);font-size:17px;font-weight:600;color:var(--ink);margin:0 0 8px;letter-spacing:0;line-height:1.3}
.box{background:#fff;border:1px solid var(--line-d);border-radius:10px;padding:18px 22px}
.legal table{width:100%;border-collapse:collapse;background:#fff;font-size:14.5px}
.legal th,.legal td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-d);vertical-align:top}
.legal th{font-size:13px;font-weight:600;color:var(--ink-2)}
.legal tr:last-child td{border-bottom:0}
.tbl{overflow-x:auto;border:1px solid var(--line-d);border-radius:10px}
.toc{columns:2 260px;column-gap:28px;padding:20px 22px 14px 42px;margin:0 0 8px;background:#fff;border:1px solid var(--line-d);border-radius:10px;font-size:15px}
.toc li{margin-bottom:6px;break-inside:avoid}
.legal .toc a{text-decoration:none}
.pp{display:grid;gap:12px}
.pp section{background:#fff;border:1px solid var(--line-d);border-radius:10px;padding:20px 22px}
.pp dl{margin:0;display:grid;grid-template-columns:150px 1fr;gap:6px 16px;font-size:15px}
.pp dt{font-size:13px;font-weight:600;color:var(--ink-2);padding-top:2px}
.pp dd{margin:0;color:var(--ink-2)}
.obj{border:2px solid var(--gold);background:#fff8e6;border-radius:10px;padding:20px 22px;margin:18px 0}
.obj p{margin:0 0 8px}.obj p:last-child{margin:0}
.terms{display:grid;border-top:1px solid var(--line-d);counter-reset:t}
.terms section{position:relative;padding:30px 0 26px 90px;border-bottom:1px solid var(--line-d)}
.terms section::before{counter-increment:t;content:counter(t,decimal-leading-zero);position:absolute;left:0;top:28px;font-family:var(--head);font-weight:700;font-size:30px;letter-spacing:-.03em;color:var(--gold-d)}
.terms h2{margin:0 0 12px;font-size:clamp(24px,2.4vw,30px)}
.terms ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.terms li{display:flex;gap:12px;margin:0}
.terms li::before{content:"";flex:none;width:7px;height:7px;margin-top:10px;border-radius:50%;background:var(--gold)}
.terms h3{margin:24px 0 10px}
.terms h2+h3{margin-top:4px}
.terms h3+p{margin:0}

/* pätička */
footer{background:var(--ink-0);padding:clamp(56px,8vh,84px) 0 28px;overflow:hidden;font-size:15.5px}
.foot-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:clamp(40px,6vh,64px)}
.foot-cols h2{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0;line-height:20px;color:rgba(245,243,238,.5);margin:0 0 16px}
.foot-cols address strong{display:block;color:var(--chalk);font-weight:600}
.foot-cols address span{display:block;height:14px}
.foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot-cols a{transition:color .3s}.foot-cols a:hover{color:var(--gold-2)}
.foot-cols p{margin:18px 0 0;max-width:34ch;color:rgba(245,243,238,.68)}
.foot-cols address{font-style:normal;line-height:1.75;color:rgba(245,243,238,.82)}
.f-soc{display:flex;gap:10px;margin-top:22px}
.f-soc a{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .3s,color .3s,border-color .3s}
.f-soc a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.f-soc svg{width:18px;height:18px;fill:currentColor}
.f-legal>span:last-child{text-align:right}
@media (max-width:1000px){.f-legal>span:last-child{text-align:left}}
.f-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;padding:20px 0;border-top:1px solid var(--line);font-size:13.5px;line-height:1.7;color:rgba(245,243,238,.55)}
.f-legal strong{color:rgba(245,243,238,.85);font-weight:600}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:rgba(245,243,238,.55);flex-wrap:wrap}
.f-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.f-links a,.f-links button{display:inline-flex;align-items:center;min-height:40px;font-size:14px;color:rgba(245,243,238,.6);transition:color .3s}
.f-links a:hover,.f-links button:hover{color:var(--gold-2)}
.top-btn{display:inline-flex;align-items:center;gap:10px;color:var(--chalk)}
.top-btn svg{width:18px;height:18px;transition:transform .5s var(--ease)}
.top-btn:hover svg{transform:translateY(-4px)}

/* plávajúca pomoc */
.help{transition:opacity .4s,transform .5s var(--ease);position:fixed;right:clamp(14px,2.4vw,26px);bottom:calc(clamp(14px,2.4vw,26px) + env(safe-area-inset-bottom,0px));z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.help-btn{width:58px;height:58px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;box-shadow:0 16px 36px -12px rgba(0,0,0,.5);transition:transform .4s var(--ease)}
.help-btn:hover{transform:scale(1.06)}
.help-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.help-btn .x{display:none}
.help.open .help-btn .x{display:block}.help.open .help-btn .q{display:none}
.help-card{width:min(300px,calc(100vw - 28px));padding:20px;border-radius:10px;background:var(--dark-2);border:1px solid var(--line);box-shadow:0 24px 60px -20px rgba(0,0,0,.6);transform-origin:bottom right;transform:scale(.9) translateY(10px);opacity:0;visibility:hidden;transition:transform .4s var(--ease),opacity .3s,visibility 0s .4s}
.help.open .help-card{transform:none;opacity:1;visibility:visible;transition:transform .4s var(--ease),opacity .3s}
.help-card h2{font-size:22px;margin-bottom:4px}
.help-card>p{margin:0 0 14px;font-size:14px;color:rgba(245,243,238,.6)}
.help-card a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);margin-top:8px;font-size:15px;font-weight:600;transition:border-color .3s}
.help-card a:hover{border-color:var(--gold)}
.help-card a small{display:block;font-size:12.5px;font-weight:500;color:rgba(245,243,238,.5)}
.help-card svg{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--gold);color:var(--ink);flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* cookies */
.cc{position:fixed;left:clamp(16px,3vw,28px);bottom:calc(clamp(16px,3vw,28px) + env(safe-area-inset-bottom,0px));z-index:150;width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:22px 22px 18px;border-radius:10px;background:var(--dark-2);border:1px solid rgba(226,166,43,.3);box-shadow:0 24px 60px -20px rgba(0,0,0,.6)}
.cc h2{font-size:22px;margin-bottom:8px}
.cc p{margin:0 0 16px;font-size:14.5px;line-height:1.55;color:rgba(245,243,238,.75)}
.cc p strong{color:var(--chalk);font-weight:600}
.cc p a{color:var(--gold-2);text-decoration:underline;text-underline-offset:2px}
.cc-set{display:grid;gap:8px;margin:0 0 16px}
.cc-cat{padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.cc-cat p{margin:6px 0 0;font-size:13px;line-height:1.5}
.cc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px}
label.cc-row{cursor:pointer}
.cc-on{font-size:12.5px;font-weight:600;color:var(--gold)}
.cc-row input{position:absolute;opacity:0;width:1px;height:1px}
.sw{flex:none;position:relative;width:44px;height:26px;border-radius:999px;background:rgba(245,243,238,.4);transition:background .25s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .25s var(--ease)}
.cc-row input:checked+.sw{background:var(--gold)}
.cc-row input:checked+.sw::after{transform:translateX(18px)}
.cc-row input:focus-visible+.sw{outline:2px solid var(--gold);outline-offset:3px}
.cc-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cc .btn{min-height:46px;padding:0 14px;font-size:14.5px}
.cc-b{border:1px solid rgba(245,243,238,.45);color:var(--chalk)}
.cc-b::before{background:var(--chalk)}
.cc-b:hover{color:var(--ink)}
.cc-save{grid-column:1/-1}
.cc-more{grid-column:1/-1;justify-self:center;min-height:40px;padding:6px 12px;font-size:13.5px;font-weight:600;color:rgba(245,243,238,.8);text-decoration:underline;text-underline-offset:3px}
.cc-more:hover{color:var(--gold-2)}
.cc-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border-radius:50%;font-size:22px;line-height:1;color:rgba(245,243,238,.7)}
.cc-x:hover{color:var(--gold)}

/* lightbox */
.lb{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:clamp(12px,3vw,40px);background:rgba(16,15,13,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}
.lb.open{opacity:1;visibility:visible;transition:opacity .4s}
.lb img{max-height:86vh;max-width:min(1200px,100%);width:auto;border-radius:6px}
.lb button{position:absolute;top:16px;right:16px;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ink);font-size:26px;line-height:1}

/* 404 */
.e404{min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;padding:calc(var(--nav) + 40px) 0 60px}
.e404 b{display:block;font-family:var(--head);font-weight:800;font-size:clamp(130px,26vw,360px);line-height:.8;letter-spacing:-.06em;color:rgba(226,166,43,.18);transform:translateX(-.03em)}
.e404 h1{font-size:clamp(40px,5.6vw,80px);margin:18px 0 18px}
.e404 .lede{margin:0 auto 30px}

@media (max-width:1180px){
  .menu,.nav-tel span{display:none}
  .burger{display:block}
  .sand-grid{gap:40px 18px}
  .grain-card.feat{grid-row:auto}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps,.steps.s7{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps.s7>:last-child:nth-child(odd){grid-column:1/-1}
  .svc-item{grid-template-columns:56px minmax(0,1fr);gap:14px 20px;padding:26px 8px}
  .svc-item p{grid-column:2}
  .foot-cols{grid-template-columns:1fr 1fr}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pgrid>div:last-child:nth-child(3n+1){grid-column:auto}
  .pgrid>div:last-child:nth-child(odd){grid-column:1/-1}
  .stats.s4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats.s4 .stat:nth-child(3){border-left:0;padding-left:0}
  .stats.s4 .stat b{font-size:clamp(22px,8.6cqi,50px)}
  .stats.s4 .stat:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:1000px){
  .hero{display:block;min-height:0}
  .hero-pic{position:relative;width:auto;height:clamp(320px,58svh,560px)}
  .hero-pic::after{background:linear-gradient(180deg,rgba(23,22,19,.85) 0%,rgba(23,22,19,0) 26%,rgba(23,22,19,0) 60%,var(--dark) 100%)}
  .hero-in{padding:0 0 60px;margin-top:-40px}
  .hero-foot{max-width:none}
  .cue,.hero-tag{display:none}
  .intro-grid,.k-grid,.proc-grid,.faq-grid,.ml-grid,.contact-grid,.split,.pd,.rent,.promo{grid-template-columns:1fr}
  .split.rev>:first-child{order:0}
  .proc-left,.faq-head{position:static}
  .pd-pic{position:relative;top:0;max-width:520px}
  .pcs,.prod3,.cards.c3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards.c3>:last-child:nth-child(odd),.prod3>:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 10px)}
  .stores,.packs,.fitems{grid-template-columns:1fr}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gi:nth-child(4),.gi:nth-child(5){grid-row:auto}
  .rent img{aspect-ratio:16/10}
  .promo .photo{min-height:300px}
}
@media (max-width:700px){
  :root{--nav:74px}
  .nav .btn{display:none}
  .sand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grain-card p{display:none}
  .pcs,.prod3,.cards,.cards.c3,.cards.c2,.steps,.steps.s7{grid-template-columns:1fr}
  .cards.c3>:last-child:nth-child(odd),.prod3>:last-child:nth-child(odd){grid-column:auto;justify-self:stretch;width:auto}
  .pcs{max-width:440px;margin-inline:auto}
  .use,.cform form{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:1fr}
  .pack{grid-template-columns:1fr}
  .pack-t{padding:0 24px 26px}
  .pgrid{grid-template-columns:1fr}
  .note-in{flex-wrap:wrap}
  .note a{margin-left:46px}
  .pp dl{grid-template-columns:1fr;gap:2px}
  .pp dd{margin-bottom:8px}
  .terms section{padding:64px 0 22px}
  .terms section::before{top:24px}
  .fq-a p{padding-right:0}
  .hero h1{font-size:clamp(44px,13.4vw,76px);line-height:.98}
  .hero h1 .line{white-space:normal}
  .tl{padding-left:44px}
  .tl-dot{left:-44px}
  .tl-rail{left:7px}
}
@media (pointer:coarse){.cur,.ring{display:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .mq-track,.cue::after,.hero-pic img,.phero-bg,.ml-rain,.stat-d i{animation:none}
  .js .rv,.js .clip,.js .hero h1 .ch,.js .hero .fade,.js .grain-card .tex,.js .sh .m>span{opacity:1!important;transform:none!important;clip-path:none!important}
  *{transition-duration:.01ms!important}
}
.light .ml-list li.on,.white .ml-list li.on{background:rgba(21,19,15,.05)}
.light .ml-n,.white .ml-n{border-color:var(--line-d)}
.light .ml-t em,.white .ml-t em{color:var(--gold-d)}
.light .ml-list p,.white .ml-list p{color:var(--ink-2)}
.light .ml-cap{color:var(--ink-2)}
img{height:auto}
.cinfo span a{display:block}
.cinfo span a:hover{color:var(--gold-2)}
.cta-in{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}
.cta h2{font-size:clamp(38px,5vw,80px);max-width:14ch}
.social{display:flex;flex-wrap:wrap;gap:12px}
.soc{display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:0 24px 0 9px;border-radius:999px;border:1px solid var(--line);font-weight:600;transition:border-color .3s,background .3s,color .3s}
.soc svg{width:40px;height:40px;padding:10px;border-radius:50%;background:var(--gold);color:var(--ink);fill:currentColor}
.soc:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.soc:hover svg{background:var(--ink);color:var(--gold)}
.light .soc,.white .soc,.sand .soc{border-color:var(--line-d)}
.info>a,.info>div{min-height:40px}
.info span a{padding:3px 0}
.big-order a{min-height:40px}
/* zarovnanie v radoch kariet */
.card .n{margin-bottom:0;padding-bottom:28px}
.card .ico+h3{margin-top:0}
.pr{display:flex;flex-direction:column}
.pr div{display:flex;flex-direction:column;align-items:flex-start;flex:1}
.pr .tlink{margin-top:auto}
.np-t{display:flex;flex-direction:column;flex:1}
.np-t b{margin-top:auto}
.hero-card{justify-self:end;width:min(420px,100%);aspect-ratio:4/3;display:grid;place-items:center;padding:28px;border-radius:10px;background:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.hero-card{overflow:hidden}
.hero-card img{width:100%;height:100%;min-height:0;object-fit:contain;mix-blend-mode:multiply}
@media (max-width:1000px){.hero-card{justify-self:start;width:min(320px,100%);margin-top:10px}}

body.lock .help{opacity:0;visibility:hidden}
@media (min-width:1001px) and (max-width:1600px){.help{right:10px}.help-btn{width:48px;height:48px}.hero-tag{right:72px}}
.help.away{opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .4s,visibility 0s .4s,transform .5s var(--ease)}

/* blog – karty článkov (partial blog-clanky) */
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(44px,6vh,64px) clamp(20px,2.4vw,32px)}
.bl{display:flex;flex-direction:column}
.bl-img{display:block;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--sand)}
.bl-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.bl:hover .bl-img img{transform:scale(1.05)}
.bl-t{display:flex;flex-direction:column;flex:1;padding-top:20px}
.bl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:12px;font-size:13.5px;color:var(--ink-2)}
.bl-meta b{font-weight:600;color:var(--gold-d)}
.bl-meta span::before{content:"";display:inline-block;width:4px;height:4px;margin-right:10px;border-radius:50%;background:currentColor;opacity:.5;vertical-align:middle}
.bl h3{font-size:clamp(20px,1.7vw,24px);margin:0 0 10px;transition:color .3s}
.bl:hover h3{color:var(--gold-d)}
.bl-p{display:block;margin-bottom:22px;font-size:15.5px;line-height:1.6;color:var(--ink-2)}
.bl .tlink{margin-top:auto;align-self:flex-start}
.bl:hover .tlink{color:var(--gold-d);gap:12px}
.tlink svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bl.big{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.bl.big .bl-img{aspect-ratio:16/10}
.bl.big .bl-t{padding-top:0}
.bl.big h3{font-size:clamp(28px,3vw,44px);margin-bottom:16px}
.bl.big .bl-p{font-size:17px;max-width:46ch}
/* 2 karty (súvisiace články) alebo veľká + 2 (/blog): dva stĺpce, žiadny prázdny tretí */
@media (min-width:641px){.bl-grid:has(>.bl:nth-child(2):last-child),.bl-grid:has(>.big:first-child+.bl+.bl:last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1000px){.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bl.big{grid-template-columns:1fr}.bl.big .bl-t{padding-top:4px}}
@media (min-width:641px) and (max-width:1000px){.bl-grid>.bl:nth-child(3):last-child:not(.big~.bl){grid-column:1/-1;justify-self:center;width:calc(50% - 16px)}}
@media (max-width:640px){.bl-grid{grid-template-columns:1fr}}

/* blog – článok */
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 22px;font-size:14px;color:rgba(245,243,238,.72)}
.post-meta b{font-weight:600;color:var(--gold)}
.post-meta span::before{content:"";display:inline-block;width:4px;height:4px;margin-right:10px;border-radius:50%;background:currentColor;opacity:.6;vertical-align:middle}
.post{padding:clamp(56px,9vh,100px) 0;background:#fff;color:var(--ink)}
.prose{font-size:18px;line-height:1.75;color:var(--ink-2)}
.prose>*{margin:0 0 22px}
.prose>p:first-child{font-size:20px;line-height:1.65;color:var(--ink)}
.prose h2{font-size:clamp(26px,2.6vw,34px);line-height:1.15;margin:56px 0 18px;color:var(--ink)}
.prose h3{font-size:clamp(21px,2vw,25px);line-height:1.2;margin:40px 0 14px;color:var(--ink)}
.prose blockquote{margin-left:0;padding:4px 0 4px 22px;border-left:3px solid var(--gold);font-size:20px;line-height:1.6;color:var(--ink)}
.prose strong{font-weight:600;color:var(--ink)}
.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px;transition:color .3s}
.prose a:hover{color:var(--gold-d)}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:8px;padding-left:4px}
.prose li::marker{color:var(--gold-d);font-weight:600}
.prose .tip{padding:20px 24px;border-radius:10px;border-left:3px solid var(--gold);background:var(--chalk);font-size:17px;line-height:1.65}
.prose figure{margin:40px 0}
.prose figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.prose figcaption{margin-top:10px;font-size:14px;color:var(--ink-2)}
.prose .tbl{overflow-x:auto;border:1px solid var(--line-d);border-radius:10px}
.prose table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5}
.prose th,.prose td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-d)}
.prose th{font-size:13px;font-weight:600;color:var(--ink-2);background:var(--chalk)}
.prose tr:last-child td{border-bottom:0}
.prose td:first-child{color:var(--ink)}
@media (max-width:640px){.prose{font-size:17px}.prose>p:first-child{font-size:18.5px}.prose h2{margin-top:44px}.prose th,.prose td{padding:10px 12px;font-size:15px}}

/* produkty – katalóg s kódmi (katalog.py) */
/* obchod: kategórie vľavo (desktop), na tablete a mobile ako posuvný pás nad produktmi */
.kp-side{margin-bottom:16px}
.kp-side-t{display:none}
.kp-cats .swt.all{display:none}
.kp-main{min-width:0}
.kp-cats{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px calc(50vw - 50%) 4px;margin:0 calc(50% - 50vw);scroll-padding-inline:calc(50vw - 50%)}
.kp-cats::-webkit-scrollbar{display:none}
.kp-cats button{flex:none;display:flex;align-items:center;gap:10px;min-height:50px;padding:5px 18px 5px 6px;border-radius:999px;border:1px solid var(--line-d);background:#fff;font-size:15px;font-weight:500;transition:background .3s,color .3s,border-color .3s}
.kp-cats button:first-child{padding-left:18px}
.kp-cats button:hover{border-color:var(--ink)}
.kp-cats button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--chalk)}
.kp-cats .swt{flex:none;width:38px;height:38px;border-radius:50%;background:var(--sand) center/cover}
.kp-cats small{font-size:13px;font-weight:700;opacity:.7}
.kp-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.kp-search{flex:1 1 320px;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 20px;border-radius:999px;border:1px solid var(--line-d);background:#fff;transition:border-color .3s}
.kp-search:focus-within{border-color:var(--ink)}
.kp-search svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--ink-2);stroke-width:2;stroke-linecap:round}
.kp-search input{flex:1;min-width:0;height:50px;border:0;background:none;font:inherit;font-size:16px;color:var(--ink);outline:0}
.kp-search input::placeholder{color:var(--ink-2)}
.kp-sel select{min-height:52px;padding:0 44px 0 20px;border-radius:999px;border:1px solid var(--line-d);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315130F' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 16px center/16px no-repeat;font:inherit;font-size:15px;color:var(--ink);appearance:none;-webkit-appearance:none;cursor:pointer}
.kp-sel select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.kp-chk{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 6px;font-size:15px;font-weight:500;cursor:pointer}
.kp-chk input{position:absolute;opacity:0;width:1px;height:1px}
.kp-chk .sw{background:rgba(21,19,15,.4)}
.kp-chk input:checked+.sw{background:var(--gold)}
.kp-chk input:checked+.sw::after{transform:translateX(18px)}
.kp-chk input:focus-visible+.sw{outline:2px solid var(--gold);outline-offset:3px}
.kp-count{margin:26px 0 18px;font-size:14px;color:var(--ink-2)}
.kp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kp-h{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin:36px 0 2px;font-size:clamp(24px,2.2vw,32px)}
.kp-h.first{margin-top:0}
.kp-h small{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0;color:var(--ink-2)}
.kp{position:relative;display:flex;flex-direction:column;padding:16px 18px 18px;border-radius:10px;border:1px solid transparent;background:#fff;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s}
.kp:hover{transform:translateY(-3px);box-shadow:0 22px 44px -28px rgba(21,19,15,.4)}
.kp.flash{border-color:var(--gold);box-shadow:0 0 0 3px rgba(226,166,43,.25)}
.kp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
.kp-cat{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-code{flex:none;padding:3px 9px;border-radius:6px;background:var(--chalk);font-family:var(--head);font-weight:600;font-size:13px;letter-spacing:.04em;color:var(--ink);font-variant-numeric:tabular-nums}
.kp-vis{position:relative;aspect-ratio:16/10;margin:6px -4px 10px}
.kp-vis::before{content:"";position:absolute;left:10%;right:10%;bottom:9%;height:10%;border-radius:50%;background:radial-gradient(closest-side,rgba(21,19,15,.32),rgba(21,19,15,0));transition:transform .6s var(--ease)}
.kp-pile{position:absolute;left:7%;right:7%;top:8%;bottom:12%;background:var(--sand) center/cover;transition:transform .6s var(--ease);-webkit-mask:var(--pile) center/100% 100% no-repeat;mask:var(--pile) center/100% 100% no-repeat}
.kp-pile::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 42% 18%,rgba(255,255,255,.3),rgba(255,255,255,0) 70%),linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.3))}
.kp-pile.v0{--pile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 76' preserveAspectRatio='none'%3E%3Cpath d='M1 75C9 61 20 43 33 33C41 27 48 21 56 23C67 26 79 42 88 56C93 63 96 69 99 75Z'/%3E%3C/svg%3E")}
.kp-pile.v1{--pile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 76' preserveAspectRatio='none'%3E%3Cpath d='M1 75C12 58 24 37 40 26C46 22 53 21 59 25C73 33 87 55 99 75Z'/%3E%3C/svg%3E")}
.kp-pile.v2{--pile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 76' preserveAspectRatio='none'%3E%3Cpath d='M1 75C8 64 18 50 28 41C35 35 41 29 48 27C55 25 61 30 67 34C79 42 90 58 99 75Z'/%3E%3C/svg%3E")}
.kp:hover .kp-pile{transform:translateY(-4px) scale(1.03)}
.kp:hover .kp-vis::before{transform:scaleX(.92)}
.kp-vis .kp-top{position:absolute;left:0;top:0;z-index:1;padding:4px 10px;border-radius:999px;background:var(--gold);color:var(--ink);font-style:normal;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.kp h4{margin:0 0 8px;font-family:var(--head);font-size:clamp(17px,1.3vw,19px);font-weight:600;line-height:1.25;letter-spacing:-.01em}
.kp h4 b{font-weight:700;color:var(--gold-d);white-space:nowrap}
.kp>p{margin:0 0 12px;font-size:14.5px;line-height:1.55;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kp-spec{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.kp-spec li{padding:3px 10px;border-radius:999px;border:1px solid var(--line-d);font-size:13px;font-weight:500;color:var(--ink)}
.kp-foot{margin-top:auto;display:grid;gap:4px;padding-top:14px;border-top:1px solid var(--line-d)}
.kp-st{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.kp-st::before{content:"";width:8px;height:8px;border-radius:50%;background:#3f9d5a}
.kp-st.req::before{background:var(--gold)}
.kp-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:6px 0 0}
.kp-price b{font-family:var(--head);font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.kp-price b.na{font-size:17px;font-weight:600}
.kp-price small{font-size:13px;color:var(--ink-2)}
.kp-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:40px}
.kp-pg{display:grid;place-items:center;min-width:46px;height:46px;padding:0 10px;border-radius:999px;border:1px solid var(--line-d);background:#fff;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;transition:background .3s,color .3s,border-color .3s}
.kp-pg:hover:not(:disabled){border-color:var(--ink)}
.kp-pg[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--chalk)}
.kp-pg:disabled{opacity:.35;cursor:default}
.kp-pg svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kp-gap{min-width:24px;text-align:center;color:var(--ink-2)}
.kp-empty{padding:48px 24px;border-radius:10px;background:#fff;text-align:center}
.kp-empty p{margin:0 0 18px;color:var(--ink-2)}
.kp-empty b{color:var(--ink)}
.kp-empty a{text-decoration:underline}
@media (min-width:1001px){
  .kp-shop{display:grid;grid-template-columns:clamp(248px,19vw,268px) minmax(0,1fr);gap:0 clamp(28px,3vw,48px);align-items:start}
  /* panel kategórií sa posúva len popri produktoch, nie až k stránkovaniu */
  .kp-side-wrap{grid-row:1;align-self:stretch}
  .kp-main{grid-column:2;grid-row:1}
  .kp-pager{grid-column:2}
  .kp-side{position:sticky;top:calc(var(--nav) + 16px);margin:0;padding:18px 14px 14px;border-radius:10px;background:#fff;border:1px solid var(--line-d)}
  .kp-side-t{display:block;margin:0 6px 10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
  .kp-cats{flex-direction:column;gap:2px;overflow:visible;margin:0;padding:0}
  .kp-cats button,.kp-cats button:first-child{width:100%;min-height:52px;padding:6px 10px 6px 6px;gap:12px;border:0;border-radius:8px;background:none;text-align:left;font-size:15.5px}
  .kp-cats button:hover{background:var(--chalk)}
  .kp-cats button[aria-pressed="true"]{background:var(--ink);color:var(--chalk)}
  .kp-cats .swt,.kp-cats .swt.all{display:block;width:40px;height:40px}
  .kp-cats .swt.all{background:var(--sand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315130F' stroke-width='1.8'%3E%3Crect x='5' y='5' width='5.5' height='5.5' rx='1'/%3E%3Crect x='13.5' y='5' width='5.5' height='5.5' rx='1'/%3E%3Crect x='5' y='13.5' width='5.5' height='5.5' rx='1'/%3E%3Crect x='13.5' y='13.5' width='5.5' height='5.5' rx='1'/%3E%3C/svg%3E") center/20px no-repeat}
  .kp-cats button[aria-pressed="true"] .swt.all{background-color:var(--gold)}
  .kp-cats small{margin-left:auto;padding-left:8px}
  .kp-count{margin-top:22px}
}
@media (min-width:1001px) and (max-width:1240px){.kp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1001px) and (max-width:1400px){.kp-cats button,.kp-cats button:first-child{gap:10px;font-size:14.5px}.kp-cats .swt,.kp-cats .swt.all{width:34px;height:34px}}
@media (max-width:860px){.kp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-tools .kp-search{flex-basis:100%}.kp-sel{flex:1 1 0;min-width:0}.kp-sel select{width:100%}}
@media (max-width:560px){
  .kp-grid{grid-template-columns:1fr;gap:12px}
  .kp{display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-areas:"head head" "vis t" "vis p" "spec spec" "foot foot";column-gap:14px;padding:14px 14px 16px}
  .kp-head{grid-area:head}.kp-vis{grid-area:vis;margin:6px 0 10px;align-self:start}.kp h4{grid-area:t;margin-top:12px}.kp>p{grid-area:p;font-size:14px}.kp-spec{grid-area:spec}.kp-foot{grid-area:foot}
}


/* produkty s fotkou + karty „Nedávno pridané“ z partialu produkty */
.kp-vis.photo{display:grid;place-items:center;border-radius:6px;background:var(--chalk);overflow:hidden}
.kp-vis.photo::before{display:none}
.kp-vis.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6%;mix-blend-mode:multiply;transition:transform .8s var(--ease)}
.kp:hover .kp-vis.photo img{transform:scale(1.05)}
.np-img.tex .kp-pile{left:8%;right:8%;top:36%;bottom:24%;z-index:1}
.np-img.tex em{z-index:2}
.np-img.tex::after{content:"";position:absolute;left:12%;right:12%;bottom:20%;height:8%;border-radius:50%;background:radial-gradient(closest-side,rgba(21,19,15,.3),rgba(21,19,15,0));z-index:0}
.np:hover .np-img.tex .kp-pile{transform:translateY(-4px) scale(1.03)}
.np-code{align-self:flex-start;display:inline-block;margin-bottom:8px;padding:2px 8px;border-radius:6px;background:var(--chalk);font-family:var(--head);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--ink-2)}
.np-t b.np-ask{font-family:var(--sans);font-size:16px;font-weight:600}

/* reklamné okno (partial reklama) */
.adpop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:clamp(16px,4vw,40px);background:rgba(12,11,9,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .4s ease}
.adpop.on{opacity:1}
.adpop-box{position:relative;max-width:100%;transform:translateY(18px) scale(.97);transition:transform .55s var(--ease)}
.adpop.on .adpop-box{transform:none}
.adpop picture,.adpop-link{display:block}
.adpop img{display:block;width:auto;height:auto;max-width:min(900px,100%);max-height:calc(100dvh - 2 * clamp(16px,4vw,40px));margin:auto;border-radius:10px;box-shadow:0 40px 90px -30px rgba(0,0,0,.75)}
.adpop-link:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:12px}
.adpop-x{position:absolute;top:10px;right:10px;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(21,19,15,.78);color:#fff;font-size:26px;line-height:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .3s,color .3s}
.adpop-x:hover{background:var(--gold);color:var(--ink)}
@media (prefers-reduced-motion:reduce){.adpop,.adpop-box{transition:none}}

@media (min-width:1001px) and (max-width:1180px){.steps.s7{grid-template-columns:repeat(4,minmax(0,1fr))}.steps.s7>:last-child:nth-child(odd){grid-column:auto}}

/* dotykové zariadenia: drobné odkazy s dostatočnou plochou */
@media (pointer:coarse){
  .crumbs a,.mnav .mnav-c,.note a{display:inline-flex;align-items:center;min-height:40px}
  .foot-cols li a,.foot-cols address a{display:inline-block;padding:9px 0;margin:-9px 0}
  .store-b li a{padding:6px 0}
}
/* tablet 701 – 1180: Sortiment ako na desktope – 2 hlavné vedľa seba, ostatné po 4 */
@media (min-width:701px) and (max-width:1180px){.sand-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grain-card.feat{grid-column:span 2}}
/* iPad Pro na výšku: hero ako na tablete (fotka hore), nie úzky pás */
@media (min-width:1001px) and (max-width:1199px) and (orientation:portrait){
  .hero{display:block;min-height:0}
  .hero-pic{position:relative;width:auto;height:clamp(320px,52svh,620px)}
  .hero-pic::after{background:linear-gradient(180deg,rgba(23,22,19,.85) 0%,rgba(23,22,19,0) 26%,rgba(23,22,19,0) 60%,var(--dark) 100%)}
  .hero-in{padding:0 0 70px;margin-top:-40px}
  .hero-foot{max-width:none}
  .cue,.hero-tag{display:none}
}
/* telefón */
@media (max-width:700px){
  .more small{flex:0 0 100%}
  .note a{margin-left:0}
  .hero-card{width:100%}
}
@media (max-width:359px){
  .logo img{width:150px}
  .nav-r{gap:8px}
  .faq-head .btn{white-space:normal;text-align:center}
  .cc-btns{grid-template-columns:1fr}
  .mnav a{font-size:clamp(28px,9vw,58px)}
  .stat b{font-size:20px}
}

/* ---------- recenzie zákazníkov ---------- */
.rev-head{align-items:end}
.rev-sum{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.rev-sum>b{font-family:var(--head);font-weight:700;font-size:clamp(44px,4.4vw,64px);line-height:1;letter-spacing:-.03em}
.rev-sum>div{display:grid;gap:4px}
.rev-sum>div>span:not(.stars){font-size:14.5px;color:var(--ink-2)}
.rev-sum p{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px 20px;margin:0}
.rev-sum a{font-weight:600;font-size:14.5px;border-bottom:1px solid var(--gold-d);padding-bottom:2px}
.rev-sum a:hover{color:var(--gold-d)}
.stars{display:inline-flex;gap:2px;color:var(--gold)}
.stars svg{width:18px;height:18px;fill:currentColor}
.stars svg.off{opacity:.25}
.rev-sum .stars svg{width:22px;height:22px}
.rev-rail{grid-auto-columns:calc((100% - 48px) / 3)}
.rcard{position:relative;scroll-snap-align:start;display:flex;flex-direction:column;gap:18px;margin:0;padding:clamp(24px,2.4vw,32px);border-radius:10px;background:#fff;border:1px solid var(--line-d)}
.rcard blockquote{flex:1;margin:0}
.rcard::before{content:"“";position:absolute;right:22px;top:6px;font-family:var(--head);font-weight:700;font-size:84px;line-height:1;color:var(--gold);opacity:.28;pointer-events:none}
.rcard blockquote p{margin:0;font-size:16.5px;line-height:1.65;color:var(--ink)}
.rcard figcaption{display:grid;gap:2px;padding-top:16px;border-top:1px solid var(--line-d);font-size:14px;color:var(--ink-2)}
.rcard figcaption b{font-size:15.5px;color:var(--ink)}
.rev-src{justify-self:start;margin-top:6px;font-size:12.5px;font-weight:600;color:var(--gold-d)}
a.rev-src:hover{text-decoration:underline}
.rev-foot{display:flex;align-items:center;gap:24px;margin-top:30px}
.rev-foot .rail-bar{flex:1;margin:0}
@media (max-width:1000px){.rev-rail{grid-auto-columns:calc((100% - 24px) / 2)}}
@media (max-width:700px){.rev-rail{grid-auto-columns:86%}.rev-sum>b{font-size:44px}}
@media (min-width:1001px){
  .rev-rail:has(>.rcard:nth-child(2):last-child){grid-auto-columns:calc((100% - 24px) / 2)}
  .rev-rail:has(>.rcard:only-child){grid-auto-columns:min(100%,720px)}
}

/* ---------- požičovňa Rently (/rently) ---------- */
.rn-cats{display:flex;flex-wrap:wrap;gap:10px;margin:-18px 0 clamp(40px,6vh,64px)}
.rn-cats a{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--line-d);background:#fff;font-size:15px;font-weight:500;transition:background .3s,color .3s,border-color .3s}
.rn-cats a:hover{background:var(--ink);border-color:var(--ink);color:var(--chalk)}
/* kategórie v mriežke 4 stĺpcov: každá zaberie toľko stĺpcov, koľko má strojov; nadpisy v riadku majú rovnakú výšku (subgrid) */
.rn-wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(16px,2vw,28px);row-gap:0}
.rn-kat{grid-column:span var(--n);display:grid;grid-template-rows:subgrid;grid-row:span 2;margin-bottom:clamp(48px,7vh,80px);scroll-margin-top:calc(var(--nav) + 24px)}
.rn-kat-h{padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid var(--line-d)}
.rn-kat-h h3{font-size:clamp(22px,1.9vw,28px);margin-bottom:6px}
.rn-kat-h p{margin:0;font-size:15px;color:var(--ink-2)}
.rn-grid{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:clamp(16px,2vw,28px);align-content:start}
.rn{display:flex;flex-direction:column}
.rn-img{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:#fff}
.rn-img img{width:100%;height:100%;object-fit:contain;padding:9%;transition:transform 1s var(--ease)}
.rn:hover .rn-img img{transform:scale(1.05)}
.rn-img em{position:absolute;left:12px;top:12px;z-index:1;padding:6px 12px;border-radius:999px;background:var(--ink);color:var(--chalk);font-style:normal;font-size:12.5px;font-weight:600}
.rn.off .rn-img img{filter:grayscale(1);opacity:.45}
.rn-t{padding-top:18px}
.rn-t h4{font-family:var(--head);font-weight:600;font-size:clamp(18px,1.4vw,21px);line-height:1.25;letter-spacing:-.01em;margin-bottom:14px}
.rn-p{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--line-d)}
.rn-p div{padding:12px 0 0}
.rn-p div+div{padding-left:12px;border-left:1px solid var(--line-d)}
.rn-p dt{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.rn-p dd{margin:4px 0 0;font-family:var(--head);font-weight:700;font-size:20px;color:var(--gold-d);white-space:nowrap}
.rn-p .z dd{color:var(--ink)}
.rn-na{margin:0;padding-top:12px;border-top:1px solid var(--line-d);font-size:15px;color:var(--ink-2)}
/* tmavé karty: PDF katalóg a „nenašli ste?“ */
.rn-x{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:18px;height:100%;min-height:260px;padding:clamp(22px,2vw,28px);border-radius:6px;background:var(--dark);color:var(--chalk);overflow:hidden;isolation:isolate;transition:transform .6s var(--out)}
.rn-x::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 70% at 100% 0%,rgba(226,166,43,.18),transparent 65%)}
.rn-x:hover{transform:translateY(-6px)}
.rn-x img{width:min(160px,70%);height:auto;border-radius:4px}
.rn-x span{margin-top:auto}
.rn-x b{display:block;font-family:var(--head);font-weight:600;font-size:clamp(18px,1.4vw,21px);line-height:1.3}
.rn-x small{display:block;margin-top:6px;font-size:14px;color:rgba(245,243,238,.6)}
.rn-x-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border-radius:999px;background:var(--gold);color:var(--ink);font-style:normal;font-size:14.5px;font-weight:600;transition:background .3s}
.rn-x:hover .rn-x-btn{background:var(--gold-2)}
.rn-x-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rn-x.wide span{margin-top:0;max-width:34ch}
.rn-x.wide b{font-size:clamp(22px,2vw,30px);line-height:1.2;letter-spacing:-.02em}
.rn-x.wide .rn-x-btn{margin-top:auto}
.rn-logo{width:min(240px,60%);height:auto;margin-bottom:34px;border-radius:6px}
.rn-gal .gi{grid-column:auto;grid-row:auto}
.rn-gal{grid-template-columns:repeat(3,minmax(0,1fr))}
.rn-gal .gi:nth-child(1){grid-column:span 2;grid-row:span 2}
.rn-gal .gi:nth-child(5){grid-column:span 2}
@media (max-width:1000px){
  .rn-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rn-kat{grid-column:span min(var(--n),2)}
  .rn-grid{grid-template-columns:repeat(min(var(--n),2),minmax(0,1fr))}
  .rn-gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rn-gal .gi:nth-child(1){grid-row:auto}
  .rn-gal .gi:nth-child(4){grid-column:span 2}
}
@media (max-width:640px){
  .rn-cats{margin-top:-8px}.rn-cats a{min-height:42px;padding:0 16px;font-size:14.5px}
  .rn-wrap{grid-template-columns:1fr}
  .rn-kat{grid-column:auto;margin-bottom:44px}
  .rn-grid{grid-template-columns:1fr;gap:14px}
  /* na mobile vodorovná karta: fotka vľavo, ceny vpravo */
  .rn{display:grid;grid-template-columns:116px minmax(0,1fr);gap:16px;align-items:center}
  .rn-img{aspect-ratio:1}
  .rn-img img{padding:8%}
  .rn-img em{display:none}
  .rn-t{padding-top:0}
  .rn-t h4{font-size:17px;margin-bottom:8px}
  .rn-p div{padding-top:8px}.rn-p div+div{padding-left:10px}
  .rn-p dt{font-size:10.5px;letter-spacing:.04em}
  .rn-p dd{font-size:16px}
  .rn-na{padding-top:8px;font-size:14px}
  .rn-x{min-height:0}
}
