:root {
    --navy: #07143d;
    --ink: #101828;
    --muted: #667085;
    --line: #e7ebf3;
    --bg: #f7f9fc;
    --white: #ffffff;
    --red: #ef4453;
    --men: #d8ecff;
    --men-text: #1976d2;
    --women: #ffe0ed;
    --women-text: #c2185b;
    --youth: #dff7e8;
    --youth-text: #138a51;
    --softball: #fff1d6;
    --softball-text: #d98200;
    --university: #eee0ff;
    --university-text: #6d35b6;
    --beginner: #e2f7f0;
    --beginner-text: #087f5b;
    --shadow: 0 18px 50px rgba(16, 24, 40, .12);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: linear-gradient(180deg, #ffffff 0%, #f6f8fc 70%, #eef3fb 100%);
    color: var(--ink);
}
a { color: inherit; text-decoration: none; }
button, select { font: inherit; }

.app-shell {
    width: min(100%, 1180px);
    min-height: 100vh;
    margin: 0 auto;
    background: rgba(255,255,255,.78);
    box-shadow: 0 0 80px rgba(7, 20, 61, .08);
    position: relative;
    padding-bottom: 92px;
    overflow-x: hidden;
}

.topbar {
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 50;
}
.brand { display: flex; gap: 10px; align-items: center; }
.brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: white;
    border: 2px solid var(--navy);
    box-shadow: 0 8px 18px rgba(7,20,61,.09);
}
.brand strong {
    display: block;
    color: var(--navy);
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 18px;
}
.brand strong::first-letter { color: var(--red); }
.brand em {
    display: block;
    font-style: normal;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--navy);
    font-size: 10px;
    font-weight: 700;
}
.top-actions { display: flex; gap: 10px; }
.icon-button {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: var(--navy);
    font-size: 20px;
}

