/* =============================================================================
   PHYSIOPARK MG · ENDLICH WIEDER SCHWINDELFREI — MIT GEZIELTER DIAGNOSTIK UND THERAPIE (/schwindeltherapie) — Seiten-CSS
   Datei:   ppw-schwindeltherapie.css       Version: 0.1.0
   System:  gebrückt auf ppw-base.css (globale --ppw-* Tokens, Hardcode-
            Fallbacks eingebaut, 0 sichtbare Änderung)
   Scope:   alles unter .schwindel-page gekapselt.

   CHANGELOG (neueste zuerst · historische Einträge NIE umschreiben)
   --------------------------------------------------------------------------
   0.1.0 · 2026-07-20
     - Erste versionierte Ablage, aus Live-Seite übernommen und bereinigt.
     - 1 Elementor-Rahmen-Regeln entfernt
     - Token-Bruecken: --font-family, --bg, --surface, --surface-soft, --primary, --primary-deep, --primary-hover, --primary-soft, --border, --heading-main, --shadow-sm, --shadow
     - Manrope-Referenzen aus font-family entfernt

   ARBEITSREGELN (wie üblich)
     - KEINE Textänderung. Nur Präsentation/CSS.
     - Farben/Radien/Schatten über Tokens statt Hardcodes.
     - Klassennamen NICHT umbenennen (JS-Hooks).
     - Jede Änderung: Version hochziehen + hier loggen.
   ============================================================================= */

.schwindel-page *,.schwindel-page *:before,.schwindel-page *:after {
  box-sizing:border-box
}

