/*
Theme Name: Hello Elementor Child (Wittmann Relaunch)
Theme URI: https://beta.fahrschulewittmann.com/
Description: Modernes Relaunch Theme für Fahrschule Wittmann München
Author: EVIT Development
Template: hello-elementor
Version: 1.5.0
*/

/* Accessibility baseline, 21.10.2026. Native controls, no overlay or user profiling. */
html { scroll-padding-top:140px; scroll-padding-bottom:100px; }
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid #0a3d58!important; outline-offset:3px!important;
  box-shadow:0 0 0 6px #fff!important;
}
body :is(main,[role="main"],[id$="-form"],#guide-title,.fw-plan-title) { scroll-margin-top:140px; scroll-margin-bottom:100px; }
body .skip-link:focus {
  position:fixed!important;top:12px!important;left:12px!important;z-index:2147483647!important;
  width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;
  padding:14px 20px!important;background:#fff!important;color:#0a3d58!important;
  border:2px solid #0a3d58!important;border-radius:8px;text-decoration:underline!important;
}
body .wm-styled-form :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea) {
  border-color:#627a88;max-width:100%;font-size:16px;
}
body .wm-styled-form :is(input,textarea)::placeholder { color:#526372;opacity:1; }
body .wm-styled-form :is(.wm-privacy-note,.small) { color:#526372; }
body .wm-styled-form :is(.wm-channel-selector,fieldset) { min-width:0; }
body .wm-styled-form fieldset.wm-contact-choice { border:0;padding:0;margin:0 0 24px; }
body .wm-styled-form .wm-contact-choice legend { float:none;width:auto;padding:0;margin-bottom:10px; }
body .wm-styled-form .wm-chip:has(input:focus-visible) { outline:3px solid #0a3d58;outline-offset:3px; }
body .wm-form-alert:focus { outline:3px solid #0a3d58;outline-offset:4px; }
body .wm-form-alert a { text-decoration:underline;text-underline-offset:.2em; }
body :is(.cky-consent-container,.cky-modal) p { color:#334155!important; }
body .wittmann-guided-advice :is(.guide-privacy,.note,.result-secondary),
body .wittmann-learning-plan .fw-plan-print-note { color:#526372; }
body :is(.wittmann-footer,.wittmann-mobile-bar) :is(a,button) { text-underline-offset:.25em; }
body .wittmann-footer .legal-links { display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center; }
body .wittmann-footer .legal-links :is(a,button) { display:inline-flex;align-items:center;min-height:44px; }
body .site-navigation-dropdown .wm-sub-arrow:focus-visible { outline-offset:-5px!important; }
body .site-navigation li.wm-submenu-dismissed > ul.sub-menu {
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
body .elementor-widget-text-editor p a:not(.btn):not(.wm-btn):not(.elementor-button):not(.fw-plan-entry-link) {
  text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;
}
body .wittmann-guided-advice .sr-only {
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
@media(max-width:1024px) {
  html { scroll-padding-top:105px; }
  body :is(main,[role="main"],[id$="-form"],#guide-title,.fw-plan-title) { scroll-margin-top:105px; }
  body .site-navigation-dropdown { max-height:calc(100dvh - 90px)!important;overscroll-behavior:contain; }
  body .site-navigation-dropdown.wm-active { max-height:calc(100dvh - 90px)!important; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  body *,body *::before,body *::after {
    scroll-behavior:auto!important;animation:none!important;transition:none!important;
  }
}
@media(forced-colors:active) {
  body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline:3px solid Highlight!important;box-shadow:none!important;
  }
  body a:any-link { color:LinkText!important;text-decoration:underline!important; }
  body :is(button,.elementor-button,.wm-btn) { border:1px solid ButtonText!important; }
  body :is(.fw-plan-option,.guide-option,.wm-chip):has(input:checked) { border:3px solid Highlight!important; }
  body.home .elementor-995 a.line-link,
  body.home .elementor-995 .elementor-widget-text-editor a {
    background:none!important;color:LinkText!important;text-decoration:underline!important;
  }
}

:root {
  --wittmann-blue: #10628c;
  --wittmann-blue-dark: #0a3d58;
  --wittmann-blue-light: #f0f7fb;
  --wittmann-blue-accent: #1a7aab;
  --wittmann-yellow: #fdd318;
  --wittmann-yellow-hover: #e6be0d;
  --wittmann-dark: #0f172a;
  --wittmann-text: #334155;
  --wittmann-muted: #64748b;
  --wittmann-light-gray: #f8fafc;
  --wittmann-border: #e2e8f0;
  --wittmann-radius-sm: 8px;
  --wittmann-radius-md: 14px;
  --wittmann-radius-lg: 20px;
  --wittmann-shadow: 0 10px 30px -5px rgba(16, 98, 140, 0.08), 0 8px 10px -6px rgba(16, 98, 140, 0.04);
  --wittmann-shadow-hover: 0 20px 35px -5px rgba(16, 98, 140, 0.15), 0 10px 15px -5px rgba(16, 98, 140, 0.08);
}

/* =========================================
   BASE RESETS & GLOBAL TYPOGRAPHY
   Eliminate Hello Elementor #c36 (magenta)
   ========================================= */
html, body {
  overflow-x: hidden;
  max-width: 100vw;
}

/* Prevent CookieYes from expanding mobile viewport */
.cky-consent-container,
.cky-consent-bar,
.cky-notice,
.cky-notice-group,
.cky-notice-des,
.cky-notice-btn-wrapper {
  max-width: 100vw !important;
  box-sizing: border-box !important;
}

.cky-notice-des p {
  max-width: 100% !important;
}

html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--wittmann-text);
  background-color: #ffffff;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}

/* Global link color override - NO MORE MAGENTA/RED #c36 */
a {
  color: var(--wittmann-blue);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover, a:focus, a:active {
  color: var(--wittmann-blue-dark);
}

/* Reset default theme button styles */
[type=button], [type=reset], [type=submit], button {
  font-family: inherit;
  border-radius: var(--wittmann-radius-sm);
}

/* Global headings */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 700;
  line-height: 1.25;
}
h1 {
  color: var(--wittmann-blue);
}
h2 {
  color: var(--wittmann-blue);
}
h3, h4 {
  color: var(--wittmann-dark);
}

/* =========================================
   MODERN TOPBAR
   ========================================= */
.wittmann-topbar {
  background: #0f172a;
  color: #94a3b8;
  font-size: 13px;
  line-height: 1.4;
  padding: 7px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.wittmann-topbar .topbar-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.wittmann-topbar a {
  color: #cbd5e1;
  text-decoration: none;
  transition: color 0.2s;
}
.wittmann-topbar a:hover {
  color: #FFD51A;
}
.wittmann-topbar .topbar-left,
.wittmann-topbar .topbar-right {
  display: flex;
  align-items: center;
  gap: 14px;
}
.wittmann-topbar .topbar-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.wittmann-topbar .topbar-divider {
  color: rgba(255, 255, 255, 0.2);
  user-select: none;
}
.wittmann-topbar .topbar-domains {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.wittmann-topbar .topbar-domains-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #64748b;
  margin-right: 2px;
}
.wittmann-topbar .domain-pill {
  font-size: 12px;
  font-weight: 500;
  padding: 2px 9px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s;
  color: #cbd5e1;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: inline-flex;
  align-items: center;
}
.wittmann-topbar .domain-pill:hover {
  background: rgba(20, 101, 139, 0.5);
  color: #ffffff;
  border-color: #14658B;
}
.wittmann-topbar .domain-pill.active-domain {
  background: #FFD51A;
  color: #18232B;
  font-weight: 700;
  border-color: #FFD51A;
}
.wittmann-topbar .topbar-phone {
  color: #ffffff;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.wittmann-topbar .topbar-phone:hover {
  color: #FFD51A;
}

/* =========================================
   STICKY SITE HEADER
   ========================================= */
header#site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  border-bottom: 1px solid var(--wittmann-border);
  transition: all 0.3s ease;
}
header#site-header .header-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 12px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
}
header#site-header .site-branding img.custom-logo {
  max-height: 48px;
  width: auto;
  display: block;
}
header#site-header .site-description {
  display: none !important;
}

/* Nav Menu */
.site-navigation ul.menu {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-navigation ul.menu > li > a {
  font-size: 15px;
  font-weight: 600;
  color: #1e293b !important;
  padding: 10px 14px;
  border-radius: var(--wittmann-radius-sm);
  text-decoration: none !important;
  transition: all 0.2s ease;
  display: inline-block;
}
.site-navigation ul.menu > li > a:hover,
.site-navigation ul.menu > li.current-menu-item > a {
  color: var(--wittmann-blue) !important;
  background: var(--wittmann-blue-light);
}

/* =========================================
   DESKTOP NAVIGATION & BULLET-PROOF DROPDOWNS
   ========================================= */
.site-navigation ul.menu {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-navigation ul.menu > li {
  position: relative;
  padding-bottom: 8px; /* Safe hover zone buffer */
  margin-bottom: -8px;
}

/* Force override Hello Elementor abrupt display:none/block */
.site-navigation ul.menu li ul,
.site-navigation ul.menu li ul.sub-menu {
  display: block !important;
  list-style: none;
  margin: 0;
  padding: 8px 0;
  position: absolute;
  background: #ffffff;
  border-radius: var(--wittmann-radius-md);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.13), 0 4px 12px rgba(16, 98, 140, 0.06);
  border: 1px solid var(--wittmann-border);
  min-width: 250px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 0.18s; /* 180ms buffer when moving mouse away */
  z-index: 1000;
}

/* Level 2 Dropdown (Direct under top menu item) */
.site-navigation ul.menu > li > ul.sub-menu {
  top: 100%;
  left: 0;
  transform: translateY(6px);
}

/* Invisible hover bridge for Level 2 so mouse never loses hover */
.site-navigation ul.menu > li > ul.sub-menu::before {
  content: '';
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  height: 14px;
  background: transparent;
}

/* Level 2 Active on Hover: instant open */
.site-navigation ul.menu > li:hover > ul.sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
  transition-delay: 0s !important; /* Instant open on hover! */
}

/* Level 3 & Deeper Flyout (Opens to the right) */
.site-navigation ul.menu li ul.sub-menu li {
  position: relative;
}

.site-navigation ul.menu li ul.sub-menu li ul.sub-menu {
  top: -6px !important;
  left: 100% !important;
  min-width: 250px;
  margin-left: 0 !important;
  transform: translateX(-6px) !important;
  z-index: 1010;
}

/* Invisible diagonal hover bridge for Level 3 */
.site-navigation ul.menu li ul.sub-menu li ul.sub-menu::before {
  content: '';
  position: absolute;
  top: -10px;
  bottom: -10px;
  left: -20px;
  width: 20px;
  background: transparent;
}

/* Level 3 Active on Hover: instant open */
.site-navigation ul.menu li ul.sub-menu li:hover > ul.sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) !important;
  transition-delay: 0s !important; /* Instant open on hover! */
}

/* Submenu Links */
.site-navigation ul.menu li ul.sub-menu li a {
  display: block;
  padding: 10px 18px;
  color: #334155 !important;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease;
  white-space: nowrap;
}

.site-navigation ul.menu li ul.sub-menu li a:hover {
  background: var(--wittmann-blue-light) !important;
  color: var(--wittmann-blue) !important;
}

/* Remove duplicate Hello Elementor arrow inside sub-menus */
.site-navigation ul.menu li ul li.menu-item-has-children::after,
.site-navigation ul.menu li ul.sub-menu li.menu-item-has-children::after {
  content: none !important;
  display: none !important;
}

/* Single, elegant chevron indicator for items with sub-menus */
.site-navigation ul.menu li ul.sub-menu li.menu-item-has-children > a {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-right: 16px !important;
}

.site-navigation ul.menu li ul.sub-menu li.menu-item-has-children > a::after {
  content: '›' !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #94a3b8 !important;
  margin-left: 14px !important;
  line-height: 1 !important;
  transition: transform 0.15s ease, color 0.15s ease !important;
}

.site-navigation ul.menu li ul.sub-menu li.menu-item-has-children:hover > a::after {
  color: var(--wittmann-blue) !important;
  transform: translateX(3px) !important;
}

/* Header CTA Button */
.header-cta-btn {
  background: var(--wittmann-yellow) !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 10px 20px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: 0 4px 14px rgba(253, 211, 24, 0.35);
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s !important;
  margin-left: 12px;
}
.header-cta-btn:hover {
  background: var(--wittmann-yellow-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(253, 211, 24, 0.45);
}

/* =========================================
   HOMEPAGE HERO SECTION
   ========================================= */
.hero-wittmann-modern {
  background: linear-gradient(135deg, #0a3d58 0%, #10628c 60%, #1a7aab 100%) !important;
  color: #ffffff !important;
  padding: 70px 24px 80px;
  border-radius: 0 0 32px 32px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 15px 30px rgba(10, 61, 88, 0.25);
}
.hero-wittmann-modern::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(253, 211, 24, 0.15) 0%, rgba(253, 211, 24, 0) 70%);
  pointer-events: none;
}
.hero-inner-container {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: center;
}
.hero-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.2) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  padding: 7px 16px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin-bottom: 20px;
}
.hero-wittmann-title {
  font-size: 42px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  margin-bottom: 18px !important;
}
.hero-wittmann-title span {
  color: var(--wittmann-yellow) !important;
}
.hero-wittmann-modern p,
.hero-wittmann-sub {
  font-size: 18px !important;
  line-height: 1.65 !important;
  color: #ffffff !important;
  margin-bottom: 28px !important;
  max-width: 580px;
}
.hero-wittmann-modern p strong {
  color: var(--wittmann-yellow) !important;
}

/* Hero Buttons */
a.btn-primary-hero,
.btn-primary-hero {
  background-color: var(--wittmann-yellow) !important;
  color: #0f172a !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  padding: 14px 28px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
  border: 2px solid var(--wittmann-yellow) !important;
  transition: all 0.25s ease !important;
}
a.btn-primary-hero:hover,
.btn-primary-hero:hover {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--wittmann-blue-dark) !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

a.btn-secondary-hero,
.btn-secondary-hero {
  background-color: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 12px 26px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.25s ease !important;
}
a.btn-secondary-hero:hover,
.btn-secondary-hero:hover {
  background-color: #ffffff !important;
  color: var(--wittmann-blue-dark) !important;
  border-color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.hero-trust-bar {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 14px;
  color: #ffffff !important;
}
.hero-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffffff !important;
}
.hero-trust-item strong {
  color: #ffffff !important;
}
.hero-image-box {
  position: relative;
}
.hero-image-box img {
  border-radius: var(--wittmann-radius-lg);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
  width: 100%;
  height: auto;
  display: block;
}
.hero-floating-badge {
  position: absolute;
  bottom: -20px;
  left: -20px;
  background: #ffffff;
  color: #0f172a;
  padding: 14px 20px;
  border-radius: var(--wittmann-radius-md);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 280px;
}

/* =========================================
   CLASS GRID CARDS (HOMEPAGE)
   ========================================= */
.classes-section-modern {
  max-width: 1240px;
  margin: -40px auto 60px;
  padding: 0 24px;
  position: relative;
  z-index: 10;
}
.classes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 24px;
}
.class-card {
  background: #ffffff;
  border-radius: var(--wittmann-radius-md);
  padding: 30px 26px;
  box-shadow: var(--wittmann-shadow);
  border: 1px solid var(--wittmann-border);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.class-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--wittmann-shadow-hover);
  border-color: #cbd5e1;
}
.class-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: var(--wittmann-blue-light);
  color: var(--wittmann-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 20px;
}
.class-card h3 {
  font-size: 21px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 10px;
}
.class-card p {
  color: var(--wittmann-muted);
  font-size: 14px;
  margin-bottom: 20px;
  line-height: 1.55;
}
a.class-card-link,
.class-card-link {
  font-size: 14px;
  font-weight: 700;
  color: var(--wittmann-blue) !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  transition: gap 0.2s;
}
.class-card-link:hover {
  gap: 10px;
  color: var(--wittmann-blue-dark) !important;
}

