/*
Theme Name: Exclusive Brno
Theme URI: https://exclusivebrno.cz
Author: Mário Petrejevskyj — AKANTHIT
Author URI: https://akanthit.com
Description: Atelier Noir — luxusní editoriální téma pro Exclusive Brno. Tantrické a relaxační masáže. Tmavý antracit, intenzivní zlatá, signature světelná aura. Custom post types pro masérky a masáže, plná správa přes Customizer.
Version: 1.18.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: exclusive-brno
*/

:root{
  --ink:#100e0c;
  --anthracite:#1a1816;
  --anthracite-2:#221f1c;
  --line:rgba(212,167,60,.16);
  --line-soft:rgba(255,250,240,.07);
  --gold:#d4a73c;
  --gold-lite:#f0d278;
  --gold-deep:#a87c22;
  --cream:#efe9df;
  --muted:#a39a8a;
  --display:'Maharlika','Fraunces',Georgia,serif;
  --display-fallback:'Fraunces',Georgia,serif;
  --body:'Inter Tight',system-ui,sans-serif;
}
/* Maharlika — nahrajte soubor do assets/fonts/ (maharlika.woff2 / .ttf).
   Dokud tam není, použije se Fraunces. */
@font-face{
  font-family:'Maharlika';
  src:url('assets/fonts/maharlika.woff2') format('woff2'),
      url('assets/fonts/maharlika.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}
*{margin:0;padding:0;box-sizing:border-box}
.blog-thumb-fallback.fmark{width:3rem;height:3rem;opacity:.3;top:50%;left:50%;transform:translate(-50%,-50%)}
.article-divider .mark.fmark{width:1.4rem;height:1.4rem;opacity:.8}
/* inline pírko (nahrazuje hvězdičku ✦) */
.fmark{display:inline-block;width:.85em;height:.85em;vertical-align:-.12em;background:url('assets/img/feather.png') center/contain no-repeat;opacity:.9}
.marquee .fmark{width:1em;height:1em;vertical-align:-.15em;margin:0 .2em}
html{scroll-behavior:smooth}
#locations{scroll-margin-top:110px}
body{background:var(--ink);color:var(--cream);font-family:var(--body);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--gold);color:var(--ink)}

.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.disp{font-family:var(--display);font-weight:300;line-height:1.02;letter-spacing:-.01em}
.idx{font-family:var(--display);font-style:italic;font-weight:300;color:var(--gold);font-size:1rem;letter-spacing:.04em}
.eyebrow{font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);font-weight:400;font-family:var(--body)}

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

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;padding:14px 0;transition:.5s}
.site-header.small{padding:8px 0;background:rgba(16,14,12,.7);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center}
.brand-logo{height:78px;width:auto;display:block;transition:.5s;filter:drop-shadow(0 2px 14px rgba(212,167,60,.25))}
.site-header.small .brand-logo{height:54px}
.brand-text{font-family:var(--display);font-size:1.45rem;letter-spacing:.06em;color:var(--cream)}
.brand-text em{font-style:italic;color:var(--gold)}
.menu{display:flex;gap:1.7rem;align-items:center;list-style:none}
.menu a{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);position:relative;transition:.3s;white-space:nowrap}
.menu a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:.35s}
.menu a:hover,.menu .current-menu-item>a{color:var(--cream)}
.menu a:hover::after{width:100%}
.menu .cta>a,.cta{color:var(--gold)!important;border:1px solid var(--line);padding:.62rem 1.3rem;border-radius:100px;letter-spacing:.12em!important;transition:.35s;display:inline-block}
.menu .cta>a:hover,.cta:hover{background:var(--gold);color:var(--ink)!important;border-color:var(--gold)}
.menu .cta>a::after{display:none}
.burger{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;z-index:60}
.burger span{width:26px;height:1.5px;background:var(--gold);transition:.35s}

