/*
Theme Name: Fotografujem.com 4.0
Theme URI: https://fotografujem.com
Author: Peter Kutálek
Author URI: https://fotografujem.com
Description: Vlastný motív pre fotografujem.com — svadobná, športová a eventová fotografia, film a tmavá komora. Verzia 4.0: plynulý pohyb a gestá, SEO bez pluginov.
Version: 4.0.1
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: fotografujem
*/

/* Layout: tmavá komora — filmový pás pod hlavičkou, sekcie v stĺpci 1180px,
   červené safelight svetlo ako jediný akcent. */
:root{
  color-scheme:dark;
  --ink:#171613; --ink-2:#1f1d19; --ink-3:#2a2722; --film:#0e0c0a;
  --paper:#EDE6D8; --bone:#F4EFE4; --silver:#9a968b; --dim:#6f6c64;
  --safelight:#C4432A; --safelight-hi:#d95840; --glow:rgba(196,67,42,.20);
  --border:rgba(244,239,228,.14); --border-hi:rgba(244,239,228,.38);
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Space Mono',ui-monospace,'Cascadia Mono',Consolas,monospace;
  --maxw:1180px;
  --gutter-l:max(clamp(16px,4vw,40px),env(safe-area-inset-left,0px));
  --gutter-r:max(clamp(16px,4vw,40px),env(safe-area-inset-right,0px));
  --head-h:64px;
  --admin:0px;
}
body.admin-bar{--admin:32px}
@media (max-width:782px){body.admin-bar{--admin:46px}}
@media (max-width:600px){body.admin-bar{--admin:0px}}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--ink);color:var(--bone);font:400 1rem/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--safelight);outline-offset:3px}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
section[id]{scroll-margin-top:calc(var(--head-h) + var(--admin) + 16px)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* zrno filmu */
.grain{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* typografia — tracking podľa veľkosti, leading inverzne k veľkosti */
.eyebrow{display:block;font:400 .75rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--safelight)}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;text-wrap:balance;font-optical-sizing:auto}
h2{font-size:clamp(2rem,5vw,3.25rem);line-height:1.02;letter-spacing:-.025em}
h3{font-size:1.35rem;line-height:1.15;letter-spacing:-.01em}
.lead{color:var(--silver);font-size:1.06rem;max-width:58ch}
.frame-num{font:400 .75rem/1.4 var(--mono);color:var(--silver);letter-spacing:.05em}
.teaser-count{display:block;margin-top:10px;font:400 .75rem/1.4 var(--mono);color:var(--silver)}
.mono-note{font:400 .74rem/1.4 var(--mono);color:var(--silver)}
.sec{padding-block:clamp(72px,10vw,128px)}
.sec-tight{padding-top:0}
.sec-head{display:grid;gap:14px;margin-bottom:clamp(32px,5vw,56px)}
.sec-head .lead{margin-top:6px}
.sec-head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.sec-head-row > div{display:grid;gap:14px}

/* tlačidlá — spätná väzba hneď pri stlačení */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:400 .82rem/1 var(--mono);letter-spacing:.05em;padding:16px 24px;border-radius:2px;border:1px solid transparent;cursor:pointer;
  transition:background-color .2s,border-color .2s,color .2s,transform .12s ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation;text-align:center}
.btn:active{transform:scale(.97);transition-duration:.06s}
.btn-primary{background:var(--safelight);color:var(--bone)}
.btn-primary:hover{background:var(--safelight-hi)}
.btn-outline{border-color:var(--border);color:var(--bone);background:transparent}
.btn-outline:hover{border-color:var(--bone)}
.btn:disabled{opacity:.6;cursor:wait}

