.ilc-form {
    --color-text: #333;
    --color-heading: #1a284d;
    --color-primary: #3a7dca;
    --color-primary-dark: #2c609d;
    --color-secondary: #e94e34;
    --color-background: #fff;
    --color-background-alt: #f7f9fc;
    --color-border: #eaeaea;
    --color-white: #fff;
    --shadow-sm: 0 4px 15px rgba(0, 0, 0, 0.05);
    --transition-duration: 0.3s ease;
    max-width: 960px; margin: 1.5rem auto; padding: clamp(16px, 3vw, 32px);
    border: 1px solid var(--color-border); border-radius: 12px; box-shadow: var(--shadow-sm);
    background: var(--color-background); color: var(--color-text); font-size: 16px; line-height: 1.6; text-align: left;
}
.ilc-form *, .ilc-form *::before, .ilc-form *::after { box-sizing: border-box; }
.ilc-form [hidden] { display: none !important; }
.ilc-form h2 { margin: 0 0 1rem; color: var(--color-heading); font-size: clamp(24px, 3vw, 32px); line-height: 1.25; }
.ilc-form p { margin: .6rem 0 1rem; }
.ilc-form .ilc-status { padding: 12px 16px; background: var(--color-background-alt); border-left: 4px solid var(--color-primary); overflow-wrap: anywhere; }
.ilc-form .ilc-error { color: var(--color-text); border-color: var(--color-secondary); }
.ilc-form .ilc-step { border: 0; padding: 0; margin: 1.5rem 0 0; min-width: 0; scroll-margin-top: 80px; }
.ilc-form legend { padding: 0; margin: 0 0 12px; font-weight: 700; font-size: 21px; color: var(--color-heading); }
.ilc-form .ilc-choice { display: inline-flex; align-items: center; gap: 8px; margin: 0 16px 8px 0; padding: 10px 16px; border: 1px solid var(--color-border); border-radius: 8px; cursor: pointer; background: var(--color-background); transition: border-color var(--transition-duration), background var(--transition-duration); }
.ilc-form .ilc-choice:has(input:checked) { border-color: var(--color-primary); background: var(--color-background-alt); }
.ilc-form input[type="radio"], .ilc-form input[type="checkbox"] { appearance: auto; -webkit-appearance: auto; accent-color: var(--color-primary-dark); flex: 0 0 auto; width: 20px; height: 20px; margin: 3px 0 0; position: static; opacity: 1; }
.ilc-form .ilc-clubs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ilc-form .ilc-club { display: flex; gap: 10px; border: 1px solid var(--color-border); padding: 16px; border-radius: 8px; margin: 0; cursor: pointer; overflow-wrap: anywhere; transition: border-color var(--transition-duration), box-shadow var(--transition-duration); }
.ilc-form .ilc-club:has(input:checked) { border-color: var(--color-primary); box-shadow: inset 0 0 0 1px var(--color-primary); background: var(--color-background-alt); }
.ilc-form .ilc-club:not(.ilc-closed):hover { border-color: var(--color-primary); }
.ilc-form .ilc-club strong { display: block; color: var(--color-heading); font-size: 16px; line-height: 1.4; }
.ilc-form .ilc-schedule { display: block; font-size: 14px; margin-top: 8px; }
.ilc-form .ilc-payment { display: inline-block; font-size: 14px; margin: 8px 10px 0 0; }
.ilc-form .ilc-badge { display: inline-block; font-size: 13px; font-weight: 600; padding: 2px 8px; border-radius: 4px; color: var(--color-primary-dark); background: var(--color-background-alt); }
.ilc-form .ilc-closed { cursor: default; background: var(--color-background-alt); border-color: var(--color-border); }
.ilc-form .ilc-closed strong { color: var(--color-text); }
.ilc-form .ilc-closed .ilc-badge { color: var(--color-text); background: var(--color-border); }
.ilc-form .ilc-label { display: block; margin: 16px 0 6px; color: inherit; font-size: 16px; }
.ilc-form .ilc-label input { display: block; width: 100%; max-width: 580px; height: auto; min-height: 46px; margin-top: 6px; padding: 10px 12px; border: 1px solid var(--color-primary-dark); border-radius: 5px; background: var(--color-background); color: var(--color-text); font: inherit; box-shadow: none; }
.ilc-form .ilc-label input[name="age"] { max-width: 180px; }
.ilc-form .ilc-consent { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; color: inherit; }
.ilc-form .ilc-consent span { flex: 1; }
.ilc-form .ilc-required, .ilc-form .ilc-age-note { font-size: 14px; }
.ilc-form a { color: var(--color-primary-dark); text-decoration: underline; }
.ilc-form button { width: auto; min-height: 46px; padding: 10px 20px; margin: 8px 0; border: 1px solid var(--color-primary-dark); border-radius: 6px; background: var(--color-primary-dark); color: var(--color-white); cursor: pointer; font: inherit; font-weight: 600; text-transform: none; box-shadow: var(--shadow-sm); transition: background var(--transition-duration), box-shadow var(--transition-duration); }
.ilc-form button:hover { background: var(--color-heading); }
.ilc-form button:disabled { opacity: .65; cursor: wait; }
.ilc-form :is(input[type="radio"], input[type="checkbox"], button, a):focus-visible { outline: 2px solid var(--color-primary-dark); outline-offset: 2px; }
.ilc-form .ilc-label input:focus, .ilc-form .ilc-label input:focus-visible { outline: none; box-shadow: none; border-color: var(--color-heading); background: var(--color-background-alt); }
.ilc-form .ilc-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 640px) { .ilc-form .ilc-clubs { grid-template-columns: 1fr; } .ilc-form .ilc-consent { font-size: 14px; } }
@media (prefers-reduced-motion: reduce) { .ilc-form *, .ilc-form *::before, .ilc-form *::after { transition: none !important; scroll-behavior: auto !important; } }
