/* tour-de-insurtech-2026.css
 *
 * This page's own CSS, moved out of post_content on 2026-09-01.
 *
 * It is here rather than in style.css because it serves ONE URL. Anything used
 * on more than one page, or that is a real component, belongs in style.css
 * instead. Anything at all belongs somewhere git can see it, which is why this
 * file exists: it was inline in the page's content, where neither git, nor
 * code review, nor the theme comparison could see it.
 *
 * Loaded by genasys_child_page_styles() when a page whose slug is "tour-de-insurtech-2026"
 * renders. The filename IS the wiring; there is no list to keep in step.
 */

.tdi-tour {
  --gn-bg: #f5f6fa;
}

.tdi-tour, .tdi-tour *, .tdi-tour *::before, .tdi-tour *::after { box-sizing: border-box; }
.tdi-tour * { margin: 0; padding: 0; }
.tdi-tour {
  font-family: var(--wp--preset--font-family--body);
  color: var(--wp--preset--color--ink);
  background: var(--wp--preset--color--white);
  -webkit-font-smoothing: antialiased;
}
.tdi-tour h1, .tdi-tour h2, .tdi-tour h3 { font-family: var(--wp--preset--font-family--heading); }
.tdi-tour a { text-decoration: none; color: inherit; }
.tdi-tour img { display: block; }

/* ─── Shared brand button ─── */
.brand-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 40px;
  color: var(--wp--preset--color--white) !important;
  font-family: var(--wp--preset--font-family--body);
  font-size: 15px;
  font-weight: 700;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: background 0.3s ease, opacity 0.2s ease;
}
.brand-btn:hover { background: var(--wp--preset--color--cta-hover); }
.brand-btn:disabled { opacity: 0.6; cursor: default; }
.brand-btn svg { width: 14px; height: 14px; transition: transform 0.3s ease; }
.brand-btn:hover:not(:disabled) svg { transform: translateX(4px); }
/* Beat the WordPress theme button styles on the live site (submit button) */
.tdi-tour .brand-btn { background: var(--wp--preset--color--cta); border: none; border-radius: 50px; color: var(--wp--preset--color--white); transition: background 0.2s ease, opacity 0.2s ease; }
.tdi-tour .brand-btn:hover:not(:disabled) { background: var(--wp--preset--color--cta-hover); }

/* ════════════════════════════════════════
   HERO
   ════════════════════════════════════════ */
