/* Moveo website theme. Loaded after each page's compiled Astro stylesheet.
   Bounded !important declarations deliberately beat its scoped descendant rules.
   No image filters and no universal text-color reset: photo cards stay readable. */
html.moveo-theme.moveo-subpage {
  --ink: #303536;
  --ink-soft: #52616a;
  --muted: #52616a;
  --navy: #303536;
  --navy2: #3b4246;
  --navy-2: #3b4246;
  --blue: #0876ae;
  --blue2: #075e8b;
  --blue-dark: #075e8b;
  --aqua: #a8d9f2;
  --mist: #edf6fb;
  --ice: #f3f8fb;
  --soft: #f3f8fb;
  --white: #fff;
  --line: #d8e5ed;
  --shadow-sm: 0 8px 25px rgb(48 53 54 / 5%);
  --shadow: 0 15px 40px rgb(48 53 54 / 8%);
  --moveo-hero-photo: none;
  scroll-padding-top: 108px;
}
html.moveo-theme.moveo-subpage body {
  color: #303536;
  background: #fff;
  font-family: "Aptos", "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
}
html.moveo-theme.moveo-subpage :is(h1, h2, h3) {
  font-family: "Aptos Display", "Segoe UI Variable Display", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
}
html.moveo-theme.moveo-subpage :is(section[id], article[id], .legal-card) { scroll-margin-top: 108px !important; }
html.moveo-theme.moveo-subpage :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #0876ae !important;
  outline-offset: 4px !important;
}
html.moveo-theme.moveo-subpage :is(.eyebrow, .text-link, .detail-kicker, .method-mode, .fact small) {
  color: #0876ae !important;
}
html.moveo-theme.moveo-subpage :is(.lead, .method-number) { color: #52616a !important; }
html.moveo-theme.moveo-subpage :is(.section-soft, .reservation, .service-stack, .autumn-offer-section, .event-model-section) {
  background: #f3f8fb !important;
}

/* One action color; secondary actions retain a quiet outlined treatment. */
html.moveo-theme.moveo-subpage :is(.btn, .autumn-program-button, .mobile-sticky-cta, .rsvp-submit) {
  color: #fff !important;
  background: #0876ae !important;
  border-color: #0876ae !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-weight: 750 !important;
}
html.moveo-theme.moveo-subpage :is(.btn, .autumn-program-button, .mobile-sticky-cta, .rsvp-submit):hover {
  color: #fff !important;
  background: #075e8b !important;
  border-color: #075e8b !important;
}
html.moveo-theme.moveo-subpage .btn-secondary {
  color: #075e8b !important;
  background: #fff !important;
  border-color: #9bbfd1 !important;
}
html.moveo-theme.moveo-subpage .btn-secondary:hover {
  color: #075e8b !important;
  background: #edf6fb !important;
  border-color: #0876ae !important;
}
html.moveo-theme.moveo-subpage .autumn-program-button::before,
html.moveo-theme.moveo-subpage .autumn-program-button::after { display: none !important; }

/* Keep the existing page photographs, replacing only their heavy dark overlays.
   Each page provides data-moveo-page to the html element. */
html.moveo-theme.moveo-subpage:is([data-moveo-page="training"], [data-moveo-page="ueber-uns"], [data-moveo-page="physiotherapie"], [data-moveo-page="preise-angebote"]) {
  --moveo-hero-photo: url("https://static.wixstatic.com/media/2b637b_45e8ce851bf44f4e93dc856028f98e32~mv2.jpg/v1/fill/w_1600,h_1050,al_c,q_90/2202_BO_eGym_%2013-1016_DE_regular.jpg");
}
html.moveo-theme.moveo-subpage[data-moveo-page="analyse-diagnostik"] {
  --moveo-hero-photo: url("https://static.wixstatic.com/media/2b637b_71339740d20249ffb15335fd5ec07267~mv2.webp/v1/fill/w_1600,h_1050,al_c,q_90/online-advertorial-seca-gewichtstraining-im-alter-header.webp");
}
html.moveo-theme.moveo-subpage[data-moveo-page="kinderparadies"] {
  --moveo-hero-photo: url("https://static.wixstatic.com/media/2b637b_8d1a3bcf9f8e472cac4e918e372063f2~mv2.jpeg/v1/fill/w_1600,h_1050,al_c,q_90/AdobeStock_169680529.jpeg");
}
html.moveo-theme.moveo-subpage :is(.hero, .page-hero, .event-hero) {
  color: #303536 !important;
  background-color: #f3f8fb !important;
  background-image: linear-gradient(90deg, #f8fbfd 0%, rgb(248 251 253 / 98%) 44%, rgb(248 251 253 / 94%) 60%, rgb(248 251 253 / 58%) 80%, rgb(248 251 253 / 18%) 100%), var(--moveo-hero-photo) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  min-height: 620px !important;
}
html.moveo-theme.moveo-subpage :is(.hero, .page-hero) { padding: 0 !important; }
html.moveo-theme.moveo-subpage :is(.hero, .page-hero, .event-hero)::before,
html.moveo-theme.moveo-subpage :is(.hero, .page-hero, .event-hero)::after { display: none !important; }
html.moveo-theme.moveo-subpage .hero-content { padding-top: 144px !important; padding-bottom: 72px !important; }
html.moveo-theme.moveo-subpage .event-hero { padding: 144px 0 80px !important; }
html.moveo-theme.moveo-subpage[data-moveo-page="ems"] .hero-grid { padding-top: 136px !important; padding-bottom: 72px !important; }
html.moveo-theme.moveo-subpage :is(.hero, .page-hero, .event-hero) h1 { color: #303536 !important; }
html.moveo-theme.moveo-subpage :is(.hero, .page-hero, .event-hero) h1 span { color: #0876ae !important; }
html.moveo-theme.moveo-subpage :is(.hero-copy, .hero-lead),
html.moveo-theme.moveo-subpage :is(.hero, .page-hero, .event-hero) .lead { color: #52616a !important; }
html.moveo-theme.moveo-subpage :is(.hero, .page-hero, .event-hero) .eyebrow { color: #0876ae !important; }
html.moveo-theme.moveo-subpage .hero-proof :is(span, li) {
  color: #3d535f !important;
  background: rgb(255 255 255 / 94%) !important;
  border-color: #c9dfe9 !important;
  backdrop-filter: none !important;
}
html.moveo-theme.moveo-subpage .hero-image-frame {
  background: #edf6fb !important;
  border-color: #d8e5ed !important;
  box-shadow: 0 15px 40px rgb(48 53 54 / 10%) !important;
}
html.moveo-theme.moveo-subpage .hero-image-frame::after { display: none !important; }
html.moveo-theme.moveo-subpage .hero-image-note {
  color: #303536 !important;
  background: #fff !important;
  border-color: #d8e5ed !important;
  box-shadow: 0 8px 25px rgb(48 53 54 / 10%) !important;
}
html.moveo-theme.moveo-subpage .hero-image-note small { color: #0876ae !important; }

/* Editorial light panels: set child text explicitly, not only inherited color. */
html.moveo-theme.moveo-subpage :is(.final-cta, .care-panel, .contact-panel, .method-control, .final-note, .autumn-final-cta) {
  color: #303536 !important;
  background: #edf6fb !important;
  border: 1px solid #d8e5ed !important;
  box-shadow: none !important;
}
html.moveo-theme.moveo-subpage :is(.final-cta, .care-panel, .contact-panel, .method-control, .final-note) :is(h2, h3, strong) {
  color: #303536 !important;
}
html.moveo-theme.moveo-subpage :is(.final-cta, .care-panel, .contact-panel, .method-control, .final-note) :is(p, .lead, .method-safety),
html.moveo-theme.moveo-subpage :is(.care-fact span:last-child, .contact-promises span, .method-controls span) {
  color: #52616a !important;
}
html.moveo-theme.moveo-subpage :is(.final-cta, .care-panel, .contact-panel, .method-control, .final-note) .eyebrow,
html.moveo-theme.moveo-subpage .method-control small { color: #0876ae !important; }
html.moveo-theme.moveo-subpage :is(.care-fact, .method-controls span) {
  background: #fff !important;
  border-color: #c9dfe9 !important;
}
html.moveo-theme.moveo-subpage .care-icon { color: #0876ae !important; background: #edf6fb !important; }
html.moveo-theme.moveo-subpage :is(.care-panel, .intro-copy, .legal-nav) { top: 108px !important; }
html.moveo-theme.moveo-subpage :is(.final-cta, .autumn-final-cta)::before,
html.moveo-theme.moveo-subpage :is(.final-cta, .autumn-final-cta)::after,
html.moveo-theme.moveo-subpage .autumn-offer-section::before { display: none !important; }

/* Retained dark surfaces use neutral anthracite, with explicit light copy. */
html.moveo-theme.moveo-subpage :is(.section-dark, .course-panel, .compare-card.moveo, .secret-offer-stage, .event-offer-stage, .world-card, .team-card, .price-card.featured),
html.moveo-theme.moveo-subpage[data-moveo-page="ems"] .price-card {
  color: #fff !important;
  background: #303536 !important;
  border-color: #4c585e !important;
  box-shadow: none !important;
}
html.moveo-theme.moveo-subpage .section-dark > .container > :is(h2, h3),
html.moveo-theme.moveo-subpage :is(.course-panel, .compare-card.moveo, .secret-offer-content, .world-card, .team-card, .price-card.featured, .format-card, .journey-card) :is(h2, h3, strong),
html.moveo-theme.moveo-subpage[data-moveo-page="ems"] .price-card h2 { color: #fff !important; }
html.moveo-theme.moveo-subpage .section-dark .lead,
html.moveo-theme.moveo-subpage :is(.course-copy p, .course-points span, .compare-card.moveo > p, .compare-note, .compare-promise span, .secret-offer-content .lead, .world-card p, .team-roles, .journey-card p, .format-card p, .trust-strip span),
html.moveo-theme.moveo-subpage .price-card.featured :is(p, .price-value span),
html.moveo-theme.moveo-subpage[data-moveo-page="ems"] :is(.price-copy p, .price small) { color: #e0e6e9 !important; }
html.moveo-theme.moveo-subpage :is(.section-dark, .course-panel, .compare-card.moveo, .secret-offer-content, .price-card.featured) .eyebrow,
html.moveo-theme.moveo-subpage :is(.world-number, .world-more, .team-kicker, .format-label, .secret-offer-date),
html.moveo-theme.moveo-subpage[data-moveo-page="ems"] .price-card :is(.eyebrow, .price) { color: #a8d9f2 !important; }
html.moveo-theme.moveo-subpage .section-dark :is(.journey-card, .format-card, .trust-strip > div) {
  background: #3b4246 !important;
  border-color: #5a666d !important;
}
html.moveo-theme.moveo-subpage :is(.world-card, .world-card.secret-world, .world-card.event-world)::after {
  background: linear-gradient(180deg, rgb(48 53 54 / 3%) 4%, rgb(48 53 54 / 28%) 44%, rgb(48 53 54 / 98%) 100%) !important;
}
html.moveo-theme.moveo-subpage .team-card::after {
  background: linear-gradient(180deg, transparent 28%, rgb(48 53 54 / 30%) 56%, #303536 100%) !important;
}
html.moveo-theme.moveo-subpage .secret-model-section { color: #303536 !important; background: #f3f8fb !important; }
html.moveo-theme.moveo-subpage .secret-offer-visual { background: #303536 !important; }
html.moveo-theme.moveo-subpage .secret-offer-visual::after {
  background: linear-gradient(90deg, transparent 50%, #303536 100%) !important;
}
html.moveo-theme.moveo-subpage :is(.world-card, .team-card, .section-dark, .course-panel, .compare-card.moveo, .secret-offer-stage, .event-offer-stage, .price-card.featured) :is(a, button):focus-visible,
html.moveo-theme.moveo-subpage[data-moveo-page="ems"] .price-card :is(a, button):focus-visible {
  outline-color: #a8d9f2 !important;
}

/* The campaign keeps one small warm badge, not a separate site-wide palette. */
html.moveo-theme.moveo-subpage .autumn-final-cta .eyebrow {
  color: #87401d !important;
  background: #fff5eb !important;
  border: 1px solid #e3c6ae !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
html.moveo-theme.moveo-subpage .autumn-final-cta h2 span {
  color: #0876ae !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}
html.moveo-theme.moveo-subpage .autumn-offer-facts span {
  color: #3d535f !important;
  background: #fff !important;
  border-color: #c9dfe9 !important;
}
html.moveo-theme.moveo-subpage .autumn-offer-facts span::before { background: #0876ae !important; box-shadow: none !important; }
html.moveo-theme.moveo-subpage .autumn-trial-note { color: #52616a !important; }
html.moveo-theme.moveo-subpage .autumn-trial-note a { color: #075e8b !important; text-decoration: underline; }
html.moveo-theme.moveo-subpage .method-card {
  --method-accent: #0876ae !important;
  --method-soft: #f3f8fb !important;
  --method-line: #c9dfe9 !important;
  --method-halo: rgb(8 118 174 / 5%) !important;
}

/* Lecture dates, legal text and forms must not inherit former white labels. */
html.moveo-theme.moveo-subpage .date-panel {
  color: #303536 !important;
  background: #fff !important;
  border-color: #d8e5ed !important;
  box-shadow: 0 12px 30px rgb(48 53 54 / 6%) !important;
}
html.moveo-theme.moveo-subpage .date-panel::after { display: none !important; }
html.moveo-theme.moveo-subpage :is(.date-day, .date-meta strong) { color: #303536 !important; }
html.moveo-theme.moveo-subpage .date-month { color: #0876ae !important; }
html.moveo-theme.moveo-subpage .date-meta { color: #52616a !important; border-color: #d8e5ed !important; }
html.moveo-theme.moveo-subpage:is([data-moveo-page="agb"], [data-moveo-page="datenschutz"]) .hero {
  min-height: 0 !important;
  padding: 144px 0 72px !important;
}
html.moveo-theme.moveo-subpage:is([data-moveo-page="agb"], [data-moveo-page="datenschutz"]) .hero p:not(.eyebrow) { color: #52616a !important; }
html.moveo-theme.moveo-subpage[data-moveo-page="impressum"] .page-hero { min-height: 0 !important; }
html.moveo-theme.moveo-subpage .legal-card :is(p, address) { color: #52616a !important; }
html.moveo-theme.moveo-subpage .legal-card h3 { color: #303536 !important; }
html.moveo-theme.moveo-subpage .legal-card a { color: #075e8b !important; text-decoration: underline; text-underline-offset: 3px; }
html.moveo-theme.moveo-subpage :is(.form-field input, .form-field select, .form-field textarea, .rsvp-fields input) {
  color: #303536 !important;
  background: #fff !important;
  border-color: #9eb7c5 !important;
  accent-color: #0876ae;
}
html.moveo-theme.moveo-subpage :is(.form-field input, .form-field select, .form-field textarea, .rsvp-fields input):focus {
  border-color: #0876ae !important;
}
html.moveo-theme.moveo-subpage :is(.form-consent, .form-status, .rsvp-consent, .rsvp-footnote) { color: #52616a; }
/* Semantic success/error messages deliberately keep their existing status colors. */

@media (max-width: 980px) {
  html.moveo-theme.moveo-subpage :is(.hero, .page-hero, .event-hero) {
    min-height: 0 !important;
    background-image: linear-gradient(90deg, rgb(248 251 253 / 98%), rgb(248 251 253 / 96%) 70%, rgb(248 251 253 / 92%)), var(--moveo-hero-photo) !important;
  }
}
@media (max-width: 760px) {
  html.moveo-theme.moveo-subpage { scroll-padding-top: 92px; }
  html.moveo-theme.moveo-subpage :is(section[id], article[id], .legal-card) { scroll-margin-top: 92px !important; }
  html.moveo-theme.moveo-subpage .hero-content { padding-top: 112px !important; padding-bottom: 56px !important; }
  html.moveo-theme.moveo-subpage .event-hero { padding: 112px 0 56px !important; }
  html.moveo-theme.moveo-subpage[data-moveo-page="ems"] .hero-grid { padding-top: 112px !important; padding-bottom: 56px !important; }
  html.moveo-theme.moveo-subpage:is([data-moveo-page="agb"], [data-moveo-page="datenschutz"]) .hero { padding: 112px 0 56px !important; }
  html.moveo-theme.moveo-subpage .secret-offer-visual::after { background: linear-gradient(180deg, transparent 60%, #303536 100%) !important; }
  html.moveo-theme.moveo-subpage .hero-image-note { right: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html.moveo-theme.moveo-subpage { scroll-behavior: auto !important; }
  html.moveo-theme.moveo-subpage :is(.btn, .autumn-program-button, .mobile-sticky-cta, .world-card, .team-card, .team-photo, .team-info) {
    animation: none !important;
    transition: none !important;
  }
}