.schwindel-page {
  --font-family: var(--ppw-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
  --bg: var(--ppw-surface-alt, #eef4f5);
  --surface: var(--ppw-surface, #ffffff);
  --surface-soft: var(--ppw-bg-alt, #f6fafa);
  --surface-tint:#f1f7f7;
  --text:#0e2329;
  --muted:#3a5258;
  --muted-soft:#5a737a;
  --primary: var(--ppw-brand, #0f5c63);
  --primary-deep: var(--ppw-brand-deep, #0a464c);
  --primary-hover: var(--ppw-brand-hover, #0b494f);
  --primary-soft: var(--ppw-brand-soft, #e3eff0);
  --primary-soft-2:#d9e9eb;
  --border: var(--ppw-border, #d4e1e3);
  --border-soft:#e5edee;
  --border-strong:rgba(15,92,99,.45);
  --heading-main: var(--ppw-heading, #0c2731);
  --heading-sub:#123c46;
  --success:#1e7c4d;
  --success-soft:#eef8f2;
  --success-border:#c8e7d6;
  --warn:#c2470c;
  --warn-deep:#8c3308;
  --warn-soft:#fff1e8;
  --warn-border:#f5d3bb;
  --danger:#a53a3a;
  --danger-soft:#fdecec;
  --shadow-sm: var(--ppw-shadow-sm, 0 4px 12px rgba(7, 24, 28, 0.06));
  --shadow: var(--ppw-shadow-md, 0 14px 32px rgba(7, 24, 28, 0.10));
  --shadow-hover:0 18px 34px rgba(7,24,28,.13);
  --radius:16px;
  --radius-card:14px;
  --radius-sm:10px;
  --ui-radius-pill:12px;
  font-family:var(--font-family);
  color:var(--text);
  padding:28px 14px 60px;
  background:radial-gradient(1100px 480px at 4% 0%,rgba(15,92,99,.1),transparent 72%),radial-gradient(820px 360px at 100% 8%,rgba(15,92,99,.06),transparent 72%),linear-gradient(180deg,#f9fcfc 0%,var(--bg) 100%);
  width:100%;
  max-width:100%;
  overflow-x:clip
}

@media (hover:hover) and (pointer:fine) {
  html {
    scroll-behavior:smooth
  }

}

.sp-wrap {
  max-width:1100px;
  margin:0 auto;
  padding:0 10px
}

.sp-main {
  display:block
}

.schwindel-page h1,.schwindel-page h2,.schwindel-page h3 {
  color:var(--heading-main);
  font-family:var(--font-family);
  font-weight:850;
  letter-spacing:-.018em;
  margin:0 0 14px
}

.schwindel-page h1 {
  font-size:clamp(2rem,2.4vw + 1rem,2.7rem);
  line-height:1.14
}

.schwindel-page h2 {
  font-size:clamp(1.4rem,1.4vw + .9rem,1.85rem);
  line-height:1.2
}

.schwindel-page h3 {
  font-size:1.05rem;
  line-height:1.4;
  margin:0 0 8px;
  color:var(--heading-sub);
  font-weight:800
}

.schwindel-page p {
  font-size:1rem;
  line-height:1.75;
  color:var(--muted);
  margin:0 0 14px;
  font-weight:500
}

.schwindel-page p:last-child {
  margin-bottom:0
}

.schwindel-page strong {
  color:var(--heading-sub);
  font-weight:800
}

.schwindel-page em {
  font-style:italic
}

.sp-section {
  margin-top:28px
}

.sp-section--accent {
  background:linear-gradient(160deg,var(--surface) 0%,var(--primary-soft) 100%);
  border-radius:var(--radius);
  border:1px solid var(--border);
  padding:36px 32px
}

.sp-section-label {
  display:inline-block;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--primary-deep);
  background:var(--primary-soft);
  border:1px solid var(--border-strong);
  padding:4px 12px;
  border-radius:999px;
  margin-bottom:12px
}

.sp-section-sub {
  font-size:1.05rem;
  color:var(--muted);
  max-width:680px;
  margin-bottom:24px
}

.sp-sub-heading {
  font-size:1rem;
  font-weight:800;
  color:var(--heading-main);
  margin:0 0 12px;
  padding-bottom:8px;
  border-bottom:1px solid var(--border)
}

.sp-sub-heading--gap {
  margin-top:24px
}

.sp-hero {
  position:relative;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:44px 40px 40px;
  margin-top:8px;
  box-shadow:var(--shadow);
  overflow:hidden
}

.sp-hero:before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:4px;
  background:linear-gradient(180deg,var(--primary),var(--primary-deep))
}

.sp-hero-inner {
  position:relative;
  z-index:1;
  max-width:760px
}

.sp-hero-badge {
  display:inline-block;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--primary-deep);
  background:var(--primary-soft);
  border:1px solid var(--border-strong);
  padding:5px 14px;
  border-radius:999px;
  margin-bottom:18px
}

.sp-hero h1 {
  color:var(--heading-main);
  margin-bottom:16px
}

.sp-hero-sub {
  color:var(--muted);
  font-size:1.1rem;
  line-height:1.75;
  max-width:640px;
  margin-bottom:28px;
  font-weight:500
}

.sp-hero-sub strong {
  color:var(--heading-sub);
  font-weight:800
}

.sp-hero-ctas {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:14px
}

.sp-hero-hint {
  font-size:.86rem;
  color:var(--muted-soft);
  margin:0;
  font-weight:600
}

.sp-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 22px;
  border-radius:var(--ui-radius-pill);
  font-weight:800;
  font-size:.95rem;
  text-decoration:none !important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
  white-space:nowrap;
  cursor:pointer;
  border:1px solid transparent;
  font-family:inherit
}

.sp-btn:hover {
  transform:translateY(-2px)
}

.sp-btn:active {
  transform:translateY(0)
}

.sp-btn:focus-visible {
  outline:3px solid var(--primary);
  outline-offset:3px
}

.sp-btn--primary {
  background:linear-gradient(135deg,var(--primary),#2f7880);
  color:#fff !important;
  box-shadow:0 10px 22px rgba(15,91,99,.22)
}

.sp-btn--primary:hover {
  background:linear-gradient(135deg,var(--primary-hover),#256b72);
  color:#fff !important;
  box-shadow:0 14px 26px rgba(15,91,99,.28)
}

.sp-btn--secondary {
  background:var(--surface);
  color:var(--primary-deep) !important;
  border:1px solid #98bcc1;
  box-shadow:var(--shadow-sm)
}

.sp-btn--secondary:hover {
  background:var(--primary-soft);
  color:var(--primary-deep) !important;
  border-color:var(--primary);
  box-shadow:0 10px 22px rgba(15,91,99,.14)
}

.sp-btn--ghost {
  background:0 0;
  color:var(--muted) !important;
  border:1px solid var(--border)
}

.sp-btn--ghost:hover {
  background:var(--surface-soft);
  color:var(--primary-deep) !important;
  border-color:var(--primary)
}

.sp-trust-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  margin-top:14px;
  box-shadow:var(--shadow-sm)
}

.sp-trust-item {
  display:flex;
  align-items:center;
  gap:10px;
  padding:16px 18px;
  font-size:.85rem;
  font-weight:700;
  color:var(--heading-sub);
  border-right:1px solid var(--border-soft);
  line-height:1.4
}

.sp-trust-item:last-child {
  border-right:none
}

.sp-trust-item svg {
  color:var(--primary);
  flex-shrink:0
}

.sp-vertigo-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px
}

.sp-vcard {
  position:relative;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-card);
  padding:22px;
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease,box-shadow .2s ease;
  overflow:hidden
}

.sp-vcard:before {
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:999px;
  background:var(--primary);
  opacity:.7
}

.sp-vcard:hover {
  transform:translateY(-3px);
  box-shadow:var(--shadow)
}

.sp-vcard--wide {
  grid-column:1/-1;
  display:flex;
  gap:20px;
  align-items:flex-start;
  background:linear-gradient(135deg,var(--surface-tint),var(--surface))
}

.sp-vcard--wide:before {
  background:linear-gradient(180deg,var(--primary),var(--primary-deep));
  opacity:1;
  width:4px
}

.sp-vcard-wide-content {
  flex:1;
  min-width:0
}

.sp-vcard-icon {
  width:44px;
  height:44px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-bottom:14px;
  background:var(--primary-soft);
  color:var(--primary-deep);
  border:1px solid var(--border-strong)
}

.sp-vcard--wide .sp-vcard-icon {
  margin-bottom:0;
  margin-top:2px
}

.sp-diag-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start
}

.sp-diag-note {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.9rem;
  color:var(--muted);
  background:rgba(15,92,99,.06);
  border:1px solid var(--border-soft);
  border-left:3px solid var(--primary);
  border-radius:var(--radius-sm);
  padding:12px 16px;
  margin-top:16px;
  line-height:1.6
}

.sp-diag-note svg {
  color:var(--primary);
  flex-shrink:0;
  margin-top:2px
}

.sp-diag-steps {
  display:flex;
  flex-direction:column
}

.sp-step {
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:16px 0;
  border-bottom:1px solid var(--border-soft)
}

.sp-step:last-child {
  border-bottom:none
}

.sp-step-num {
  width:32px;
  height:32px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--primary),#2f7880);
  color:#fff;
  font-size:.85rem;
  font-weight:850;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:2px;
  box-shadow:0 6px 14px rgba(15,91,99,.22)
}

.sp-step strong {
  display:block;
  font-size:.96rem;
  color:var(--heading-main);
  margin-bottom:3px
}

.sp-step span {
  font-size:.9rem;
  color:var(--muted);
  line-height:1.55
}

.sp-profile-card {
  display:grid;
  grid-template-columns:260px 1fr;
  gap:36px;
  align-items:center;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:var(--shadow-sm)
}

.sp-profile-img-wrap {
  width:100%;
  max-width:240px;
  aspect-ratio:3/4;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--primary-soft);
  box-shadow:0 4px 16px rgba(13,30,36,.1);
  margin:0 auto
}

.sp-profile-img-wrap img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 12%;
  display:block;
  transition:transform .35s ease
}

.sp-profile-card:hover .sp-profile-img-wrap img {
  transform:scale(1.03)
}

.sp-profile-tags {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:16px
}

.sp-tag {
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  padding:5px 12px;
  background:var(--primary-soft);
  color:var(--primary-deep);
  border:1px solid var(--border-strong);
  border-radius:999px
}

.sp-two-col {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}

.sp-benefit-card,.sp-nope-card {
  background:var(--surface);
  border-radius:var(--radius-card);
  border:1px solid var(--border);
  padding:24px;
  box-shadow:var(--shadow-sm)
}

.sp-benefit-card {
  background:linear-gradient(180deg,var(--success-soft),var(--surface));
  border-color:var(--success-border)
}

.sp-nope-card {
  background:linear-gradient(180deg,var(--danger-soft),var(--surface));
  border-color:rgba(165,58,58,.25)
}

.sp-benefit-title,.sp-nope-title {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:1rem;
  margin-bottom:16px;
  font-weight:850
}

.sp-benefit-title {
  color:#14542f
}

.sp-benefit-title svg {
  color:var(--success)
}

.sp-nope-title {
  color:var(--danger)
}

.sp-nope-title svg {
  color:var(--danger)
}

.sp-check-list,.sp-cross-list {
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:8px
}

.sp-check-list li,.sp-cross-list li {
  font-size:.94rem;
  line-height:1.6;
  color:var(--muted);
  padding-left:22px;
  position:relative;
  font-weight:500
}

.sp-check-list li:before {
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--success);
  transform:translateY(-50%)
}

.sp-cross-list li:before {
  content:"✕";
  position:absolute;
  left:0;
  top:0;
  font-size:.7rem;
  color:var(--danger);
  font-weight:800;
  line-height:1.7
}

.sp-tabs {
  display:flex;
  gap:8px;
  margin-bottom:20px;
  flex-wrap:wrap
}

.sp-tab {
  padding:11px 24px;
  border-radius:var(--ui-radius-pill);
  border:2px solid var(--border-strong);
  background:var(--surface);
  color:var(--muted) !important;
  font-weight:700;
  font-size:.94rem;
  cursor:pointer;
  font-family:inherit;
  transition:all .18s ease;
  text-decoration:none !important
}

.sp-tab:hover,.sp-tab:focus {
  border-color:var(--primary) !important;
  color:var(--primary-deep) !important;
  background:var(--primary-soft) !important;
  text-decoration:none !important
}

.sp-tab--active,.sp-tab--active:hover,.sp-tab--active:focus {
  background:linear-gradient(135deg,var(--primary),#2f7880) !important;
  color:#fff !important;
  border-color:var(--primary) !important;
  box-shadow:0 6px 14px rgba(15,91,99,.3)
}

.sp-tab:focus-visible {
  outline:3px solid var(--primary);
  outline-offset:2px
}

.sp-tab-panel--hidden {
  display:none
}

.sp-panel-intro {
  background:var(--surface);
  border:1px solid var(--border-soft);
  border-left:3px solid var(--primary);
  border-radius:var(--radius-sm);
  padding:14px 18px;
  margin-bottom:20px;
  font-size:.96rem;
  color:var(--text);
  line-height:1.65
}

.sp-cost-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:16px
}

.sp-cost-grid--2col {
  grid-template-columns:repeat(2,1fr)
}

.sp-cost-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-card);
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
  display:flex;
  flex-direction:column;
  box-shadow:var(--shadow-sm)
}