/* hero */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden}
.hero-video{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-pos,50%) center;opacity:.45}
@media(max-width:600px){.hero-video video{object-position:var(--hero-pos-mobile,var(--hero-pos,50%)) center}}
.hero-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,14,12,.55) 0%,rgba(16,14,12,.35) 45%,rgba(16,14,12,.78) 100%),radial-gradient(900px 600px at 64% 50%,transparent,rgba(16,14,12,.55) 80%)}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-pos,50%) center;opacity:.45;transform:scale(1);animation:heroZoom 18s ease-in-out infinite alternate}
@media(max-width:600px){.hero-photo img{object-position:var(--hero-pos-mobile,var(--hero-pos,50%)) center}}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.hero-photo img{animation:none}}
.has-hero-video .aura{opacity:.7;mix-blend-mode:screen}
.aura{position:absolute;top:50%;left:64%;width:min(120vh,1000px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(240,210,120,.55) 0%,rgba(212,167,60,.34) 18%,rgba(168,124,34,.16) 38%,rgba(168,124,34,.05) 55%,transparent 70%);filter:blur(8px);z-index:0;will-change:transform;animation:breathe 9s ease-in-out infinite}
.aura::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 140px 40px rgba(16,14,12,.55)}
@keyframes breathe{0%,100%{opacity:.9;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}
.rays{position:absolute;top:50%;left:64%;width:140vh;aspect-ratio:1;transform:translate(-50%,-50%);z-index:0;opacity:.4;background:conic-gradient(from 0deg,transparent,rgba(240,210,120,.12) 8%,transparent 16%,transparent 50%,rgba(240,210,120,.10) 58%,transparent 66%);animation:spin 60s linear infinite;mix-blend-mode:screen}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero .wrap{position:relative;z-index:3;width:100%;padding-top:130px;padding-bottom:130px}
/* rezervy nad/pod hero obsahem: při delších textech (DE/EN) obsah převyšuje viewport
   a centrování by ho tlačilo pod logo a do marquee — padding to drží v mezích */
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:end}
.hero-logo{width:min(380px,64%);height:auto;display:block;margin:0 0 1.1rem 0;filter:drop-shadow(0 6px 44px rgba(212,167,60,.4));animation:logoIn 1.4s cubic-bezier(.16,.7,.2,1) both}
.hero .hero-h1{font-family:var(--display);font-weight:400;line-height:1.04;letter-spacing:-.01em;font-size:clamp(2.8rem,7vw,6rem);max-width:14ch;margin:0 0 .3rem;
  background:linear-gradient(100deg,#9a7320 0%,#d4a73c 22%,#f6e7a8 42%,#fff6da 50%,#f0d278 58%,#d4a73c 78%,#a87c22 100%);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 2px 18px rgba(212,167,60,.28));animation:logoIn 1.4s cubic-bezier(.16,.7,.2,1) .15s both,shimmer 7s ease-in-out infinite}
.hero-h1 em{font-style:italic}
@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){.hero-h1{animation:logoIn 1.4s both}}
@keyframes logoIn{0%{opacity:0;transform:translateY(24px) scale(.97)}100%{opacity:1;transform:none}}
.hero-sub{margin:1.6rem 0 0;max-width:400px;color:var(--muted);font-size:.9rem;line-height:1.65}
.hero-tagline{margin:1rem 0 0;font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(1.2rem,2.4vw,1.7rem);color:var(--gold-lite);letter-spacing:.02em;animation:logoIn 1.6s .15s both}
.hero-photo picture{display:block;width:100%;height:100%}
.hero-photo img{object-position:var(--exb-hero-focus,50% 50%)}
@media(max-width:880px){.hero-photo img{object-position:var(--exb-hero-focus-m,50% 50%)}}
.hero-avail{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin:0 0 14px;padding:.55rem .95rem;
  border:1px solid rgba(62,207,111,.32);border-radius:100px;background:rgba(62,207,111,.07);width:fit-content;max-width:100%}
.hero-avail-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.64rem;letter-spacing:.16em;
  text-transform:uppercase;color:#9fe7ba;font-weight:600;white-space:nowrap}
.hero-avail-dot{width:8px;height:8px;border-radius:50%;background:#3ecf6f;flex-shrink:0;
  box-shadow:0 0 0 0 rgba(62,207,111,.55);animation:exbAvailPulse 1.8s ease-out infinite}
.hero-avail-names{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.86rem}
.hero-avail-names a{color:var(--gold-2,#f0d278);text-decoration:none;border-bottom:1px solid rgba(212,167,60,.35);transition:.25s}
.hero-avail-names a:hover{color:#fff;border-color:#f0d278}
.hero-avail-names i{color:#6f675c;font-style:normal}
@media(max-width:600px){.hero-avail{padding:.5rem .8rem}.hero-avail-names{font-size:.8rem}}
.hero-addresses{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.6rem 0 0}
.hero-addresses .hero-address{margin:0}
.hero-address{margin:1.6rem 0 0;display:inline-flex;align-items:center;gap:.5rem;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);padding:.42rem .85rem;border:1px solid var(--line);border-radius:100px;background:rgba(212,167,60,.05)}
.hero-address-ico{width:11px;height:11px;flex-shrink:0;color:var(--gold);background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/%3E%3C/svg%3E") center/contain no-repeat}
.hero-meta{align-self:end;text-align:right;padding-bottom:.6rem}
.hero-meta p{font-size:.78rem;letter-spacing:.05em;color:var(--muted);margin-bottom:1.4rem;line-height:1.6}
.hero-meta .g{color:var(--gold-lite)}
.hero-actions{margin-top:1.6rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.7rem;background:var(--gold);color:var(--ink);padding:1.05rem 2.2rem;border-radius:100px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:.4s;border:1px solid var(--gold);cursor:pointer}
.btn:hover{background:var(--gold-lite);border-color:var(--gold-lite);transform:translateY(-2px);box-shadow:0 16px 40px -16px rgba(212,167,60,.6)}
.btn-line{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);border-bottom:1px solid var(--gold);padding-bottom:4px;transition:.3s}
.btn-line:hover{color:var(--gold);letter-spacing:.26em}
.marquee{position:absolute;bottom:34px;left:0;width:100%;z-index:3;overflow:hidden;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:14px 0}
.marquee div{display:flex;gap:3rem;white-space:nowrap;animation:slide 28s linear infinite;font-family:var(--display);font-style:italic;font-size:1.1rem;color:var(--gold);opacity:.55}
@keyframes slide{to{transform:translateX(-50%)}}

/* sections */
.section{padding:140px 0;position:relative;z-index:2}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:4.5rem;border-bottom:1px solid var(--line);padding-bottom:1.6rem}
.about-eyebrow{display:block;margin-bottom:1.4rem;letter-spacing:.28em}
.mas-avail-link{display:inline-block;margin-top:.8rem;font-size:.68rem}
.foot-seo{font-size:.68rem;color:var(--muted);line-height:1.6;margin:1rem 0 0;max-width:34ch}
.foot-login-pill{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem 1.05rem;
  border:1px solid rgba(212,167,60,.4);border-radius:100px;background:rgba(212,167,60,.06);
  font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lite) !important;
  text-decoration:none;transition:.3s;width:fit-content}
.foot-login-pill:hover{border-color:var(--gold);background:rgba(212,167,60,.14)}
.foot-pwa-ico{width:11px;height:11px;flex-shrink:0;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 16l-5-5h3V3h4v8h3l-5 5zm-8 2h16v3H4v-3z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 16l-5-5h3V3h4v8h3l-5 5zm-8 2h16v3H4v-3z'/%3E%3C/svg%3E") center/contain no-repeat}
.foot-login-ico{width:11px;height:11px;flex-shrink:0;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 100-10 5 5 0 000 10zm0 2c-4.4 0-8 2.7-8 6v2h16v-2c0-3.3-3.6-6-8-6z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 100-10 5 5 0 000 10zm0 2c-4.4 0-8 2.7-8 6v2h16v-2c0-3.3-3.6-6-8-6z'/%3E%3C/svg%3E") center/contain no-repeat}
.sec-intro{margin:-2.6rem 0 4rem;max-width:760px}
.sec-intro-lead{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(1.2rem,2.2vw,1.55rem);color:var(--gold-lite);line-height:1.4;margin:0 0 1rem}
.sec-intro-text{color:var(--muted);font-size:1.02rem;line-height:1.75;margin:0}
.sec-head h2{font-size:clamp(2.4rem,5.5vw,4.2rem);color:var(--cream)}
.sec-head .meta{text-align:right;max-width:300px}
.sec-head .meta .eyebrow{margin-bottom:.8rem;display:block}
.sec-head .meta p{font-size:.86rem;color:var(--muted)}

/* intro */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.about-section{position:relative;overflow:hidden}
.about-section .wrap{position:relative;z-index:2}
/* giant watermark monogram */
.about-watermark{position:absolute;top:50%;right:-2%;transform:translateY(-50%);z-index:0;pointer-events:none;
  font-family:var(--display);font-style:italic;font-weight:300;font-size:46rem;line-height:.7;
  background:linear-gradient(135deg,rgba(212,167,60,.10),rgba(240,210,120,.03) 60%,transparent);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 0 60px rgba(212,167,60,.06));user-select:none}
/* orbiting golden dots — a soft art-deco accent that breaks the void */
.about-orbit{position:absolute;top:50%;left:50%;width:520px;height:520px;transform:translate(-50%,-50%) rotate(0deg);z-index:1;pointer-events:none;opacity:.9;animation:orbitspin 40s linear infinite}
.about-orbit span{position:absolute;border-radius:50%;background:var(--gold-lite);box-shadow:0 0 16px 2px rgba(240,210,120,.55)}
.about-orbit span:nth-child(1){width:9px;height:9px;top:4%;left:50%}
.about-orbit span:nth-child(2){width:5px;height:5px;top:50%;right:2%;opacity:.7}
.about-orbit span:nth-child(3){width:6px;height:6px;bottom:8%;left:24%;opacity:.5}
@keyframes orbitspin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.about-orbit::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(212,167,60,.14)}
.about-orbit::after{content:"";position:absolute;inset:12%;border-radius:50%;border:1px dashed rgba(212,167,60,.10)}
@media(prefers-reduced-motion:reduce){.about-orbit{animation:none}}
/* quote mark + signature */
.intro-l{position:relative}
.about-mark{display:block;font-size:1.4rem;color:var(--gold);margin-bottom:1.4rem;opacity:.8}
.about-sig{margin-top:2rem;font-family:var(--display);font-style:italic;font-size:1rem;color:var(--gold);opacity:.65;
  position:relative;padding-left:3.4rem}
.about-sig::before{content:"";position:absolute;left:0;top:50%;width:2.6rem;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.intro .big{font-family:var(--display);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:300;line-height:1.3;color:var(--cream)}
.intro .big em{font-style:italic;color:var(--gold-lite)}
.intro-r p{color:var(--muted);margin-bottom:1.3rem}
.intro-stats{display:flex;gap:2.5rem;margin-top:2.4rem;padding-top:2rem;border-top:1px solid var(--line)}
.intro-stats b{font-family:var(--display);font-size:2.4rem;color:var(--gold);display:block;line-height:1}
.intro-stats span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* services menu */
/* services — compact card grid */
.services-section{position:relative;overflow:hidden}
.services-section .wrap{position:relative;z-index:2}
.svc-deco{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;pointer-events:none;opacity:.5}
.svc-deco-line{flex:1;width:1px;background:linear-gradient(180deg,transparent,rgba(212,167,60,.22),transparent)}
.svc-deco-word{font-family:var(--display);font-style:italic;font-size:1rem;color:var(--gold);writing-mode:vertical-rl;letter-spacing:.5em;text-transform:uppercase;opacity:.6}
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}

/* --- Ceník rituálů: otočné karty --- */
.svc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;align-items:stretch}
.svc-flip{position:relative;perspective:1600px;min-height:340px}
.svc-flip-inner{position:relative;width:100%;height:100%;min-height:inherit;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.4,.15,.2,1)}
.svc-flip.flipped .svc-flip-inner{transform:rotateY(180deg)}
.svc-face{position:absolute;inset:0;display:flex;flex-direction:column;padding:1.6rem 1.4rem;border-radius:12px;
  background:linear-gradient(170deg,var(--anthracite),rgba(16,14,12,.94));
  border:1px solid rgba(212,167,60,.28);
  box-shadow:0 30px 70px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(240,210,120,.08);
  -webkit-backface-visibility:hidden;backface-visibility:hidden}
