body{
background:#f4f6f8;
}

/* TITLE */
.page-title{
font-weight:700;
font-size:22px;
}
.tournament-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tournament-tools{display:flex;min-width:0;align-items:center;gap:.65rem}.tournament-tools .ctb-search-limit{width:min(390px,42vw)}.tournament-search-box{overflow:hidden;border:1px solid #dce7e2;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(23,51,43,.04)}.tournament-search-box .input-group-text,.tournament-search-box .form-control{min-height:48px;border:0;background:#fff}.tournament-search-box .input-group-text{padding-left:1rem;color:#71847c}.tournament-search-box .form-control:focus{box-shadow:none}.tournament-location-btn{display:inline-flex;min-height:48px;align-items:center;gap:.55rem;padding:.45rem .9rem;border:1px solid #9dceba;border-radius:14px;background:#fff;color:#087f5b;font-size:.82rem;font-weight:750;white-space:nowrap;transition:.2s}.tournament-location-btn:hover,.tournament-location-btn.is-active{border-color:#087f5b;background:#edf9f4}.tournament-location-btn:disabled{opacity:.7}.tournament-location-btn__icon{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#e5f6ee}.tournament-location-btn.is-active .tournament-location-btn__icon{background:#087f5b;color:#fff}

/* CARD */
.tournament-card{
border:0;
border-radius:16px;
overflow:hidden;
box-shadow:0 6px 18px rgba(0,0,0,.08);
transition:.25s;
cursor:pointer;
}

.tournament-card:hover{
transform:translateY(-4px);
box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.tournament-card.is-finished{box-shadow:0 4px 14px rgba(0,0,0,.055)}
.tournament-card.is-finished .tournament-img{filter:saturate(.72)}

/* IMAGE */
.tournament-img{
aspect-ratio:16/9;
background-size:cover;
background-position:center;
position:relative;
}
.tournament-distance{position:absolute;z-index:2;right:10px;top:10px;padding:.3rem .5rem;border-radius:999px;background:rgba(18,43,34,.82);color:#fff;font-size:.72rem;font-weight:700;backdrop-filter:blur(6px)}
.tournament-location-status{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border:1px solid #dfe9e5;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(23,51,43,.035)}.tournament-location-status__icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:11px;background:#eef5f2;color:#087f5b}.tournament-location-status__copy{display:flex;min-width:0;flex:1;flex-direction:column}.tournament-location-status__copy strong{color:#2e493f;font-size:.8rem}.tournament-location-status__copy small{color:#778982;font-size:.7rem}.tournament-location-status.is-active{border-color:#a9dac7;background:#f3fbf7}.tournament-location-status.is-active .tournament-location-status__icon{background:#087f5b;color:#fff}.tournament-location-status.is-loading .tournament-location-status__icon i{animation:tournamentPulse 1s ease-in-out infinite}.tournament-location-status.is-error{border-color:#ecd9b3;background:#fffaf0}.tournament-location-status.is-error .tournament-location-status__icon{background:#fff1d6;color:#9a6700}.tournament-location-reset{padding:.45rem .7rem;border:1px solid #cfe1d9;border-radius:10px;background:#fff;color:#087f5b;font-size:.7rem;font-weight:750;white-space:nowrap}@keyframes tournamentPulse{50%{opacity:.35;transform:scale(.82)}}
@media(max-width:767.98px){.tournament-page-header{align-items:stretch;flex-direction:column}.tournament-tools{width:100%}.tournament-tools .ctb-search-limit{width:auto;flex:1}.tournament-location-btn{padding-inline:.65rem}.tournament-location-status{align-items:flex-start}.tournament-location-reset{align-self:center}}
@media(max-width:479.98px){.tournament-tools{align-items:stretch;flex-direction:column}.tournament-tools .ctb-search-limit{width:100%}.tournament-location-btn{justify-content:center}.tournament-location-status{flex-wrap:wrap}.tournament-location-reset{width:100%}}

/* OVERLAY */
.tournament-overlay{
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(0,0,0,.7),transparent);
display:flex;
align-items:flex-end;
padding:10px;
color:#fff;
font-weight:600;
font-size:14px;
}

/* BODY */
.tournament-body{
padding:12px;
}

.tournament-title{
font-weight:600;
font-size:15px;
}

/* META */
.tournament-meta{
font-size:13px;
color:#6c757d;
}

/* DESC */
.desc{
font-size:13px;
color:#444;
margin-top:4px;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}

/* LOADING */
.loading{
position:fixed;
inset:0;
background:#00000055;
display:none;
align-items:center;
justify-content:center;
z-index:9999;
backdrop-filter:blur(2px);
}