.sp-cost-card:hover {
  transform:translateY(-2px);
  box-shadow:var(--shadow)
}

.sp-cost-card--featured {
  border-color:var(--primary);
  border-top:3px solid var(--primary)
}

.sp-cost-card-ribbon {
  background:linear-gradient(135deg,var(--primary),#2f7880);
  color:#fff;
  font-size:.7rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
  text-align:center;
  padding:5px 0
}

.sp-cost-card-head {
  padding:16px 18px 12px;
  border-bottom:1px solid var(--border-soft)
}

.sp-cost-label {
  display:block;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--muted-soft);
  margin-bottom:10px
}

.sp-cost-price {
  display:flex;
  flex-direction:column;
  gap:3px
}

.sp-cost-big {
  font-size:2.1rem;
  font-weight:850;
  color:var(--primary-deep);
  line-height:1;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.015em
}

.sp-cost-hint {
  font-size:.8rem;
  color:var(--muted)
}

.sp-cost-hint em {
  font-style:italic
}

.sp-cost-body-text {
  padding:14px 18px;
  flex:1
}

.sp-cost-body-text p {
  font-size:.92rem;
  margin-bottom:10px
}

.sp-cost-body-text p:last-child {
  margin-bottom:0
}

.sp-cost-followup {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px;
  background:var(--surface-tint);
  border-top:1px solid var(--border-soft);
  padding:12px 18px
}

