/* Home page promotion of the featured tournament: a full banner for visitors, a strip for members. */
.tournament-promo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: center;
    background: #081832;
    background-image:
        linear-gradient(#ffffff0d 2px, transparent 2px),
        linear-gradient(90deg, #ffffff0d 2px, transparent 2px);
    background-size: 100% 33%, 25% 100%;
    color: #fff;
    border-radius: 20px;
    padding: 36px 40px;
    margin-bottom: 32px;
    box-shadow: 0 16px 40px #08183218;
}
.tournament-promo-copy { min-width: 0; max-width: 620px; }
.tournament-promo-kicker { color: #c7ea3a; font-size: .8rem; letter-spacing: .12em; font-weight: 700; text-transform: uppercase; margin-bottom: 8px; }
.tournament-promo h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 800; line-height: 1.1; margin: 0 0 12px; overflow-wrap: anywhere; }
.tournament-promo-when { color: #c2cede; margin-bottom: 20px; }
.tournament-promo-heading { font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: #fff; margin: 0 0 8px; }
.tournament-promo-prizes { list-style: none; padding: 0; margin: 0 0 8px; display: grid; gap: 8px; }
.tournament-promo-prizes li {
    display: flex; gap: 10px; align-items: baseline;
    background: #ffffff12; border: 1px solid #ffffff24; border-radius: 10px;
    padding: 10px 14px; overflow-wrap: anywhere;
}
.tournament-promo-prizes .bi { color: #c7ea3a; flex: none; }
.tournament-promo-fine { color: #c2cede; font-size: .85rem; margin: 0 0 20px; }
.tournament-promo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.tournament-promo-actions .btn { white-space: normal; }
.tournament-promo-secondary { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.tournament-promo-secondary:hover { color: #c7ea3a; }
.tournament-promo a:focus-visible { outline: 3px solid #c7ea3a; outline-offset: 3px; }
.tournament-promo-photo { margin: 0; width: 240px; text-align: center; }
.tournament-promo-photo img {
    display: block; width: 100%; height: auto;
    border-radius: 14px; box-shadow: 0 12px 28px #00000059;
}
.tournament-promo-photo figcaption { color: #c2cede; font-size: .8rem; margin-top: 10px; }

@media (max-width: 767px) {
    .tournament-promo { grid-template-columns: 1fr; padding: 24px 20px; gap: 20px; }
    .tournament-promo-photo { width: 160px; justify-self: center; }
}

.tournament-promo-strip {
    display: flex; align-items: center; gap: 12px;
    background: #081832; color: #fff;
    border-radius: 12px; padding: 10px 12px 10px 16px;
    margin-bottom: 24px;
}
.tournament-promo-strip-icon { color: #c7ea3a; font-size: 1.1rem; flex: none; }
.tournament-promo-strip-text { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.tournament-promo-strip-text a { color: #fff; font-weight: 700; }
.tournament-promo-strip-prize { color: #c2cede; display: block; font-size: .875rem; }
.tournament-promo-strip .btn { flex: none; }
.tournament-promo-strip .btn-outline-secondary { color: #fff; border-color: #7c91aa; }
.tournament-promo-strip .btn-close { filter: invert(1) grayscale(1) brightness(2); flex: none; }
.tournament-promo-strip a:focus-visible, .tournament-promo-strip .btn-close:focus-visible { outline: 3px solid #c7ea3a; outline-offset: 2px; }

/* Redesign: lime card with navy text (matches the home page's design) */
.tournament-promo { background: #d8f53c; background-image: none; color: #0e1f3d; border-radius: 32px; padding: clamp(28px, 5vw, 48px); box-shadow: none; font-family: 'Archivo', system-ui, sans-serif; }
.tournament-promo h2 { font-family: 'Archivo', system-ui, sans-serif; font-weight: 800; letter-spacing: -.03em; color: #0e1f3d; }
.tournament-promo-kicker { display: inline-flex; align-items: center; min-height: 32px; padding: 0 14px; background: #0e1f3d; color: #fff; border-radius: 999px; font-size: .8rem; }
.tournament-promo-when, .tournament-promo-fine { color: #0e1f3d; }
.tournament-promo-heading { color: #0e1f3d; }
.tournament-promo-prizes li { background: #0e1f3d; color: #fff; border: 0; border-radius: 16px; padding: 14px 18px; }
.tournament-promo-prizes .bi { color: #d8f53c; }
.tournament-promo-secondary { color: #0e1f3d; font-weight: 600; }
.tournament-promo-secondary:hover { color: #0e1f3d; text-decoration-thickness: 2px; }
.tournament-promo .btn-tennis { background: #0e1f3d; border-color: #0e1f3d; color: #fff; border-radius: 999px; font-weight: 700; padding: .65rem 1.7rem; }
.tournament-promo a:focus-visible { outline-color: #0e1f3d; }
.tournament-promo-photo figcaption { color: #0e1f3d; }
.tournament-promo-strip { background: #d8f53c; color: #0e1f3d; border-radius: 20px; }
.tournament-promo-strip-icon { color: #0e1f3d; }
.tournament-promo-strip-text a { color: #0e1f3d; text-decoration: underline; text-underline-offset: 3px; }
.tournament-promo-strip-prize { color: #0e1f3d; }
.tournament-promo-strip .btn-tennis { background: #0e1f3d; border-color: #0e1f3d; color: #fff; border-radius: 999px; }
.tournament-promo-strip .btn-outline-secondary { color: #0e1f3d; border-color: #0e1f3d; border-radius: 999px; }
.tournament-promo-strip .btn-close { filter: none; }

/* The signup countdown (tournaments/countdown.html) in signup's last 48 hours. */
.tournament-promo .tournament-countdown { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; background: #c7ea3a; color: #10210a; border-radius: 10px; padding: 6px 12px; margin: 0 0 16px; font-weight: 600; }
.tournament-promo-strip .tournament-countdown { display: block; margin: 2px 0 0; color: #c7ea3a; font-size: .875rem; }
.tournament-countdown strong { font-variant-numeric: tabular-nums; }
