/* =========================================================
   Hannah Mild · štýly (tmavý boudoir: bordová, čierna, zlatá)
   Hlavnú farbu (akcent) meníš v assets/js/config.js (accentColor).
   ========================================================= */

/* ---------- Písma (uložené priamo na webe, bez Google) ---------- */
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-400-normal.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:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-ext-400-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-500-normal.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:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-ext-500-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/jost-latin-600-normal.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:"Jost";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/jost-latin-ext-600-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.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:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-500-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.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:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-600-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-italic.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:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-500-italic.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-italic.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:"Cormorant Garamond";font-style:italic;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-600-italic.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Pinyon Script";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/pinyon-script-latin-400-normal.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:"Pinyon Script";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/pinyon-script-latin-ext-400-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Farby a základ (tmavý boudoir: bordová, čierna, šampanské zlato) ---------- */
:root{
  --accent:#8E1B37;        /* bordová: tlačidlá, hlavná karta (mení sa v config.js) */
  --bg:#100A0C;            /* teplá čierna */
  --bg-2:#180E12;
  --panel:rgba(32,17,24,.78);
  --panel-solid:#1E1117;
  --line:rgba(217,180,122,.2);
  --line-strong:rgba(217,180,122,.5);
  --gold:#D9B47A;          /* šampanské zlato */
  --gold-2:#F0D7A8;
  --wine:#8E1B37;
  --wine-2:#B8304F;
  --wine-deep:#4A0C1D;
  --rose:#D4697F;          /* zmyselná ruža */
  --blush:#E8B4BC;
  --ink:#F6ECE8;           /* slonovinová */
  --ink-soft:#DCC5C6;
  --muted:#BFA2A8;
  --script:"Pinyon Script","Snell Roundhand","Apple Chancery",cursive;
  --serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Jost","Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  --safe-t:env(safe-area-inset-top,0px);
  --safe-b:env(safe-area-inset-bottom,0px);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}
body{margin:0;min-height:100vh;min-height:100svh;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overflow-x:hidden;overflow-x:clip}
body.is-locked{overflow:hidden}
img,video{display:block;max-width:100%}
svg{overflow:visible}
button{font:inherit;color:inherit}
a{color:var(--gold)}
::selection{background:rgba(184,48,79,.55);color:#fff}
:focus{outline:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* Vstupná brána vs. profil */
.gate{display:none}
.js:not(.gate-ok) .gate{display:flex}
.js:not(.gate-ok) .page,
.js:not(.gate-ok) .dock-wrap{display:none}

/* ---------- Pozadie: svetlo sviečok, čipka, zrno, lupene ---------- */
.atmos{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.blob{position:absolute;border-radius:50%;animation:drift 18s ease-in-out infinite alternate}
.blob--1{width:620px;height:620px;left:-240px;top:-220px;background:radial-gradient(circle,rgba(142,27,55,.55) 0%,rgba(142,27,55,0) 68%)}
.blob--2{width:560px;height:560px;right:-260px;top:38%;background:radial-gradient(circle,rgba(212,105,127,.2) 0%,rgba(212,105,127,0) 70%);animation-duration:23s;animation-direction:alternate-reverse}
.blob--3{width:520px;height:520px;left:-160px;bottom:-220px;background:radial-gradient(circle,rgba(217,180,122,.12) 0%,rgba(217,180,122,0) 70%);animation-name:candle;animation-duration:7s}
.atmos-lace{position:absolute;inset:0;background-image:url(../img/lace-net.svg);background-size:44px 44px;opacity:.05;-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.25) 45%,transparent 80%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.25) 45%,transparent 80%)}
.atmos-grain{position:absolute;inset:-50%;background-image:url(../img/grain.png);background-size:128px 128px;opacity:.06;mix-blend-mode:overlay}
.petal{position:absolute;top:-40px;border-radius:80% 0 80% 0;background:linear-gradient(135deg,#C2405E 0%,#5E0F24 100%);box-shadow:inset 2px 2px 4px rgba(255,200,210,.18);opacity:.7;animation-name:fall;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}
.side-deco{display:none;position:absolute;opacity:.4}
@media (min-width:960px){
  .side-deco{display:block}
  .side-deco--rose{left:max(3vw,calc(50% - 640px));bottom:8vh;width:230px;height:230px}
  .side-deco--rose2{right:max(4vw,calc(50% - 600px));top:10vh;width:150px;height:150px;transform:rotate(18deg)}
  .side-deco--bow{left:max(8vw,calc(50% - 520px));top:16vh;width:110px;height:76px}
}

/* ---------- Animácie ---------- */
.reveal{animation:rise .9s var(--ease) both}
.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}.d4{animation-delay:.32s}
.d5{animation-delay:.4s}.d6{animation-delay:.48s}.d7{animation-delay:.56s}.d8{animation-delay:.64s}
.float{animation:float 6s ease-in-out infinite}
.float--slow{animation-delay:-2.4s;animation-duration:7.5s}
.tw{animation:twinkle 3.6s ease-in-out infinite}
.tw--2{animation-delay:-1.2s}.tw--3{animation-delay:-2.4s}
.spin{animation:spin 34s linear infinite}
.halo{animation:halo 4.8s ease-in-out infinite}
.wiggle{transform-origin:50% 40%;animation:wiggle 5s ease-in-out infinite}
.shine{position:relative;overflow:hidden;isolation:isolate}
.shine::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,0) 30%,rgba(255,225,230,.16) 50%,rgba(255,255,255,0) 70%);transform:translateX(-120%);animation:shine 6s ease-in-out infinite}
.shine > *{position:relative;z-index:1}