.sp-followup-label {
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted-soft);
  width:100%
}

.sp-followup-price {
  font-size:1.5rem;
  font-weight:850;
  color:var(--primary-deep);
  font-variant-numeric:tabular-nums
}

.sp-followup-note {
  font-size:.8rem;
  color:var(--muted)
}

.sp-pill {
  display:inline-block;
  font-size:.78rem;
  font-weight:800;
  padding:5px 14px;
  border-radius:999px;
  margin:12px 18px 16px;
  letter-spacing:.02em
}

.sp-pill--ok {
  background:var(--success-soft);
  color:var(--success);
  border:1px solid var(--success-border)
}

.sp-pill--warn {
  background:var(--warn-soft);
  color:var(--warn-deep);
  border:1px solid var(--warn-border)
}

.sp-breakdown {
  border-radius:var(--radius-sm);
  overflow:hidden;
  border:1px solid var(--border-soft);
  margin-top:10px
}

.sp-brow {
  display:flex;
  justify-content:space-between;
  padding:7px 12px;
  font-size:.87rem;
  color:var(--muted);
  border-bottom:1px solid var(--border-soft);
  font-weight:500
}

.sp-brow:last-child {
  border-bottom:none
}

.sp-brow--total {
  background:var(--primary-soft);
  font-weight:850;
  color:var(--primary-deep);
  font-size:.94rem;
  border-top:2px solid var(--border-strong)
}

