/* Venue follows share the existing Nightwall palette; no page-wide overrides. */
.nvf { --nvf-panel:var(--nwe-panel-strong,#1d1720); --nvf-soft:var(--nwe-panel-soft,#291c26); --nvf-text:var(--nwe-text,#faf5f7); --nvf-muted:var(--nwe-muted-strong,#c5b3c0); --nvf-line:var(--nwe-line-strong,#674053); margin:18px 0; padding:clamp(18px,3vw,30px); border:1px solid var(--nvf-line); border-radius:22px; background:var(--nvf-panel); color:var(--nvf-text); min-width:0; }
.nvf *, .nvf *::before, .nvf *::after { box-sizing:border-box; }
.nvf [hidden], .nvf-map-control [hidden] { display:none!important; }
.nvf p, .nvf h2, .nvf h3 { margin:0; }
.nvf-heading { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; }
.nvf-heading > div { min-width:0; }
.nvf .nvf-kicker { color:var(--nwe-accent-text,#eab7cb); font-size:10px; font-weight:750; letter-spacing:.08em; }
.nvf h2 { font-size:clamp(22px,4vw,29px); line-height:1.3; letter-spacing:-.03em; color:var(--nvf-text); }
.nvf-private { margin-left:auto; padding:4px 9px; border:1px solid var(--nvf-line); border-radius:20px; font-size:10px; white-space:nowrap; color:var(--nvf-muted); }
.nvf .nvf-intro { color:var(--nvf-muted); font-size:13px; line-height:1.7; max-width:70ch; }
.nvf .nvf-status { margin-top:16px; padding:13px 15px; border-left:3px solid var(--nwe-accent-2,#9b2847); border-radius:12px; background:var(--nvf-soft); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.nvf-status a { color:inherit; text-underline-offset:3px; }
.nvf-list { display:grid; gap:10px; margin-top:15px; }
.nvf-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; min-width:0; padding:14px; border:1px solid var(--nvf-line); border-radius:15px; background:var(--nvf-soft); }
.nvf-logo { display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:50%; background:var(--nwe-accent,#800020); color:#fff; overflow:hidden; font-size:22px; font-weight:750; }
.nvf-logo img { display:block; width:100%; height:100%; object-fit:cover; }
.nvf-row-copy { flex:1 1 150px; min-width:0; }
.nvf-row h3 { color:var(--nvf-text); font-size:16px; line-height:1.4; overflow-wrap:anywhere; }
.nvf-row h3 a { color:inherit; text-decoration:none; }
.nvf-row h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.nvf-row .nvf-control-status { margin-top:4px; }
.nvf-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.nvf-button, .nvf-read-retry { display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; padding:10px 14px; border:1px solid var(--nvf-line,var(--nwm-line,#674053)); border-radius:12px; background:var(--nwe-accent,var(--nwm-brand,#800020)); color:#fff; font:inherit; font-size:12px; line-height:1.4; font-weight:650; cursor:pointer; text-align:center; }
.nvf-button[aria-pressed="true"] { background:var(--nvf-soft,var(--nwm-panel-soft,#291c26)); color:var(--nvf-text,var(--nwm-text,#faf5f7)); border-color:var(--nwe-accent-2,#9b2847); }
.nvf-button:not(:disabled):hover { border-color:var(--nwe-accent-2,#9b2847); filter:brightness(1.12); }
.nvf-button:disabled, .nvf-read-retry:disabled { opacity:.55; cursor:wait; }
.nvf :is(button,a):focus-visible, .nvf-map-control button:focus-visible { outline:3px solid var(--nwe-accent-text,#f3c2d3); outline-offset:3px; }
.nvf-map-control { display:flex; flex-wrap:wrap; gap:7px 10px; align-items:center; margin-top:10px; min-width:0; }
.nvf-control-status { display:block; color:var(--nvf-muted,var(--nwm-muted,#c5b3c0)); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.nvf-map-control > .nvf-control-status { flex:1 1 150px; }
.nvf-read-retry { background:transparent; color:var(--nvf-text,var(--nwm-text,#faf5f7)); font-size:11px; padding:8px 11px; }
@media(max-width:480px) { .nvf { padding:19px 16px; border-radius:20px; } .nvf-private { display:none; } .nvf-row { gap:10px; } .nvf-row > .nvf-button { margin-left:58px; } }