@keyframes fall{0%{transform:translate3d(0,-6vh,0) rotate(0deg)}25%{transform:translate3d(30px,24vh,0) rotate(80deg)}50%{transform:translate3d(-16px,52vh,0) rotate(170deg)}75%{transform:translate3d(26px,80vh,0) rotate(250deg)}100%{transform:translate3d(-8px,112vh,0) rotate(340deg)}}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(28px,40px,0) scale(1.12)}}
@keyframes candle{0%{opacity:.8;transform:scale(1)}30%{opacity:1;transform:scale(1.04)}55%{opacity:.85;transform:scale(.98)}80%{opacity:1;transform:scale(1.03)}100%{opacity:.9;transform:scale(1)}}
@keyframes rise{from{opacity:.01;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes unveil{from{clip-path:inset(0 0 100% 0 round 30px);transform:scale(1.02)}to{clip-path:inset(0 0 0 0 round 30px);transform:none}}
@keyframes sheen{0%,25%{transform:translateX(-45%)}75%,100%{transform:translateX(45%)}}
@keyframes float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-7px) rotate(4deg)}}
@keyframes twinkle{0%,100%{opacity:.1;transform:scale(.5) rotate(0deg)}50%{opacity:.9;transform:scale(1) rotate(45deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes halo{0%,100%{box-shadow:0 0 0 1.5px var(--gold),0 0 0 0 rgba(184,48,79,.55),0 22px 44px -18px rgba(0,0,0,.9)}50%{box-shadow:0 0 0 1.5px var(--gold),0 0 0 16px rgba(184,48,79,0),0 22px 44px -18px rgba(0,0,0,.9)}}
@keyframes wiggle{0%,100%{transform:rotate(0)}10%{transform:rotate(-7deg)}20%{transform:rotate(5deg)}30%{transform:rotate(-2deg)}40%{transform:rotate(0)}}
@keyframes word{0%{opacity:0;transform:translateY(60%);filter:blur(4px)}7%,30%{opacity:1;transform:none;filter:none}37%,100%{opacity:0;transform:translateY(-60%);filter:blur(4px)}}
@keyframes shine{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@keyframes zoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes glow{0%,100%{opacity:.85}50%{opacity:1}}

/* ---------- Vstupná brána ---------- */
.gate{position:relative;z-index:2;min-height:100vh;min-height:100svh;align-items:center;justify-content:center;padding:calc(40px + var(--safe-t)) 18px calc(28px + var(--safe-b))}
.gate-card{position:relative;width:100%;max-width:440px;padding:54px 24px 24px;border-radius:30px;background:linear-gradient(180deg,rgba(40,20,29,.82),rgba(22,12,17,.88));border:1px solid var(--line);box-shadow:0 40px 90px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.02) inset;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;animation:rise .8s var(--ease) both}
.gate-card::before{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;background:linear-gradient(90deg,rgba(217,180,122,0),rgba(217,180,122,.8),rgba(217,180,122,0))}
.crest{position:relative;width:96px;height:96px;margin:0 auto}
.crest-badge{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;padding-top:8px;background:radial-gradient(circle at 35% 28%,#B8304F 0%,#7A1630 52%,#3E0A18 100%);border:3px solid #1A0D12;font-family:var(--script);font-size:40px;color:var(--gold-2);text-shadow:0 1px 0 rgba(0,0,0,.4)}
.crest-badge--seal{padding-top:0;font-family:var(--serif);font-size:32px;font-weight:600;letter-spacing:.02em}
.crest-bow{position:absolute;left:50%;top:-26px;width:60px;height:41px;margin-left:-30px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.wordmark{display:flex;align-items:center;justify-content:center;gap:.08em;margin:0;font-family:var(--script);font-weight:400;line-height:1.15;color:var(--ink);text-shadow:0 2px 24px rgba(184,48,79,.45)}
.wordmark--gate{margin-top:14px;font-size:46px}
.wordmark-bow{width:.66em;height:.45em;margin-top:.2em;flex:none}
.steps{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 8px}
.dot{width:6px;height:6px;border-radius:6px;background:rgba(217,180,122,.3)}
.dot--on{width:22px;background:var(--gold)}
.steps-label{margin-left:6px;font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--gold)}
.gate-title{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:32px;line-height:1.1;color:var(--ink)}
.gate-title--lg{font-size:34px}
.gate-sub{margin:6px 0 22px;font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.lang-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.choice{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:124px;padding:18px 10px;border-radius:22px;border:1px solid var(--line);background:rgba(16,10,12,.55);color:var(--ink);cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s,background-color .35s}
.choice-code{font-family:var(--serif);font-size:36px;font-weight:500;line-height:1;color:var(--gold-2)}
.choice-name{font-size:16px;font-weight:500}
.choice-hint{font-size:13px;color:var(--muted)}
.gate-fine{margin:22px 0 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.gate-text{margin:12px auto 18px;max-width:340px;font-size:15px;line-height:1.6;color:var(--ink-soft);text-wrap:pretty}
.consent{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:14px 16px;border-radius:18px;background:rgba(16,10,12,.6);border:1px solid var(--line);text-align:left;font-size:14px;line-height:1.5;color:var(--ink);cursor:pointer;transition:border-color .3s,box-shadow .3s}
.consent:has(input:checked){border-color:var(--line-strong);box-shadow:0 0 0 3px rgba(184,48,79,.25)}
.consent input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--wine-2);cursor:pointer}
.gate-actions{display:grid;gap:10px;margin-top:16px}
.link-back{display:inline-flex;align-items:center;gap:6px;margin-top:12px;min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--gold);font-size:14px;cursor:pointer}
.link-back svg{width:16px;height:16px}
.gate-note{margin:6px auto 0;max-width:320px;font-size:12px;line-height:1.5;color:var(--muted)}

/* ---------- Tlačidlá ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border:0;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s,filter .35s,opacity .35s}
.btn svg{width:18px;height:18px;flex:none}
.btn--primary{background-color:var(--accent);background-image:linear-gradient(135deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 45%,rgba(0,0,0,.22) 100%);color:var(--ink);box-shadow:0 0 0 1px rgba(217,180,122,.45),0 16px 30px -14px rgba(142,27,55,.9)}
.btn--lg{min-height:56px;font-size:16px;letter-spacing:.06em}
.btn--ghost{min-height:50px;border:1px solid var(--line);background:transparent;color:var(--ink-soft)}
.btn--outline{min-height:46px;padding:0 18px;border:1px solid var(--line-strong);background:transparent;color:var(--gold-2)}
.btn:disabled{opacity:.4;cursor:not-allowed;filter:saturate(.4);box-shadow:none}
.icon-btn{width:46px;height:46px;flex:none;padding:0;border-radius:50%;border:1px solid var(--line);background:rgba(30,17,23,.8);color:var(--gold);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .35s var(--ease),border-color .35s,background-color .35s}
.icon-btn svg{width:20px;height:20px}
.icon-btn--dark{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:var(--ink)}

/* ---------- Profil ---------- */
.page{position:relative;z-index:2;width:100%;max-width:480px;margin:0 auto;padding:calc(14px + var(--safe-t)) 16px calc(124px + var(--safe-b))}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0 14px}
.brand{display:flex;align-items:center;gap:6px;min-width:0;min-height:44px;color:var(--ink);text-decoration:none}
.brand-bow{width:30px;height:21px;flex:none}
.brand-name{font-family:var(--script);font-size:26px;line-height:1.2;white-space:nowrap}
.topbar-actions{display:flex;align-items:center;gap:8px;flex:none}
.seg{display:flex;gap:2px;padding:3px;border-radius:999px;background:rgba(30,17,23,.8);border:1px solid var(--line)}
.seg-btn{min-width:44px;height:38px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);font-size:13px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:background-color .3s,color .3s,box-shadow .3s}
.seg-btn[aria-pressed="true"]{background:var(--accent);color:var(--ink);box-shadow:0 0 0 1px rgba(217,180,122,.5)}

/* Banner (header) */
.hero{position:relative}
.banner{position:relative;height:250px;border-radius:30px;overflow:hidden;background:radial-gradient(90% 120% at 88% 12%,rgba(184,48,79,.55) 0%,rgba(184,48,79,0) 58%),radial-gradient(80% 100% at 8% 100%,rgba(142,27,55,.6) 0%,rgba(142,27,55,0) 62%),linear-gradient(160deg,#2B1019 0%,#160A0F 58%,#230C16 100%);border:1px solid var(--line);box-shadow:0 34px 70px -34px rgba(0,0,0,.95);animation:unveil 1.2s cubic-bezier(.65,0,.25,1) both}
.banner-glow{position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(240,215,168,.18) 0%,rgba(240,215,168,0) 70%);animation:candle 6s ease-in-out infinite}
.banner-lace{position:absolute;inset:0;background-image:url(../img/lace-net.svg);background-size:40px 40px;opacity:.1;-webkit-mask-image:linear-gradient(200deg,#000 0%,rgba(0,0,0,.4) 55%,rgba(0,0,0,.15) 100%);mask-image:linear-gradient(200deg,#000 0%,rgba(0,0,0,.4) 55%,rgba(0,0,0,.15) 100%)}
.banner-sheen{position:absolute;top:0;bottom:0;left:-60%;right:-60%;background:linear-gradient(100deg,rgba(255,255,255,0) 42%,rgba(255,215,222,.1) 50%,rgba(255,255,255,0) 58%);animation:sheen 8s ease-in-out infinite}
.banner-watermark{position:absolute;left:0;right:0;top:40px;text-align:center;font-family:var(--script);font-size:108px;line-height:1;color:rgba(232,180,188,.1);white-space:nowrap}
.deco{position:absolute}
.deco-ribbon{left:-34px;top:64px;width:330px;height:134px;filter:drop-shadow(0 10px 14px rgba(0,0,0,.55))}
.deco-rose{right:-12px;top:8px;width:132px;height:132px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.6))}
.deco-rose2{left:16px;top:16px;width:58px;height:58px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.6))}
.deco-bow1{right:24px;bottom:40px;width:40px;height:28px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.spark{position:absolute;width:11px;height:11px}
.spark--1{left:38%;top:22px}
.spark--2{right:34%;top:84px;width:8px;height:8px}
.spark--3{left:26%;top:150px;width:9px;height:9px}
/* Fotka v hlavičke */
.banner-photo{position:absolute;inset:0;display:none}
.banner-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.banner-shade{display:none;position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,10,12,.18) 0%,rgba(16,10,12,0) 30%,rgba(16,10,12,0) 55%,rgba(16,10,12,.62) 100%),radial-gradient(120% 90% at 50% 40%,rgba(0,0,0,0) 55%,rgba(16,10,12,.45) 100%)}
.banner--photo .banner-photo,.banner--photo .banner-shade{display:block}
.banner--photo .banner-lace,.banner--photo .banner-watermark,.banner--photo .banner-glow,.banner--photo .deco,.banner--photo .spark,.banner--photo .banner-sheen,.banner--photo .banner-trim,.banner--photo .banner-shade{display:none}
.banner--photo{background:#1E1117}
.banner-trim{position:absolute;left:0;right:0;bottom:0;height:22px;background-image:url(../img/lace-trim.svg);background-repeat:repeat-x;background-size:48px 22px;opacity:.75}

/* Profilová fotka */
.avatar{position:relative;z-index:3;width:204px;height:204px;margin:-102px auto 0}
.avatar::before{content:"";position:absolute;inset:4px;border-radius:50%;background:rgba(16,10,12,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:0 24px 50px -24px rgba(0,0,0,.95)}
.avatar-ring{position:absolute;inset:0;width:100%;height:100%}
.ring-text{font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:6px;fill:var(--gold)}
.avatar-photo{position:absolute;inset:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:4px solid #160B10;overflow:hidden;background:radial-gradient(circle at 35% 28%,#9E2443 0%,#5A0E21 60%,#2A0812 100%)}
.avatar-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}
.avatar-photo.has-photo img,.no-js .avatar-photo img{opacity:1}
.avatar-photo.has-photo .avatar-mono{display:none}
.avatar-mono{padding-top:10px;font-family:var(--script);font-size:62px;color:var(--gold-2)}
.avatar-bow{position:absolute;right:16px;top:22px;z-index:2;width:58px;height:40px;transform:rotate(18deg)}
.avatar-bow svg{width:100%;height:100%;filter:drop-shadow(0 6px 8px rgba(0,0,0,.6))}

/* Meno a popis */
.identity{padding:6px 4px 0;text-align:center}
.wordmark--hero{font-size:clamp(44px,14vw,58px)}
.tagline{margin:2px 0 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:25px;line-height:1.3;color:var(--ink-soft)}
.words{display:inline-grid;vertical-align:bottom;margin:0 2px;font-weight:600;color:var(--rose)}
.word{grid-area:1/1;justify-self:center;opacity:0;white-space:nowrap;animation:word 7.5s var(--ease) infinite}
.w1{animation-delay:2.5s}.w2{animation-delay:5s}.w3{animation-delay:7.5s}
.bio{margin:10px auto 0;max-width:340px;font-size:16px;line-height:1.65;color:var(--ink-soft);text-wrap:pretty}

/* Sekcie */
.section{margin-top:36px}
.section--tight{margin-top:16px}
.sec-head{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.sec-num{font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--gold)}
.sec-head h2{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:28px;line-height:1.1;color:var(--ink)}
.sec-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(217,180,122,.6),rgba(217,180,122,0))}
.sec-hint{margin:-8px 0 14px;font-size:13px;color:var(--muted)}

