/* Events overview: shared IFR typography, spacing and optically balanced logos. */
.catalog-page :where(h1,h2,h3,p,dl,dd) { margin:0; }
.catalog-page a { text-decoration:none; }
.catalog-page svg { width:20px; height:20px; flex-shrink:0; }
.catalog-page :is(h1,h2) { text-wrap:balance; }
.catalog-hero { padding-block:var(--layout-gap); background:var(--navy); color:#fff; }
.catalog-hero h1 { font-size:clamp(64px,5.6vw,92px); line-height:1.01; letter-spacing:-.055em; }
.catalog-hero h1 span { color:var(--yellow); }
.catalog-hero p { max-width:730px; margin-top:24px; font-size:1.125rem; color:#c7ccd6; }
.catalog-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding-block:12px; font-size:.9375rem; font-weight:800; }
.catalog-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.catalog-hero .catalog-text-link { margin-top:16px; }
.catalog-hero :focus-visible,.catalog-help :focus-visible { outline-color:var(--yellow); }
.catalog-section { padding-block:var(--section-padding); }
.catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.catalog-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--border); }
.catalog-photo { display:block; position:relative; aspect-ratio:16/8; overflow:hidden; background:var(--navy); }
.catalog-photo > img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.catalog-photo:hover > img { transform:scale(1.025); }
.catalog-logo { --logo-width:100px; --logo-height:100px; position:absolute; bottom:16px; left:16px; width:148px; height:120px; display:flex; align-items:center; justify-content:center; background:var(--navy); }
.catalog-logo img { width:var(--logo-width); height:var(--logo-height); max-width:none; flex-shrink:0; object-fit:contain; }
[data-catalog-event="padel"] .catalog-logo { --logo-width:90px; --logo-height:90px; }
[data-catalog-event="champions"] .catalog-logo { --logo-width:116px; --logo-height:78px; }
[data-catalog-event="fast-five"] .catalog-logo { --logo-width:116px; --logo-height:116px; }
.catalog-card-body { display:flex; flex-direction:column; flex:1; min-width:0; padding:32px; }
.catalog-card h2 { font-size:2rem; line-height:1.16; letter-spacing:-.035em; }
.catalog-date { display:flex; align-items:flex-start; gap:10px; margin-top:var(--space-sm); font-weight:800; font-size:var(--type-label); }
.catalog-date svg { width:18px; height:18px; margin-top:2px; }
.catalog-intro { margin-top:20px; color:var(--muted); }
.catalog-facts { display:grid; grid-template-columns:1fr 1fr; gap:18px var(--space-md); margin-block:var(--space-md); padding-top:var(--space-md); border-top:1px solid var(--border); }
.catalog-facts dt { font-size:.8125rem; color:var(--muted); margin-bottom:4px; }
.catalog-facts dd { font-size:.9375rem; font-weight:700; }
.catalog-location { grid-column:1/-1; }
.catalog-card-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; margin-top:auto; }
.catalog-page .button { display:inline-flex; align-items:center; justify-content:center; gap:18px; white-space:normal; }
.catalog-comparison { background:#e9eceb; scroll-margin-top:100px; }
.catalog-section-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:var(--heading-gap); }
.catalog-section-heading h2,.catalog-help h2 { font-size:var(--type-feature-title); }
.catalog-section-heading p { max-width:400px; color:var(--muted); }
.catalog-table-scroll { overflow-x:auto; border:1px solid #cdd2d4; background:var(--canvas); overscroll-behavior-x:contain; }
.catalog-table { width:100%; min-width:1000px; border-collapse:separate; border-spacing:0; text-align:left; table-layout:fixed; font-size:.9375rem; }
.catalog-table th,.catalog-table td { vertical-align:top; padding:22px 20px; border-bottom:1px solid var(--border); border-right:1px solid var(--border); overflow-wrap:break-word; }
.catalog-table th:first-child { width:155px; }
.catalog-table tr > :last-child { border-right:0; }
.catalog-table thead th { background:var(--navy); color:var(--canvas); font-weight:800; font-size:1rem; }
.catalog-table thead a:hover { color:var(--yellow); }
.catalog-table thead a:focus-visible { outline-color:var(--yellow); }
.catalog-table tbody th { background:#edf0ed; font-weight:800; }
.catalog-table tbody tr:last-child > * { border-bottom:0; }
.catalog-table-actions .catalog-text-link { padding:0; min-height:44px; font-size:.8125rem; align-items:center; gap:8px; }
.catalog-table-actions td { padding-block:14px; }
.catalog-table-actions svg { width:16px; height:16px; }
.catalog-comparison-note { margin-top:20px; color:var(--muted); font-size:var(--type-label); }
.catalog-scroll-hint { display:none; }
.catalog-help { color:#fff; background:var(--navy); }
.catalog-help .shell { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.catalog-help p { max-width:670px; margin-top:20px; color:#c7ccd6; }
.catalog-help .button { flex-shrink:0; }
@media(max-width:1100px) {
 .catalog-card-body { padding:26px; }
 .catalog-card h2 { font-size:1.75rem; }
 .catalog-section-heading { display:block; }
 .catalog-section-heading p { margin-top:20px; max-width:650px; }
 .catalog-scroll-hint { display:flex; align-items:center; gap:12px; margin-bottom:var(--space-sm); font-size:.875rem; color:var(--muted); }
 .catalog-table th:first-child { position:sticky; left:0; z-index:1; width:130px; }
 .catalog-table thead th:first-child { z-index:2; }
}
@media(max-width:900px) { .catalog-hero { padding-block:48px; text-align:center; } .catalog-hero p { margin-inline:auto; } }
@media(max-width:800px) { .catalog-grid { gap:24px; } .catalog-logo { width:124px; height:100px; } .catalog-logo img { width:calc(var(--logo-width) * .8); height:calc(var(--logo-height) * .8); } .catalog-card-actions { flex-direction:column; align-items:stretch; } .catalog-card-actions .catalog-text-link { justify-content:center; } .catalog-help .shell { flex-direction:column; align-items:start; } }
@media(max-width:700px) { .catalog-grid { grid-template-columns:1fr; } .catalog-photo { aspect-ratio:16/9; } .catalog-card-body { padding:28px 24px; } .catalog-card h2 { font-size:1.75rem; } .catalog-card-actions { flex-direction:row; align-items:center; } }
@media(max-width:640px) { .catalog-hero { padding-block:var(--space-lg); } .catalog-hero h1 { font-size:clamp(44px,11vw,64px); } .catalog-hero p { margin-top:20px; font-size:1rem; } .catalog-facts { gap:18px; } .catalog-table { min-width:960px; } .catalog-table th,.catalog-table td { padding:18px 16px; } .catalog-table th:first-child { width:112px; } .catalog-table-actions td { padding-block:10px; } .catalog-comparison { scroll-margin-top:85px; } }
@media(max-width:420px) { .catalog-card-actions { flex-direction:column; align-items:stretch; gap:4px; } .catalog-card-actions .catalog-text-link { justify-content:center; } .catalog-card-body { padding:24px 20px; } .catalog-facts { grid-template-columns:1fr; } .catalog-logo { left:12px; bottom:12px; } }
@media(prefers-reduced-motion:reduce) { .catalog-photo > img { transition:none; } .catalog-photo:hover > img { transform:none; } }
@media(forced-colors:active) { .catalog-logo,.catalog-table th,.catalog-table td { border:1px solid CanvasText; } }