.svc-face::before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:46%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(240,210,120,.6),transparent)}
.svc-front{align-items:flex-start;transition:border-color .4s,box-shadow .4s}
.svc-flip:hover .svc-front{border-color:rgba(212,167,60,.5);box-shadow:0 36px 80px -40px rgba(0,0,0,.9),0 0 40px -18px rgba(212,167,60,.35),inset 0 1px 0 rgba(240,210,120,.12)}
.svc-front-mark{width:1.2rem;height:1.2rem;opacity:.85;margin-bottom:.9rem;filter:drop-shadow(0 4px 14px rgba(212,167,60,.45))}
.svc-flip .svc-name{display:block;margin:0 0 1rem;font-size:clamp(1.15rem,1.4vw,1.4rem);line-height:1.25}
.svc-prices{display:flex;flex-direction:column;gap:.4rem;width:100%}
.svc-more{margin-top:auto;padding-top:1.2rem;font-size:.62rem;background:none;border:0;border-bottom:1px solid var(--gold);cursor:pointer;align-self:flex-start}
.svc-badge{display:inline-block;margin-bottom:.7rem;padding:.26rem .7rem;border:1px solid rgba(212,167,60,.45);border-radius:100px;font-size:.54rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lite);background:rgba(212,167,60,.08)}
.svc-flip.is-featured .svc-front{border-color:rgba(212,167,60,.55);box-shadow:0 30px 70px -40px rgba(0,0,0,.8),0 0 46px -16px rgba(212,167,60,.4),inset 0 1px 0 rgba(240,210,120,.14)}
/* zadní strana */
.svc-back{transform:rotateY(180deg);background:linear-gradient(170deg,#1d1a16,rgba(16,14,12,.97))}
.svc-back-close{position:absolute;top:.8rem;right:1rem;background:none;border:0;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;transition:.3s;z-index:2}
.svc-back-close:hover{color:var(--gold-lite);transform:rotate(90deg)}
.svc-back-name{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.05rem;color:var(--gold);margin:0 0 .8rem;padding-right:1.6rem}
.svc-desc{flex:1;overflow-y:auto;margin-bottom:1.4rem;padding-right:.4rem;scrollbar-width:thin;scrollbar-color:rgba(212,167,60,.4) transparent}
.svc-desc::-webkit-scrollbar{width:4px}
.svc-desc::-webkit-scrollbar-thumb{background:rgba(212,167,60,.4);border-radius:4px}
.svc-desc p{font-size:.78rem;line-height:1.65;color:var(--muted);margin:0 0 .7rem}
.svc-desc p:last-child{margin-bottom:0}
.svc-desc strong{color:var(--gold-lite);font-weight:500}
.svc-pick{align-self:flex-start;padding:.7rem 1.3rem;font-size:.64rem}
@media(max-width:1200px){.svc-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.svc-cards{grid-template-columns:1fr;max-width:440px;margin:0 auto}.svc-flip{min-height:360px}}
@media(prefers-reduced-motion:reduce){.svc-flip-inner{transition:none}}

.svc-card{background:var(--anthracite);padding:1.7rem 1.9rem;transition:.4s;position:relative}
.svc-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--gold),var(--gold-deep));transform:scaleY(0);transform-origin:top;transition:.45s}
.svc-card:hover{background:var(--anthracite-2)}
.svc-card:hover::before{transform:scaleY(1)}
.svc-card-head{display:flex;align-items:baseline;gap:.9rem;margin-bottom:1.1rem}
.svc-num{font-family:var(--display);font-style:italic;color:var(--gold);opacity:.45;font-size:.95rem}
.svc-name{font-family:var(--display);font-style:italic;font-size:clamp(1.4rem,2.3vw,1.85rem);font-weight:400;color:var(--gold-lite);transition:.35s}
.svc-card:hover .svc-name{color:#fff6da}
.svc-prices{display:flex;flex-direction:column;gap:.5rem}
.svc-price{display:flex;align-items:baseline;gap:.6rem;font-size:.9rem}
.svc-len{color:var(--muted);letter-spacing:.04em;white-space:nowrap}
.svc-dots{flex:1;border-bottom:1px dotted rgba(212,167,60,.25);transform:translateY(-3px)}
.svc-czk{font-family:var(--display);font-style:italic;font-size:1.1rem;color:var(--gold-lite);white-space:nowrap}
.svc-flip .svc-price{font-size:.8rem}
.svc-flip .svc-czk{font-size:.95rem}
.svc-foot{margin-top:2.4rem;font-size:.82rem;color:var(--muted);font-style:italic;font-family:var(--display);text-align:center}

/* masseuses */
.girls{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.girl{position:relative;border-radius:4px;background:var(--anthracite);transition:.5s}
/* flip */
.girl.has-flip{perspective:1600px;overflow:visible}
.girl.has-flip .girl-inner{position:relative;transition:transform .7s cubic-bezier(.4,.15,.2,1);transform-style:preserve-3d;min-height:100%}
.girl.flipped .girl-inner{transform:rotateY(180deg)}
.girl-face{border-radius:4px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.girl.has-flip .girl-front{position:relative;z-index:2}
.girl.has-flip .girl-back{position:absolute;inset:0;transform:rotateY(180deg);background:linear-gradient(160deg,#1c1917,#100e0c);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;z-index:1}
/* po otočení: přední strana neblokuje kliky, zadní je aktivní */
.girl.flipped .girl-front{pointer-events:none}
.girl.flipped .girl-back{z-index:3}
.girl:not(.has-flip){overflow:hidden}
.girl-flip-btn{position:absolute;right:12px;bottom:12px;z-index:6;display:flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border-radius:100px;
  background:rgba(16,14,12,.6);backdrop-filter:blur(8px);border:1px solid rgba(240,210,120,.4);color:var(--gold-lite);cursor:pointer;
  font-family:var(--body);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;transition:.3s}
.girl-flip-btn:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.girl-flip-ico{width:15px;height:15px;background:url('assets/img/feather.png') center/contain no-repeat}
.girl-flip-btn:hover .girl-flip-ico{filter:brightness(0)}
.girl-flip-close{position:absolute;top:12px;left:12px;z-index:6;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:rgba(16,14,12,.5);color:var(--gold-lite);font-size:1.2rem;cursor:pointer;transition:.3s}
.girl-flip-close:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.girl-back-inner{padding:2.4rem 1.8rem 1.6rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;width:100%;overflow:hidden}
.girl-back-mark{width:1.6rem;height:1.6rem;margin-bottom:1rem;opacity:.85;flex-shrink:0}
.girl-back-name{font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--cream);margin-bottom:1.2rem;flex-shrink:0}
.girl-back-name span{color:var(--gold);font-style:italic;font-size:1.1rem}
.girl-back-desc{font-size:.9rem;line-height:1.7;color:#cfc8bc;margin-bottom:1.2rem;overflow-y:auto;flex:1 1 auto;min-height:0;width:100%;
  padding:14px 10px 14px 4px;
  scrollbar-width:thin;scrollbar-color:rgba(212,167,60,.45) transparent;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%)}
.girl-back-desc::-webkit-scrollbar{width:4px}
.girl-back-desc::-webkit-scrollbar-track{background:transparent}
.girl-back-desc::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(212,167,60,.55),rgba(212,167,60,.25));border-radius:4px}
.girl-back-desc::-webkit-scrollbar-thumb:hover{background:rgba(212,167,60,.7)}
.girl-back-book{align-self:center;flex-shrink:0;margin-top:auto}
@media(max-width:560px){
  .girl-back-inner{padding:1.5rem 1.1rem 1.2rem}
  .girl-back-mark{width:1.1rem;height:1.1rem;margin-bottom:.5rem}
  .girl-back-name{font-size:1.2rem;margin-bottom:.6rem}
  .girl-back-desc{font-size:.8rem;line-height:1.5;margin-bottom:.8rem}
  .girl-flip-close{width:34px;height:34px;top:10px;left:10px}
}
.girl-avail{position:absolute;top:14px;left:14px;z-index:6;display:inline-flex;align-items:center;gap:.5rem;
  padding:.4rem .85rem;border-radius:100px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:#dff5e7;background:rgba(16,14,12,.72);border:1px solid rgba(62,207,111,.45);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 6px 18px -6px rgba(0,0,0,.6)}
.girl-avail-dot{width:8px;height:8px;border-radius:50%;background:#3ecf6f;flex-shrink:0;
  box-shadow:0 0 0 0 rgba(62,207,111,.55);animation:exbAvailPulse 1.8s ease-out infinite}
@keyframes exbAvailPulse{0%{box-shadow:0 0 0 0 rgba(62,207,111,.55)}70%{box-shadow:0 0 0 8px rgba(62,207,111,0)}100%{box-shadow:0 0 0 0 rgba(62,207,111,0)}}
.girl-img{aspect-ratio:3/4;position:relative;overflow:hidden;background:linear-gradient(155deg,#262220,#141210)}
.girl-track{position:absolute;inset:0;display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;z-index:2}
.girl-track::-webkit-scrollbar{display:none}
.girl-slide{position:relative;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;touch-action:pan-x}
.girl-slide img{-webkit-user-drag:none;user-select:none;pointer-events:none}
.girl-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.6s;pointer-events:none;user-select:none;-webkit-user-drag:none}
.girl:hover .girl-slide img{transform:scale(1.04)}
.girl-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  background:rgba(16,14,12,.55);backdrop-filter:blur(6px);color:var(--gold-lite);font-size:1.3rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;opacity:.85;transition:.35s}
.girl-nav.prev{left:12px}.girl-nav.next{right:12px}
.girl:hover .girl-nav,.girl-nav:focus-visible{opacity:1}
.girl-nav:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.girl-dots{position:absolute;left:0;right:0;bottom:84px;z-index:4;display:flex;gap:7px;justify-content:center;pointer-events:none}
.girl-dot{width:7px;height:7px;border-radius:50%;background:rgba(240,210,120,.3);box-shadow:0 0 0 1px rgba(240,210,120,.25);transition:.35s;pointer-events:auto;cursor:pointer}
@media(hover:none){
  .girl-dots{opacity:1}
  .girl-track{scroll-snap-type:x mandatory}
}
.girl-dot.active{background:var(--gold-lite);box-shadow:0 0 10px 1px rgba(240,210,120,.7);transform:scale(1.25)}
.girl-img .glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(212,167,60,.28),transparent 60%);transition:.6s;z-index:1;pointer-events:none}
.girl:hover .girl-img .glow{background:radial-gradient(circle at 50% 30%,rgba(240,210,120,.42),transparent 65%)}
.girl-img .mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-style:italic;font-size:6rem;color:rgba(240,210,120,.22);transition:.6s}
.girl:hover .mono{transform:scale(1.06);color:rgba(240,210,120,.34)}
.girl-info{position:absolute;left:0;bottom:0;width:100%;padding:1.4rem 1.5rem;z-index:2;background:linear-gradient(transparent,rgba(16,14,12,.92) 55%)}
.girl-info .top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.4rem}
.girl-info h3{font-family:var(--display);font-size:2rem;font-weight:300;color:var(--cream)}
.girl-info .age{font-family:var(--display);font-style:italic;color:var(--gold-lite);font-size:1rem}
.girl-info .specs{font-size:.74rem;color:var(--muted);letter-spacing:.04em;display:flex;gap:.8rem;flex-wrap:wrap;max-height:0;overflow:hidden;opacity:0;transition:.5s}
.girl:hover .specs{max-height:60px;opacity:1;margin-top:.6rem}
.girl-info .specs span b{color:var(--gold)}
.girl-info .book{display:inline-block;margin-top:.9rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);max-height:0;overflow:hidden;opacity:0;transition:.5s .05s;border-bottom:1px solid var(--gold);padding-bottom:2px}
.girl:hover .book{max-height:30px;opacity:1}