/* =========================================
   STEP BY STEP SECTION
   ========================================= */
.steps-section-modern {
  background: var(--wittmann-light-gray);
  padding: 70px 24px 80px;
  margin: 60px 0;
  border-radius: 32px;
}
.steps-inner-container {
  max-width: 1240px;
  margin: 0 auto;
}
.steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 28px;
  margin-top: 48px;
}
.step-card {
  background: #ffffff;
  padding: 32px 24px;
  border-radius: var(--wittmann-radius-md);
  border: 1px solid var(--wittmann-border);
  box-shadow: var(--wittmann-shadow);
  position: relative;
}
.step-number {
  position: absolute;
  top: -16px;
  left: 24px;
  background: var(--wittmann-blue);
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(16, 98, 140, 0.35);
}
.step-card h4 {
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
  margin: 10px 0 10px;
}
.step-card p {
  font-size: 14px;
  color: var(--wittmann-muted);
  line-height: 1.5;
  margin: 0;
}

/* =========================================
   BOTTOM CTA BANNER
   ========================================= */
.wittmann-cta-banner {
  background: linear-gradient(135deg, #0a3d58 0%, #10628c 100%) !important;
  border-radius: 28px !important;
  padding: 50px 32px !important;
  color: #ffffff !important;
  text-align: center !important;
  box-shadow: 0 20px 40px rgba(10, 61, 88, 0.25) !important;
}
.wittmann-cta-banner h2 {
  color: #ffffff !important;
  font-size: 34px !important;
  font-weight: 800 !important;
  margin-bottom: 16px !important;
}
.wittmann-cta-banner p {
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  max-width: 680px !important;
  margin: 0 auto 32px !important;
}
.wittmann-cta-banner a.btn-primary-hero {
  background-color: var(--wittmann-yellow) !important;
  color: #0f172a !important;
  text-decoration: none !important;
}
.wittmann-cta-banner a.btn-secondary-hero {
  background-color: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  text-decoration: none !important;
}
.wittmann-cta-banner a.btn-secondary-hero:hover {
  background-color: #ffffff !important;
  color: var(--wittmann-blue-dark) !important;
}

/* =======================================================
   SUBPAGE & CATEGORY HERO HEADER - FRESH, BRIGHT & INVITING
   (Replaces the previous heavy, oppressive dark-blue block)
   ======================================================= */
.site-main > .page-header,
.site-main .entry-header,
.page-header,
.entry-header {
  background: linear-gradient(180deg, #f0f7fb 0%, #ffffff 100%) !important;
  border-bottom: 1px solid var(--wittmann-border) !important;
  padding: 42px 20px 34px !important;
  margin: 0 0 36px 0 !important;
  text-align: center !important;
  position: relative !important;
  border-radius: 0 0 24px 24px !important;
  box-shadow: 0 4px 20px rgba(16, 98, 140, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.site-main > .page-header::after,
.site-main .entry-header::after,
.page-header::after {
  content: '' !important;
  display: block !important;
  width: 50px !important;
  height: 4px !important;
  background: var(--wittmann-yellow) !important;
  margin: 14px auto 0 !important;
  border-radius: 2px !important;
}
.site-main > .page-header h1.entry-title,
.site-main .entry-header h1.entry-title,
.page-header .entry-title,
.page-header h1,
.entry-header h1,
h1.entry-title {
  color: var(--wittmann-blue) !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  margin: 0 auto !important;
  letter-spacing: -0.3px !important;
  line-height: 1.25 !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 1000px !important;
}
.site-main > .page-header h1.entry-title span,
.page-header .entry-title span {
  color: var(--wittmann-dark) !important;
}

@media (max-width: 640px) {
  .site-main > .page-header,
  .site-main .entry-header {
    padding: 28px 16px 22px !important;
    margin-bottom: 24px !important;
    border-radius: 0 0 16px 16px !important;
  }
  .site-main > .page-header h1.entry-title,
  .site-main .entry-header h1.entry-title,
  .page-header .entry-title {
    font-size: 24px !important;
  }
}

/* =========================================
   ARCHIVE & CATEGORY POST LISTINGS & CARDS
   ========================================= */
.archive .site-main,
.category .site-main,
.tag .site-main,
.blog .site-main {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px 60px;
  box-sizing: border-box;
}

article.post {
  background: #ffffff !important;
  border: 1px solid var(--wittmann-border) !important;
  border-radius: var(--wittmann-radius-md) !important;
  padding: 32px 28px !important;
  margin-bottom: 26px !important;
  box-shadow: 0 4px 16px rgba(16, 98, 140, 0.05) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}
article.post:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--wittmann-shadow-hover) !important;
  border-color: #cbd5e1 !important;
}

/* Post Headlines on Archive / Category Pages: 100% Brand Blue, Never Pink/Magenta */
article.post .entry-title,
article.post .entry-title a,
.entry-title a,
h2.entry-title a,
.page-content h2.entry-title a {
  color: var(--wittmann-blue) !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  display: inline-block !important;
  margin: 0 0 12px 0 !important;
  transition: color 0.2s ease !important;
}
article.post .entry-title a:hover,
h2.entry-title a:hover {
  color: var(--wittmann-blue-dark) !important;
}
article.post p {
  color: #475569 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 0 16px 0 !important;
}

/* =========================================
   SUBPAGE CONTENT CONTAINER & TYPOGRAPHY
   Full width for Elementor & custom sections; 
   1080px constrained ONLY for raw text/blog posts.
   ========================================= */
.site-main > .page-content {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body:not(.elementor-page):not(.home) .site-main > .page-content:not(:has(.elementor)):not(:has([class*="wm-"])),
body:not(.elementor-page):not(.home) .site-main .entry-content:not(:has(.elementor)):not(:has([class*="wm-"])) {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px 80px;
  box-sizing: border-box;
}

/* Subpage Typography */
.page-content h1, .entry-content h1 {
  font-size: 30px !important;
  font-weight: 800 !important;
  color: var(--wittmann-blue) !important;
  margin-top: 24px;
  margin-bottom: 16px;
}
.page-content h2, .entry-content h2 {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--wittmann-blue) !important;
  margin-top: 36px;
  margin-bottom: 16px;
  position: relative;
}
.page-content h3, .entry-content h3 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--wittmann-dark) !important;
  margin-top: 28px;
  margin-bottom: 12px;
}
.page-content h4, .entry-content h4 {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--wittmann-dark) !important;
  margin-top: 20px;
  margin-bottom: 10px;
}