.tdi-hero {
  position: relative;
  background: radial-gradient(at top center, var(--wp--preset--color--primary) 45%, var(--wp--preset--color--ink) 100%);
  overflow: hidden;
  padding: 72px 48px 96px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: calc(100vh - 106.5px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.tdi-hero-inner {
  max-width: 820px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.tdi-hero-logo { width: 360px; max-width: 100%; height: auto; margin-bottom: 26px; }
.tdi-hero-pill {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: var(--wp--preset--color--white);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  border: 1.5px solid rgb(from var(--genasys-white) r g b / 0.5);
  border-radius: 100px;
  padding: 6px 18px;
  margin-bottom: 22px;
}
.tdi-hero h1 {
  font-size: clamp(46px, 7vw, 82px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--wp--preset--color--white);
  margin-bottom: 26px;
  white-space: nowrap;
}
.tdi-hero h1 .yellow { color: var(--wp--preset--color--cta-hover); }
.tdi-hero-body { font-size: 16.5px; color: rgb(from var(--genasys-white) r g b / 0.85); line-height: 1.6; max-width: 620px; margin: 0 auto 30px; }
.tdi-hero-body strong { color: var(--wp--preset--color--white); }

/* ── Bottom bike race ── */
.tdi-hero-inner { position: relative; z-index: 3; }
.tdi-hero-race { position: absolute; left: 0; right: 0; bottom: 0; height: 74px; overflow: hidden; z-index: 2; pointer-events: none; }
.tdi-hero-road { position: absolute; left: 0; right: 0; bottom: 17px; height: 2px; background: repeating-linear-gradient(90deg, rgb(from var(--genasys-white) r g b / 0.18) 0 14px, transparent 14px 30px); }
.race-bike { position: absolute; bottom: var(--y, 15px); left: 0; width: 40px; height: 40px; color: var(--hue); will-change: transform; animation: tdiRaceMove var(--dur, 8s) linear infinite; animation-delay: var(--delay, 0s); }
.race-bike:nth-child(1 of .race-bike) { --hue: var(--wp--preset--color--accent); }
.race-bike:nth-child(2 of .race-bike) { --hue: var(--wp--preset--color--steel); }
.race-bike:nth-child(3 of .race-bike) { --hue: var(--wp--preset--color--purple); }
.race-bike:nth-child(4 of .race-bike) { --hue: var(--wp--preset--color--cta-hover); }
.race-bike:nth-child(5 of .race-bike) { --hue: var(--wp--preset--color--cta); }
.race-bike:nth-child(6 of .race-bike) { --hue: var(--wp--preset--color--pale-steel); }
.race-bike .rb-inner { display: block; width: 100%; height: 100%; animation: tdiRaceBob 0.45s ease-in-out infinite alternate; }
.race-bike svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 2px 5px var(--shadow-strong)); }
@keyframes tdiRaceMove { from { transform: translateX(-70px); } to { transform: translateX(calc(100vw + 70px)); } }
@keyframes tdiRaceBob { 0% { transform: translateY(0) translateX(0); } 50% { transform: translateY(-2.5px) translateX(2px); } 100% { transform: translateY(0) translateX(-2px); } }

@media (max-width: 600px) {.tdi-hero { padding: 48px 20px 64px; }
  .tdi-hero-logo { width: 280px; }
  .tdi-hero h1 { font-size: clamp(28px, 9vw, 56px); }
  .tdi-hero-body { font-size: 15.5px; }
}

/* ════════════════════════════════════════
   SECTION HEADERS (shared)
   ════════════════════════════════════════ */
.tdi-section-head { text-align: center; max-width: 1280px; margin: 0 auto 48px; padding: 0 48px; }
.tdi-section-head h2 { font-size: var(--gn-section-heading); font-weight: 700; color: var(--wp--preset--color--primary); line-height: 1.1; max-width: 70%; margin: 0 auto; }
.tdi-section-head h2 .accent { color: var(--wp--preset--color--accent); }
.tdi-section-head p { font-size: 16.5px; color: var(--neutral-500); line-height: 1.6; max-width: 70%; margin: 24px auto 0; }
@media (max-width: 1024px) {.tdi-section-head { padding: 0 32px; }
}
@media (max-width: 600px) {.tdi-section-head { padding: 0 20px; }
  .tdi-section-head h2 { max-width: 100%; }
  .tdi-section-head p { max-width: 100%; font-size: 15px; }
}

/* ════════════════════════════════════════
   STAGES
   ════════════════════════════════════════ */
.tdi-stages { background: var(--gn-bg); padding: 90px 0; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.tdi-stages-grid { max-width: 1100px; margin: 0 auto; padding: 0 48px; display: flex; flex-direction: column; gap: 18px; }
.tdi-stage-card {
  background: var(--wp--preset--color--white);
  border-radius: 16px;
  padding: 36px 32px 28px;
  display: grid;
  grid-template-columns: 64px 1fr auto;
  align-items: center;
  gap: 28px;
  box-shadow: 0 4px 20px var(--shadow-soft);
  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.23,1,0.32,1), box-shadow 0.4s ease;
}
@media (prefers-reduced-motion: no-preference) {
  html.gn-js .tdi-stage-card:not(.gn-in) { opacity: 0; transform: translateY(24px); }
}
.tdi-stage-card:hover { transform: translateY(-4px); box-shadow: 0 14px 36px var(--shadow-mid); }
/* bike + route track */
.stage-track { position: absolute; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; }
.tdi-stage-card[data-ride="line"] .stage-track {
  top: 17px; left: 20px; right: 20px; height: 2px;
  background-image: linear-gradient(90deg, rgb(from var(--genasys-space-blue) r g b / 0.18) 0 6px, transparent 6px 13px);
  background-size: 13px 2px; background-repeat: repeat-x;
}
.tdi-stage-card[data-ride="loop"] .stage-track {
  top: 8px; left: 8px; right: 8px; bottom: 8px;
  border: 2px dashed rgb(from var(--genasys-space-blue) r g b / 0.18); border-radius: 12px;
}
.tdi-stage-card:hover .stage-track { opacity: 1; }
.stage-bike {
  position: absolute; top: 7px; left: 16px;
  width: 22px; height: 22px;
  z-index: 3; pointer-events: none;
}
.stage-bike svg { width: 100%; height: 100%; display: block; }
.tdi-stage-card.tdi-stage-card .stage-bike { color: var(--hue); }
.tdi-stage-num { font-family: var(--wp--preset--font-family--heading); font-size: 44px; font-weight: 700; line-height: 1; text-align: center; }
.tdi-stage-card.tdi-stage-card .tdi-stage-num { color: var(--hue); }
.tdi-stage-route { font-family: var(--wp--preset--font-family--heading); font-size: 22px; font-weight: 700; color: var(--wp--preset--color--ink); margin-bottom: 4px; }
.tdi-stage-day { font-size: 14px; font-weight: 600; color: var(--neutral-500); display: flex; align-items: center; gap: 7px; }
.tdi-stage-day svg { width: 15px; height: 15px; color: var(--wp--preset--color--pale-steel); flex-shrink: 0; }
.tdi-stage-leader { font-size: 13px; font-weight: 700; color: var(--neutral-500); display: flex; align-items: center; gap: 7px; margin-top: 4px; text-transform: uppercase; letter-spacing: 0.04em; }
.tdi-stage-leader svg { width: 15px; height: 15px; color: var(--wp--preset--color--pale-steel); flex-shrink: 0; }
.tdi-stage-badge { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 8px 16px; border-radius: 50px; white-space: nowrap; }
/* Badge text is Space Blue on every variant and the tint carries the colour.
   Measured 4 September 2026: colour-on-its-own-tint read 3.1:1 at 11px bold
   (steel) and worse for the others, under the 4.5:1 AA floor for small text;
   ink on the tints reads 9:1 and more. */
.tdi-stage-card.tdi-stage-card .tdi-stage-badge { background: rgb(from var(--hue) r g b / 0.12); color: var(--genasys-space-blue); }

/* ── Fully booked stage ── */
.tdi-stage-card.is-booked { opacity: 0.5 !important; filter: grayscale(0.95); pointer-events: none; }
.tdi-stage-card.is-booked .tdi-stage-badge { background: rgb(from var(--genasys-space-blue) r g b / 0.12) !important; color: var(--neutral-600) !important; /* neutral-500 read 3.5:1 on this ground at 11px; 600 clears 4.5 */ }
.tdi-stage-toggle.is-disabled { opacity: 0.5; filter: grayscale(0.95); cursor: not-allowed; pointer-events: none; }
.tdi-stage-toggle.is-disabled .ts-type { background: rgb(from var(--genasys-space-blue) r g b / 0.12) !important; color: var(--neutral-500) !important; }

@media (max-width: 700px) {.tdi-stages { padding: 56px 0; }
  .tdi-stages-grid { padding: 0 20px; }
  .tdi-stage-card { grid-template-columns: 48px 1fr; gap: 16px; padding: 34px 22px 22px; }
  .tdi-stage-num { font-size: 34px; }
  .tdi-stage-route { font-size: 18px; }
  .tdi-stage-badge { grid-column: 2; justify-self: start; margin-top: 6px; }
}

/* ════════════════════════════════════════
   WHAT'S INCLUDED
   ════════════════════════════════════════ */
.tdi-expect { padding: 90px 0; background: var(--wp--preset--color--white); }
/* Animated icons */
.gn-wheel, .gn-steam, .gn-person { transform-box: fill-box; transform-origin: center; }
@keyframes gn-wheel-spin { to { transform: rotate(360deg); } }
@keyframes gn-steam { 0% { opacity: 0.25; transform: translateY(2px); } 50% { opacity: 1; transform: translateY(-1px); } 100% { opacity: 0.25; transform: translateY(-3px); } }
@keyframes gn-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) {.gn-wheel, .gn-steam-1, .gn-steam-2, .gn-steam-3, .gn-person-1, .gn-person-2 { animation: none !important; }
}
@media (max-width: 600px) {.tdi-expect { padding: 56px 0; }
}