/* career */
.career-box{position:relative;border:1px solid var(--line);border-radius:6px;padding:5rem 3rem;text-align:center;overflow:hidden;background:radial-gradient(700px 400px at 50% -20%,rgba(212,167,60,.12),transparent 60%),var(--anthracite)}
.career-box h2{font-size:clamp(2rem,4.5vw,3.2rem);color:var(--cream);margin-bottom:1.4rem;max-width:760px;margin-inline:auto}
.career-box h2 em{font-style:italic;color:var(--gold-lite)}
.career-box p{color:var(--muted);max-width:560px;margin:0 auto 2.4rem}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}
.field{margin-bottom:1.4rem}
.field label{display:block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}
.field input,.field textarea,.field select{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:6px;color:var(--cream);padding:.85rem 1rem;font-family:var(--body);font-size:1rem;transition:.3s}
.field input::placeholder,.field textarea::placeholder{color:rgba(239,233,223,.4)}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 18px) center,calc(100% - 13px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}
.field select option{background:var(--anthracite);color:var(--cream)}
.field input[type=date]{color-scheme:dark}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.exb-slots{display:flex;flex-wrap:wrap;gap:.5rem;padding:.4rem 0}
.exb-slots-hint{font-size:.85rem;color:var(--muted);font-style:italic;font-family:var(--display)}
.exb-slot{padding:.45rem .85rem;border:1px solid var(--line);border-radius:3px;font-size:.82rem;color:var(--cream);cursor:pointer;transition:.25s;background:transparent;font-family:var(--body)}
.exb-slot:hover{border-color:var(--gold);color:var(--gold-lite)}
.exb-slot.active{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:500}
.exb-slot.loading{opacity:.5;pointer-events:none}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.06)}
.field textarea{min-height:90px;resize:vertical}
.consent{font-size:.72rem;color:var(--muted);margin-top:1.4rem}.consent a{color:var(--gold)}
.form-msg{margin-top:1rem;font-size:.85rem;color:var(--gold-lite)}
.loc{padding:1.8rem 0;border-bottom:1px solid var(--line-soft)}
.loc:first-child{padding-top:0}
.loc h3{font-family:var(--display);font-size:1.5rem;font-weight:300;color:var(--cream);margin-bottom:.5rem}
.loc h3 em{font-style:italic;color:var(--gold);font-size:.8rem;letter-spacing:.1em;margin-left:.6rem}
.loc p{font-size:.86rem;color:var(--muted);margin-bottom:.3rem}
.loc-park{font-size:.78rem!important;color:#8a8172!important;line-height:1.5;padding:.6rem .8rem;background:rgba(212,167,60,.05);border-left:2px solid var(--line);border-radius:0 4px 4px 0;margin:.6rem 0!important}
.loc-nav{display:inline-flex;align-items:center;gap:.5rem;margin-top:.7rem;padding:.5rem 1.1rem;border:1px solid var(--line);border-radius:100px;
  color:var(--gold-lite);font-family:var(--body);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;transition:.3s}
.loc-nav:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.loc-nav-ico{width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/%3E%3C/svg%3E") center/contain no-repeat}
.loc .g{color:var(--gold-lite)}
.hours{display:flex;gap:2rem;margin-top:.6rem;flex-wrap:wrap}
.hours div small{display:block;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}
.hours div span{font-size:.84rem;color:var(--muted)}

/* blog / magazín */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.blog-card{display:flex;flex-direction:column;background:var(--anthracite);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:.45s}
.blog-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 24px 50px -24px rgba(0,0,0,.7)}
.blog-thumb{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(150deg,#262220,#141210)}
.blog-thumb img{width:100%;height:100%;object-fit:cover;transition:.6s}
.blog-card:hover .blog-thumb img{transform:scale(1.06)}
.blog-thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-style:italic;font-size:3rem;color:rgba(240,210,120,.25)}
.blog-cat{position:absolute;left:14px;top:14px;z-index:2;background:rgba(16,14,12,.7);backdrop-filter:blur(6px);border:1px solid var(--line);color:var(--gold-lite);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .7rem;border-radius:100px}
.blog-body{padding:1.5rem 1.6rem 1.7rem;display:flex;flex-direction:column;flex:1}
.blog-date{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.7rem}
.blog-title{font-family:var(--display);font-weight:400;font-size:1.4rem;line-height:1.2;color:var(--cream);margin-bottom:.7rem;transition:.3s}
.blog-title a:hover{color:var(--gold-lite)}
.blog-excerpt{font-size:.88rem;color:var(--muted);margin-bottom:1.2rem;flex:1}
.blog-more{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:3px;align-self:flex-start;transition:.3s}
.blog-more:hover{letter-spacing:.22em}
.blog-all{text-align:center;margin-top:3rem}
@media(max-width:880px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.blog-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}}

/* ===== single article — Atelier Noir ===== */
.article-main{position:relative;overflow:hidden}
.single-article .wrap{max-width:820px}

/* hero */
.article-hero{position:relative;padding:170px 0 2.5rem;text-align:center;overflow:hidden}
.article-hero-deco{position:absolute;inset:0;z-index:0;pointer-events:none}
.article-hero::after{content:"";position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:680px;height:340px;z-index:0;
  background:radial-gradient(circle,rgba(212,167,60,.13),transparent 65%);pointer-events:none}
.article-hero-inner{position:relative;z-index:2}
.entry-cat{display:inline-block;color:var(--gold-lite);font-family:var(--body);font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.8rem;border:1px solid var(--line);padding:.45rem 1rem;border-radius:100px}
.entry-title{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,6.5vw,5rem);line-height:1.04;letter-spacing:-.01em;margin:0 auto 1.6rem;max-width:15ch;
  background:linear-gradient(100deg,#9a7320 0%,#d4a73c 22%,#f6e7a8 42%,#fff6da 50%,#f0d278 58%,#d4a73c 78%,#a87c22 100%);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 2px 18px rgba(212,167,60,.28));animation:shimmer 7s ease-in-out infinite}
.entry-meta{font-family:var(--body);font-size:.78rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;display:flex;gap:.8rem;justify-content:center;align-items:center}
.entry-meta .dot{color:var(--gold);opacity:.6}

/* featured image — fixed ratio, never stretches layout */
.entry-featured{margin:2.5rem 0 3.5rem;border-radius:6px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;background:linear-gradient(150deg,#262220,#141210)}
.entry-featured img{width:100%;height:100%;object-fit:cover;display:block}

/* content */
.article-wrap{padding-bottom:5rem}
.entry-content{font-size:1.06rem;line-height:1.9;color:#cfc8bc}
.entry-content p{margin-bottom:1.5rem}
.entry-content > p:first-of-type{font-size:1.2rem;line-height:1.7;color:var(--cream)}
.entry-content h2,.entry-content h3{font-family:var(--display);font-weight:400;color:var(--gold-lite);margin:2.4rem 0 1rem;line-height:1.2}
.entry-content h2{font-size:1.9rem}.entry-content h3{font-size:1.45rem}
.entry-content a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.entry-content img{border-radius:6px;margin:1.8rem 0;max-width:100%;height:auto}
.entry-content ul,.entry-content ol{margin:0 0 1.5rem 1.4rem}
.entry-content li{margin-bottom:.5rem}
.entry-content blockquote{border-left:2px solid var(--gold);padding:.4rem 0 .4rem 1.6rem;margin:2rem 0;font-family:var(--display);font-style:italic;font-size:1.4rem;color:var(--gold-lite)}

/* divider with feather */
.article-divider{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin:4rem 0 3rem}
.article-divider .line{height:1px;flex:1;max-width:140px;background:linear-gradient(90deg,transparent,rgba(212,167,60,.4),transparent)}
.article-divider .mark{color:var(--gold);font-size:.9rem;opacity:.7}

/* foot — centered, big spacing */
.article-foot{display:flex;flex-direction:column;align-items:center;gap:2.6rem;margin-top:2rem;text-align:center}
.entry-back{display:inline-block;font-family:var(--body);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:3px;transition:.3s}
.entry-back:hover{letter-spacing:.22em}
.related-section{padding-top:1rem}

/* archive */
.archive-head{padding:170px 0 40px;text-align:center;position:relative;overflow:hidden}
.archive-head::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:600px;height:300px;background:radial-gradient(circle,rgba(212,167,60,.1),transparent 65%);pointer-events:none}
.archive-head h1{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,5vw,3.6rem);color:var(--cream);position:relative;z-index:2}
.archive-head .eyebrow{justify-content:center;margin-bottom:1rem;display:block;text-align:center;position:relative;z-index:2}

@media(max-width:600px){
  .article-hero{padding:130px 0 2rem}
  .article-foot{align-items:center}
}

/* ===== Stories / Reels ===== */
.reels-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.reel-card{position:relative;aspect-ratio:9/16;border-radius:12px;overflow:hidden;cursor:pointer;border:1px solid var(--line);background:#141210;padding:0;transition:.4s}
.reel-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 24px 50px -24px rgba(0,0,0,.7)}
.reel-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.reel-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,14,12,.1) 0%,transparent 35%,transparent 60%,rgba(16,14,12,.75) 100%);pointer-events:none}
.reel-play{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:rgba(16,14,12,.5);backdrop-filter:blur(6px);border:1px solid rgba(240,210,120,.4);pointer-events:none}
.reel-play::before{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--gold-lite)}
.reel-cap{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;color:var(--cream);font-size:.85rem;line-height:1.3;text-align:left;font-family:var(--body);text-shadow:0 2px 12px rgba(0,0,0,.6);pointer-events:none}
@media(max-width:880px){.reels-grid{grid-template-columns:repeat(3,1fr);gap:.8rem}}
@media(max-width:560px){.reels-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}}