.sp-tip {
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:var(--primary-soft);
  border:1px solid var(--border-strong);
  border-left:4px solid var(--primary);
  border-radius:var(--radius-sm);
  padding:14px 18px;
  font-size:.94rem;
  color:var(--text);
  line-height:1.6;
  font-weight:500
}

.sp-tip svg {
  color:var(--primary);
  flex-shrink:0;
  margin-top:2px
}

.sp-tip strong {
  color:var(--primary-deep)
}

.sp-notice {
  margin-top:20px;
  padding:18px 22px;
  background:var(--warn-soft);
  border:1px solid var(--warn-border);
  border-left:4px solid var(--warn);
  border-radius:var(--radius-sm)
}

.sp-notice>strong {
  display:block;
  font-size:.95rem;
  color:var(--warn-deep);
  margin-bottom:10px;
  font-weight:850
}

.sp-notice ul {
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:7px
}

.sp-notice ul li {
  font-size:.9rem;
  color:var(--muted);
  padding-left:20px;
  position:relative;
  line-height:1.6;
  font-weight:500
}

.sp-notice ul li:before {
  content:"→";
  position:absolute;
  left:0;
  font-size:.8rem;
  color:var(--warn);
  font-weight:800
}

.sp-hno-box {
  display:flex;
  align-items:flex-start;
  gap:16px;
  background:var(--surface);
  border:1px solid var(--border);
  border-left:3px solid var(--primary);
  border-radius:var(--radius-card);
  padding:22px 24px;
  box-shadow:var(--shadow-sm)
}

.sp-hno-box svg {
  color:var(--primary);
  flex-shrink:0;
  margin-top:3px
}

.sp-hno-box strong {
  display:block;
  font-size:1rem;
  color:var(--heading-main);
  margin-bottom:6px
}

.sp-hno-box p {
  margin:0;
  font-size:.93rem
}

.sp-cta-banner {
  position:relative;
  background:linear-gradient(135deg,var(--surface),var(--primary-soft));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:36px 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
  overflow:hidden;
  box-shadow:var(--shadow-sm)
}

.sp-cta-banner:before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:4px;
  background:linear-gradient(180deg,var(--primary),var(--primary-deep))
}

.sp-cta-banner-text {
  position:relative;
  flex:1;
  min-width:280px
}

.sp-cta-banner-text h2 {
  color:var(--heading-main);
  margin-bottom:8px
}

.sp-cta-banner-text p {
  color:var(--muted);
  margin:0;
  font-size:1rem
}

.sp-cta-banner-btns {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  flex-shrink:0;
  position:relative
}

.sp-form-section {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:36px 40px;
  box-shadow:var(--shadow-sm);
  max-width:720px;
  margin:0 auto
}

.sp-form-section .sp-section-label {
  display:inline-block
}

.sp-form-section h2 {
  margin-bottom:8px
}

.sp-form-section>p {
  margin-bottom:24px
}

.sp-form-wrap {
  margin-top:4px
}