/* Subpage Links */
.page-content p a:not([class]),
.entry-content p a:not([class]) {
  color: var(--wittmann-blue) !important;
  font-weight: 600;
  text-decoration: underline;
  transition: color 0.2s ease;
}
.page-content p a:not([class]):hover,
.entry-content p a:not([class]):hover {
  color: var(--wittmann-blue-dark) !important;
}

/* Styled Bullet Lists with Wittmann Blue Accent */
.entry-content ul, .page-content ul {
  list-style: none;
  padding-left: 0;
  margin: 20px 0;
}
.entry-content ul li, .page-content ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  line-height: 1.6;
}
.entry-content ul li::before, .page-content ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--wittmann-blue);
  font-weight: 800;
  font-size: 16px;
}

/* Subpage Images & Alignments */
.page-content img, .entry-content img {
  border-radius: var(--wittmann-radius-md);
  max-width: 100%;
  height: auto;
}
.aligncenter {
  display: block;
  margin: 28px auto;
  box-shadow: var(--wittmann-shadow);
}

/* Modern Tables */
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 28px 0;
  border-radius: var(--wittmann-radius-md);
  overflow: hidden;
  border: 1px solid var(--wittmann-border);
  box-shadow: var(--wittmann-shadow);
}
table th {
  background: var(--wittmann-blue);
  color: #ffffff;
  font-weight: 700;
  padding: 14px 18px;
  text-align: left;
  font-size: 14px;
}
table td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--wittmann-border);
  font-size: 14px;
  background: #ffffff;
}
table tr:last-child td {
  border-bottom: none;
}
table tr:nth-child(even) td {
  background: var(--wittmann-light-gray);
}

/* Blockquotes */
blockquote {
  background: var(--wittmann-blue-light) !important;
  border-left: 5px solid var(--wittmann-blue) !important;
  padding: 20px 24px !important;
  border-radius: 0 var(--wittmann-radius-sm) var(--wittmann-radius-sm) 0 !important;
  margin: 28px 0 !important;
  font-size: 16px !important;
  color: #0f172a !important;
  box-shadow: 0 4px 12px rgba(16, 98, 140, 0.06);
}

/* Contact Forms */
.wpcf7 {
  max-width: 820px;
  margin: 32px auto;
}
.wpcf7 form { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; 
  background: #ffffff;
  border: 1px solid var(--wittmann-border);
  border-radius: var(--wittmann-radius-lg);
  box-shadow: var(--wittmann-shadow);
  padding: 40px 36px;
}
.wpcf7 label {
  font-weight: 600;
  color: #1e293b;
  font-size: 14px;
  margin-bottom: 6px;
  display: block;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  padding: 13px 16px;
  border: 1.5px solid var(--wittmann-border);
  border-radius: var(--wittmann-radius-sm);
  font-size: 15px;
  color: #1e293b;
  background: #fdfdfd;
  transition: all 0.2s ease;
  margin-top: 6px;
  margin-bottom: 18px;
  box-sizing: border-box;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  border-color: var(--wittmann-blue);
  background: #ffffff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(16, 98, 140, 0.15);
}
.wpcf7 input[type="submit"] {
  background: var(--wittmann-yellow) !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 14px 40px !important;
  border-radius: 50px !important;
  border: none !important;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(253, 211, 24, 0.35) !important;
  transition: all 0.2s ease !important;
  margin-top: 10px;
}
.wpcf7 input[type="submit"]:hover {
  background: var(--wittmann-yellow-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(253, 211, 24, 0.45) !important;
}

/* =========================================
   TEAM PAGE SHORTCODE STYLING
   ========================================= */
.wittmann-team-col {
  display: inline-block;
  vertical-align: top;
  width: 31%;
  margin: 0 1% 32px;
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .wittmann-team-col {
    width: 47%;
  }
}
@media (max-width: 640px) {
  .wittmann-team-col {
    width: 100%;
    margin: 0 0 24px;
  }
}
.wittmann-team-card {
  background: #ffffff;
  border: 1px solid var(--wittmann-border);
  border-radius: var(--wittmann-radius-md);
  box-shadow: var(--wittmann-shadow);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.wittmann-team-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--wittmann-shadow-hover);
  border-color: #cbd5e1;
}
.wittmann-team-card .team-img-wrap {
  background: linear-gradient(135deg, #eef6fa 0%, #dbeafe 100%);
  text-align: center;
  padding: 24px 16px 0;
  overflow: hidden;
}
.wittmann-team-card .team-img-wrap img {
  max-height: 220px;
  width: auto;
  margin: 0 auto;
  display: block;
  border-radius: 0;
  transition: transform 0.3s ease;
}
.wittmann-team-card:hover .team-img-wrap img {
  transform: scale(1.05);
}
.wittmann-team-card .team-card-content {
  padding: 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.wittmann-team-card .team-card-name {
  font-size: 20px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 6px;
}
.wittmann-team-card .team-card-role {
  font-size: 12px;
  font-weight: 700;
  color: var(--wittmann-blue);
  background: var(--wittmann-blue-light);
  padding: 4px 10px;
  border-radius: 50px;
  display: inline-block;
  align-self: flex-start;
  margin-bottom: 14px;
  line-height: 1.4;
}
.wittmann-team-card .team-card-bio {
  font-size: 13px;
  color: #475569;
  line-height: 1.55;
}
.wittmann-team-card .team-card-bio p {
  font-size: 13px;
  margin-bottom: 8px;
}
.wittmann-team-card .team-card-bio strong {
  color: #0f172a;
}

/* =========================================
   HOMEPAGE LOWER SECTIONS ENHANCEMENTS
   ========================================= */

/* Hide legacy dividers */
.elementor-element-b5b2051,
.elementor-element-5e930a8 {
  display: none !important;
}

/* Modern Footer */
.wittmann-footer {
  background: #0b1320;
  color: #94a3b8;
  padding: 60px 0 20px;
  font-size: 14px;
  line-height: 1.6;
  border-top: 4px solid var(--wittmann-blue);
}
.wittmann-footer .footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 40px;
  margin-bottom: 40px;
}
.wittmann-footer h4 {
  color: #ffffff;
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 10px;
}
.wittmann-footer h4::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 36px;
  height: 3px;
  background: var(--wittmann-yellow);
  border-radius: 2px;
}
.wittmann-footer a {
  color: #cbd5e1 !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.wittmann-footer a:hover {
  color: var(--wittmann-yellow) !important;
}
.wittmann-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.wittmann-footer ul li {
  margin-bottom: 10px;
}
.wittmann-footer-bottom {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 24px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
}
.wittmann-footer-bottom .legal-links {
  display: flex;
  gap: 20px;
}

/* =========================================
   FLOATING MOBILE CONTACT BAR
   ========================================= */