main { padding: 0 18px; }
.hero-section {
    display: grid;
    grid-template-columns: 1fr 118px;
    gap: 10px;
    padding: 30px 0 18px;
    align-items: center;
}
.eyebrow {
    margin: 0 0 8px;
    color: var(--red);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 11px;
    font-weight: 800;
}
h1 {
    margin: 0;
    color: var(--navy);
    font-size: clamp(42px, 12vw, 62px);
    line-height: .95;
    letter-spacing: -.06em;
}
h1 span { display: block; color: var(--red); font-weight: 500; }
.hero-copy {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.55;
    margin: 18px 0 0;
}
.hero-illustration {
    min-height: 120px;
    position: relative;
    display: grid;
    place-items: center;
}
.ball-orbit {
    width: 94px;
    height: 94px;
    border-radius: 50%;
    background: linear-gradient(135deg, #eef3ff, #fff1f3);
    position: absolute;
}
.batter-icon {
    position: relative;
    font-size: 56px;
    filter: drop-shadow(0 18px 25px rgba(7, 20, 61, .12));
}

.filter-strip {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 3px 0 14px;
    margin: 0 -18px 10px;
    padding-left: 18px;
    padding-right: 18px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.filter-strip::-webkit-scrollbar { display: none; }
.pill {
    flex: 0 0 auto;
    border: 0;
    border-radius: 999px;
    padding: 13px 20px;
    font-weight: 800;
    color: var(--navy);
    background: #f0f3f8;
    cursor: pointer;
    white-space: nowrap;
}
.pill.active { background: var(--navy); color: white; }
.pill.men { background: var(--men); color: var(--men-text); }
.pill.women { background: var(--women); color: var(--women-text); }
.pill.youth { background: var(--youth); color: var(--youth-text); }
.pill.softball { background: var(--softball); color: var(--softball-text); }
.pill.university { background: var(--university); color: var(--university-text); }
.pill.beginner { background: var(--beginner); color: var(--beginner-text); }
.pill.active { background: var(--navy); color: white; }

.controls-row {
    display: grid;
    grid-template-columns: .85fr 1.15fr .75fr;
    gap: 10px;
    margin-bottom: 16px;
}
.control-button, .control-select {
    border: 1px solid var(--line);
    background: white;
    color: var(--navy);
    border-radius: 18px;
    min-height: 48px;
    padding: 0 13px;
    box-shadow: 0 8px 18px rgba(7,20,61,.06);
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.control-select { appearance: none; text-align: center; display: block; width: 100%; }

.map-card {
    height: 390px;
    border-radius: 28px;
    overflow: hidden;
    position: relative;
    box-shadow: var(--shadow);
    background: #dbeafe;
}
#map { height: 100%; width: 100%; min-height: 100%; background: #eef4ff; }
#map .leaflet-tile-pane { opacity: 1; }
.map-tile-warning .map-card::after { content: "Map tiles are struggling to load. Refresh the page or check your connection."; position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 500; background: rgba(255,255,255,.96); border: 1px solid var(--line); border-radius: 16px; padding: 10px 12px; font-size: 12px; font-weight: 800; color: var(--navy); box-shadow: 0 8px 18px rgba(7,20,61,.08); }
.map-overlay-note {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 10;
    background: rgba(255,255,255,.94);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 9px 13px;
    font-size: 12px;
    font-weight: 800;
    color: var(--navy);
    box-shadow: 0 8px 18px rgba(7,20,61,.08);
}
.leaflet-container { background: #e6f0ff; font-family: inherit; }
.leaflet-control-attribution { font-size: 9px; }
.leaflet-marker-icon.custom-marker { background: transparent; border: 0; }
.pin {
    width: 34px;
    height: 34px;
    background: var(--navy);
    border: 4px solid white;
    border-radius: 50% 50% 50% 12px;
    transform: rotate(-45deg);
    box-shadow: 0 12px 18px rgba(7,20,61,.25);
    display: grid;
    place-items: center;
}
.pin span {
    transform: rotate(45deg);
    color: white;
    font-size: 13px;
    font-weight: 900;
}
.pin.recruiting { background: #19a463; }
.pin.multi { background: linear-gradient(135deg, #1976d2, #c2185b 45%, #19a463); }

.selected-club-wrap { margin-top: -50px; padding: 0 8px; position: relative; z-index: 20; }
.selected-club-wrap[hidden] { display: none; }
.club-card {
    background: rgba(255,255,255,.96);
    border: 1px solid var(--line);
    border-radius: 26px;
    box-shadow: var(--shadow);
    padding: 14px;
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 14px;
    align-items: stretch;
}
.club-image {
    border-radius: 18px;
    background: linear-gradient(135deg, #c9d8ff, #eafff2);
    min-height: 116px;
    overflow: hidden;
    display: grid;
    place-items: center;
    color: var(--navy);
    font-size: 34px;
}
.club-image img { width: 100%; height: 100%; object-fit: cover; }
.club-details { min-width: 0; }
.club-details h3 { margin: 6px 0 5px; font-size: 22px; letter-spacing: -.03em; color: #0b122b; }
.club-details p { margin: 0 0 11px; color: var(--muted); font-size: 14px; }
.meta-row { display: flex; gap: 12px; flex-wrap: wrap; color: #344054; font-size: 13px; font-weight: 700; margin-bottom: 11px; }
.tag-row { display: flex; gap: 7px; flex-wrap: wrap; }
.tag {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}
.tag.men { background: var(--men); color: var(--men-text); }
.tag.women { background: var(--women); color: var(--women-text); }
.tag.youth { background: var(--youth); color: var(--youth-text); }
.tag.softball { background: var(--softball); color: var(--softball-text); }
.tag.university { background: var(--university); color: var(--university-text); }
.tag.beginner, .tag.training, .tag.tryout { background: var(--beginner); color: var(--beginner-text); }
.tag.recruiting, .tag.clinic { background: #ffe4ef; color: #b4235a; }
.tag.tournament { background: #e7f0ff; color: #175cd3; }
.tag.umpiring, .tag.scoring { background: #fff1d6; color: #b65c00; }
.club-actions { display: flex; gap: 8px; margin-top: 13px; }
.small-button {
    border: 0;
    border-radius: 999px;
    padding: 10px 13px;
    background: var(--navy);
    color: white;
    font-size: 12px;
    font-weight: 900;
}
.small-button.secondary { background: #f1f4f9; color: var(--navy); }

.content-section { padding-top: 28px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.section-heading h2 { margin: 0; font-size: 24px; letter-spacing: -.04em; }
.section-heading a { color: var(--red); font-weight: 800; font-size: 14px; }
.club-list { display: grid; gap: 12px; }
.club-list-card {
    background: white;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 14px;
    display: flex;
    gap: 12px;
    align-items: center;
    box-shadow: 0 8px 20px rgba(7,20,61,.04);
    text-align: left;
    width: 100%;
    cursor: pointer;
}
.club-list-card .mini-logo {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: linear-gradient(135deg, #e7f0ff, #fff0f3);
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}
.club-list-card strong { display: block; }
.club-list-card p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }

.event-list { display: grid; gap: 12px; }
.event-card {
    background: white;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 12px;
    display: grid;
    grid-template-columns: 68px 1fr auto;
    gap: 12px;
    align-items: center;
    box-shadow: 0 8px 20px rgba(7,20,61,.04);
}
.event-date {
    height: 68px;
    border-radius: 18px;
    border: 1px solid var(--line);
    display: grid;
    place-items: center;
    align-content: center;
    background: #fbfcff;
}
.event-date span { color: var(--red); font-weight: 900; font-size: 12px; }
.event-date strong { font-size: 27px; color: var(--navy); line-height: 1; }
.event-info strong { display: block; font-size: 16px; margin-bottom: 5px; }
.event-info p, .event-info small { margin: 0; color: var(--muted); }
.event-meta { text-align: right; display: grid; gap: 9px; justify-items: end; color: var(--muted); font-weight: 700; }
.last-section { padding-bottom: 22px; }

.bottom-nav {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    z-index: 60;
    width: min(1180px, 100%);
    height: 78px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
    background: rgba(255,255,255,.94);
    border-top: 1px solid var(--line);
    backdrop-filter: blur(18px);
}
.bottom-nav a {
    display: grid;
    place-items: center;
    gap: 4px;
    color: var(--navy);
    font-size: 12px;
    font-weight: 800;
}
.bottom-nav i { font-size: 21px; line-height: 1; }
.bottom-nav a.active { color: var(--red); }

@media (max-width: 390px) {
    main { padding: 0 14px; }
    .hero-section { grid-template-columns: 1fr 86px; }
    .controls-row { grid-template-columns: 1fr; }
    .map-card { height: 340px; }
    .club-card { grid-template-columns: 82px 1fr; }
    .club-image { min-height: 104px; }
    .event-card { grid-template-columns: 58px 1fr; }
    .event-meta { grid-column: 2; text-align: left; justify-items: start; }
}

@media (min-width: 760px) {
    .app-shell { border-radius: 36px; margin-top: 20px; margin-bottom: 20px; min-height: calc(100vh - 40px); }
    .bottom-nav { border-radius: 0 0 36px 36px; }
    main { padding: 0 34px; }
    .hero-section { grid-template-columns: minmax(0, 1fr) 180px; padding-top: 42px; }
    h1 { font-size: clamp(54px, 7vw, 88px); }
    .hero-copy { max-width: 620px; font-size: 18px; }
    .hero-illustration { min-height: 170px; }
    .ball-orbit { width: 140px; height: 140px; }
    .batter-icon { font-size: 78px; }
    .filter-strip { margin-left: -34px; margin-right: -34px; padding-left: 34px; padding-right: 34px; }
    .pill { padding: 10px 16px; font-size: 14px; }
    .controls-row { grid-template-columns: 140px 190px 130px; justify-content: start; }
    .control-button, .control-select { min-height: 42px; border-radius: 15px; font-size: 14px; padding: 0 12px; }
    .map-card { height: 520px; }
    .content-section { max-width: none; }
    .club-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .event-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1020px) {
    .club-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .event-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* v5 map reset: OpenLayers only, no marker image dependencies */
#map { height: 100%; width: 100%; min-height: 100%; background: #dbeafe; }
#map .ol-viewport { border-radius: 28px; }
.ol-control button { background: rgba(255,255,255,.92) !important; color: #07143d !important; border-radius: 10px !important; font-weight: 900 !important; }
.ol-zoom { top: auto !important; left: auto !important; right: 12px !important; bottom: 12px !important; }
.ol-attribution { font-size: 10px; border-radius: 12px 0 0 0; }
.map-fallback { height: 100%; display: grid; place-items: center; padding: 24px; text-align: center; color: #07143d; font-weight: 800; }
.bottom-nav a b { font-size: 20px; line-height: 1; font-family: system-ui, sans-serif; }
.icon-button { font-family: system-ui, sans-serif; font-size: 23px; text-decoration: none; }
.control-button span { line-height: 1; }

@media (min-width: 900px) {
    .app-shell { max-width: 1180px; }
    .map-card { height: 560px; }
    .hero-section, .content-section, .controls-row, .filter-strip { max-width: none; }
    .pill { min-height: 38px; padding: 0 15px; font-size: 13px; }
    .control-button, .control-select { min-height: 42px; border-radius: 15px; font-size: 13px; }
    .controls-row { grid-template-columns: auto auto 150px; justify-content: start; }
    .filter-strip { overflow-x: auto; padding-bottom: 8px; }
}

/* v6 polish */
.filter-help {
    margin: -4px 0 14px;
    color: #667085;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 650;
}
.location-button.active {
    background: #fff1f3;
    color: #b4232f;
    border-color: #ffd1d7;
}
.control-select:disabled {
    opacity: .55;
    cursor: not-allowed;
    background: #f5f7fb;
}
.quick-links-section {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-top: 24px;
}
.quick-link-card {
    min-height: 104px;
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 16px;
    display: grid;
    align-content: end;
    gap: 6px;
    box-shadow: 0 8px 20px rgba(7,20,61,.04);
    position: relative;
    overflow: hidden;
}
.quick-link-card::before {
    content: '';
    position: absolute;
    width: 82px;
    height: 82px;
    border-radius: 50%;
    right: -24px;
    top: -24px;
    background: rgba(255,255,255,.55);
}
.quick-link-card strong {
    color: var(--navy);
    font-size: 16px;
    letter-spacing: -.02em;
    position: relative;
}
.quick-link-card span {
    color: #475467;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;
    position: relative;
}
.quick-link-card.events { background: linear-gradient(135deg, #e7f0ff, #f8fbff); }
.quick-link-card.marketplace { background: linear-gradient(135deg, #fff1d6, #fffaf0); }
.quick-link-card.sponsors { background: linear-gradient(135deg, #e2f7f0, #f5fffb); }
.quick-link-card.volunteers { background: linear-gradient(135deg, #ffe0ed, #fff7fb); }
.mini-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 9px;
}
.mini-tags .tag {
    padding: 5px 8px;
    font-size: 10px;
}
.club-list-card > div:last-child {
    min-width: 0;
}
.club-list-card:hover {
    border-color: #cfd8ea;
    transform: translateY(-1px);
}
.map-card {
    border: 1px solid rgba(231,235,243,.8);
}
.ol-zoom button {
    width: 34px !important;
    height: 34px !important;
}
.ol-attribution {
    opacity: .75;
}

@media (min-width: 760px) {
    .filter-help {
        max-width: 700px;
        margin-top: -2px;
    }
    .quick-links-section {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }
    .quick-link-card {
        min-height: 118px;
        padding: 18px;
    }
    .quick-link-card strong {
        font-size: 18px;
    }
}

@media (min-width: 900px) {
    .filter-strip {
        flex-wrap: wrap;
        overflow: visible;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
    }
    .controls-row {
        align-items: center;
    }
    .control-button, .control-select {
        width: auto;
    }
}

/* v7 product polish */
.quick-links-section {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.quick-link-card.finder { background: linear-gradient(135deg, #e7f0ff, #f8fbff); }
.quick-link-card.players { background: linear-gradient(135deg, #eef2ff, #fbfbff); }
.quick-link-card.events { background: linear-gradient(135deg, #e7f0ff, #f8fbff); }
.quick-link-card.marketplace { background: linear-gradient(135deg, #fff1d6, #fffaf0); }
.quick-link-card.sponsors { background: linear-gradient(135deg, #e2f7f0, #f5fffb); }
.quick-link-card.volunteers { background: linear-gradient(135deg, #ffe0ed, #fff7fb); }
.bottom-nav a {
    gap: 3px;
    line-height: 1.05;
}
.bottom-nav a b {
    font-family: Inter, system-ui, sans-serif;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.02em;
}
.bottom-nav a span {
    font-size: 10px;
    color: #667085;
}
.bottom-nav a.active span {
    color: #b4232f;
}
.club-list-card p {
    line-height: 1.35;
}
.map-overlay-note {
    pointer-events: none;
}

@media (min-width: 760px) {
    .quick-links-section {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1020px) {
    .quick-links-section {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .quick-link-card {
        min-height: 132px;
    }
}


/* v8 final homepage polish */
.quick-link-card,
.quick-link-card.finder,
.quick-link-card.players,
.quick-link-card.events,
.quick-link-card.marketplace,
.quick-link-card.sponsors,
.quick-link-card.volunteers,
.quick-link-card.coming-soon {
    background: linear-gradient(135deg, #f8fafc, #eef2f7) !important;
    border-color: #d9e1ec;
    color: inherit;
    text-decoration: none;
}
.quick-link-card em {
    position: relative;
    z-index: 1;
    width: fit-content;
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: #e5eaf1;
    color: #667085;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.quick-link-card.coming-soon::before {
    background: rgba(15, 23, 42, .04);
}
.quick-link-card.coming-soon strong {
    color: #344054;
}
.quick-link-card.coming-soon span {
    color: #667085;
}

/* v9 verification + admin */
.pill.verified.active, .tag.verified {
    background: #dbeafe;
    color: #1d4ed8;
}
.verified-rosette, .mini-rosette {
    display: inline-grid;
    place-items: center;
    margin-left: 8px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1d4ed8, #60a5fa);
    color: white;
    font-size: 13px;
    font-weight: 900;
    border: 2px solid #fff;
    box-shadow: 0 4px 12px rgba(29, 78, 216, .24);
    vertical-align: middle;
}
.mini-rosette {
    width: 18px;
    height: 18px;
    font-size: 10px;
    margin-left: 6px;
}
.club-list-meta {
    display: block;
    margin-top: 4px;
    color: #475467;
    font-size: 12px;
    font-weight: 700;
}
.admin-page main { padding: 24px 18px 120px; }
.admin-wrap { max-width: 1120px; margin: 0 auto; display: grid; gap: 18px; }
.admin-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: 0 14px 36px rgba(7,20,61,.06);
    padding: 18px;
}
.admin-card h1, .admin-card h2 { margin: 0 0 12px; color: var(--navy); letter-spacing: -.04em; }
.admin-card h1 { font-size: clamp(34px, 8vw, 54px); }
.admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-field { display: grid; gap: 6px; }
.admin-field label { font-size: 12px; color: #344054; font-weight: 900; }
.admin-field input, .admin-field textarea, .admin-field select {
    width: 100%;
    border: 1px solid #d8dfeb;
    border-radius: 14px;
    padding: 11px 12px;
    background: #fbfcff;
    color: #101828;
    font: inherit;
}
.admin-field textarea { min-height: 98px; resize: vertical; }
.admin-checks { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.admin-checks label {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 11px; border: 1px solid #d8dfeb; border-radius: 999px;
    background: #fbfcff; font-size: 13px; font-weight: 800;
}
.admin-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.admin-button {
    border: 0; border-radius: 999px; padding: 11px 16px;
    background: var(--navy); color: white; font-weight: 900; cursor: pointer;
}
.admin-button.secondary { background: #eef2f7; color: var(--navy); }
.admin-button.danger { background: #fee2e2; color: #991b1b; }
.notice { padding: 12px 14px; border-radius: 16px; background: #ecfdf3; color: #05603a; font-weight: 800; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.admin-table th, .admin-table td { padding: 11px 10px; border-bottom: 1px solid var(--line); text-align: left; font-size: 13px; }
.admin-table th { color: #475467; text-transform: uppercase; letter-spacing: .06em; font-size: 11px; }
.admin-table .row-actions { display: flex; gap: 8px; align-items: center; }
.admin-login { max-width: 460px; margin: 70px auto; }
@media (max-width: 760px) {
    .admin-grid, .admin-grid.three { grid-template-columns: 1fr; }
    .admin-card { padding: 14px; }
}

/* v14 verified rosette + club page */
.verified-rosette,
.mini-rosette {
    display: inline-grid;
    place-items: center;
    position: relative;
    vertical-align: middle;
    margin-left: 7px;
    color: #2563eb;
    line-height: 1;
}
.verified-rosette i,
.mini-rosette i { font-size: 21px; filter: drop-shadow(0 3px 6px rgba(37,99,235,.22)); }
.verified-rosette b,
.mini-rosette b {
    position: absolute;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-.5px);
}
.verified-rosette.large i { font-size: 32px; }
.verified-rosette.large b { font-size: 13px; }
.mini-rosette { margin-left: 5px; }
.mini-rosette i { font-size: 16px; }
.mini-rosette b { font-size: 7px; }
.tag.verified { background: #dbeafe; color: #1d4ed8; }

.club-page-shell main { padding-bottom: 24px; }
.club-hero-card {
    margin: 22px 0 18px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 32px;
    overflow: hidden;
    box-shadow: var(--shadow);
}
.club-hero-image {
    height: 210px;
    background: linear-gradient(135deg, #eaf2ff, #fff1f3);
    display: grid;
    place-items: center;
    overflow: hidden;
}
.club-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.club-hero-fallback { font-size: 74px; filter: drop-shadow(0 20px 28px rgba(7,20,61,.14)); }
.club-hero-content { padding: 0 20px 22px; margin-top: -38px; position: relative; }
.club-logo-large {
    width: 84px;
    height: 84px;
    border-radius: 26px;
    background: #fff;
    border: 4px solid #fff;
    box-shadow: 0 14px 34px rgba(7,20,61,.16);
    display: grid;
    place-items: center;
    font-size: 36px;
    margin-bottom: 14px;
    overflow: hidden;
}
.club-logo-large img { width: 100%; height: 100%; object-fit: cover; }
.club-title {
    font-size: clamp(34px, 9vw, 58px);
    line-height: 1;
    margin: 12px 0 10px;
    color: var(--navy);
    letter-spacing: -.055em;
}
.club-location-line { color: var(--muted); margin: 0 0 18px; font-weight: 600; line-height: 1.45; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.club-info-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}
.info-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 16px;
    box-shadow: 0 10px 24px rgba(7,20,61,.06);
}
.info-card span { display: block; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.info-card strong { color: var(--navy); font-size: 15px; line-height: 1.35; }
.club-detail-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr); gap: 16px; }
.content-panel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 28px;
    padding: 22px;
    box-shadow: 0 10px 24px rgba(7,20,61,.06);
}
.content-panel h2 { margin: 0 0 12px; color: var(--navy); font-size: 24px; letter-spacing: -.03em; }
.content-panel h3 { margin: 24px 0 10px; color: var(--navy); }
.content-panel p { color: var(--muted); line-height: 1.65; margin: 0 0 12px; }
.detail-list { display: grid; gap: 10px; }
.detail-list div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
}
.detail-list div:last-child { border-bottom: 0; }
.detail-list span { color: var(--muted); font-weight: 700; }
.detail-list strong { color: var(--navy); text-align: right; }
.club-mini-map { height: 230px; border-radius: 22px; overflow: hidden; background: #eaf2ff; margin: 14px 0; border: 1px solid var(--line); }
.small-button.full { width: 100%; justify-content: center; display: inline-flex; }
.contact-links { display: grid; gap: 9px; }
.contact-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 13px 14px;
    color: var(--navy);
    font-weight: 800;
    background: #f8fafc;
}
.empty-state-card {
    margin: 40px 0;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 28px;
    padding: 28px;
    box-shadow: var(--shadow);
}
.empty-state-card h1 { font-size: 42px; }

@media (max-width: 760px) {
    .club-info-grid { grid-template-columns: repeat(2, 1fr); }
    .club-detail-grid { grid-template-columns: 1fr; }
    .club-hero-image { height: 168px; }
    .content-panel { padding: 18px; border-radius: 24px; }
}


/* v15 verified badge: Font Awesome certificate only */
.verified-rosette b,
.mini-rosette b { display: none !important; }

.verified-rosette,
.mini-rosette {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    color: #2563eb;
    background: transparent;
    width: auto;
    height: auto;
    vertical-align: middle;
}

.verified-rosette i,
.mini-rosette i {
    color: #2563eb;
    line-height: 1;
    filter: drop-shadow(0 3px 6px rgba(37,99,235,.24));
}

.verified-rosette i { font-size: 22px; }
.verified-rosette.large i { font-size: 34px; }
.mini-rosette i { font-size: 16px; }

/* v16 Baseball Hub UK refinements */
.brand strong { font-size: clamp(15px, 3.4vw, 18px); }
.icon-button { border: 0; background: transparent; cursor: pointer; }

.search-panel,
.mobile-menu-panel {
    margin: 12px 18px 0;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(7,20,61,.08);
    padding: 14px;
    position: relative;
    z-index: 45;
}
.search-panel label {
    display: block;
    margin-bottom: 8px;
    color: var(--navy);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.search-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.search-row input {
    width: 100%;
    border: 1px solid #d8dfeb;
    border-radius: 16px;
    min-height: 44px;
    padding: 0 14px;
    font-weight: 700;
    outline: none;
}
.search-row input:focus { border-color: #2563eb; box-shadow: 0 0 0 4px rgba(37,99,235,.10); }
.search-row button {
    border: 0;
    border-radius: 16px;
    background: var(--navy);
    color: #fff;
    font-weight: 900;
    padding: 0 14px;
    cursor: pointer;
}
.mobile-menu-panel { display: grid; gap: 8px; }
.mobile-menu-panel a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 14px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid #eef2f7;
    font-weight: 900;
    color: var(--navy);
}
.mobile-menu-panel span {
    color: #667085;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.pill { padding: 10px 15px; font-size: 13px; }
.controls-row { grid-template-columns: .85fr 1.05fr .58fr; }
.control-button, .control-select { min-height: 44px; font-size: 13px; padding: 0 10px; }
.control-select { min-width: 74px; }

.verified-rosette,
.mini-rosette {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    width: auto !important;
    height: auto !important;
}
.verified-rosette i,
.mini-rosette i {
    filter: none !important;
    color: #2563eb;
}

.coming-soon-note {
    margin: -4px 0 14px;
    color: #667085;
    font-size: 14px;
    line-height: 1.45;
}
.event-list-preview { opacity: .82; }
.event-card.dummy-event {
    position: relative;
    border: 1px dashed #cfd8e6;
    background: #f8fafc;
}
.event-card.dummy-event::after {
    content: "Example";
    position: absolute;
    top: 10px;
    right: 10px;
    border-radius: 999px;
    padding: 4px 8px;
    background: #e5eaf1;
    color: #667085;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}

@media (max-width: 760px) {
    .filter-strip { gap: 7px; padding-bottom: 10px; }
    .pill { min-height: 34px; padding: 0 11px; font-size: 12px; }
    .controls-row { grid-template-columns: 1fr 1fr auto; gap: 7px; }
    .control-button, .control-select { min-height: 38px; border-radius: 13px; font-size: 12px; padding: 0 8px; gap: 5px; }
    .control-button span { display: none; }
    .control-select { width: 70px; min-width: 70px; }
    .selected-club-wrap { scroll-margin-top: 92px; }
}

@media (min-width: 761px) {
    .search-panel, .mobile-menu-panel { margin-left: 24px; margin-right: 24px; }
    .mobile-menu-panel { grid-template-columns: repeat(3, 1fr); }
}
.events-coming-card { text-align: left; }
.events-coming-card p:last-of-type { max-width: 680px; color: #667085; line-height: 1.55; }
.section-heading span { color: #667085; font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }

/* v17 cleanup + add club */
.verified-rosette,
.mini-rosette {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    color: #2563eb !important;
}
.verified-rosette i,
.mini-rosette i {
    filter: none !important;
}

.content-section {
    padding-top: 18px;
}
.section-heading {
    margin-bottom: 8px;
}
.club-list {
    gap: 9px;
}
.club-list-card {
    padding: 11px;
    border-radius: 18px;
}
.club-list-card .mini-logo {
    width: 38px;
    height: 38px;
}
.club-list-card p {
    margin-top: 2px;
}
.mini-tags {
    margin-top: 7px;
}
.tag {
    font-size: 11px;
    padding: 5px 8px;
}

.pill {
    min-height: 36px;
    padding: 0 14px;
    font-size: 13px;
}
.controls-row {
    grid-template-columns: 1fr 1.15fr auto;
    gap: 8px;
}
.control-button,
.control-select {
    min-height: 42px;
    padding: 0 11px;
    border-radius: 15px;
    font-size: 13px;
}
.control-select {
    min-width: 82px;
}

.floating-add-club {
    position: fixed;
    right: max(16px, calc((100vw - 1180px) / 2 + 18px));
    bottom: 92px;
    z-index: 60;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--navy);
    color: #fff;
    border-radius: 999px;
    padding: 11px 15px 11px 11px;
    font-weight: 900;
    font-size: 13px;
    box-shadow: 0 14px 32px rgba(7,20,61,.22);
}
.floating-add-club span {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(255,255,255,.16);
    display: grid;
    place-items: center;
    font-size: 20px;
    line-height: 1;
}

.add-club-page main {
    padding: 22px 18px 120px;
}
.add-club-wrap {
    max-width: 860px;
    margin: 0 auto;
    display: grid;
    gap: 16px;
}
.add-club-hero,
.add-club-form-card,
.success-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 28px;
    box-shadow: 0 14px 36px rgba(7,20,61,.07);
    padding: 20px;
}
.add-club-hero h1 {
    font-size: clamp(38px, 8vw, 62px);
}
.add-club-hero p,
.success-card p {
    color: var(--muted);
    line-height: 1.55;
}
.public-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.public-form-field {
    display: grid;
    gap: 6px;
}
.public-form-field.full {
    grid-column: 1 / -1;
}
.public-form-field label {
    font-size: 12px;
    color: #344054;
    font-weight: 900;
}
.public-form-field input,
.public-form-field textarea,
.public-form-field select {
    width: 100%;
    border: 1px solid #d8dfeb;
    border-radius: 15px;
    padding: 12px 13px;
    background: #fbfcff;
    color: #101828;
    font: inherit;
}
.public-form-field textarea {
    min-height: 110px;
    resize: vertical;
}
.public-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 4px 0 8px;
}
.public-checks label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #d8dfeb;
    border-radius: 999px;
    padding: 9px 11px;
    background: #fbfcff;
    font-size: 13px;
    font-weight: 800;
}
.form-note {
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 12px 14px;
    color: #475467;
    font-size: 13px;
    line-height: 1.5;
}
.error-card {
    background: #fff1f3;
    border: 1px solid #ffd6dc;
    color: #9f1239;
    padding: 12px 14px;
    border-radius: 18px;
    font-weight: 800;
}
.honeypot { display: none !important; }

@media (max-width: 760px) {
    .filter-strip {
        gap: 7px;
        padding-bottom: 9px;
    }
    .pill {
        min-height: 34px;
        padding: 0 12px;
        font-size: 12px;
    }
    .controls-row {
        grid-template-columns: 1fr 1fr 76px;
    }
    .control-button,
    .control-select {
        min-height: 39px;
        font-size: 12px;
        padding: 0 8px;
        gap: 5px;
    }
    .control-select {
        min-width: 76px;
        font-size: 12px;
    }
    .selected-club-wrap {
        margin-top: -38px;
    }
    .content-section {
        padding-top: 14px;
    }
    .club-list-card {
        padding: 10px;
    }
    .floating-add-club {
        bottom: 84px;
        right: 12px;
        padding: 9px 12px 9px 9px;
        font-size: 12px;
    }
    .floating-add-club span {
        width: 24px;
        height: 24px;
    }
    .public-form-grid {
        grid-template-columns: 1fr;
    }
    .add-club-hero,
    .add-club-form-card,
    .success-card {
        padding: 16px;
        border-radius: 24px;
    }
}

/* v18 layout polish */
main { padding-top: 0; }
.hero-section {
    padding: 16px 0 10px;
    grid-template-columns: 1fr 82px;
}
.eyebrow { margin-bottom: 5px; font-size: 9px; }
h1 { font-size: clamp(34px, 10vw, 54px); }
.hero-copy { margin-top: 10px; font-size: 14px; line-height: 1.42; }
.hero-illustration { min-height: 86px; }
.ball-orbit { width: 72px; height: 72px; }
.batter-icon { font-size: 42px; }
.filter-strip { margin-bottom: 4px; padding-bottom: 8px; }
.filter-help { margin: 8px 0 10px; font-size: 12px; }
.map-card { margin-top: 8px; }
.selected-club-wrap { margin-top: -30px; padding: 0 6px; }
.content-section { padding-top: 14px; }
.section-heading h2 { font-size: 21px; }
.club-list { gap: 8px; }
.club-list-card { padding: 10px; border-radius: 17px; }
.club-list-card .mini-logo { width: 36px; height: 36px; border-radius: 13px; }
.mini-tags .tag { padding: 5px 8px; font-size: 10px; }

.search-row input { font-size: 16px; }
.search-panel { scroll-margin-top: 0; }

.feature-strip-section { padding-top: 16px; }
.compact-heading { margin-bottom: 10px; }
.compact-heading span {
    color: #667085;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.coming-tools-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.coming-tools-strip a {
    background: #f6f7fa;
    border: 1px solid #e4e7ec;
    border-radius: 18px;
    padding: 12px;
    color: #667085;
}
.coming-tools-strip strong {
    display: block;
    color: #344054;
    font-size: 13px;
    margin-bottom: 4px;
}
.coming-tools-strip small {
    display: inline-flex;
    border-radius: 999px;
    padding: 4px 8px;
    background: #eaecf0;
    color: #667085;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.feature-menu a { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.feature-menu a strong { font-size: 14px; }
.feature-menu a span { align-self: center; }

.minimal-bottom-nav {
    grid-template-columns: repeat(3, 1fr) !important;
    height: 72px;
}
.minimal-bottom-nav a {
    gap: 3px;
    font-size: 11px;
}
.minimal-bottom-nav a i {
    font-size: 22px;
    line-height: 1;
}
.minimal-bottom-nav .add-action i {
    font-size: 31px;
}
.minimal-bottom-nav a span {
    display: block;
    font-size: 10px;
    font-weight: 900;
}

@media (min-width: 760px) {
    .hero-section {
        padding-top: 22px;
        grid-template-columns: minmax(0, 1fr) 130px;
    }
    h1 { font-size: clamp(48px, 5.8vw, 70px); }
    .hero-copy { font-size: 16px; max-width: 560px; }
    .hero-illustration { min-height: 120px; }
    .ball-orbit { width: 104px; height: 104px; }
    .batter-icon { font-size: 60px; }
    .map-card { height: 500px; }
    .coming-tools-strip { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .selected-club-wrap { margin-top: -34px; }
}

@media (max-width: 760px) {
    .topbar { height: 70px; padding: 14px 16px; }
    .brand-mark { width: 34px; height: 34px; }
    .brand strong { font-size: 14px; }
    .brand em { font-size: 9px; }
    .icon-button { width: 38px; height: 38px; border-radius: 14px; }
    .hero-section { padding-top: 12px; }
    .controls-row { grid-template-columns: .9fr 1fr 66px; }
    .control-select { width: 66px; min-width: 66px; }
    .control-button, .control-select { font-size: 11px; }
    .club-card { grid-template-columns: 72px 1fr; padding: 10px; border-radius: 22px; }
    .club-image { min-height: 88px; border-radius: 15px; }
    .club-details h3 { font-size: 18px; }
    .club-details p { font-size: 12px; }
    .meta-row { font-size: 11px; gap: 7px; }
    .club-actions { margin-top: 8px; }
}

/* v19.1 safe menu hide patch */
[hidden],
.search-panel[hidden],
.mobile-menu-panel[hidden],
.feature-menu[hidden],
#mobileMenuPanel[hidden],
#searchPanel[hidden] {
    display: none !important;
    visibility: hidden !important;
}

.verified-rosette i,
.mini-rosette i {
    filter: none !important;
    text-shadow: none !important;
}

/* v20 homepage tightening + search/featured layout */
.hero-section {
    padding: 18px 0 12px;
    grid-template-columns: 1fr 82px;
}
.hero-copy { margin-top: 10px; font-size: 14px; }
.hero-illustration { min-height: 82px; }
.ball-orbit { width: 70px; height: 70px; }
h1 { font-size: clamp(36px, 10vw, 56px); }
.filter-strip { margin-top: 4px; }
.filter-help { margin: 8px 0 10px; }
.controls-row { margin-top: 8px; }
.map-card { margin-top: 10px; }
.compact-results-section { padding-top: 18px; }
.compact-results-section .section-heading { margin-bottom: 10px; }
.compact-results-section .section-heading span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}
.featured-list { gap: 10px; }
.featured-club-card {
    border-color: rgba(37,99,235,.18);
    background: linear-gradient(135deg, #ffffff, #f8fbff);
}
.club-list-card .mini-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}
.search-row { grid-template-columns: 1fr auto auto; }
.search-row input { font-size: 16px; }
.search-row button#clearSearch { background: #eef2f7; color: var(--navy); }
.site-footer {
    margin: 30px 18px 96px;
    padding: 20px;
    border-radius: 26px;
    background: #07143d;
    color: #fff;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}
.site-footer strong { font-size: 18px; }
.site-footer p { margin: 6px 0 0; color: rgba(255,255,255,.72); line-height: 1.45; }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.footer-links a {
    color: #fff;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 900;
}
.logo-verified-wrap { position: relative; overflow: visible; }
.logo-rosette {
    position: absolute;
    right: -10px;
    bottom: -6px;
    margin: 0;
    color: #2563eb;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
}
.logo-rosette i { font-size: 30px !important; filter: none !important; }
.verified-rosette,
.mini-rosette {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    color: #2563eb;
}
.verified-rosette i,
.mini-rosette i { filter: none !important; text-shadow: none !important; }
@media (min-width: 880px) {
    .hero-section { grid-template-columns: minmax(0, 1fr) 130px; padding-top: 24px; }
    .hero-illustration { min-height: 100px; }
    .ball-orbit { width: 88px; height: 88px; }
    .compact-results-section { max-width: 980px; margin-left: auto; margin-right: auto; }
    .site-footer { max-width: 1180px; margin-left: auto; margin-right: auto; margin-bottom: 98px; }
}
@media (max-width: 620px) {
    .hero-section { grid-template-columns: 1fr 58px; gap: 6px; }
    .hero-illustration { min-height: 58px; }
    .ball-orbit { width: 52px; height: 52px; }
    .batter-icon { font-size: 10px; padding: 8px 10px; }
    .eyebrow { font-size: 9px; margin-bottom: 5px; }
    .hero-copy { font-size: 13px; line-height: 1.4; }
    .search-row { grid-template-columns: 1fr; }
    .search-row button { min-height: 42px; }
    .site-footer { flex-direction: column; margin-bottom: 94px; }
    .footer-links { justify-content: flex-start; }
}


/* v21 visual tidy: simpler hero, left-aligned content blocks, no footer */
.hero-section {
    display: block !important;
    padding: 12px 0 8px !important;
}
.hero-illustration,
.ball-orbit,
.batter-icon {
    display: none !important;
}
.hero-copy {
    max-width: 560px;
}
.compact-results-section,
.content-section.last-section {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.compact-results-section {
    padding-top: 24px !important;
    margin-top: 16px !important;
}
.content-section.last-section {
    margin-top: 32px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(15, 23, 42, .08);
}
.compact-results-section .section-heading,
.content-section.last-section .section-heading {
    align-items: flex-end;
    margin-bottom: 14px !important;
}
.compact-results-section .section-heading span:empty {
    display: none;
}
.featured-list,
.club-list {
    align-items: stretch;
    justify-content: flex-start;
}
.club-list-card,
.featured-club-card {
    width: 100%;
    max-width: 760px;
}
.site-footer {
    display: none !important;
}
@media (min-width: 880px) {
    .hero-section {
        padding-top: 18px !important;
    }
    .compact-results-section {
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .club-list-card,
    .featured-club-card {
        max-width: 820px;
    }
}
@media (max-width: 620px) {
    .hero-section {
        padding-top: 8px !important;
    }
    .compact-results-section {
        margin-top: 12px !important;
    }
    .content-section.last-section {
        margin-top: 24px !important;
    }
}

/* v22 shared-ground chooser and event preview polish */
.multi-club-card .club-details.full-width { width: 100%; }
.multi-club-list { display: grid; gap: 10px; margin-top: 12px; }
.multi-club-option { width: 100%; border: 1px solid rgba(7,20,61,.10); background: #fff; border-radius: 18px; padding: 12px; display: grid; grid-template-columns: 42px 1fr; column-gap: 12px; text-align: left; align-items: center; cursor: pointer; box-shadow: 0 8px 22px rgba(7,20,61,.06); }
.multi-club-option:hover { border-color: rgba(37,99,235,.28); transform: translateY(-1px); }
.multi-club-option span { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; background: #f5f7fb; overflow: hidden; grid-row: span 2; }
.multi-club-option img { width: 100%; height: 100%; object-fit: cover; }
.multi-club-option strong { font-size: .98rem; color: #07143d; display: flex; gap: 6px; align-items: center; }
.multi-club-option small { color: #667085; margin-top: 2px; }
.event-list-preview { margin-top: 14px; }
.dummy-event { position: relative; }
.dummy-event::after { content: 'Example'; position: absolute; top: 10px; right: 10px; background: #eef2ff; color: #3730a3; font-size: .68rem; font-weight: 800; padding: 4px 7px; border-radius: 999px; text-transform: uppercase; letter-spacing: .03em; }

/* v23 shared-ground selector width fix */
.selected-club-wrap.shared-ground-active {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.selected-club-wrap.shared-ground-active .multi-club-card {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}
.selected-club-wrap.shared-ground-active .multi-club-list {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
@media (max-width: 760px) {
    .selected-club-wrap.shared-ground-active .multi-club-list {
        grid-template-columns: 1fr;
    }
}


/* v24 shared-ground selector card tidy */
.selected-club-wrap.shared-ground-active {
    width: 100%;
    max-width: none;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.selected-club-wrap.shared-ground-active .multi-club-card {
    display: block !important;
    width: 100%;
    max-width: none !important;
    padding: 14px;
    border-radius: 24px;
    box-sizing: border-box;
}
.selected-club-wrap.shared-ground-active .club-details.full-width {
    display: block;
    width: 100%;
    max-width: none;
    grid-column: 1 / -1;
}
.selected-club-wrap.shared-ground-active .tag-row {
    margin-bottom: 8px;
}
.selected-club-wrap.shared-ground-active .multi-club-card h3 {
    margin: 0 0 4px;
    width: 100%;
    font-size: 20px;
    line-height: 1.12;
}
.selected-club-wrap.shared-ground-active .multi-club-card p {
    margin: 0 0 12px;
    width: 100%;
}
.selected-club-wrap.shared-ground-active .multi-club-list {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 8px;
    width: 100%;
    margin-top: 10px;
}
.selected-club-wrap.shared-ground-active .multi-club-option {
    width: 100%;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 11px;
    row-gap: 2px;
    align-items: center;
    padding: 11px 12px;
    border-radius: 18px;
    box-sizing: border-box;
}
.selected-club-wrap.shared-ground-active .multi-club-option span {
    grid-row: 1 / 3;
}
.selected-club-wrap.shared-ground-active .multi-club-option strong,
.selected-club-wrap.shared-ground-active .multi-club-option small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.selected-club-wrap.shared-ground-active .multi-club-option small {
    display: block;
}
@media (max-width: 520px) {
    .selected-club-wrap.shared-ground-active .multi-club-card {
        padding: 12px;
        border-radius: 22px;
    }
    .selected-club-wrap.shared-ground-active .multi-club-card h3 {
        font-size: 18px;
    }
    .selected-club-wrap.shared-ground-active .multi-club-option {
        grid-template-columns: 40px minmax(0, 1fr);
        padding: 10px;
    }
    .selected-club-wrap.shared-ground-active .multi-club-option span {
        width: 40px;
        height: 40px;
        border-radius: 13px;
    }
}

/* v25 claim process */
.claim-page main { padding-bottom: 96px; }
.claim-wrap { display: grid; gap: 18px; width: 100%; }
.claim-intro-card,
.claim-form-card,
.claim-card {
  background: #fff;
  border: 1px solid #e5ebf4;
  border-radius: 24px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
  padding: 22px;
}
.claim-intro-card h1 { margin: 4px 0 10px; font-size: clamp(30px, 7vw, 54px); line-height: .98; letter-spacing: -.05em; }
.claim-intro-card h1 span { color: #2563eb; }
.claim-intro-card p { color: #475569; line-height: 1.55; }
.claim-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.claim-rules div { background: #f8fafc; border: 1px solid #e5ebf4; border-radius: 18px; padding: 14px; display: grid; gap: 6px; }
.claim-rules i { color: #2563eb; font-size: 20px; }
.claim-rules strong { font-size: 14px; }
.claim-rules span { color: #64748b; font-size: 13px; line-height: 1.4; }
.claim-form-card h2 { margin: 18px 0 10px; font-size: 18px; letter-spacing: -.02em; }
.claim-form-card h2:first-child { margin-top: 0; }
.claim-form-card textarea { min-height: 112px; }
@media (max-width: 760px) {
  .claim-rules { grid-template-columns: 1fr; }
  .claim-intro-card,
  .claim-form-card,
  .claim-card { padding: 18px; border-radius: 22px; }
}

/* v27 account and club dashboard */
.auth-page,.dashboard-shell{min-height:100vh;background:#f6f8fb;color:#0f172a;font-family:Inter,system-ui,Arial,sans-serif;padding:22px;box-sizing:border-box}.auth-card{max-width:440px;margin:8vh auto;background:#fff;border:1px solid #e5ebf4;border-radius:26px;box-shadow:0 18px 55px rgba(15,23,42,.1);padding:24px}.auth-card h1,.dashboard-head h1{margin:10px 0 6px;letter-spacing:-.04em}.mini-back{display:inline-flex;color:#2563eb;text-decoration:none;font-weight:800;font-size:14px;margin-bottom:8px}.stack-form,.dashboard-form{display:grid;gap:14px}.stack-form label,.dashboard-form label{font-size:13px;font-weight:900;color:#475569}.stack-form input,.dashboard-form input,.dashboard-form textarea{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #dbe3ef;border-radius:14px;padding:12px 13px;background:#fff;color:#0f172a;font:inherit}.dashboard-form textarea{min-height:92px;resize:vertical}.primary-button,.secondary-button{border:0;border-radius:14px;padding:12px 15px;font-weight:950;cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button{background:#0f172a;color:#fff}.secondary-button{background:#e2e8f0;color:#0f172a}.as-link{text-decoration:none}.small-muted{font-size:13px;color:#64748b}.form-error,.form-success{padding:12px 14px;border-radius:16px;font-weight:850;margin:12px 0}.form-error{background:#fee2e2;color:#991b1b}.form-success{background:#dcfce7;color:#166534}.dashboard-shell{max-width:1180px;margin:0 auto}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.dashboard-head p{margin:0;color:#64748b}.dashboard-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.dashboard-card{background:#fff;border:1px solid #e5ebf4;border-radius:24px;box-shadow:0 16px 45px rgba(15,23,42,.08);padding:20px}.club-switcher h2,.edit-club-panel h2{margin-top:0}.owned-club-link{display:grid;gap:3px;text-decoration:none;color:#0f172a;border:1px solid #e5ebf4;border-radius:16px;padding:13px;margin-top:10px;background:#fbfdff}.owned-club-link span{color:#64748b;font-size:12px;font-weight:800}.owned-club-link.active{border-color:#93c5fd;background:#eff6ff}.edit-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.edit-panel-head p{margin:0;color:#64748b}.dash-logo{width:58px;height:58px;border-radius:18px;object-fit:contain;background:#f8fafc;border:1px solid #e5ebf4;padding:6px;float:left;margin:0 12px 8px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .full{grid-column:1/-1}.dashboard-checks{display:flex;flex-wrap:wrap;gap:9px;margin:6px 0 2px}.dashboard-checks label{background:#f8fafc;border:1px solid #dbe3ef;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:900;color:#334155}.dashboard-checks input{margin-right:6px}.profile-link-hint{font-size:12px;color:#64748b}@media(max-width:800px){.auth-page,.dashboard-shell{padding:14px}.dashboard-head{flex-direction:column}.dashboard-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.edit-panel-head{flex-direction:column}.auth-card{margin:4vh auto}}

/* v30 public add-club location picker */
.public-location-picker {
    background: #f8fafc;
    border: 1px solid #e5ebf4;
    border-radius: 22px;
    padding: 14px;
    box-sizing: border-box;
}
.public-location-picker > label {
    display: block;
    margin-bottom: 8px;
}
.location-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}
.location-status {
    display: block;
    margin-top: 9px;
    color: #64748b;
    font-weight: 750;
    line-height: 1.35;
}
.location-status.success { color: #047857; }
.location-status.error { color: #b91c1c; }
.public-map-picker-wrap {
    margin-top: 12px;
    background: #fff;
    border: 1px solid #e5ebf4;
    border-radius: 20px;
    padding: 10px;
}
.public-map-picker {
    width: 100%;
    height: 300px;
    border-radius: 16px;
    overflow: hidden;
    background: #e2e8f0;
}
.map-help {
    margin: 8px 2px 0;
    font-size: 12px;
    color: #64748b;
    line-height: 1.4;
}
.coord-details.public-coords {
    margin-top: 10px;
    background: #fff;
    border: 1px solid #e5ebf4;
    border-radius: 16px;
    padding: 10px 12px;
}
.coord-details.public-coords summary {
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    color: #475569;
}
@media (max-width: 640px) {
    .location-search-row {
        grid-template-columns: 1fr;
    }
    .location-search-row .admin-button {
        width: 100%;
    }
    .public-map-picker {
        height: 260px;
    }
}

.pill.baseball,.tag.baseball{background:#dbeafe;color:#0b2a5b;}
.pill.both,.tag.both{background:#ede9fe;color:#6d28d9;}
.pill.coed,.tag.coed{background:#fef3c7;color:#92400e;}
.public-form-field select,.admin-field select{width:100%;border:1px solid #dbe3ef;border-radius:14px;padding:12px 14px;background:#fff;font:inherit;color:#0f172a;}


/* v34: clear multi-select filter active state */
.pill.active,
.pill.baseball.active,
.pill.softball.active,
.pill.both.active,
.pill.men.active,
.pill.women.active,
.pill.youth.active,
.pill.university.active,
.pill.verified.active,
.pill.beginner.active,
.pill.recruiting.active,
.pill.coed.active,
.filter-strip .pill.active,
.filter-strip button.active {
    background: #0f172a !important;
    color: #ffffff !important;
    border-color: #0f172a !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.18) !important;
}

.site-logo{
    height:58px;
    width:auto;
    display:block;
    object-fit:contain;
}
.brand.logo-brand{
    gap:10px;
}
.brand.logo-brand span:not(.sr-only){display:none;}
.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
@media(max-width:700px){
    .site-logo{height:44px;}
}

/* v35 Events */
.simple-page-head{max-width:980px;margin:0 auto 24px;padding:22px 16px 4px}.simple-page-head h1{margin:18px 0 8px;font-size:clamp(2rem,5vw,4rem);letter-spacing:-.05em}.simple-page-head p{max-width:700px;color:#5b6472;font-size:1.05rem;line-height:1.55}.events-shell,.form-page-shell{padding-bottom:90px}.full-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;max-width:1120px;margin:0 auto;padding:0 16px}.event-card-public{position:relative;overflow:hidden;border:1px solid #e8edf4;border-radius:26px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.08)}.event-poster{width:100%;height:170px;object-fit:cover;display:block}.event-date-badge{position:absolute;top:14px;right:14px;background:#0f172a;color:#fff;border-radius:18px;padding:10px 12px;text-align:center;box-shadow:0 10px 25px rgba(15,23,42,.22)}.event-date-badge strong{display:block;font-size:1.05rem}.event-date-badge span{font-size:.75rem;opacity:.8}.event-card-body{padding:20px}.event-type-pill{display:inline-flex;background:#edf2ff;color:#1d4ed8;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800;margin-bottom:10px}.event-card h2{margin:0 0 8px;font-size:1.28rem}.event-meta{color:#64748b;margin:6px 0}.event-actions{margin-top:16px}.empty-panel{max-width:760px;margin:0 auto;padding:34px 24px;background:#fff;border:1px solid #e8edf4;border-radius:28px;text-align:center;box-shadow:0 18px 50px rgba(15,23,42,.08)}.public-form{max-width:920px;margin:0 auto;padding:0 16px}.form-card{background:#fff;border:1px solid #e8edf4;border-radius:26px;padding:22px;margin-bottom:18px;box-shadow:0 18px 50px rgba(15,23,42,.06)}.form-card h2{margin:0 0 14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#172033}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.admin-action-row input{border:1px solid #d9e2ef;border-radius:14px;padding:12px 13px;font:inherit;background:#fff}.form-hint{color:#64748b;margin-top:-4px}.big-submit{width:100%;justify-content:center;margin:6px 0 20px}.admin-review-card{border:1px solid #e8edf4;border-radius:20px;padding:16px;margin:12px 0;background:#fff}.admin-review-card h3{margin:0 0 8px}.admin-review-card.compact{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.admin-action-row input{flex:1;min-width:220px}.danger-button{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;padding:10px 16px;font-weight:900;cursor:pointer}.site-logo{height:58px;width:auto;display:block}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.admin-review-card.compact{display:block}.site-logo{height:44px}.simple-page-head{padding-top:14px}}

/* v36 polished events pages */
.polished-events-page,
.polished-form-page{
    background:linear-gradient(180deg,#f8fafc 0%,#ffffff 52%);
    min-height:100vh;
    color:#0f172a;
}
.bhuk-page-header{
    max-width:1120px;
    margin:0 auto;
    padding:18px 16px 10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.brand-link{display:inline-flex;align-items:center;text-decoration:none;}
.page-nav-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.quiet-nav-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid #e2e8f0;
    background:#fff;
    color:#0f172a;
    text-decoration:none;
    font-weight:900;
    font-size:14px;
    border-radius:999px;
    padding:11px 14px;
    box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.events-hero-card{
    max-width:1120px;
    margin:16px auto 26px;
    padding:28px;
    border-radius:32px;
    background:
        radial-gradient(circle at top right, rgba(239,68,68,.14), transparent 34%),
        linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
    border:1px solid #e6edf7;
    box-shadow:0 22px 65px rgba(15,23,42,.09);
    display:grid;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:20px;
    align-items:end;
}
.events-hero-card h1{
    margin:10px 0 10px;
    font-size:clamp(2.15rem,5vw,4.45rem);
    line-height:.96;
    letter-spacing:-.065em;
    color:#0f172a;
}
.events-hero-card h1 span{color:#e11d48;}
.events-hero-card p{
    margin:0;
    max-width:720px;
    color:#596579;
    font-size:1.06rem;
    line-height:1.55;
}
.eyebrow-pill{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    background:#fee2e2;
    color:#991b1b;
    padding:7px 12px;
    font-size:.78rem;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.events-hero-panel{
    background:#0f172a;
    color:#fff;
    border-radius:24px;
    padding:18px;
    box-shadow:0 18px 35px rgba(15,23,42,.16);
}
.events-hero-panel strong{display:block;font-size:1.05rem;margin-bottom:5px;}
.events-hero-panel span{display:block;color:#cbd5e1;font-size:.92rem;line-height:1.45;}
.polished-event-grid{align-items:stretch;}
.polished-event-card{
    transition:transform .18s ease, box-shadow .18s ease;
}
.polished-event-card:hover{
    transform:translateY(-3px);
    box-shadow:0 24px 65px rgba(15,23,42,.12);
}
.polished-empty-panel{margin-top:10px;}
.submit-event-hero{margin-bottom:22px;}
@media(max-width:820px){
    .bhuk-page-header{padding-top:14px;}
    .events-hero-card{grid-template-columns:1fr;margin:10px 14px 20px;padding:22px;border-radius:26px;}
    .events-hero-panel{padding:15px;border-radius:20px;}
    .page-nav-actions{justify-content:flex-end;}
    .quiet-nav-btn{padding:10px 12px;font-size:13px;}
}
@media(max-width:520px){
    .bhuk-page-header{align-items:flex-start;}
    .page-nav-actions{gap:7px;}
    .quiet-nav-btn span{display:none;}
    .events-hero-card h1{font-size:2.2rem;}
}


/* v37 Apple-style events redesign */
.events-hero-simple{
    grid-template-columns:1fr !important;
    align-items:start;
    margin-top:12px;
    margin-bottom:30px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}
.events-hero-simple h1{margin-top:0;}
.events-hero-simple .eyebrow-pill,
.events-hero-simple .events-hero-panel{display:none !important;}
.page-nav-actions-clean{flex-wrap:nowrap;}
.page-nav-actions-clean .quiet-nav-btn,
.page-nav-actions-clean .nav-primary{
    min-width:132px;
    height:42px;
    box-sizing:border-box;
    padding:0 15px;
    border-radius:999px;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(14px);
    box-shadow:0 10px 30px rgba(15,23,42,.06);
    border:1px solid #e5ebf4;
    color:#0f172a;
}
.page-nav-actions-clean .nav-primary{
    background:#0f172a;
    color:#fff;
    border-color:#0f172a;
}
.polished-event-grid.full-event-grid{
    max-width:1120px;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:18px;
    align-items:stretch;
}
.event-card-redesign{
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    gap:16px;
    padding:18px;
    min-height:100%;
    box-sizing:border-box;
    overflow:visible;
}
.event-date-block{
    width:74px;
    height:74px;
    border-radius:22px;
    background:#0f172a;
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    box-shadow:0 14px 30px rgba(15,23,42,.16);
    flex-shrink:0;
}
.event-date-block strong{font-size:1.7rem;line-height:1;font-weight:950;letter-spacing:-.04em;}
.event-date-block span{font-size:.78rem;font-weight:900;text-transform:uppercase;color:#cbd5e1;margin-top:5px;}
.event-card-main{min-width:0;display:flex;flex-direction:column;align-items:flex-start;}
.event-card-topline{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.event-card-topline span{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    border-radius:999px;
    background:#f1f5f9;
    color:#475569;
    padding:4px 9px;
    font-size:.76rem;
    font-weight:850;
}
.event-card-main h2{margin:0 0 8px;font-size:1.24rem;line-height:1.15;letter-spacing:-.035em;color:#0f172a;}
.event-card-main .event-meta{margin:5px 0;color:#64748b;font-size:.94rem;line-height:1.4;}
.event-card-main .event-meta a{color:#0f172a;font-weight:850;text-decoration:none;border-bottom:1px solid #cbd5e1;}
.event-description{margin:12px 0 0;color:#334155;line-height:1.5;font-size:.95rem;}
.event-link-clean{margin-top:auto;padding-top:14px;color:#0f172a;text-decoration:none;font-weight:900;font-size:.94rem;display:inline-flex;gap:7px;align-items:center;}
.event-link-clean i{font-size:.82rem;}

/* Submit event page clean form */
.polished-form-page .public-form{
    max-width:920px;
    width:100%;
    box-sizing:border-box;
    padding:0 16px 36px;
}
.polished-form-page .form-card{
    padding:24px;
    border-radius:28px;
    box-sizing:border-box;
}
.polished-form-page .form-card h2{
    font-size:1.35rem;
    letter-spacing:-.035em;
    margin-bottom:18px;
}
.polished-form-page .form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    width:100%;
    box-sizing:border-box;
}
.polished-form-page .form-grid label{
    font-weight:650;
    color:#475569;
    font-size:.92rem;
    min-width:0;
}
.polished-form-page .form-grid input,
.polished-form-page .form-grid select,
.polished-form-page .form-grid textarea{
    width:100%;
    box-sizing:border-box;
    border-radius:16px;
    border:1px solid #dbe3ef;
    background:#fff;
    padding:13px 14px;
    color:#0f172a;
    font:inherit;
    font-size:1rem;
}
.polished-form-page .form-grid textarea{resize:vertical;min-height:120px;}
.polished-form-page .form-hint{font-size:.92rem;color:#64748b;line-height:1.45;}
.polished-form-page .big-submit{
    min-height:52px;
    border-radius:18px;
    font-size:1rem;
    box-sizing:border-box;
}
@media(max-width:760px){
    .bhuk-page-header{align-items:center;}
    .page-nav-actions-clean{gap:8px;}
    .page-nav-actions-clean .quiet-nav-btn,
    .page-nav-actions-clean .nav-primary{min-width:46px;width:46px;height:42px;padding:0;}
    .page-nav-actions-clean .quiet-nav-btn span,
    .page-nav-actions-clean .nav-primary span{display:none;}
    .events-hero-simple{margin:8px 14px 22px;padding:22px;border-radius:26px;}
    .events-hero-simple h1{font-size:2.15rem;line-height:1;}
    .polished-event-grid.full-event-grid{grid-template-columns:1fr;padding:0 14px;gap:14px;}
    .event-card-redesign{grid-template-columns:60px minmax(0,1fr);gap:13px;padding:15px;border-radius:24px;}
    .event-date-block{width:60px;height:60px;border-radius:18px;}
    .event-date-block strong{font-size:1.42rem;}
    .event-card-main h2{font-size:1.12rem;}
    .polished-form-page .public-form{padding:0 14px 34px;max-width:100%;overflow:hidden;}
    .polished-form-page .form-grid{grid-template-columns:1fr;gap:14px;}
    .polished-form-page .form-card{padding:18px;border-radius:24px;}
}

/* v38 Apple-style event card refinement */
.polished-event-grid.full-event-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
    gap:16px;
    align-items:stretch;
}
.event-card-redesign{
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    gap:14px;
    padding:16px;
    min-height:auto;
    border-radius:24px;
    border:1px solid rgba(226,232,240,.95);
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 32px rgba(15,23,42,.055);
    overflow:hidden;
}
.event-card-redesign:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 46px rgba(15,23,42,.09);
}
.event-date-block{
    width:68px;
    height:68px;
    border-radius:20px;
    background:linear-gradient(180deg,#111827 0%,#020617 100%);
    box-shadow:none;
}
.event-date-block strong{
    font-size:1.58rem;
    line-height:.95;
    font-weight:950;
}
.event-date-block span{
    font-size:.72rem;
    letter-spacing:.08em;
    color:#e2e8f0;
    margin-top:5px;
}
.event-card-main{
    min-width:0;
    display:grid;
    grid-template-rows:auto auto auto auto 1fr;
    align-content:start;
    gap:0;
}
.event-card-topline{
    margin:0 0 7px;
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}
.event-card-topline span{
    min-height:22px;
    padding:3px 8px;
    border-radius:999px;
    background:#f3f6fb;
    color:#64748b;
    font-size:.72rem;
    font-weight:850;
    line-height:1;
}
.event-card-main h2{
    margin:0 0 7px;
    font-size:1.18rem;
    line-height:1.14;
    letter-spacing:-.035em;
    color:#0f172a;
}
.event-card-main .event-meta{
    width:100%;
    text-align:left;
    display:flex;
    align-items:center;
    gap:7px;
    margin:2px 0;
    color:#64748b;
    font-size:.9rem;
    line-height:1.28;
    font-weight:600;
}
.event-card-main .event-meta i{
    width:14px;
    text-align:center;
    color:#94a3b8;
    flex:0 0 14px;
}
.event-card-main .event-meta a{
    color:#0f172a;
    text-decoration:none;
    border:0;
    font-weight:800;
}
.event-description{
    margin:8px 0 0;
    color:#475569;
    font-size:.92rem;
    line-height:1.38;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.event-card-footer{
    margin-top:12px;
    display:flex;
    align-items:center;
}
.event-link-clean{
    margin:0;
    padding:0;
    color:#0f172a;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:999px;
    min-height:34px;
    padding-inline:13px;
    text-decoration:none;
    font-weight:900;
    font-size:.9rem;
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.event-link-clean:hover{background:#0f172a;color:#fff;border-color:#0f172a;}
.event-link-muted{
    color:#94a3b8;
    font-size:.88rem;
    font-weight:800;
}
@media(max-width:760px){
    .polished-event-grid.full-event-grid{grid-template-columns:1fr;padding:0 14px;gap:12px;}
    .event-card-redesign{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:14px;border-radius:22px;}
    .event-date-block{width:58px;height:58px;border-radius:17px;}
    .event-date-block strong{font-size:1.34rem;}
    .event-date-block span{font-size:.66rem;}
    .event-card-main h2{font-size:1.08rem;margin-bottom:6px;}
    .event-card-main .event-meta{font-size:.86rem;}
    .event-description{font-size:.88rem;-webkit-line-clamp:2;}
}

/* v39 final event card polish */
.polished-event-grid.full-event-grid{
    grid-template-columns:repeat(auto-fit,minmax(380px,1fr));
    gap:22px;
}
.event-card-redesign{
    grid-template-columns:76px minmax(0,1fr);
    gap:18px;
    padding:20px;
    border-radius:26px;
    box-shadow:0 14px 38px rgba(15,23,42,.065);
}
.event-date-block{
    width:76px;
    height:76px;
    border-radius:22px;
}
.event-date-block strong{font-size:1.72rem;}
.event-date-block span{font-size:.76rem;}
.event-card-main{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:9px;
}
.event-card-topline{
    margin:0;
    gap:8px;
}
.event-card-topline span{
    min-height:28px;
    padding:5px 11px;
    background:#fff1f2;
    color:#b91c1c;
    border:1px solid #fecdd3;
    font-size:.8rem;
    font-weight:900;
}
.event-card-main h2{
    margin:0;
    font-size:1.42rem;
    line-height:1.12;
    color:var(--red,#d71920);
    letter-spacing:-.045em;
}
.event-card-main .event-meta{
    margin:0;
    gap:9px;
    font-size:.96rem;
    line-height:1.42;
    color:#475569;
}
.event-card-main .event-meta i{color:#64748b;}
.event-description{
    margin:5px 0 0;
    color:#334155;
    font-size:.98rem;
    line-height:1.58;
    display:block;
    overflow:visible;
    -webkit-line-clamp:unset;
    -webkit-box-orient:initial;
}
.event-card-footer{
    margin-top:7px;
}
.event-link-clean{
    min-height:38px;
    padding-inline:15px;
    background:#0f172a;
    color:#fff;
    border-color:#0f172a;
}
.event-link-clean:hover{background:#111827;}
.event-link-muted{
    color:#64748b;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:999px;
    min-height:36px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
}
.input-note{
    display:block;
    font-weight:500;
    color:#64748b;
    font-size:.84rem;
    line-height:1.35;
    margin-top:3px;
}
@media(max-width:760px){
    .polished-event-grid.full-event-grid{grid-template-columns:1fr;gap:15px;}
    .event-card-redesign{
        grid-template-columns:62px minmax(0,1fr);
        gap:13px;
        padding:15px;
    }
    .event-date-block{width:62px;height:62px;border-radius:18px;}
    .event-date-block strong{font-size:1.38rem;}
    .event-date-block span{font-size:.67rem;}
    .event-card-main{gap:7px;}
    .event-card-topline span{min-height:25px;font-size:.73rem;padding:4px 9px;}
    .event-card-main h2{font-size:1.18rem;}
    .event-card-main .event-meta{font-size:.9rem;line-height:1.35;}
    .event-description{font-size:.91rem;line-height:1.5;}
}

/* v40 page-container polish for Events */
.bhuk-contained-page{
    width:min(1120px, calc(100% - 28px));
    margin:18px auto 88px;
    background:rgba(255,255,255,.94);
    border:1px solid #e6edf7;
    border-radius:32px;
    box-shadow:0 24px 80px rgba(15,23,42,.09);
    overflow:hidden;
}
.bhuk-contained-header{
    max-width:none !important;
    width:100%;
    margin:0 !important;
    padding:18px 22px !important;
    border-bottom:1px solid #e8eef7;
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.bhuk-contained-content{
    padding:26px 26px 34px;
}
.bhuk-contained-content .events-hero-card{
    max-width:none;
    margin:0 0 26px;
    box-shadow:none;
    border:0;
    border-radius:0;
    background:transparent !important;
    padding:0 0 22px;
    border-bottom:1px solid #edf1f7;
}
.bhuk-contained-content .events-hero-card h1{
    margin:0 0 10px;
}
.bhuk-contained-content .events-hero-card p{
    max-width:760px;
}
.bhuk-contained-content .full-event-grid,
.bhuk-contained-content .public-form,
.bhuk-contained-content .empty-panel{
    max-width:none;
    padding-left:0;
    padding-right:0;
}
.bhuk-contained-content .empty-panel{
    margin:0;
}
.bhuk-contained-content .public-form{
    margin:0;
}
.bhuk-contained-content .form-card{
    box-shadow:none;
    border-color:#e8eef7;
    background:#fff;
}
.bhuk-contained-content .big-submit{
    margin-bottom:0;
}
@media(max-width:760px){
    .bhuk-contained-page{
        width:calc(100% - 18px);
        margin:9px auto 78px;
        border-radius:26px;
    }
    .bhuk-contained-header{
        padding:14px 14px !important;
    }
    .bhuk-contained-content{
        padding:20px 14px 24px;
    }
    .bhuk-contained-content .events-hero-card{
        margin:0 0 18px !important;
        padding:0 0 18px !important;
        border-radius:0 !important;
    }
    .bhuk-contained-content .events-hero-card h1{
        font-size:2.05rem;
    }
    .bhuk-contained-content .polished-event-grid.full-event-grid{
        padding:0;
    }
    .submit-contained-page .form-card{
        padding:16px;
    }
}


/* v41 events pages use the same shell/width as Add Club */
.events-page-shell .topbar,
.submit-event-page-shell .topbar{
    border-bottom:1px solid var(--line);
}
.events-page-shell .brand,
.submit-event-page-shell .brand{
    text-decoration:none;
}
.events-page-shell .site-logo,
.submit-event-page-shell .site-logo{
    height:52px;
    width:auto;
    display:block;
}
.event-page-wrap{
    max-width:860px;
}
.event-page-hero{
    display:block;
}
.event-page-hero h1{
    margin:6px 0 10px;
}
.event-page-hero h1 span{
    color:#e23b3b;
}
.events-list-card{
    padding:18px;
}
.events-list-card .full-event-grid{
    max-width:none;
    padding:0;
    margin:0;
    grid-template-columns:1fr;
}
.events-top-actions{
    display:flex;
    align-items:center;
    gap:10px;
}
.event-top-submit{
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
}
.submit-event-page-shell .event-submit-form{
    max-width:none;
    margin:0;
    padding:20px;
}
.submit-event-page-shell .form-card{
    box-shadow:none;
    border:1px solid var(--line);
    margin-bottom:16px;
}
.submit-event-page-shell .form-grid label{
    font-weight:600;
}
.submit-event-page-shell .big-submit{
    margin:0;
}
@media(max-width:700px){
    .events-page-shell .topbar,
    .submit-event-page-shell .topbar{
        padding:12px 14px;
    }
    .events-page-shell .site-logo,
    .submit-event-page-shell .site-logo{
        height:42px;
        max-width:190px;
        object-fit:contain;
    }
    .event-page-wrap{
        max-width:100%;
        gap:14px;
    }
    .events-list-card{
        padding:14px;
    }
    .event-top-submit{
        padding:10px 12px;
        font-size:13px;
    }
    .submit-event-page-shell .event-submit-form{
        padding:16px;
        width:100%;
        overflow:hidden;
    }
}

/* v42 Player Finder */
.player-finder-page-shell .site-logo{height:52px;width:auto;display:block;}
.pf-tabs-card{display:flex;gap:10px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:10px;box-shadow:0 16px 45px rgba(15,23,42,.06)}
.pf-tab{flex:1;text-align:center;text-decoration:none;color:#1f2937;border-radius:18px;padding:12px 10px;font-weight:800;background:#f8fafc;display:flex;justify-content:center;gap:8px;align-items:center}
.pf-tab span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:.78rem;color:#64748b}.pf-tab.active{background:#0f172a;color:#fff}.pf-tab.active span{color:#0f172a}
.pf-list-card{display:grid;grid-template-columns:1fr;gap:16px}.pf-card{background:#fff;border:1px solid #e6edf7;border-radius:26px;padding:20px;box-shadow:0 18px 50px rgba(15,23,42,.06)}
.pf-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.pf-type{border-radius:999px;padding:7px 12px;font-weight:900;font-size:.78rem}.pf-type.player{background:#e0f2fe;color:#075985}.pf-type.club{background:#fee2e2;color:#991b1b}.pf-expiry{font-size:.82rem;color:#64748b;font-weight:700}
.pf-card h2{font-size:1.35rem;margin:0 0 10px;color:#e23b3b;letter-spacing:-.02em}.pf-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.pf-meta-row span,.pf-pill-row span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#f1f5f9;color:#334155;font-weight:800;font-size:.84rem}.pf-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.pf-pill-row span{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.pf-description{font-size:.96rem;line-height:1.55;color:#334155;margin:0 0 14px}.pf-extra{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-top:1px solid #edf2f7;padding-top:12px;margin-bottom:14px;color:#475569}.pf-extra strong{color:#0f172a}.pf-actions{display:flex;gap:12px;align-items:center}.pf-secondary-link{font-weight:800;color:#64748b;text-decoration:none}.pf-form .form-card label span{font-size:.78rem;color:#64748b;font-weight:600}.choice-row,.pf-tag-select{display:flex;flex-wrap:wrap;gap:10px}.choice-row label,.pf-tag-select label{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:10px 12px;font-weight:700}.full-label{display:block;margin-top:14px}.admin-block{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;margin-bottom:18px}.admin-review-card{border:1px solid #e8eef7;border-radius:18px;padding:14px;margin:12px 0;background:#fbfdff}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.danger-button{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;padding:10px 14px;font-weight:900}.admin-line{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #edf2f7;padding:10px 0;color:#64748b}.admin-line strong{color:#0f172a}
@media(max-width:700px){.player-finder-page-shell .site-logo{height:42px}.pf-tabs-card{gap:6px;padding:7px}.pf-tab{font-size:.86rem;padding:10px 6px;gap:5px}.pf-card{padding:16px;border-radius:22px}.pf-card h2{font-size:1.18rem}.pf-card-head{align-items:flex-start;flex-direction:column}.pf-actions{align-items:flex-start;flex-direction:column}.admin-line{display:block}.inline-actions input{width:100%}}


/* v44 Player Finder tidy */
.player-finder-page-shell .event-page-hero .eyebrow{display:none;}
.pf-form .label-title{display:flex;align-items:baseline;gap:6px;font-weight:800;color:#172033;}
.pf-form .label-title em{font-style:normal;font-size:.78rem;color:#64748b;font-weight:600;}
.pf-form .form-card label span.label-title{font-size:inherit;color:#172033;font-weight:800;}
.checkbox-group-label{margin:18px 0 9px;font-size:.9rem;font-weight:900;color:#172033;letter-spacing:-.01em;}
.pf-tag-select{margin-bottom:8px;}
.pf-tag-select label{cursor:pointer;transition:.18s ease;}
.pf-tag-select label:has(input:checked){background:#0f172a;color:#fff;border-color:#0f172a;}
.full-label{display:flex;flex-direction:column;gap:8px;margin-top:18px;font-weight:800;color:#172033;}
.full-label textarea{width:100%;box-sizing:border-box;border:1px solid #d9e2ef;border-radius:16px;padding:13px 14px;font:inherit;background:#fff;resize:vertical;min-height:125px;outline:none;color:#0f172a;}
.full-label textarea:focus,.pf-form input:focus,.pf-form select:focus{border-color:#94a3b8;box-shadow:0 0 0 4px rgba(15,23,42,.06);}
@media(max-width:700px){.checkbox-group-label{margin-top:16px}.pf-tag-select{gap:8px}.pf-tag-select label{padding:9px 11px}}

/* v45 volunteer finder */
.volunteer-page-shell .event-page-hero h1 span{ color:#c8192e; }
.volunteer-card .pf-type.club{ background:#eef6ff; color:#0f4b7a; }
.volunteer-card .pf-type.volunteer{ background:#f2fff3; color:#176b2c; }
.volunteer-pill-row span{ background:#fff3e8; color:#a44700; border-color:#ffd6ad; }
.admin-inline-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.small-button.danger{ background:#fff1f1; color:#b42318; border-color:#ffd2d2; }
