.landing-hero {
  min-height: 520px;
  display: grid;
  align-items: center;
  padding: 88px max(7vw, 24px);
  background: radial-gradient(circle at 85% 18%, rgba(59,129,40,.18), transparent 34%), linear-gradient(135deg,#f7faf6,#e7f1e3);
  border-bottom: 1px solid var(--line);
}
.landing-hero > div { width: min(920px,100%); }
.landing-hero h1 { font-size: clamp(3rem,8vw,7rem); line-height: .92; letter-spacing: -.07em; margin: 10px 0 24px; }
.landing-introduction { max-width: 760px; font-size: 1.12rem; line-height: 1.7; margin-bottom: 30px; }
.landing-registration-note { display: grid; gap: 5px; width: min(620px,100%); padding: 18px 20px; background: #fff; border-left: 4px solid var(--green); border-radius: 8px; }
.landing-registration-note span { color: var(--muted); }
.landing-copy,.landing-races,.landing-sponsors { padding: 72px max(7vw,24px); }
.landing-copy { max-width: 1050px; font-size: 1.1rem; line-height: 1.75; }
.landing-races { background: #f2f6f0; }
.landing-race-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 20px; }
.landing-race-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 8px 25px rgba(43,43,43,.04); }
.landing-race-card > img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.landing-race-card > div { padding: 24px; }
.landing-race-card h3 { font-size: 1.55rem; margin: 5px 0 12px; }
.landing-race-card small { display: block; color: var(--muted); margin-top: 12px; }
.landing-race-copy { line-height: 1.55; margin-top: 16px; }
.landing-sponsors > div { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; margin-top: 22px; }
.landing-sponsors a { display: grid; place-items: center; min-width: 150px; min-height: 74px; }
.landing-sponsors img { display: block; max-width: 190px; max-height: 76px; object-fit: contain; }
.landing-cta { padding: 74px 24px; background: var(--green); color: #fff; text-align: center; }
.landing-cta > div { display: grid; justify-items: center; }
.landing-cta .eyebrow { color: #dcefd6; }
.landing-cta h2 { font-size: clamp(2.2rem,5vw,4rem); margin: 8px 0 24px; }
.landing-cta .button { background: #fff; color: var(--ink); }
.landing-settings { display: grid; gap: 18px; }
.landing-settings form { display: grid; gap: 22px; }
.landing-template { color:var(--landing-text); background:var(--landing-background); }
.landing-template .eyebrow { color:var(--landing-accent); }
.landing-template .button { background:var(--landing-text); }
.landing-template .button:hover { background:var(--landing-accent); }
.landing-template .landing-hero { background:radial-gradient(circle at 85% 18%,color-mix(in srgb,var(--landing-accent) 18%,transparent),transparent 34%),linear-gradient(135deg,var(--landing-surface),var(--landing-background)); }
.landing-template .landing-hero > div,.landing-template .landing-section-inner { width:min(var(--landing-width),100%); margin-inline:auto; }
.landing-template .landing-content-section,.landing-template .landing-races,.landing-template .landing-sponsors,.landing-template .landing-faq { padding:72px max(7vw,24px); }
.landing-template .landing-intro-section { background:var(--landing-surface); }
.landing-template .landing-intro-section .landing-section-inner,.landing-template .landing-copy .landing-section-inner { font-size:1.1rem; line-height:1.75; }
.landing-template .landing-content-section h2,.landing-template .landing-sponsors h2,.landing-template .landing-faq h2 { font-size:clamp(2rem,4vw,3rem); margin:0 0 24px; }
.landing-template .landing-races { background:var(--landing-background); }
.landing-template .landing-race-card { background:var(--landing-surface); border-radius:var(--landing-radius); }
.landing-template .landing-registration-note { border-left-color:var(--landing-accent); border-radius:var(--landing-radius); background:var(--landing-surface); }
.landing-template .landing-sponsors { background:var(--landing-surface); }
.landing-template .landing-sponsor-grid { display:flex; align-items:center; gap:30px; flex-wrap:wrap; margin-top:22px; }
.landing-template .landing-sponsor-grid a { display:grid; place-items:center; min-width:150px; min-height:74px; }
.landing-template .landing-sponsor-grid img { display:block; max-width:190px; max-height:76px; object-fit:contain; }
.landing-template .landing-sponsor-category { margin-top:28px; }
.landing-template .landing-sponsor-category h3 { margin:0 0 12px; color:var(--landing-muted); font-size:1rem; letter-spacing:.04em; text-transform:uppercase; }
.landing-template .landing-faq { background:var(--landing-background); }
.landing-template .landing-faq-head { margin-bottom:24px; }
.landing-template .landing-faq-head h2 { margin-bottom:0; }
.landing-template .landing-faq-list { display:grid; gap:12px; }
.landing-template .landing-faq-list details { border:1px solid color-mix(in srgb,var(--landing-muted) 28%,transparent); border-radius:var(--landing-radius); background:var(--landing-surface); overflow:hidden; }
.landing-template .landing-faq-list summary { position:relative; padding:20px 56px 20px 22px; font-weight:800; line-height:1.45; cursor:pointer; list-style:none; }
.landing-template .landing-faq-list summary::-webkit-details-marker { display:none; }
.landing-template .landing-faq-list summary::after { content:"+"; position:absolute; right:22px; top:50%; translate:0 -50%; color:var(--landing-accent); font-size:1.6rem; line-height:1; }
.landing-template .landing-faq-list details[open] summary::after { content:"−"; }
.landing-template .landing-faq-list details>div { padding:0 22px 22px; color:var(--landing-text); line-height:1.7; }
.landing-template .landing-faq-list details>div>:first-child { margin-top:0; }
.landing-template .landing-faq-list details>div>:last-child { margin-bottom:0; }
.landing-template .landing-faq-list summary:focus-visible { outline:3px solid color-mix(in srgb,var(--landing-accent) 35%,transparent); outline-offset:-3px; }
.landing-template .landing-cta { background:var(--landing-accent); }
.landing-template .landing-cta .button { background:var(--landing-surface); color:var(--landing-text); }
.landing-template p,.landing-template .landing-race-copy { color:inherit; }
@media (max-width:700px) {
  .landing-hero { min-height: 430px; padding-top: 58px; padding-bottom: 58px; }
  .landing-copy,.landing-races,.landing-sponsors { padding: 50px 20px; }
  .landing-race-grid { grid-template-columns: 1fr; }
  .landing-template .landing-content-section,.landing-template .landing-races,.landing-template .landing-sponsors,.landing-template .landing-faq { padding:50px 20px; }
}

.landing-race-columns{display:grid;gap:24px;align-items:start}
.landing-race-columns-1{grid-template-columns:1fr}
.landing-race-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.landing-race-column{display:grid;gap:20px;min-width:0}
.landing-race-heading{margin:20px 0 -4px;font-size:clamp(1.45rem,3vw,2rem);color:var(--landing-text)}
.landing-race-column>.landing-race-heading:first-child{margin-top:0}
.landing-race-card{display:flex;flex-direction:column}
.landing-race-card-body{display:flex;flex:1;flex-direction:column;padding:24px}
.landing-race-sponsor{display:grid;justify-items:end;gap:8px;margin-top:auto;padding-top:28px;text-align:right}
.landing-race-sponsor small{margin:0;color:var(--landing-muted)}
.landing-race-sponsor a{display:block}
.landing-race-sponsor img{display:block;max-width:170px;max-height:72px;object-fit:contain}

.site-head-with-counter{justify-content:space-between;gap:28px;position:relative}
.site-head-with-counter .event-brand{min-width:0;justify-content:flex-start}
.site-head-with-counter .event-brand img{max-width:min(620px,52vw)}
.event-countdown{display:flex;align-items:center;gap:8px;margin-left:auto}
.event-countdown[hidden]{display:none}
.event-countdown-label{margin-right:4px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.event-countdown-unit{display:grid;min-width:58px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:center;line-height:1}
.event-countdown-unit strong{font-size:1.2rem;font-variant-numeric:tabular-nums}
.event-countdown-unit small{margin-top:4px;color:var(--muted);font-size:.63rem;text-transform:uppercase;letter-spacing:.05em}
.event-countdown-separator{color:var(--muted);font-weight:800}
@media(max-width:800px){.landing-race-columns-2{grid-template-columns:1fr}.site-head-with-counter{align-items:center;flex-direction:column;gap:8px;padding-block:10px}.site-head-with-counter .event-brand{justify-content:center}.site-head-with-counter .event-brand img{max-width:min(620px,90vw);max-height:58px}.event-countdown{margin:0}.event-countdown-label{display:none}.event-countdown-unit{min-width:49px;padding:6px}.event-countdown-unit strong{font-size:1.05rem}}
@media(max-width:420px){.event-countdown{gap:4px}.event-countdown-unit{min-width:43px;padding-inline:4px}.event-countdown-separator{font-size:.8rem}}
.row-actions { display:flex; align-items:center; gap:8px; }
.row-actions form { margin:0; }
.icon-button.danger { color:#9b2c2c; border-color:#e4bcbc; }
.icon-button.danger:hover { background:#fff0f0; }
.table-media { display:flex; align-items:center; gap:12px; }
.table-media img { width:58px; height:42px; object-fit:contain; border:1px solid var(--line); border-radius:6px; background:#fff; }
.panel + .panel { margin-top:20px; }
.admin-form hr { width:100%; border:0; border-top:1px solid var(--line); margin:28px 0; }

.wizard-shell { padding:52px max(5vw,20px); background:#f5f7f4; min-height:70vh; }
.wizard-card { width:min(980px,100%); margin:auto; padding:clamp(24px,5vw,52px); background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 18px 50px rgba(43,43,43,.07); }
.wizard-card h1 { margin:.25rem 0 1rem; font-size:clamp(2rem,5vw,3.6rem); }
.back-link { display:inline-block; margin-bottom:24px; color:var(--muted); }
.wizard-intro { max-width:760px; line-height:1.65; }
.wizard-progress { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; list-style:none; padding:0; margin:36px 0; }
.wizard-progress li { display:grid; gap:7px; color:var(--muted); font-size:.78rem; }
.wizard-progress span { display:grid; place-items:center; width:32px; height:32px; border:1px solid #d7ddd4; border-radius:50%; background:#fff; }
.wizard-progress .active,.wizard-progress .done { color:var(--ink); font-weight:700; }
.wizard-progress .active span,.wizard-progress .done span { color:#fff; background:var(--green); border-color:var(--green); }
.wizard-form { display:grid; gap:24px; }
.wizard-form fieldset { border:0; padding:0; margin:0; }
.wizard-form legend { font-size:1.35rem; font-weight:750; margin-bottom:20px; }
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.choice-card { display:grid; grid-template-columns:auto 1fr; gap:5px 12px; align-items:start; padding:20px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.choice-card input { grid-row:1/3; margin-top:4px; }
.choice-card span { color:var(--muted); }
.wizard-actions { display:flex; justify-content:space-between; gap:12px; padding-top:20px; border-top:1px solid var(--line); }
.wizard-actions .button:last-child { margin-left:auto; }
.field-error { min-height:24px; color:#376d28; font-weight:650; margin-top:12px; }
.product-choice-grid { display:grid; gap:15px; }
.product-choice-grid article { display:grid; grid-template-columns:170px minmax(0,1fr); gap:22px; align-items:stretch; padding:18px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.product-choice-grid article>img,.product-image-placeholder { display:block; width:170px; height:150px; object-fit:contain; align-self:start; background:#f1f3f0; border:1px solid #e1e5df; border-radius:9px; }
.product-image-placeholder { position:relative; }
.product-image-placeholder::after { content:""; position:absolute; inset:38% 30%; border:2px solid #d5dbd3; border-radius:5px; }
.product-card-content { display:grid; align-content:start; gap:10px; min-width:0; }
.product-card-content>strong { font-size:1.18rem; }
.product-card-content>div:not(.product-order-row):not(.article-custom-fields) { line-height:1.55; color:#555; }
.product-order-row { display:flex; align-items:end; gap:22px; flex-wrap:wrap; margin-top:6px; padding-top:14px; border-top:1px solid var(--line); }
.product-order-row label { width:120px; }
.product-unit-price { display:grid; gap:6px; padding-bottom:3px; }
.product-unit-price small { color:var(--muted); font-weight:600; }
.product-unit-price span { font-size:1.08rem; font-weight:800; white-space:nowrap; }
.runner-decision { padding:20px; border-left:4px solid var(--green); background:#f2f7f0; border-radius:8px; }
.total-line,.review-total { display:flex; justify-content:space-between; align-items:center; padding:18px 20px; background:#f2f7f0; border-radius:10px; font-size:1.15rem; }
.inline-options { display:flex; gap:24px; margin:15px 0; }
.review { display:grid; gap:12px; }
.review h3 { margin:20px 0 0; }
.review-row { display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid var(--line); }
.review-row span { display:grid; gap:3px; }.review-row small { color:var(--muted); }
.access-view,.legal-page { width:min(1000px,calc(100% - 40px)); margin:46px auto; }
.access-home-actions { display:flex; margin-top:28px; padding-top:22px; border-top:1px solid var(--line); }
.wizard-form .is-invalid { border-color:#b42318; background:#fff5f4; box-shadow:0 0 0 3px rgba(180,35,24,.12); }
.wizard-form .has-error { color:#8f1d16; }
.wizard-form .choice-card.has-error { border-color:#b42318; background:#fff5f4; }
.wizard-form [aria-invalid="true"]:focus { outline-color:rgba(180,35,24,.25); }
.product-field-editor { margin:30px 0; padding:24px; border:1px solid var(--line); border-radius:12px; background:#f7faf6; }
.product-field-editor h3 { margin:0 0 6px; }
.product-field-row { position:relative; margin-top:14px; padding:20px 64px 20px 20px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.product-field-row>.icon-button { position:absolute; top:16px; right:16px; }
.product-field-row [hidden] { display:none!important; }
.article-custom-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-top:10px; padding-top:14px; border-top:1px solid var(--line); }
.article-custom-fields[hidden] { display:none!important; }
.article-custom-fields small { color:var(--muted); font-weight:400; }
@media(max-width:760px){.wizard-progress{grid-template-columns:repeat(3,1fr)}.choice-grid{grid-template-columns:1fr}.product-choice-grid article{grid-template-columns:1fr}.product-choice-grid article>img,.product-image-placeholder{width:100%;height:190px}.wizard-actions{position:sticky;bottom:0;background:#fff;padding:14px 0}.wizard-shell{padding:20px 12px}.wizard-card{padding:22px}.wizard-progress li{font-size:.7rem}}
.template-section-list{display:grid;gap:12px;margin:18px 0 28px}.template-section-list article{display:grid;grid-template-columns:minmax(280px,1.4fr) 120px minmax(240px,1fr);gap:16px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f8faf8}.template-section-list .check{align-self:center}.template-section-list strong{display:block}.backend-page input[type=color]{min-height:48px;padding:5px}@media(max-width:850px){.template-section-list article{grid-template-columns:1fr}}