.wittmann-mobile-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  padding: 10px 16px;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.09);
  z-index: 9999;
  border-top: 1px solid var(--wittmann-border);
}
.wittmann-mobile-bar .bar-inner {
  display: flex;
  gap: 12px;
  max-width: 500px;
  margin: 0 auto;
}
.wittmann-mobile-bar a {
  flex: 1;
  text-align: center;
  padding: 12px 14px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.wittmann-mobile-bar a {
  flex: 1;
  text-align: center;
  padding: 13px 16px !important;
  border-radius: 50px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  letter-spacing: 0.2px !important;
}
.mobile-btn-call {
  background: #10628c !important;
  color: #ffffff !important;
  border: 2px solid #10628c !important;
  box-shadow: 0 4px 14px rgba(16, 98, 140, 0.35) !important;
}
.mobile-btn-inquiry {
  background: #fdd318 !important;
  color: #0f172a !important;
  border: 2px solid #e6be0d !important;
  box-shadow: 0 4px 14px rgba(253, 211, 24, 0.4) !important;
}

/* Responsive adjustments */
@media (max-width: 991px) {
  .hero-inner-container {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .hero-wittmann-sub {
    margin: 0 auto 28px;
  }
  .hero-action-buttons,
  .hero-trust-bar {
    justify-content: center;
  }
  .hero-floating-badge {
    left: 20px;
    bottom: -15px;
  }
  .wittmann-topbar {
    display: none;
  }
  .wittmann-mobile-bar {
    display: block;
  }
  body {
    padding-bottom: 70px;
  }
}
@media (max-width: 640px) {
  .hero-wittmann-title {
    font-size: 32px !important;
  }
  .hero-action-buttons,
  .cta-btn-wrap {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  a.btn-primary-hero,
  a.btn-secondary-hero {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .classes-section-modern {
    margin-top: 20px;
  }
}

/* =========================================
   MODERN CONTACT FORM 7 & INQUIRY FORM
   ========================================= */
.wittmann-cf7-container {
  background: #ffffff;
  border: 1px solid var(--wittmann-border);
  border-radius: var(--wittmann-radius-lg);
  box-shadow: 0 10px 30px -5px rgba(16, 98, 140, 0.08), 0 4px 12px rgba(0, 0, 0, 0.03);
  padding: 40px 36px;
  max-width: 860px;
  margin: 20px auto 40px;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  .wittmann-cf7-container {
    padding: 24px 16px;
    border-radius: var(--wittmann-radius-md);
    margin: 16px auto 32px;
  }
}

.wittmann-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 6px;
}

@media (max-width: 640px) {
  .wittmann-form-row {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 0;
  }
}

.wittmann-form-col,
.wittmann-form-field {
  display: flex;
  flex-direction: column;
  margin-bottom: 18px;
}

.wittmann-cf7-container label {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.wittmann-cf7-container label .required-star {
  color: #ef4444;
  font-weight: 800;
  margin-left: 2px;
}

.wittmann-cf7-container label.section-label {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: var(--wittmann-blue) !important;
  margin-bottom: 4px !important;
}

.wittmann-cf7-container .field-hint {
  font-size: 13px;
  color: var(--wittmann-muted);
  margin: 0 0 12px 0;
}

/* Modern Input & Textarea Fields */
.wittmann-cf7-container input[type="text"],
.wittmann-cf7-container input[type="email"],
.wittmann-cf7-container input[type="tel"],
.wittmann-cf7-container input[type="date"],
.wittmann-cf7-container select,
.wittmann-cf7-container textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 10px !important;
  padding: 13px 16px !important;
  font-size: 15px !important;
  font-family: inherit !important;
  color: #0f172a !important;
  background-color: #ffffff !important;
  transition: all 0.2s ease !important;
  margin: 0 !important;
  outline: none !important;
}

.wittmann-cf7-container input:focus,
.wittmann-cf7-container textarea:focus {
  border-color: var(--wittmann-blue) !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3.5px rgba(16, 98, 140, 0.15) !important;
}

.wittmann-cf7-container textarea {
  min-height: 110px;
  resize: vertical;
}

/* Modern Checkbox Badges / Chips for Führerscheinauswahl */
.wittmann-cf7-container .wpcf7-checkbox {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 6px 0 16px 0 !important;
}

@media (max-width: 640px) {
  .wittmann-cf7-container .wpcf7-checkbox {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}

.wittmann-cf7-container .wpcf7-checkbox .wpcf7-list-item {
  margin: 0 !important;
  display: flex !important;
  width: 100% !important;
}

.wittmann-cf7-container .wpcf7-checkbox .wpcf7-list-item label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  user-select: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

@media (max-width: 640px) {
  .wittmann-cf7-container .wpcf7-checkbox .wpcf7-list-item label {
    padding: 10px 10px !important;
    gap: 8px !important;
  }
}

.wittmann-cf7-container .wpcf7-checkbox .wpcf7-list-item label:hover {
  background: #f0f7fb !important;
  border-color: #cbd5e1 !important;
  transform: translateY(-1px) !important;
}

.wittmann-cf7-container .wpcf7-checkbox input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--wittmann-blue) !important;
  margin: 0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

.wittmann-cf7-container .wpcf7-checkbox .wpcf7-list-item-label {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  line-height: 1.3 !important;
  transition: color 0.15s ease !important;
}

@media (max-width: 640px) {
  .wittmann-cf7-container .wpcf7-checkbox .wpcf7-list-item-label {
    font-size: 12px !important;
  }
}

/* Checked State with modern :has() */
.wittmann-cf7-container .wpcf7-checkbox .wpcf7-list-item label:has(input:checked) {
  background: #eef6fa !important;
  border-color: var(--wittmann-blue) !important;
  box-shadow: 0 0 0 1px var(--wittmann-blue), 0 3px 8px rgba(16, 98, 140, 0.12) !important;
}

.wittmann-cf7-container .wpcf7-checkbox .wpcf7-list-item label:has(input:checked) .wpcf7-list-item-label {
  color: var(--wittmann-blue) !important;
  font-weight: 700 !important;
}

/* Privacy Acceptance */
.wittmann-cf7-container .privacy-field {
  margin: 16px 0 24px;
}
.wittmann-cf7-container .privacy-field label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}
.wittmann-cf7-container .privacy-field input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--wittmann-blue) !important;
  margin-top: 2px !important;
  flex-shrink: 0 !important;
}
.wittmann-cf7-container .privacy-field a {
  color: var(--wittmann-blue) !important;
  text-decoration: underline !important;
}

/* Submit Button & Wrapper */
.wittmann-form-submit {
  text-align: center;
  margin-top: 24px;
}
.wittmann-cf7-container input[type="submit"] {
  background: var(--wittmann-yellow) !important;
  color: #0f172a !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  padding: 16px 42px !important;
  border-radius: 50px !important;
  border: none !important;
  cursor: pointer !important;
  display: inline-block !important;
  box-shadow: 0 6px 20px rgba(253, 211, 24, 0.4) !important;
  transition: all 0.25s ease !important;
  width: auto !important;
}
.wittmann-cf7-container input[type="submit"]:hover {
  background: var(--wittmann-yellow-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(253, 211, 24, 0.5) !important;
}
@media (max-width: 640px) {
  .wittmann-cf7-container input[type="submit"] {
    width: 100% !important;
    padding: 15px 20px !important;
    font-size: 15px !important;
  }
}
.wittmann-cf7-container .form-guarantee {
  font-size: 13px;
  color: var(--wittmann-muted);
  margin-top: 12px;
}

/* Page 2304 Trust Cards & FAQ styling */
.anfrage-page-wrapper {
  max-width: 920px;
  margin: 0 auto;
}
.anfrage-trust-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 768px) {
  .anfrage-trust-cards {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.trust-card {
  background: var(--wittmann-blue-light);
  border: 1px solid rgba(16, 98, 140, 0.12);
  border-radius: var(--wittmann-radius-md);
  padding: 20px 18px;
  text-align: center;
}
.trust-icon {
  font-size: 26px;
  margin-bottom: 8px;
}
.trust-card h4 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--wittmann-blue) !important;
  margin: 0 0 6px 0 !important;
}
.trust-card p {
  font-size: 13px !important;
  color: #475569 !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}

.anfrage-info-section {
  margin-top: 48px;
  padding-top: 36px;
  border-top: 1px solid var(--wittmann-border);
}
.anfrage-info-section h3 {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: var(--wittmann-blue) !important;
  text-align: center !important;
  margin-bottom: 28px !important;
}
.faq-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.faq-card {
  background: #ffffff;
  border: 1px solid var(--wittmann-border);
  border-radius: var(--wittmann-radius-md);
  padding: 24px 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
.faq-card h4 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 0 10px 0 !important;
}
.faq-card p {
  font-size: 13.5px !important;
  color: #475569 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}


/* ==========================================================================
   WITTMANN MASTER DESIGN SYSTEM (Briefing 10.10.2026)
   Tokens, Typography & Reusable Modular Blocks
   ========================================================================== */

:root {
  --wm-blue: #14658B;
  --wm-blue-dark: #104A67;
  --wm-yellow: #FFD51A;
  --wm-ink: #18232B;
  --wm-white: #FFFFFF;
  --wm-surface: #F3F6F8;
  --wm-muted: #52616B;
  --wm-border: #D7E1E7;
  --wm-success: #23663F;
  --wm-danger: #A52A32;
  --wm-radius-card: 16px;
  --wm-radius-button: 10px;
  --wm-content-width: 1200px;
}

/* Master Typography Overrides */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  color: var(--wm-ink);
  background-color: #ffffff;
  line-height: 1.55;
  font-size: 17px;
}

h1, h2, h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

h1, .wm-h1 {
  font-size: clamp(34px, 5vw, 64px) !important;
  line-height: 1.12 !important;
  color: var(--wm-ink);
  margin-bottom: 20px;
}

h2, .wm-h2 {
  font-size: clamp(28px, 3.8vw, 42px) !important;
  line-height: 1.2 !important;
  color: var(--wm-blue);
  margin-bottom: 14px;
}

h3, .wm-h3 {
  font-size: clamp(20px, 2.4vw, 26px) !important;
  line-height: 1.25 !important;
  color: var(--wm-ink);
  margin-bottom: 10px;
}

.wm-h2-white {
  color: #ffffff !important;
}

/* Buttons */
.wm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 700;
  min-height: 48px;
  padding: 12px 24px;
  border-radius: var(--wm-radius-button);
  text-decoration: none !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  border: none;
  line-height: 1;
}

.wm-btn-primary {
  background-color: var(--wm-yellow) !important;
  color: var(--wm-ink) !important;
  box-shadow: 0 4px 14px rgba(255, 213, 26, 0.35);
}

.wm-btn-primary:hover, .wm-btn-primary:focus {
  background-color: #f0c500 !important;
  color: var(--wm-ink) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 213, 26, 0.5);
}

.wm-btn-secondary {
  background-color: transparent !important;
  color: var(--wm-blue) !important;
  border: 2px solid var(--wm-blue) !important;
}

.wm-btn-secondary:hover, .wm-btn-secondary:focus {
  background-color: var(--wm-blue) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}

.wm-btn-outline-white {
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}

.wm-btn-outline-white:hover, .wm-btn-outline-white:focus {
  background-color: #ffffff !important;
  color: var(--wm-blue-dark) !important;
  transform: translateY(-2px);
}

.wm-btn-submit {
  background-color: var(--wm-yellow) !important;
  color: var(--wm-ink) !important;
  font-size: 18px;
  padding: 16px 32px;
  min-height: 52px;
  width: 100%;
}

.wm-btn-submit:hover {
  background-color: #f0c500 !important;
  transform: translateY(-2px);
}

