:root {
    --nb-bg: #f5f7fb;
    --nb-card: #ffffff;
    --nb-text: #172033;
    --nb-muted: #667085;
    --nb-border: #e5e7eb;
    --nb-primary: #1f6feb;
    --nb-primary-hover: #1557c0;
    --nb-radius: 18px;
    --nb-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
    --nb-shell-width: 1200px;
    --nb-shell-padding: 24px;
    --nb-topbar-height: 62px;
    --nb-footer-height: 44px;
}

html {
    width: 100%;
    min-height: 100%;
    margin: 0 !important;
    padding: 0;
    overflow-x: hidden;
    background: var(--nb-bg);
}

body {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: var(--nb-topbar-height) 0 var(--nb-footer-height) !important;
    overflow-x: hidden;
    background: var(--nb-bg) !important;
    color: var(--nb-text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

*, *::before, *::after {
    box-sizing: border-box;
}

img, video, iframe, table {
    max-width: 100%;
}

a {
    color: var(--nb-primary);
}

.nb-site {
    min-height: calc(100vh - var(--nb-topbar-height) - var(--nb-footer-height));
    display: flex;
    flex-direction: column;
}

.nb-main {
    flex: 1 0 auto;
    width: 100%;
    min-height: calc(100vh - var(--nb-topbar-height) - var(--nb-footer-height));
    background: var(--nb-bg);
    padding-top: 48px;
}

body.nobench-theme-app-page .nb-main {
    padding-top: 0 !important;
}

/* =========================================================
   App shell alignment
========================================================= */

.nb-page,
.nobench-home,
.nobench-app-shell,
.nobench-dashboard,
.nobench-games-list,
.nobench-games-filter,
.nobench-venues-list,
.nobench-create-game-form,
.nobench-my-games,
.nobench-venue-dashboard,
.nobench-venue-calendar,
.nobench-venue-profile,
.nobench-nav,
.woocommerce,
.woocommerce-page .entry-content {
    width: 100% !important;
    max-width: var(--nb-shell-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--nb-shell-padding) !important;
    padding-right: var(--nb-shell-padding) !important;
}

.nb-page-content,
.entry-content {
    width: 100%;
    margin: 0;
    padding: 0;
}

.nb-page-header,
body.page .entry-title,
body.single .entry-title,
.entry-title,
.wp-block-post-title {
    width: 100% !important;
    max-width: var(--nb-shell-width) !important;
    margin: 34px auto 24px !important;
    padding-left: var(--nb-shell-padding) !important;
    padding-right: var(--nb-shell-padding) !important;
    color: var(--nb-text) !important;
}

.nb-page-title,
.entry-title {
    font-size: 34px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    letter-spacing: -0.04em !important;
}

.nobench-theme-single-venue .nb-main {
    padding-top: 22px !important;
}

.nb-single-venue .nb-page-header {
    max-width: 100% !important;
    margin: 0 0 18px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.nb-single-venue .entry-title {
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.nobench-theme-home-has-bg .nb-main {
    padding-top: 48px;
}

.nobench-theme-home .nb-page,
.nobench-theme-home .nb-page-content,
.nobench-theme-home .entry-content {
    max-width: none !important;
    padding: 0 !important;
}

/* =========================================================
   Header / topbar
========================================================= */

.nobench-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: #ffffff !important;
    border-bottom: 1px solid var(--nb-border) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nobench-topbar-inner {
    width: 100% !important;
    max-width: var(--nb-shell-width) !important;
    min-height: var(--nb-topbar-height) !important;
    margin: 0 auto !important;
    padding: 6px var(--nb-shell-padding) !important;
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
}

.nobench-topbar-logo {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    color: var(--nb-text) !important;
    text-decoration: none !important;
}

.nobench-topbar-logo img,
.nobench-topbar-logo .custom-logo {
    max-height: 50px !important;
    width: auto !important;
    display: block !important;
}

.nobench-topbar-logo span {
    font-size: 24px !important;
    font-weight: 900 !important;
    letter-spacing: -0.04em !important;
    color: var(--nb-text) !important;
}

.nobench-topbar-menu {
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
}

.nobench-topbar-menu a {
    color: var(--nb-text) !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.nobench-topbar-menu a:hover {
    color: var(--nb-primary) !important;
}

.nobench-topbar-auth {
    margin-left: auto !important;
    display: none !important;
}

.nobench-topbar-menu > a[href*="/account/"]:not([data-nobench-message-bell]),
#nobench-primary-menu > a[href*="/account/"]:not([data-nobench-message-bell]) {
    display: none !important;
}

#nobench-primary-menu .nobench-account-menu-desktop {
    margin-left: auto !important;
}

#nobench-primary-menu .nobench-message-bell-desktop {
    margin-left: auto !important;
}

#nobench-primary-menu .nobench-message-bell-desktop + .nobench-account-menu-desktop {
    margin-left: 0 !important;
}

@media (min-width: 1051px) {
    #nobench-primary-menu .nobench-account-menu-desktop ~ *:not(.nobench-account-menu-panel) {
        display: none !important;
    }
}

.nobench-account-menu {
    position: relative !important;
    flex: 0 0 auto !important;
}

.nobench-notification-bell:not(.nobench-message-bell) {
    display: none !important;
}

.nobench-message-bell {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--nb-text) !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08) !important;
    text-decoration: none !important;
    flex: 0 0 auto !important;
}

.nobench-message-icon,
.nobench-message-icon svg {
    display: inline-flex !important;
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.nobench-message-bell .nobench-notification-count {
    position: absolute !important;
    top: -6px !important;
    right: -6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    background: #ff7a1a !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    z-index: 2 !important;
    pointer-events: none !important;
    font-variant-numeric: tabular-nums !important;
}

.nobench-message-bell .nobench-notification-count[hidden] {
    display: none !important;
}

.nobench-account-menu summary {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--nb-text) !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08) !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    list-style: none !important;
}

.nobench-account-menu-name,
.nobench-account-menu-caret {
    display: none !important;
}

.nobench-account-menu summary::-webkit-details-marker {
    display: none !important;
}

.nobench-account-menu-icon,
.nobench-account-menu-item-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: inherit !important;
}

.nobench-account-menu-icon {
    position: relative !important;
}

.nobench-account-menu-summary-count {
    position: absolute !important;
    top: -6px !important;
    right: -6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    background: #ff7a1a !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    z-index: 2 !important;
    pointer-events: none !important;
    font-variant-numeric: tabular-nums !important;
}

.nobench-account-menu-summary-count[hidden],
.nobench-account-menu-count[hidden] {
    display: none !important;
}

.nobench-account-menu-icon svg,
.nobench-account-menu-item-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.nobench-account-menu-panel {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    z-index: 100004 !important;
    display: grid !important;
    min-width: 236px !important;
    gap: 4px !important;
    padding: 8px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18) !important;
}

.nobench-account-menu-user {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px 12px !important;
    margin-bottom: 4px !important;
    border-bottom: 1px solid var(--nb-border) !important;
    color: var(--nb-text) !important;
}

.nobench-account-menu-user-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 999px !important;
    background: #f8fbff !important;
    color: var(--nb-primary) !important;
    flex: 0 0 auto !important;
}

.nobench-account-menu-user-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.nobench-account-menu-user span:last-child {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
}

.nobench-account-menu-user strong {
    color: var(--nb-text) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
}

.nobench-account-menu-user small {
    color: var(--nb-muted) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.15 !important;
}

.nobench-account-menu-panel a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 42px !important;
    padding: 9px 12px !important;
    border-radius: 10px !important;
    color: var(--nb-text) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}

.nobench-account-menu-panel a > span:nth-child(2) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.nobench-account-menu-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 24px !important;
    height: 22px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    background: #ff7a1a !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.nobench-account-menu-panel a:hover,
.nobench-account-menu-panel a.is-active {
    background: #eff6ff !important;
    color: var(--nb-primary) !important;
}

.nobench-account-menu-panel a[data-nobench-account-menu-item="logout"] {
    color: #b42318 !important;
}

.nobench-account-menu-panel a[data-nobench-account-menu-item="logout"]:hover {
    background: #fff1f0 !important;
    color: #b42318 !important;
}

.nobench-account-menu-mobile {
    display: none !important;
}

.nobench-mobile-toggle {
    display: none !important;
    background: #ffffff !important;
    color: var(--nb-text) !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 999px !important;
    padding: 0 !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08) !important;
    font-size: 21px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    margin-left: auto !important;
}

/* =========================================================
   Footer
========================================================= */

.nobench-footer-horizontal {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    z-index: 9998 !important;
    background: #ffffff !important;
    border-top: 1px solid var(--nb-border) !important;
    padding: 8px 0 !important;
}

.nobench-footer-singleline {
    max-width: var(--nb-shell-width) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 28px !important;
    margin: 0 auto !important;
    padding-left: var(--nb-shell-padding) !important;
    padding-right: var(--nb-shell-padding) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.nobench-footer-menu {
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;
    flex-wrap: nowrap !important;
}

.nobench-footer-menu a {
    color: var(--nb-text) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.nobench-footer-copy {
    color: var(--nb-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    white-space: nowrap !important;
}

/* =========================================================
   NoBench plugin component harmonization
========================================================= */

.nobench-game-card,
.nobench-join-box,
.nobench-admin-confirmation,
.nobench-create-game-form,
.nobench-home-step,
.nobench-home-hero-panel {
    box-sizing: border-box !important;
}

.nobench-create-game-form {
    max-width: var(--nb-shell-width) !important;
}

.nobench-home-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, 0.8fr) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.nobench-home-steps,
.nobench-home-grid,
.nobench-dashboard-grid {
    max-width: var(--nb-shell-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.nobench-venue-cover,
.nobench-venue-map,
.nobench-venue-gallery,
.nobench-venue-profile > .nobench-game-card {
    width: 100% !important;
    max-width: 100% !important;
}

.nobench-theme-single-venue .nb-page-header {
    display: none !important;
}

.nobench-venue-profile {
    display: grid !important;
    gap: 22px !important;
}

.nobench-venue-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.8fr) !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: var(--nb-shadow) !important;
}

.nobench-venue-hero-media {
    min-height: 430px !important;
    background: #eaf1f8 !important;
}

.nobench-venue-cover-image {
    width: 100% !important;
    height: 430px !important;
    object-fit: cover !important;
    display: block !important;
}

.nobench-venue-cover-placeholder {
    min-height: 430px !important;
    display: grid !important;
    place-items: center !important;
    background: linear-gradient(135deg, #eaf4ff, #f8fbff) !important;
}

.nobench-venue-cover-icon {
    width: 72px !important;
    height: 72px !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 26px rgba(31, 111, 235, 0.14) !important;
}

.nobench-venue-hero-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: clamp(28px, 4vw, 44px) !important;
}

.nobench-venue-hero-content h2 {
    margin: 8px 0 12px !important;
    color: var(--nb-text) !important;
    font-size: clamp(34px, 4vw, 54px) !important;
    line-height: 1.04 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.nobench-venue-hero-location {
    margin: 0 0 18px !important;
    color: var(--nb-muted) !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
}

.nobench-venue-quick-facts {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 24px !important;
}

.nobench-venue-quick-facts span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 8px 11px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: #eff6ff !important;
    color: #1e40af !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.nobench-venue-hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
}

.nobench-venue-hero-actions .nobench-secondary-link {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 16px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: var(--nb-text) !important;
    text-decoration: none !important;
    font-weight: 800 !important;
}

.nobench-venue-details-card {
    display: grid !important;
    gap: 14px !important;
    padding: 24px !important;
}

.nobench-venue-main-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr) !important;
    gap: 16px !important;
    align-items: start !important;
}