/* fullscreen viewer */
.reels-viewer{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}
.reels-viewer[hidden]{display:none}
.reels-viewer-bg{position:absolute;inset:0;background:rgba(8,7,6,.92);backdrop-filter:blur(10px)}
.reels-stage{position:relative;width:min(440px,92vw);aspect-ratio:9/16;max-height:90vh;border-radius:14px;overflow:hidden;background:#000;z-index:2;box-shadow:0 40px 120px -30px rgba(0,0,0,.9)}
.reels-player{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.reels-progress{position:absolute;top:10px;left:10px;right:10px;height:3px;z-index:5;display:flex;gap:4px}
.reels-progress span{flex:1;background:rgba(255,255,255,.25);border-radius:2px;overflow:hidden}
.reels-progress span i{display:block;height:100%;width:0;background:var(--gold-lite)}
.reels-progress span.done i{width:100%}
.reels-caption{position:absolute;left:16px;right:16px;bottom:22px;z-index:4;color:#fff;font-size:.95rem;line-height:1.35;text-shadow:0 2px 14px rgba(0,0,0,.7);pointer-events:none}
.reels-close{position:absolute;top:24px;right:26px;z-index:6;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.4);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;transition:.3s}
.reels-close:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.reels-mute{position:absolute;top:22px;right:14px;z-index:5;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.4);cursor:pointer;background-position:center;background-repeat:no-repeat}
.reels-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.4);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;transition:.3s;display:flex;align-items:center;justify-content:center}
.reels-nav:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.reels-prev{left:max(20px,calc(50% - min(440px,92vw)/2 - 70px))}
.reels-next{right:max(20px,calc(50% - min(440px,92vw)/2 - 70px))}
@media(max-width:768px){.reels-nav{display:none}.reels-stage{width:100vw;height:100vh;max-height:100vh;border-radius:0;aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){.reel-card{transition:none}}

/* ===== Cover banner (full-width) ===== */
.cover-banner{position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:clamp(360px,46vw,620px);overflow:hidden;background:#0c0a09}
.cover-track{position:absolute;inset:0}
.cover-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;pointer-events:none}
.cover-slide.active{opacity:1;pointer-events:auto}
.cover-slide img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
.cover-slide video.cover-media{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:var(--cover-pos,50%) center;display:block}
/* horní stín — splyne s tmavým webem nahoře */
.cover-shade-top{position:absolute;top:0;left:0;right:0;height:38%;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,var(--ink) 0%,rgba(16,14,12,.45) 40%,transparent 100%)}
/* spodní stín — splyne se sekcí Nabídka terapií */
.cover-shade-bot{position:absolute;bottom:0;left:0;right:0;height:55%;z-index:2;pointer-events:none;
  background:linear-gradient(0deg,var(--ink) 0%,rgba(16,14,12,.6) 35%,transparent 100%)}