/* Layout Containers */
.wm-container {
  width: 100%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

.wm-container-narrow {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.wm-section {
  padding: 80px 0;
  position: relative;
}

@media (max-width: 768px) {
  .wm-section {
    padding: 48px 0;
  }
}

.wm-section-header {
  margin-bottom: 40px;
}

.wm-lead {
  font-size: 18px;
  color: var(--wm-muted);
  line-height: 1.55;
  margin-bottom: 0;
}

.wm-lead-white {
  color: #d7e1e7 !important;
}

.wm-badge {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--wm-blue);
  background-color: rgba(20, 101, 139, 0.08);
  padding: 6px 14px;
  border-radius: 30px;
  margin-bottom: 12px;
}

.wm-badge-yellow {
  background-color: var(--wm-yellow) !important;
  color: var(--wm-ink) !important;
}

.wm-badge-highlight {
  background-color: rgba(255, 213, 26, 0.25) !important;
  color: #7a5f00 !important;
}

.text-center {
  text-align: center;
}

/* ==========================================================================
   T: TRUST BAR
   ========================================================================== */
.wm-trust-bar {
  background-color: var(--wm-surface);
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-card);
  padding: 16px 28px;
  margin: 36px 0 0 0;
  width: 100%;
  box-sizing: border-box;
}

.wm-trust-inner {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: nowrap !important;
  gap: 20px;
  width: 100%;
}

.wm-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap !important;
  flex-shrink: 0;
}

.wm-trust-icon {
  font-size: 20px;
  line-height: 1;
}

.wm-trust-text {
  font-size: 15px;
  font-weight: 600;
  color: var(--wm-ink);
}

.wm-trust-divider {
  width: 1px;
  height: 24px;
  background-color: var(--wm-border);
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .wm-trust-bar {
    padding: 16px 20px;
    margin: 28px 0 0 0;
  }
  .wm-trust-divider {
    display: none;
  }
  .wm-trust-inner {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    flex-wrap: wrap !important;
    gap: 14px;
  }
  .wm-trust-item {
    white-space: normal !important;
  }
}

@media (max-width: 550px) {
  .wm-trust-inner {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }
}

/* ==========================================================================
   HERO SPLIT (HOME)
   ========================================================================== */
.wm-hero-split-section {
  width: 100%;
  padding: 52px 0 64px 0;
  background: linear-gradient(180deg, #ffffff 0%, #F3F6F8 100%);
  border-bottom: 1px solid var(--wm-border, #D7E1E7);
}

.wm-hero-grid {
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: 52px;
  align-items: center;
  margin-bottom: 36px;
}

.wm-hero-content {
  display: flex;
  flex-direction: column;
}

.wm-hero-title {
  margin-top: 10px;
}

.wm-hero-sub {
  font-size: 20px;
  line-height: 1.5;
  color: var(--wm-muted);
  margin-bottom: 28px;
}

.wm-hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.wm-hero-media {
  position: relative;
  width: 100%;
  border-radius: var(--wm-radius-card);
  overflow: hidden;
  box-shadow: 0 16px 36px -10px rgba(20, 101, 139, 0.22);
}

.wm-hero-img {
  width: 100%;
  height: 420px;
  max-height: 440px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.wm-split-media {
  position: relative;
  border-radius: var(--wm-radius-card);
  overflow: hidden;
}

.wm-ai-badge {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(24, 35, 43, 0.78);
  color: #ffffff;
  font-size: 11.5px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 6px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  pointer-events: none;
  letter-spacing: 0.2px;
  z-index: 3;
}

@media (max-width: 900px) {
  .wm-hero-img {
    height: 320px;
  }
}

@media (max-width: 600px) {
  .wm-hero-img {
    height: 240px;
  }
}

@media (max-width: 991px) {
  .wm-hero-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* ==========================================================================
   2. VIER EINSTIEGE
   ========================================================================== */
.wm-entries-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.wm-entry-card {
  background-color: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-card);
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.3s ease;
}

.wm-entry-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(20, 101, 139, 0.12);
  border-color: var(--wm-blue);
}

.wm-entry-featured {
  border-color: #ffe066;
  background: linear-gradient(180deg, #fffdf2 0%, #ffffff 100%);
}

.wm-card-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--wm-muted);
  background: var(--wm-surface);
  padding: 4px 10px;
  border-radius: 20px;
}

.wm-entry-icon {
  font-size: 40px;
  margin-bottom: 16px;
}

.wm-entry-title {
  margin-bottom: 12px;
}

.wm-entry-desc {
  font-size: 15px;
  color: var(--wm-muted);
  line-height: 1.5;
  margin-bottom: 20px;
  flex-grow: 1;
}

.wm-entry-features {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 13.5px;
  color: var(--wm-ink);
  font-weight: 500;
}

@media (max-width: 1024px) {
  .wm-entries-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .wm-entries-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   3. DREI SCHNELLE ANTWORTEN
   ========================================================================== */
.wm-answers-section {
  background-color: var(--wm-surface);
}

.wm-answers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.wm-answer-card {
  background-color: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-card);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

.wm-answer-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(20, 101, 139, 0.08);
}

.wm-answer-num {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: var(--wm-blue);
  margin-bottom: 12px;
}

.wm-answer-title {
  margin-bottom: 12px;
}

.wm-answer-text {
  font-size: 15.5px;
  color: var(--wm-muted);
  margin-bottom: 24px;
  flex-grow: 1;
}

@media (max-width: 850px) {
  .wm-answers-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   4. MARKENVERSPRECHEN
   ========================================================================== */
.wm-promise-header {
  max-width: 800px;
  margin: 0 auto 50px auto;
}

.wm-promise-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 40px;
}

.wm-promise-col {
  text-align: center;
  padding: 24px 16px;
}

.wm-promise-icon {
  font-size: 44px;
  margin-bottom: 16px;
}

@media (max-width: 850px) {
  .wm-promise-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* ==========================================================================
   5. SIMULATOR
   ========================================================================== */
.wm-split-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

.wm-rounded-img {
  width: 100%;
  height: auto;
  border-radius: var(--wm-radius-card);
  display: block;
}

.wm-text-lead {
  font-size: 19px;
  line-height: 1.5;
  color: var(--wm-ink);
  font-weight: 500;
  margin-bottom: 14px;
}

.wm-split-actions {
  margin-top: 24px;
}

@media (max-width: 850px) {
  .wm-split-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* ==========================================================================
   A: ABLAUF (4 SCHRITTE)
   ========================================================================== */
.wm-process-section {
  background-color: var(--wm-surface);
}

.wm-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.wm-process-card {
  background-color: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-card);
  padding: 28px 20px;
  position: relative;
}

.wm-step-num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--wm-blue);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 16px;
}

.wm-process-finish .wm-step-num {
  background-color: var(--wm-yellow);
  color: var(--wm-ink);
}

.wm-step-title {
  font-size: 19px !important;
  margin-bottom: 10px;
}

.wm-step-desc {
  font-size: 14.5px;
  color: var(--wm-muted);
  line-height: 1.5;
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .wm-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .wm-process-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   D: KURSTERMINE
   ========================================================================== */
.wm-courses-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}

.wm-course-card {
  background-color: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-card);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
}

.wm-course-tag {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--wm-blue);
  background: var(--wm-surface);
  padding: 4px 10px;
  border-radius: 20px;
  align-self: flex-start;
  margin-bottom: 14px;
}

.wm-tag-moto {
  background: #fff4e5;
  color: #b45309;
}

.wm-tag-b196 {
  background: #fef08a;
  color: #854d0e;
}

.wm-course-title {
  margin-bottom: 16px;
}

.wm-course-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  color: var(--wm-muted);
  margin-bottom: 24px;
  flex-grow: 1;
}

@media (max-width: 850px) {
  .wm-courses-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   R: SOCIAL & REVIEWS
   ========================================================================== */
.wm-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 36px;
}

.wm-review-card {
  background-color: var(--wm-surface);
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-card);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
}

.wm-stars {
  font-size: 16px;
  margin-bottom: 12px;
}

.wm-review-quote {
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--wm-ink);
  font-style: italic;
  margin-bottom: 20px;
  flex-grow: 1;
}

.wm-reviewer {
  display: flex;
  align-items: center;
  gap: 12px;
}

.wm-avatar-placeholder {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--wm-blue);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
}

.wm-reviewer strong {
  display: block;
  font-size: 14.5px;
  color: var(--wm-ink);
}

.wm-reviewer span {
  font-size: 12.5px;
  color: var(--wm-muted);
}

.wm-social-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 850px) {
  .wm-reviews-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   9. ELTERN
   ========================================================================== */
.wm-parents-box {
  background: linear-gradient(135deg, #f0f7fb 0%, #ffffff 100%);
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-card);
  padding: 48px;
}

.wm-checklist {
  list-style: none;
  padding: 0;
  margin: 24px 0 32px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wm-checklist li {
  position: relative;
  padding-left: 28px;
  font-size: 16px;
  font-weight: 600;
  color: var(--wm-ink);
}

.wm-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--wm-success);
  font-weight: 800;
  font-size: 18px;
}

@media (max-width: 768px) {
  .wm-parents-box {
    padding: 28px 20px;
  }
}

/* ==========================================================================
   L: STANDORT
   ========================================================================== */
.wm-location-section {
  background-color: var(--wm-surface);
}

.wm-location-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 40px;
  align-items: center;
}

.wm-location-details {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 28px 0;
}

.wm-loc-item strong {
  display: block;
  font-size: 14.5px;
  color: var(--wm-ink);
  margin-bottom: 4px;
}

.wm-loc-item span {
  font-size: 14px;
  color: var(--wm-muted);
  line-height: 1.45;
}

.wm-location-cta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

@media (max-width: 850px) {
  .wm-location-grid {
    grid-template-columns: 1fr;
  }
  .wm-location-details {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Q: FAQ
   ========================================================================== */
.wm-faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.wm-faq-item {
  background-color: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-card);
  overflow: hidden;
  transition: all 0.2s ease;
}

.wm-faq-item[open] {
  border-color: var(--wm-blue);
  box-shadow: 0 4px 14px rgba(20, 101, 139, 0.06);
}

.wm-faq-summary {
  padding: 18px 24px;
  font-family: 'Inter', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--wm-ink);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
}

