/* Register uses the existing IFR type, colour and spacing system. */
.register-page :is(h1,h2,h3,p) { margin:0; }
.register-hero { padding-block:64px; background:var(--navy); color:#fff; }
.register-hero h1 { font-size:clamp(64px,5.6vw,92px); line-height:1.01; letter-spacing:-.055em; }
.register-hero h1 span { color:var(--yellow); }
.register-hero p { max-width:720px; margin-top:24px; color:#c7ccd6; font-size:1.125rem; }
.register-section { padding-block:var(--section-padding); }
.register-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:var(--heading-gap); }
.register-section-heading h2 { font-size:var(--type-feature-title); letter-spacing:-.04em; }
.register-section-heading p { max-width:350px; color:var(--muted); }
.register-events { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.register-event { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid var(--border); }
.register-event[data-selected="true"] { border-color:var(--navy); box-shadow:0 0 0 2px var(--navy); }
/* Optical sizing accounts for each mark's proportions and transparent canvas. */
.register-event-logo { --logo-scale:1; --logo-width:100px; --logo-height:100px; height:125px; padding:12px; display:flex; align-items:center; justify-content:center; background:var(--navy); }
.register-event-logo img { width:calc(var(--logo-width) * var(--logo-scale)); height:calc(var(--logo-height) * var(--logo-scale)); max-width:none; flex-shrink:0; object-fit:contain; }
.register-event[data-register-card="padel"] .register-event-logo { --logo-width:90px; --logo-height:90px; }
.register-event[data-register-card="champions-cup"] .register-event-logo { --logo-width:116px; --logo-height:78px; }
.register-event[data-register-card="fast-five"] .register-event-logo { --logo-width:116px; --logo-height:116px; }
.register-event-copy { padding:24px 22px 16px; flex:1; }
.register-event h3 { font-size:1.25rem; line-height:1.2; letter-spacing:-.02em; }
.register-event-date { margin-top:16px!important; font-size:.875rem; font-weight:800; }
.register-event-location { margin-top:6px!important; font-size:.8125rem; color:var(--muted); }
.register-event-status { margin-top:16px!important; font-size:.75rem; color:var(--muted); }
.register-event-select { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 22px; padding:13px 15px; min-height:48px; background:var(--yellow); color:var(--navy); font-weight:800; font-size:.875rem; text-decoration:none; }
.register-event-select:hover { background:#ffe99a; }
.register-event-select[aria-disabled="true"] { opacity:.55; cursor:wait; }
.register-event-details { display:flex; align-items:center; justify-content:center; gap:8px; padding:16px; min-height:48px; font-size:.8125rem; text-decoration:none; font-weight:800; }
.register-event-details:hover { text-decoration:underline; text-underline-offset:4px; }
.register-page svg { width:20px; height:20px; flex-shrink:0; }
.register-form-root { margin-top:48px; scroll-margin-top:120px; }
.register-empty { padding:40px 24px; border:1px solid var(--border); text-align:center; }
.register-empty h3 { font-size:var(--type-subheading); }
.register-empty p { margin-top:12px; color:var(--muted); }
.register-page .cup-registration-inline[data-slot="dialog-content"] { position:static; display:block; width:100%; height:auto; max-height:none; margin:0; border:1px solid var(--border); overflow:visible; transform:none; }
.register-page .cup-registration-inline .cup-registration-scroll { overflow:visible; }
.register-page .cup-registration-inline .cup-registration-close { display:none; }
.register-page .cup-registration-inline .cup-registration-summary { position:static; }
.register-page .cup-registration-inline legend { scroll-margin-top:115px; }
.register-page .cup-registration-inline .cup-registration-header h2 { font-size:1.75rem; }
.register-page .cup-registration-inline .cup-registration-layout { grid-template-columns:minmax(0,1fr) 290px; gap:40px; padding:32px; }
.register-page .cup-registration-inline :is(input,select) { scroll-margin-top:115px; }
.register-page .btn-yellow { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:50px; padding:14px 22px; background:var(--yellow); color:var(--navy); font:inherit; font-size:.9375rem; font-weight:800; border:0; cursor:pointer; }
.register-page .btn-yellow:hover { background:#ffe99a; }
.register-page button:disabled { opacity:.55; cursor:not-allowed; }
.register-page :is(.cup-registration-back,.cup-registration-review button,.cup-signature-label > button) { border:0; background:none; color:var(--navy); font-family:inherit; cursor:pointer; }
.register-page .cup-registration-preview { margin:0; padding:14px 30px; background:#e9ecef; font-size:.875rem; color:var(--muted); }
.register-page .padel-registration-level-summary { list-style:none; padding:16px 0 0; margin:16px 0 0; border-top:1px solid var(--border); font-size:.8125rem; }
.register-page .padel-registration-level-summary li { display:flex; justify-content:space-between; gap:12px; margin-top:6px; }
.register-page .padel-registration-categories { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.register-page .padel-review-levels { padding-left:18px; font-size:.875rem; margin-top:14px; }
.register-help { background:var(--navy); color:#fff; padding-block:var(--section-padding); }
.register-help .shell { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.register-help h2 { font-size:var(--type-feature-title); letter-spacing:-.04em; }
.register-help p { max-width:670px; margin-top:20px; color:#c7ccd6; }
.register-help .button { flex-shrink:0; display:inline-flex; align-items:center; gap:16px; }
.register-interest { padding:32px; border:1px solid var(--border); background:#fff; }
.register-interest > h2 { font-size:2rem; }
.register-interest > p { max-width:700px; margin-top:16px; color:var(--muted); }
.register-interest form { max-width:780px; margin-top:28px; }
.register-interest .cup-registration-fields { margin-bottom:24px; }
.register-interest textarea { display:block; min-height:140px; width:100%; font:inherit; padding:12px; border:1px solid #b8bec9; border-radius:0; resize:vertical; }
.register-interest-note { font-size:.8125rem; color:var(--muted); margin:20px 0!important; }
.register-interest-status { margin-top:16px!important; font-size:.875rem; }
.register-interest-status[data-error="true"] { color:#942b1e; }
.register-interest-success { padding:32px; background:#fff; border:1px solid var(--border); }
.register-interest-success p { margin-block:16px 24px; }
@media(max-width:1000px) { .register-events { grid-template-columns:repeat(2,minmax(0,1fr)); } .register-section-heading { align-items:start; flex-direction:column; } .register-page .cup-registration-inline .cup-registration-layout { gap:24px; grid-template-columns:minmax(0,1fr) 240px; } }
@media(max-width:800px) { .register-page .cup-registration-inline .cup-registration-layout { display:flex; padding:0 20px 24px; } .register-page .cup-registration-inline .cup-registration-summary { margin-inline:-20px; } .register-help .shell { align-items:start; flex-direction:column; } }
@media(max-width:640px) { .register-hero { padding-block:48px; } .register-hero h1 { font-size:clamp(44px,11vw,64px); } .register-hero p { font-size:1rem; } .register-events { gap:14px; } .register-event-logo { --logo-scale:.8; height:100px; padding:10px; } .register-event-copy { padding:20px 14px 14px; } .register-event h3 { font-size:1.0625rem; } .register-event-select { margin-inline:14px; padding:12px 10px; font-size:.75rem; gap:4px; } .register-event-select svg { width:16px; } .register-event-date { font-size:.8125rem; } .register-event-location { font-size:.75rem; } .register-form-root { margin-top:32px; } .register-page .cup-registration-inline .cup-registration-header h2 { font-size:1.375rem; } .register-page .cup-registration-fields,.register-page .padel-registration-categories { grid-template-columns:1fr; } .register-interest { padding:24px 20px; } .register-help h2 { font-size:var(--type-feature-title); } }
@media(max-width:360px) { .register-event-select { font-size:.6875rem; } .register-event h3 { font-size:1rem; } }