/* zlatý nádech po stranách pro hloubku */
.cover-banner::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(120% 80% at 50% 50%,transparent 55%,rgba(16,14,12,.55) 100%)}
.cover-cap{position:absolute;left:0;right:0;bottom:11%;z-index:3;text-align:center;padding:0 1.5rem}
.cover-cap span{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(1.4rem,3.4vw,2.6rem);color:var(--cream);
  text-shadow:0 4px 30px rgba(0,0,0,.7);letter-spacing:.01em}
.cover-dots{position:absolute;left:0;right:0;bottom:7%;z-index:4;display:flex;gap:9px;justify-content:center}
.cover-dot{width:8px;height:8px;border-radius:50%;background:rgba(240,210,120,.3);box-shadow:0 0 0 1px rgba(240,210,120,.3);cursor:pointer;transition:.35s;border:0;padding:0}
.cover-dot.active{background:var(--gold-lite);box-shadow:0 0 12px 1px rgba(240,210,120,.7);transform:scale(1.25)}
@media(max-width:600px){
  .cover-banner{height:clamp(300px,72vw,460px)}
  /* na mobilu: přepíšeme desktop výřez a použijeme object-position (bez černých okrajů) */
  .cover-slide img.cover-media{width:100%!important;height:100%!important;left:0!important;top:0!important;object-fit:cover;object-position:var(--cover-pos-mobile,50%) center}
  .cover-slide video.cover-media{object-position:var(--cover-pos-mobile,var(--cover-pos,50%)) center}
}