.wm-faq-summary::-webkit-details-marker {
  display: none;
}

.wm-faq-chevron {
  font-size: 12px;
  color: var(--wm-blue);
  transition: transform 0.2s ease;
}

.wm-faq-item[open] .wm-faq-chevron {
  transform: rotate(180deg);
}

.wm-faq-body {
  padding: 0 24px 20px 24px;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--wm-muted);
}

/* ==========================================================================
   C: CLOSING CTA
   ========================================================================== */
.wm-cta-closing-box {
  background-color: var(--wm-blue-dark);
  border-radius: 20px;
  padding: 60px 40px;
  box-shadow: 0 20px 40px -10px rgba(16, 74, 103, 0.35);
  max-width: 900px;
  margin: 0 auto;
}

.wm-closing-buttons {
  display: flex;
  gap: 18px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 32px;
}

@media (max-width: 768px) {
  .wm-cta-closing-box {
    padding: 36px 20px;
  }
}

/* ==========================================================================
   P: KOSTENBLOCK FALLBACK
   ========================================================================== */
.wm-price-fallback-box {
  background-color: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-card);
  padding: 36px 32px;
  display: flex;
  align-items: center;
  gap: 24px;
  box-shadow: 0 8px 24px rgba(20, 101, 139, 0.05);
}

.wm-price-icon {
  font-size: 48px;
}

.wm-price-fallback-text {
  flex-grow: 1;
}

.wm-price-fallback-text p {
  margin-bottom: 6px;
  font-size: 16px;
}

@media (max-width: 850px) {
  .wm-price-fallback-box {
    flex-direction: column;
    text-align: center;
  }
}

/* ==========================================================================
   FORMS (Briefing 4.1, 4.2, 4.3)
   ========================================================================== */
.wm-form-container {
  background-color: #ffffff;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-card);
  padding: 36px 32px;
  box-shadow: 0 12px 30px rgba(20, 101, 139, 0.06);
}

@media (max-width: 768px) {
  .wm-form-container {
    padding: 24px 18px;
  }
}

.wm-styled-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.wm-form-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

@media (max-width: 700px) {
  .wm-form-row {
    grid-template-columns: 1fr;
  }
}

.wm-form-group {
  display: flex;
  flex-direction: column;
}

.wm-label {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--wm-ink);
  margin-bottom: 8px;
}

.wm-label .required {
  color: var(--wm-danger);
}

.wm-chips-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wm-chip {
  cursor: pointer;
  margin: 0 !important;
}

.wm-chip input[type="radio"], .wm-chip input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.wm-chip span {
  display: inline-flex;
  align-items: center;
  padding: 9px 15px;
  border-radius: 8px;
  background-color: var(--wm-surface);
  border: 1.5px solid var(--wm-border);
  font-size: 14px;
  font-weight: 600;
  color: var(--wm-ink);
  transition: all 0.2s ease;
  line-height: 1.2;
}

.wm-chip input:checked + span {
  background-color: #f0f7fb;
  border-color: var(--wm-blue);
  color: var(--wm-blue);
  box-shadow: 0 2px 8px rgba(20, 101, 139, 0.15);
}

.wm-channel-selector {
  display: flex;
  gap: 14px;
}

