.competition-catalog { background: var(--bg); color: var(--text); }
.catalog-hero { padding: 1.5rem 0 2.75rem; }
.catalog-breadcrumb { display: flex; gap: .75rem; font-size: .8rem; color: var(--text-muted); margin-bottom: 2rem; }
.catalog-breadcrumb a { color: var(--text-muted); text-decoration: none; }
.catalog-eyebrow { color: var(--primary); letter-spacing: .14em; font-size: .7rem; font-weight: 700; }
.catalog-hero h1 { color: #fff; font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 800; letter-spacing: -.04em; }
.catalog-hero h1 span { color: var(--primary); }
.catalog-intro { color: var(--text-muted); line-height: 1.7; margin: 1rem 0 0; }
.catalog-counter { display: flex; align-items: center; gap: 1rem; padding: 1.25rem; border: 1px solid var(--border); border-radius: var(--radius); background: rgba(17, 24, 39, .7); }
.catalog-counter > i { color: var(--primary); font-size: 2rem; }
.catalog-counter strong { display: block; font-size: 2rem; line-height: 1.1; }
.catalog-counter span { color: var(--text-muted); font-size: .8rem; }
.catalog-content { padding-top: 2.5rem; padding-bottom: 3.5rem; }
.catalog-card { height: 100%; display: flex; flex-direction: column; background: linear-gradient(145deg, var(--bg-3), var(--bg-2)); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: border-color .2s, transform .2s; }
.catalog-card:hover, .catalog-card:focus-within { border-color: var(--primary); transform: translateY(-3px); }
.catalog-card-top { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 1.5rem 1.25rem; }
.catalog-trophy { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; color: var(--primary); font-size: 1.5rem; background: rgba(0, 200, 83, .09); border: 1px solid rgba(0, 200, 83, .16); }
.catalog-country { display: flex; align-items: center; gap: .5rem; padding: .35rem .65rem; background: var(--bg); border: 1px solid var(--border); border-radius: 20px; font-size: .75rem; font-weight: 600; }
.catalog-country span { font-size: 1.15rem; }
.catalog-card-body { padding: 0 1.5rem 1.5rem; flex: 1; }
.catalog-season { color: var(--primary-light); font-size: .7rem; letter-spacing: .1em; margin-bottom: .6rem; }
.catalog-card h3 { font-size: 1.5rem; color: #fff; font-weight: 700; overflow-wrap: anywhere; }
.catalog-card-description { font-size: .85rem; color: var(--text-muted); line-height: 1.6; margin: .85rem 0 0; }
.catalog-card-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border-top: 1px solid var(--border); color: var(--primary); text-decoration: none; font-size: .85rem; font-weight: 600; background: rgba(0, 200, 83, .03); }
.catalog-card-link:hover { color: var(--primary-light); background: rgba(0, 200, 83, .08); }
.catalog-empty { padding: 3rem 1.5rem; text-align: center; border: 1px dashed var(--border-strong); border-radius: var(--radius); background: var(--bg-2); }
.catalog-empty > i { font-size: 2.5rem; color: var(--primary); }
.catalog-empty h3 { font-size: 1.25rem; margin-top: 1rem; }
.catalog-empty p { color: var(--text-muted); }
@media (max-width: 767px) { .catalog-hero { padding-bottom: 1.75rem; } .catalog-counter { padding: 1rem; } .catalog-content { padding-top: 1.75rem; } }