/* ===== Stránka: Jak probíhá terapie ===== */
.terapie-main{position:relative;overflow:hidden}
.terapie-hero{position:relative;padding:190px 0 90px;text-align:center;overflow:hidden}
.terapie-hero::after{content:"";position:absolute;top:-5%;left:50%;transform:translateX(-50%);width:760px;height:400px;z-index:0;background:radial-gradient(circle,rgba(212,167,60,.14),transparent 65%);pointer-events:none}
.terapie-hero-inner{position:relative;z-index:2}
.terapie-hero .eyebrow{justify-content:center;display:block;margin-bottom:1.4rem}
.terapie-title{font-family:var(--display);font-weight:400;font-size:clamp(2.4rem,5.5vw,4.4rem);line-height:1.06;margin:0 auto 1.6rem;max-width:16ch;
  background:linear-gradient(100deg,#9a7320,#d4a73c 25%,#f6e7a8 45%,#fff6da 52%,#f0d278 60%,#d4a73c 80%,#a87c22);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 2px 20px rgba(212,167,60,.28));animation:shimmer 8s ease-in-out infinite}
.terapie-lead{max-width:640px;margin:0 auto;font-size:1.1rem;line-height:1.75;color:var(--muted)}
.terapie-scroll{display:block;width:1px;height:60px;margin:3rem auto 0;background:linear-gradient(180deg,var(--gold),transparent);position:relative}
.terapie-scroll::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--gold-lite);animation:scrolldot 2.2s ease-in-out infinite}
@keyframes scrolldot{0%{top:0;opacity:1}80%{top:52px;opacity:0}100%{opacity:0}}

.terapie-steps{padding:20px 0 80px;position:relative}
.terapie-steps .wrap{position:relative;max-width:820px}
.tstep-line{position:absolute;left:calc(2rem + 29px);top:20px;bottom:80px;width:1px;background:linear-gradient(180deg,transparent,rgba(212,167,60,.35) 10%,rgba(212,167,60,.35) 90%,transparent);z-index:0}
.tstep{position:relative;display:grid;grid-template-columns:80px 1fr;gap:1.8rem;padding:1.6rem 0 2.4rem;z-index:1}
.tstep-num{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.tstep-mark{width:26px;height:26px;background:url('assets/img/feather.png') center/contain no-repeat;filter:drop-shadow(0 4px 14px rgba(212,167,60,.5))}
.tstep-idx{font-family:var(--display);font-style:italic;font-size:1.1rem;color:var(--gold);opacity:.6}
.tstep-num::before{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,rgba(212,167,60,.12),transparent 70%);z-index:-1}
.tstep-body{padding-top:.2rem}
.tstep-title{font-family:var(--display);font-weight:400;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--cream);margin-bottom:.8rem}
.tstep-text{font-size:1rem;line-height:1.8;color:#c3bbac}

.terapie-cta{padding:70px 0 110px;text-align:center;position:relative}
.terapie-cta::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:600px;height:300px;background:radial-gradient(circle,rgba(212,167,60,.1),transparent 65%);pointer-events:none}
.terapie-cta .wrap{position:relative;z-index:2}
.terapie-cta-mark{display:inline-block;width:2rem;height:2rem;margin-bottom:1.4rem}
.terapie-cta-title{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,4vw,2.8rem);color:var(--cream);margin-bottom:.8rem}
.terapie-cta p{color:var(--muted);margin-bottom:2rem;font-size:1.05rem}
.terapie-cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
@media(max-width:600px){
  .terapie-hero{padding:150px 0 60px}
  .tstep{grid-template-columns:56px 1fr;gap:1.1rem}
  .tstep-line{left:calc(2rem + 20px)}
  .tstep-mark{width:20px;height:20px}
}

.svc-process-link{text-align:center;margin-top:1.5rem}
/* ===== E-mailová brána galerie ===== */
.gate{margin:-1.5rem 0 4rem;display:flex;justify-content:center}
.gate.gate-done{opacity:.6}
.gate-inner{max-width:560px;width:100%;text-align:center;padding:2.6rem 2rem;border:1px solid var(--line);border-radius:12px;
  background:linear-gradient(160deg,rgba(28,25,23,.8),rgba(16,14,12,.8));position:relative;overflow:hidden}