/* ---------- HLAVIČKA — priesvitný materiál, obsah plynie pod ňou ---------- */
header.top{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--admin));z-index:50;background:rgba(23,22,19,.62);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%)}
header.top::after{content:"";position:absolute;left:0;right:0;top:100%;height:18px;pointer-events:none;background:linear-gradient(rgba(23,22,19,.55),rgba(23,22,19,0));opacity:0;transition:opacity .25s}
header.top.scrolled::after{opacity:1}
@media (prefers-reduced-transparency:reduce){header.top{background:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media (prefers-contrast:more){header.top{background:var(--ink);border-bottom:1px solid var(--bone)}}
.top .wrap{height:var(--head-h);display:flex;align-items:center;gap:22px}
.brand{font:600 1.08rem/1 var(--display);letter-spacing:-.01em;margin-right:auto;white-space:nowrap}
.brand span{color:var(--safelight)}
.nav{display:flex;gap:20px;align-items:center}
.nav a{font-size:.86rem;color:var(--silver);transition:color .2s;padding:8px 0}
.nav a:hover,.nav a:active{color:var(--bone)}
.nav .btn.cta{padding:11px 16px;color:var(--ink);background:var(--paper)}
.nav .btn.cta:hover,.nav .btn.cta:active{background:var(--bone);color:var(--ink)}
.social-icons{display:flex;gap:14px;align-items:center}
.social-icons a{color:var(--silver);display:flex;align-items:center;transition:color .2s}
.social-icons a:hover{color:var(--safelight)}
.social-icons svg{width:18px;height:18px}
.social-icons .vf-link{gap:7px;font:400 .68rem/1 var(--mono);letter-spacing:.08em}
.menu-btn{display:none;flex:none;width:44px;height:44px;border:1px solid var(--border);border-radius:2px;background:transparent;cursor:pointer;position:relative;transition:transform .1s ease-out,border-color .2s}
.menu-btn:active{transform:scale(.94)}
.menu-btn i{position:absolute;left:12px;right:12px;height:1.5px;background:var(--bone);transition:transform .3s cubic-bezier(.3,.7,.2,1)}
.menu-btn i:nth-child(1){top:17px}.menu-btn i:nth-child(2){top:25px}
.menu-btn[aria-expanded="true"] i:nth-child(1){transform:translateY(4px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.sheet-scrim{position:fixed;inset:0;z-index:40;background:#000;opacity:0;pointer-events:none}
.sheet{position:fixed;z-index:55;top:calc(env(safe-area-inset-top,0px) + var(--admin) + var(--head-h) + 8px);right:calc(12px + env(safe-area-inset-right,0px));width:min(320px,calc(100vw - 24px));
  background:rgba(33,31,27,.9);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--border);border-radius:6px;padding:10px;
  transform-origin:calc(100% - 22px) -8px;visibility:hidden;opacity:0;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.sheet a{display:flex;justify-content:space-between;align-items:center;padding:14px 12px;font-size:1rem;border-radius:3px;transition:background-color .15s}
.sheet a:active{background:rgba(244,239,228,.08)}
.sheet a span{font:400 .7rem/1.6 var(--mono);color:var(--dim)}
.sheet .btn{justify-content:center;margin-top:8px}
@media (prefers-reduced-transparency:reduce){.sheet{background:var(--ink-2);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media (max-width:1100px) and (min-width:961px){.nav{gap:14px}.nav a{font-size:.8rem}.social-icons .vf-link span{display:none}}
@media (max-width:960px){.nav{display:none}.menu-btn{display:block}}
@media (max-width:420px){.social-icons .vf-link span{display:none}.social-icons{gap:12px}.top .wrap{gap:14px}}

/* ---------- FILMOVÝ PÁS — 3D valec, dá sa chytiť a švihnúť ---------- */
.strip{position:relative;overflow:hidden;perspective:1100px;border-block:1px solid var(--border);background:var(--film);cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.strip.dragging{cursor:grabbing}
.strip-track{display:flex;width:max-content;transform-style:preserve-3d;will-change:transform}
.fr{position:relative;width:172px;flex:none;padding:22px 7px;background:var(--film);transform-style:preserve-3d;backface-visibility:hidden}
.fr::before,.fr::after{content:"";position:absolute;left:0;right:0;height:9px;background:repeating-linear-gradient(90deg,transparent 0 7px,#3a352e 7px 15px,transparent 15px 21.5px);opacity:.9}
.fr::before{top:6px}.fr::after{bottom:6px}
.fr img{width:158px;height:105px;object-fit:cover;border-radius:2px;pointer-events:none;-webkit-user-drag:none}
.fr-empty::marker{content:none}
.fr-empty{min-height:149px}
.fr-empty::before{box-shadow:0 0 0 0}
.fr .edge{position:absolute;left:10px;bottom:-1px;font:700 .5rem/1 var(--mono);letter-spacing:.12em;color:#b0712c;opacity:.85;white-space:nowrap}
@media (max-width:560px){.fr{width:132px;padding:18px 6px}.fr img{width:120px;height:80px}.fr-empty{min-height:116px}}

/* ---------- HERO ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(520px circle at var(--gx,72%) var(--gy,34%),var(--glow),transparent 62%)}
.hero .wrap{padding-block:clamp(64px,9vw,120px) clamp(56px,8vw,96px);display:grid;gap:28px}
.hero h1{display:grid;gap:clamp(18px,2.4vw,28px);font-weight:500}
.hero .h1-main,.hero .dots{display:block;font-size:clamp(2.5rem,10vw,6.4rem);line-height:.94;letter-spacing:-.035em}
.hero .dots{color:var(--silver);font-weight:400;letter-spacing:-.02em;margin-top:calc(-1 * clamp(18px,2.4vw,28px))}
.hero .dots em{font-style:normal;color:var(--bone)}
.hero .lead{font-size:clamp(1.02rem,1.6vw,1.2rem)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero .meta{display:flex;flex-wrap:wrap;gap:8px 28px;font:400 .76rem/1.5 var(--mono);color:var(--silver)}
.hero .meta b{color:var(--bone);font-weight:400}

/* ---------- DLAŽDICE KATEGÓRIÍ A PODGALÉRIÍ ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.subgallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}
@media (max-width:520px){.subgallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media (max-width:440px){.tiles{gap:10px}.tile-cap h3{font-size:1.1rem}}
.tile{display:block;perspective:900px;transition:transform .12s ease-out;-webkit-tap-highlight-color:transparent}
.tile:active{transform:scale(.97);transition-duration:.06s}
.tile-in{transform-style:preserve-3d;will-change:transform}
.tile-photo{aspect-ratio:4/5;max-width:100%;overflow:hidden;border-radius:3px;background:var(--ink-3);box-shadow:0 18px 40px -24px rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;text-align:center}
.tile-photo img{width:100%;height:100%;object-fit:cover}
.tile-empty{font:400 .72rem/1.5 var(--mono);color:var(--silver);padding:0 18px}
.tile-empty small{color:var(--dim)}
.tile-cap{padding:16px 2px 4px;display:grid;gap:6px}
.tile-cap .num{font:400 .7rem/1 var(--mono);color:var(--safelight);letter-spacing:.1em}
.tile-cap small{font:400 .74rem/1.45 var(--mono);color:var(--silver)}
.tile-cap .go{font:400 .74rem/1 var(--mono);color:var(--silver);margin-top:4px;transition:color .2s}
.tile:hover .go{color:var(--safelight)}

/* vyvolávanie pri scrollovaní */
@keyframes develop{
  0%{filter:grayscale(.6) sepia(.35) brightness(2.1) contrast(.32) blur(1.2px)}
  60%{filter:grayscale(.2) sepia(.12) brightness(1.25) contrast(.8) blur(0)}
  100%{filter:none}
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .develop{animation:develop linear both;animation-timeline:view();animation-range:entry 0% cover 42%}
  }
}

/* ---------- VÝBER ---------- */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:900px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}
.thumb,.gal-photo{display:block;width:100%;padding:0;border:0;background:var(--ink-3);border-radius:2px;overflow:hidden;cursor:zoom-in;max-width:100%;transition:transform .12s ease-out;-webkit-tap-highlight-color:transparent}
.thumb{aspect-ratio:3/2}
.thumb:active,.gal-photo:active{transform:scale(.97);transition-duration:.06s}
.thumb img,.gal-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.thumb:hover img,.gal-photo:hover img{transform:scale(1.04)}}
.grid-foot{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-top:20px}

/* ---------- O MNE ---------- */
.about{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,88px);align-items:start}
@media (max-width:860px){.about{grid-template-columns:minmax(0,1fr)}}
.about .text{display:grid;gap:18px;max-width:62ch}
.about .text p{color:var(--silver)}
.about .text p strong{color:var(--bone);font-weight:500}
.facts{display:grid;border-top:1px solid var(--border)}
.facts div{display:grid;grid-template-columns:minmax(110px,.6fr) minmax(0,1fr);gap:16px;padding:15px 0;border-bottom:1px solid var(--border)}
.facts dt{font:400 .72rem/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.facts dd{margin:0}

/* ---------- BLOG — karty článkov ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:860px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.blog-grid{grid-template-columns:minmax(0,1fr)}}
.post-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:4px;overflow:hidden;transition:border-color .2s,transform .12s ease-out}
.post-card:hover{border-color:var(--border-hi)}
.post-card:active{transform:scale(.985)}
.post-card-photo{aspect-ratio:3/2;background:var(--ink-3);display:flex;align-items:center;justify-content:center;overflow:hidden}
.post-card-photo img{width:100%;height:100%;object-fit:cover}
.post-card-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.post-card-body h3{font-size:1.3rem;line-height:1.25;margin-top:8px}
.post-card-body p{color:var(--silver);font-size:.9rem;margin-top:10px;flex:1}
.post-card:hover .teaser-count{color:var(--safelight)}
.blog-pager{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ---------- TMAVÁ KOMORA ---------- */
.darkroom{background:linear-gradient(180deg,var(--ink) 0%,#1d0f0b 40%,#1d0f0b 60%,var(--ink) 100%)}
.dr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,80px);align-items:start}
.dr.dr-solo{grid-template-columns:minmax(0,1fr)}
.dr.dr-solo .steps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
@media (max-width:860px){.dr{grid-template-columns:minmax(0,1fr)}.dr.dr-solo .steps{grid-template-columns:minmax(0,1fr)}}
.tray{display:grid;gap:18px}
.print{background:var(--paper);padding:clamp(12px,2.4vw,22px) clamp(12px,2.4vw,22px) clamp(36px,5vw,48px);border-radius:1px;box-shadow:0 30px 70px -30px rgba(0,0,0,.9);position:relative;transform:rotate(-.6deg);transition:opacity .25s}
.print.swap{opacity:.25}
.print img{width:100%;aspect-ratio:3/2;object-fit:cover}
.print .stamp{position:absolute;left:clamp(12px,2.4vw,22px);right:clamp(12px,2.4vw,22px);bottom:12px;display:flex;justify-content:space-between;font:400 .66rem/1.3 var(--mono);color:#6d665a;gap:12px}
.picks{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
@media (max-width:480px){.picks{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pick{padding:0;border:1px solid var(--border);border-radius:2px;overflow:hidden;background:var(--ink-3);cursor:pointer;aspect-ratio:1;transition:transform .12s ease-out,border-color .2s,opacity .2s;opacity:.65;-webkit-tap-highlight-color:transparent}
.pick img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.pick:hover{opacity:1}
.pick:active{transform:scale(.94)}
.pick[aria-checked="true"]{opacity:1;border-color:var(--safelight);box-shadow:0 0 0 1px var(--safelight)}
.controls{display:grid;gap:16px}
.ctrl{display:grid;gap:8px}
.ctrl label,.ctrl .lbl{font:400 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--silver);display:flex;justify-content:space-between}
.ctrl output{color:var(--safelight);letter-spacing:.04em}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;touch-action:pan-y;border:0;padding:0}
input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--safelight) var(--fill,100%),var(--border) var(--fill,100%))}
input[type=range]::-moz-range-track{height:2px;background:var(--border)}
input[type=range]::-moz-range-progress{height:2px;background:var(--safelight)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-10px;border-radius:50%;background:var(--bone);border:0;box-shadow:0 2px 10px rgba(0,0,0,.5);transition:transform .1s ease-out}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--bone);border:0}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.steps{list-style:none;display:grid;border-top:1px solid var(--border)}
.steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid var(--border)}
.steps .n{font:400 .74rem/1.9 var(--mono);color:var(--safelight)}
.steps p{color:var(--silver);font-size:.95rem;margin-top:4px}

/* segmentový prepínač s klzným indikátorom */
.seg{position:relative;display:inline-flex;padding:4px;border:1px solid var(--border);border-radius:4px;background:rgba(244,239,228,.03);max-width:100%;overflow-x:auto}
.seg button{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;padding:10px 14px;font:400 .76rem/1 var(--mono);letter-spacing:.06em;color:var(--silver);white-space:nowrap;border-radius:2px;transition:color .2s;-webkit-tap-highlight-color:transparent}
.seg button[aria-checked="true"],.seg button[aria-selected="true"]{color:var(--ink)}
.seg button:active{color:var(--bone)}
.seg button[aria-checked="true"]:active,.seg button[aria-selected="true"]:active{color:var(--ink)}
.seg-ind{position:absolute;z-index:0;top:4px;bottom:4px;left:0;width:0;background:var(--paper);border-radius:2px;will-change:transform,width}
.no-js .seg-ind{display:none}
@media (max-width:480px){.seg .fn{display:none}.seg button{padding:10px 12px}}

/* ---------- GRAFICKÉ PRÁCE ---------- */
.gfx{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--border)}
@media (max-width:640px){.gfx{grid-template-columns:minmax(0,1fr)}}
.gfx div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}
.gfx b{font-weight:500}
.gfx span{color:var(--silver);text-align:right;font-size:.92rem}

/* ---------- CENNÍK ---------- */
.price-top{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin-bottom:24px}
.price-title{font-size:1.5rem;margin-bottom:16px}
.price-title .num{font:400 .8rem/1 var(--mono);color:var(--safelight);letter-spacing:.1em;vertical-align:middle;margin-right:6px}
.js .price-title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.price-panel + .price-panel{margin-top:40px}
.js .price-panels:not(.ready) .price-panel + .price-panel{display:none}
.js .price-panel + .price-panel{margin-top:0}
.pkgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.pkg{border:1px solid var(--border);border-radius:4px;padding:22px;display:grid;gap:14px;align-content:start;background:rgba(244,239,228,.02)}
.pkg-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.pkg-head h4{font-size:1.2rem;line-height:1.2}
.pkg-head .dur{font:400 .72rem/1 var(--mono);color:var(--silver);white-space:nowrap}
.pkg .price{font:400 1.5rem/1.1 var(--mono);color:var(--safelight);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.pkg p{color:var(--silver);font-size:.93rem}
.pkg dl{display:grid;gap:6px;border-top:1px solid var(--border);padding-top:14px}
.pkg dl div{display:flex;justify-content:space-between;gap:12px;font-size:.85rem}
.pkg dt{color:var(--dim);font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding-top:2px}
.pkg dd{margin:0;text-align:right}
.price-notes{margin-top:18px;display:grid;gap:6px;color:var(--silver);font-size:.88rem}
.schools{margin-top:28px;padding:18px 20px;border:1px dashed var(--border-hi);border-radius:4px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.schools span{font:400 .78rem/1.5 var(--mono);letter-spacing:.06em}

/* ---------- KONTAKT ---------- */
.contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,6vw,80px);align-items:start}
@media (max-width:860px){.contact{grid-template-columns:minmax(0,1fr)}}
form{display:grid;gap:22px;position:relative}
.field{display:grid;gap:6px}
.field label,form label{font:400 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--silver)}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--bone);padding:10px 0;font:400 1rem/1.4 var(--body);border-radius:0;transition:border-color .2s}
textarea{resize:vertical;min-height:110px}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--silver) 50%),linear-gradient(135deg,var(--silver) 50%,transparent 50%);background-position:calc(100% - 10px) 52%,calc(100% - 5px) 52%;background-size:5px 5px;background-repeat:no-repeat}
select option{background:var(--ink-2)}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--safelight)}
input::placeholder,textarea::placeholder{color:var(--dim)}
.field.bad input,.field.bad textarea{border-bottom-color:var(--safelight)}
.field .err{font-size:.8rem;color:var(--safelight-hi);min-height:1.1em}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:560px){.two{grid-template-columns:minmax(0,1fr)}}
.fg-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{font:400 .82rem/1.5 var(--mono);min-height:1.4em;max-width:46ch}
.form-status.is-ok{color:#b9c9a7}
.form-status.is-error{color:#e07a5f}
.info{display:grid;border-top:1px solid var(--border)}
.info div{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--border)}
.info dt{font:400 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.info dd{margin:0;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.info dd a:hover{color:var(--safelight)}
.copy{font:400 .68rem/1 var(--mono);letter-spacing:.08em;padding:8px 10px;border:1px solid var(--border);background:transparent;border-radius:2px;cursor:pointer;transition:transform .1s ease-out,border-color .2s}
.copy:active{transform:scale(.95)}
.copy:hover{border-color:var(--bone)}

/* ---------- PÄTIČKA ---------- */
footer.foot{border-top:1px solid var(--border);color:var(--dim);font:400 .74rem/1.5 var(--mono)}
.footer-row{padding-block:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-links{display:flex;flex-wrap:wrap;gap:10px 20px}
.footer-links a{transition:color .2s}
.footer-links a:hover{color:var(--bone)}

/* ---------- GALÉRIA — stránka (kategórie → podgalérie → fotky) ---------- */
.gal-head{padding-top:clamp(40px,7vw,72px)}
.gal-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.gal-head h1{margin-top:12px;font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.02;letter-spacing:-.03em}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:400 .72rem/1.5 var(--mono);color:var(--silver);margin-bottom:22px}
.crumbs a:hover{color:var(--safelight)}
.crumbs span{color:var(--dim)}
.gal-actions{display:flex;gap:12px;flex-wrap:wrap}
.gal-body{padding-top:32px;padding-bottom:40px}
.gal-foot{padding-top:0;padding-bottom:88px}
.gal-notice{color:var(--silver);margin-top:20px}
.gal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gal-photo{aspect-ratio:4/3}
@media (max-width:520px){.gal-grid{gap:6px}}

/* ---------- BLOG — detail článku ---------- */
.post-head{padding-top:56px;max-width:820px;margin-inline:auto}
.post-head .eyebrow{margin-bottom:6px}
.post-back{display:table;font:400 .75rem/1 var(--mono);color:var(--silver);margin-bottom:28px;padding:6px 0}
.post-back:hover{color:var(--safelight)}
.post-head h1{margin-top:10px;font-size:clamp(2rem,5vw,3.4rem);line-height:1.06;letter-spacing:-.025em}
.post-hero{padding-top:40px}
.post-hero img{width:100%;height:auto;max-height:80vh;object-fit:cover;border-radius:2px}
.post-body{padding-top:40px;padding-bottom:88px;max-width:820px;margin-inline:auto}
.entry-content{color:var(--paper);font-size:1.06rem;line-height:1.75}
.entry-content > * + *{margin-top:1.1em}
.entry-content h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:1.8em;color:var(--bone)}
.entry-content h3{font-size:1.35rem;margin-top:1.6em;color:var(--bone)}
.entry-content a{color:var(--safelight);text-decoration:underline;text-underline-offset:3px}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content li + li{margin-top:.4em}
.entry-content blockquote{border-left:2px solid var(--safelight);padding:4px 0 4px 20px;color:var(--bone);font-family:var(--display);font-size:1.25rem}
.entry-content img{max-width:100%;height:auto;border-radius:2px}
.entry-content figure{margin-left:0;margin-right:0}
.entry-content figcaption,.entry-content .wp-element-caption{font:400 .75rem/1.5 var(--mono);color:var(--silver);margin-top:8px;text-align:left}
.entry-content .wp-block-image,.entry-content .wp-block-gallery{margin-top:1.6em;margin-bottom:1.6em}
.entry-content .alignwide,.entry-content .alignfull{margin-left:0;margin-right:0;width:100%}
.entry-content hr{border:none;border-top:1px solid var(--border);margin:2em 0}
.fg-zoomable{cursor:zoom-in}
.post-share{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:28px;border-top:1px solid var(--border)}
.post-share-links{display:flex;gap:10px;flex-wrap:wrap}
.post-share .btn{font-size:.75rem;padding:10px 16px}
.post-share [hidden]{display:none}
.post-foot{margin-top:28px}

/* ---------- PREHLIADAČ FOTIEK (vytvára ho assets/fg.js) ---------- */
.lb{position:fixed;inset:0;z-index:1000;touch-action:none;user-select:none;-webkit-user-select:none}
.lb[hidden]{display:none!important}
.lb-scrim{position:absolute;inset:0;background:#0b0a09;opacity:0}
.lb-strip{position:absolute;inset:0;will-change:transform}
.lb-slide{position:absolute;left:0;top:0;will-change:transform;border-radius:2px;overflow:hidden;background:var(--ink-3);transform-origin:50% 50%}
.lb-slide img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.lb-ui{position:absolute;inset:0;pointer-events:none;opacity:0}
.lb-ui button{pointer-events:auto;position:absolute;border:0;background:rgba(23,22,19,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--bone);cursor:pointer;border-radius:2px;
  width:46px;height:46px;font:400 1.2rem/1 var(--mono);display:grid;place-items:center;transition:transform .1s ease-out,color .2s}
.lb-ui button:active{transform:scale(.92)}
.lb-ui button:hover{color:var(--safelight)}
.lb-close{top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px))}
.lb-zoom{top:calc(16px + env(safe-area-inset-top,0px));right:calc(70px + env(safe-area-inset-right,0px))}
.lb-prev{left:calc(12px + env(safe-area-inset-left,0px));top:50%;margin-top:-23px}
.lb-next{right:calc(12px + env(safe-area-inset-right,0px));top:50%;margin-top:-23px}
.lb.single .lb-prev,.lb.single .lb-next,.lb.single .lb-count{display:none}
.lb-count{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(22px + env(safe-area-inset-bottom,0px));font:400 .74rem/1 var(--mono);letter-spacing:.12em;color:var(--silver)}
.lb-hint{position:absolute;left:50%;transform:translateX(-50%);top:calc(30px + env(safe-area-inset-top,0px));font:400 .68rem/1.4 var(--mono);color:var(--silver);text-align:center;width:max-content;max-width:calc(100vw - 180px)}
@media (hover:none){.lb-prev,.lb-next{display:none}}
@media (max-width:560px){.lb-hint{display:none}}

@media (prefers-reduced-motion:reduce){
  .btn,.tile,.thumb,.gal-photo,.thumb img,.gal-photo img,.menu-btn i,.pick,.post-card{transition:none}
}
