:root { --xr-teal: var(--color-primary-dark); --xr-ink: var(--color-text); --xr-soft: var(--color-text-soft); --xr-border: rgba(23,51,50,.13); }
* { box-sizing: border-box; }
body { margin: 0; color: var(--xr-ink); background: #f5f7f4; font-family: var(--font-body); line-height: 1.55; }
h1, h2, p { margin-top: 0; }
.xr-hero { padding: 64px 0 58px; background: linear-gradient(145deg, #dff1e9, #fffaf0); }
.xr-hero__grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(280px,.7fr); align-items: end; gap: 48px; }
.xr-back { display: inline-block; margin-bottom: 28px; color: var(--xr-teal); font-weight: 850; text-decoration: none; }
.xr-kicker { display: block; margin-bottom: 10px; color: var(--xr-teal); font-size: .76rem; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.xr-hero h1 { max-width: 820px; margin-bottom: 16px; font-size: clamp(2.65rem,6vw,5.2rem); line-height: .98; letter-spacing: -.055em; }
.xr-hero__grid > div > p { max-width: 660px; margin: 0; color: var(--xr-soft); font-size: 1.12rem; }
.xr-security-card { display: flex; gap: 15px; padding: 22px; border: 1px solid rgba(22,123,121,.16); border-radius: 24px; background: rgba(255,255,255,.8); box-shadow: 0 12px 34px rgba(23,51,50,.07); }
.xr-security-card > span { width: 42px; height: 42px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 14px; color: #fff; background: var(--xr-teal); font-size: 1.35rem; }
.xr-security-card strong { display: block; margin-bottom: 5px; }
.xr-security-card p { margin: 0; color: var(--xr-soft); font-size: .88rem; }
.xr-main { padding: 54px 0 96px; }
.xr-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; align-items: start; gap: 28px; }
.xr-status { display: flex; align-items: center; gap: 18px; padding: 24px; border: 1px solid var(--xr-border); border-radius: 24px; background: #fff; box-shadow: 0 9px 28px rgba(23,51,50,.05); }
.xr-status[hidden] { display: none !important; }
.xr-status p { margin: 3px 0 0; color: var(--xr-soft); }
.xr-status--closed { border-color: #ead9a8; background: #fff9e8; }
.xr-status--error { border-color: #f2cabb; background: #fff1ec; }
.xr-spinner { width: 30px; height: 30px; border: 3px solid #d8e8e2; border-top-color: var(--xr-teal); border-radius: 50%; animation: xr-spin .8s linear infinite; }
@keyframes xr-spin { to { transform: rotate(360deg); } }
.xr-form { display: grid; gap: 20px; }
.xr-form[hidden], .xr-success[hidden] { display: none !important; }
.xr-adult-participant[hidden] { display: none !important; }
.xr-adult-participant { margin-top: 1rem; padding: 1rem; border: 1px solid #d8e8df; border-radius: 14px; background: #f5faf7; }
.xr-adult-participant p { margin: 0 0 .75rem; color: #42564b; }
.xr-adult-participant label { display: grid; gap: .4rem; font-weight: 700; }
.xr-adult-participant input { width: 100%; }
.xr-activity__scope { color: #27633f; font-weight: 700; }
.xr-form-section { padding: clamp(23px,4vw,36px); border: 1px solid var(--xr-border); border-radius: 28px; background: #fff; box-shadow: 0 10px 30px rgba(23,51,50,.05); }
.xr-section-heading { display: flex; gap: 15px; margin-bottom: 27px; }
.xr-section-heading > span { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 13px; color: #fff; background: var(--xr-teal); font-weight: 950; }
.xr-section-heading h2 { margin: 0 0 4px; font-size: clamp(1.45rem,2vw,1.9rem); letter-spacing: -.025em; }
.xr-section-heading p { margin: 0; color: var(--xr-soft); font-size: .9rem; }
.xr-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.xr-grid__wide { grid-column: 1 / -1; }
.xr-form label > span:first-child, .xr-radio-group legend { display: block; margin-bottom: 7px; font-size: .84rem; font-weight: 850; }
.xr-form input:not([type=checkbox]):not([type=radio]), .xr-form select { width: 100%; min-height: 52px; padding: 0 14px; border: 1px solid #cdd9d5; border-radius: 14px; color: var(--xr-ink); background: #fbfcfb; font: inherit; }
.xr-form input:focus, .xr-form select:focus { outline: 3px solid rgba(37,149,147,.18); border-color: var(--xr-teal); }
.xr-form input:disabled, .xr-form select:disabled { color: #87928f; background: #eff2f0; }
.xr-activities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.xr-activity { position: relative; padding: 17px; border: 1px solid #d9e2df; border-radius: 18px; background: #fbfcfb; }
.xr-activity:has(.xr-activity__main > input:checked) { border-color: var(--xr-teal); background: #e8f5f0; box-shadow: inset 0 0 0 1px var(--xr-teal); }
.xr-activity__main { display: flex !important; gap: 12px; cursor: pointer; }
.xr-activity input { margin-top: 4px; accent-color: var(--xr-teal); }
.xr-activity__main > span { margin: 0 !important; }
.xr-activity strong { display: block; margin-bottom: 3px; }
.xr-activity small { display: block; color: var(--xr-soft); line-height: 1.4; }
.xr-activity__price { margin-top: 7px; color: var(--xr-teal) !important; font-weight: 850; }
.xr-attendance { display: grid; gap: 8px; margin: 15px 0 0 27px; padding: 13px; border: 1px solid rgba(37,149,147,.25); border-radius: 13px; background: rgba(255,255,255,.72); }
.xr-attendance[hidden] { display: none; }
.xr-attendance legend { padding: 0 5px; font-size: .82rem; font-weight: 850; }
.xr-attendance label { display: flex; align-items: flex-start; gap: 7px; font-size: .86rem; cursor: pointer; }
.xr-attendance label span { margin: 0 !important; }
.xr-attendance p { margin: 3px 0 0; color: #7b5630; font-size: .78rem; line-height: 1.4; }
.xr-empty { grid-column: 1 / -1; margin: 0; padding: 26px; border-radius: 18px; color: var(--xr-soft); background: #f3f5f3; text-align: center; }
.xr-field-error { min-height: 1.3em; margin: 10px 0 0; color: #9a3f2c; font-size: .86rem; font-weight: 750; }
.xr-legal { margin-top: 12px; border: 1px solid #d9e2df; border-radius: 16px; overflow: hidden; }
.xr-legal summary { padding: 15px 17px; background: #f6f8f6; font-weight: 850; cursor: pointer; }
.xr-legal__content { max-height: 320px; overflow: auto; padding: 17px; white-space: pre-wrap; color: #52615f; font-size: .87rem; }
.xr-check { display: flex !important; align-items: flex-start; gap: 11px; margin: 13px 0 22px; font-size: .9rem; cursor: pointer; }
.xr-check input { margin-top: 4px; accent-color: var(--xr-teal); }
.xr-radio-group { display: flex; flex-wrap: wrap; gap: 12px; margin: 13px 0 0; padding: 0; border: 0; }
.xr-radio-group legend { width: 100%; }
.xr-radio-group label { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid #d9e2df; border-radius: 999px; cursor: pointer; }
.xr-radio-group label span { margin: 0 !important; }
.xr-radio-group input { accent-color: var(--xr-teal); }
.xr-submit { min-height: 58px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 26px; border: 0; border-radius: 999px; color: #fff; background: var(--xr-teal); box-shadow: 0 15px 32px rgba(22,123,121,.22); font: inherit; font-weight: 900; cursor: pointer; }
.xr-submit:hover { transform: translateY(-2px); }
.xr-submit:disabled { opacity: .6; cursor: wait; transform: none; }
.xr-submit-status { min-height: 1.4em; color: #7b3d30; font-weight: 750; }
.xr-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.xr-sidebar { position: sticky; top: 18px; display: grid; gap: 12px; }
.xr-sidebar > div { padding: 20px; border: 1px solid var(--xr-border); border-radius: 20px; background: #fff; }
.xr-sidebar strong { display: block; margin-bottom: 5px; font-size: .83rem; }
.xr-sidebar p { margin: 0; color: var(--xr-soft); font-size: .88rem; }
.xr-sidebar a { color: var(--xr-teal); font-weight: 800; }
.xr-success { padding: 46px; border: 1px solid rgba(22,123,121,.2); border-radius: 30px; background: #e8f5f0; text-align: center; }
.xr-success > span { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: #fff; background: var(--xr-teal); font-size: 1.8rem; }
.xr-success h2 { margin-bottom: 8px; font-size: 2rem; }
.xr-success p { color: var(--xr-soft); }
.xr-success strong { display: block; margin: 20px auto; font-size: 1.35rem; letter-spacing: .05em; }
.xr-success a { color: var(--xr-teal); font-weight: 900; }
@media (max-width: 900px) { .xr-hero__grid, .xr-layout { grid-template-columns: 1fr; } .xr-sidebar { position: static; grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 650px) { .xr-hero { padding: 42px 0; } .xr-hero__grid { gap: 28px; } .xr-grid, .xr-activities, .xr-sidebar { grid-template-columns: 1fr; } .xr-grid__wide { grid-column: auto; } .xr-form-section { border-radius: 22px; } .xr-submit { width: 100%; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } .xr-spinner { animation: none; } }