.wm-input, .wm-select, .wm-textarea {
  font-family: 'Inter', sans-serif !important;
  font-size: 15.5px !important;
  color: var(--wm-ink) !important;
  background-color: #ffffff !important;
  border: 1.5px solid var(--wm-border) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.wm-input:focus, .wm-select:focus, .wm-textarea:focus {
  outline: none !important;
  border-color: var(--wm-blue) !important;
  box-shadow: 0 0 0 3px rgba(20, 101, 139, 0.15) !important;
}

.wm-privacy-note {
  font-size: 13px;
  color: var(--wm-muted);
  line-height: 1.45;
  margin: 4px 0 10px 0;
}

.wm-privacy-note a {
  color: var(--wm-blue);
  text-decoration: underline;
}

.wm-form-alert {
  padding: 24px;
  border-radius: var(--wm-radius-card);
  margin-bottom: 20px;
}

.wm-alert-success {
  background-color: #e8f5e9;
  border: 1px solid #c8e6c9;
  color: #1b5e20;
}

.wm-alert-success h3 {
  color: #1b5e20 !important;
  margin-top: 0;
}

.wm-alert-error {
  background-color: #ffebee;
  border: 1px solid #ffcdd2;
  color: #b71c1c;
}

/* ==========================================================================
   FIX CONTRAST & READABILITY: CLOSING CTA BOX (Briefing C-Block)
   ========================================================================== */
.wm-cta-closing-box {
  background: linear-gradient(135deg, #0e3d55 0%, #092636 100%) !important;
  border-radius: 20px !important;
  padding: 60px 40px !important;
  box-shadow: 0 20px 40px -10px rgba(10, 40, 60, 0.45) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.wm-cta-closing-box h2,
.wm-cta-closing-box .wm-h2,
.wm-cta-closing-box .wm-h2-white {
  color: #ffffff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: clamp(32px, 4.5vw, 48px) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-top: 14px !important;
  margin-bottom: 14px !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4) !important;
}

.wm-cta-closing-box p,
.wm-cta-closing-box .wm-lead,
.wm-cta-closing-box .wm-lead-white {
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 18.5px !important;
  line-height: 1.6 !important;
  max-width: 720px !important;
  margin: 0 auto 30px auto !important;
  opacity: 0.95 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
}

.wm-cta-closing-box .wm-badge {
  background-color: var(--wm-yellow) !important;
  color: #18232b !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  padding: 6px 18px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

/* Hide WordPress / Hello Elementor default page header and post tags */
.page-header,
.site-main > .page-header,
.entry-header,
.site-main > .entry-header,
.post-tags,
.entry-tags,
.tagged-as,
footer.entry-footer,
.site-main footer.entry-meta {
  display: none !important;
}

/* ==========================================================================
   MOBILE NAVIGATION (ROCK-SOLID & ACCESSIBLE)
   ========================================================================== */
@media (max-width: 1024px) {
  /* Prevent background scrolling when menu open */
  body.wm-menu-open {
    overflow: hidden !important;
  }

  /* Header structure */
  header#site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
  }

  /* Hide desktop menu on mobile */
  nav.site-navigation {
    display: none !important;
  }

  header#site-header .header-inner {
    padding: 10px 16px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    position: relative !important;
  }

  /* Toggle button container & button */
  .site-navigation-toggle-holder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .site-navigation-toggle {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #F3F6F8 !important;
    border: 1px solid #D7E1E7 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
    touch-action: manipulation;
  }

  /* Robust 3-bar hamburger icon */
  .site-navigation-toggle .site-navigation-toggle-icon {
    display: block !important;
    position: relative !important;
    width: 20px !important;
    height: 2.5px !important;
    background: #18232B !important;
    border-radius: 2px !important;
    transition: all 0.2s ease !important;
  }

  .site-navigation-toggle .site-navigation-toggle-icon::before,
  .site-navigation-toggle .site-navigation-toggle-icon::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    width: 20px !important;
    height: 2.5px !important;
    background: #18232B !important;
    border-radius: 2px !important;
    transition: all 0.2s ease !important;
  }

  .site-navigation-toggle .site-navigation-toggle-icon::before {
    top: -6.5px !important;
  }

  .site-navigation-toggle .site-navigation-toggle-icon::after {
    top: 6.5px !important;
  }

  .site-navigation-toggle-holder.elementor-active .site-navigation-toggle .site-navigation-toggle-icon {
    background: transparent !important;
  }

  .site-navigation-toggle-holder.elementor-active .site-navigation-toggle .site-navigation-toggle-icon::before {
    top: 0 !important;
    transform: rotate(45deg) !important;
  }

  .site-navigation-toggle-holder.elementor-active .site-navigation-toggle .site-navigation-toggle-icon::after {
    top: 0 !important;
    transform: rotate(-45deg) !important;
  }

  .site-navigation-toggle:hover,
  .site-navigation-toggle-holder.elementor-active .site-navigation-toggle {
    background: #ffffff !important;
    border-color: var(--wm-blue, #14658B) !important;
    box-shadow: 0 2px 8px rgba(20, 101, 139, 0.15) !important;
  }

  /* Dropdown container */
  .site-navigation-dropdown {
    top: 100% !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 70px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    background: #ffffff !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12) !important;
    border-top: 1px solid var(--wm-border, #D7E1E7) !important;
    border-bottom: 3px solid var(--wm-blue, #14658B) !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease !important;
    z-index: 99999 !important;
  }

  .site-navigation-toggle-holder:not(.elementor-active) + .site-navigation-dropdown {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    max-height: 0 !important;
    transform: translateY(-8px) !important;
    display: none !important;
  }

  .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown,
  .site-navigation-dropdown.wm-active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    max-height: calc(100vh - 70px) !important;
    transform: translateY(0) !important;
    display: block !important;
  }

  .site-navigation-dropdown ul.menu {
    position: static !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 6px 0 24px 0 !important;
    width: 100% !important;
    background: #ffffff !important;
  }

  /* List items */
  .site-navigation-dropdown ul.menu li {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    border-bottom: 1px solid #f1f5f9 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Menu Row: link + toggle arrow */
  .site-navigation-dropdown .wm-menu-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  .site-navigation-dropdown ul.menu li a {
    font-size: 16.5px !important;
    font-weight: 600 !important;
    color: var(--wm-ink, #18232B) !important;
    padding: 14px 20px !important;
    display: block !important;
    text-decoration: none !important;
    flex-grow: 1 !important;
    box-shadow: none !important;
    background: transparent !important;
    line-height: 1.4 !important;
  }

  .site-navigation-dropdown ul.menu li a:active {
    background: var(--wm-surface, #F3F6F8) !important;
    color: var(--wm-blue, #14658B) !important;
  }

  /* Arrow Toggle Button */
  .wm-sub-arrow {
    width: 52px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    color: var(--wm-muted, #52616B) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    touch-action: manipulation;
  }

  .wm-sub-arrow::after {
    content: '▼' !important;
    font-size: 11px !important;
    transition: transform 0.25s ease !important;
    display: inline-block !important;
  }

  li.wm-open > .wm-menu-row > .wm-sub-arrow::after,
  li.elementor-active > .wm-menu-row > .wm-sub-arrow::after {
    transform: rotate(180deg) !important;
    color: var(--wm-blue, #14658B) !important;
  }

  /* Submenus Level 2 (Hidden by default, shown when wm-open / elementor-active) */
  .site-navigation-dropdown ul.sub-menu {
    display: none !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f8fafc !important;
    width: 100% !important;
    position: static !important;
    border: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  li.wm-open > ul.sub-menu,
  li.elementor-active > ul.sub-menu {
    display: block !important;
  }

  .site-navigation-dropdown ul.sub-menu li {
    border-bottom: 1px solid #edf2f7 !important;
    background: #f8fafc !important;
    padding: 0 !important;
    max-height: none !important;
    transform: none !important;
    display: block !important;
  }

  .site-navigation-dropdown ul.sub-menu li a {
    font-size: 15px !important;
    font-weight: 500 !important;
    padding: 12px 20px 12px 30px !important;
    color: #334155 !important;
  }

  /* Submenus Level 3 */
  .site-navigation-dropdown ul.sub-menu ul.sub-menu {
    background: #edf2f7 !important;
  }

  .site-navigation-dropdown ul.sub-menu ul.sub-menu li {
    background: #edf2f7 !important;
    border-bottom: 1px solid #e2e8f0 !important;
  }

  .site-navigation-dropdown ul.sub-menu ul.sub-menu li a {
    font-size: 14.5px !important;
    padding: 11px 20px 11px 44px !important;
    color: #475569 !important;
  }

  /* CTA Button inside Mobile Menu */
  .site-navigation-dropdown li.menu-item-cta {
    padding: 16px 20px 8px !important;
    border-bottom: none !important;
  }

  .site-navigation-dropdown li.menu-item-cta a {
    background: var(--wm-yellow, #FFD51A) !important;
    color: var(--wm-ink, #18232B) !important;
    font-weight: 700 !important;
    text-align: center !important;
    border-radius: var(--wm-radius-button, 10px) !important;
    padding: 14px 20px !important;
    box-shadow: 0 4px 12px rgba(255, 213, 26, 0.3) !important;
  }
}

/* Public discussion display is intentionally disabled; stored pings remain intact. */
#comments,#respond,.comments-area,.comment-respond,.comment-list,.comments-title,.comment-reply-title,.comment-navigation,.comments-link,.wp-block-comments,.wp-block-post-comments-form,.elementor-widget-post-comments{display:none!important}

/* Codex guided advice 20261019 */

.wittmann-guided-advice{--blue:#10628c;--deep:#0a3d58;--yellow:#fdd318;--ink:#0f172a;--text:#334155;--pale:#f0f7fb;--line:#e2e8f0;max-width:820px;margin:0 auto;color:var(--text)}
.wittmann-guided-advice *{box-sizing:border-box}.wittmann-guided-advice .guide-card{scroll-margin-top:150px;background:#fff}
.wittmann-guided-advice button{font:inherit;cursor:pointer}.wittmann-guided-advice .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 23px;border:1px solid transparent;border-radius:6px;background:var(--yellow);color:var(--ink);font-weight:700;text-decoration:none}
.wittmann-guided-advice .btn.dark{background:var(--deep);color:white}.wittmann-guided-advice .btn.secondary{background:white;border-color:var(--line);color:var(--deep)}
.wittmann-guided-advice p{margin:0 0 20px}.wittmann-guided-advice a{color:var(--blue);text-underline-offset:4px}.wittmann-guided-advice .note{font-size:13px;margin-top:20px}
.wittmann-guided-advice button:focus-visible,.wittmann-guided-advice a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.wittmann-guided-advice .line-link{font-weight:700}.wittmann-guided-advice .guide-summary button{min-height:44px}

.wittmann-guided-advice [hidden]{display:none!important}.wittmann-guided-advice .guide-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;padding-top:60px;padding-bottom:80px;align-items:start}.wittmann-guided-advice .guide-aside h2{font-size:44px}.wittmann-guided-advice .guide-aside>p{font-size:18px}.wittmann-guided-advice .guide-trail{list-style:none;padding:0;counter-reset:g;margin:30px 0}.wittmann-guided-advice .guide-trail li{counter-increment:g;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}.wittmann-guided-advice .guide-trail li:before{content:'0' counter(g);color:var(--blue);font-weight:750;margin-right:16px}.wittmann-guided-advice .guide-human{padding:25px 0}.wittmann-guided-advice .guide-human p{font-size:14px;margin:10px 0}.wittmann-guided-advice .guide-aside>a{font-size:14px}.wittmann-guided-advice .guide-card{border:1px solid var(--line);border-radius:10px;padding:35px;box-shadow:0 12px 55px #10628c0a;min-width:0}.wittmann-guided-advice .guide-progress{font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.04em}.wittmann-guided-advice .guide-meter{height:4px;background:var(--pale);margin:15px 0 32px;border-radius:2px}.wittmann-guided-advice .guide-meter span{display:block;height:100%;background:var(--blue);border-radius:2px}.wittmann-guided-advice #guide-title{font-size:clamp(30px,3vw,42px);line-height:1.13;letter-spacing:-.035em;outline:none}.wittmann-guided-advice #guide-hint{font-size:15px;line-height:1.6;margin-bottom:22px}.wittmann-guided-advice .guide-options{border:0;margin:0;padding:0;display:grid;gap:11px}.wittmann-guided-advice .guide-option{border:1px solid var(--line);border-radius:6px;padding:18px;display:grid;grid-template-columns:22px 1fr;align-items:start;gap:14px;cursor:pointer;margin:0;min-height:76px;font-weight:400;background:white}.wittmann-guided-advice .guide-option:hover{border-color:var(--blue)}.wittmann-guided-advice .guide-option:has(input:checked){background:var(--pale);border:2px solid var(--blue);padding:17px}.wittmann-guided-advice .guide-option:has(input:focus-visible){outline:3px solid var(--yellow);outline-offset:3px}.wittmann-guided-advice .guide-option input{width:21px;height:21px;accent-color:var(--blue);margin:3px 0 0}.wittmann-guided-advice .guide-option strong{display:block;color:var(--ink);font-size:16px;line-height:1.4}.wittmann-guided-advice .guide-option small{display:block;color:var(--text);font-size:13px;line-height:1.5;margin-top:5px}.wittmann-guided-advice .guide-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.wittmann-guided-advice .guide-controls .btn{margin-left:auto}.wittmann-guided-advice .text-button{padding:10px 0;background:none;border:0;color:var(--blue);font-weight:650;cursor:pointer;text-align:left}.wittmann-guided-advice .guide-privacy{font-size:12px;color:var(--text);border-top:1px solid var(--line);padding-top:20px;margin:30px 0 0}.wittmann-guided-advice .guide-error{background:#fff3ef;color:#8f2c16;padding:14px;margin-top:16px;border-left:4px solid #8f2c16;font-size:14px}.wittmann-guided-advice .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wittmann-guided-advice .guide-summary{padding:0;margin:20px 0}.wittmann-guided-advice .guide-summary>div{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px 15px}.wittmann-guided-advice .guide-summary dt{font-size:12px;font-weight:700;color:var(--blue)}.wittmann-guided-advice .guide-summary dd{margin:0;font-size:15px;grid-column:1}.wittmann-guided-advice .guide-summary button{grid-column:2;grid-row:1/3;font-size:13px}.wittmann-guided-advice .guide-result-label{font-size:11px;color:var(--blue);font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:15px}.wittmann-guided-advice .guide-result-note{border-left:4px solid var(--yellow);background:var(--pale);padding:18px;font-size:14px;line-height:1.6}.wittmann-guided-advice .guide-plan{padding-left:20px;font-size:15px}.wittmann-guided-advice .guide-plan li{margin:13px 0}.wittmann-guided-advice .guide-result-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.wittmann-guided-advice .guide-contact{border:1px solid var(--line);border-radius:6px;padding:22px;margin-top:20px;background:var(--pale)}.wittmann-guided-advice .guide-contact h2{font-size:26px}.wittmann-guided-advice .guide-contact p{font-size:15px}.wittmann-guided-advice .guide-card .result-secondary{font-size:13px}.wittmann-guided-advice .guide-promo{border-left:5px solid var(--yellow);padding-left:28px}.wittmann-guided-advice .package-disclosure summary{font-size:22px}.wittmann-guided-advice .package-disclosure .cards{margin-top:35px}.wittmann-guided-advice .package-disclosure .amount{font-size:28px}.wittmann-guided-advice .package-disclosure>summary{list-style-position:inside}.wittmann-guided-advice .advisor-page footer{padding-bottom:40px}@media(max-width:800px){.wittmann-guided-advice .guide-layout{grid-template-columns:1fr;gap:20px;padding:28px 20px 55px}.wittmann-guided-advice .guide-aside .eyebrow{margin-bottom:12px}.wittmann-guided-advice .guide-aside h2{font-size:28px;margin-bottom:13px}.wittmann-guided-advice .guide-aside>p{font-size:15px;margin-bottom:5px}.wittmann-guided-advice .guide-aside .guide-trail,.wittmann-guided-advice .guide-human{display:none}.wittmann-guided-advice .guide-aside>a{display:inline-block;margin-top:10px;font-size:12px}.wittmann-guided-advice .guide-card{padding:24px 20px}.wittmann-guided-advice #guide-title{font-size:31px}.wittmann-guided-advice .guide-option{padding:15px 13px;gap:12px}.wittmann-guided-advice .guide-option:has(input:checked){padding:14px 12px}.wittmann-guided-advice .guide-meter{margin-bottom:25px}.wittmann-guided-advice .guide-privacy{font-size:11px}.wittmann-guided-advice .guide-summary>div{gap:6px 10px}.wittmann-guided-advice .guide-controls{gap:12px}.wittmann-guided-advice .guide-controls .btn{font-size:15px;padding:13px 20px}.wittmann-guided-advice .guide-promo{padding-left:20px}.wittmann-guided-advice .guide-result-actions .btn{width:100%}}@media(max-width:800px){.wittmann-guided-advice .guide-aside h2,.wittmann-guided-advice .guide-aside>p{display:none}.wittmann-guided-advice .guide-layout{gap:14px}.wittmann-guided-advice .guide-aside .eyebrow{margin-bottom:0}.wittmann-guided-advice .guide-aside>a{margin-top:6px}}

/* Premium home 20261019 */
/* Native Elementor home: Wittmann, real photography, consultation first. */
.home .page-header{display:none}
.elementor-995{--fw-deep:#0a3d58;--fw-blue:#10628c;--fw-yellow:#fdd318;--fw-muted:#526372;background:white;color:#152d3d}
.elementor-995 .fw-home h1,.elementor-995 .fw-home h2,.elementor-995 .fw-home h3{font-family:Inter,sans-serif!important;text-transform:none!important;letter-spacing:-1.4px!important;line-height:1.12!important;color:var(--fw-deep)!important;font-weight:650!important;margin:0!important}
.elementor-995 .fw-home h1.elementor-heading-title{font-size:clamp(46px,5.2vw,76px)!important;letter-spacing:-3.5px!important;line-height:1.02!important}
.elementor-995 .fw-home h2.elementor-heading-title{font-size:clamp(32px,3.5vw,46px)!important}
.elementor-995 .fw-home h3.elementor-heading-title{font-size:25px!important;letter-spacing:-.6px!important}
.elementor-995 .fw-home p{font-family:Inter,sans-serif;font-size:15px;line-height:1.75;color:var(--fw-muted);margin:0}
.elementor-995 .fw-home .elementor-widget{margin-bottom:22px}
.elementor-995 .fw-home .elementor-widget:last-child{margin-bottom:0}
.elementor-995 .fw-home .fw-eyebrow p{color:var(--fw-blue);font-size:10px;font-weight:750;letter-spacing:2px;line-height:1.5;text-transform:uppercase}
.elementor-995 .fw-home .fw-lead p{font-size:17px;line-height:1.7;max-width:510px}
.elementor-995 .fw-home .fw-small p{font-size:11px;line-height:1.65;max-width:470px}
.elementor-995 .fw-home .fw-small a{color:var(--fw-blue);text-decoration:underline;text-underline-offset:3px}
.elementor-995 .fw-home .elementor-button{font-family:Inter,sans-serif;font-size:13px;font-weight:700;letter-spacing:0;min-height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px!important;padding:16px 23px!important;background:var(--fw-yellow);color:var(--fw-deep);box-shadow:none;transition:transform .15s,background .15s}
.elementor-995 .fw-home .elementor-button:hover{background:#efc516;transform:translateY(-2px)}
.elementor-995 .fw-home .fw-link a{font-weight:650;font-size:13px;color:var(--fw-blue);text-decoration:none;border-bottom:1px solid #10628c45;padding-bottom:5px}
.elementor-995 .fw-home-hero>.elementor-container{align-items:center;gap:48px}
.elementor-995 .fw-home-hero>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0!important}
.elementor-995 .fw-hero-photo>.elementor-widget-wrap{position:relative;overflow:hidden;border-radius:22px;background:var(--fw-deep);box-shadow:0 20px 60px #0a3d5810}
.elementor-995 .fw-hero-photo .elementor-widget-image{margin:0!important}
.elementor-995 .fw-hero-photo img{display:block;width:100%;height:420px;object-fit:cover;object-position:right bottom}
.elementor-995 .fw-hero-photo .elementor-widget-text-editor{padding:23px 27px!important;margin:0!important;background:var(--fw-deep)}
.elementor-995 .fw-hero-photo p{color:white;font-size:13px;line-height:1.6}
.elementor-995 .fw-hero-photo strong{font-weight:650}
.elementor-995 .fw-home-trust>.elementor-container{border-top:1px solid #e3e9ec;border-bottom:1px solid #e3e9ec;padding:28px 0;gap:28px}
.elementor-995 .fw-home-trust h3.elementor-heading-title{font-size:16px!important;letter-spacing:-.2px!important}
.elementor-995 .fw-home-trust p{font-size:12px;line-height:1.65}
.elementor-995 .fw-home-trust .elementor-widget{margin-bottom:8px}
.elementor-995 .fw-home-trust .elementor-widget-wrap{padding:0!important}
.elementor-995 .fw-home-dark>.elementor-container{background:var(--fw-deep);border-radius:22px;padding:48px;gap:52px;align-items:center}
.elementor-995 .fw-home-dark h2.elementor-heading-title{color:white!important}
.elementor-995 .fw-home-dark p{color:#d1e0e8}
.elementor-995 .fw-home-dark .fw-eyebrow p{color:var(--fw-yellow)}
.elementor-995 .fw-home-dark .fw-small p{font-size:11px;color:#a8c2d1}
.elementor-995 .fw-home-story>.elementor-container{gap:56px;align-items:center}
.elementor-995 .fw-home-story>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0!important}
.elementor-995 .fw-story-photo img{display:block;width:100%;height:355px;object-fit:cover;object-position:42% center;border-radius:20px}
.elementor-995 .fw-home-story .fw-eyebrow p{font-size:10px}
.elementor-995 .fw-home-paths>.elementor-container{gap:20px;align-items:stretch}
.elementor-995 .fw-path-card>.elementor-widget-wrap{padding:29px!important;background:#f2f6f8;border:1px solid #e3e9ed;border-radius:16px;align-content:flex-start}
.elementor-995 .fw-path-card:first-child>.elementor-widget-wrap{background:#edf6fa;border-color:#bdd4e0}
.elementor-995 .fw-path-card h3.elementor-heading-title{font-size:35px!important;letter-spacing:-1px!important}
.elementor-995 .fw-path-card p{font-size:13px;line-height:1.7}
.elementor-995 .fw-path-card .fw-small p{font-size:10px;letter-spacing:1.5px;color:var(--fw-blue);font-weight:750}
.elementor-995 .fw-home-parents>.elementor-container{border-top:1px solid #e3e9ec;border-bottom:1px solid #e3e9ec;padding:36px 0;align-items:center;gap:60px}
.elementor-995 .fw-home-parents h2.elementor-heading-title{font-size:32px!important;letter-spacing:-1px!important}
.elementor-995 .fw-home-location>.elementor-container{gap:56px;align-items:center}
.elementor-995 .fw-home-location img{display:block;width:100%;height:330px;object-fit:cover;border-radius:20px}
.elementor-995 .fw-home-location>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0!important}
.elementor-995 .fw-home-location p{font-size:14px}
.elementor-995 .fw-other-classes a{font-size:12px;font-weight:600;color:var(--fw-blue);text-decoration:none;margin-right:22px;display:inline-block;margin-top:10px}
.home .wittmann-footer,.page-id-5823 .wittmann-footer{background:#092b3d;padding-top:50px}
@media(max-width:1024px){
 .elementor-995 .fw-home-hero>.elementor-container{gap:28px}
 .elementor-995 .fw-home h1.elementor-heading-title{font-size:56px!important}
 .elementor-995 .fw-home-dark>.elementor-container{padding:35px;gap:25px}
 .elementor-995 .fw-home-story>.elementor-container,.elementor-995 .fw-home-location>.elementor-container{gap:30px}
 .elementor-995 .fw-hero-photo img{height:380px}
}
@media(max-width:767px){
 .page-id-5823 .wittmann-mobile-bar{display:none!important}
 .elementor-995 .fw-home h1.elementor-heading-title{font-size:51px!important;letter-spacing:-2.5px!important}
 .elementor-995 .fw-home h2.elementor-heading-title{font-size:34px!important;letter-spacing:-1.2px!important}
 .elementor-995 .fw-home-hero>.elementor-container{gap:30px}
 .elementor-995 .fw-home-hero>.elementor-container>.elementor-column{width:100%!important}
 .elementor-995 .fw-home .fw-lead p{font-size:15px}
 .elementor-995 .fw-hero-photo img{height:260px;object-position:center 60%}
 .elementor-995 .fw-hero-photo .elementor-widget-text-editor{padding:18px 21px!important}
 .elementor-995 .fw-home-trust>.elementor-container{gap:23px;padding:26px 0}
 .elementor-995 .fw-home-dark>.elementor-container{padding:29px 23px;gap:24px}
 .elementor-995 .fw-home-dark>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0!important}
 .elementor-995 .fw-home-story>.elementor-container{gap:26px}
 .elementor-995 .fw-story-photo img{height:240px}
 .elementor-995 .fw-home-paths>.elementor-container{gap:13px}
 .elementor-995 .fw-path-card>.elementor-widget-wrap{padding:25px!important}
 .elementor-995 .fw-home-parents>.elementor-container{gap:22px;padding:28px 0}
 .elementor-995 .fw-home-location>.elementor-container{gap:26px}
 .elementor-995 .fw-home-location img{height:230px}
 .elementor-995 .fw-home .elementor-widget{margin-bottom:18px}
}
@media(prefers-reduced-motion:reduce){.elementor-995 .fw-home .elementor-button{transition:none;transform:none}}

/* Complete seminar routes remain available from every page. */
.wittmann-footer .fw-seminars-footer{max-width:1200px;margin:8px auto 30px;padding:26px 24px 0;border-top:1px solid #ffffff24}.wittmann-footer .fw-seminars-footer h4{font:650 18px/1.4 Inter,Arial,sans-serif;margin:0 0 16px;text-transform:none}.wittmann-footer .fw-seminars-footer h4 a{color:#ffdb13;text-decoration:none}.wittmann-footer .fw-seminars-footer ul{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;margin:0;padding:0}.wittmann-footer .fw-seminars-footer li{margin:0}.wittmann-footer .fw-seminars-footer li a{color:#e1ebf0;font-size:14px;line-height:1.6;text-decoration:none}.wittmann-footer .fw-seminars-footer a:focus-visible{outline:2px solid #ffdb13;outline-offset:5px}@media(min-width:1025px) and (max-width:1500px){header#site-header .header-inner{max-width:1360px}.site-navigation ul.menu{gap:1px}.site-navigation ul.menu>li>a{font-size:14px;padding-left:9px;padding-right:9px}.site-navigation ul.menu>li.menu-item-cta>a{padding-left:17px;padding-right:17px}}

/* Keep all desktop submenu routes reachable by keyboard. */
.site-navigation ul.menu li:focus-within>ul.sub-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;transition-delay:0s!important}.site-navigation ul.menu a:focus-visible{outline:2px solid #176c8d;outline-offset:3px}
