/* Biphoria Events: FabSwingers recommendation band and profile buttons (c1, 12 Nov 2026). */
.fab-rec{position:relative;overflow:hidden;padding:clamp(48px,8vw,104px) 0;background:radial-gradient(120% 90% at 0% 0%,rgba(196,155,255,.28),transparent 60%),radial-gradient(90% 80% at 100% 100%,rgba(255,196,214,.22),transparent 60%),linear-gradient(135deg,#2a0f52 0%,#190a2e 55%,#3a1170 100%);border-block:1px solid rgba(196,155,255,.35)}
.fab-grid{display:grid;gap:clamp(24px,4vw,56px);align-items:center;grid-template-columns:1fr}
@media (min-width:900px){.fab-grid{grid-template-columns:1.05fr 1fr}}
.fab-art{position:relative;display:flex;flex-direction:column;gap:16px}
.fab-ad{display:block;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(90,24,201,.85),0 0 0 1px rgba(255,255,255,.16)}
.fab-ad img{display:block;width:100%;height:auto}
.fab-ad:focus-visible{outline:3px solid #ffc4d6;outline-offset:4px}
.fab-art .fab-word{margin:0;font:400 clamp(2.6rem,8vw,5.2rem)/.95 var(--display);letter-spacing:.01em;color:#fff;text-transform:uppercase;text-shadow:0 6px 30px rgba(25,10,46,.45)}
.fab-art .fab-word span{display:block;color:#ffc4d6}
.fab-art .fab-tag{font-weight:600;color:#fff;opacity:.95;margin:0 6px}
.fab-art .fab-profiles{margin:0 6px 6px}
.fab-copy h2{font:400 clamp(2.2rem,6vw,4rem)/1 var(--display);text-transform:uppercase;margin:0 0 16px;color:#fff}
.fab-copy h2 em{font-style:normal;color:#ffc4d6}
.fab-copy .lead{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;color:#fbf8ff;margin:0 0 14px}
.fab-copy p{color:#e9ddff;line-height:1.6}
.fab-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.fab-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 26px;border-radius:999px;font-weight:700;text-decoration:none;background:#ffc4d6;color:#190a2e;border:0;box-shadow:0 10px 30px -10px rgba(255,111,163,.7)}
.fab-button:hover,.fab-button:focus-visible{background:#fff;color:#190a2e}
.fab-button.alt{background:transparent;color:#fff;border:1.5px solid rgba(255,196,214,.75);box-shadow:none}
.fab-profiles{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.fab-profiles a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;background:rgba(25,10,46,.35);color:#fff;font-weight:600;text-decoration:none;border:1px solid rgba(255,255,255,.35)}
.fab-profiles a:hover,.fab-profiles a:focus-visible{background:#fff;color:#190a2e}
.loc .fab-row{margin-top:12px}
.loc .fab-row .fab-button{width:100%}
.fab-art .fab-url{margin:0;font-weight:700;letter-spacing:.06em;color:#fff;opacity:.9}
/* c2 (Mark, 12 Nov 13:11: "Looks a bit shit on desktop" / "and gaps"): compact spacing (his standing rule: section padding at most 48px), one-line header, tidy Fab bars on the venue cards. */
#hero.hero{min-height:0;padding-bottom:clamp(28px,4vw,48px)}
#main-content .band,#main-content .vip,#main-content .fab-rec{padding-block:clamp(32px,4vw,48px)}
header.top .logo,header.top .nav a,header.top .top-tel{white-space:nowrap}
.loc{display:flex;flex-direction:column}
.loc .fab-row{margin-top:14px}
.loc .fab-row .fab-button{width:100%;justify-content:space-between;gap:10px;min-height:50px;padding:12px 18px;border-radius:14px;background:#5a18c9;color:#fff;font-size:.95rem;font-weight:700;box-shadow:none;text-align:left}
.loc .fab-row .fab-button::after{content:"\2192";font-size:1.1rem;line-height:1}
.loc .fab-row .fab-button:hover,.loc .fab-row .fab-button:focus-visible{background:#190a2e;color:#fff}
@media (min-width:1000px){.loc .fab-row .fab-button{white-space:nowrap;font-size:.9rem}}