/* Karty s odkazmi */
.links,.pills{list-style:none;margin:0;padding:0}
.links{display:flex;flex-direction:column;gap:12px}
.card{position:relative;display:flex;align-items:center;gap:14px;min-height:82px;padding:12px 12px 12px 14px;border-radius:22px;background:var(--panel);border:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:0 18px 36px -26px rgba(0,0,0,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s,background-color .35s}
.card-icon{width:52px;height:52px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:16px;background:rgba(142,27,55,.28);border:1px solid var(--line);color:var(--gold)}
.card-icon svg{width:24px;height:24px}
/* Logá platforiem v pôvodných farbách na svetlej "porcelánovej" dlaždici so zlatým lemom */
.card-icon.card-icon--logo,.card--featured .card-icon.card-icon--logo{background:linear-gradient(160deg,#FBF4EF,#E9D8CE);border-color:rgba(217,180,122,.8);box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),0 6px 14px -6px rgba(0,0,0,.6)}
.card-icon img{display:block;width:34px;height:34px;object-fit:contain}
.card-icon .logo-onlyfans{width:36px;height:36px}
.card-icon .logo-fansly{width:32px;height:32px}
.card-icon .logo-amateri{width:40px;height:40px}
.card--featured .card-icon .logo-amateri{width:42px;height:42px}
.card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.card-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.card-title{font-family:var(--serif);font-size:23px;font-weight:600;line-height:1.15;color:var(--ink)}
.card-desc{font-size:14px;line-height:1.4;color:var(--muted)}
.card-arrow{width:42px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line);color:var(--gold);transition:transform .35s var(--ease),background-color .35s}
.card-arrow svg{width:18px;height:18px}
.card--featured{min-height:100px;padding:16px 14px 16px 16px;border-radius:24px;border-color:rgba(217,180,122,.55);background-color:var(--accent);background-image:radial-gradient(120% 140% at 0% 0%,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 45%),linear-gradient(135deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.35) 100%);box-shadow:0 24px 50px -24px rgba(142,27,55,.9),inset 0 1px 0 rgba(255,255,255,.15)}
.card--featured .card-icon{width:56px;height:56px;background:rgba(0,0,0,.2);border-color:rgba(240,215,168,.45);color:var(--gold-2)}
.card--featured .card-icon svg{width:26px;height:26px}
.card--featured .card-title{font-size:26px}
.card--featured .card-desc{color:#F1DCD8}
.card--featured .card-arrow{width:44px;height:44px;border:0;background:var(--gold-2);color:#3A0B18}
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:var(--gold-2);color:#3A0B18;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.badge svg{width:11px;height:11px}

/* Wishlist ako zabalený darček */
.wish{position:relative;overflow:hidden;padding:24px 96px 24px 22px;border-radius:26px;background:linear-gradient(160deg,#25111A 0%,#170B10 100%);border:1px solid var(--line);box-shadow:0 26px 50px -30px rgba(0,0,0,.95)}
.wish-dots{position:absolute;inset:0;background-image:url(../img/lace-net.svg);background-size:36px 36px;opacity:.09}
.wish-ribbon{position:absolute;top:0;bottom:0;right:38px;width:30px;background:linear-gradient(90deg,#4A0C1D 0%,#9E2443 30%,#C23A5A 48%,#7A1630 66%,#3E0A18 100%);box-shadow:-1px 0 0 rgba(217,180,122,.55),1px 0 0 rgba(217,180,122,.55)}
.wish-bow{position:absolute;right:9px;top:14px;width:88px;height:60px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.65))}
.wish-content{position:relative;z-index:1}
.eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.eyebrow svg{width:16px;height:16px;flex:none}
.eyebrow--brand{gap:10px}
.eyebrow-logo{display:block;height:14px;width:auto;flex:none}
.wish-title{margin:8px 0 6px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:32px;line-height:1.05;color:var(--ink)}
.wish-text{margin:0 0 16px;font-size:15px;line-height:1.6;color:var(--ink-soft);text-wrap:pretty}

/* Galéria */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:118px;gap:8px}
.tile{position:relative;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:18px;cursor:pointer;background:#1E1117;box-shadow:0 14px 28px -20px rgba(0,0,0,.9);transition:transform .35s var(--ease),border-color .35s}
.tile--big{grid-column:span 2;grid-row:span 2}
.tile--wide2{grid-column:span 2}
.tile--wide3{grid-column:span 3}
.tile--tall{grid-row:span 2}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s,opacity .5s}
.tile--blur img{filter:blur(16px) saturate(1.1) brightness(.85);transform:scale(1.12)}
.tile-veil{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle,rgba(16,10,12,.15) 0%,rgba(16,10,12,.45) 100%);color:var(--gold-2);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.7);transition:opacity .5s}
.tile-veil svg{width:22px;height:22px}
.tile--seen img{filter:none;transform:none}
.tile--seen .tile-veil{opacity:0}

/* Video */
.video-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px;padding:14px;border-radius:26px;background:var(--panel);border:1px solid var(--line);box-shadow:0 26px 50px -32px rgba(0,0,0,.95)}
.video-frame{position:relative;overflow:hidden;width:min(100%,280px);aspect-ratio:9/16;border-radius:20px;background:#0B0608;box-shadow:0 0 0 1px var(--line-strong),0 20px 40px -20px rgba(0,0,0,.9)}
.video-card--landscape .video-frame{width:100%;aspect-ratio:16/9}
.video-frame video{width:100%;height:100%;object-fit:cover;background:#0B0608}
.video-body{flex:1 1 220px;min-width:0;padding:0 6px 6px}
.video-body h3{margin:0 0 6px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:26px;line-height:1.1;color:var(--ink)}
.video-body p{margin:0 0 14px;font-size:15px;line-height:1.6;color:var(--ink-soft);text-wrap:pretty}

/* Sociálne siete */
.pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pills > li{display:flex;min-width:0}
.pills > li.is-last-odd{grid-column:span 2}
.pills > li.is-last-odd .pill{justify-content:center}
.pill{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:54px;padding:0 14px;border-radius:16px;background:var(--panel);border:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:500;text-decoration:none;transition:transform .35s var(--ease),border-color .35s,background-color .35s}
.pill svg{width:20px;height:20px;flex:none;color:var(--gold)}

/* Kontakt */
.contact{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px;border-radius:22px;background:var(--panel);border:1px solid var(--line)}
.contact-icon{width:50px;height:50px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:16px;background:rgba(142,27,55,.28);border:1px solid var(--line);color:var(--gold)}
.contact-icon svg{width:22px;height:22px}
.contact-body{flex:1 1 170px;min-width:0}
.contact-title{margin:0;font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.2;color:var(--ink)}
.contact-text{margin:0;font-size:14px;line-height:1.45;color:var(--muted)}

/* Päta */
.footer{margin-top:46px;text-align:center;color:var(--muted)}
.footer-divider{display:flex;align-items:center;justify-content:center;gap:12px}
.footer-divider span{width:70px;height:1px;background:linear-gradient(90deg,rgba(217,180,122,0),rgba(217,180,122,.7))}
.footer-divider span:last-child{background:linear-gradient(90deg,rgba(217,180,122,.7),rgba(217,180,122,0))}
.footer-divider svg{width:34px;height:24px}
.seal{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:18px auto 0;border-radius:50%;background:radial-gradient(circle at 35% 28%,#B8304F 0%,#7A1630 55%,#3E0A18 100%);color:var(--gold-2);font-family:var(--serif);font-size:21px;font-weight:600;box-shadow:0 0 0 1.5px var(--gold),0 0 0 5px var(--bg),0 0 0 6px rgba(217,180,122,.3)}
.footer-text{margin:18px auto 0;max-width:360px;font-size:13px;line-height:1.6;text-wrap:pretty}
.footer-copy{margin:10px 0 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* Spodná lišta */
.dock-wrap{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:center;padding:0 14px calc(14px + var(--safe-b));pointer-events:none;opacity:0;transform:translateY(130%);transition:transform .6s var(--ease),opacity .6s}
.dock-wrap--on{opacity:1;transform:none}
.dock-wrap--on .dock{pointer-events:auto}
.dock{width:100%;max-width:452px;min-height:62px;display:flex;align-items:center;gap:12px;padding:8px;border-radius:999px;background-color:var(--accent);background-image:linear-gradient(135deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 45%,rgba(0,0,0,.25) 100%);color:var(--ink);text-decoration:none;box-shadow:0 0 0 1px rgba(217,180,122,.55),0 22px 50px -14px rgba(0,0,0,.9);pointer-events:none}
.dock-avatar{width:46px;height:46px;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;border:1.5px solid var(--gold);background:radial-gradient(circle at 35% 28%,#9E2443 0%,#4A0C1D 100%);font-family:var(--script);font-size:21px;color:var(--gold-2)}
.dock-avatar img{width:100%;height:100%;object-fit:cover}
.dock-avatar span{padding-top:4px}
.dock-body{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.dock-title{font-size:15px;font-weight:600;letter-spacing:.03em}
.dock-sub{font-size:13px;color:#F1DCD8}
.dock-arrow{width:46px;height:46px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gold-2);color:#3A0B18}
.dock-arrow svg{width:18px;height:18px}

/* Galéria na celú obrazovku */
.lb{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:calc(76px + var(--safe-t)) 16px calc(108px + var(--safe-b));animation:fade .3s ease both;touch-action:pan-y}
.lb-backdrop{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:rgba(8,4,6,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:zoom-out}
.lb-figure{position:relative;z-index:1;width:100%;max-width:560px;height:100%;margin:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.lb-figure img{max-width:100%;max-height:100%;border-radius:20px;object-fit:contain;box-shadow:0 0 0 1px var(--line),0 30px 80px -20px rgba(0,0,0,.9);pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.lb-figure img.is-in{animation:zoom .45s var(--ease) both}
.lb-close{position:absolute;top:calc(16px + var(--safe-t));right:16px;z-index:2;width:48px;height:48px}
.lb-nav{position:absolute;left:0;right:0;bottom:calc(26px + var(--safe-b));z-index:2;display:flex;align-items:center;justify-content:center;gap:18px}
.lb-nav .icon-btn{width:52px;height:52px}
.lb-count{min-width:56px;text-align:center;color:var(--ink);font-size:14px;font-weight:500;letter-spacing:.14em}

/* Hlásenie a poznámky */
.toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-b));z-index:70;padding:12px 18px;border-radius:999px;background:var(--panel-solid);border:1px solid var(--line-strong);color:var(--ink);font-size:14px;font-weight:500;white-space:nowrap;box-shadow:0 18px 40px -16px rgba(0,0,0,.9);pointer-events:none;opacity:0;transform:translate(-50%,12px);transition:opacity .3s,transform .3s var(--ease)}
.toast--on{opacity:1;transform:translate(-50%,0)}
.dev-note{position:fixed;left:12px;right:12px;bottom:calc(92px + var(--safe-b));cursor:pointer;z-index:80;max-width:456px;margin:0 auto;padding:8px 12px;border-radius:12px;background:#FFF3CD;border:1px solid #E8C468;color:#5C4400;font-size:12px;line-height:1.45;box-shadow:0 10px 30px -14px rgba(0,0,0,.6)}
.noscript{position:relative;z-index:5;max-width:440px;margin:24px auto;padding:14px 18px;border-radius:16px;background:var(--panel-solid);border:1px solid var(--line);color:var(--ink);text-align:center}

/* ---------- Myš (počítač) ---------- */
@media (hover:hover){
  .card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 26px 50px -24px rgba(184,48,79,.55)}
  .card:hover .card-arrow{transform:translateX(4px)}
  .card:not(.card--featured):hover{background-color:rgba(44,22,32,.85)}
  .choice:hover{transform:translateY(-3px);border-color:var(--line-strong);background-color:rgba(44,22,32,.7);box-shadow:0 20px 40px -22px rgba(184,48,79,.6)}
  .btn:not(:disabled):hover{filter:brightness(1.12);transform:translateY(-2px)}
  .pill:hover{transform:translateY(-2px);border-color:var(--line-strong);background-color:rgba(44,22,32,.85)}
  .icon-btn:hover{transform:translateY(-2px);border-color:var(--line-strong)}
  .icon-btn--dark:hover{background-color:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5)}
  .tile:hover{border-color:var(--line-strong)}
  .tile:hover img{transform:scale(1.06)}
  .tile--blur:not(.tile--seen):hover img{filter:blur(6px) brightness(.95);transform:scale(1.1)}
  .wish:hover .wiggle{animation-duration:1.4s}
}
/* Dotyk */
.card:active,.choice:active,.btn:not(:disabled):active,.tile:active,.pill:active,.icon-btn:active{transform:scale(.97)}

/* ---------- Väčšie displeje ---------- */
@media (min-width:440px){
  .gallery{grid-auto-rows:138px}
}
@media (min-width:768px){
  .page{padding-top:calc(28px + var(--safe-t))}
  .banner{height:266px}
}
/* Veľmi úzke telefóny */
@media (max-width:359px){
  .brand-name{display:none}
  .gate-card{padding-left:18px;padding-right:18px}
  .wish{padding-right:84px}
}

/* ---------- Plynulé prechody (View Transitions) ---------- */
::view-transition-old(root),::view-transition-new(root){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}

/* ---------- Stránka 404 ---------- */
.nf{position:relative;z-index:2;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 20px;text-align:center}
.nf-code{font-family:var(--script);font-size:96px;line-height:1;color:var(--gold)}
.nf-text{margin:0;max-width:320px;color:var(--ink-soft)}

/* ---------- Bez animácií (nastavenie alebo systémová voľba) ---------- */
.still *,.still *::before,.still *::after{animation:none!important;transition:none!important}
.still .petal{display:none}
.still .word{opacity:0}
.still .w0{opacity:1}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
  .petal{display:none}
  .word{opacity:0}
  .w0{opacity:1}
}