/* ════════════════════════════════════════
   REGISTRATION
   ════════════════════════════════════════ */
.tdi-reg {
  position: relative;
  padding: 90px 48px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background:
    linear-gradient(rgb(from var(--genasys-space-blue) r g b / 0.5), rgb(from var(--genasys-space-blue) r g b / 0.5)) center/cover no-repeat fixed,
    url('/wp-content/uploads/2026/06/Stage-11-Finale-5.1.webp') center/cover no-repeat fixed;
  margin-bottom: 0;
}
.tdi-tour { margin: 0; }
.tdi-tour > section:last-child { margin-bottom: 0; }
.tdi-reg-card { max-width: 1040px; margin: 0 auto; background: var(--wp--preset--color--white); border-radius: 24px; box-shadow: 0 24px 64px var(--shadow-mid); overflow: hidden; }
@media (max-width: 1024px) {.tdi-reg { background-attachment: scroll, scroll; }
}
.tdi-reg-card-head { background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, #003a82 100%); padding: 44px 56px; color: var(--wp--preset--color--white); }
.tdi-reg-card-head h2 { font-size: 30px; font-weight: 700; margin-bottom: 6px; }
.tdi-reg-card-head p { font-size: 16.5px; color: rgb(from var(--genasys-white) r g b / 0.85); }

.tdi-reg-body { padding: 48px 56px 52px; }
.tdi-fieldset { margin-bottom: 32px; }
.tdi-fieldset:last-of-type { margin-bottom: 0; }
.tdi-fieldset-title { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--wp--preset--color--primary); padding-bottom: 12px; margin-bottom: 18px; border-bottom: 2px solid var(--gn-bg); }
.tdi-fieldset-title svg { width: 16px; height: 16px; }
.tdi-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tdi-field { margin-bottom: 16px; }
.tdi-field:last-child { margin-bottom: 0; }
.tdi-grid-2 .tdi-field { margin-bottom: 0; }
.tdi-field label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--wp--preset--color--steel); margin-bottom: 7px; }
.tdi-field label .req { color: var(--wp--preset--color--cta); }
/* Prefixed with .tdi-tour (23 August review): Ollie styles every input at
   (0,2,1), which beat these at (0,1,1) and left the fields at 13px in 35px,
   so iOS Safari zoomed on focus. */
