/* NIGHTY business profile — reference layout, v89. Scoped to business screens. */
.nighty-business-design { background:#020d13; color:#eef2f6; font-family:'Segoe UI',Arial,sans-serif; }
.nb-page,.nb-header,.nb-footer,.nb-editor { --nb-pink:#ff42a3; --nb-border:#17313e; --nb-muted:#b3c0cd; color:#eef2f6; font-family:'Segoe UI',Arial,sans-serif; font-size:13px; line-height:1.5; }
.nb-page *,.nb-header *,.nb-footer *,.nb-editor * { box-sizing:border-box; }
.nb-page { max-width:1312px; margin:0 auto; padding:0 16px 16px; }
.nb-page h1,.nb-page h2,.nb-page p,.nb-page dl { margin:0; }
.nb-page h2 { font-size:16px; font-weight:650; line-height:1.3; margin:0 0 12px; color:#f5f6fa; }
.nb-page a,.nb-header a,.nb-footer a { text-decoration:none; color:inherit; }
.nb-page button { cursor:pointer; font:inherit; }
.nb-page [hidden] { display:none!important; }
.nb-icon { width:19px; height:19px; flex:0 0 auto; vertical-align:middle; }
.nb-wordmark { font-size:27px; font-weight:850; letter-spacing:-1px; color:#ff8fc8!important; line-height:1; }
.nb-header { border-bottom:1px solid var(--nb-border); background:#020c12; }
.nb-header-inner { max-width:1312px; margin:auto; min-height:50px; display:flex; align-items:center; gap:25px; padding:0 18px; }
.nb-header nav { display:flex; align-self:stretch; gap:24px; align-items:center; }
.nb-header nav a { position:relative; display:flex; align-items:center; height:100%; font-size:12px; white-space:nowrap; }
.nb-header nav a[aria-current] { color:#ff8fc8; }
.nb-header nav a[aria-current]:after { content:''; position:absolute; height:2px; bottom:0; background:var(--nb-pink); left:0; right:0; }
.nb-header .nb-search { margin-left:auto; }
.nb-search input { width:200px; background:#071720; border:1px solid #17313e; border-radius:6px; color:#eef2f6; height:30px; padding:5px 12px; font:inherit; }
.nb-account { display:flex; align-items:center; gap:7px; white-space:nowrap; font-size:12px; }
.nb-crumb-row { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:43px; }
.nb-crumb-row nav { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.nb-crumb-row nav a,.nb-crumb-row nav span:nth-child(3) { color:var(--nb-pink); }
.nb-actions { display:flex; gap:8px; align-items:center; }
.nb-page .nb-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; color:#f5f5f8; border:1px solid var(--nb-border); background:linear-gradient(#06161f,#020c12); border-radius:5px; padding:7px 12px; min-height:32px; line-height:1.3; font-size:12px; font-weight:550; text-align:center; }
.nb-page .nb-button:hover { border-color:var(--nb-pink); color:#ff83c2; }
.nb-page .nb-primary { color:#100611; background:linear-gradient(135deg,#ff259a,#ff63b4); border-color:#ff3a9e; font-weight:700; }
.nb-page .nb-primary:hover { color:#160711; filter:brightness(1.12); }
.nb-actions .nb-button { min-height:27px; padding:4px 11px; }
.nb-page .nb-favorite { color:var(--nb-pink); border-color:#78315e; }
.nb-favorite[aria-pressed=true] .nb-icon { fill:var(--nb-pink); }
.nb-hero { display:grid; grid-template-columns:minmax(0,1fr) 216px 216px; gap:10px; min-height:260px; margin-bottom:16px; }
.nb-identity { position:relative; overflow:hidden; border-radius:7px; background:#071923; min-height:260px; }
.nb-cover { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; object-position:center 45%; }
.nb-identity:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 15%,rgba(1,10,17,.15) 38%,#020d13 100%); }
.nb-identity-content { position:relative; z-index:1; min-height:260px; padding:96px 24px 4px; display:flex; gap:22px; align-items:flex-end; }
.nb-logo { flex:0 0 158px; height:158px; width:158px; border:5px solid var(--nb-pink); border-radius:50%; background:#030609; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:2px; }
.nb-logo img { width:100%; height:100%; object-fit:contain; border-radius:50%; }
.nb-logo>.nb-icon { width:55px; height:55px; color:#526677; }
.nb-identity-text { min-width:0; padding-bottom:0; text-shadow:0 2px 8px #000; }
.nb-identity-text h1 { font-size:28px; line-height:1.2; margin:0 0 5px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-weight:700; }
.nb-identity-text p { line-height:1.55; }
.nb-verified { background:var(--nb-pink); color:#100a10; padding:3px; clip-path:polygon(50% 0,67% 11%,87% 13%,89% 33%,100% 50%,89% 67%,87% 87%,67% 89%,50% 100%,33% 89%,13% 87%,11% 67%,0 50%,11% 33%,13% 13%,33% 11%); text-shadow:none; }
.nb-pink,.nb-rating-inline>.nb-icon { color:var(--nb-pink); }
.nb-rating-inline { display:flex; align-items:center; gap:5px; margin:7px 0!important; font-size:12px; }
.nb-rating-inline .nb-icon { fill:var(--nb-pink); }
.nb-rating-inline strong { font-size:21px; }
.nb-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.nb-tags span { border-radius:99px; background:#10232f; font-size:11px; padding:3px 12px; white-space:nowrap; }
.nb-page .nb-panel { background:linear-gradient(120deg,#03131c,#020c12); border:1px solid var(--nb-border); border-radius:6px; padding:12px; min-width:0; }
.nb-quick-contact { align-self:stretch; display:flex; flex-direction:column; margin-top:10px; }
.nb-status { display:flex; align-items:center; gap:9px; padding:0 6px; }
.open { color:#1eff7a; }.closed { color:#97a6b5; }.reservation { color:#ffba68; }
.nb-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:currentColor; flex:none; }
.nb-today-hours { display:flex; align-items:center; gap:9px; margin-top:3px; padding:0 6px 12px; }
.nb-today-hours>.nb-icon { color:#19ec75; }
.nb-today-hours span:last-child { margin-left:auto; border:1px solid var(--nb-border); border-radius:4px; width:20px; text-align:center; }
.nb-contact-buttons { border-top:1px solid var(--nb-border); padding-top:10px; display:grid; gap:7px; }
.nb-contact-buttons .nb-button { width:100%; min-height:34px; }
.nb-contact-buttons a[href*="wa.me"] .nb-icon { color:#1eff7a; }
.nb-hero-side { margin-top:10px; position:relative; overflow:hidden; }
.nb-hero-side h2 { font-size:15px; }
.nb-hero-side .nb-hours { font-size:11px; }
.nb-hero-side .nb-text-link { font-size:11px; margin-top:12px; }
.nb-hero-side.nb-hero-hours { display:block; }
@media (min-width:701px) and (max-width:1050px) { .nb-hero-hours { grid-column:1/-1; } }
.nb-video-launch { position:absolute; inset:0; width:100%; border:0; background:#08101a; color:#fff; padding:0; }
.nb-video-launch img { width:100%; height:100%; object-fit:cover; }
.nb-video-launch:after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 50%,#030a12); }
.nb-play { position:absolute; top:43%; left:50%; transform:translate(-50%,-50%); border:3px solid #fff; border-radius:50%; width:44px; height:44px; display:grid; place-items:center; z-index:1; }
.nb-video-caption { position:absolute; bottom:12px; left:6px; right:6px; z-index:1; display:grid; gap:3px; }.nb-video-caption small { font-size:11px; }
.nb-page .nb-tabs { display:flex; align-items:stretch; justify-content:space-between; gap:1px; padding:0; margin-bottom:12px; overflow-x:auto; scrollbar-width:thin; }
.nb-tabs a { display:flex; gap:8px; align-items:center; justify-content:center; padding:13px 11px; white-space:nowrap; border-bottom:2px solid transparent; font-size:12px; }
.nb-tabs a.active { color:var(--nb-pink); background:linear-gradient(90deg,#30142b,#0e1320); border-bottom-color:var(--nb-pink); }
.nb-overview { display:grid; grid-template-columns:244px minmax(0,1fr) 236px; gap:12px; align-items:stretch; }
.nb-center,.nb-sidebar { display:flex; flex-direction:column; gap:10px; min-width:0; }
.nb-center>#girls { flex:1; min-height:244px; }
.nb-center>#gallery { min-height:144px; }
.nb-about { display:flex; flex-direction:column; }
.nb-prose { color:#bdcbd9; line-height:1.55; font-size:13px; }
.nb-prose p+p { margin-top:12px; }
.nb-about-cta { margin-top:auto; padding-top:14px; }.nb-about-cta .nb-button { width:100%; }
.nb-note { margin-top:14px!important; padding:10px; background:#221321; border-left:2px solid var(--nb-pink); color:#e6ccdd; font-size:11px; }
.nb-section-heading { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:12px; }
.nb-section-heading h2 { margin:0; }
.nb-page .nb-text-link { display:inline-flex; align-items:center; gap:5px; border:0; padding:0; background:transparent; color:var(--nb-pink); font-size:12px; }
.nb-girls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.nb-girls:has(.nb-more:not([hidden])) { grid-template-columns:repeat(5,minmax(0,1fr)); }
.nb-girl { border:1px solid var(--nb-border); border-radius:6px; min-width:0; overflow:hidden; }
.nb-girl>a { display:block; }.nb-girl-photo,.nb-no-photo { position:relative; }.nb-girl img { width:100%; aspect-ratio:1.25; object-fit:cover; display:block; }
.nb-working-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 7px; border-radius:999px; background:#28f477; color:#04110a; font-size:10px; font-weight:700; line-height:1; white-space:nowrap; }
.nb-girl-name-row { display:flex; align-items:center; justify-content:space-between; gap:5px; }
.nb-working-badge .nb-dot { color:#04110a; font-size:11px; }
.nb-working-badge.is-today { background:#ffb52e; color:#211400; }
.nb-working-badge.is-today .nb-dot { color:#211400; }
.nb-working-badge.is-off { background:rgba(4,17,26,.9); color:#d2d9df; border:1px solid #567080; }
.nb-working-badge.is-off .nb-dot { color:#90a6b5; }
.nb-girl>div:not(.nb-no-photo) { padding:7px 5px 5px; }
.nb-girl strong { font-size:12px; }.nb-girl small { display:block; color:var(--nb-muted); font-size:11px; margin:1px 0 7px; }
.nb-girl .nb-button { width:100%; padding:5px 3px; min-height:28px; color:var(--nb-pink); border-color:#5d254a; background:linear-gradient(#231325,#06131c); font-size:11px; }
.nb-no-photo { aspect-ratio:1.25; display:grid; place-items:center; color:#526677; background:#0b202c; }.nb-no-photo .nb-icon { width:38px; height:38px; }
.nb-page .nb-more { min-width:0; display:flex; flex-direction:column; gap:10px; align-items:center; justify-content:center; color:#fff; border:1px solid var(--nb-border); border-radius:5px; background:#05121c; font-size:12px; }
.nb-more>span { border:1px solid var(--nb-pink); border-radius:50%; width:50px; height:50px; display:grid; place-items:center; font-size:20px; }
.nb-empty-block { min-height:178px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; color:#92a8b7; }
.nb-empty-block>.nb-icon { width:32px; height:32px; }
.nb-empty { color:#8fa4b5; font-size:12px; }.nb-panel>small.nb-empty { display:block; margin-top:7px; font-size:10px; }
.nb-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.nb-gallery:has(.nb-more:not([hidden])) { grid-template-columns:repeat(5,minmax(0,1fr)); }
.nb-gallery a { display:block; border:1px solid var(--nb-border); border-radius:5px; overflow:hidden; }
.nb-gallery img { width:100%; aspect-ratio:1.45; display:block; object-fit:cover; }
.nb-gallery .nb-more>span { border:0; height:auto; font-size:18px; }.nb-gallery .nb-more { gap:0; }
.nb-hours { font-size:12px; }
.nb-hours>div { display:flex; align-items:center; justify-content:space-between; padding:2px 0; gap:5px; border-bottom:1px solid #10242e; }
.nb-hours dt { display:flex; gap:9px; align-items:center; font-weight:400; }.nb-hours dd { margin:0; white-space:nowrap; color:#c8d3e0; }
/* Pink marks the current day row, while the dot consistently describes
   whether that day has opening hours. */
.nb-hours .nb-today { background:rgba(255,58,145,.06); }.nb-hours .nb-today .nb-dot.open { color:#1eff7a; }.nb-hours .nb-today .nb-dot.closed { color:#97a6b5; }
.nb-address { display:flex; align-items:flex-start; gap:9px; color:#c4d1df; margin-bottom:10px!important; }
.nb-map { display:block; font-size:11px; text-align:center; }.nb-map img { width:100%; aspect-ratio:2.6; object-fit:cover; display:block; border-radius:6px; }
.nb-map iframe { width:100%; aspect-ratio:2.6; border:0; display:block; border-radius:6px; background:#102f3d; pointer-events:none; }
.nb-map>span:last-child { display:flex; align-items:center; gap:7px; justify-content:center; padding-top:8px; }
.nb-map-pattern { min-height:82px; border-radius:6px; background:linear-gradient(30deg,#102f3d,#1c3b4c); display:flex; align-items:center; justify-content:center; gap:9px; color:#fb80bf; }
.nb-map-pattern .nb-icon { width:28px; height:28px; }
.nb-bottom-grid { display:grid; grid-template-columns:244px minmax(0,1.25fr) minmax(0,.9fr) minmax(0,1.1fr); gap:12px; margin-top:10px; }
.nb-bottom-grid>.nb-panel { min-height:181px; }
.nb-contact-list { display:grid; gap:5px; margin-bottom:12px; }.nb-contact-list a { display:flex; align-items:center; gap:10px; min-width:0; color:#bfccda; font-size:12px; }.nb-contact-list span { overflow-wrap:anywhere; }.nb-contact-list a:first-child .nb-icon { color:var(--nb-pink); }
#contact>.nb-button { width:100%; }
.nb-services { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px 8px; padding-top:4px; }.nb-services>div { display:flex; flex-direction:column; align-items:center; gap:7px; text-align:center; font-size:11px; }.nb-services .nb-icon { width:24px; height:24px; color:var(--nb-pink); }
.nb-prices>div { display:flex; justify-content:space-between; align-items:baseline; gap:8px; border-bottom:1px solid #10242e; padding:3px 0; font-size:12px; }.nb-prices dt { font-weight:400; }.nb-prices dd { margin:0; white-space:nowrap; }
.nb-rating-bars { max-width:195px; display:grid; gap:3px; margin:6px 0 10px; }.nb-rating-bars>div { display:flex; align-items:center; gap:7px; height:14px; }.nb-rating-bars span { color:var(--nb-pink); display:flex; gap:3px; align-items:center; }.nb-rating-bars .nb-icon { width:12px; height:12px; fill:var(--nb-pink); }.nb-rating-bars meter { width:85px; height:9px; border:0; border-radius:5px; background:#213344; }.nb-rating-bars meter::-webkit-meter-bar { background:#213344; height:8px; border:0; }.nb-rating-bars meter::-webkit-meter-optimum-value { background:linear-gradient(90deg,#ff2797,#ff6bb5); border-radius:5px; }.nb-rating-bars meter::-moz-meter-bar { background:#ff42a3; }.nb-rating-bars small { color:#b5c2cf; }
.nb-related { margin-top:10px; }.nb-related-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }.nb-related-list a { display:flex; gap:9px; align-items:center; min-width:0; padding:5px; border:1px solid var(--nb-border); border-radius:5px; font-size:12px; }.nb-related-list img { width:56px; height:48px; border-radius:4px; object-fit:cover; }.nb-related-list small { display:block; font-size:11px; color:var(--nb-muted); }.nb-related-list a>.nb-icon { margin-left:auto; width:15px; }
.nb-extra-panel { margin-top:12px; }.nb-extra-panel video { max-width:100%; max-height:500px; }
.nb-footer { max-width:1312px; margin:auto; padding:18px; border-top:1px solid var(--nb-border); display:flex; align-items:center; flex-wrap:wrap; gap:16px; font-size:10px; color:#b5c4d2; }.nb-footer nav { display:flex; flex-wrap:wrap; gap:16px; margin:auto; }.nb-footer .nb-wordmark { font-size:23px; }
.nb-lightbox { width:min(1000px,95vw); max-height:95vh; padding:40px 16px 16px; background:#04111a; border:1px solid #325368; border-radius:10px; color:#fff; }.nb-lightbox::backdrop { background:#000d; }.nb-lightbox-content { display:grid; place-items:center; }.nb-lightbox-content img,.nb-lightbox-content video { max-height:80vh; max-width:100%; object-fit:contain; }.nb-lightbox .nb-close { position:absolute; right:8px; top:6px; }
.nb-live { position:fixed; bottom:22px; left:50%; transform:translateX(-50%); z-index:10001; background:#183445; border-radius:7px; max-width:90vw; }.nb-live:not(:empty) { padding:12px 20px; }
.nb-page :focus-visible,.nb-header :focus-visible { outline:2px solid #ff78bc; outline-offset:3px; }
.nb-page [id] { scroll-margin-top:16px; }
.nb-team { padding-top:24px; }
.nb-team h1 { font-size:26px; margin-bottom:20px; }
.nb-team .nb-panel { margin:16px 0; }
.nb-team .nb-panel > h2 { margin:-16px -16px 16px; padding:13px 16px 12px; border-left:4px solid var(--nb-pink); border-bottom:1px solid #263f4d; background:linear-gradient(90deg,rgba(255,45,111,.12),rgba(6,17,25,.35)); color:#fff; font-size:18px; letter-spacing:.01em; }
.nb-team .nb-panel > h2 + p { margin-top:0; }
.nb-team p { margin:10px 0; }
.nb-team form { margin:12px 0; }
.nb-team label { display:block; margin:12px 0; }
.nb-team input:not([type=checkbox]):not([type=hidden]),.nb-team select,.nb-team textarea { display:block; width:100%; padding:12px; margin-top:6px; background:#08131c; color:#fff; border:1px solid #304554; border-radius:6px; font:inherit; }
.nb-team-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.nb-team-actions,.nb-team-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:16px 0; }
.nb-team-row { padding:12px; border:1px solid #17313e; border-radius:6px; }
.nb-team .nb-team-check { display:flex; align-items:flex-start; gap:10px; }
.nb-consent-label { padding:10px; border:1px solid transparent; border-radius:6px; }
.nb-consent-label.is-required { border-color:#ff386f; background:rgba(255,56,111,.12); color:#ff8eaa; }
.nb-consent-label.is-required input { accent-color:#ff386f; }
.nb-team-check input { width:20px; height:20px; flex:none; }
.nb-team-fieldset { margin:20px 0; padding:16px; border:1px solid #17313e; border-radius:7px; }
.nb-team-fieldset legend { padding:0 7px; font-weight:700; }
.nb-service-group { margin:10px 0; border:1px solid #17313e; border-radius:6px; padding:0 10px; background:#061119; }
.nb-service-group summary { cursor:pointer; list-style:none; padding:11px 2px; color:#ff8fc8; font-weight:700; }
.nb-service-group summary::-webkit-details-marker { display:none; }
.nb-service-group summary::before { content:'+'; display:inline-block; width:18px; color:#91a8b8; }
.nb-service-group[open] summary::before { content:'−'; }
.nb-service-group summary span { color:#9fb2c0; font-weight:400; font-size:12px; }
.nb-service-group .nb-team-check-grid { padding:0 2px 10px; }
.nb-team-check-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.nb-team-availability { display:grid; grid-template-columns:minmax(145px,1fr) minmax(100px,.7fr) minmax(100px,.7fr); align-items:center; gap:10px; margin:8px 0; }
.nb-team-availability input { margin:0!important; }
.nb-team-addon-head,.nb-team-addon-row { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:10px; margin:8px 0; }
.nb-team-addon-head { color:#b3c0cd; font-size:12px; }
.nb-team small { display:block; color:#b3c0cd; }
.nb-team-notice { padding:12px 20px; background:#251023; color:#fff; text-align:center; }
.nb-team-notice a { color:#ff8fc8; }
@media(max-width:700px) { .nb-team-fields { grid-template-columns:1fr; } }
@media(max-width:700px) { .nb-team .nb-panel > h2 { margin:-12px -12px 14px; padding:12px; font-size:16px; } }
@media(max-width:700px) { .nb-team-availability { grid-template-columns:1fr 1fr; }.nb-team-availability .nb-team-check { grid-column:1/-1; } }
@media(max-width:700px) { .nb-team-addon-head { display:none; }.nb-team-addon-row { grid-template-columns:1fr; } }
.nighty-upload-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
.nighty-upload-item { padding:8px; border:1px solid #304554; border-radius:7px; background:#08131c; }
.nighty-upload-item .nighty-upload-preview { width:100%; height:110px; object-fit:cover; display:block; margin:0 0 7px; }
.nighty-upload-item label { display:flex; align-items:center; gap:6px; margin:0; font-size:12px; color:#ff8eaa; }
.nighty-new-upload-previews { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; margin-top:10px; }
.nighty-new-upload-item { padding:8px; border:1px solid #ff2d6f; border-radius:7px; background:#08131c; }
.nighty-new-upload-item img { width:100%; height:110px; object-fit:cover; display:block; border-radius:4px; }
.nighty-new-upload-item span { display:block; margin-top:6px; color:#c8d3df; font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nighty-upload-item { position:relative; }
.nighty-upload-item > label { position:absolute; top:5px; right:5px; width:26px; height:26px; margin:0!important; border-radius:50%; background:#ff2d6f; color:#fff; font-size:0; cursor:pointer; display:grid!important; place-items:center; }
.nighty-upload-item > label::after { content:'×'; font-size:20px; line-height:1; }
.nighty-upload-item > label input { position:absolute; opacity:0; inset:0; cursor:pointer; }
.nighty-single-upload { position:relative; display:inline-block; }
.nighty-single-upload .nighty-upload-preview { display:block; }
.nighty-upload-delete { position:absolute; top:5px; right:5px; width:26px; height:26px; display:grid!important; place-items:center; margin:0!important; border-radius:50%; background:#ff2d6f; color:#fff; font-size:20px; line-height:1; cursor:pointer; }
.nighty-upload-delete input { position:absolute; opacity:0; inset:0; cursor:pointer; }
.nighty-upload-empty { display:block; margin-top:8px; color:#879aaa; font-size:12px; }
@media (min-width:1051px) and (max-width:1200px) { .nb-header-inner { gap:15px; }.nb-header nav { gap:15px; }.nb-search input { width:155px; }.nb-overview { grid-template-columns:220px minmax(0,1fr) 220px; }.nb-bottom-grid { grid-template-columns:220px 1.1fr 1fr 1fr; }.nb-identity-content { padding-left:16px; gap:13px; }.nb-logo { flex-basis:132px; width:132px; height:132px; }.nb-identity-text h1 { font-size:25px; }.nb-tabs a { padding:12px 7px; font-size:11px; } }
@media (max-width:1050px) { .nb-search { display:none; }.nb-header-inner { gap:20px; }.nb-account { margin-left:auto; }.nb-header nav { gap:17px; }.nb-hero { grid-template-columns:minmax(0,1fr) 216px; }.nb-hero-side { display:none; }.nb-overview { grid-template-columns:210px minmax(0,1fr); }.nb-sidebar { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }.nb-bottom-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.nb-tabs { justify-content:flex-start!important; }.nb-related-list { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .nb-header-inner { flex-wrap:wrap; padding:12px; gap:12px; }.nb-header nav { order:3; width:100%; overflow:auto; gap:20px; padding:8px 0 0; }.nb-header nav a { padding-bottom:8px; }.nb-header .nb-wordmark { font-size:25px; }.nb-page { padding:0 10px 12px; }.nb-crumb-row { align-items:flex-start; padding:12px 0; flex-wrap:wrap; font-size:12px; }.nb-actions { margin-left:auto; }.nb-hero { grid-template-columns:minmax(0,1fr); gap:10px; margin-bottom:12px; }.nb-identity { min-height:290px; }.nb-identity-content { min-height:290px; padding:112px 12px 12px; gap:12px; }.nb-logo { flex-basis:108px; width:108px; height:108px; border-width:3px; align-self:center; }.nb-identity-text h1 { font-size:24px; }.nb-identity-text { font-size:12px; }.nb-tags span { padding:3px 8px; font-size:10px; }.nb-quick-contact { margin-top:0; }.nb-contact-buttons { grid-template-columns:1fr 1fr; }.nb-today-hours { justify-content:flex-start; }.nb-today-hours span:last-child { margin-left:5px; }.nb-overview { grid-template-columns:1fr; }.nb-center { grid-row:2; }.nb-sidebar { grid-template-columns:1fr; }.nb-bottom-grid { grid-template-columns:1fr; }.nb-panel { padding:12px!important; }.nb-tabs { padding:0!important; }.nb-about-cta { padding-top:12px; }.nb-girls,.nb-girls:has(.nb-more:not([hidden])) { grid-template-columns:repeat(2,minmax(0,1fr)); }.nb-gallery,.nb-gallery:has(.nb-more:not([hidden])) { grid-template-columns:repeat(2,minmax(0,1fr)); }.nb-more { min-height:85px; }.nb-related-list { grid-template-columns:1fr; }.nb-related-list img { width:64px; }.nb-footer { padding:16px 12px; }.nb-footer nav { margin:0; gap:10px; }.nb-services { grid-template-columns:repeat(3,minmax(0,1fr)); }.nb-section-heading { gap:6px; flex-wrap:wrap; } }
@media (prefers-reduced-motion:no-preference) { .nb-button { transition:border-color .15s,filter .15s; } }


/* NIGHTY profile system: business profile alignment */
.nb-page{--nighty-profile-pink:#ff3b9d;--nighty-profile-border:#16415a;--nighty-profile-text:#f6f8fb;}
.nb-tabs{display:flex!important;align-items:stretch;gap:4px;overflow-x:auto;padding:5px!important;border:1px solid var(--nighty-profile-border)!important;border-radius:12px;background:linear-gradient(135deg,rgba(6,21,31,.98),rgba(8,28,41,.98))!important;box-shadow:0 10px 26px rgba(0,0,0,.18);scrollbar-width:thin;}
.nb-tabs a{display:flex!important;align-items:center;justify-content:center;min-height:46px;padding:0 18px!important;border:1px solid transparent;border-radius:8px;color:var(--nighty-profile-text)!important;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;}
.nb-tabs a:hover{border-color:rgba(255,59,157,.45);background:rgba(255,59,157,.14);color:#fff!important;transform:translateY(-1px);}
.nb-tabs a.active{border-color:var(--nighty-profile-pink)!important;background:linear-gradient(135deg,var(--nighty-profile-pink),#d91e84)!important;color:#fff!important;box-shadow:0 6px 16px rgba(255,59,157,.25);}
.nb-tabs a .nighty-ui-icon,.nb-tabs a .nb-icon{color:var(--nighty-profile-pink)!important;stroke:currentColor!important;fill:none!important;}
.nb-tabs a:hover .nighty-ui-icon,.nb-tabs a:hover .nb-icon,.nb-tabs a.active .nighty-ui-icon,.nb-tabs a.active .nb-icon{color:var(--nighty-profile-pink)!important;stroke:currentColor!important;}
.nb-panel,.nb-extra-panel,.nb-related{border:1px solid var(--nighty-profile-border)!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(8,29,42,.98),rgba(5,18,28,.98))!important;box-shadow:0 8px 22px rgba(0,0,0,.16);}
.nb-page [hidden]{display:none!important;}
@media(max-width:720px){.nb-tabs{margin-inline:-4px;border-radius:10px;}.nb-tabs a{min-height:42px;padding:0 14px!important;font-size:.88rem;}}

/* Protected business phone contact */
.nb-protected-phone{display:grid;gap:8px}.nb-protected-phone .nighty-contact-reveal,.nb-protected-phone .nighty-contact-revealed{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;border-radius:9px;text-decoration:none;box-sizing:border-box}.nb-protected-phone .nighty-contact-reveal{border:1px solid var(--nb-pink,#ff3b9d);background:linear-gradient(135deg,#ff3b9d,#d91e84);color:#fff;font:inherit;font-weight:800;cursor:pointer}.nb-protected-phone .nighty-contact-revealed{background:linear-gradient(135deg,#ff3b9d,#d91e84);color:#fff;border:1px solid transparent}.nb-protected-phone .nighty-ui-icon,.nb-protected-phone .nb-icon{width:18px;height:18px;flex:0 0 auto;color:#fff;stroke:currentColor}.nb-protected-phone span{display:grid;text-align:left;line-height:1.1}.nb-protected-phone strong{font-size:14px;color:#fff}.nb-protected-phone small{font-size:11px;font-weight:700;opacity:.92;color:#ffe4f1}.nb-protected-phone-list{display:grid;gap:8px}

/* v1.28 unified girl profile: listing module controls */
.nb-club-contact-note { grid-column:1/-1; display:grid; gap:4px; padding:12px 14px; margin:2px 0 8px; border:1px solid rgba(255,45,111,.45); border-radius:8px; background:rgba(255,45,111,.08); }
.nb-club-contact-note strong { color:#fff; font-size:14px; }
.nb-club-contact-note small { color:#aebfca; line-height:1.45; }
.nb-listing-toggle { grid-column:1/-1; padding:12px 14px; border:1px solid #23404e; border-radius:8px; background:#081820; }
.nb-listing-toggle span { font-weight:800; color:#fff; }
.nb-listing-toggle small { display:block; color:#9fb1bc; line-height:1.4; }
.nb-listing-only[hidden], .nb-club-contact-note[hidden] { display:none !important; }

/* v1.29 girl profile editor: gallery is independent of personal listing */
.nb-team-gallery-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:12px 0 14px}
.nb-team-gallery-item{position:relative!important;display:block!important;margin:0!important;padding:0;border:1px solid #304554;border-radius:8px;overflow:hidden;background:#08131c}
.nb-team-gallery-item img{display:block;width:100%;height:120px;object-fit:cover}
.nb-team-gallery-item span{position:absolute;left:6px;right:6px;bottom:6px;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 8px;border-radius:6px;background:rgba(3,9,13,.86);color:#fff;font-size:11px}
.nb-team-gallery-item span input{width:16px!important;height:16px!important;margin:0!important;flex:none}

/* v1.29 team media editor */
.nb-team-story-preview{display:grid;gap:10px;justify-items:start;margin:0 0 14px;padding:12px;border:1px solid #263d48;border-radius:10px;background:#071720}.nb-team-story-preview video{display:block;width:min(100%,340px);max-height:420px;border-radius:9px;background:#000}.nb-team-story-preview small{color:#9fb1bc}.nb-club-contact-note{display:grid;gap:3px;padding:12px;border:1px solid rgba(255,58,145,.42);border-radius:9px;background:rgba(255,58,145,.07)}.nb-club-contact-note strong{color:#ff58a4}.nb-club-contact-note small{color:#aebfc8;line-height:1.4}

/* v1.39 — telefon jen ikona + číslo */
.nb-protected-phone span{display:block;font-size:14px;font-weight:700;line-height:1.2}.nb-protected-phone strong,.nb-protected-phone small{display:none}


/* Business archive cards: keep the same compact, portrait-friendly logic as profile cards. */
.nb-business-archive-page .nb-business-grid{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin:24px 0;
    align-items:stretch;
}
.nb-business-archive-page .nb-business-card{
    width:min(100%, 280px);
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    border:1px solid #17313e;
    border-radius:12px;
    background:#111116;
    box-shadow:0 12px 28px rgba(0,0,0,.24);
}
.nb-business-archive-page .nb-business-card__media{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:4/5;
    overflow:hidden;
    background:#0c0c10;
    border-bottom:3px solid #ff2d6f;
    color:inherit;
    text-decoration:none;
}
.nb-business-archive-page .nb-business-card__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.nb-business-archive-page .nb-business-card__placeholder{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#8b8e97;
    font-size:13px;
}
.nb-business-archive-page .nb-business-card__badges{
    position:absolute;
    top:10px;
    left:10px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    z-index:2;
}
.nb-business-archive-page .nb-business-card__badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:29px;
    padding:5px 10px;
    border-radius:8px;
    background:rgba(255,255,255,.92);
    color:#17171d;
    font-size:11px;
    font-weight:800;
    line-height:1;
}
.nb-business-archive-page .nb-business-card__badge .nighty-ui-icon{
    width:14px;
    height:14px;
}
.nb-business-archive-page .nb-business-card__badge--dark{
    background:rgba(17,17,22,.88);
    color:#fff;
    border:1px solid rgba(255,255,255,.12);
}
.nb-business-archive-page .nb-business-card__status{
    position:absolute;
    right:10px;
    bottom:10px;
    max-width:calc(100% - 20px);
    padding:7px 10px;
    border-radius:8px;
    font-size:10px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.03em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    box-shadow:0 4px 15px rgba(0,0,0,.28);
}
.nb-business-archive-page .nb-business-card__status--open{
    background:#ff2d6f;
    color:#fff;
}
.nb-business-archive-page .nb-business-card__status--reservation{
    background:rgba(17,17,22,.9);
    color:#fff;
    border:1px solid rgba(255,45,111,.55);
}
.nb-business-archive-page .nb-business-card__status--closed{
    background:rgba(17,17,22,.88);
    color:#b4b7bf;
    border:1px solid rgba(255,255,255,.14);
}
.nb-business-archive-page .nb-business-card__body{
    display:block;
    flex:1;
    padding:12px;
    color:inherit;
    text-decoration:none;
}
.nb-business-archive-page .nb-business-card__body h2{
    margin:0 0 8px;
    color:#ff2d6f;
    font-size:18px;
    line-height:1.15;
}
.nb-business-archive-page .nb-business-card__meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:8px;
    color:#ececf1;
    font-size:11px;
}
.nb-business-archive-page .nb-business-card__location{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.nb-business-archive-page .nb-business-card__location .nighty-ui-icon{
    width:15px;
    height:15px;
    color:#ff2d6f;
    flex:0 0 auto;
}
.nb-business-archive-page .nb-business-card__body p{
    margin:0;
    color:#d4d7df;
    font-size:14px;
    line-height:1.5;
}
.nb-business-pagination{
    margin-top:18px;
}
@media (max-width: 767px){
    .nb-business-archive-page .nb-business-grid{
        justify-content:center;
    }
    .nb-business-archive-page .nb-business-card{
        width:min(100%, 340px);
    }
}


/* v1.42 — business cards aligned even closer to profile cards */
.nb-business-archive-page .nb-business-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.nb-business-archive-page .nb-business-card:hover{transform:translateY(-3px);border-color:#ff2d6f;box-shadow:0 16px 34px rgba(0,0,0,.30)}
.nb-business-archive-page .nb-business-card__body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.nb-business-archive-page .nb-business-card__body h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:768px){.nb-business-archive-page .nb-business-card{width:280px}}