.sp-form-wrap input[type=text],.sp-form-wrap input[type=email],.sp-form-wrap input[type=tel],.sp-form-wrap textarea,.sp-form-wrap select {
  border-radius:8px !important;
  border:2px solid #b0cccf !important;
  background:var(--surface) !important;
  color:var(--text) !important;
  font-size:1rem !important;
  min-height:46px;
  padding:10px 14px !important;
  font-family:inherit !important
}

.sp-form-wrap input:focus,.sp-form-wrap textarea:focus,.sp-form-wrap select:focus {
  border-color:var(--primary) !important;
  outline:3px solid rgba(15,92,99,.25) !important;
  outline-offset:0 !important
}

.sp-form-wrap textarea {
  min-height:130px
}

.sp-form-wrap button,.sp-form-wrap input[type=submit] {
  border-radius:var(--ui-radius-pill) !important;
  background:linear-gradient(135deg,var(--primary),#2f7880) !important;
  border:0 !important;
  color:#fff !important;
  font-weight:850 !important;
  font-size:1rem !important;
  padding:13px 26px !important;
  cursor:pointer !important;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease !important;
  box-shadow:0 10px 22px rgba(15,91,99,.22) !important
}

.sp-form-wrap button:hover,.sp-form-wrap input[type=submit]:hover {
  background:linear-gradient(135deg,var(--primary-hover),#256b72) !important;
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(15,91,99,.28) !important
}

@media (max-width:900px) {
  .sp-hero {
    padding:36px 28px 32px
  }

  .sp-section--accent {
    padding:28px 22px
  }

  .sp-trust-strip {
    grid-template-columns:repeat(2,1fr)
  }

  .sp-trust-item:nth-child(2) {
    border-right:none
  }

  .sp-trust-item:nth-child(3),.sp-trust-item:nth-child(4) {
    border-top:1px solid var(--border-soft)
  }

  .sp-trust-item:nth-child(3) {
    border-right:1px solid var(--border-soft)
  }

  .sp-trust-item:nth-child(4) {
    border-right:none
  }

  .sp-diag-grid {
    grid-template-columns:1fr;
    gap:28px
  }

  .sp-profile-card {
    grid-template-columns:200px 1fr;
    gap:24px;
    padding:22px
  }

  .sp-two-col {
    grid-template-columns:1fr
  }

  .sp-cost-grid {
    grid-template-columns:1fr
  }

  .sp-cost-grid--2col {
    grid-template-columns:1fr
  }

  .sp-cta-banner {
    flex-direction:column;
    align-items:flex-start;
    padding:28px 26px
  }

  .sp-vertigo-grid {
    grid-template-columns:1fr
  }

  .sp-vcard--wide {
    flex-direction:column;
    gap:12px
  }

  .sp-form-section {
    padding:28px 24px
  }

}

@media (max-width:600px) {
  .schwindel-page {
    padding:22px 12px 50px
  }

  .sp-wrap {
    padding:0 4px
  }

  .sp-hero {
    padding:28px 22px 26px;
    margin-top:4px
  }

  .sp-hero-ctas {
    flex-direction:column
  }

  .sp-btn {
    width:100%
  }

  .sp-trust-strip {
    grid-template-columns:1fr
  }

  .sp-trust-item {
    border-right:none !important;
    border-top:1px solid var(--border-soft)
  }

  .sp-trust-item:first-child {
    border-top:none
  }

  .sp-profile-card {
    grid-template-columns:1fr;
    text-align:center
  }

  .sp-profile-img-wrap {
    max-width:200px
  }

  .sp-profile-tags {
    justify-content:center
  }

  .sp-section--accent {
    padding:22px 18px
  }

  .sp-tabs {
    flex-direction:column
  }

  .sp-tab {
    width:100%;
    text-align:center
  }

  .sp-cost-big {
    font-size:1.8rem
  }

  .sp-cta-banner {
    padding:24px 20px
  }

  .sp-cta-banner-btns {
    width:100%;
    flex-direction:column
  }

  .sp-form-section {
    padding:22px 18px
  }

  .schwindel-page h1 {
    font-size:1.7rem
  }

  .schwindel-page h2 {
    font-size:1.3rem
  }

}

@media (prefers-reduced-motion:reduce) {
  .schwindel-page *,.schwindel-page *:before,.schwindel-page *:after {
    transition:none !important;
    animation:none !important;
    scroll-behavior:auto !important
  }

}
