/* 30 Squares V2 shared template system */
:root{
 --sqv2-navy:#061b48;--sqv2-navy-2:#0b347e;--sqv2-blue:#1468fa;--sqv2-sky:#2bb9ff;
 --sqv2-green:#19c98c;--sqv2-gold:#f5a800;--sqv2-red:#a83228;--sqv2-purple:#7b4dff;
 --sqv2-ink:#10254f;--sqv2-muted:#61708a;--sqv2-line:#dce6f4;--sqv2-soft:#f6f9fe;
 --sqv2-shadow:0 18px 42px rgba(8,33,79,.10);--sqv2-radius:20px
}
html{scroll-behavior:smooth}
body{font-family:'Outfit',sans-serif;background:#fff;color:var(--sqv2-ink)}
body.index-page>main,body.index-page>.page-wrapper{min-height:55vh}

/* Shared full-width hero treatment for public/admin landing screens. */
.games-hero,.explorer-hero,.sponsor-hero,.venues-hero,.castle-hero,.comm-hero,.admin-hero,
.create-hero,.leader-hero,.master-hero,.mytrails-hero,.membership-hero,.auth-hero,
.reward-square-hero,.rewards-hero,.shop-hero,.tb-hero,.trail-hero,.page-hero,
.am-hero,.vcr-hero,.na-hero,.info-hero,.bank-hero,.tm-hero{
 width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important;
 border-radius:0!important;box-shadow:none!important;position:relative;overflow:hidden;
 background-image:linear-gradient(90deg,rgba(3,24,63,.97) 0%,rgba(3,24,63,.86) 50%,rgba(3,24,63,.25) 80%,rgba(3,24,63,.07) 100%),url('../img/brand/hero_background_16x9.jpg')!important;
 background-size:cover!important;background-position:center 40%!important;color:#fff!important
}
.games-hero h1,.games-hero .hero-title,.explorer-hero h1,.sponsor-hero h1,.venues-hero h1,
.castle-hero h1,.comm-hero h1,.comm-hero .hero-title,.admin-hero h1,.admin-hero .hero-title,
.create-hero h1,.create-hero .hero-title,.leader-hero h1,.leader-hero .hero-title,.master-hero h1,
.mytrails-hero h1,.mytrails-hero .hero-title,.membership-hero h1,.auth-hero h1,.shop-hero h1,
.tb-hero h1,.trail-hero h1,.trail-hero .hero-title,.page-hero h1,.am-hero h1,.vcr-hero h1,
.na-hero h1,.info-hero h1,.bank-hero h1,.tm-hero h1{color:#fff!important;text-shadow:0 8px 28px rgba(0,0,0,.22)}
.games-hero p,.games-hero .hero-sub,.explorer-hero p,.sponsor-hero p,.venues-hero p,
.castle-hero p,.comm-hero p,.comm-hero .hero-sub,.admin-hero p,.admin-hero .hero-sub,
.create-hero p,.create-hero .hero-sub,.leader-hero p,.leader-hero .hero-sub,.master-hero p,
.mytrails-hero p,.mytrails-hero .hero-sub,.membership-hero p,.auth-hero p,.shop-hero p,
.tb-hero p,.trail-hero p,.trail-hero .hero-sub,.page-hero p,.am-hero p,.vcr-hero p,
.na-hero p,.info-hero p,.bank-hero p,.tm-hero p{color:#fff!important}

/* Shared shells and cards */
.container,.container-lg,.container-xl,.container-xxl{--bs-gutter-x:1.5rem}
.sqv2-shell{width:min(1380px,calc(100% - 36px));margin-inline:auto}
.card,.page-section,.info-card,.map-card,.quick-actions-card,.admin-panel-card,.play-hub-card,
.account-card,.team-card,.panel,.table-card,.leaderboard-card,.form-card,.detail-card,
.sponsor-card,.commission-card,.summary-card,.stat-card,.metric,.shop-card{
 border-color:rgba(15,42,92,.08)!important;border-radius:var(--sqv2-radius)!important;
 box-shadow:var(--sqv2-shadow)!important;background:#fff
}
.card-header,.panel-head,.table-head,.account-head,.team-head{
 background:linear-gradient(180deg,#fbfdff,#f6f9fe)!important;border-bottom-color:#e8eef8!important
}
h1,h2,h3,h4,h5,h6{color:var(--sqv2-ink);font-weight:900}
.text-muted{color:var(--sqv2-muted)!important}

/* Forms/auth/account */
.form-control,.form-select,.select2-container--bootstrap-5 .select2-selection{
 border-radius:11px!important;border-color:#ccd8e8!important;min-height:44px
}
.form-control:focus,.form-select:focus{
 border-color:var(--sqv2-blue)!important;box-shadow:0 0 0 .2rem rgba(20,104,250,.10)!important
}
.btn{border-radius:10px;font-weight:800}
.btn-primary{background:linear-gradient(135deg,#1468fa,#0f5be4);border-color:#1468fa;box-shadow:0 9px 22px rgba(20,104,250,.22)}
.btn-success{background:linear-gradient(135deg,#19c98c,#0fae76);border-color:#19c98c}
.btn-warning{background:linear-gradient(135deg,#f5a800,#d18400);border-color:#f5a800;color:#fff}
.auth-shell,.login-shell,.password-shell,.membership-shell{width:min(760px,calc(100% - 28px));margin:32px auto 64px}
.auth-card,.login-card,.password-card{background:#fff;border:1px solid rgba(15,42,92,.08);border-radius:20px;box-shadow:var(--sqv2-shadow);padding:24px}

/* Legacy table/form templates */
.page-section{background:#fff!important;color:var(--sqv2-ink)!important;border:1px solid rgba(15,42,92,.08)!important}
.page-title1{font-family:'Outfit',sans-serif!important;font-variant:normal!important;font-size:clamp(2rem,5vw,4rem)!important;color:#fff!important;text-align:left!important}
.page-title2,.page-title3,.page-title4{font-family:'Outfit',sans-serif!important;color:var(--sqv2-ink)!important}
.table{--bs-table-striped-bg:#f7f9fd;--bs-table-hover-bg:#f3f7fd}
.table thead th{background:#f6f9fd!important;color:#64748b!important;text-transform:uppercase;font-size:.76rem;letter-spacing:.04em}

/* Sponsorship and commerce */
.sponsor-hero,.leader-hero{min-height:300px!important}
.info-grid{gap:16px!important}.info-card{padding:20px!important}
.price,.amount,.stat-value{color:var(--sqv2-blue)}

/* Full-width hero content alignment */
.games-hero .hero-inner,.sponsor-hero .hero-inner,.venues-hero-inner,.castle-hero .hero-inner,
.comm-hero .hero-inner,.admin-hero .hero-inner,.create-hero .hero-inner,.leader-hero .hero-inner,
.master-hero-inner,.mytrails-hero .hero-inner,.bank-hero-inner,.info-hero-inner,.tm-hero-inner{
 width:min(1380px,calc(100% - 36px))!important;max-width:none!important;margin-inline:auto!important;padding-left:0!important;padding-right:0!important
}

/* Navigation/page spacing */
.site-header-v2{border-radius:0!important}
main>section:first-child[class*='hero'],body>.games-hero,body>.sponsor-hero{margin-top:0!important}

/* Hide/de-emphasise retired public game-creation surfaces. Backend permissions remain authoritative. */
[data-obsolete-public-create]{display:none!important}

@media(max-width:991px){
 .games-hero,.explorer-hero,.sponsor-hero,.venues-hero,.castle-hero,.comm-hero,.admin-hero,
 .create-hero,.leader-hero,.master-hero,.mytrails-hero,.membership-hero,.auth-hero,.shop-hero,
 .tb-hero,.trail-hero,.page-hero,.am-hero,.vcr-hero,.na-hero,.info-hero,.bank-hero,.tm-hero{min-height:auto!important}
}
@media(max-width:767px){
 .games-hero .hero-inner,.sponsor-hero .hero-inner,.venues-hero-inner,.castle-hero .hero-inner,
 .comm-hero .hero-inner,.admin-hero .hero-inner,.create-hero .hero-inner,.leader-hero .hero-inner,
 .master-hero-inner,.mytrails-hero .hero-inner,.bank-hero-inner,.info-hero-inner,.tm-hero-inner{width:min(100% - 22px,1380px)!important}
 .page-title1{text-align:center!important}
}