.tdi-tour .tdi-field input, .tdi-tour .tdi-field select, .tdi-tour .tdi-field textarea { width: 100%; font-family: inherit; font-size: 16px; color: var(--wp--preset--color--ink); background: var(--gn-bg); border: 1.5px solid transparent; border-radius: 10px; padding: 13px 16px; transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; }
.tdi-field textarea { resize: vertical; min-height: 90px; }
.tdi-tour .tdi-field input::placeholder, .tdi-tour .tdi-field textarea::placeholder { color: var(--neutral-400); }
.tdi-tour .tdi-field input:focus, .tdi-tour .tdi-field select:focus, .tdi-tour .tdi-field textarea:focus { outline: none; background: var(--wp--preset--color--white); border-color: var(--wp--preset--color--primary); box-shadow: 0 0 0 4px rgb(from var(--genasys-sapphire-blue) r g b / 0.06); }
.tdi-field select { appearance: none; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%239FB6D4' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.tdi-options { display: flex; flex-wrap: wrap; gap: 10px; }
.tdi-option { position: relative; flex: 1; min-width: 140px; }
.tdi-option input { position: absolute; opacity: 0; pointer-events: none; }
.tdi-option label { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: var(--wp--preset--color--ink); background: var(--gn-bg); border: 1.5px solid transparent; border-radius: 8px; padding: 13px 16px; cursor: pointer; transition: all 0.2s ease; margin: 0; }
.tdi-option label::before { content: ''; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--wp--preset--color--pale-steel); background: var(--wp--preset--color--white); flex-shrink: 0; transition: all 0.2s ease; }
.tdi-option input:checked + label { border-color: var(--wp--preset--color--accent); background: rgb(from var(--genasys-sea-green) r g b / 0.06); color: var(--wp--preset--color--primary); }
.tdi-option input:checked + label::before { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); box-shadow: inset 0 0 0 3px var(--wp--preset--color--white); }
.tdi-stage-pick { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: var(--gn-bg); border: 1.5px solid transparent; border-radius: 10px; cursor: pointer; transition: all 0.2s ease; }
.tdi-stage-pick input { position: absolute; opacity: 0; pointer-events: none; }
.tdi-stage-pick-box { width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid var(--wp--preset--color--pale-steel); background: var(--wp--preset--color--white); flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; }
.tdi-stage-pick-box svg { width: 12px; height: 12px; color: var(--wp--preset--color--white); opacity: 0; transition: opacity 0.2s ease; }
.tdi-stage-pick:has(input:checked) { border-color: var(--wp--preset--color--accent); background: rgb(from var(--genasys-sea-green) r g b / 0.06); }
.tdi-stage-pick input:checked ~ .tdi-stage-pick-box { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.tdi-stage-pick input:checked ~ .tdi-stage-pick-box svg { opacity: 1; }
.tdi-stage-pick-text { font-size: 14px; font-weight: 600; color: var(--wp--preset--color--ink); }
.tdi-stage-pick-text span { display: block; font-size: 12px; font-weight: 600; color: var(--neutral-500); margin-top: 1px; }

/* Stage selection: five toggle cards side by side */
.tdi-stage-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.tdi-stage-toggle { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 18px 16px 16px; background: var(--gn-bg); border: 1.5px solid transparent; border-radius: 14px; cursor: pointer; transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; }
.tdi-stage-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.tdi-stage-toggle:hover { transform: translateY(-2px); box-shadow: 0 8px 22px var(--shadow-soft); }
.tdi-stage-toggle { --hue: var(--wp--preset--color--accent); --ct: rgb(from var(--hue) r g b / 0.06); }
/* The same order as the stage cards above: a position cycle sets --hue. */
.tdi-stage-toggle:nth-child(2) { --hue: var(--wp--preset--color--steel); --ct: rgb(from var(--hue) r g b / 0.12); }
.tdi-stage-toggle:nth-child(3) { --hue: var(--wp--preset--color--purple); }
.tdi-stage-toggle:nth-child(4) { --hue: var(--wp--preset--color--cta-hover); --ct: rgb(from var(--hue) r g b / 0.12); }
.tdi-stage-toggle:nth-child(5) { --hue: var(--wp--preset--color--cta); }
.tdi-stage-toggle .ts-no { font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--hue); }
.tdi-stage-toggle .ts-loc { font-size: 16px; font-weight: 700; color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--heading); line-height: 1.15; }
.tdi-stage-toggle .ts-date { font-size: 12.5px; font-weight: 600; color: var(--neutral-500); }
.tdi-stage-toggle .ts-type { margin-top: 8px; align-self: flex-start; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--hue); background: var(--ct); border-radius: 50px; padding: 3px 9px; }
.tdi-stage-toggle .ts-check { position: absolute; top: 12px; right: 12px; width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid var(--wp--preset--color--pale-steel); background: var(--wp--preset--color--white); display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; }
.tdi-stage-toggle .ts-check svg { width: 12px; height: 12px; color: var(--wp--preset--color--white); opacity: 0; transition: opacity 0.2s ease; }
.tdi-stage-toggle:has(input:checked) { border-color: var(--hue); background: var(--ct); }
.tdi-stage-toggle input:checked ~ .ts-check { background: var(--hue); border-color: var(--hue); }
.tdi-stage-toggle input:checked ~ .ts-check svg { opacity: 1; }
.tdi-stage-toggle input:checked ~ .ts-loc { color: var(--hue); }
@media (max-width: 900px) {.tdi-stage-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {.tdi-stage-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Jersey preview with real jersey image */
.tdi-jersey { display: flex; align-items: center; gap: 22px; background: var(--gn-bg); border-radius: 14px; padding: 18px; margin-bottom: 18px; }
.tdi-jersey-figure { position: relative; width: 150px; max-width: 42%; flex-shrink: 0; }
.tdi-jersey-img { width: 100%; height: auto; display: block; background: transparent; }
.tdi-jersey-text { font-size: 14px; color: var(--neutral-500); line-height: 1.5; }
.tdi-jersey-text strong { color: var(--wp--preset--color--ink); display: block; font-size: 16px; margin-bottom: 4px; }
@media (max-width: 500px) {.tdi-jersey { flex-direction: column; text-align: center; } .tdi-jersey-figure { max-width: 70%; width: 70%; }
}

.tdi-indemnity { background: var(--gn-bg); border-left: 3px solid var(--wp--preset--color--steel); border-radius: 0 8px 8px 0; padding: 18px 20px; font-size: 13px; color: var(--neutral-500); line-height: 1.65; margin-bottom: 18px; }
.tdi-indemnity p { margin-bottom: 10px; }
.tdi-indemnity p:last-child { margin-bottom: 0; }
.tdi-reg-submit { margin-top: 28px; display: flex; justify-content: flex-end; align-items: center; gap: 16px; }
.tdi-form-error { display: none; background: rgb(from var(--genasys-sizzling-red) r g b / 0.06); border: 1px solid rgb(from var(--genasys-sizzling-red) r g b / 0.3); color: var(--wp--preset--color--cta); font-size: 14px; font-weight: 600; border-radius: 8px; padding: 12px 14px; margin-bottom: 18px; }

/* Success state */
.tdi-reg-success { display: none; text-align: center; padding: 28px 8px 12px; }
.tdi-reg-success .ic { width: 66px; height: 66px; border-radius: 50%; background: rgb(from var(--genasys-sea-green) r g b / 0.12); display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; color: var(--wp--preset--color--accent); }
.tdi-reg-success .ic svg { width: 32px; height: 32px; }
.tdi-reg-success h3 { font-size: 25px; color: var(--wp--preset--color--primary); margin-bottom: 12px; }
.tdi-reg-success p { font-size: 15.5px; color: var(--neutral-500); line-height: 1.6; max-width: 440px; margin: 0 auto; }

@media (max-width: 600px) {.tdi-reg { padding: 56px 20px; }
  .tdi-reg-card-head { padding: 28px 24px; }
  .tdi-reg-card-head h2 { font-size: 23px; }
  .tdi-reg-body { padding: 28px 24px 32px; }
  .tdi-grid-2 { grid-template-columns: 1fr; }
  .tdi-reg-submit { justify-content: stretch; }
  .tdi-reg-submit .brand-btn { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {.tdi-tour *, .tdi-tour *::before, .tdi-tour *::after { animation: none !important; transition: none !important; }
  .tdi-tour .tdi-stage-card { opacity: 1 !important; transform: none !important; }
  .tdi-tour .tdi-stage-card.is-booked { opacity: 0.5 !important; }
  .tdi-tour .tdi-hero-race { display: none; }
}
