/* GivingTuesday Las Vegas — /givingtuesday/ */
.gtl-countdown { display: flex; justify-content: center; align-items: baseline; flex-wrap: wrap; gap: 14px; margin: 0 auto var(--spacing-xl); color: #fff; }
.gtl-cd { display: inline-flex; align-items: baseline; gap: 4px; font-size: var(--font-size-sm); opacity: .9; }
.gtl-cd b { font-size: var(--font-size-3xl); font-weight: 700; opacity: 1; }
.gtl-cd__label { font-size: var(--font-size-lg); opacity: .85; flex-basis: 100%; text-align: center; }
.gtl-cd__live { font-size: var(--font-size-2xl); font-weight: 700; }

.gtl-totals-wrap { padding-top: var(--spacing-2xl); padding-bottom: 0; }
.gtl-totals { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: var(--spacing-md); }
.gtl-total { background: var(--color-bg-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--spacing-lg); text-align: center; }
.gtl-total__value { display: block; font-size: var(--font-size-3xl); font-weight: 700; color: #384e87; }
.gtl-total__label { display: block; font-size: var(--font-size-sm); color: var(--color-text-muted); }

.gtl-tools { display: flex; gap: var(--spacing-sm); flex-wrap: wrap; margin-bottom: var(--spacing-lg); }
.gtl-tools .form-input { flex: 1 1 260px; }
.gtl-tools .form-select { flex: 0 0 auto; width: auto; }
.gtl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--spacing-lg); }
.gtl-empty { grid-column: 1 / -1; text-align: center; color: var(--color-text-muted); padding: var(--spacing-2xl) 0; }
.gtl-more { margin-top: var(--spacing-xl); text-align: center; font-size: var(--font-size-sm); color: var(--color-text-muted); }

.gtl-card { display: flex; flex-direction: column; gap: 10px; background: var(--color-bg-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--spacing-lg); min-width: 0; scroll-margin-top: 96px; }
.gtl-card--focus { border-color: #384e87; box-shadow: 0 0 0 3px rgba(56, 78, 135, .2); }
.gtl-card__head { display: flex; gap: 12px; align-items: center; }
.gtl-card__head h3 { margin: 0; font-size: var(--font-size-lg); line-height: 1.25; overflow-wrap: anywhere; }
.gtl-card__name { color: inherit; text-decoration: none; }
.gtl-card__name:hover, .gtl-card__name:focus-visible { color: var(--color-primary); text-decoration: underline; }
.gtl-card__logo { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 10px; border: 1px solid var(--color-border); object-fit: contain; background: #fff; padding: 3px; }
.gtl-card__logo--text { display: flex; align-items: center; justify-content: center; font-weight: 700; color: #384e87; background: var(--color-bg-light); padding: 0; }
.gtl-card__city { font-size: var(--font-size-xs); color: var(--color-text-muted); text-transform: capitalize; }
.gtl-card__mission { margin: 0; font-size: var(--font-size-sm); color: var(--color-text-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gtl-card__stat { font-size: var(--font-size-sm); font-weight: 600; }
.gtl-card__actions { margin-top: auto; padding-top: 6px; }
.gtl-card__actions .btn { width: 100%; justify-content: center; }
.gtl-bar { height: 8px; border-radius: 999px; background: var(--color-bg-light); overflow: hidden; }
.gtl-bar span { display: block; height: 100%; background: linear-gradient(90deg, #384e87, #54c8e8); border-radius: inherit; }

.gtl-checklist { background: var(--color-bg-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--spacing-2xl); }
.gtl-checklist h3 { margin-bottom: var(--spacing-md); }
.gtl-checklist ul { margin: 0; padding-left: 1.2em; line-height: 1.6; font-size: var(--font-size-sm); }
.gtl-checklist li { margin-bottom: .5em; }

/* StratusUI enhances the sort <select>; keep it beside the search box. */
.gtl-tools .sui-sel-wrap { flex: 0 0 220px; width: auto; }
.gtl-tools .sui-sel-trigger { min-height: 2.75rem; font-size: var(--font-size-base); }
@media (max-width: 640px) { .gtl-tools .sui-sel-wrap { flex: 1 1 100%; } }

/* Community leaderboard: top ten by dollars and by volunteer hours. */
.gtl-lb-wrap { padding-bottom: 0; scroll-margin-top: 80px; }
.gtl-boards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--spacing-lg); }
.gtl-board { background: var(--color-bg-white); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--spacing-lg); min-width: 0; }
.gtl-board__title { margin: 0 0 var(--spacing-sm); font-size: var(--font-size-sm); letter-spacing: .08em; text-transform: uppercase; color: #384e87; }
.gtl-board__list { list-style: none; margin: 0; padding: 0; }
.gtl-board__row { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--color-border); min-width: 0; }
.gtl-board__row:first-child { border-top: 0; }
.gtl-board__rank { flex: 0 0 26px; height: 26px; border-radius: 13px; background: var(--color-bg-light); color: var(--color-text-muted); font-size: var(--font-size-xs); font-weight: 700; display: flex; align-items: center; justify-content: center; }
.gtl-board__rank--top { background: #384e87; color: #fff; }
.gtl-card__logo.gtl-board__logo { width: 32px; height: 32px; flex: 0 0 32px; border-radius: 8px; padding: 2px; font-size: var(--font-size-xs); }
.gtl-board__who { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.gtl-board__name { font-weight: 600; color: var(--color-text-dark); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gtl-board__sub { font-size: var(--font-size-xs); color: var(--color-text-muted); }
.gtl-board__name:hover { color: var(--color-primary); text-decoration: underline; }
.gtl-board__value { flex: 0 0 auto; font-size: var(--font-size-sm); font-weight: 700; color: #384e87; white-space: nowrap; }
.gtl-board__empty { padding: var(--spacing-md) 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }
@media (max-width: 480px) { .gtl-boards { grid-template-columns: 1fr; } }
