:root{
  --bg:#080808;
  --bg-soft:#0d0b0c;
  --panel:#111011;
  --red:#e0002b;
  --red-bright:#ff1744;
  --red-dark:#780017;
  --red-deep:#310008;
  --text:#f5f1ef;
  --muted:#a69b98;
  --muted-2:#716966;
  --line:rgba(255,255,255,.12);
  --line-red:rgba(224,0,43,.38);
  --container:1240px;
  --display:"Inter",Arial,Helvetica,sans-serif;
  --sans:"Inter",Arial,Helvetica,sans-serif;
  --ease:cubic-bezier(.2,.75,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;width:100%}
::selection{background:var(--red);color:#fff}
.container{width:min(calc(100% - 72px),var(--container));margin-inline:auto}
.section{padding:120px 0}
.eyebrow{margin:0 0 22px;color:#c8bdba;font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.eyebrow>span{display:inline-block;width:23px;height:1px;margin:0 10px 3px 0;background:var(--red)}
h1,h2,h3,p{margin-top:0}
h2{margin:0;font-family:var(--display);font-size:clamp(54px,6vw,88px);font-weight:500;line-height:.98;letter-spacing:-.04em}
h2 em{color:var(--red-bright);font-style:normal;font-weight:500}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:transform .22s ease,background .22s ease,border-color .22s ease,color .22s ease}
.btn:hover{transform:translateY(-2px)}
.btn--red{background:var(--red);color:#fff;box-shadow:0 12px 40px rgba(224,0,43,.17)}
.btn--red:hover{background:var(--red-bright)}
.btn--ghost{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(8,8,8,.2)}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.04)}
.text-link{color:#c9bfbb;font-size:13px}
.text-link:hover{color:#fff}

/* Reusable red silhouette made from the supplied artwork */
.silhouette{background:linear-gradient(90deg,var(--red-dark),var(--red-bright));-webkit-mask:var(--silhouette-image,url('assets/silhouette.png')) center/contain no-repeat;mask:var(--silhouette-image,url('assets/silhouette.png')) center/contain no-repeat}

/* Wordmark */
.wordmark{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:end;width:max-content;line-height:1}
.wordmark span{grid-column:1/3;margin-bottom:4px;color:#b8aeaa;font-size:8px;font-weight:700;letter-spacing:.32em}
.wordmark strong{font-family:var(--display);font-size:29px;font-weight:500;letter-spacing:-.04em}
.wordmark small{margin:0 0 3px 9px;color:var(--red-bright);font-size:8px;font-weight:700;letter-spacing:.26em}

/* Header */
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 42px;border-bottom:1px solid transparent;transition:height .25s ease,background .25s ease,border-color .25s ease,backdrop-filter .25s ease}
.site-header.scrolled{height:72px;background:rgba(8,8,8,.91);border-color:var(--line);backdrop-filter:blur(18px)}
.desktop-nav{display:flex;align-items:center;gap:31px}
.desktop-nav a{position:relative;color:#d2c9c6;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.desktop-nav a::before{content:"";position:absolute;left:0;bottom:-9px;width:0;height:2px;background:var(--red);transition:width .22s ease}
.desktop-nav a:hover{color:#fff}.desktop-nav a:hover::before{width:100%}
.header-phone{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;font-size:13px;font-weight:600}
.header-phone span{margin-bottom:2px;color:var(--red-bright);font-size:8px;font-weight:700;letter-spacing:.22em}
.menu-button{display:none;justify-self:end;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer}
.menu-button span{display:block;width:24px;height:1px;margin:6px auto;background:#fff;transition:transform .25s ease}
.menu-button.active span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-button.active span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{display:none}

/* Hero */
.hero{position:relative;min-height:790px;height:100svh;overflow:hidden;background:#080808}
/* HERO FOTO: vlož vlastní fotografii jako assets/hero.jpg. Pokud soubor chybí, zobrazí se ilustrační fallback. */
.hero__photo{position:absolute;inset:0;background-image:var(--hero-image,url('assets/uploads/hero.jpg'));background-position:58% center;background-size:cover;background-repeat:no-repeat;filter:saturate(.75) contrast(1.04);transform:scale(1.03);animation:heroMove 18s ease-in-out infinite alternate}
.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,7,.98) 0%,rgba(7,7,7,.88) 44%,rgba(7,7,7,.36) 72%,rgba(7,7,7,.5) 100%),linear-gradient(0deg,rgba(8,8,8,.98) 0%,transparent 55%,rgba(8,8,8,.35) 100%)}
.hero__red-glow{position:absolute;right:-8vw;top:0;width:48vw;height:78%;background:radial-gradient(circle,rgba(224,0,43,.31),rgba(224,0,43,.08) 42%,transparent 70%);filter:blur(16px)}
.hero__silhouette{position:absolute;z-index:1;right:-2vw;top:19%;width:min(49vw,760px);height:33%;opacity:.6;filter:drop-shadow(0 0 18px rgba(255,23,68,.28));transform:rotate(-1.5deg)}
.hero__content{position:relative;z-index:3;height:calc(100% - 90px);display:grid;grid-template-columns:minmax(0,1fr) 245px;align-items:end;gap:70px;padding-top:132px;padding-bottom:65px}
.hero__main{max-width:790px}
.hero h1{margin:0;font-family:var(--display);font-size:clamp(72px,8.8vw,132px);font-weight:500;line-height:.84;letter-spacing:-.055em}
.hero h1 small{display:block;margin-bottom:10px;color:#e3d9d5;font-family:var(--display);font-size:clamp(29px,3vw,44px);font-weight:500;letter-spacing:-.025em}
.hero h1 em{display:inline-block;margin-left:.08em;color:var(--red-bright);font-size:.48em;font-style:normal;letter-spacing:-.02em}
.hero__lead{max-width:680px;margin:34px 0 0;color:#d1c6c2;font-size:18px;line-height:1.78}
.hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:31px}
.hero__hours{padding:24px 0 0;border-top:2px solid var(--red);margin-bottom:1px}
.hero__hours .eyebrow{margin-bottom:10px;color:#d6cbc7}
.hero__hours>strong{display:block;margin-bottom:18px;font-family:var(--display);font-size:55px;font-weight:500;line-height:1}
.hero__hours>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-top:1px solid rgba(255,255,255,.12);font-size:11px;letter-spacing:.08em}
.hero__hours>div span{color:#8f8581}.hero__hours>div b{font-weight:600}
.hero__facts{position:absolute;z-index:4;left:0;right:0;bottom:0;background:rgba(8,8,8,.88);border-top:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px)}
.hero__facts-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.hero__facts-grid>div{display:grid;grid-template-columns:26px 1fr;gap:11px;align-items:center;min-height:90px;padding:0 25px;border-right:1px solid var(--line)}
.hero__facts-grid>div:first-child{padding-left:0}.hero__facts-grid>div:last-child{border-right:0;padding-right:0}
.hero__facts-grid>div>span{color:var(--red-bright);font-size:9px;font-weight:700;letter-spacing:.12em}
.hero__facts-grid p{margin:0;color:#958b87;font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em}
.hero__facts-grid strong{display:block;margin-bottom:3px;color:#f4edeb;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none}
@keyframes heroMove{from{transform:scale(1.03)}to{transform:scale(1.065) translateX(-.5%)}}

/* Club */
.club{background:var(--bg)}
.club__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:11vw;align-items:start}
.section-title{position:sticky;top:108px}
.club__copy{max-width:620px;padding-top:60px}
.club__copy .lead{margin-bottom:29px;color:#f1e9e6;font-family:var(--display);font-size:35px;line-height:1.35;letter-spacing:-.02em}
.club__copy>p:not(.lead){color:#b8ada9;font-size:17px;line-height:1.88}
.club__accent{display:flex;align-items:center;gap:13px;margin-top:40px;color:#918783;font-size:10px;font-weight:700;letter-spacing:.16em}
.club__accent span{width:54px;height:2px;background:var(--red)}

/* Interior */
.interior{background:#0d0b0c;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:1fr 390px;align-items:end;gap:70px;margin-bottom:55px}
.section-head>p{margin:0 0 7px;color:#afa4a0;font-size:16px;line-height:1.82}
.gallery{display:grid;grid-template-columns:1.27fr .73fr;gap:12px;min-height:690px}
.gallery figure{position:relative;margin:0;overflow:hidden;background:#181416}
.gallery__large{height:690px}.gallery__side{display:grid;grid-template-rows:1fr 1fr;gap:12px}.gallery__side figure{min-height:0}
.gallery img{height:100%;object-fit:cover;filter:saturate(.78) brightness(.7) contrast(1.05);transition:transform .9s var(--ease),filter .4s ease}
.gallery figure:hover img{transform:scale(1.025);filter:saturate(.92) brightness(.78)}
.gallery figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.82),transparent 48%);pointer-events:none}
.gallery figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;padding-top:13px;border-top:1px solid rgba(255,255,255,.25);font-family:var(--display);font-size:23px}
.gallery figcaption span{margin-right:10px;color:var(--red-bright);font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.14em}

/* Services */
.services{position:relative;overflow:hidden;background:linear-gradient(112deg,#180005 0%,#0c090a 55%,#0a0909 100%)}
.services::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(224,0,43,.08),transparent 38%);pointer-events:none}
.services__silhouette{position:absolute;left:-13vw;bottom:-1%;width:min(62vw,920px);height:42%;opacity:.18;transform:rotate(3deg)}
.services__layout{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;gap:9vw;align-items:start}
.services__heading{position:sticky;top:108px}
.services__heading>p:last-child{max-width:430px;margin:27px 0 0;color:#b5a5a2;font-size:16px;line-height:1.8}
.service-list{border-top:1px solid rgba(255,255,255,.18)}
.service-list article{display:grid;grid-template-columns:45px 1fr;gap:25px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.service-list article>span{padding-top:7px;color:var(--red-bright);font-size:10px;font-weight:700;letter-spacing:.13em}
.service-list h3{margin:0 0 8px;font-family:var(--display);font-size:34px;font-weight:500;letter-spacing:-.02em}
.service-list p{max-width:580px;margin:0;color:#b9aeaa;font-size:16px;line-height:1.75}

/* Red band */
.red-band{position:relative;min-height:590px;display:flex;align-items:center;overflow:hidden;background:var(--red)}
.red-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,0,7,.32),rgba(42,0,7,0) 58%),linear-gradient(0deg,rgba(42,0,7,.2),transparent)}
.red-band__texture{position:absolute;inset:0;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}
.red-band__silhouette{position:absolute;right:-7vw;top:20%;width:min(58vw,900px);height:46%;background:#fff;opacity:.28}
.red-band__inner{position:relative;z-index:2;padding-block:95px}
.red-band .eyebrow{color:#2b0007}
.red-band h2{font-size:clamp(64px,8vw,112px);color:#fff}
.red-band h2 em{color:#250007}
.red-band__inner>p:last-child{margin:31px 0 0;color:#3c000a;font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}

/* Hours */
.hours{background:#090909}
.hours__layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:start}
.hours__panel{border-top:2px solid var(--red)}
.hours__row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:31px 0;border-bottom:1px solid var(--line)}
.hours__row span{color:#b9aeaa;font-size:14px;font-weight:600;letter-spacing:.06em}
.hours__row strong{font-family:var(--display);font-size:42px;font-weight:500;letter-spacing:-.025em}
.hours__panel>p{margin:27px 0 0;color:#978d89;font-size:13px;line-height:1.75}

/* Jobs */
.jobs{background:#0d0b0c;border-top:1px solid var(--line)}
.jobs__layout{display:grid;grid-template-columns:1fr .9fr;gap:9vw;align-items:center}
.jobs__visual{position:relative;height:610px;overflow:hidden;background:#16070a}
.jobs__photo{position:absolute;inset:0;background:var(--jobs-image) center/cover no-repeat;filter:saturate(.72) brightness(.57)}
.jobs__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.8),transparent 60%),linear-gradient(90deg,rgba(224,0,43,.2),transparent)}
.jobs__badge{position:absolute;left:31px;bottom:30px;display:grid;grid-template-columns:auto auto;align-items:end}
.jobs__badge span{grid-column:1/3;margin-bottom:5px;font-size:9px;font-weight:700;letter-spacing:.28em}.jobs__badge strong{font-family:var(--display);font-size:65px;font-weight:500;line-height:.8}.jobs__badge small{margin:0 0 4px 12px;color:var(--red-bright);font-size:9px;font-weight:700;letter-spacing:.24em}
.jobs__copy p:not(.eyebrow){max-width:550px;margin:31px 0;color:#b5aaa6;font-size:16px;line-height:1.84}

/* Contact */
.contact{background:#080808}
.contact__top{display:grid;grid-template-columns:1fr auto;align-items:end;gap:60px;margin-bottom:58px}
.contact__big-phone{display:flex;flex-direction:column;align-items:flex-end;padding-bottom:7px;font-family:var(--display);font-size:36px;line-height:1}
.contact__big-phone span{margin-bottom:10px;color:var(--red-bright);font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.2em}
.contact__grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:55px;align-items:stretch}
.contact__details{border-top:2px solid var(--red)}
.contact__row{display:grid;grid-template-columns:95px 1fr;gap:22px;padding:23px 0;border-bottom:1px solid var(--line)}
.contact__row>span{padding-top:4px;color:#918783;font-size:10px;font-weight:700;letter-spacing:.18em}
.contact__row p{margin:0;color:#e8dfdc;font-size:16px;line-height:1.78}
.contact__row p a{display:block}.contact__row p small{display:block;margin:2px 0 10px;color:#8d8480;font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.contact__row a:hover{color:#fff}
.contact__actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
.map{position:relative;min-height:500px;overflow:hidden;background:#141112}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(1) invert(.9) contrast(.86);opacity:.73}
.map::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(224,0,43,.3)}
.map__label{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;padding:13px 15px;background:rgba(8,8,8,.9);border-left:3px solid var(--red);backdrop-filter:blur(10px)}
.map__label strong{font-size:12px;font-weight:600}.map__label span{margin-top:3px;color:#aaa09c;font-size:10px;letter-spacing:.07em}

/* Footer */
.footer{border-top:1px solid var(--line);background:#070707}
.footer__main{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:40px;padding:52px 0}
.wordmark--footer strong{font-size:36px}.footer__main>p{margin:0;color:#968c88;font-size:13px;line-height:1.8}.footer__phone{justify-self:end;font-family:var(--display);font-size:28px}
.footer__bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;padding:21px 0 28px;border-top:1px solid var(--line);color:#817773;font-size:10px;letter-spacing:.06em}.footer__bottom a:nth-child(2){text-align:center}.footer__bottom a:last-child{text-align:right}

/* Age gate */
.age-gate{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow:hidden;padding:25px;background:#080808;transition:opacity .38s ease,visibility .38s ease}
.age-gate.hidden{opacity:0;visibility:hidden;pointer-events:none}
.age-gate__glow{position:absolute;right:-12vw;top:-15%;width:70vw;height:90%;background:radial-gradient(circle,rgba(224,0,43,.3),transparent 65%);filter:blur(20px)}
.age-gate__silhouette{position:absolute;right:-5vw;top:27%;width:min(62vw,920px);height:31%;opacity:.57}
.age-gate__panel{position:relative;width:min(100%,920px);min-height:520px;display:grid;grid-template-columns:260px 1fr;border:1px solid rgba(255,255,255,.16);background:rgba(8,8,8,.66);backdrop-filter:blur(10px)}
.wordmark--gate{align-self:start;margin:40px}.wordmark--gate strong{font-size:35px}
.age-gate__content{align-self:center;padding:55px 55px 55px 0}
.age-gate h1{margin:0;font-family:var(--display);font-size:clamp(61px,8vw,103px);font-weight:500;line-height:.95;letter-spacing:-.045em}.age-gate h1 em{display:block;color:var(--red-bright);font-style:normal}.age-gate__text{margin:24px 0 0;color:#a99e9a;font-size:14px}.age-gate__actions{display:flex;align-items:center;gap:22px;margin-top:31px}

/* Motion */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .72s var(--ease),transform .72s var(--ease)}
.reveal--delay{transition-delay:.1s}.reveal--delay-2{transition-delay:.18s}.reveal.visible{opacity:1;transform:none}

@media (max-width:1080px){
  .site-header{grid-template-columns:1fr auto;padding:0 26px}.desktop-nav,.header-phone{display:none}.menu-button{display:block}
  .mobile-menu{position:fixed;z-index:90;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:17px;background:rgba(8,8,8,.985);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s ease,visibility .25s ease,transform .25s ease}.mobile-menu::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 25%,rgba(224,0,43,.16),transparent 45%);pointer-events:none}.mobile-menu.open{opacity:1;visibility:visible;transform:none}.mobile-menu>a:not(.mobile-menu__phone){position:relative;font-family:var(--display);font-size:42px}.mobile-menu__phone{position:relative;margin-top:18px;color:var(--red-bright);font-size:14px}
  .hero__content{grid-template-columns:1fr}.hero__hours{display:none}.hero__silhouette{right:-16vw;width:68vw;opacity:.5}.hero__facts-grid{grid-template-columns:repeat(2,1fr)}.hero__facts-grid>div:nth-child(2){border-right:0}.hero__facts-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.hero{height:auto;min-height:880px}.hero__content{min-height:700px;height:auto;padding-bottom:190px}.hero__facts-grid>div{min-height:72px}
  .club__grid,.services__layout,.hours__layout,.jobs__layout,.contact__grid{grid-template-columns:1fr;gap:55px}.section-title,.services__heading{position:static}.club__copy{padding-top:0;max-width:760px}.services__heading>p:last-child{max-width:580px}
  .gallery{min-height:620px}.gallery__large{height:620px}
  .contact__top{grid-template-columns:1fr}.contact__big-phone{align-items:flex-start}.map{min-height:430px}
}

@media (max-width:760px){
  .container{width:min(calc(100% - 32px),var(--container))}.section{padding:88px 0}.site-header{height:74px;padding:0 16px}.site-header.scrolled{height:66px}.wordmark strong{font-size:25px}
  h2{font-size:clamp(48px,14.5vw,69px)}.eyebrow{margin-bottom:17px}
  .hero{min-height:830px}.hero__photo{background-position:65% center}.hero__shade{background:linear-gradient(90deg,rgba(7,7,7,.97),rgba(7,7,7,.65)),linear-gradient(0deg,rgba(7,7,7,.98),transparent 56%)}.hero__red-glow{right:-40vw;width:100vw}.hero__silhouette{right:-29vw;top:15%;width:112vw;height:27%;opacity:.48}.hero__content{min-height:650px;padding-top:105px;padding-bottom:178px}.hero h1{font-size:clamp(66px,20vw,92px)}.hero h1 small{font-size:29px}.hero h1 em{display:block;margin:12px 0 0;font-size:.43em}.hero__lead{margin-top:28px;font-size:16px}.hero__actions{display:grid;grid-template-columns:1fr;max-width:330px}.hero__facts-grid{grid-template-columns:1fr 1fr}.hero__facts-grid>div{grid-template-columns:22px 1fr;min-height:74px;padding:0 12px}.hero__facts-grid>div:first-child{padding-left:0}.hero__facts-grid>div:nth-child(3){padding-left:0}
  .club__grid{gap:37px}.club__copy .lead{font-size:30px}
  .section-head{display:block;margin-bottom:37px}.section-head h2{margin-bottom:25px}.section-head>p{max-width:100%}
  .gallery{display:block;min-height:0}.gallery__large{height:460px;margin-bottom:10px!important}.gallery__side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:none;gap:10px}.gallery__side figure{height:250px}
  .services__layout{gap:37px}.services__silhouette{left:-35vw;width:130vw;height:28%;opacity:.14}.service-list article{grid-template-columns:30px 1fr;gap:13px;padding:22px 0}.service-list h3{font-size:29px}
  .red-band{min-height:500px}.red-band__silhouette{right:-28vw;width:125vw;height:34%;top:18%;opacity:.24}.red-band__inner{padding-block:80px}.red-band h2{font-size:clamp(56px,16vw,78px)}
  .hours__layout{gap:38px}.hours__row{display:block;padding:23px 0}.hours__row span{display:block;margin-bottom:7px}.hours__row strong{font-size:32px}
  .jobs__layout{gap:42px}.jobs__visual{height:470px}.jobs__badge strong{font-size:54px}.jobs__copy p:not(.eyebrow){margin:25px 0}
  .contact__top{gap:35px;margin-bottom:38px}.contact__big-phone{font-size:27px}.contact__grid{gap:36px}.contact__row{grid-template-columns:75px 1fr;gap:12px}.contact__actions{display:grid;grid-template-columns:1fr}.map{min-height:360px}
  .footer__main{grid-template-columns:1fr;gap:27px;padding:42px 0}.footer__phone{justify-self:start}.footer__bottom{display:flex;flex-direction:column;gap:9px}.footer__bottom a:nth-child(2),.footer__bottom a:last-child{text-align:left}
  .age-gate{padding:14px}.age-gate__silhouette{right:-31vw;top:25%;width:130vw;height:26%;opacity:.48}.age-gate__panel{min-height:500px;grid-template-columns:1fr;padding:27px 23px}.wordmark--gate{margin:0}.age-gate__content{padding:48px 0 0;align-self:center}.age-gate h1{font-size:64px}.age-gate__actions{align-items:flex-start;flex-direction:column;gap:16px}.age-gate__actions .btn{width:100%}
}

@media (max-width:470px){
  .hero{min-height:850px}.hero__facts-grid{grid-template-columns:1fr}.hero__facts-grid>div{min-height:58px;border-right:0!important;border-bottom:1px solid var(--line)!important;padding:0!important}.hero__facts-grid>div:last-child{border-bottom:0!important}.hero__content{padding-bottom:280px}.hero__facts-grid p{font-size:10px}.hero__facts-grid strong{font-size:12px}
  .gallery__large{height:410px}.gallery__side{grid-template-columns:1fr}.gallery__side figure{height:260px}.contact__big-phone{font-size:24px}.btn{width:100%}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ===== Sjednocená typografie =====
   Méně skoků mezi velikostmi a čitelnější poměry na desktopu i mobilu. */
body{font-size:16px;line-height:1.7}
.eyebrow{font-size:11px;letter-spacing:.18em}
h2{font-size:clamp(46px,5vw,64px);font-weight:600;line-height:1.04;letter-spacing:-.03em}
.btn{font-size:12px}
.wordmark strong{font-size:28px;font-weight:600}
.desktop-nav a{font-size:12px}
.header-phone{font-size:14px}

.hero h1{font-size:clamp(68px,7vw,96px);font-weight:600;line-height:.92;letter-spacing:-.04em}
.hero h1 small{font-size:clamp(26px,2.4vw,34px);font-weight:600}
.hero h1 em{font-size:.5em}
.hero__lead{font-size:17px;line-height:1.7}
.hero__hours>strong{font-size:44px;font-weight:600}
.hero__hours>div{font-size:12px}
.hero__facts-grid p{font-size:12px}
.hero__facts-grid strong{font-size:14px}

.club__copy .lead{font-family:var(--sans);font-size:20px;font-weight:600;line-height:1.6;letter-spacing:0}
.club__copy>p:not(.lead),
.section-head>p,
.services__heading>p:last-child,
.service-list p,
.jobs__copy p:not(.eyebrow),
.contact__row p{font-size:16px;line-height:1.75}
.club__accent{font-size:11px}
.gallery figcaption{font-family:var(--sans);font-size:18px;font-weight:600}
.gallery figcaption span{font-size:10px}
.service-list h3{font-family:var(--sans);font-size:23px;font-weight:600;letter-spacing:-.01em}
.service-list article>span{font-size:11px}

.red-band h2{font-size:clamp(48px,5.8vw,72px);font-weight:600}
.red-band__inner>p:last-child{font-size:12px}
.hours__row span{font-size:15px}
.hours__row strong{font-family:var(--sans);font-size:28px;font-weight:600;letter-spacing:-.01em}
.hours__panel>p{font-size:14px}
.jobs__badge strong{font-size:48px;font-weight:600}
.contact__big-phone{font-family:var(--sans);font-size:28px;font-weight:600}
.contact__row>span{font-size:11px}
.contact__row p small{font-size:11px}
.footer__main>p{font-size:14px}
.footer__phone{font-family:var(--sans);font-size:22px;font-weight:600}
.footer__bottom{font-size:11px}
.age-gate h1{font-size:clamp(52px,6vw,76px);font-weight:600;line-height:1}
.age-gate__text{font-size:15px}

@media (max-width:1080px){
  .mobile-menu>a:not(.mobile-menu__phone){font-family:var(--sans);font-size:34px;font-weight:600}
}

@media (max-width:760px){
  body{font-size:16px}
  h2{font-size:clamp(38px,10.5vw,52px)}
  .wordmark strong{font-size:25px}
  .hero h1{font-size:clamp(54px,15vw,72px)}
  .hero h1 small{font-size:24px}
  .hero__lead{font-size:16px}
  .club__copy .lead{font-size:19px}
  .service-list h3{font-size:21px}
  .red-band h2{font-size:clamp(42px,11.5vw,58px)}
  .hours__row strong{font-size:25px}
  .jobs__badge strong{font-size:42px}
  .contact__big-phone{font-size:23px}
  .age-gate h1{font-size:52px}
}

/* HERO title — stejná velikost, čistší a výraznější hierarchie */
.hero__title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:max-content;
  max-width:100%;
  margin:0;
  font-family:var(--display);
  font-size:clamp(68px,7vw,96px);
  font-weight:600;
  line-height:.83;
  letter-spacing:-.05em;
}
.hero__title-line{
  display:block;
  font:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  white-space:nowrap;
}
.hero__title-line--soft{
  color:#d9cfcb;
}
.hero__title-line--accent{
  position:relative;
  color:var(--red-bright);
  padding-right:.56em;
}
.hero__title-line--accent::after{
  content:"";
  position:absolute;
  left:calc(100% - .34em);
  top:55%;
  width:clamp(48px,5vw,78px);
  height:2px;
  background:var(--red-bright);
  opacity:.78;
}
.hero__lead{
  max-width:610px;
  margin-top:30px;
}

@media (max-width:760px){
  .hero__title{
    font-size:clamp(50px,14.2vw,70px);
    line-height:.88;
    letter-spacing:-.045em;
  }
  .hero__title-line--accent{
    padding-right:0;
  }
  .hero__title-line--accent::after{
    display:none;
  }
  .hero__lead{
    margin-top:25px;
  }
}

/* ===== 2026-08-17: výraznější NIGHT / EROTIC CLUB styl ===== */
/* Dominantní titulky držíme konzistentně v uppercase. */
.hero__title-line,
h2,
.service-list h3,
.wordmark strong,
.jobs__badge strong,
.map__label strong,
.age-gate h1{
  text-transform:uppercase;
}

/* Jemně utažené mezery pomáhají uppercase titulkům působit jako branding, ne běžný text. */
h2{letter-spacing:-.045em}
.service-list h3{letter-spacing:.015em}
.wordmark strong{letter-spacing:-.025em}

/* Klub: druhá silueta jako velký, téměř neviditelný watermark. */
.club{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.club>.container{position:relative;z-index:2}
.club__silhouette{
  position:absolute;
  z-index:0;
  right:-10vw;
  bottom:-3%;
  width:min(54vw,820px);
  height:43%;
  opacity:.095;
  transform:rotate(-4deg);
  filter:drop-shadow(0 0 34px rgba(255,23,68,.22));
  pointer-events:none;
}
.club__glow{
  position:absolute;
  z-index:0;
  right:-18vw;
  bottom:-32%;
  width:58vw;
  height:68%;
  background:radial-gradient(circle,rgba(224,0,43,.13),rgba(224,0,43,.035) 42%,transparent 70%);
  filter:blur(28px);
  pointer-events:none;
}

/* Interiér dostává lehký červený ambient glow, aby fotky lépe navazovaly na erotický vizuál. */
.interior{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 13%,rgba(224,0,43,.095),transparent 30%),
    var(--bg-soft);
}
.interior::before{
  content:"18+  /  AFTER DARK";
  position:absolute;
  right:-1.2vw;
  top:68px;
  color:rgba(255,255,255,.025);
  font-size:clamp(58px,8.5vw,140px);
  font-weight:700;
  line-height:1;
  letter-spacing:-.06em;
  white-space:nowrap;
  pointer-events:none;
}
.interior>.container{position:relative;z-index:1}

/* Nabídka práce: silueta přímo přes fotografii, ale pouze jako barevný detail. */
.jobs__visual{isolation:isolate}
.jobs__photo{z-index:0}
.jobs__shade{z-index:1}
.jobs__silhouette{
  position:absolute;
  z-index:2;
  right:-10%;
  top:8%;
  width:86%;
  height:46%;
  opacity:.42;
  transform:rotate(-3deg);
  filter:drop-shadow(0 0 24px rgba(255,23,68,.28));
  pointer-events:none;
}
.jobs__badge{z-index:3}

/* O něco smyslnější červené světlo v CTA pásu bez přidávání dalších karet/obrázků. */
.red-band{
  box-shadow:inset 0 1px rgba(255,255,255,.07), inset 0 -1px rgba(0,0,0,.28);
}
.red-band::after{
  content:"";
  position:absolute;
  inset:auto 8% 0 auto;
  width:34vw;
  height:70%;
  background:radial-gradient(circle,rgba(255,255,255,.12),transparent 64%);
  filter:blur(32px);
  pointer-events:none;
}

@media (max-width:1080px){
  .club__silhouette{right:-22vw;width:76vw;height:37%;opacity:.08}
  .jobs__silhouette{right:-15%;width:100%;opacity:.36}
}

@media (max-width:760px){
  h2{letter-spacing:-.035em}
  .club__silhouette{right:-48vw;bottom:1%;width:135vw;height:25%;opacity:.07}
  .club__glow{right:-55vw;width:130vw;height:46%}
  .interior::before{top:42px;right:-28vw;font-size:24vw;opacity:.8}
  .jobs__silhouette{right:-28%;top:10%;width:135%;height:39%;opacity:.31}
}

/* ===== 2026-08-17: tučnější dominantní typografie ===== */
/* Hlavní headline styl — výraznější, ale bez zbytečného ztučnění běžných odstavců. */
.hero__title,
.hero h1,
h2,
.age-gate h1{
  font-weight:700;
}

.hero h1 small,
.wordmark strong,
.hero__hours>strong,
.club__copy .lead,
.gallery figcaption,
.service-list h3,
.red-band h2,
.hours__row strong,
.jobs__badge strong,
.contact__big-phone,
.footer__phone,
.map__label strong{
  font-weight:700;
}

/* Trochu pevnější UI texty, aby vedle silných headlineů nezanikaly. */
.desktop-nav a,
.header-phone,
.hero__facts-grid strong,
.hours__row span,
.contact__row p,
.mobile-menu>a:not(.mobile-menu__phone){
  font-weight:650;
}

@media (max-width:760px){
  .hero__title,
  .hero h1,
  h2,
  .service-list h3,
  .red-band h2,
  .age-gate h1{
    font-weight:700;
  }
}


/* ===== 2026-08-17: o něco větší typografie ===== */
/* Lehké zvětšení klíčových textů, aby web působil výrazněji, ale pořád zůstal čistý a čitelný. */
body{font-size:18px}
h2{font-size:clamp(60px,6.3vw,96px)}
.wordmark strong{font-size:31px}
.hero h1{font-size:clamp(80px,9.4vw,146px)}
.hero h1 small{font-size:clamp(34px,3.35vw,50px)}
.hero__lead{font-size:19px}
.hero__hours>strong{font-size:60px}
.club__copy .lead{font-size:38px}
.club__copy>p:not(.lead),
.section-head>p,
.services__heading>p:last-child,
.service-list p,
.jobs__copy p:not(.eyebrow),
.contact__row p{font-size:17.5px}
.gallery figcaption{font-size:25px}
.service-list h3{font-size:37px}
.red-band h2{font-size:clamp(70px,8.4vw,118px)}
.hours__row strong{font-size:46px}
.contact__big-phone{font-size:40px}
.footer__phone{font-size:30px}
.age-gate h1{font-size:clamp(66px,8.2vw,110px)}

@media (max-width:760px){
  body{font-size:17px}
  h2{font-size:clamp(52px,15vw,74px)}
  .hero h1{font-size:clamp(70px,21vw,98px)}
  .hero h1 small{font-size:31px}
  .hero__lead{font-size:17px}
  .club__copy .lead{font-size:32px}
  .service-list h3{font-size:31px}
  .red-band h2{font-size:clamp(60px,17vw,84px)}
  .hours__row strong{font-size:34px}
  .contact__big-phone{font-size:25px}
  .age-gate h1{font-size:58px}
}


/* ===== 2026-08-17: refined classic typography ===== */
:root{
  --display:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}

/* Klasičtější, čistší sazba a lehce menší měřítko než v předchozí verzi. */
body{font-size:17px;letter-spacing:.002em}
h2{font-size:clamp(56px,5.9vw,88px);letter-spacing:-.035em}
.wordmark strong{font-size:29px;letter-spacing:-.025em}
.hero h1{font-size:clamp(74px,8.8vw,136px);letter-spacing:-.045em}
.hero h1 small{font-size:clamp(31px,3.05vw,46px);letter-spacing:-.015em}
.hero__lead{font-size:18px;line-height:1.72}
.hero__hours>strong{font-size:56px}
.club__copy .lead{font-size:35px;line-height:1.32}
.club__copy>p:not(.lead),
.section-head>p,
.services__heading>p:last-child,
.service-list p,
.jobs__copy p:not(.eyebrow),
.contact__row p{font-size:16.5px}
.gallery figcaption{font-size:23px}
.service-list h3{font-size:34px;letter-spacing:-.012em}
.red-band h2{font-size:clamp(64px,7.8vw,108px);letter-spacing:-.04em}
.hours__row strong{font-size:42px}
.contact__big-phone{font-size:36px}
.footer__phone{font-size:28px}
.age-gate h1{font-size:clamp(60px,7.7vw,100px);letter-spacing:-.04em}

@media (max-width:760px){
  body{font-size:16px}
  h2{font-size:clamp(48px,14vw,68px)}
  .hero h1{font-size:clamp(66px,19.5vw,90px)}
  .hero h1 small{font-size:29px}
  .hero__lead{font-size:16px}
  .club__copy .lead{font-size:30px}
  .service-list h3{font-size:28px}
  .red-band h2{font-size:clamp(54px,15.5vw,76px)}
  .hours__row strong{font-size:31px}
  .contact__big-phone{font-size:24px}
  .age-gate h1{font-size:54px}
}


/* ===== 2026-08-17: lepší čitelnost hero fotky + sjednocení fontu sekčních headingů ===== */
/* Hero fotka o něco víc vynikne: méně těžký overlay, lehce vyšší jas a saturace. */
.hero__photo{
  background-position:62% center;
  filter:saturate(.92) brightness(.86) contrast(1.06);
}
.hero__shade{
  background:
    linear-gradient(90deg,rgba(7,7,7,.92) 0%,rgba(7,7,7,.76) 42%,rgba(7,7,7,.28) 74%,rgba(7,7,7,.40) 100%),
    linear-gradient(0deg,rgba(8,8,8,.86) 0%,transparent 58%,rgba(8,8,8,.24) 100%);
}
.hero__red-glow{opacity:.82}

/* Trochu menší texty než v minulé verzi. */
body{font-size:16.5px}
h2{font-size:clamp(52px,5.6vw,82px)}
.hero h1{font-size:clamp(70px,8.2vw,122px)}
.hero__title{font-size:clamp(70px,8.2vw,122px)}
.hero h1 small{font-size:clamp(29px,2.9vw,42px)}
.hero__lead{font-size:17px}
.club__copy .lead{font-size:32px}
.service-list h3{font-size:31px}
.red-band h2{font-size:clamp(60px,7.2vw,98px)}
.hours__row strong{font-size:39px}
.contact__big-phone{font-size:33px}
.age-gate h1{font-size:clamp(56px,7.1vw,92px)}

/* MÍSTO PRO / VEČERNÍ RELAX a podobné headingy budou mít naprosto stejný font. */
h2,
h2 em,
.hero__title,
.hero__title-line,
.hero__title-line--soft,
.hero__title-line--accent{
  font-family:var(--display);
  font-style:normal;
  font-weight:700;
  letter-spacing:inherit;
}
h2 em{
  display:block;
  font-size:1em;
  line-height:inherit;
  color:var(--red-bright);
}

@media (max-width:760px){
  .hero__photo{
    background-position:68% center;
    filter:saturate(.9) brightness(.82) contrast(1.05);
  }
  .hero__shade{
    background:
      linear-gradient(90deg,rgba(7,7,7,.94),rgba(7,7,7,.58)),
      linear-gradient(0deg,rgba(7,7,7,.90),transparent 56%);
  }
  body{font-size:16px}
  h2{font-size:clamp(44px,12.5vw,62px)}
  .hero h1,
  .hero__title{font-size:clamp(60px,18vw,84px)}
  .hero h1 small{font-size:27px}
  .hero__lead{font-size:15.5px}
  .club__copy .lead{font-size:27px}
  .service-list h3{font-size:26px}
  .red-band h2{font-size:clamp(50px,14.2vw,70px)}
  .hours__row strong{font-size:29px}
  .contact__big-phone{font-size:22px}
  .age-gate h1{font-size:50px}
}


/* ===== 2026-08-17: fix galerie po nahrání vlastních fotek ===== */
/* Drží sekci Interiér & atmosféra ve stabilním layoutu i při různých poměrech nahraných obrázků. */
.gallery{
  align-items:stretch;
  min-height:0;
}
.gallery__large{
  height:690px !important;
  min-height:690px;
}
.gallery__side{
  min-height:690px;
  grid-template-rows:repeat(2, minmax(0, 1fr));
}
.gallery__side figure{
  min-height:0;
  height:100%;
}
.gallery figure{
  position:relative;
  display:block;
  overflow:hidden;
  background:#080808;
}
.gallery img{
  width:100%;
  height:100% !important;
  object-fit:cover;
  object-position:center center;
  background:#080808;
}

@media (max-width:760px){
  .gallery,
  .gallery__side{
    min-height:0;
  }
  .gallery__large{
    height:420px !important;
    min-height:420px;
  }
  .gallery__side figure{
    height:250px;
  }
}


/* ===== 2026-08-17: galerie s fixní velikostí a bezpečným vložením jakékoli fotky ===== */
/* Každý box má pevnou výšku a obrázek se do něj vždy celý vejde. */
.gallery{
  min-height:690px;
  align-items:stretch;
}
.gallery__large{
  height:690px !important;
  min-height:690px;
}
.gallery__side{
  min-height:690px;
  grid-template-rows:repeat(2, minmax(0, 1fr));
}
.gallery__side figure{
  height:100%;
  min-height:0;
}
.gallery figure{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#050505;
}
.gallery img{
  width:100%;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center;
  background:#050505;
  padding:18px;
}
.gallery figure::after{
  background:linear-gradient(0deg,rgba(8,8,8,.9),rgba(8,8,8,.22) 22%,transparent 46%);
}
.gallery figcaption{
  left:18px;
  right:18px;
  bottom:14px;
}

@media (max-width:760px){
  .gallery,
  .gallery__side{
    min-height:0;
  }
  .gallery__large{
    height:420px !important;
    min-height:420px;
  }
  .gallery__side{
    grid-template-columns:1fr;
    grid-template-rows:none;
    gap:10px;
  }
  .gallery__side figure{
    height:250px;
  }
  .gallery img{
    padding:14px;
  }
}


/* ===== 2026-08-17: čistá galerie bez černého overlaye ===== */
/* Fixní rozměry zůstávají, ale obrázek vždy vyplní celý box. */
.gallery figure{
  background:#0b090a;
}
.gallery img{
  width:100%;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center;
  padding:0 !important;
  background:transparent !important;
  filter:saturate(.92) brightness(.96) contrast(1.02) !important;
}
.gallery figure:hover img{
  transform:scale(1.018);
  filter:saturate(1) brightness(1) contrast(1.02) !important;
}
/* Pouze velmi jemné ztmavení úplně dole pod popiskem. */
.gallery figure::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:28%;
  background:linear-gradient(0deg,rgba(5,5,5,.54),rgba(5,5,5,.16) 55%,transparent 100%) !important;
  pointer-events:none;
}

@media (max-width:760px){
  .gallery img{padding:0 !important}
}


/* ===== 2026-08-17: FINAL HARD FIX galerie =====
   Důležité: pravé figure NESMÍ mít height:100%, protože v CSS Gridu tím každý
   zabral výšku celé galerie. To způsobovalo obří prázdnou plochu / přetečení. */
.gallery{
  display:grid !important;
  grid-template-columns:minmax(0,1.27fr) minmax(0,.73fr) !important;
  grid-template-rows:690px !important;
  gap:12px !important;
  height:690px !important;
  min-height:690px !important;
  overflow:hidden !important;
  align-items:stretch !important;
}
.gallery__large{
  width:100% !important;
  height:690px !important;
  min-height:0 !important;
  align-self:stretch !important;
}
.gallery__side{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr) !important;
  gap:12px !important;
  width:100% !important;
  height:690px !important;
  min-height:0 !important;
  overflow:hidden !important;
}
.gallery__side figure{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:stretch !important;
}
.gallery figure{
  position:relative !important;
  margin:0 !important;
  overflow:hidden !important;
  background:#0b090a !important;
}
.gallery figure > img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  filter:saturate(.96) brightness(.98) contrast(1.02) !important;
}
.gallery figcaption{
  position:absolute !important;
  z-index:3 !important;
}
.gallery figure::after{
  z-index:2 !important;
  height:23% !important;
  background:linear-gradient(0deg,rgba(5,5,5,.48),rgba(5,5,5,.08) 58%,transparent 100%) !important;
}

@media (max-width:760px){
  .gallery{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  .gallery__large{
    height:420px !important;
    min-height:420px !important;
    margin-bottom:10px !important;
  }
  .gallery__side{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:250px 250px !important;
    height:auto !important;
    min-height:0 !important;
    gap:10px !important;
    overflow:visible !important;
  }
  .gallery__side figure{
    height:250px !important;
    min-height:250px !important;
  }
}


/* ===== 2026-08-17: HERO / RED SYSTEM / AFTER DARK polish v4 ===== */
:root{
  /* Jediná hlavní akcentní červená pro tlačítka, linky, čísla a zvýrazněný text. */
  --accent-red:#e0002b;
  --red:var(--accent-red);
  --red-bright:var(--accent-red);
  --line-red:rgba(224,0,43,.38);
}

/* Akcenty drží jednu a tu samou červenou. Hover mění pouze jas, ne odstín. */
.btn--red,
.header-phone{
  background:var(--accent-red);
  color:#fff;
}
.btn--red:hover,
.header-phone:hover{
  background:var(--accent-red);
  filter:brightness(1.09);
}
.hero__title-line--accent,
h2 em,
.wordmark small,
.service-list article>span,
.gallery figcaption span,
.contact__big-phone span,
.mobile-menu__phone,
.hero__facts-grid>div>span{
  color:var(--accent-red);
}
.desktop-nav a::before,
.eyebrow>span,
.club__accent span{
  background:var(--accent-red);
}

/* Navbar: NONSTOP + telefon jako jasné CTA tlačítko. */
.header-phone{
  min-height:44px;
  padding:0 16px;
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 30px rgba(224,0,43,.20);
  font-size:13px;
  font-weight:700;
  letter-spacing:.015em;
  line-height:1;
  transition:transform .22s ease,filter .22s ease,box-shadow .22s ease;
}
.header-phone:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(224,0,43,.27)}
.header-phone span{
  margin:0;
  color:#fff;
  opacity:.72;
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
}

/* HERO: čistší horní label, o trochu menší title a silueta položená přímo na NIGHT CLUB. */
.hero__content{
  grid-template-columns:minmax(0,1fr) 285px;
  gap:54px;
  height:calc(100% - 112px);
  padding-bottom:52px;
}
.hero__main{max-width:760px}
.hero__age{
  width:max-content;
  margin-bottom:14px;
  color:#fff;
  font-size:11px;
  letter-spacing:.22em;
}
.hero__title{
  position:relative;
  isolation:isolate;
  padding-top:clamp(50px,5vw,70px);
  font-size:clamp(64px,7.35vw,110px) !important;
  line-height:.90;
  letter-spacing:-.042em;
}
.hero__title-line{position:relative;z-index:2}
.hero__silhouette{
  position:absolute;
  z-index:1;
  left:4%;
  right:auto;
  top:0;
  width:94%;
  height:clamp(76px,8vw,116px);
  opacity:.74;
  transform:none;
  background:var(--accent-red);
  -webkit-mask-position:center bottom;
  mask-position:center bottom;
  -webkit-mask-size:contain;
  mask-size:contain;
  filter:drop-shadow(0 0 16px rgba(224,0,43,.25));
  pointer-events:none;
}

/* Otevírací doba v hero je nyní samostatná čitelná karta. */
.hero__hours{
  margin:0 0 4px;
  padding:18px 18px 16px;
  border:1px solid rgba(255,255,255,.16);
  border-top:3px solid var(--accent-red);
  background:rgba(8,8,8,.67);
  box-shadow:0 18px 55px rgba(0,0,0,.26);
  backdrop-filter:blur(14px);
}
.hero__hours .eyebrow{
  display:inline-flex;
  align-items:center;
  margin:0 0 15px;
  padding:6px 9px;
  background:var(--accent-red);
  color:#fff;
  font-size:9px;
  letter-spacing:.18em;
}
.hero__hours>strong{
  margin-bottom:17px;
  color:#fff;
  font-size:50px;
  line-height:.92;
}
.hero__hours>div{
  padding:11px 0;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:11px;
}
.hero__hours>div span{color:#aaa09c}
.hero__hours>div b{color:#fff;font-weight:750}

/* Čtyři informační karty pod hero jsou větší a čitelnější. */
.hero__facts{background:rgba(8,8,8,.91)}
.hero__facts-grid>div{
  min-height:112px;
  grid-template-columns:30px 1fr;
  gap:14px;
  padding:0 30px;
}
.hero__facts-grid>div>span{font-size:11px}
.hero__facts-grid p{font-size:12px;line-height:1.55}
.hero__facts-grid strong{margin-bottom:4px;font-size:15px;line-height:1.25}

/* AFTER DARK: jemnější vínový podklad a celá silueta opřená o spodní hranu sekce. */
.red-band{
  min-height:560px;
  background:
    radial-gradient(circle at 78% 28%,rgba(224,0,43,.16),transparent 34%),
    linear-gradient(112deg,#321016 0%,#681326 52%,#46101d 100%);
}
.red-band::before{
  background:
    linear-gradient(90deg,rgba(8,8,8,.28),transparent 58%),
    linear-gradient(0deg,rgba(8,8,8,.18),transparent 55%);
}
.red-band__texture{opacity:.045}
.red-band::after{opacity:.36}
.red-band__silhouette{
  right:1.5vw;
  top:auto;
  bottom:0;
  width:min(64vw,930px);
  height:58%;
  background:#fff;
  opacity:.14;
  transform:none;
  -webkit-mask-position:center bottom;
  mask-position:center bottom;
  -webkit-mask-size:contain;
  mask-size:contain;
  filter:none;
}
.red-band .eyebrow{color:rgba(255,255,255,.68)}
.red-band h2{color:#fff}
.red-band h2 em{color:#fff;opacity:.68}
.red-band__inner>p:last-child{color:rgba(255,255,255,.72)}

@media (max-width:1080px){
  .hero__content{
    grid-template-columns:1fr;
    min-height:760px;
    height:auto;
    gap:28px;
    padding-bottom:220px;
  }
  .hero__hours{
    display:block;
    width:min(100%,420px);
    margin-top:2px;
  }
  .hero__hours>strong{font-size:42px}
  .hero__facts-grid>div{min-height:92px;padding:0 22px}
  .red-band__silhouette{right:-5vw;width:min(86vw,860px);height:50%}
}

@media (max-width:760px){
  .hero{min-height:1040px}
  .hero__content{
    min-height:820px;
    padding-top:96px;
    padding-bottom:205px;
    gap:24px;
  }
  .hero__age{margin-bottom:8px}
  .hero__title{
    padding-top:44px;
    font-size:clamp(52px,15.4vw,72px) !important;
    line-height:.90;
  }
  .hero__silhouette{
    left:1%;
    width:99%;
    height:74px;
    opacity:.70;
  }
  .hero__lead{margin-top:22px}
  .hero__hours{
    max-width:330px;
    padding:14px 15px 12px;
  }
  .hero__hours .eyebrow{margin-bottom:11px;font-size:8px}
  .hero__hours>strong{margin-bottom:12px;font-size:35px}
  .hero__hours>div{padding:8px 0;font-size:10px}
  .hero__facts-grid>div{
    min-height:88px;
    grid-template-columns:25px 1fr;
    gap:10px;
    padding:0 14px;
  }
  .hero__facts-grid strong{font-size:13px}
  .hero__facts-grid p{font-size:10.5px}
  .red-band{
    min-height:520px;
    background:
      radial-gradient(circle at 86% 24%,rgba(224,0,43,.14),transparent 38%),
      linear-gradient(120deg,#321016,#621324 62%,#42101b);
  }
  .red-band__silhouette{
    right:-4vw;
    bottom:0;
    width:122vw;
    height:42%;
    opacity:.12;
  }
  .red-band__inner{padding-block:74px 155px}
}

@media (max-width:470px){
  .hero{min-height:1140px}
  .hero__content{padding-bottom:335px}
  .hero__facts-grid>div{min-height:70px !important}
  .hero__title{font-size:clamp(49px,14.8vw,66px) !important}
  .hero__silhouette{height:66px}
  .red-band__silhouette{width:138vw;height:36%;right:-7vw}
  .red-band__inner{padding-bottom:145px}
}

@media (max-width:1080px){
  .mobile-menu__phone{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:20px;
    padding:0 20px;
    background:var(--accent-red);
    color:#fff;
    font-weight:750;
    letter-spacing:.025em;
    box-shadow:0 12px 34px rgba(224,0,43,.22);
  }
}


/* ===== 2026-08-17 v5: jemnější doladění podle připomínek ===== */
/* Hero silueta leží nad textem NIGHT CLUB, neprochází skrz písmo. */
.hero__title{
  padding-top:clamp(58px,5.2vw,74px);
}
.hero__title-line{z-index:2}
.hero__silhouette{
  z-index:3;
  left:7%;
  top:-4px;
  width:88%;
  height:clamp(52px,6vw,84px);
  opacity:.82;
  -webkit-mask-position:center bottom;
  mask-position:center bottom;
}

/* Hero hours karta je větší a bez červené cedulky. */
.hero__hours{
  width:min(100%,320px);
  padding:26px 24px 22px;
  border:1px solid rgba(255,255,255,.16);
  border-top:1px solid rgba(255,255,255,.16);
  background:rgba(10,10,10,.72);
  box-shadow:0 20px 54px rgba(0,0,0,.30);
}
.hero__hours .eyebrow{
  display:block;
  margin:0 0 16px;
  padding:0;
  background:none;
  color:#e7dfdc;
  font-size:10px;
  letter-spacing:.22em;
}
.hero__hours>strong{font-size:56px}
.hero__hours>div{padding:12px 0;font-size:12px}

/* Interiér & atmosféra: bez textových overlayů přes fotky. */
.gallery figcaption{display:none !important;}
.gallery figure::after{background:linear-gradient(0deg,rgba(8,8,8,.20),transparent 34%);}

/* Co u nás najdete: silueta je posazená nízko, jako by ležela na podlaze sekce. */
.services{isolation:isolate;}
.services__layout{position:relative;z-index:2;}
.services__silhouette{
  left:auto;
  right:-4vw;
  bottom:0;
  width:min(60vw,900px);
  height:38%;
  opacity:.12;
  transform:none;
  -webkit-mask-position:center bottom;
  mask-position:center bottom;
  filter:none;
}

/* Benátky - večerní relax: silueta celá a bez useknuté hlavy, položená nízko u titulku. */
.club__silhouette{
  right:-1vw;
  bottom:0;
  width:min(56vw,860px);
  height:40%;
  opacity:.12;
  transform:none;
  -webkit-mask-position:center bottom;
  mask-position:center bottom;
  filter:none;
}
.club__glow{
  right:-10vw;
  bottom:-24%;
  width:52vw;
  height:58%;
}

/* After dark zachovat jemné, ale siluetu položit na spodní hranu. */
.red-band__silhouette{
  right:2vw;
  bottom:0;
  top:auto;
  width:min(62vw,900px);
  height:52%;
  opacity:.13;
  -webkit-mask-position:center bottom;
  mask-position:center bottom;
}

/* Nabídka práce: bez siluety, jen čistá foto plocha. */
.jobs__silhouette{display:none !important;}

@media (max-width:1080px){
  .services__silhouette{right:-12vw;width:min(78vw,820px);height:34%;opacity:.10;}
  .club__silhouette{right:-10vw;width:min(76vw,800px);height:34%;opacity:.10;}
  .hero__hours{width:min(100%,400px);padding:24px 22px 20px;}
}

@media (max-width:760px){
  .hero__title{padding-top:50px;}
  .hero__silhouette{
    left:4%;
    top:-1px;
    width:92%;
    height:56px;
    opacity:.8;
  }
  .hero__hours{
    max-width:360px;
    padding:18px 18px 16px;
  }
  .hero__hours .eyebrow{font-size:9px;margin-bottom:12px;}
  .hero__hours>strong{font-size:40px;}
  .hero__hours>div{font-size:11px;}
  .services__silhouette{
    right:-24vw;
    width:128vw;
    height:27%;
    opacity:.09;
  }
  .club__silhouette{
    right:-28vw;
    width:132vw;
    height:24%;
    opacity:.09;
  }
  .red-band__silhouette{
    right:-2vw;
    width:126vw;
    height:36%;
    opacity:.11;
  }
}

@media (max-width:470px){
  .hero__silhouette{height:50px;}
  .services__silhouette{right:-30vw;height:23%;}
  .club__silhouette{right:-34vw;height:22%;}
}


/* ===== 2026-08-17 v6: větší hero silueta + bez mobilního CTA v navbaru ===== */
.hero__silhouette{
  left:-1.2%;
  top:-8px;
  width:108%;
  height:clamp(60px,6.8vw,96px);
  opacity:.84;
}

@media (max-width:760px){
  .hero__silhouette{
    left:-5%;
    top:-4px;
    width:118%;
    height:62px;
    opacity:.82;
  }
}

@media (max-width:470px){
  .hero__silhouette{
    left:-7%;
    width:122%;
    height:56px;
  }
}

/* Mobilní kontakt CTA v navbar/menu schovat úplně. */
.mobile-menu__phone{display:none !important;}


/* ===== 2026-08-17 v7: tvrdý fix siluety přes NIGHT CLUB a skrytí top kontaktu na mobilu ===== */
/* Silueta v hero: natáhnout opravdu výrazněji od N po B a položit ji nad titul. */
.hero__title{
  overflow:visible;
  padding-top:clamp(64px,5.4vw,82px);
}
.hero__silhouette{
  left:-12% !important;
  top:-14px !important;
  width:132% !important;
  height:clamp(68px,7.4vw,108px) !important;
  opacity:.90 !important;
  z-index:3 !important;
  -webkit-mask-position:center bottom !important;
  mask-position:center bottom !important;
  -webkit-mask-size:126% auto !important;
  mask-size:126% auto !important;
  filter:drop-shadow(0 0 14px rgba(224,0,43,.18)) !important;
}

/* Schovat horní červený kontakt na tabletu a mobilu opravdu natvrdo. */
@media (max-width:1080px){
  .site-header{
    grid-template-columns:1fr auto !important;
  }
  .header-phone{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
  .mobile-menu__phone{display:none !important;}
}

@media (max-width:760px){
  .site-header{
    padding:0 16px !important;
    grid-template-columns:1fr auto !important;
  }
  .hero__silhouette{
    left:-18% !important;
    top:-10px !important;
    width:146% !important;
    height:74px !important;
    opacity:.88 !important;
    -webkit-mask-size:132% auto !important;
    mask-size:132% auto !important;
  }
}

@media (max-width:470px){
  .hero__silhouette{
    left:-21% !important;
    top:-8px !important;
    width:152% !important;
    height:70px !important;
    -webkit-mask-size:136% auto !important;
    mask-size:136% auto !important;
  }
}


/* ===== 2026-08-17 v8: silueta vrácená nad samotný nadpis, ne přes celý hero ===== */
.hero__title{
  overflow:visible;
  width:max-content;
  max-width:100%;
  padding-top:clamp(62px,5.2vw,78px);
}
.hero__silhouette{
  left:0 !important;
  top:-6px !important;
  width:100% !important;
  height:clamp(56px,6.2vw,88px) !important;
  opacity:.84 !important;
  z-index:3 !important;
  transform:none !important;
  -webkit-mask-position:center bottom !important;
  mask-position:center bottom !important;
  -webkit-mask-size:100% auto !important;
  mask-size:100% auto !important;
  filter:drop-shadow(0 0 12px rgba(224,0,43,.16)) !important;
}

@media (max-width:760px){
  .hero__title{padding-top:48px !important;}
  .hero__silhouette{
    left:-1% !important;
    top:-2px !important;
    width:102% !important;
    height:54px !important;
    opacity:.82 !important;
    -webkit-mask-size:100% auto !important;
    mask-size:100% auto !important;
  }
}

@media (max-width:470px){
  .hero__silhouette{
    left:-2% !important;
    width:104% !important;
    height:50px !important;
  }
}


/* ===== 2026-08-17 v9: oprava useknuté horní části siluety ===== */
.hero__title{
  padding-top:clamp(70px,5.8vw,88px) !important;
}
.hero__silhouette{
  top:8px !important;
  height:clamp(60px,6.5vw,92px) !important;
  -webkit-mask-position:center center !important;
  mask-position:center center !important;
}

@media (max-width:760px){
  .hero__title{padding-top:56px !important;}
  .hero__silhouette{
    top:6px !important;
    height:58px !important;
    -webkit-mask-position:center center !important;
    mask-position:center center !important;
  }
}

@media (max-width:470px){
  .hero__title{padding-top:52px !important;}
  .hero__silhouette{
    top:4px !important;
    height:54px !important;
  }
}


/* ===== 2026-08-17 v10: silueta dostává víc horního prostoru, aby nebyla useklá ===== */
.hero__title{
  padding-top:clamp(86px,6.4vw,104px) !important;
}
.hero__silhouette{
  top:12px !important;
  height:clamp(74px,7vw,104px) !important;
  opacity:.84 !important;
  -webkit-mask-position:center center !important;
  mask-position:center center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
}

@media (max-width:760px){
  .hero__title{padding-top:64px !important;}
  .hero__silhouette{
    top:8px !important;
    height:64px !important;
    -webkit-mask-size:contain !important;
    mask-size:contain !important;
  }
}

@media (max-width:470px){
  .hero__title{padding-top:58px !important;}
  .hero__silhouette{
    top:6px !important;
    height:58px !important;
  }
}


/* ===== 2026-08-17 v11: jemné roztažení siluety do šířky + trochu výšky ===== */
.hero__silhouette{
  left:-6% !important;
  width:112% !important;
  height:clamp(78px,7.2vw,108px) !important;
  top:12px !important;
  -webkit-mask-size:108% auto !important;
  mask-size:108% auto !important;
}

@media (max-width:760px){
  .hero__silhouette{
    left:-7% !important;
    width:114% !important;
    height:68px !important;
    top:8px !important;
    -webkit-mask-size:110% auto !important;
    mask-size:110% auto !important;
  }
}

@media (max-width:470px){
  .hero__silhouette{
    left:-8% !important;
    width:116% !important;
    height:62px !important;
    top:6px !important;
    -webkit-mask-size:112% auto !important;
    mask-size:112% auto !important;
  }
}


/* ===== 2026-08-17 v12: jemnější usazení siluety - bez ořezu a přesněji nad N až B ===== */
.hero__title{
  padding-top:clamp(92px,6.8vw,112px) !important;
}
.hero__silhouette{
  left:-3.5% !important;
  width:107% !important;
  top:18px !important;
  height:clamp(72px,6.8vw,98px) !important;
  opacity:.84 !important;
  transform:none !important;
  -webkit-mask-position:center center !important;
  mask-position:center center !important;
  -webkit-mask-size:103% auto !important;
  mask-size:103% auto !important;
  filter:drop-shadow(0 0 10px rgba(224,0,43,.14)) !important;
}

@media (max-width:760px){
  .hero__title{padding-top:68px !important;}
  .hero__silhouette{
    left:-4.5% !important;
    width:109% !important;
    top:12px !important;
    height:62px !important;
    -webkit-mask-size:104% auto !important;
    mask-size:104% auto !important;
  }
}

@media (max-width:470px){
  .hero__title{padding-top:62px !important;}
  .hero__silhouette{
    left:-5% !important;
    width:110% !important;
    top:10px !important;
    height:58px !important;
    -webkit-mask-size:104% auto !important;
    mask-size:104% auto !important;
  }
}


/* ===== 2026-08-17 v17: HERO SILHOUETTE — final, no CSS mask clipping =====
   Hero uses the real transparent image instead of a mask. This guarantees
   that the full head/hair is always rendered; object-fit:fill scales the
   complete artwork into the desired shallow hero shape without cropping. */
.hero__title{
  position:relative !important;
  overflow:visible !important;
  padding-top:clamp(90px,6.8vw,112px) !important;
}
.hero__silhouette-image{
  position:absolute !important;
  z-index:3 !important;
  left:-3.5% !important;
  top:15px !important;
  width:107% !important;
  height:clamp(88px,7.2vw,112px) !important;
  max-width:none !important;
  object-fit:fill !important;
  object-position:center !important;
  opacity:.88 !important;
  pointer-events:none !important;
  user-select:none !important;
  filter:brightness(0) saturate(100%) invert(14%) sepia(99%) saturate(6250%) hue-rotate(343deg) brightness(89%) contrast(116%) drop-shadow(0 0 8px rgba(224,0,43,.12)) !important;
}

@media (max-width:760px){
  .hero__title{padding-top:68px !important;}
  .hero__silhouette-image{
    left:-4.5% !important;
    top:10px !important;
    width:109% !important;
    height:68px !important;
  }
}

@media (max-width:470px){
  .hero__title{padding-top:62px !important;}
  .hero__silhouette-image{
    left:-5% !important;
    top:8px !important;
    width:110% !important;
    height:62px !important;
  }
}


/* ===== 2026-08-17 v18: finální dorovnání siluet ===== */
/* HERO — silueta trochu výš, o něco vyšší a opřená o text, ne v textu. */
.hero__title{
  padding-top:clamp(104px,7.5vw,132px) !important;
}
.hero__silhouette-image{
  left:-3.5% !important;
  top:2px !important;
  width:107% !important;
  height:clamp(104px,8vw,132px) !important;
  object-fit:fill !important;
  object-position:center !important;
}

/* Všechny sekční siluety sjednotit: stejná orientace, celá figura, bez useknutí. */
.club__silhouette,
.services__silhouette,
.red-band__silhouette{
  top:auto !important;
  bottom:0 !important;
  height:auto !important;
  aspect-ratio:1578 / 412 !important;
  transform:none !important;
  -webkit-mask-position:center center !important;
  mask-position:center center !important;
  -webkit-mask-size:100% auto !important;
  mask-size:100% auto !important;
  filter:none !important;
}

.services__silhouette{
  left:auto !important;
  right:-4vw !important;
  width:min(60vw,900px) !important;
  opacity:.12 !important;
}

.club__silhouette{
  right:-1vw !important;
  width:min(56vw,860px) !important;
  opacity:.12 !important;
}

.red-band__silhouette{
  right:2vw !important;
  width:min(62vw,900px) !important;
  opacity:.13 !important;
}

@media (max-width:1080px){
  .hero__title{padding-top:86px !important;}
  .hero__silhouette-image{
    top:2px !important;
    height:86px !important;
  }
  .services__silhouette{right:-12vw !important;width:min(78vw,820px) !important;opacity:.10 !important;}
  .club__silhouette{right:-10vw !important;width:min(76vw,800px) !important;opacity:.10 !important;}
  .red-band__silhouette{right:-4vw !important;width:min(86vw,860px) !important;opacity:.11 !important;}
}

@media (max-width:760px){
  .hero__title{padding-top:76px !important;}
  .hero__silhouette-image{
    left:-4.5% !important;
    top:0 !important;
    width:109% !important;
    height:76px !important;
  }
  .services__silhouette{right:-22vw !important;width:126vw !important;opacity:.09 !important;}
  .club__silhouette{right:-26vw !important;width:130vw !important;opacity:.09 !important;}
  .red-band__silhouette{right:-2vw !important;width:124vw !important;opacity:.10 !important;}
}

@media (max-width:470px){
  .hero__title{padding-top:68px !important;}
  .hero__silhouette-image{
    left:-5% !important;
    top:0 !important;
    width:110% !important;
    height:68px !important;
  }
  .services__silhouette{right:-28vw !important;width:132vw !important;}
  .club__silhouette{right:-32vw !important;width:136vw !important;}
  .red-band__silhouette{right:-6vw !important;width:134vw !important;}
}


/* ===== 2026-08-17 v19: sjednocení siluet ve 3 sekcích =====
   CLUB + SERVICES mají teď úplně stejnou polohu/ležení jako RED BAND. */
.club__silhouette,
.services__silhouette,
.red-band__silhouette{
  top:auto !important;
  bottom:0 !important;
  right:2vw !important;
  left:auto !important;
  width:min(62vw,900px) !important;
  height:auto !important;
  aspect-ratio:1578 / 412 !important;
  transform:none !important;
  -webkit-mask-position:center center !important;
  mask-position:center center !important;
  -webkit-mask-size:100% auto !important;
  mask-size:100% auto !important;
  filter:none !important;
}

.club__silhouette,
.services__silhouette{
  opacity:.13 !important;
}

.red-band__silhouette{
  opacity:.13 !important;
}

@media (max-width:1080px){
  .club__silhouette,
  .services__silhouette,
  .red-band__silhouette{
    right:-4vw !important;
    width:min(86vw,860px) !important;
    opacity:.11 !important;
  }
}

@media (max-width:760px){
  .club__silhouette,
  .services__silhouette,
  .red-band__silhouette{
    right:-2vw !important;
    width:124vw !important;
    opacity:.10 !important;
  }
}

@media (max-width:470px){
  .club__silhouette,
  .services__silhouette,
  .red-band__silhouette{
    right:-6vw !important;
    width:134vw !important;
  }
}


/* ===== 2026-08-17 v20: čitelnější malé texty + mobilní otevírací doba v hero ===== */
/* Lehké zvětšení drobných textů, aby byly čitelnější i pro starší lidi. */
.eyebrow{font-size:12px !important; letter-spacing:.19em !important;}
.btn{font-size:13px !important;}
.text-link{font-size:14px !important;}
.desktop-nav a{font-size:12.5px !important;}
.header-phone{font-size:14px !important;}
.hero__facts-grid p{font-size:13px !important;}
.hero__facts-grid strong{font-size:15px !important;}
.club__accent{font-size:12px !important;}
.service-list article>span{font-size:12px !important;}
.red-band__inner>p:last-child{font-size:13px !important;}
.hours__panel>p{font-size:15px !important;}
.contact__row>span{font-size:12px !important;}
.contact__row p small{font-size:12px !important;}
.map__label strong{font-size:13px !important;}
.map__label span{font-size:11px !important;}
.footer__main>p{font-size:15px !important;}
.footer__bottom{font-size:12px !important;}

/* Hero hours — jemně zvětšené menší texty a řádky s hodinami. */
.hero__hours .eyebrow{font-size:11px !important;}
.hero__hours>strong{font-size:58px !important;}
.hero__hours>div{font-size:13px !important; padding:13px 0 !important;}
.hero__hours>div span{font-size:13px !important;}
.hero__hours>div b{font-size:16px !important; font-weight:800 !important;}

/* Mobilní otevírací doba pod CTA tlačítky. */
.hero__hours-mobile{display:none;}

@media (max-width:760px){
  .hero__hours-mobile{
    display:block;
    width:min(100%,340px);
    margin-top:18px;
    padding:16px 16px 14px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(10,10,10,.64);
    box-shadow:0 18px 40px rgba(0,0,0,.22);
    backdrop-filter:blur(10px);
  }
  .hero__hours-mobile .eyebrow{
    margin-bottom:10px;
    color:#e7dfdc;
    font-size:10px !important;
  }
  .hero__hours-mobile strong{
    display:block;
    margin-bottom:10px;
    color:#fff;
    font-family:var(--display);
    font-size:36px;
    font-weight:700;
    line-height:.95;
  }
  .hero__hours-mobile div{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:10px 0;
    border-top:1px solid rgba(255,255,255,.12);
    font-size:12px;
    letter-spacing:.06em;
  }
  .hero__hours-mobile div span{color:#b0a5a1; font-size:12px;}
  .hero__hours-mobile div b{color:#fff; font-size:15px; font-weight:800;}
}

@media (max-width:470px){
  .hero__hours-mobile{width:100%;}
  .hero__hours-mobile strong{font-size:34px;}
  .hero__hours-mobile div{font-size:11px;}
  .hero__hours-mobile div span{font-size:11px;}
  .hero__hours-mobile div b{font-size:14px;}
}


/* ===== 2026-08-17 v21: sjednocená hladká erotická červená ===== */
:root{
  --erotic-red:#d10f36;
  --erotic-red-soft:#b90c2f;
  --erotic-red-glow:rgba(209,15,54,.22);
  --erotic-red-glow-strong:rgba(209,15,54,.34);
  --red:var(--erotic-red) !important;
  --red-bright:var(--erotic-red) !important;
  --red-dark:var(--erotic-red-soft) !important;
  --red-deep:#2a070f !important;
  --accent-red:var(--erotic-red) !important;
  --line-red:rgba(209,15,54,.34) !important;
}

/* Hlavní červené akcenty */
.btn--red,
.header-phone,
.mobile-menu__phone{
  background:linear-gradient(180deg, var(--erotic-red) 0%, var(--erotic-red-soft) 100%) !important;
  color:#fff !important;
  border-color:rgba(209,15,54,.48) !important;
  box-shadow:0 12px 34px var(--erotic-red-glow) !important;
}
.btn--red:hover,
.header-phone:hover,
.mobile-menu__phone:hover{
  background:linear-gradient(180deg, var(--erotic-red) 0%, var(--erotic-red-soft) 100%) !important;
  filter:brightness(1.06) saturate(1.04) !important;
  box-shadow:0 16px 40px var(--erotic-red-glow-strong) !important;
}

.hero__title-line--accent,
h2 em,
.wordmark small,
.service-list article>span,
.gallery figcaption span,
.contact__big-phone span,
.hero__facts-grid>div>span,
.age-gate h1 em,
.hero__hours-mobile div b,
.hero__hours>div b{
  color:var(--erotic-red) !important;
}

.desktop-nav a::before,
.eyebrow>span,
.club__accent span,
.hero__title-line--accent::after{
  background:var(--erotic-red) !important;
}

/* Siluety a červené efekty do stejné lajny */
.silhouette{
  background:linear-gradient(90deg, var(--erotic-red-soft), var(--erotic-red)) !important;
}
.hero__silhouette-image{
  filter:brightness(0) saturate(100%) invert(16%) sepia(87%) saturate(4353%) hue-rotate(338deg) brightness(91%) contrast(102%) drop-shadow(0 0 8px rgba(209,15,54,.14)) !important;
}
.hero__red-glow{
  background:radial-gradient(circle, rgba(209,15,54,.24), rgba(209,15,54,.08) 42%, transparent 70%) !important;
}
.club__glow{
  background:radial-gradient(circle, rgba(209,15,54,.12), rgba(209,15,54,.035) 42%, transparent 70%) !important;
}
.services::before{
  background:linear-gradient(90deg, rgba(209,15,54,.08), transparent 38%) !important;
}
.interior{
  background:radial-gradient(circle at 92% 13%, rgba(209,15,54,.085), transparent 30%), var(--bg-soft) !important;
}
.red-band{
  background:radial-gradient(circle at 78% 28%, rgba(209,15,54,.16), transparent 34%), linear-gradient(112deg, #2d0b14 0%, #5b1021 52%, #3b0b17 100%) !important;
}

/* Další jemné červené prvky */
.contact__details,
.hours__panel,
.hero__hours{
  border-top-color:var(--erotic-red) !important;
}
.map::after{
  border-color:rgba(209,15,54,.28) !important;
}
.map__label{
  border-left-color:var(--erotic-red) !important;
}
::selection{
  background:var(--erotic-red) !important;
}


/* ===== v22: otevírací časy mají zůstat bílé, ne červené ===== */
.hero__hours>div b,
.hero__hours-mobile div b{
  color:#fff !important;
}


/* ===== v23: finální fix hero hodin na mobilu ===== */
/* Desktop: jen desktopová karta. */
@media (min-width:761px){
  .hero__hours{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    overflow:visible !important;
  }
  .hero__hours-mobile{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
}

/* Mobil: jen mobilní karta pod CTA tlačítky. */
@media (max-width:760px){
  .hero__actions{margin-bottom:0 !important;}
  .hero__hours{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .hero__hours *{display:none !important;}

  .hero__hours-mobile{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    min-height:unset !important;
    max-height:none !important;
    overflow:visible !important;
    width:min(100%,340px) !important;
    margin-top:18px !important;
    margin-bottom:0 !important;
    padding:16px 16px 14px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    background:rgba(10,10,10,.72) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.22) !important;
    backdrop-filter:blur(10px) !important;
  }
}

@media (max-width:470px){
  .hero__hours-mobile{
    width:100% !important;
  }
}

/* ===== 2026-08-18 v24: notebook responsiveness + visible After Dark silhouette + colored map ===== */
/* Notebook/tablet landscape: keep opening-hours card beside the hero copy instead of
   letting the <=1080px single-column rule push it under the fold/facts strip. */
@media (min-width:761px) and (max-width:1120px){
  .hero{
    height:100svh !important;
    min-height:760px !important;
  }
  .hero__content{
    height:calc(100% - 90px) !important;
    min-height:0 !important;
    grid-template-columns:minmax(0,1fr) minmax(250px,285px) !important;
    align-items:center !important;
    gap:30px !important;
    padding-top:104px !important;
    padding-bottom:72px !important;
  }
  .hero__main{max-width:650px !important;}
  .hero__title{padding-top:78px !important;}
  .hero__silhouette-image{
    top:0 !important;
    height:78px !important;
  }
  .hero__title-line{font-size:clamp(62px,8.1vw,88px) !important;}
  .hero__lead{
    max-width:610px !important;
    margin-top:24px !important;
    font-size:16px !important;
    line-height:1.62 !important;
  }
  .hero__actions{margin-top:22px !important;}
  .hero__hours{
    display:block !important;
    align-self:center !important;
    width:100% !important;
    margin:0 !important;
    padding:22px 20px 18px !important;
  }
  .hero__hours .eyebrow{margin-bottom:12px !important;font-size:10px !important;}
  .hero__hours>strong{margin-bottom:14px !important;font-size:48px !important;}
  .hero__hours>div{padding:10px 0 !important;font-size:12px !important;}
  .hero__hours>div span{font-size:12px !important;}
  .hero__hours>div b{font-size:14px !important;}
  .hero__facts-grid>div{min-height:90px !important;}
}

/* Short notebook screens: shave a little vertical space while keeping both closing rows visible. */
@media (min-width:761px) and (max-width:1120px) and (max-height:800px){
  .hero{min-height:720px !important;}
  .hero__content{
    padding-top:88px !important;
    padding-bottom:54px !important;
  }
  .hero__title{padding-top:66px !important;}
  .hero__silhouette-image{height:66px !important;}
  .hero__title-line{font-size:clamp(56px,7.4vw,78px) !important;}
  .hero__lead{margin-top:18px !important;font-size:15px !important;line-height:1.55 !important;}
  .hero__actions{margin-top:17px !important;}
  .hero__hours{padding:18px 18px 14px !important;}
  .hero__hours>strong{font-size:44px !important;}
  .hero__hours>div{padding:8px 0 !important;}
}

/* AFTER DARK: make the full reclining figure intentionally visible against the red band. */
.red-band{
  overflow:hidden !important;
}
.red-band__inner{
  position:relative !important;
  z-index:2 !important;
}
.red-band__silhouette{
  z-index:1 !important;
  right:-1vw !important;
  bottom:0 !important;
  width:min(66vw,980px) !important;
  height:auto !important;
  aspect-ratio:1578 / 412 !important;
  background:#fff !important;
  opacity:.24 !important;
  -webkit-mask-position:center bottom !important;
  mask-position:center bottom !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
  filter:drop-shadow(0 0 28px rgba(255,255,255,.08)) !important;
}
@media (max-width:1120px){
  .red-band__silhouette{
    right:-8vw !important;
    width:min(78vw,900px) !important;
    opacity:.22 !important;
  }
}
@media (max-width:760px){
  .red-band__inner{padding-bottom:150px !important;}
  .red-band__silhouette{
    right:-18vw !important;
    width:128vw !important;
    opacity:.20 !important;
  }
}

/* Google map in natural color (previous grayscale/invert filter removed). */
.map iframe{
  filter:none !important;
  opacity:1 !important;
}


/* ===== v24.1: short-notebook HERO CTA fix =====
   Na kratších notebookových viewports se obsah hero neposouvá pod spodní hranu.
   CTA zůstávají celá viditelná a otevírací doba se stále vejde vedle textu. */
@media (min-width:761px) and (max-width:1120px) and (max-height:780px){
  .hero{
    height:100svh !important;
    min-height:680px !important;
  }

  .hero__content{
    height:calc(100% - 82px) !important;
    min-height:0 !important;
    align-items:start !important;
    gap:26px !important;
    padding-top:58px !important;
    padding-bottom:28px !important;
  }

  .hero__main{
    align-self:start !important;
    max-width:640px !important;
  }

  .hero__age{
    margin-bottom:8px !important;
  }

  .hero__title{
    padding-top:58px !important;
  }

  .hero__silhouette-image{
    top:0 !important;
    height:58px !important;
  }

  .hero__title-line{
    font-size:clamp(52px,7vw,68px) !important;
    line-height:.90 !important;
  }

  .hero__lead{
    max-width:590px !important;
    margin-top:14px !important;
    font-size:14.5px !important;
    line-height:1.5 !important;
  }

  .hero__actions{
    margin-top:14px !important;
    margin-bottom:0 !important;
  }

  .hero__actions .btn{
    min-height:52px !important;
    padding-inline:24px !important;
  }

  .hero__hours{
    align-self:start !important;
    margin-top:58px !important;
    padding:16px 17px 13px !important;
  }

  .hero__hours .eyebrow{
    margin-bottom:9px !important;
  }

  .hero__hours>strong{
    margin-bottom:10px !important;
    font-size:40px !important;
  }

  .hero__hours>div{
    padding:7px 0 !important;
  }

  .hero__facts-grid>div{
    min-height:82px !important;
  }
}

/* ===== 2026-08-18 v24.2: HERO responsive rebuild =====
   One source of truth for the hero across desktop, laptop, tablet and mobile.
   The facts bar is kept in normal document flow so it can never cover CTA buttons. */
.hero{
  height:auto !important;
  min-height:100svh !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.hero__content{
  width:min(calc(100% - 48px),var(--container)) !important;
  height:auto !important;
  min-height:calc(100svh - 112px) !important;
  flex:1 0 auto !important;
  grid-template-columns:minmax(0,1fr) minmax(260px,320px) !important;
  align-items:center !important;
  gap:clamp(34px,4vw,64px) !important;
  padding-top:118px !important;
  padding-bottom:46px !important;
}
.hero__main{
  width:100% !important;
  max-width:790px !important;
  min-width:0 !important;
}
.hero__age{margin-bottom:10px !important;}
.hero__title{
  width:100% !important;
  max-width:100% !important;
  padding-top:clamp(90px,7.4vw,122px) !important;
  font-size:clamp(64px,7.35vw,110px) !important;
  line-height:.90 !important;
}
.hero__silhouette-image{
  left:-2.5% !important;
  top:0 !important;
  width:105% !important;
  height:clamp(88px,7.6vw,122px) !important;
  object-fit:fill !important;
}
.hero__lead{
  max-width:650px !important;
  margin-top:20px !important;
  font-size:clamp(15px,1.15vw,17px) !important;
  line-height:1.62 !important;
}
.hero__actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:20px !important;
  margin-bottom:0 !important;
}
.hero__actions .btn{
  width:auto !important;
  min-height:54px !important;
  padding-inline:26px !important;
  white-space:nowrap !important;
}
.hero__hours{
  display:block !important;
  width:100% !important;
  max-width:320px !important;
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
  padding:24px 22px 20px !important;
}
.hero__hours .eyebrow{margin-bottom:13px !important;font-size:10px !important;}
.hero__hours>strong{margin-bottom:13px !important;font-size:52px !important;}
.hero__hours>div{padding:10px 0 !important;font-size:12px !important;}
.hero__hours>div span{font-size:12px !important;}
.hero__hours>div b{font-size:15px !important;}
.hero__hours-mobile{display:none !important;}
.hero__facts{
  position:relative !important;
  z-index:4 !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  flex:0 0 auto !important;
}
.hero__facts-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
.hero__facts-grid>div{
  min-height:112px !important;
  padding:0 24px !important;
}
.hero__facts-grid>div:first-child{padding-left:0 !important;}
.hero__facts-grid>div:last-child{padding-right:0 !important;}

/* Compact desktop / notebook / Windows scaling around 900-1199 CSS px. */
@media (min-width:900px) and (max-width:1199px){
  .hero__content{
    width:min(calc(100% - 40px),var(--container)) !important;
    min-height:calc(100svh - 88px) !important;
    grid-template-columns:minmax(0,1fr) 245px !important;
    gap:26px !important;
    padding-top:88px !important;
    padding-bottom:30px !important;
  }
  .hero__main{max-width:none !important;}
  .hero__age{margin-bottom:6px !important;}
  .hero__title{
    padding-top:74px !important;
    font-size:clamp(54px,6.65vw,76px) !important;
    line-height:.89 !important;
  }
  .hero__silhouette-image{
    left:-2% !important;
    width:104% !important;
    height:74px !important;
  }
  .hero__lead{
    max-width:590px !important;
    margin-top:14px !important;
    font-size:14.5px !important;
    line-height:1.5 !important;
  }
  .hero__actions{margin-top:15px !important;}
  .hero__actions .btn{
    min-height:50px !important;
    padding-inline:20px !important;
    font-size:11.5px !important;
  }
  .hero__hours{
    max-width:245px !important;
    padding:18px 17px 15px !important;
  }
  .hero__hours .eyebrow{margin-bottom:10px !important;font-size:9px !important;}
  .hero__hours>strong{margin-bottom:10px !important;font-size:42px !important;}
  .hero__hours>div{padding:8px 0 !important;font-size:10.5px !important;}
  .hero__hours>div span{font-size:10.5px !important;}
  .hero__hours>div b{font-size:13px !important;}
  .hero__facts-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .hero__facts-grid>div{
    min-height:88px !important;
    grid-template-columns:24px minmax(0,1fr) !important;
    gap:8px !important;
    padding:0 12px !important;
  }
  .hero__facts-grid p{font-size:10.5px !important;letter-spacing:.045em !important;}
  .hero__facts-grid strong{font-size:12.5px !important;}
}

/* Tablets and narrow browser windows: main content becomes one clean column. */
@media (min-width:761px) and (max-width:899px){
  .hero{min-height:0 !important;}
  .hero__content{
    width:min(calc(100% - 40px),var(--container)) !important;
    min-height:0 !important;
    display:block !important;
    padding-top:100px !important;
    padding-bottom:42px !important;
  }
  .hero__main{max-width:680px !important;}
  .hero__title{
    padding-top:76px !important;
    font-size:clamp(58px,8.7vw,74px) !important;
  }
  .hero__silhouette-image{height:76px !important;}
  .hero__lead{max-width:610px !important;margin-top:18px !important;font-size:15.5px !important;}
  .hero__actions{margin-top:18px !important;}
  .hero__actions .btn{min-height:52px !important;}
  .hero__hours{display:none !important;}
  .hero__hours-mobile{
    display:block !important;
    width:min(100%,360px) !important;
    margin-top:22px !important;
  }
  .hero__facts-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .hero__facts-grid>div{
    min-height:82px !important;
    padding:0 18px !important;
    border-bottom:1px solid var(--line) !important;
  }
  .hero__facts-grid>div:nth-child(2n){border-right:0 !important;}
  .hero__facts-grid>div:nth-last-child(-n+2){border-bottom:0 !important;}
}

/* Phones. */
@media (max-width:760px){
  .hero{min-height:0 !important;}
  .hero__content{
    width:min(calc(100% - 32px),var(--container)) !important;
    min-height:0 !important;
    display:block !important;
    padding-top:88px !important;
    padding-bottom:36px !important;
  }
  .hero__main{max-width:100% !important;}
  .hero__age{margin-bottom:6px !important;}
  .hero__title{
    width:100% !important;
    padding-top:68px !important;
    font-size:clamp(49px,15.2vw,70px) !important;
    line-height:.90 !important;
  }
  .hero__silhouette-image{
    left:-3.5% !important;
    width:107% !important;
    height:68px !important;
  }
  .hero__lead{
    margin-top:18px !important;
    font-size:15px !important;
    line-height:1.55 !important;
  }
  .hero__actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:min(100%,360px) !important;
    gap:9px !important;
    margin-top:18px !important;
  }
  .hero__actions .btn{
    width:100% !important;
    min-height:52px !important;
    padding-inline:18px !important;
  }
  .hero__hours{display:none !important;}
  .hero__hours-mobile{
    display:block !important;
    width:min(100%,360px) !important;
    margin-top:18px !important;
  }
  .hero__facts-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .hero__facts-grid>div{
    min-height:78px !important;
    grid-template-columns:23px minmax(0,1fr) !important;
    gap:9px !important;
    padding:0 12px !important;
    border-bottom:1px solid var(--line) !important;
  }
  .hero__facts-grid>div:nth-child(2n){border-right:0 !important;}
  .hero__facts-grid>div:nth-last-child(-n+2){border-bottom:0 !important;}
  .hero__facts-grid p{font-size:10.5px !important;}
  .hero__facts-grid strong{font-size:12.5px !important;}
}

/* Small phones. */
@media (max-width:480px){
  .hero__content{
    width:min(calc(100% - 28px),var(--container)) !important;
    padding-top:80px !important;
    padding-bottom:30px !important;
  }
  .hero__title{
    padding-top:60px !important;
    font-size:clamp(44px,14.6vw,60px) !important;
  }
  .hero__silhouette-image{height:60px !important;}
  .hero__lead{font-size:14.5px !important;}
  .hero__hours-mobile{padding:15px 14px 13px !important;}
  .hero__hours-mobile strong{font-size:32px !important;}
  .hero__facts-grid{grid-template-columns:1fr !important;}
  .hero__facts-grid>div{
    min-height:62px !important;
    padding:0 !important;
    border-right:0 !important;
    border-bottom:1px solid var(--line) !important;
  }
  .hero__facts-grid>div:last-child{border-bottom:0 !important;}
}

/* Very short landscape screens: keep the whole hero compact without overlaps. */
@media (min-width:900px) and (max-height:720px){
  .hero__content{
    min-height:calc(100svh - 78px) !important;
    padding-top:76px !important;
    padding-bottom:22px !important;
  }
  .hero__title{padding-top:62px !important;font-size:clamp(50px,6vw,68px) !important;}
  .hero__silhouette-image{height:62px !important;}
  .hero__lead{margin-top:11px !important;font-size:14px !important;line-height:1.42 !important;}
  .hero__actions{margin-top:12px !important;}
  .hero__actions .btn{min-height:46px !important;}
  .hero__hours{padding:15px 15px 12px !important;}
  .hero__hours>strong{font-size:38px !important;}
  .hero__hours>div{padding:7px 0 !important;}
  .hero__facts-grid>div{min-height:78px !important;}
}


/* v24.2 safety: CTA always stays above decorative layers and desktop facts remain one clean row. */
.hero__actions{
  position:relative !important;
  z-index:6 !important;
}
@media (min-width:900px) and (max-width:1199px){
  .hero__facts-grid>div{
    border-bottom:0 !important;
    border-right:1px solid var(--line) !important;
  }
  .hero__facts-grid>div:last-child{
    border-right:0 !important;
  }
}

/* ===== 2026-08-18 v24.3: HERO silueta znovu položená přímo na nápis =====
   Má ležet přes horní část title od N v NIGHT po B v BENÁTKY. */
.hero__title{
  position:relative !important;
  width:max-content !important;
  max-width:100% !important;
  padding-top:72px !important;
  line-height:.88 !important;
}
.hero__title-line{
  position:relative !important;
  z-index:2 !important;
}
.hero__silhouette-image{
  position:absolute !important;
  z-index:1 !important;
  left:-9% !important;
  top:14px !important;
  width:122% !important;
  height:84px !important;
  max-width:none !important;
  object-fit:fill !important;
  object-position:center !important;
  opacity:.92 !important;
  pointer-events:none !important;
}

@media (min-width:1200px){
  .hero__title{
    padding-top:78px !important;
  }
  .hero__silhouette-image{
    left:-8% !important;
    top:16px !important;
    width:118% !important;
    height:92px !important;
  }
}

@media (min-width:900px) and (max-width:1199px){
  .hero__title{
    padding-top:66px !important;
  }
  .hero__silhouette-image{
    left:-10% !important;
    top:12px !important;
    width:124% !important;
    height:74px !important;
  }
}

@media (min-width:761px) and (max-width:899px){
  .hero__title{
    padding-top:68px !important;
  }
  .hero__silhouette-image{
    left:-10% !important;
    top:12px !important;
    width:124% !important;
    height:76px !important;
  }
}

@media (max-width:760px){
  .hero__title{
    width:100% !important;
    padding-top:58px !important;
  }
  .hero__silhouette-image{
    left:-11% !important;
    top:10px !important;
    width:126% !important;
    height:64px !important;
  }
}

@media (max-width:480px){
  .hero__title{
    padding-top:52px !important;
  }
  .hero__silhouette-image{
    left:-12% !important;
    top:8px !important;
    width:128% !important;
    height:58px !important;
  }
}

/* ===== 2026-08-18 v24.4: HERO silueta hezky položená přímo NA nápisu =====
   Cíl: na desktopu leží přes první řádek titulku, není vytažená nahoru,
   není zbytečně natažená přes celý hero a působí elegantněji. */

/* Desktop / large screens */
.hero__title{
  position:relative !important;
  width:max-content !important;
  max-width:100% !important;
  padding-top:52px !important;
  line-height:.88 !important;
}
.hero__title-line{
  position:relative !important;
  z-index:2 !important;
}
.hero__silhouette-image{
  position:absolute !important;
  z-index:3 !important;
  left:-4% !important;
  top:32px !important;
  width:108% !important;
  height:92px !important;
  max-width:none !important;
  object-fit:fill !important;
  object-position:center !important;
  opacity:.78 !important;
  pointer-events:none !important;
  filter:brightness(0) saturate(100%) invert(16%) sepia(87%) saturate(4353%) hue-rotate(338deg) brightness(91%) contrast(102%) drop-shadow(0 0 7px rgba(209,15,54,.16)) !important;
}

@media (min-width:1200px){
  .hero__title{
    padding-top:56px !important;
  }
  .hero__silhouette-image{
    left:-3% !important;
    top:30px !important;
    width:106% !important;
    height:96px !important;
  }
}

/* Notebook / compact desktop */
@media (min-width:900px) and (max-width:1199px){
  .hero__title{
    width:max-content !important;
    max-width:100% !important;
    padding-top:44px !important;
  }
  .hero__silhouette-image{
    left:-5% !important;
    top:27px !important;
    width:110% !important;
    height:78px !important;
    opacity:.76 !important;
  }
}

/* Tablet */
@media (min-width:761px) and (max-width:899px){
  .hero__title{
    width:max-content !important;
    max-width:100% !important;
    padding-top:48px !important;
  }
  .hero__silhouette-image{
    left:-6% !important;
    top:28px !important;
    width:112% !important;
    height:82px !important;
    opacity:.76 !important;
  }
}

/* Mobile */
@media (max-width:760px){
  .hero__title{
    width:100% !important;
    padding-top:42px !important;
  }
  .hero__silhouette-image{
    left:-8% !important;
    top:22px !important;
    width:116% !important;
    height:58px !important;
    opacity:.74 !important;
  }
}

@media (max-width:480px){
  .hero__title{
    padding-top:38px !important;
  }
  .hero__silhouette-image{
    left:-9% !important;
    top:20px !important;
    width:118% !important;
    height:52px !important;
    opacity:.72 !important;
  }
}

/* ===== 2026-08-18 v24.5: SILUETA OPRAVDU NA NÁPISU NIGHT CLUB =====
   Silueta je ukotvená k prvnímu řádku titulku. Je CELÁ nad písmeny a jen
   spodní hranou se jich lehce dotýká — žádné zajíždění doprostřed textu. */
.hero__title{
  position:relative !important;
  overflow:visible !important;
  padding-top:clamp(88px,7.4vw,112px) !important;
}
.hero__title-line--night{
  position:relative !important;
  display:block !important;
  overflow:visible !important;
}
.hero__silhouette-image{
  position:absolute !important;
  z-index:3 !important;
  left:-3% !important;
  top:auto !important;
  bottom:calc(100% - 2px) !important;
  width:106% !important;
  height:clamp(82px,7vw,102px) !important;
  max-width:none !important;
  object-fit:fill !important;
  object-position:center bottom !important;
  opacity:.84 !important;
  pointer-events:none !important;
  user-select:none !important;
  transform:none !important;
}

@media (min-width:1200px){
  .hero__title{padding-top:104px !important;}
  .hero__silhouette-image{
    left:-2.5% !important;
    width:105% !important;
    height:100px !important;
    bottom:calc(100% - 3px) !important;
  }
}

@media (min-width:900px) and (max-width:1199px){
  .hero__title{padding-top:82px !important;}
  .hero__silhouette-image{
    left:-3% !important;
    width:106% !important;
    height:80px !important;
    bottom:calc(100% - 2px) !important;
  }
}

@media (min-width:761px) and (max-width:899px){
  .hero__title{padding-top:84px !important;}
  .hero__silhouette-image{
    left:-3.5% !important;
    width:107% !important;
    height:82px !important;
    bottom:calc(100% - 2px) !important;
  }
}

@media (max-width:760px){
  .hero__title{padding-top:70px !important;}
  .hero__silhouette-image{
    left:-4% !important;
    width:108% !important;
    height:66px !important;
    bottom:calc(100% - 1px) !important;
  }
}

@media (max-width:480px){
  .hero__title{padding-top:64px !important;}
  .hero__silhouette-image{
    left:-4.5% !important;
    width:109% !important;
    height:60px !important;
    bottom:calc(100% - 1px) !important;
  }
}

/* ===== 2026-08-18 v24.7: přesné zarovnání HERO otevírací doby =====
   Desktop/notebook: pravý okraj karty kopíruje pravý okraj NONSTOP CTA v navbaru
   a spodní hrana karty sedí přesně na spodní hranu hero CTA tlačítek.
   Konkrétní offsety dopočítává script.js podle skutečného layoutu viewportu. */
@media (min-width:1081px){
  .hero__hours{
    position:relative !important;
    left:var(--hero-hours-align-x,0px) !important;
    top:var(--hero-hours-align-y,0px) !important;
    transform:none !important;
  }
}

@media (max-width:1080px){
  .hero__hours{
    left:auto !important;
    top:auto !important;
    transform:none !important;
  }
}
