/* Structural containers are not card surfaces. These invariants also neutralize
   old custom builder styles on wrappers without resetting the saved design. */
:is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html) .public-site-v2 :is(#tournaments-list,.public-tournament-group,.public-tournament-grid,#announcements-section,#iba-announcements){
    background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    position:relative!important;inset:auto!important;transform:none!important;translate:none!important;
    height:auto!important;min-height:0!important;max-height:none!important;min-width:0!important;max-width:100%!important;
    margin:0!important;padding:0!important;overflow:visible!important;
}
:is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html) .public-site-v2 #tournaments-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
:is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html) .public-site-v2 .public-tournament-group{display:block!important}
:is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html) .public-site-v2 .public-tournament-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;gap:20px!important;align-items:start!important}
.public-site-v2 #tournaments-list .public-tournament-card{box-sizing:border-box;display:flex;flex-direction:column;gap:14px;min-width:0;overflow-wrap:anywhere;isolation:isolate}
:is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html) .public-site-v2 :is(.public-tournament-card,.iba-announcement){height:auto!important;max-height:none!important;min-width:0!important;max-width:100%!important;position:relative!important;inset:auto!important;margin:0!important}
.public-site-v2 #tournaments-list .public-tournament-card .meta{flex-wrap:wrap;line-height:1.5;gap:8px 16px}
.public-site-v2 #tournaments-list .public-tournament-card h3{margin:0;line-height:1.25}
.public-site-v2 #tournaments-list .public-tournament-card p{margin:0;white-space:pre-line;line-height:1.65;color:#a9adb5}
.public-site-v2 #tournaments-list .iba-tournament-actions{margin-top:auto;padding-top:8px;min-width:0}
.public-site-v2 #tournaments-list .tournament-btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;height:auto;margin:0;padding:12px 16px;line-height:1.35;white-space:normal;text-align:center;letter-spacing:.07em;word-break:normal;text-decoration:none}
.public-site-v2 #tournaments-list .tournament-btn{border:1px solid var(--red,#ff253f)!important;border-radius:12px!important;background:rgba(255,37,63,.07);color:#f5f6f8}
.public-site-v2 #tournaments-list .tournament-btn:hover{background:rgba(255,37,63,.16)}
.public-site-v2 #tournaments-list .tournament-btn:focus-visible{outline:2px solid var(--red,#ff253f);outline-offset:3px}
.public-site-v2 #tournaments-list .tournament-btn svg{flex:none}
.public-site-v2 .iba-tournament-state{display:block;padding:12px 0;color:#999ea7;font-size:13px}
.public-site-v2 .iba-tournament-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px}
.public-site-v2 #tournaments-list .public-empty{background:transparent!important;border:0!important;box-shadow:none!important;min-height:0;padding:8px 0;text-align:left}
/* Existing banners also reserve their entire height, including long captions. */
.public-site-v2 #banners-container .banner-card{display:flex;flex-direction:column;height:auto!important;min-height:0!important;overflow:hidden;isolation:isolate}
.public-site-v2 #banners-container .banner-card>img{position:relative!important;inset:auto!important;width:100%;height:auto!important;aspect-ratio:16/6;object-fit:cover;flex:none}
.public-site-v2 #banners-container .banner-overlay{position:relative!important;inset:auto!important;margin:0!important;width:100%;box-sizing:border-box;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;background:transparent!important;padding:24px;overflow-wrap:anywhere}
:is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html):is(#iba-layout,html) .public-site-v2 #banners-container .banner-overlay{position:relative!important;inset:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:transparent!important;transform:none!important;translate:none!important}
.public-site-v2 #banners-section{height:auto!important;min-height:0!important;position:relative!important;margin-bottom:24px!important}
.public-site-v2 #stats{position:relative!important;margin-top:0!important}
@media(max-width:640px){.public-site-v2 #banners-container .banner-card>img{aspect-ratio:16/9}.public-site-v2 #banners-container .banner-overlay{padding:20px}}