.gate-inner::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:420px;height:280px;
  background:radial-gradient(circle,rgba(212,167,60,.12),transparent 65%);pointer-events:none}
.gate-mark{display:inline-block;width:1.8rem;height:1.8rem;margin-bottom:1rem;position:relative;z-index:2}
.gate-title{font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,3.2vw,2.1rem);color:var(--cream);margin-bottom:.7rem;position:relative;z-index:2}
.gate-text{font-size:.95rem;line-height:1.6;color:var(--muted);max-width:440px;margin:0 auto 1.6rem;position:relative;z-index:2}
.gate-form{display:flex;gap:.7rem;max-width:420px;margin:0 auto;position:relative;z-index:2}
.gate-form input{flex:1;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:100px;color:var(--cream);padding:.85rem 1.3rem;font-family:var(--body);font-size:.95rem;transition:.3s}
.gate-form input::placeholder{color:rgba(239,233,223,.4)}
.gate-form input:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.07)}
.gate-form .btn{white-space:nowrap;flex-shrink:0}
.gate-msg{margin-top:1rem;font-size:.85rem;position:relative;z-index:2}
.gate-msg.ok{color:var(--gold-lite)}
.gate-msg.err{color:#e6a5a5}
.gate-note{margin-top:1.2rem;font-size:.72rem;color:#8a8172;line-height:1.5;position:relative;z-index:2}
@media(max-width:520px){.gate-form{flex-direction:column;border-radius:12px}.gate-form input,.gate-form .btn{width:100%;border-radius:8px}}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:4rem 0 2.5rem;position:relative;z-index:2}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem;margin-bottom:3rem}
.foot-logo{height:128px;width:auto;display:block;filter:drop-shadow(0 2px 18px rgba(212,167,60,.3))}
.foot-cols{display:flex;gap:4rem;flex-wrap:wrap}
@media(min-width:769px){
  .foot-top{justify-content:flex-start;gap:6rem}
  .foot-cols{margin-right:auto;padding-right:9rem}
}
.foot-cols h4{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.foot-cols a,.foot-cols p{display:block;font-size:.84rem;color:var(--muted);margin-bottom:.5rem;transition:.3s}
.foot-cols a:hover{color:var(--cream)}
.legal{font-size:.72rem;color:#6c655a;line-height:1.7;border-top:1px solid var(--line-soft);padding-top:1.6rem}
.legal a{color:var(--gold)}

.wa{position:fixed;right:26px;bottom:26px;z-index:80;width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 34px -8px rgba(212,167,60,.7);transition:.35s}
.wa:hover{transform:scale(1.1);background:var(--gold-lite)}
.wa svg{width:28px;height:28px}

/* padající zlaté pírko */
.exb-feather{position:fixed;top:0;left:0;z-index:3;width:64px;height:auto;pointer-events:none;
  opacity:0;will-change:transform,opacity;
  filter:drop-shadow(0 8px 22px rgba(212,167,60,.35));transition:opacity .6s ease}
@media(max-width:768px){.exb-feather{width:46px}}
@media(prefers-reduced-motion:reduce){.exb-feather{display:none}}

/* generic page content (privacy etc.) */
.page-content{padding:160px 0 100px}
.page-content h1{font-family:var(--display);font-weight:300;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--cream);margin-bottom:2rem}
.page-content h2{font-family:var(--display);font-weight:300;color:var(--gold-lite);font-size:1.8rem;margin:2rem 0 1rem}
.page-content p,.page-content li{color:var(--muted);margin-bottom:1rem}
.page-content ul,.page-content ol{padding-left:1.4rem;margin-bottom:1.2rem}
.page-content a{color:var(--gold)}

/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:.9s cubic-bezier(.16,.7,.2,1)}
.rv.in{opacity:1;transform:none}

@media(max-width:880px){
  .menu{position:fixed;inset:0 0 0 0;z-index:55;background:var(--anthracite);flex-direction:column;justify-content:flex-start;align-items:center;gap:1.8rem;padding:90px 1.5rem 2rem;transform:translateX(100%);transition:.45s;border-left:1px solid var(--line);box-shadow:-20px 0 50px rgba(0,0,0,.5);overflow-y:auto;-webkit-overflow-scrolling:touch}
  /* vycentrované, dokud se vejde; při přetečení normálně skroluje odshora */
  .menu > li:first-child{margin-top:auto}
  .menu > li:last-child{margin-bottom:auto}
  .menu.open{transform:none}
  /* backdrop-filter na hlavičce mění containing block pro position:fixed —
     při otevřeném menu ho vypnout, jinak je overlay oříznutý na výšku hlavičky */
  html.exb-menu-open .site-header,
  html.exb-menu-open .site-header.small{backdrop-filter:none;-webkit-backdrop-filter:none}
  .burger{display:flex;position:relative;z-index:60}
  .burger.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .burger.is-open span:nth-child(2){opacity:0}
  .burger.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  html.exb-menu-open{overflow:hidden}
  .hero-grid,.intro,.contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-meta{text-align:left}
  /* hero obsah je na mobilu vyšší než viewport — centrování ho tlačilo
     pod logo (nahoře) a do marquee pásu (dole); zarovnat odshora + rezervy */
  .hero{align-items:flex-start}
  .hero .wrap{padding-top:128px;padding-bottom:150px}
  .hero-meta p{margin-bottom:.9rem}
  .aura,.rays{left:50%;width:90vh}
  .girls{grid-template-columns:1fr 1fr;gap:1.2rem}
  .sec-head{flex-direction:column;align-items:flex-start}
  .sec-head .meta{text-align:left}
  .girl .specs,.girl .book{max-height:none!important;opacity:1!important;margin-top:.5rem}
  .section{padding:90px 0}
}
@media(max-width:520px){
  .girls{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .girl{max-width:380px;margin:0 auto;width:100%}
}

/* šipky galerie: na dotykových zařízeních stále viditelné */


/* kredit tvůrce webu */
.exb-credit{margin-top:6px;font-size:.72rem;color:#57503f}
.exb-credit a{color:#8a7a52;text-decoration:none;border-bottom:1px solid rgba(212,167,60,.25);transition:.25s}
.exb-credit a:hover{color:var(--gold-2,#f0d278);border-color:#f0d278}

/* šipky galerie: na desktopu vždy viditelné, skryté jen na úzkých displejích */
.girl .girl-nav{display:flex}
@media(max-width:880px){.girl .girl-nav{display:none}}