.nobench-venue-card-heading {
    display: block !important;
    margin: 0 !important;
    text-align: left !important;
}

.nobench-venue-details-card > h3,
.nobench-venue-card-heading h3 {
    margin: 0 !important;
    color: var(--nb-text) !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.nobench-venue-detail-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.nobench-venue-details-card .nobench-venue-info-row {
    min-height: 68px !important;
    padding: 12px !important;
}

.nobench-venue-details-card .nobench-venue-info-row a {
    color: var(--nb-primary) !important;
    text-decoration: none !important;
}

.nobench-venue-note-box {
    padding: 14px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
}

.nobench-venue-note-box strong {
    display: block !important;
    margin-bottom: 6px !important;
    color: var(--nb-text) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}

.nobench-venue-note-box p {
    margin: 0 !important;
    color: var(--nb-muted) !important;
    line-height: 1.5 !important;
}

.nobench-venue-details-card > p {
    display: none !important;
}

.nobench-venue-details-card > p:last-child,
.nobench-venue-details-card > .nobench-social-actions {
    border-bottom: 0 !important;
}

.nobench-venue-details-card > p strong {
    color: var(--nb-text) !important;
}

.nobench-venue-map {
    margin-bottom: 0 !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    line-height: normal !important;
    box-shadow: var(--nb-shadow-soft) !important;
}

.nobench-venue-map-head {
    padding: 24px 24px 14px !important;
    background: #ffffff !important;
    text-align: left !important;
}

.nobench-venue-map-head h3 {
    margin: 0 !important;
    color: var(--nb-text) !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
}

.nobench-venue-map iframe {
    display: block !important;
    width: 100% !important;
    height: 390px !important;
    border: 0 !important;
}

.nobench-map-button {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 52px !important;
    border-top: 1px solid var(--nb-border) !important;
    background: #ffffff !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
}

.nobench-my-games table,
.nobench-venue-dashboard table,
.nobench-calendar-table {
    width: 100% !important;
}

/* WooCommerce checkout/account containment */
.woocommerce,
.woocommerce-page .entry-content,
.wc-block-components-sidebar-layout {
    max-width: var(--nb-shell-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================
   Mobile app shell
========================================================= */

@media (max-width: 1050px) {
    :root {
        --nb-topbar-height: 64px;
    }

    .nobench-topbar-inner {
        min-height: 64px !important;
        flex-wrap: wrap !important;
        padding: 8px 16px !important;
    }

    .nobench-topbar-logo img,
    .nobench-topbar-logo .custom-logo {
        max-height: 46px !important;
    }

    .nobench-mobile-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

@media (max-width: 768px) {
    :root {
        --nb-shell-width: 100%;
        --nb-shell-padding: 16px;
        --nb-footer-height: 62px;
    }

    body {
        padding-top: var(--nb-topbar-height) !important;
        padding-bottom: var(--nb-footer-height) !important;
    }

    .nb-main {
        min-height: calc(100vh - var(--nb-topbar-height) - var(--nb-footer-height));
        padding-bottom: 24px !important;
    }

    .nb-page,
    .nobench-home,
    .nobench-app-shell,
    .nobench-dashboard,
    .nobench-games-list,
    .nobench-games-filter,
    .nobench-venues-list,
    .nobench-create-game-form,
    .nobench-my-games,
    .nobench-venue-dashboard,
    .nobench-venue-calendar,
    .nobench-venue-profile,
    .nobench-nav,
    .woocommerce,
    .woocommerce-page .entry-content {
        max-width: 100% !important;
        padding-left: var(--nb-shell-padding) !important;
        padding-right: var(--nb-shell-padding) !important;
    }

    .nb-page-header,
    body.page .entry-title,
    body.single .entry-title,
    .entry-title,
    .wp-block-post-title {
        max-width: 100% !important;
        margin-top: 18px !important;
        margin-bottom: 18px !important;
        padding-left: var(--nb-shell-padding) !important;
        padding-right: var(--nb-shell-padding) !important;
    }

    .nb-page-title,
    .entry-title {
        font-size: 30px !important;
    }

    .nobench-theme-home .nb-main {
        padding-top: 16px;
    }

    .nobench-venue-profile {
        gap: 16px !important;
    }

    .nobench-venue-hero {
        grid-template-columns: 1fr !important;
    }

    .nobench-venue-hero-media,
    .nobench-venue-cover-image,
    .nobench-venue-cover-placeholder {
        min-height: 0 !important;
        height: 260px !important;
    }

    .nobench-venue-hero-content {
        padding: 22px !important;
    }

    .nobench-venue-hero-content h2 {
        font-size: 32px !important;
    }

    .nobench-venue-main-grid,
    .nobench-venue-detail-grid {
        grid-template-columns: 1fr !important;
    }

    .nobench-venue-details-card {
        padding: 18px !important;
    }

    .nobench-venue-map iframe {
        height: 300px !important;
    }

    .nobench-venue-hero-actions,
    .nobench-venue-hero-actions .nobench-button,
    .nobench-venue-hero-actions .nobench-secondary-link {
        width: 100% !important;
    }

    .nobench-venue-gallery {
        padding: 18px !important;
    }

    .nobench-venue-gallery-grid,
    .nobench-venue-games-grid {
        grid-template-columns: 1fr !important;
    }

    .nobench-venue-details-card {
        padding: 20px !important;
    }

    .nobench-home-hero,
    .nobench-home-steps,
    .nobench-home-grid,
    .nobench-dashboard-grid,
    .nobench-game-card-info {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .nobench-home-hero-content,
    .nobench-home-hero-panel,
    .nobench-home-step,
    .nobench-game-card,
    .nobench-join-box,
    .nobench-admin-confirmation,
    .nobench-create-game-form {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 20px !important;
    }

    .nobench-home-hero-content {
        padding: 28px !important;
    }

    .nobench-home-hero-content h1 {
        font-size: clamp(38px, 12vw, 50px) !important;
        line-height: 1 !important;
    }

    .nobench-games-filter {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .nobench-games-filter select,
    .nobench-games-filter input,
    .nobench-games-filter button,
    .nobench-games-filter a,
    .nobench-create-game-form select,
    .nobench-create-game-form input,
    .nobench-create-game-form button,
    .nobench-button,
    .nobench-secondary-link {
        width: 100% !important;
        max-width: 100% !important;
    }

    .nobench-game-card-top {
        display: block !important;
    }

    .nobench-game-price {
        width: 100% !important;
        text-align: left !important;
        margin-top: 14px !important;
    }

    .nobench-my-games table,
    .nobench-venue-dashboard table,
    .nobench-calendar-table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
    }

    .nobench-venue-cover-image {
        height: 260px !important;
    }

    .nobench-venue-map iframe {
        height: 260px !important;
    }

    .nobench-map-button {
        min-height: 46px !important;
        font-size: 14px !important;
        padding: 12px !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .nobench-footer-horizontal {
        padding: 5px 0 !important;
        min-height: var(--nb-footer-height) !important;
        display: flex !important;
        align-items: center !important;
    }

    .nobench-footer-singleline {
        justify-content: center !important;
        align-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 4px 14px !important;
        text-align: center !important;
        min-height: 0 !important;
    }

    .nobench-footer-menu {
        gap: 14px !important;
        justify-content: center !important;
    }

    .nobench-footer-menu a {
        font-size: 12px !important;
        line-height: 1 !important;
    }

    .nobench-footer-copy {
        width: 100% !important;
        font-size: 10px !important;
        line-height: 1.1 !important;
        white-space: normal !important;
    }
}

/* =========================================================
   Aurora contrast fixes
   Keep light-theme defaults intact, but stop late classic rules from
   creating white cards/fields with Aurora text on dark app pages.
========================================================= */
body.nobench-design-aurora :where(
    .nobench-create-game-hero,
    .nobench-create-step,
    .nobench-create-review,
    .nobench-game-card,
    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-profile-form,
    .nobench-account-panel,
    .nobench-static-card,
    .nobench-join-box
) {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.052)) !important;
    border-color: rgba(215, 231, 255, 0.18) !important;
    color: var(--nb-text) !important;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28) !important;
}

body.nobench-design-aurora .nobench-create-step.is-locked,
body.nobench-design-aurora .nobench-create-review.is-locked {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.035)) !important;
    border-color: rgba(215, 231, 255, 0.12) !important;
    opacity: 1 !important;
}

body.nobench-design-aurora :where(
    .nobench-create-step h3,
    .nobench-create-review h3,
    .nobench-create-step label,
    .nobench-create-review strong,
    .nobench-game-card strong
) {
    color: #f7f9ff !important;
}

body.nobench-design-aurora :where(
    .nobench-create-step p,
    .nobench-create-step small,
    .nobench-create-review p,
    .nobench-create-review small,
    .nobench-game-card p
) {
    color: #c8d2e4 !important;
}

body.nobench-design-aurora :where(
    .nobench-create-game-form,
    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-profile-form,
    .nobench-join-form
) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea),
body.nobench-design-aurora :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    select,
    textarea
) {
    background: rgba(5, 10, 20, 0.72) !important;
    border-color: rgba(215, 231, 255, 0.22) !important;
    color: #f7f9ff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
}

