:root{font-family:Arial,Helvetica,sans-serif;color:#28242c;background:#fff;--accent:#62317d;--line:#e4dfe7;--muted:#706878}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:3px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}header{padding:18px 24px;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center;justify-content:space-between}h1{font-size:22px;margin:0}header span{font-size:12px;color:var(--muted)}main{display:grid;grid-template-columns:minmax(290px,350px) minmax(0,1fr);max-width:1320px;margin:0 auto;min-height:calc(100vh - 64px)}.left{border-right:1px solid var(--line);padding:22px 18px;min-width:0;display:flex;flex-direction:column;height:calc(100vh - 64px);position:sticky;top:0}.search label{font-size:13px;font-weight:bold;display:block;margin-bottom:8px}.search-line{display:flex;gap:7px}input{width:100%;min-width:0;border:1px solid #c9c2ce;border-radius:4px;padding:10px}.search button,.post{border:0;border-radius:4px;background:var(--accent);color:white;padding:10px 14px}.matches{font-size:12px;line-height:1.5;color:var(--muted);margin:14px 0 8px}.results{list-style:none;padding:0;margin:0;overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-color:#8f708f #f3eff4}.result{display:flex;text-align:left;width:100%;gap:10px;border:0;border-bottom:1px solid var(--line);background:white;padding:13px 5px;color:inherit}.result:hover{background:#f9f6fb}.result[aria-pressed=true]{background:#f0e8f5;box-shadow:inset 3px 0 var(--accent)}.number{width:25px;height:25px;border-radius:50%;background:var(--accent);color:white;display:grid;place-items:center;font-size:11px;flex:none}.result-info{min-width:0}.result strong{display:block;font-size:14px;color:#58266e;font-weight:500;line-height:1.4}.result small{display:block;font-size:12px;line-height:1.5;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:14px;font-size:12px}.pagination button,.overview{padding:8px 11px;border:1px solid #cfc5d5;background:white;border-radius:4px;color:var(--accent)}.right{padding:22px 26px 40px;min-width:0}.map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.map-head h2{font-size:20px;font-weight:500;margin:0}.map-head p{font-size:13px;color:var(--muted);margin:6px 0 0}.map-shell{position:relative;height:460px;background:#f2f0f3;border:1px solid var(--line);display:grid;place-items:center}iframe{height:100%;width:100%;border:0;display:block}.map-message{padding:30px;text-align:center;font-size:14px;line-height:1.7;color:var(--muted)}.map-message strong{display:block;color:#33273b;margin-bottom:7px}.directions{border:1px solid var(--line);border-top:0;padding:13px;background:#faf9fb}.directions h3{text-align:center;font-size:12px;letter-spacing:.06em;margin:0 0 12px}.travel{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.travel a{text-decoration:none;color:var(--accent);text-align:center;font-size:12px;padding:8px 2px;border-radius:4px}.travel a:hover{background:#eee6f3}.travel svg{display:block;width:23px;height:23px;margin:0 auto 6px;stroke:currentColor;stroke-width:1.8;fill:none}.details{font-size:14px;line-height:1.7;margin-top:21px}.details p{white-space:pre-wrap;margin:8px 0}.source-links{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.source-links a{color:var(--accent);font-size:12px}.comments{border-top:1px solid var(--line);padding-top:19px;margin-top:22px}.comments h3{font-size:17px;margin:0 0 12px}.notice{font-size:12px;background:#f2eaf7;display:inline-block;padding:9px 12px;color:#5e2c76;margin:0 0 15px}.comment-form{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px}.comment-form label{font-size:12px;display:block}.comment-form label input{margin-top:6px;font-size:13px}.comment-form .message{grid-column:1/-1}.message textarea{display:block;width:100%;resize:vertical;min-height:76px;padding:10px;border:1px solid #c9c2ce;border-radius:4px;margin-top:6px;font-size:13px}.submit-row{grid-column:1/-1;display:flex;justify-content:flex-end}.post{padding:9px 24px;border-radius:20px}.empty-comment{font-size:13px;color:var(--muted)}.preview-note{font-size:11px;color:var(--muted);line-height:1.5;margin:12px 0 0}.status{font-size:13px;color:#62317d;line-height:1.5}.no-results{font-size:13px;color:var(--muted);padding:20px 4px;line-height:1.6}[hidden]{display:none!important}@media(max-width:750px){header{padding:15px}.left{height:440px;position:static;border-right:0;border-bottom:1px solid var(--line);padding:18px 15px}main{grid-template-columns:1fr}.right{padding:20px 15px}.map-shell{height:350px}.map-head h2{font-size:18px}.comment-form{grid-template-columns:1fr}.comment-form>*{grid-column:1/-1}}

.banner-slot{max-width:1272px;min-height:140px;margin:18px auto 0;display:flex;align-items:center;justify-content:center;border:1px dashed #ded8e2;color:#8d8594;font-size:12px;background:#faf9fb;padding:10px}.banner-slot img{display:block;width:auto;max-width:100%;height:auto;max-height:160px;object-fit:contain}.banner-slot a{display:block;max-width:100%}.left{height:calc(100dvh - 240px);min-height:380px;top:12px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.approved-comment{border-bottom:1px solid var(--line);padding:12px 0}.approved-comment strong{font-size:13px}.approved-comment small{font-size:11px;color:var(--muted);margin-left:9px}.approved-comment p{font-size:13px;line-height:1.6;white-space:pre-wrap;margin:7px 0}.error{color:#963b32}.loading{opacity:.65;pointer-events:none}.comment-form{grid-template-columns:1fr}.post:disabled{opacity:.5}.load-error{padding:18px;font-size:13px;color:#963b32}.details [hidden]{display:none}
@media(max-width:750px){.banner-slot{margin:12px 15px 0;min-height:100px}.left{height:400px;min-height:0;position:static}.map-shell{height:350px}}

.membership-gate{font-size:12px;line-height:1.65;margin:10px 0 0;padding:10px 0;border-top:1px solid var(--line)}.membership-gate a{color:var(--accent);font-weight:bold}

.passport-login{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;font-size:13px;text-align:right}.passport-login a{color:#ffd56a;font-weight:bold;text-decoration:none;border:1px solid #ffd56a;border-radius:18px;padding:8px 14px;background:#9b1026}.passport-login a:hover{background:#780c1c}

/* Venue palette and optional page background. */
:root{--accent:#08bcc5;--muted:#585f61;--line:#d5dddd;background:#fff;color:#202c2e}
body{background:#fff url('venues-background.png') center top / cover fixed no-repeat;min-height:100vh}
header{background:rgba(239,241,237,.97)}
main{background:rgba(255,255,255,.10);border-left:1px solid rgba(255,255,255,.3);border-right:1px solid rgba(255,255,255,.3)}
.banner-slot{background:rgba(239,241,237,.96)}
.left{background:transparent}
/* Frosted glass: blur the photograph behind the right column only.
   The main container above supplies the existing 10% white tint. */
.right{background:transparent;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.result{background:rgba(245,246,242,.40)}
.result strong,.source-links a,.membership-gate a{color:#00666c}.result small{color:#4c595b}
.result:hover{background:#e3eeee}.result[aria-pressed=true]{background:#d6eeee;box-shadow:inset 3px 0 #08bcc5}
.search button,.post,.add-venue,.number{background:#08bcc5;color:#102c2e}
.pagination button,.overview{color:#00666c;border-color:#77bfc2;background:#f0f4f0}
.results{scrollbar-color:#08bcc5 #dfe9e6}.results::-webkit-scrollbar{width:12px}.results::-webkit-scrollbar-track{background:#dfe9e6}.results::-webkit-scrollbar-thumb{background:#08bcc5;border:2px solid #dfe9e6;border-radius:8px}
.map-shell{background:#e3e8e4}.notice{background:#dcecea;color:#255052}.travel a{color:#00666c}.travel a:hover{background:#d6eeee}
.venue-add-row{display:flex;justify-content:flex-end;margin:16px 0 8px}.add-venue{border:0;border-radius:24px;padding:11px 18px;font-size:13px;font-weight:bold;max-width:100%;line-height:1.5}
.venue-suggestion{padding:18px;background:#e4eeea;border:1px solid #a8c8c7;border-radius:8px;margin:15px 0}.venue-suggestion h3{margin-top:0}.venue-suggestion label{display:block;margin:10px 0;font-size:13px}.venue-suggestion input,.venue-suggestion textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #b0c6c5;border-radius:4px;background:#f9faf7;color:#202c2e}.suggest-location{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:750px){body{background-attachment:scroll}.suggest-location{grid-template-columns:1fr}.venue-add-row{justify-content:stretch}.add-venue{width:100%}}

html{scrollbar-color:#08bcc5 #dfe9e6}body::-webkit-scrollbar{width:12px}body::-webkit-scrollbar-track{background:#dfe9e6}body::-webkit-scrollbar-thumb{background:#08bcc5;border:2px solid #dfe9e6;border-radius:8px}

/* Banner-aligned content and compact spacing. White is background only. */
.banner-slot,main{width:calc(100% - 30px);max-width:1272px;margin-left:auto;margin-right:auto}
.left{padding:16px 14px}
.right{padding:16px 18px 24px}
.result{padding:10px 5px}
.matches{margin:10px 0 6px}
.details{margin-top:14px}
.comments{padding-top:14px;margin-top:16px}
.venue-add-row{margin:10px 0 6px}
@media(max-width:750px){.left{padding:14px 12px}.right{padding:14px 12px 20px}}

/* Black text in both venue columns */
.left,
.right {
    color: #000;
    --muted: #000;
}

.result strong,
.result small,
.matches,
.preview-note,
.pagination,
.map-head h2,
.map-head p,
.map-message,
.map-message strong,
.details,
.source-links a,
.membership-gate,
.membership-gate a,
.comments,
.approved-comment strong,
.approved-comment small,
.approved-comment p,
.empty-comment,
.notice,
.no-results,
.venue-suggestion {
    color: #000;
}
