/* Venue QR landing pages (/v/<slug>/) and partner page (/partners/). Brand: black, #ED148C pink, #26C78C verified green. */
.venue-page{background:#000;color:#fff;min-height:100vh;font-family:'Source Sans 3','Myriad Pro',system-ui,sans-serif;margin:0}
.venue-wrap{max-width:520px;margin:0 auto;padding:28px 20px 48px;text-align:center}
.venue-logo{width:170px;height:auto;margin:0 auto 22px;display:block}
.venue-sample{background:#3a2a00;color:#ffd166;border:1px solid #ffd166;border-radius:8px;padding:8px 12px;font-size:.85rem;margin:0 0 18px}
.venue-card{background:#14141a;border:1px solid #23232c;border-radius:18px;overflow:hidden;text-align:left;margin:0 0 26px}
.venue-photo{aspect-ratio:16/9;background:linear-gradient(135deg,#2a0f1f,#14141a 60%);display:flex;align-items:center;justify-content:center;color:#6b6f76;font-size:.9rem}
.venue-photo img{width:100%;height:100%;object-fit:cover;display:block}
.venue-body{padding:18px 18px 20px}
.venue-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(38,199,140,.12);color:#26C78C;border:1px solid rgba(38,199,140,.45);border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:700;letter-spacing:.02em;margin:0 0 10px}
.venue-badge svg{width:14px;height:14px}
.venue-name{font-size:1.5rem;font-weight:700;margin:0 0 2px}
.venue-hood{color:#9aa1a9;margin:0 0 12px;font-size:.95rem}
.venue-desc{color:#cfd3d8;margin:0 0 14px;line-height:1.45}
.venue-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.venue-tags li{background:#1f1f27;color:#cfd3d8;border-radius:999px;padding:4px 10px;font-size:.8rem}
.venue-perk{background:rgba(237,20,140,.1);border:1px solid rgba(237,20,140,.4);border-radius:12px;padding:10px 12px;color:#fff;font-size:.92rem;margin:0}
.venue-perk strong{color:#ED148C}
.venue-page h1{font-size:1.9rem;font-weight:700;line-height:1.15;margin:0 0 10px}
.venue-page .pink{color:#ED148C}
.venue-lead{color:#cfd3d8;margin:0 0 20px;line-height:1.45}
.venue-page .store-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:0 0 18px}
.venue-tagline{color:#fff;font-weight:700;margin:22px 0 6px}
.venue-fine{color:#6b6f76;font-size:.8rem;line-height:1.4;margin:14px 0 0}
.venue-fine a,.venue-more a{color:#ED148C;text-decoration:none}
.venue-more{margin:18px 0 0;font-size:.95rem}
/* Partners page */
.partners-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0;padding:0;list-style:none;counter-reset:s}
.partners-steps li{background:#14141a;border:1px solid #23232c;border-radius:16px;padding:20px;counter-increment:s;color:#cfd3d8;text-align:left}
.partners-steps li::before{content:"0" counter(s);display:block;color:#ED148C;font-weight:900;font-size:1.4rem;margin:0 0 8px}
.partners-steps h3{color:#fff;margin:0 0 6px;font-size:1.1rem}
.partners-checklist{max-width:640px;margin:0 auto;text-align:left;color:#cfd3d8;line-height:1.6}
@media (max-width:700px){.partners-steps{grid-template-columns:1fr}}

/* ===== Forms (partners + Best First-Date Spots) ===== */
.dd-form{max-width:640px;margin:26px auto 0;text-align:left;background:#0f0f14;border:1px solid #23232c;border-radius:20px;padding:22px}
.dd-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dd-form label{display:block;font-size:.85rem;font-weight:700;color:#d6d6de;margin:12px 0 6px}
.dd-form input[type=text],.dd-form input[type=email],.dd-form input[type=tel],.dd-form input[type=url],.dd-form select,.dd-form textarea{width:100%;box-sizing:border-box;background:#000;border:1px solid #2e2e38;border-radius:12px;color:#fff;padding:12px 14px;font:inherit;font-size:1rem}
.dd-form textarea{min-height:110px;resize:vertical}
.dd-form input:focus,.dd-form select:focus,.dd-form textarea:focus{outline:2px solid #ED148C;outline-offset:1px;border-color:transparent}
.dd-form .check{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:#cfd3d8;font-size:.92rem;margin:12px 0 0}
.dd-form .check input{margin-top:3px;accent-color:#ED148C;width:18px;height:18px;flex:none}
.dd-form .count{float:right;font-weight:600;color:#7d7d88}
.dd-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.dd-form button[type=submit]{margin-top:18px;width:100%;border:0;cursor:pointer;font:inherit;font-size:1.05rem;padding:14px}
.form-msg{min-height:1.2em;margin:10px 0 0;color:#c3c9d0;font-size:.92rem}
.form-msg.err{color:#ff7aa8}
.form-done{text-align:center;padding:10px 4px}
.form-done h3{font-size:1.5rem;margin:0 0 8px}
.form-done p{color:#cfd3d8}
.form-fine{font-size:.85rem;color:#8b8b97}
.form-fine a{color:#ED148C}
@media (max-width:600px){.dd-form .row2{grid-template-columns:1fr}}

/* ===== Best First-Date Spots ===== */
.spots-hero{padding:56px 0 10px;text-align:center}
.spots-hero .badge-new{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:#f3c1dc;border:1px solid rgba(237,20,140,.45);background:rgba(237,20,140,.08);padding:7px 14px;border-radius:999px}
.spots-hero .badge-new i{width:7px;height:7px;border-radius:50%;background:#ED148C}
.spots-hero h1{font-size:clamp(2.3rem,5.6vw,4.2rem);line-height:1.02;letter-spacing:-.02em;font-weight:900;margin:18px auto 14px;max-width:900px}
.spots-hero .lead{max-width:680px;margin:0 auto;color:#cfd3d8;font-size:1.15rem;line-height:1.55}
.spots-time{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:860px;margin:34px auto 0;padding:0;list-style:none}
.spots-time li{background:#14141a;border:1px solid #23232c;border-radius:16px;padding:18px;text-align:left}
.spots-time li.now{border-color:rgba(237,20,140,.6);box-shadow:0 0 0 1px rgba(237,20,140,.25)}
.spots-time small{display:block;color:#ED148C;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}
.spots-time b{display:block;font-size:1.15rem;margin:6px 0 4px}
.spots-time span{color:#b9b9c4;font-size:.95rem}
.spots-sec{max-width:900px;margin:0 auto;padding:46px 0 0}
.spots-sec h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:900;letter-spacing:-.015em;margin:0 0 8px;text-align:center}
.spots-sec>p{text-align:center;color:#b9b9c4;max-width:640px;margin:0 auto}
#spots-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:24px}
.spots-city{background:#14141a;border:1px solid #23232c;border-radius:16px;padding:16px 18px}
.spots-city h3{margin:0 0 10px;font-size:1.05rem;color:#ED148C}
.spots-city ol{margin:0;padding-left:20px;color:#8b8b97}
.spots-city li{margin:6px 0}
.spots-city a{color:#fff;text-decoration:none;display:flex;justify-content:space-between;gap:10px}
.spots-city a span{color:#8b8b97;font-size:.85rem;white-space:nowrap}
.spots-empty{text-align:center;color:#8b8b97;grid-column:1/-1}
.spots-crit{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:760px;margin:22px auto 0;padding:0;list-style:none}
.spots-crit li{background:#0f0f14;border:1px solid #23232c;border-radius:14px;padding:14px 16px;color:#cfd3d8}
.spots-crit b{color:#fff}
.spots-rules{max-width:760px;margin:20px auto 0;color:#b9b9c4;line-height:1.6}
.spots-rules li{margin:6px 0}
.spots-venue{max-width:760px;margin:46px auto 0;text-align:center;background:linear-gradient(160deg,rgba(237,20,140,.14),rgba(20,20,26,.9));border:1px solid rgba(237,20,140,.4);border-radius:22px;padding:28px}
.spots-venue h2{margin:0 0 8px}
@media (max-width:700px){.spots-time,.spots-crit{grid-template-columns:1fr}}

.spots-crit li,.spots-rules,.dd-form{text-align:left}