body.nobench-design-aurora :where(
    .nobench-create-game-form,
    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-profile-form,
    .nobench-join-form
) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea):disabled,
body.nobench-design-aurora :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    select,
    textarea
):disabled {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(215, 231, 255, 0.14) !important;
    color: #202a3d !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #202a3d !important;
}

body.nobench-design-aurora :where(input, select, textarea)::placeholder {
    color: rgba(247, 249, 255, 0.66) !important;
}

body.nobench-design-aurora :where(input, select, textarea):disabled::placeholder {
    color: rgba(32, 42, 61, 0.72) !important;
}

body.nobench-design-aurora :where(select option) {
    background: #0b1220 !important;
    color: #f7f9ff !important;
}

/* =========================================================
   INNER SHORTCODE ALIGNMENT
   The theme .nb-page is the page shell. Shortcode wrappers must
   not add a second shell padding layer inside it.
========================================================= */
.nb-page .entry-content > .nobench-games-list,
.nb-page .entry-content > .nobench-venues-list,
.nb-page .entry-content > .nobench-venue-profile,
.nb-page .entry-content > .nobench-create-game-hero,
.nb-page .entry-content > .nobench-create-game-form,
.nb-page .entry-content > .nobench-my-games,
.nb-page .entry-content > .nobench-venue-dashboard,
.nb-page .entry-content > .nobench-venue-calendar,
.nb-page .entry-content > .nobench-dashboard,
.nb-page .entry-content > .nobench-app-shell,
.nb-page .entry-content > .nobench-nav {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

.nb-page .entry-content > .nobench-games-filter {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.nb-page .entry-content > .nobench-games-list > .nobench-game-card,
.nb-page .entry-content > .nobench-venues-list > .nobench-game-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.nb-page .entry-content > .nobench-create-game-hero {
    padding: 20px !important;
}

@media (max-width: 768px) {
.nb-page .entry-content > .nobench-games-list,
.nb-page .entry-content > .nobench-venues-list,
.nb-page .entry-content > .nobench-venue-profile,
.nb-page .entry-content > .nobench-create-game-hero,
.nb-page .entry-content > .nobench-create-game-form,
.nb-page .entry-content > .nobench-my-games,
.nb-page .entry-content > .nobench-venue-dashboard,
    .nb-page .entry-content > .nobench-venue-calendar,
    .nb-page .entry-content > .nobench-dashboard,
    .nb-page .entry-content > .nobench-app-shell,
    .nb-page .entry-content > .nobench-nav {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .nb-page .entry-content > .nobench-create-game-hero {
        padding: 16px !important;
    }
}

/* =========================================================
   MOBILE MENU
   Primary mobile menu layout.
========================================================= */

@media (max-width: 1050px) {
    .nobench-topbar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 64px !important;
        min-height: 64px !important;
        overflow: visible !important;
        background: #ffffff !important;
        border-bottom: 1px solid var(--nb-border) !important;
        z-index: 99999 !important;
    }

    .nobench-topbar-inner {
        width: 100% !important;
        max-width: none !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 22px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;

        position: relative !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .nobench-topbar-logo {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        position: relative !important;
        z-index: 100001 !important;
        margin: 0 !important;
    }

    .nobench-mobile-toggle,
    #nobench-mobile-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;

        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;

        margin: 0 0 0 auto !important;
        padding: 0 !important;
        position: relative !important;
        z-index: 100002 !important;

        background: #ffffff !important;
        color: var(--nb-text) !important;
        border: 1px solid var(--nb-border) !important;
        border-radius: 999px !important;
        box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08) !important;
        font-size: 24px !important;
        line-height: 1 !important;
        cursor: pointer !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
        user-select: none !important;
        -webkit-user-select: none !important;
    }

    .nobench-topbar-menu,
    #nobench-primary-menu {
        position: fixed !important;
        top: 74px !important;
        left: 16px !important;
        right: 16px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 8px !important;

        display: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;

        background: #ffffff !important;
        border: 1px solid var(--nb-border) !important;
        border-radius: 14px !important;
        box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18) !important;

        z-index: 100004 !important;
        box-sizing: border-box !important;
        max-height: calc(100vh - 82px) !important;
        overflow-y: auto !important;
        white-space: normal !important;
    }

    .nobench-topbar.is-open .nobench-topbar-menu,
    .nobench-topbar.is-open #nobench-primary-menu,
    .nobench-topbar-menu.is-open,
    #nobench-primary-menu.is-open {
        display: flex !important;
    }

    .nobench-topbar-menu a,
    #nobench-primary-menu a,
    .nobench-topbar-dropdown summary {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 42px !important;
        padding: 9px 12px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 10px !important;

        color: var(--nb-text) !important;
        text-align: left !important;
        text-decoration: none !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        line-height: 1.2 !important;
    }

    .nobench-topbar-menu a:hover,
    #nobench-primary-menu a:hover,
    .nobench-topbar-menu a.is-active,
    #nobench-primary-menu a.is-active {
        background: #eff6ff !important;
        color: var(--nb-primary) !important;
    }

    body {
        padding-top: 64px !important;
    }
}


/* =========================================================
   CONSISTENT APP PAGE TOP SPACING
   All shortcode-led pages start with the same breathing room as home.
========================================================= */
.nb-main {
    padding-top: 48px !important;
}

@media (max-width: 768px) {
    .nb-main {
        padding-top: 16px !important;
    }
}

/* Mobile safety: prevent page push/overflow from menu and cards. */
@media (max-width: 1050px) {
    .nobench-topbar-menu {
        max-height: calc(100vh - 82px) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
    }
}

