/* Real venue feature and account entry points. */
.real-venue-card{display:flex;flex-direction:column}
.real-venue-card .club-image-button{flex-shrink:0}
.real-venue-card .club-card-info{display:flex;flex-direction:column;flex:1;padding:20px}
.venue-badge{color:#f3d5e7;background:#21151ee8;border-color:#87536e;font-size:11px;letter-spacing:.3px}
.venue-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.venue-card-heading .club-name{font-size:26px;letter-spacing:-1px}
.venue-card-logo{width:58px;height:44px;object-fit:contain;background:#fff;border-radius:4px;flex-shrink:0}
.real-venue-card .club-short{font-size:14px;line-height:1.7;margin:13px 0 16px;min-height:48px}
.real-venue-card .tag{font-size:11px;line-height:1.5}
.venue-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:22px;margin-top:auto}
.venue-card-footer .text-button{display:inline-flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap}
.venue-card-footer svg{width:14px;height:14px}
.solo-photo-strip>.venue-logo{object-fit:contain;width:70px;height:52px}
.weekend-grid>div:last-child:nth-child(odd){grid-column:1/-1}
.featured-club{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr;border-color:#66414c;background:radial-gradient(ellipse at top right,#52203135,transparent 80%),#151216}
.featured-club .club-image-button{height:100%;min-height:345px}
.featured-club .club-image-button img{object-position:42% center}
.featured-club .save-club{left:16px;top:auto;bottom:59px}
.featured-club .club-image-caption{bottom:22px}
.featured-club .club-image-arrow{bottom:22px}
.featured-club .real-label{background:#eaff87;color:#20291a;border-color:#eaff87;font-weight:700}
.featured-info{padding:27px 31px 29px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.featured-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-bottom:7px}
.featured-kicker .section-eyebrow{font-size:10px;color:#dc9cac;letter-spacing:1.5px;line-height:1.6}
.solo-logo{width:79px;height:39px;object-fit:cover;background:white;border-radius:3px;flex-shrink:0}
.featured-info .club-name{font-size:clamp(34px,3.6vw,47px);display:flex;align-items:center;gap:12px;letter-spacing:-2px}
.featured-info .club-name svg{height:25px;width:25px;color:var(--pink)}
.featured-description{color:#b8a5af;font-size:15px;line-height:1.8;margin:10px 0 19px}
.featured-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding-top:25px;margin-top:auto}
.featured-bottom .button{padding:11px 15px}
.no-reviews{font-size:12px!important;white-space:nowrap;color:#aaa2af!important;font-family:var(--body)}
.solo-hero{height:345px}
.solo-hero img{object-position:45% 45%}
.solo-photo-strip{display:flex;align-items:center;gap:10px;padding:18px 0}
.photo-thumb{padding:0;height:52px;width:74px;border-radius:6px;border:2px solid transparent;overflow:hidden;background:#29202a}
.photo-thumb img{width:100%;height:100%;object-fit:cover}
.photo-thumb.active{border-color:var(--pink)}
.solo-photo-strip>span{font-size:12px;line-height:1.7;color:#dad2dd;margin-left:3px}
.solo-photo-strip small{font-size:10px;color:#918895}
.solo-photo-strip>.solo-logo{margin-left:auto}
.weekend-guide{padding:22px;border:1px solid #443039;background:linear-gradient(130deg,#2d182066,#171319);border-radius:10px;margin:25px 0 19px}
.weekend-guide>.section-eyebrow{font-size:10px;color:#e9afc5}
.weekend-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 25px;margin-top:24px}
.weekend-grid>div{position:relative;padding-left:31px}
.weekend-grid svg{position:absolute;left:0;top:0;width:19px;height:19px;color:var(--pink)}
.weekend-grid strong{font-size:14px;font-weight:600;display:block}
.weekend-grid p{font-size:12px;line-height:1.8;color:#a89ba9;margin-top:6px}
.venue-note{font-size:11px;color:#948590;line-height:1.8;padding-top:20px;margin-top:23px;border-top:1px solid #3b2832}
.solo-facts{margin-top:20px}
.solo-facts small{display:block;color:#968b9b;font-size:11px;line-height:1.8;margin-top:5px}
.solo-facts .venue-fact strong{line-height:1.7}
.venue-sources{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:17px 0 28px}
.source-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#d0bbc9;border-bottom:1px solid #554250;padding-bottom:3px}
.source-link:hover{color:var(--lime);border-color:var(--lime)}
.source-link svg{width:13px;height:13px}
.venue-sources>span{font-size:10px;color:#8d8491;margin-left:auto}
.venue-music{margin-top:30px;padding:25px 0 30px;border-top:1px solid #352835;border-bottom:1px solid #352835}
.music-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.music-heading .section-eyebrow{font-size:9px;letter-spacing:1.5px;color:#ac95ab;line-height:1.6}
.music-heading h3{font-family:var(--display);font-size:28px;font-weight:500;margin-top:8px;letter-spacing:-.8px}
.music-provider{color:#e6d8e0;white-space:nowrap;font-size:13px}
.music-empty{margin-top:22px;background:#211722;border:1px solid #423047;border-radius:10px;display:flex;align-items:center;gap:25px;padding:23px}
.music-empty .tag{font-size:9px;letter-spacing:.7px;padding:4px 6px}
.music-empty h4{font-family:var(--display);font-size:19px;font-weight:500;margin:10px 0 6px}
.music-empty p,.music-caption{font-size:12px;color:#ad9aae;line-height:1.8}
.apple-music-player{border:0;width:100%;margin:16px 0 12px;border-radius:12px;background:transparent}
.music-caption{margin-top:10px}
.comments-empty{display:flex;gap:12px;align-items:flex-start;border:1px dashed #4b3b4d;border-radius:9px;padding:19px;margin:15px 0 24px;color:#ccbfce}
.comments-empty>svg{color:var(--pink);width:20px;margin-top:1px}
.comments-empty strong{font-size:13px;font-weight:500}
.comments-empty p{font-size:12px;line-height:1.7;color:#95899b;margin-top:5px}
.auth-dialog{padding:0;width:440px;max-width:calc(100vw - 30px);border:1px solid #553a50;background:#141117;color:var(--text);border-radius:17px;max-height:92dvh;overflow-y:auto}
.auth-art{height:126px;overflow:hidden;position:relative;background:radial-gradient(ellipse at 60% 100%,#79355e88,transparent 70%),#201423;border-bottom:1px solid #442d40;padding:26px}
.auth-art>span{font-family:var(--display);font-size:23px;letter-spacing:-1px;color:var(--lime)}
.auth-art>b{position:absolute;font-weight:400;right:66px;top:10px;font-size:116px;line-height:1;color:var(--pink);transform:rotate(14deg);text-shadow:0 0 34px #e964aa44}
.auth-orbit{position:absolute;width:250px;height:84px;border:1px solid #cd88b45c;border-radius:50%;right:12px;top:35px;transform:rotate(-22deg)}
.auth-body{padding:29px 31px 25px}
.auth-body>.section-eyebrow{font-size:9px;color:#c1a0bb;letter-spacing:1.8px}
.auth-body h2{font-size:29px;font-family:var(--display);font-weight:500;letter-spacing:-1px;line-height:1.2;margin-top:12px}
.auth-body>p:not(.auth-status):not(.auth-footnote){font-size:13px;line-height:1.8;color:#a997ac;margin-top:13px}
.auth-providers{display:grid;gap:11px;margin-top:25px}
.provider-button{height:49px;display:flex;align-items:center;gap:12px;justify-content:flex-start;padding:0 15px;border-radius:7px;font-size:14px;font-weight:600;border:1px solid #59535a}
.provider-button svg{width:20px;height:20px}
.google-button{background:#fff;color:#27232a}
.apple-button{background:#070708;color:#fff}
.provider-button:disabled{opacity:.72;cursor:not-allowed}
.provider-button:not(:disabled):hover{box-shadow:0 0 0 2px var(--pink)}
.provider-button small{margin-left:auto;font-size:8px;letter-spacing:1px;opacity:.6}
.auth-status{font-size:12px;line-height:1.8;color:#b8a8bd;margin-top:16px}
.auth-error{color:#ffacae}
.guest-button{display:flex;justify-content:center;gap:9px;align-items:center;background:none;color:var(--lime);font-size:13px;width:100%;padding:17px 5px 12px;margin-top:10px;border-top:1px solid #342837}
.guest-button svg{height:15px;width:15px}
.auth-footnote{font-size:10px;color:#8c7f93;line-height:1.7;text-align:center}
.profile-account{padding:13px 15px;background:#201b23;border:1px solid #44364a;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}
.profile-account span{display:block;font-size:10px;color:#a795ad;margin-bottom:4px}
.profile-account strong{display:block;overflow-wrap:anywhere;font-size:12px;font-weight:500}
.profile-account .text-button{white-space:nowrap}
@media(max-width:900px){
 .featured-club{grid-template-columns:1.08fr 1fr}.featured-info{padding:21px}.featured-club .club-image-button{min-height:325px}
 .featured-info .club-name{font-size:34px}.featured-description{font-size:13px}.featured-info .tag{font-size:10px}.featured-bottom{gap:10px}
 .featured-bottom .button{font-size:12px}.featured-kicker .section-eyebrow{font-size:8px;letter-spacing:1px}.featured-kicker .solo-logo{width:60px;height:31px}
 .featured-bottom .rating small{display:inline}.featured-bottom .no-reviews{font-size:10px!important}
}
@media(max-width:650px){
 .featured-club{display:block}.featured-club .club-image-button{min-height:0;height:245px}.featured-club .save-club{top:17px;right:16px;left:auto;bottom:auto}
 .featured-info{padding:20px}.featured-info .club-name{font-size:38px}.featured-kicker .section-eyebrow{font-size:9px}.featured-kicker .solo-logo{width:71px;height:36px}
 .featured-description{font-size:14px;margin-bottom:16px}.featured-info .tag{font-size:11px}.featured-bottom{padding-top:22px}.featured-bottom .no-reviews{font-size:12px!important}
 .solo-hero{height:235px}.solo-photo-strip{gap:7px}.photo-thumb{width:58px;height:45px}.solo-photo-strip>span{font-size:11px}.solo-photo-strip small{display:none}.solo-photo-strip>.solo-logo{width:63px;height:32px}
 .weekend-guide{padding:18px}.weekend-grid{grid-template-columns:1fr;gap:23px}.weekend-grid strong{font-size:14px}.weekend-grid p{font-size:13px}
 .solo-facts{grid-template-columns:1fr}.venue-sources{gap:12px}.venue-sources>span{margin-left:0;width:100%}.music-heading{align-items:flex-start}.music-heading h3{font-size:24px}.music-heading .section-eyebrow{font-size:8px;max-width:170px}.music-provider{font-size:11px;margin-top:5px}
 .music-empty{padding:20px 16px;gap:17px}.music-empty h4{font-size:17px}.music-empty p{font-size:12px}.music-empty .tag{font-size:8px}
 .auth-body{padding:25px}.auth-body h2{font-size:27px}.auth-dialog{max-height:94dvh}.auth-art{height:110px}.provider-button{font-size:14px}
}
.music-note{display:grid;place-items:center;width:88px;height:100px;flex-shrink:0;border:1px solid #624359;border-radius:8px;background:linear-gradient(145deg,#54253f,#281c2d);color:var(--pink)}
.music-note svg{width:36px;height:36px;stroke-width:1.3}
.sample-tracks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:19px}
.sample-track{display:flex;align-items:center;gap:12px;text-align:left;min-width:0;padding:14px;border:1px solid #3a2c3f;border-radius:8px;background:#1b151e;color:#c7b8ce}
.sample-track:hover{border-color:#97728b;background:#281d29}
.track-number{font-family:var(--display);font-size:12px;color:#a58aa1;align-self:flex-start;padding-top:2px}
.track-info{flex:1;min-width:0}
.track-info strong{display:block;font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.track-info small{display:block;font-size:12px;line-height:1.5;margin-top:3px;color:#a991ae}
.sample-track>svg{width:17px;height:17px;color:#a689a0}
@media(max-width:650px){.sample-tracks{grid-template-columns:1fr}.sample-track{padding:13px 14px}.track-info strong{font-size:16px}.track-info small{font-size:13px}}
.featured-description{font-size:16px}
.featured-kicker .section-eyebrow,.weekend-guide>.section-eyebrow,.venue-note,.solo-facts small,.venue-sources>span,.music-heading .section-eyebrow,.music-empty .tag,.auth-body>.section-eyebrow,.provider-button small,.auth-footnote,.profile-account span,.solo-photo-strip small{font-size:12px}
.weekend-grid p,.music-empty p,.auth-body>p:not(.auth-status):not(.auth-footnote),.comments-empty p{font-size:14px}
.music-caption,.auth-status,.solo-photo-strip>span{font-size:13px}
.source-link,.guest-button,.comments-empty strong{font-size:14px}
@media(max-width:650px){.music-note{width:55px;height:75px}.music-note svg{width:26px;height:26px}.featured-description{font-size:16px}.featured-kicker .section-eyebrow{font-size:12px}.music-provider{font-size:12px}.music-heading .section-eyebrow{max-width:190px}.weekend-grid p{font-size:14px}.auth-body h2{font-size:28px}}