@media (max-width: 768px) {
    .nb-main,
    .nb-page,
    .entry-content {
        overflow-x: hidden !important;
    }

    .nobench-game-card,
    .nobench-home-hero-content,
    .nobench-home-hero-panel {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Mobile consistency: keep app pages compact, readable, and one-column. */
@media (max-width: 768px) {
    html,
    body {
        max-width: 100% !important;
    }

    .nobench-topbar-inner {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .nobench-topbar-logo {
        min-width: 0 !important;
        max-width: calc(100% - 112px) !important;
    }

    .nobench-topbar-logo img,
    .nobench-topbar-logo .custom-logo {
        max-width: 170px !important;
        max-height: 42px !important;
        object-fit: contain !important;
    }

    .nobench-mobile-toggle,
    #nobench-mobile-toggle {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        border-radius: 12px !important;
    }

    .nb-page-title,
    .entry-title,
    .nobench-home-hero-content h1,
    .nobench-home-section h2,
    .nobench-home-cta h2,
    .nobench-game-card h2,
    .nobench-game-card h3,
    .nobench-game-card-premium h3,
    .nobench-players-hero h2 {
        letter-spacing: 0 !important;
    }

    .nobench-home-hero-content {
        padding: 24px !important;
        border-radius: 18px !important;
    }

    .nobench-home-hero-content h1 {
        font-size: 40px !important;
        line-height: 1.05 !important;
    }

    .nobench-home-hero-content p,
    .nobench-home-cta p {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    .nobench-hero-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .nobench-hero-actions .nobench-button {
        width: 100% !important;
        margin: 0 !important;
    }

    .nobench-home-hero-panel,
    .nobench-home-step,
    .nobench-game-card,
    .nobench-join-box,
    .nobench-admin-confirmation,
    .nobench-create-game-form {
        padding: 16px !important;
        border-radius: 16px !important;
    }

    .nobench-home-cta {
        padding: 24px 18px !important;
        border-radius: 18px !important;
    }

    .nobench-section-header {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        align-items: start !important;
    }

    .nobench-section-header a {
        width: 100% !important;
    }

    .nobench-game-actions,
    .nobench-social-actions,
    .nobench-avatar-actions,
    .nobench-inline-form {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .nobench-game-actions form,
    .nobench-game-actions button,
    .nobench-game-actions .nobench-button,
    .nobench-game-actions .nobench-secondary-link,
    .nobench-social-actions > *,
    .nobench-inline-form > * {
        width: 100% !important;
    }

    .nobench-games-filter select,
    .nobench-games-filter input,
    .nobench-create-game-form select,
    .nobench-create-game-form input,
    .nobench-create-game-form textarea,
    .nobench-profile-form select,
    .nobench-profile-form input,
    .nobench-profile-form textarea {
        font-size: 16px !important;
    }
}

@media (max-width: 420px) {
    :root {
        --nb-shell-padding: 14px;
    }

    .nobench-topbar-inner {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .nobench-topbar-logo img,
    .nobench-topbar-logo .custom-logo {
        max-width: 150px !important;
    }

    .nobench-home-hero-content h1 {
        font-size: 36px !important;
    }
}

/* Mobile header actions */
.nobench-topbar-actions {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
}

@media (max-width: 1050px) {
    .nobench-topbar-actions .nobench-account-menu-mobile {
        display: block !important;
        margin: 0 !important;
        position: relative !important;
        z-index: 100003 !important;
    }

    .nobench-topbar-actions .nobench-account-menu-mobile summary {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
    }

    .nobench-topbar-actions .nobench-account-menu-mobile .nobench-account-menu-name,
    .nobench-topbar-actions .nobench-account-menu-mobile .nobench-account-menu-caret {
        display: none !important;
    }

    .nobench-topbar-actions .nobench-account-menu-mobile .nobench-account-menu-panel {
        position: fixed !important;
        top: 74px !important;
        left: 16px !important;
        right: 16px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    .nobench-topbar-actions .nobench-message-bell-mobile {
        display: inline-flex !important;
        margin: 0 !important;
        position: relative !important;
        z-index: 100002 !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
    }

    .nobench-topbar-actions .nobench-notification-bell-mobile:not(.nobench-message-bell) {
        display: none !important;
    }

    .nobench-topbar-actions .nobench-mobile-toggle,
    .nobench-topbar-actions #nobench-mobile-toggle {
        margin: 0 !important;
    }

    #nobench-primary-menu .nobench-notification-bell,
    #nobench-primary-menu .nobench-notification-bell-desktop,
    #nobench-primary-menu .nobench-message-bell,
    #nobench-primary-menu .nobench-message-bell-desktop,
    #nobench-primary-menu .nobench-account-menu,
    #nobench-primary-menu .nobench-account-menu-desktop,
    #nobench-primary-menu .nobench-notification-link-mobile {
        display: none !important;
    }
}

@media (min-width: 1051px) {
    .nobench-topbar-actions {
        display: none !important;
    }
}

/* =========================================================
   NOBENCH VISUAL SYSTEM 2026
   Calm product UI: flatter surfaces, smaller radii, quiet contrast.
========================================================= */
:root {
    --nb-bg: #f4f5f7;
    --nb-card: #ffffff;
    --nb-text: #121826;
    --nb-muted: #687385;
    --nb-border: #d9dee7;
    --nb-primary: #185abc;
    --nb-primary-hover: #0f438f;
    --nb-accent: #0f766e;
    --nb-warm: #b45309;
    --nb-radius: 8px;
    --nb-shadow: 0 1px 2px rgba(18, 24, 38, 0.06), 0 8px 20px rgba(18, 24, 38, 0.06);
    --nb-shadow-soft: 0 1px 2px rgba(18, 24, 38, 0.06);
}

html,
body {
    background: var(--nb-bg) !important;
    color: var(--nb-text) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body,
body input,
body select,
body textarea,
body button,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body a,
body label,
body small,
body strong,
body table,
body th,
body td,
body li,
body figcaption,
body blockquote {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body :where(.dashicons, [class^="dashicons-"], [class*=" dashicons-"], .ab-icon, .star-rating, .star-rating span, [class^="wc-block-components-"]::before, [class*=" wc-block-components-"]::before) {
    font-family: inherit;
}

a {
    color: var(--nb-primary);
}

.nb-main {
    background:
        linear-gradient(180deg, #f8f9fb 0, var(--nb-bg) 180px) !important;
}

.nb-page-title,
.entry-title,
.wp-block-post-title,
.nobench-topbar-logo span,
.nobench-home-hero-content h1,
.nobench-home-section h2,
.nobench-home-cta h2,
.nobench-game-card h2,
.nobench-game-card h3,
.nobench-game-card-premium h3,
.nobench-players-hero h2 {
    letter-spacing: 0 !important;
}

.nb-page-title,
.entry-title {
    font-size: clamp(28px, 3vw, 38px) !important;
    line-height: 1.12 !important;
    font-weight: 850 !important;
}

.nobench-topbar,
.nobench-footer-horizontal {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: var(--nb-border) !important;
    box-shadow: none !important;
}

.nobench-topbar-inner {
    gap: 22px !important;
}

.nobench-topbar-logo span {
    font-size: 23px !important;
    font-weight: 850 !important;
}

.nobench-topbar-menu a,
.nobench-footer-menu a {
    color: #1f2937 !important;
    font-weight: 720 !important;
}

.nobench-mobile-toggle,
#nobench-mobile-toggle {
    background: #ffffff !important;
    color: var(--nb-text) !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08) !important;
}

.nobench-home-hero {
    gap: 18px !important;
    margin-bottom: 34px !important;
}

.nobench-home-hero-content {
    background: #12325f !important;
    border: 1px solid #0d284d !important;
    border-radius: 8px !important;
    padding: clamp(28px, 5vw, 48px) !important;
    box-shadow: var(--nb-shadow) !important;
}

.nobench-home-hero-content h1 {
    font-size: clamp(38px, 5.4vw, 64px) !important;
    line-height: 1.02 !important;
    max-width: 780px !important;
}

.nobench-home-hero-content p {
    color: rgba(255, 255, 255, 0.84) !important;
    font-size: clamp(16px, 1.8vw, 19px) !important;
    line-height: 1.55 !important;
}

.nobench-home-hero-panel,
.nobench-home-step,
.nobench-home-cta,
.nobench-game-card,
.nobench-join-box,
.nobench-admin-confirmation,
.nobench-create-game-form,
.nobench-venue-map,
.nobench-venue-cover,
.nobench-venue-profile > .nobench-game-card {
    border-radius: 8px !important;
    box-shadow: var(--nb-shadow-soft) !important;
}

.nobench-games-hero h2,
.nobench-venues-hero h2,
.nobench-sports-hero h2,
.nobench-create-game-hero h2,
.nobench-create-game-hero .nobench-eyebrow {
    display: block !important;
    max-width: none !important;
    margin: 0 0 22px !important;
    color: var(--nb-text) !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.nobench-page-hero {
    position: relative !important;
    min-height: 200px !important;
    height: 200px !important;
    padding: clamp(28px, 4vw, 44px) !important;
    overflow: hidden !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    background:
        linear-gradient(90deg, rgba(10, 17, 29, 0.88), rgba(10, 17, 29, 0.46)),
        var(--nobench-page-hero-image, url("images/create-game-cover.jpg")) center center / cover no-repeat !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.16) !important;
}

.nobench-page-hero h2,
.nobench-page-hero .nobench-eyebrow {
    color: rgba(255, 255, 255, 0.96) !important;
    font-size: clamp(30px, 4.2vw, 46px) !important;
    max-width: 680px !important;
}

.nobench-games-hero p,
.nobench-venues-hero p,
.nobench-sports-hero p,
.nobench-create-game-hero p,
.nobench-create-game-hero .nobench-eyebrow + h2 {
    margin: 0 !important;
    color: var(--nb-muted) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

.nobench-page-hero p,
.nobench-page-hero .nobench-eyebrow + h2 {
    color: rgba(255, 255, 255, 0.82) !important;
    max-width: 620px !important;
}

.nobench-tournament-filter a.nobench-button,
.nobench-tournament-filter a.nobench-button:hover,
.nobench-tournament-filter a.nobench-button:focus {
    color: #ffffff !important;
}

.nobench-venues-list {
    display: grid !important;
    gap: 16px !important;
}

.nobench-venue-directory-card {
    display: grid !important;
    grid-template-columns: minmax(240px, 34%) minmax(0, 1fr) !important;
    gap: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.nobench-venue-card-cover {
    position: relative !important;
    display: block !important;
    min-height: 260px !important;
    overflow: hidden !important;
    background: #eaf1f8 !important;
}

.nobench-venue-card-image {
    width: 100% !important;
    height: 100% !important;
    min-height: 260px !important;
    display: block !important;
    object-fit: cover !important;
    transition: transform 0.2s ease !important;
}

.nobench-venue-directory-card:hover .nobench-venue-card-image {
    transform: scale(1.025) !important;
}

.nobench-venue-card-cover-empty {
    display: grid !important;
    place-items: center !important;
}

.nobench-venue-card-empty-icon {
    width: 54px !important;
    height: 54px !important;
    border-radius: 16px !important;
}

.nobench-venue-card-body {
    display: grid !important;
    align-content: start !important;
    gap: 16px !important;
    padding: 24px !important;
}

.nobench-venue-card-head h3 {
    margin: 8px 0 0 !important;
    font-size: clamp(22px, 2.4vw, 30px) !important;
    line-height: 1.15 !important;
}

.nobench-venue-card-head h3 a {
    color: var(--nb-text) !important;
    text-decoration: none !important;
}

.nobench-venue-card-head h3 a:hover {
    color: var(--nb-primary) !important;
}

.nobench-venue-card-info {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.nobench-venue-info-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
    padding: 13px 14px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
}

.nobench-venue-info-row span:not(.nobench-icon) {
    display: block !important;
    margin-bottom: 4px !important;
    color: var(--nb-muted) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

.nobench-venue-info-row strong {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: var(--nb-text) !important;
    font-size: 14px !important;
    font-weight: 760 !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
}

.nobench-venue-sport-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.nobench-venue-sport-pills span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: #eff6ff !important;
    color: var(--nb-primary) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

.nobench-venue-directory-card .nobench-social-actions {
    margin-top: 4px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
}

.nobench-venue-directory-card .nobench-social-actions .nobench-button,
.nobench-venue-directory-card .nobench-social-actions .nobench-secondary-link {
    min-width: 132px !important;
}

.nobench-date-filter-control {
    position: relative !important;
    display: block !important;
}

.nobench-date-filter-control input[type="date"] {
    width: 100% !important;
    min-height: 44px !important;
    color: transparent !important;
    cursor: pointer !important;
}

.nobench-date-filter-control input[type="date"]:focus {
    color: transparent !important;
}

.nobench-date-filter-control input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer !important;
    opacity: 1 !important;
}

.nobench-date-filter-label {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--nb-text) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    pointer-events: none !important;
}

.nobench-equipment-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 14px !important;
    margin-top: 12px !important;
}

.nobench-equipment-card {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: stretch !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    overflow: hidden !important;
}

.nobench-equipment-card-image {
    min-height: 132px !important;
    background-color: #eef4fb !important;
    background-position: center !important;
    background-size: cover !important;
    color: var(--nb-primary) !important;
    display: grid !important;
    place-items: center !important;
    font-size: 28px !important;
    font-weight: 850 !important;
}

.nobench-equipment-card-body {
    padding: 14px 14px 14px 0 !important;
    min-width: 0 !important;
}

.nobench-equipment-icon {
    width: 34px !important;
    height: 34px !important;
    margin-bottom: 8px !important;
    border-radius: 10px !important;
}

.nobench-equipment-icon svg {
    width: 18px !important;
    height: 18px !important;
}

.nobench-equipment-card h4 {
    margin: 0 0 6px !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
}

.nobench-equipment-card p {
    margin: 0 0 8px !important;
    color: var(--nb-muted) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.nobench-equipment-card-meta {
    display: block !important;
    margin-bottom: 10px !important;
    color: var(--nb-text) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
}

.nobench-venue-gallery {
    margin: 0 !important;
    padding: 24px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: var(--nb-shadow) !important;
}

.nobench-venue-gallery h3 {
    margin: 0 0 16px !important;
    color: var(--nb-text) !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

.nobench-venue-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.nobench-venue-gallery-item {
    border-radius: 8px !important;
    box-shadow: none !important;
}

.nobench-venue-upcoming {
    display: grid !important;
    gap: 16px !important;
    margin-top: 4px !important;
}

.nobench-section-heading {
    display: flex !important;
    justify-content: space-between !important;
    align-items: end !important;
    gap: 16px !important;
}

.nobench-section-heading h3 {
    margin: 4px 0 0 !important;
    color: var(--nb-text) !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
}

.nobench-empty-state {
    padding: 28px !important;
    border: 1px dashed #cbd5e1 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
}

.nobench-empty-state h4 {
    margin: 0 0 8px !important;
    color: var(--nb-text) !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
}

.nobench-empty-state p {
    margin: 0 0 18px !important;
    max-width: 520px !important;
    color: var(--nb-muted) !important;
}

.nobench-venue-games-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

.nobench-venue-games-grid .nobench-game-card {
    margin: 0 !important;
}

.nobench-venue-games-grid .nobench-single-game-summary {
    margin-bottom: 0 !important;
}

.nobench-equipment-card label {
    display: grid !important;
    gap: 5px !important;
    color: var(--nb-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.nobench-equipment-card input[type="number"] {
    width: 96px !important;
    min-height: 38px !important;
}

@media (max-width: 620px) {
    .nobench-venue-directory-card {
        grid-template-columns: 1fr !important;
    }

    .nobench-venue-card-cover,
    .nobench-venue-card-image {
        min-height: 210px !important;
    }

    .nobench-venue-card-body {
        gap: 14px !important;
        padding: 18px !important;
    }

    .nobench-venue-card-info {
        grid-template-columns: 1fr !important;
    }

    .nobench-venue-card-head h3 {
        font-size: 22px !important;
    }

    .nobench-equipment-card {
        grid-template-columns: 1fr !important;
    }

    .nobench-equipment-card-image {
        min-height: 150px !important;
    }

    .nobench-equipment-card-body {
        padding: 14px !important;
    }

    .nobench-equipment-icon {
        margin-bottom: 10px !important;
    }
}

.nobench-home-cta {
    background: #182230 !important;
}

.nobench-home-cta h2 {
    color: rgba(255, 255, 255, 0.92) !important;
}

.nobench-home-cta p {
    color: rgba(255, 255, 255, 0.84) !important;
}

.nobench-static-page {
    display: grid !important;
    gap: 18px !important;
}

.nobench-static-hero h2,
.nobench-static-card h3 {
    margin: 0 0 18px !important;
    color: var(--nb-text) !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
}

.nobench-static-hero p,
.nobench-static-card p {
    margin: 0 !important;
    color: var(--nb-muted) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

.nobench-static-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.nobench-static-page-vertical .nobench-static-grid {
    grid-template-columns: 1fr !important;
}

.nobench-static-card a {
    color: var(--nb-primary) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.nobench-venue-map,
.nobench-venue-cover {
    overflow: hidden !important;
}

.nobench-venue-cover-image {
    height: 400px !important;
}

.nobench-topbar-menu,
#nobench-primary-menu {
    border-color: var(--nb-border) !important;
}

@media (max-width: 768px) {
    .nb-main {
        padding-top: 14px !important;
    }

    .nb-page-title,
    .entry-title {
        font-size: 28px !important;
    }

    .nobench-home-hero-content {
        padding: 24px !important;
        border-radius: 8px !important;
    }

    .nobench-home-hero-content h1 {
        font-size: 36px !important;
        line-height: 1.06 !important;
    }

    .nobench-home-hero-panel,
    .nobench-home-step,
    .nobench-game-card,
    .nobench-join-box,
    .nobench-admin-confirmation,
    .nobench-create-game-form,
    .nobench-home-cta {
        border-radius: 8px !important;
        padding: 16px !important;
    }

    .nobench-static-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Homepage-only photographic background. */
.nobench-theme-home .nb-main {
    position: relative !important;
    overflow: hidden !important;
    background: var(--nb-bg) !important;
}

.nobench-theme-home-has-bg .nb-main::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 560px !important;
    z-index: 0 !important;
    background:
        linear-gradient(90deg, rgba(7, 12, 22, 0.82), rgba(7, 12, 22, 0.58)),
        linear-gradient(180deg, rgba(7, 12, 22, 0.18), rgba(7, 12, 22, 0.82)),
        var(--nobench-home-bg-image) center center / cover no-repeat !important;
}

.nobench-theme-home-has-bg .nb-main::after {
    content: "" !important;
    position: absolute !important;
    top: 430px !important;
    left: 0 !important;
    right: 0 !important;
    height: 160px !important;
    z-index: 0 !important;
    background: linear-gradient(180deg, rgba(244, 245, 247, 0), var(--nb-bg) 72%) !important;
    pointer-events: none !important;
}

.nobench-theme-home-has-bg .nb-page,
.nobench-theme-home-has-bg .nobench-home {
    position: relative !important;
    z-index: 1 !important;
}

.nobench-theme-home-has-bg .nobench-home-hero {
    min-height: 0 !important;
    align-items: stretch !important;
    padding-top: 34px !important;
    padding-bottom: 44px !important;
}

.nobench-theme-home-has-bg .nobench-home-hero-content {
    background: rgba(10, 17, 29, 0.48) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: none !important;
    backdrop-filter: blur(6px) !important;
}

.nobench-theme-home-has-bg .nobench-home-hero-panel {
    align-self: stretch !important;
    background: rgba(255, 255, 255, 0.62) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
    box-shadow: none !important;
    backdrop-filter: blur(6px) !important;
}

.nobench-theme-home-has-bg .nobench-home-section,
.nobench-theme-home-has-bg .nobench-home-cta {
    position: relative !important;
    z-index: 1 !important;
}

@media (max-width: 768px) {
    .nobench-theme-home-has-bg .nb-main::before {
        height: 570px !important;
        background-position: 48% top !important;
    }

    .nobench-theme-home-has-bg .nb-main::after {
        top: 450px !important;
    }

    .nobench-theme-home-has-bg .nobench-home-hero {
        min-height: auto !important;
        padding-top: 22px !important;
        padding-bottom: 34px !important;
    }

    .nobench-theme-home-has-bg .nobench-home-hero-content {
        background: rgba(10, 17, 29, 0.56) !important;
    }

}

/* =========================================================
   Classic WordPress page fallback
   Plain old page content should still look like NoBench.
========================================================= */
.nb-page-content > :where(h1, h2, h3, h4, p, ul, ol, table, form, .wp-block-group, .wp-block-columns, .wp-block-cover) {
    max-width: 100% !important;
}

.nb-page-content > :where(h1, h2, h3, h4):not([class*="nobench"]) {
    margin: 0 0 14px !important;
    color: var(--nb-text) !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
    font-weight: 780 !important;
    letter-spacing: 0 !important;
}

.nb-page-content > :where(p, ul, ol):not([class*="nobench"]) {
    margin: 0 0 16px !important;
    color: var(--nb-muted) !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}

.nb-page-content > :where(table, form, .wp-block-group, .wp-block-columns):not([class*="nobench"]) {
    margin: 0 0 18px !important;
    padding: 22px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: var(--nb-shadow-soft) !important;
    box-sizing: border-box !important;
}

.nb-page-content > :where(table):not([class*="nobench"]) {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
}

.nb-page-content :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea):not([class*="nobench"]) {
    min-height: 44px !important;
    border: 1px solid var(--nb-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--nb-text) !important;
    font: inherit !important;
    font-weight: 400 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.nb-page-content :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select):not([class*="nobench"]) {
    padding: 0 12px !important;
}

.nb-page-content :where(textarea):not([class*="nobench"]) {
    padding: 11px 12px !important;
    line-height: 1.45 !important;
}

.nb-page-content :where(.wp-block-button__link):not([class*="nobench"]) {
    border-radius: 8px !important;
    background: var(--nb-primary) !important;
    color: #fff !important;
    font-weight: 720 !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    .nb-page-content > :where(table, form, .wp-block-group, .wp-block-columns):not([class*="nobench"]) {
        padding: 16px !important;
    }

    .nb-page-content > :where(h1, h2, h3, h4):not([class*="nobench"]) {
        font-size: 24px !important;
    }
}

/* React app shell: no classic page spacer between the topbar and app hero. */
body.nobench-theme-app-page .nb-main,
body.nobench-theme-app-page article.nb-page,
body.nobench-theme-app-page .nb-page-content,
body.nobench-theme-app-page .entry-content,
body.nobench-theme-app-page .nobench-react-root,
body.nobench-theme-app-page .nb-react-app {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.nobench-theme-app-page .nb-main {
    background: var(--nb-bg) !important;
}

/* Keep Create Game hero aligned with Games/Venues/Sports hero cards. */
.nb-page .entry-content > .nobench-create-game-hero.nobench-page-hero {
    padding: clamp(34px, 3.8vw, 42px) clamp(44px, 4.4vw, 54px) !important;
}

/* =========================================================
   Design flavor: Aurora Glass
   A switchable premium skin. Classic remains the default.
========================================================= */
body.nobench-design-aurora {
    --nb-bg: #050914;
    --nb-card: rgba(255, 255, 255, 0.075);
    --nb-text: #f4f7ff;
    --nb-muted: #aeb9cc;
    --nb-border: rgba(215, 231, 255, 0.16);
    --nb-primary: #62ddff;
    --nb-primary-hover: #8a7cff;
    --nb-radius: 20px;
    --nb-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
    background:
        radial-gradient(circle at 16% 8%, rgba(98, 221, 255, 0.18), transparent 30%),
        radial-gradient(circle at 84% 12%, rgba(160, 103, 255, 0.19), transparent 28%),
        radial-gradient(circle at 68% 92%, rgba(255, 91, 231, 0.12), transparent 34%),
        linear-gradient(135deg, #02040b 0%, #070b17 48%, #10111f 100%) !important;
    color: var(--nb-text) !important;
}

body.nobench-design-aurora::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    pointer-events: none !important;
    background-image:
        linear-gradient(rgba(145, 216, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(180, 112, 255, 0.035) 1px, transparent 1px) !important;
    background-size: 54px 54px !important;
    mask-image: radial-gradient(circle at center, black, transparent 78%) !important;
    opacity: 0.45 !important;
}

body.nobench-design-aurora .nb-main,
body.nobench-design-aurora.nobench-theme-home .nb-main,
body.nobench-design-aurora.nobench-theme-app-page .nb-main {
    background:
        radial-gradient(circle at 12% 0%, rgba(98, 221, 255, 0.13), transparent 34%),
        radial-gradient(circle at 88% 6%, rgba(160, 103, 255, 0.16), transparent 32%),
        linear-gradient(135deg, #050914 0%, #090e1d 54%, #111322 100%) !important;
}

body.nobench-design-aurora .nobench-topbar {
    background: rgba(4, 8, 17, 0.78) !important;
    border-bottom-color: rgba(215, 231, 255, 0.12) !important;
    backdrop-filter: blur(20px) !important;
    box-shadow: 0 12px 38px rgba(0, 0, 0, 0.22) !important;
}

body.nobench-design-aurora .nobench-topbar-logo span,
body.nobench-design-aurora .nobench-topbar-menu a {
    color: var(--nb-text) !important;
}

body.nobench-design-aurora .nobench-topbar-menu a:hover {
    color: #b7efff !important;
}

body.nobench-design-aurora .nobench-notification-bell,
body.nobench-design-aurora .nobench-message-bell,
body.nobench-design-aurora .nobench-message-bell-mobile,
body.nobench-design-aurora .nobench-message-bell-desktop,
body.nobench-design-aurora .nobench-notification-bell-mobile,
body.nobench-design-aurora .nobench-notification-bell-desktop {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(215, 231, 255, 0.22) !important;
    color: #ffb84d !important;
}

body.nobench-design-aurora .nobench-account-menu summary {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(215, 231, 255, 0.22) !important;
    color: #ffb84d !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22) !important;
}

body.nobench-design-aurora .nobench-message-bell {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(215, 231, 255, 0.22) !important;
    color: #ffb84d !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22) !important;
}

body.nobench-design-aurora .nobench-message-bell .nobench-notification-count {
    background: #ff7a1a !important;
    color: #ffffff !important;
    border-color: #06101f !important;
}

body.nobench-design-aurora .nobench-account-menu-panel {
    background: rgba(4, 8, 17, 0.96) !important;
    border-color: rgba(215, 231, 255, 0.16) !important;
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.34) !important;
}

body.nobench-design-aurora .nobench-account-menu-panel a {
    color: #d8ddea !important;
}

body.nobench-design-aurora .nobench-account-menu-user {
    border-bottom-color: rgba(215, 231, 255, 0.14) !important;
    color: #d8ddea !important;
}

body.nobench-design-aurora .nobench-account-menu-user-icon {
    background: rgba(98, 221, 255, 0.11) !important;
    border-color: rgba(98, 221, 255, 0.22) !important;
    color: #b7efff !important;
}

body.nobench-design-aurora .nobench-account-menu-user strong {
    color: #ffffff !important;
}

body.nobench-design-aurora .nobench-account-menu-user small {
    color: #9aa6bb !important;
}

body.nobench-design-aurora .nobench-account-menu-panel a:hover,
body.nobench-design-aurora .nobench-account-menu-panel a.is-active {
    background: rgba(98, 221, 255, 0.12) !important;
    color: #b7efff !important;
}

body.nobench-design-aurora .nobench-account-menu-panel a[data-nobench-account-menu-item="logout"] {
    color: #ffb4ab !important;
}

body.nobench-design-aurora .nobench-account-menu-panel a[data-nobench-account-menu-item="logout"]:hover {
    background: rgba(255, 122, 26, 0.12) !important;
    color: #ffd0c8 !important;
}

body.nobench-design-aurora .nobench-account-menu-summary-count,
body.nobench-design-aurora .nobench-account-menu-count {
    background: #ff8a2a !important;
    color: #06101f !important;
}

body.nobench-design-aurora .nobench-account-menu-summary-count {
    border-color: #06101f !important;
}

body.nobench-design-aurora .nobench-mobile-toggle {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(215, 231, 255, 0.22) !important;
    color: #ffb84d !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22) !important;
}

body.nobench-design-aurora .nobench-footer-horizontal {
    background: rgba(4, 8, 17, 0.84) !important;
    border-top-color: rgba(215, 231, 255, 0.12) !important;
    backdrop-filter: blur(16px) !important;
}

body.nobench-design-aurora .nobench-footer-horizontal,
body.nobench-design-aurora .nobench-footer-horizontal a,
body.nobench-design-aurora .nobench-footer-links a {
    color: #d8ddea !important;
}

body.nobench-design-aurora .nb-page-title,
body.nobench-design-aurora .entry-title,
body.nobench-design-aurora h1,
body.nobench-design-aurora h2,
body.nobench-design-aurora h3,
body.nobench-design-aurora h4 {
    color: var(--nb-text) !important;
}

body.nobench-design-aurora .nb-page-content p,
body.nobench-design-aurora .nobench-muted,
body.nobench-design-aurora .muted,
body.nobench-design-aurora .nobench-game-card p,
body.nobench-design-aurora .nobench-home-step p,
body.nobench-design-aurora .nobench-page-hero p,
body.nobench-design-aurora .nobench-card-subtitle {
    color: var(--nb-muted) !important;
}

body.nobench-design-aurora :where(
    .nobench-game-card,
    .nobench-home-step,
    .nobench-home-cta,
    .nobench-home-hero-panel,
    .nobench-create-game-form,
    .nobench-create-step,
    .nobench-create-game-submit,
    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-page-hero,
    .nobench-owner-panel,
    .nobench-owner-card,
    .nobench-owner-calendar-shell,
    .nobench-account-card,
    .nobench-account-panel,
    .nobench-static-hero,
    .nobench-static-card,
    .nobench-smart-room-panel,
    .nobench-smart-room-status,
    .nobench-smart-room-venue-card,
    .nobench-smart-card,
    .nobench-venue-card,
    .nobench-single-game-card,
    .nobench-join-box,
    .woocommerce,
    .woocommerce-page .entry-content
) {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.045)) !important;
    border-color: rgba(215, 231, 255, 0.16) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
    color: var(--nb-text) !important;
    backdrop-filter: blur(14px) !important;
}

body.nobench-design-aurora :where(.nobench-game-card, .nobench-create-step, .nobench-page-hero, .nobench-smart-room-panel, .nobench-venue-card)::after {
    border-color: rgba(98, 221, 255, 0.18) !important;
}

body.nobench-design-aurora .nobench-page-hero {
    position: relative !important;
    overflow: hidden !important;
    background:
        linear-gradient(90deg, rgba(5, 9, 20, 0.88), rgba(5, 9, 20, 0.62)),
        radial-gradient(circle at 78% 18%, rgba(98, 221, 255, 0.18), transparent 32%),
        radial-gradient(circle at 94% 14%, rgba(160, 103, 255, 0.18), transparent 30%) !important;
}

body.nobench-design-aurora .nobench-page-hero::before {
    opacity: 0.48 !important;
}

body.nobench-design-aurora.nobench-theme-home-has-bg .nb-main::before {
    background:
        linear-gradient(90deg, rgba(3, 8, 18, 0.86), rgba(3, 8, 18, 0.58)),
        linear-gradient(180deg, rgba(3, 8, 18, 0.08), rgba(3, 8, 18, 0.84)),
        var(--nobench-home-bg-image) center center / cover no-repeat !important;
}

body.nobench-design-aurora.nobench-theme-home-has-bg .nb-main::after {
    background: linear-gradient(180deg, rgba(5, 9, 20, 0), var(--nb-bg) 72%) !important;
}

body.nobench-design-aurora.nobench-theme-home-has-bg .nobench-home-hero-content {
    background: rgba(5, 10, 20, 0.58) !important;
    border-color: rgba(215, 231, 255, 0.18) !important;
    backdrop-filter: blur(14px) !important;
}

body.nobench-design-aurora.nobench-theme-home-has-bg .nobench-home-hero-panel {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(215, 231, 255, 0.18) !important;
}

body.nobench-design-aurora .nobench-home-hero-content h1,
body.nobench-design-aurora .nobench-home-hero-content p,
body.nobench-design-aurora .nobench-home-hero-content span {
    color: #f4f7ff !important;
}

body.nobench-design-aurora :where(.nobench-button, button.nobench-button, input[type="submit"], .button) {
    border-radius: 999px !important;
}

body.nobench-design-aurora :where(.nobench-button:not(.nobench-button-secondary), button.nobench-button:not(.nobench-button-secondary), input[type="submit"]) {
    background: linear-gradient(135deg, #62ddff, #8a7cff 62%, #ff5be7) !important;
    border-color: rgba(255, 255, 255, 0.20) !important;
    color: #04101f !important;
    box-shadow: 0 16px 44px rgba(98, 221, 255, 0.16), 0 10px 34px rgba(255, 91, 231, 0.12) !important;
}

body.nobench-design-aurora :where(.nobench-button-secondary, .nobench-button-outline, .nobench-card-action-secondary) {
    background: rgba(255, 255, 255, 0.055) !important;
    border-color: rgba(215, 231, 255, 0.18) !important;
    color: var(--nb-text) !important;
}

body.nobench-design-aurora :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    select,
    textarea
) {
    background: rgba(2, 6, 14, 0.48) !important;
    border-color: rgba(215, 231, 255, 0.18) !important;
    color: var(--nb-text) !important;
}

body.nobench-design-aurora :where(input, select, textarea)::placeholder {
    color: rgba(216, 221, 234, 0.62) !important;
}

body.nobench-design-aurora :where(input:focus, select:focus, textarea:focus) {
    border-color: rgba(98, 221, 255, 0.64) !important;
    box-shadow: 0 0 0 4px rgba(98, 221, 255, 0.12) !important;
}

body.nobench-design-aurora :where(.nobench-pill, .nobench-sport-pill, .nobench-status-pill, .nobench-smart-chip, .nobench-badge) {
    background: rgba(98, 221, 255, 0.10) !important;
    border-color: rgba(98, 221, 255, 0.22) !important;
    color: #b7efff !important;
}

body.nobench-design-aurora :where(.nobench-home-stat, .nobench-game-meta-box, .nobench-info-tile, .nobench-smart-room-plan span, .nobench-smart-room-step) {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(215, 231, 255, 0.14) !important;
    color: var(--nb-text) !important;
}

body.nobench-design-aurora .nobench-smart-room-hero {
    background:
        radial-gradient(circle at 18% 12%, rgba(98, 221, 255, 0.18), transparent 32%),
        radial-gradient(circle at 84% 14%, rgba(160, 103, 255, 0.18), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.042)) !important;
    border-color: rgba(127, 226, 255, 0.24) !important;
}

body.nobench-design-aurora table,
body.nobench-design-aurora .nobench-finance-table {
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--nb-text) !important;
    border-color: rgba(215, 231, 255, 0.14) !important;
}

body.nobench-design-aurora th,
body.nobench-design-aurora td {
    border-color: rgba(215, 231, 255, 0.11) !important;
}

body.nobench-design-aurora .nb-page-content > :where(table, form, .wp-block-group, .wp-block-columns):not([class*="nobench"]) {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(215, 231, 255, 0.16) !important;
}

@media (max-width: 1050px) {
    body.nobench-design-aurora .nobench-topbar-menu {
        background: rgba(4, 8, 17, 0.96) !important;
        border-color: rgba(215, 231, 255, 0.16) !important;
        box-shadow: 0 20px 55px rgba(0, 0, 0, 0.34) !important;
    }

    body.nobench-design-aurora .nobench-topbar-menu a,
    body.nobench-design-aurora #nobench-primary-menu a {
        color: #d8ddea !important;
    }

    body.nobench-design-aurora .nobench-topbar-menu a:hover,
    body.nobench-design-aurora #nobench-primary-menu a:hover,
    body.nobench-design-aurora .nobench-topbar-menu a.is-active,
    body.nobench-design-aurora #nobench-primary-menu a.is-active {
        background: rgba(98, 221, 255, 0.12) !important;
        color: #b7efff !important;
    }
}

/* =========================================================
   NoBench App Design Pass
   Turns the existing WordPress/PHP screens into one app-like
   product language inspired by marketplace, sports booking,
   activity, social, and business-dashboard apps.
========================================================= */
:root {
    --nb-surface: #ffffff;
    --nb-surface-soft: #f8fbff;
    --nb-surface-tint: #eef6ff;
    --nb-line: #d7e1ee;
    --nb-ink: #101828;
    --nb-ink-soft: #50627a;
    --nb-blue: #155eef;
    --nb-blue-2: #0ea5e9;
    --nb-green: #12b76a;
    --nb-warning: #f59e0b;
    --nb-danger: #dc2626;
    --nb-card-radius: 16px;
    --nb-field-radius: 12px;
    --nb-pill-radius: 999px;
    --nb-app-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
    --nb-hover-shadow: 0 22px 58px rgba(15, 23, 42, 0.13);
}

body.nobench-design-classic {
    --nb-bg: #f3f6fb;
    --nb-card: var(--nb-surface);
    --nb-text: var(--nb-ink);
    --nb-muted: var(--nb-ink-soft);
    --nb-border: var(--nb-line);
    --nb-primary: var(--nb-blue);
    --nb-primary-hover: #0f49c7;
    --nb-radius: var(--nb-card-radius);
    --nb-shadow: var(--nb-app-shadow);
}

body.nobench-design-classic .nb-main {
    background:
        radial-gradient(circle at 9% 0%, rgba(14, 165, 233, 0.08), transparent 30%),
        radial-gradient(circle at 92% 6%, rgba(21, 94, 239, 0.07), transparent 28%),
        var(--nb-bg) !important;
}

body.nobench-design-classic .nobench-topbar {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(18px) !important;
}

.nobench-game-card,
.nobench-home-step,
.nobench-home-hero-panel,
.nobench-home-cta,
.nobench-create-step,
.nobench-create-review,
.nobench-account-header,
.nobench-account-panel,
.nobench-profile-form,
.nobench-profile-section,
.nobench-player-card,
.nobench-sport-card,
.nobench-tournament-card,
.nobench-tournament-create,
.nobench-owner-card,
.nobench-owner-panel,
.nobench-owner-ops-card,
.nobench-owner-court-form,
.nobench-smart-match-panel,
.nobench-smart-intent-form,
.nobench-smart-current-intent,
.nobench-smart-room-panel,
.nobench-smart-room-status,
.nobench-smart-room-join,
.nobench-static-card,
.nobench-static-hero {
    border-radius: var(--nb-card-radius) !important;
    border: 1px solid var(--nb-line) !important;
    background: var(--nb-surface) !important;
    box-shadow: var(--nb-app-shadow) !important;
}

.nobench-game-card:hover,
.nobench-venue-directory-card:hover,
.nobench-player-card:hover,
.nobench-sport-card:hover,
.nobench-tournament-card:hover,
.nobench-smart-room-panel:hover {
    box-shadow: var(--nb-hover-shadow) !important;
}

.nobench-page-hero {
    min-height: 200px !important;
    height: 200px !important;
    border-radius: var(--nb-card-radius) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    background:
        linear-gradient(90deg, rgba(6, 15, 34, 0.92), rgba(8, 24, 52, 0.70) 55%, rgba(8, 24, 52, 0.42)),
        var(--nobench-page-hero-image, url("images/create-game-cover.jpg")) center center / cover no-repeat !important;
    box-shadow: 0 20px 58px rgba(15, 23, 42, 0.16) !important;
}

.nobench-page-hero h2,
.nobench-page-hero .nobench-eyebrow {
    margin: 0 0 34px !important;
    color: #ffffff !important;
    font-size: clamp(36px, 4.8vw, 56px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.04em !important;
    text-shadow: 0 10px 28px rgba(0, 0, 0, 0.22) !important;
}

.nobench-page-hero p,
.nobench-page-hero .nobench-eyebrow + h2 {
    max-width: 640px !important;
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}

.nobench-games-filter,
.nobench-venues-filter,
.nobench-players-filter,
.nobench-tournaments-filter,
.nobench-smart-match-form {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(150px, 1fr)) auto auto !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 16px !important;
    border: 1px solid var(--nb-line) !important;
    border-radius: var(--nb-card-radius) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: var(--nb-app-shadow) !important;
}

.nobench-games-filter select,
.nobench-games-filter input,
.nobench-venues-filter select,
.nobench-venues-filter input,
.nobench-players-filter select,
.nobench-players-filter input,
.nobench-tournaments-filter select,
.nobench-tournaments-filter input,
.nobench-smart-match-form select,
.nobench-smart-match-form input,
.nobench-create-game-form select,
.nobench-create-game-form input,
.nobench-create-game-form textarea,
.nobench-profile-form input,
.nobench-profile-form select,
.nobench-profile-form textarea,
.nobench-owner-court-form input,
.nobench-owner-court-form select,
.nobench-owner-court-form textarea {
    min-height: 46px !important;
    border-radius: var(--nb-field-radius) !important;
    border: 1px solid var(--nb-line) !important;
    background: #ffffff !important;
    color: var(--nb-ink) !important;
    font-weight: 580 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76) !important;
}

.nobench-games-filter select:focus,
.nobench-games-filter input:focus,
.nobench-venues-filter select:focus,
.nobench-venues-filter input:focus,
.nobench-players-filter select:focus,
.nobench-players-filter input:focus,
.nobench-create-game-form select:focus,
.nobench-create-game-form input:focus,
.nobench-create-game-form textarea:focus {
    border-color: rgba(21, 94, 239, 0.58) !important;
    box-shadow: 0 0 0 4px rgba(21, 94, 239, 0.11) !important;
}

.nobench-button,
button.nobench-button,
.nobench-games-filter button,
.nobench-venues-filter button,
.nobench-players-filter button,
input[type="submit"] {
    min-height: 44px !important;
    border-radius: var(--nb-field-radius) !important;
    font-weight: 820 !important;
    text-decoration: none !important;
}

.nobench-button:not(.nobench-button-secondary),
button.nobench-button:not(.nobench-button-secondary),
.nobench-games-filter button,
.nobench-venues-filter button,
.nobench-players-filter button,
input[type="submit"] {
    background: linear-gradient(135deg, var(--nb-blue), #1d6cff) !important;
    border-color: var(--nb-blue) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 26px rgba(21, 94, 239, 0.22) !important;
}

.nobench-button-secondary,
.nobench-secondary-link,
.nobench-card-action-secondary {
    border-radius: var(--nb-field-radius) !important;
    border: 1px solid var(--nb-line) !important;
    background: #ffffff !important;
    color: var(--nb-ink) !important;
    box-shadow: none !important;
}

.nobench-venue-directory-card {
    min-height: 310px !important;
    border-radius: var(--nb-card-radius) !important;
    overflow: hidden !important;
    border: 1px solid var(--nb-line) !important;
    background: #ffffff !important;
    box-shadow: var(--nb-app-shadow) !important;
}

.nobench-venue-card-cover::after {
    content: "" !important;
    position: absolute !important;
    inset: auto 0 0 0 !important;
    height: 48% !important;
    background: linear-gradient(180deg, rgba(6, 15, 34, 0), rgba(6, 15, 34, 0.56)) !important;
    pointer-events: none !important;
}

.nobench-venue-card-cover {
    min-height: 310px !important;
}

.nobench-venue-card-image {
    min-height: 310px !important;
}

.nobench-venue-card-body {
    gap: 18px !important;
    padding: clamp(20px, 2.6vw, 30px) !important;
}

.nobench-venue-card-head h3 {
    margin-top: 0 !important;
    font-size: clamp(24px, 2.8vw, 34px) !important;
    letter-spacing: -0.035em !important;
}

.nobench-venue-card-info {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.nobench-venue-info-row,
.nobench-game-card-info > div,
.nobench-game-info-box,
.nobench-home-stat,
.nobench-payment-breakdown div,
.nobench-smart-signal-grid > span,
.nobench-smart-room-plan > span,
.nobench-smart-room-stepper span,
.nobench-owner-stat-card,
.nobench-owner-compact-row {
    border-radius: var(--nb-field-radius) !important;
    border: 1px solid #dbe7f5 !important;
    background: linear-gradient(180deg, #fbfdff, #f5f9ff) !important;
}

.nobench-icon,
.nobench-create-step-head > span,
.nobench-home-step-top > span,
.nobench-home-stat-icon,
.nobench-owner-card-icon,
.nobench-smart-icon,
.nobench-venue-card-empty-icon {
    border-radius: 14px !important;
    background: #eaf4ff !important;
    color: var(--nb-blue) !important;
}

.nobench-game-card-premium {
    position: relative !important;
    overflow: hidden !important;
}

.nobench-game-card-premium::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 5px !important;
    background: linear-gradient(180deg, var(--nb-blue), var(--nb-blue-2)) !important;
}

.nobench-game-card-top {
    gap: 18px !important;
}

.nobench-game-card-info {
    gap: 12px !important;
}

.nobench-game-price {
    border-radius: var(--nb-field-radius) !important;
    border: 1px solid #dbe7f5 !important;
    background: #f8fbff !important;
}

.nobench-player-progress,
.nobench-progress-track {
    height: 10px !important;
    border-radius: 999px !important;
    background: #e8eef6 !important;
    overflow: hidden !important;
}

.nobench-player-progress-bar,
.nobench-progress-fill {
    border-radius: inherit !important;
    background: linear-gradient(90deg, var(--nb-blue), var(--nb-green)) !important;
}

.nobench-player-card,
.nobench-players-directory-grid .nobench-player-card {
    position: relative !important;
    display: grid !important;
    gap: 14px !important;
    overflow: hidden !important;
}

.nobench-player-card::before,
.nobench-players-directory-grid .nobench-player-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    height: 5px !important;
    background: linear-gradient(90deg, var(--nb-blue), var(--nb-green), var(--nb-warning)) !important;
}

.nobench-player-card img,
.nobench-account-header img,
.nobench-smart-room-person img {
    border-radius: 999px !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12) !important;
}

.nobench-player-card-meta span,
.nobench-players-directory-grid .nobench-player-card-meta span,
.nobench-sport-stats span,
.nobench-venue-sport-pills span,
.nobench-pill,
.nobench-sport-pill,
.nobench-smart-chip,
.nobench-live-bench-badge,
.nobench-trust-badge {
    border-radius: var(--nb-pill-radius) !important;
    border: 1px solid #dbeafe !important;
    background: #eff6ff !important;
    color: var(--nb-blue) !important;
    font-weight: 800 !important;
}

.nobench-smart-match-hero,
.nobench-smart-room-hero {
    border-radius: var(--nb-card-radius) !important;
    background:
        linear-gradient(90deg, rgba(7, 18, 40, 0.92), rgba(16, 42, 82, 0.72)),
        radial-gradient(circle at 82% 12%, rgba(14, 165, 233, 0.34), transparent 34%) !important;
}

.nobench-smart-match-grid,
.nobench-smart-room-grid {
    gap: 18px !important;
}

.nobench-smart-room-person,
.nobench-smart-room-message,
.nobench-message-thread-row,
.nobench-social-row {
    border-radius: var(--nb-field-radius) !important;
    border: 1px solid #dbe7f5 !important;
    background: #fbfdff !important;
}

.nobench-create-step-head {
    grid-template-columns: 46px minmax(0, 1fr) !important;
}

.nobench-create-step-head > span {
    width: 46px !important;
    height: 46px !important;
}

.nobench-create-step h3 {
    font-size: 24px !important;
    letter-spacing: -0.025em !important;
}

.nobench-create-review {
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
}

.nobench-owner-hero,
.nobench-owner-command,
.nobench-owner-venue-switch {
    border-radius: var(--nb-card-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--nb-app-shadow) !important;
}

.nobench-owner-section-head {
    align-items: center !important;
    padding: 4px 0 !important;
}

.nobench-owner-kicker,
.nobench-eyebrow {
    color: var(--nb-blue) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

.nobench-account-tabs a,
.nobench-dashboard-tabs a {
    border-radius: var(--nb-field-radius) !important;
    background: #ffffff !important;
}

.nobench-account-tabs a.is-active,
.nobench-dashboard-tabs a.is-active {
    box-shadow: 0 12px 26px rgba(21, 94, 239, 0.18) !important;
}

body.nobench-design-aurora .nobench-venue-info-row,
body.nobench-design-aurora .nobench-game-card-info > div,
body.nobench-design-aurora .nobench-game-info-box,
body.nobench-design-aurora .nobench-home-stat,
body.nobench-design-aurora .nobench-payment-breakdown div,
body.nobench-design-aurora .nobench-smart-signal-grid > span,
body.nobench-design-aurora .nobench-smart-room-plan > span,
body.nobench-design-aurora .nobench-smart-room-stepper span,
body.nobench-design-aurora .nobench-smart-room-person,
body.nobench-design-aurora .nobench-smart-room-message,
body.nobench-design-aurora .nobench-message-thread-row,
body.nobench-design-aurora .nobench-social-row {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(215, 231, 255, 0.15) !important;
}

body.nobench-design-aurora .nobench-button-secondary,
body.nobench-design-aurora .nobench-secondary-link,
body.nobench-design-aurora .nobench-card-action-secondary,
body.nobench-design-aurora .nobench-account-tabs a,
body.nobench-design-aurora .nobench-dashboard-tabs a {
    background: rgba(255, 255, 255, 0.07) !important;
    color: var(--nb-text) !important;
}

body.nobench-design-aurora .nobench-icon,
body.nobench-design-aurora .nobench-create-step-head > span,
body.nobench-design-aurora .nobench-home-step-top > span,
body.nobench-design-aurora .nobench-home-stat-icon,
body.nobench-design-aurora .nobench-owner-card-icon,
body.nobench-design-aurora .nobench-smart-icon {
    background: rgba(98, 221, 255, 0.11) !important;
    border: 1px solid rgba(98, 221, 255, 0.22) !important;
    color: #b7efff !important;
}

@media (max-width: 980px) {
    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-tournaments-filter,
    .nobench-smart-match-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .nobench-page-hero {
        min-height: 190px !important;
        padding: 26px 20px !important;
        border-radius: 14px !important;
    }

    .nobench-page-hero h2,
    .nobench-page-hero .nobench-eyebrow {
        margin-bottom: 24px !important;
        font-size: clamp(34px, 11vw, 46px) !important;
    }

    .nobench-games-filter,
    .nobench-venues-filter,
    .nobench-players-filter,
    .nobench-tournaments-filter,
    .nobench-smart-match-form {
        grid-template-columns: 1fr !important;
        padding: 14px !important;
        gap: 10px !important;
    }

    .nobench-venue-directory-card {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    .nobench-venue-card-cover,
    .nobench-venue-card-image {
        min-height: 210px !important;
    }

    .nobench-venue-card-info {
        grid-template-columns: 1fr !important;
    }

    .nobench-game-card,
    .nobench-home-step,
    .nobench-home-hero-panel,
    .nobench-home-cta,
    .nobench-create-step,
    .nobench-create-review,
    .nobench-account-header,
    .nobench-account-panel,
    .nobench-profile-form,
    .nobench-profile-section,
    .nobench-player-card,
    .nobench-sport-card,
    .nobench-tournament-card,
    .nobench-smart-room-panel,
    .nobench-smart-room-status,
    .nobench-smart-room-join {
        border-radius: 14px !important;
    }
}

/* Canonical page hero: Games card rules applied to every non-home hero. */
.nobench-page-hero,
.nobench-players-hero,
.nobench-tournaments-hero,
.nobench-tournament-hero,
.nobench-smart-match-hero {
    position: relative !important;
    height: 200px !important;
    min-height: 200px !important;
    margin-bottom: 18px !important;
    padding: clamp(28px, 4vw, 44px) !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: var(--nb-card-radius) !important;
    background:
        linear-gradient(90deg, rgba(6, 15, 34, 0.92), rgba(8, 24, 52, 0.70) 55%, rgba(8, 24, 52, 0.42)),
        var(--nobench-page-hero-image, url("images/create-game-cover.jpg")) center center / cover no-repeat !important;
    box-shadow: 0 20px 58px rgba(15, 23, 42, 0.16) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 24px !important;
}

.nb-page .entry-content > .nobench-create-game-hero.nobench-page-hero {
    padding: clamp(28px, 4vw, 44px) !important;
}

.nobench-smart-match-hero .nobench-smart-hero-copy {
    display: contents !important;
}

.nobench-smart-match-hero .nobench-smart-icon {
    display: none !important;
}

.nobench-page-hero h2,
.nobench-page-hero .nobench-eyebrow,
.nobench-players-hero h2,
.nobench-players-hero .nobench-eyebrow,
.nobench-tournaments-hero h2,
.nobench-tournaments-hero .nobench-eyebrow,
.nobench-tournament-hero h2,
.nobench-tournament-hero .nobench-eyebrow,
.nobench-smart-match-hero h2,
.nobench-smart-match-hero .nobench-eyebrow {
    display: block !important;
    max-width: 680px !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(36px, 4.8vw, 56px) !important;
    line-height: 1.02 !important;
    font-weight: 850 !important;
    letter-spacing: -0.04em !important;
    text-transform: none !important;
    text-shadow: 0 10px 28px rgba(0, 0, 0, 0.22) !important;
}

.nobench-page-hero p,
.nobench-page-hero .nobench-eyebrow + h2,
.nobench-players-hero p,
.nobench-players-hero .nobench-eyebrow + h2,
.nobench-tournaments-hero p,
.nobench-tournaments-hero .nobench-eyebrow + h2,
.nobench-tournament-hero p,
.nobench-tournament-hero .nobench-eyebrow + h2,
.nobench-smart-match-hero p,
.nobench-smart-match-hero .nobench-eyebrow + h2 {
    max-width: 640px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}

@media (max-width: 768px) {
    .nobench-page-hero,
    .nobench-players-hero,
    .nobench-tournaments-hero,
    .nobench-tournament-hero,
    .nobench-smart-match-hero {
        height: 200px !important;
        min-height: 200px !important;
        padding: 26px 20px !important;
        gap: 22px !important;
    }

    .nobench-page-hero h2,
    .nobench-page-hero .nobench-eyebrow,
    .nobench-players-hero h2,
    .nobench-players-hero .nobench-eyebrow,
    .nobench-tournaments-hero h2,
    .nobench-tournaments-hero .nobench-eyebrow,
    .nobench-tournament-hero h2,
    .nobench-tournament-hero .nobench-eyebrow,
    .nobench-smart-match-hero h2,
    .nobench-smart-match-hero .nobench-eyebrow {
        margin: 0 !important;
        font-size: clamp(34px, 11vw, 46px) !important;
    }
}
