.ax3-booking{
  --ax3-accent:#f39200;
  --ax3-accent-dark:#d97f00;
  --ax3-accent-soft:#fff6e8;
  --ax3-text:#202124;
  --ax3-muted:#6f7277;
  --ax3-border:#dedfe2;
  --ax3-soft:#f7f7f8;
  --ax3-dark:#17181a;
  max-width:980px;margin:0 auto;padding:0 0 42px;color:var(--ax3-text);font:inherit;
}
.ax3-booking *{box-sizing:border-box}.ax3-booking button,.ax3-booking input,.ax3-booking textarea{font:inherit}
/* Nur der WordPress-Seitentitel wird ausgeblendet. Der globale Header bleibt unangetastet. */
body:has(.ax3-booking) .entry-title,
body:has(.ax3-booking) .page-title,
body:has(.ax3-booking) .page-header .entry-title{display:none!important;}
.ax3-intro{margin:0 0 18px;padding:2px 0 18px;border-bottom:1px solid var(--ax3-border);}
.ax3-kicker{font-size:.64rem;letter-spacing:.16em;font-weight:750;color:var(--ax3-accent);margin:0 0 6px;text-transform:uppercase}
.ax3-intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.ax3-intro h1{font:inherit;font-size:clamp(1.65rem,2.6vw,2.2rem);font-weight:650;line-height:1.08;letter-spacing:-.02em;margin:0 0 6px;color:var(--ax3-dark)}
.ax3-intro p{margin:0;max-width:690px;font-size:.88rem;line-height:1.55;color:var(--ax3-muted)}
.ax3-intro-note{flex:0 0 auto;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:#7f8287;border-left:2px solid var(--ax3-accent);padding:4px 0 4px 10px;white-space:nowrap}
.ax3-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 26px;border-bottom:1px solid var(--ax3-border)}
.ax3-progress span{position:relative;padding:9px 8px 9px 25px;font-size:.75rem;color:#909399;border-bottom:2px solid transparent}
.ax3-progress span:before{content:counter(axstep);counter-increment:axstep;position:absolute;left:4px;font-weight:700;color:#a7a9ad}.ax3-progress{counter-reset:axstep}
.ax3-progress .is-active{color:var(--ax3-dark);font-weight:700;border-bottom-color:var(--ax3-accent)}.ax3-progress .is-active:before{color:var(--ax3-accent)}
.ax3-step{display:none;animation:ax3fade .16s ease-out}.ax3-step.is-active{display:block}@keyframes ax3fade{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}
.ax3-step h2{font:inherit;font-size:1.35rem;font-weight:700;letter-spacing:-.015em;margin:0 0 16px;color:var(--ax3-dark)}
.ax3-step h3{font:inherit;font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ax3-muted);font-weight:700;margin:24px 0 10px}
.ax3-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ax3-units-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ax3-choice{appearance:none;position:relative;background:#fff;border:1px solid var(--ax3-border);border-radius:4px;padding:14px 15px;text-align:left;color:inherit;cursor:pointer;min-height:82px;transition:border-color .14s ease,background .14s ease}
.ax3-choice strong{display:block;font-size:.96rem;margin-bottom:4px;color:var(--ax3-dark)}.ax3-choice span{display:block;color:var(--ax3-muted);font-size:.81rem;line-height:1.4}
.ax3-choice:hover{border-color:#b9bbc0}.ax3-choice.is-selected{border-color:var(--ax3-accent);background:var(--ax3-accent-soft);box-shadow:inset 3px 0 0 var(--ax3-accent)}.ax3-choice.is-selected strong{color:#8a4e00}
.ax3-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ax3-topic{position:relative}.ax3-topic input{position:absolute;opacity:0;pointer-events:none}
.ax3-topic span{display:flex;align-items:center;min-height:42px;border:1px solid var(--ax3-border);border-radius:3px;padding:8px 10px;cursor:pointer;background:#fff;font-size:.83rem;transition:all .14s ease}
.ax3-topic span:before{content:"";width:8px;height:8px;border:1px solid #bcbec2;margin-right:8px;flex:0 0 auto}.ax3-topic:hover span{border-color:#bbb}
.ax3-topic input:checked+span{border-color:var(--ax3-accent);font-weight:700;background:var(--ax3-accent-soft)}.ax3-topic input:checked+span:before{border-color:var(--ax3-accent);background:var(--ax3-accent)}
.ax3-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 24px}.ax3-field{display:block}.ax3-field>span{display:block;font-size:.76rem;font-weight:700;margin-bottom:5px;color:#44474c}
.ax3-field input,.ax3-field textarea{width:100%;border:1px solid var(--ax3-border);border-radius:3px;padding:9px 10px;background:#fff;color:inherit;transition:border-color .14s ease,box-shadow .14s ease;font-size:.92rem}
.ax3-field textarea{min-height:92px;resize:vertical}.ax3-field input:focus,.ax3-field textarea:focus{outline:none;border-color:var(--ax3-accent);box-shadow:0 0 0 2px rgba(243,146,0,.12)}.ax3-full{grid-column:1/-1;margin-top:14px}
.ax3-schedule{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:18px;align-items:start}.ax3-calendar-panel,.ax3-time-panel{border:1px solid var(--ax3-border);background:#fff;padding:14px}
.ax3-calendar-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:6px;margin-bottom:10px}.ax3-calendar-head strong{text-align:center;text-transform:capitalize;font-size:.93rem}
.ax3-cal-nav{width:34px;height:32px;border:1px solid var(--ax3-border);background:#fff;border-radius:3px;cursor:pointer;color:#555}.ax3-cal-nav:hover{border-color:var(--ax3-accent);color:var(--ax3-accent)}
.ax3-calendar-weekdays,.ax3-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.ax3-calendar-weekdays span{text-align:center;font-size:.66rem;color:#8c8f94;padding:4px 0;text-transform:uppercase;letter-spacing:.04em}
.ax3-cal-day{height:38px;border:0;background:#fff;border-radius:3px;cursor:pointer;font-size:.82rem;color:#2d2f33}.ax3-cal-day:hover:not(:disabled){background:var(--ax3-soft)}.ax3-cal-day.is-selected{background:var(--ax3-accent);color:#fff;font-weight:700}.ax3-cal-day.is-weekend{color:#b3b5b9}.ax3-cal-day.is-disabled{color:#c7c8cb;cursor:not-allowed;background:#fafafa}.ax3-cal-empty{height:38px}
.ax3-date-message{display:block;margin-top:10px;font-size:.76rem;color:var(--ax3-muted);min-height:18px}
.ax3-time-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px}.ax3-time-heading>span{font-size:.78rem;font-weight:700}.ax3-time-heading small{font-size:.68rem;color:var(--ax3-muted)}
.ax3-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ax3-time{min-height:52px;border:1px solid var(--ax3-border);background:#fff;border-radius:3px;padding:7px 6px;cursor:pointer;text-align:center;transition:all .12s ease}.ax3-time strong{display:block;font-size:.86rem;line-height:1.2}.ax3-time span{display:block;font-size:.65rem;color:#909399;margin-top:3px}
.ax3-time:hover:not(:disabled){border-color:#aaa}.ax3-time.is-selected{border-color:var(--ax3-accent);background:var(--ax3-accent-soft);box-shadow:inset 0 -2px 0 var(--ax3-accent)}.ax3-time.is-selected strong{color:#8a4e00}.ax3-time.is-disabled{opacity:.32;cursor:not-allowed;background:#fafafa}
.ax3-time-separator{grid-column:1/-1;font-size:.65rem;color:#9b9da1;text-transform:uppercase;letter-spacing:.08em;padding:2px 0 0}
.ax3-time-selection{margin-top:12px;padding:10px 11px;background:var(--ax3-soft);border-left:3px solid var(--ax3-accent);display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.76rem}.ax3-time-selection span{color:var(--ax3-muted)}.ax3-time-selection strong{font-size:.84rem;color:var(--ax3-dark)}
.ax3-notice,.ax3-summary{border-left:3px solid var(--ax3-accent);background:var(--ax3-soft);padding:11px 13px;margin:18px 0;line-height:1.5;font-size:.84rem}.ax3-summary{font-size:.9rem}
.ax3-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--ax3-border)}.ax3-actions button{border:0;background:transparent;padding:9px 1px;cursor:pointer;min-height:40px;font-weight:600;color:#5f6267;font-size:.84rem}.ax3-actions button:hover{color:var(--ax3-dark)}
.ax3-actions .ax3-primary{background:var(--ax3-accent);border:1px solid var(--ax3-accent);color:#fff;font-weight:700;padding:9px 18px;min-width:125px;border-radius:3px;text-transform:uppercase;letter-spacing:.035em;font-size:.72rem}.ax3-actions .ax3-primary:hover{background:var(--ax3-accent-dark);border-color:var(--ax3-accent-dark);color:#fff}.ax3-actions button:disabled{opacity:.55;cursor:not-allowed}
.ax3-consent{display:flex;gap:9px;align-items:flex-start;margin:18px 0;font-size:.79rem;color:var(--ax3-muted);line-height:1.45}.ax3-consent input{margin-top:3px;accent-color:var(--ax3-accent)}.ax3-result{margin-top:14px;font-size:.84rem;line-height:1.5}.ax3-result.is-success{padding:11px 13px;background:#f2f7f3;border-left:3px solid #408354;color:#234a2d}.ax3-result.is-error{color:#a51d1d}.ax3-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:820px){.ax3-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ax3-schedule{grid-template-columns:1fr}.ax3-progress span{font-size:.7rem}}
@media(max-width:620px){.ax3-intro-row{display:block}.ax3-intro-note{margin-top:12px;white-space:normal}.ax3-intro h1{font-size:1.65rem}.ax3-type-grid,.ax3-units-grid,.ax3-topic-grid,.ax3-fields-grid{grid-template-columns:1fr}.ax3-full{grid-column:auto}.ax3-progress{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:4px}.ax3-times{grid-template-columns:repeat(2,minmax(0,1fr))}.ax3-booking{padding-top:0}}


/* V7 – kompakter, theme-resistenter Schritt 1 */
.ax3-booking button,
.ax3-booking .ax3-choice,
.ax3-booking .ax3-topic span{
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
  text-transform:none!important;
  letter-spacing:normal;
}
.ax3-intro{margin-bottom:14px;padding-bottom:14px}
.ax3-intro-row{align-items:center}
.ax3-intro-note{font-size:.64rem;letter-spacing:.055em;padding-left:9px}
.ax3-progress{margin-bottom:22px}
.ax3-progress span{padding:8px 8px 8px 23px;font-size:.72rem}
.ax3-step h2{font-size:1.22rem;margin-bottom:13px}
.ax3-step h3{margin:18px 0 8px;font-size:.66rem}
.ax3-type-grid{gap:9px}
.ax3-choice{
  min-height:68px;
  padding:11px 13px;
  border-radius:3px;
  line-height:1.25;
  overflow:hidden;
}
.ax3-choice strong{
  font-size:.88rem;
  line-height:1.25;
  margin:0 0 5px;
  letter-spacing:.015em;
}
.ax3-choice span{
  font-size:.76rem;
  line-height:1.35;
  max-width:100%;
  margin:0;
}
.ax3-choice.is-selected{box-shadow:inset 3px 0 0 var(--ax3-accent)}
.ax3-topic-grid{gap:6px 8px}
.ax3-topic span{
  min-height:38px;
  padding:7px 10px;
  font-size:.79rem;
  line-height:1.2;
  border-radius:3px;
}
.ax3-topic span:before{width:9px;height:9px;margin-right:7px}
.ax3-full{margin-top:12px}
.ax3-field>span{font-size:.72rem;margin-bottom:5px}
.ax3-field>span em{font-style:normal;font-weight:400;color:var(--ax3-muted)}
.ax3-field textarea{min-height:74px;padding:9px 11px;font-size:.86rem;line-height:1.45}
.ax3-actions{margin-top:18px;padding-top:14px}
.ax3-actions .ax3-primary{min-width:118px;padding:8px 16px}
@media(max-width:900px){
  .ax3-intro-row{align-items:flex-start;flex-wrap:wrap}
  .ax3-intro-note{margin-left:0}
}
@media(max-width:700px){
  .ax3-type-grid{grid-template-columns:1fr}
  .ax3-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V8 – lesbarer, ruhiger und hochwertiger */
.ax3-booking{
  max-width:1080px;
  font-size:16px;
  line-height:1.5;
}
.ax3-kicker{
  font-size:.78rem;
  letter-spacing:.15em;
  margin-bottom:7px;
}
.ax3-intro{
  margin-bottom:18px;
  padding-bottom:18px;
}
.ax3-intro-row{align-items:flex-start}
.ax3-intro h1{
  font-size:clamp(2rem,3vw,2.55rem);
  line-height:1.08;
  margin-bottom:8px;
}
.ax3-intro p{
  max-width:780px;
  font-size:1rem;
  line-height:1.55;
}
.ax3-intro-note{display:none!important}

.ax3-progress{margin-bottom:28px}
.ax3-progress span{
  padding:11px 10px 11px 30px;
  font-size:.9rem;
  line-height:1.25;
}
.ax3-progress span:before{left:7px;font-size:.9rem}

.ax3-step h2{
  font-size:1.55rem;
  line-height:1.25;
  margin-bottom:17px;
}
.ax3-step h3{
  margin:23px 0 10px;
  font-size:.78rem;
  letter-spacing:.12em;
}

.ax3-type-grid{gap:14px}
.ax3-booking .ax3-choice{
  min-height:92px;
  padding:17px 50px 17px 18px;
  border:1px solid #d4d6d9!important;
  border-radius:5px;
  background:#fff!important;
  box-shadow:none!important;
  color:var(--ax3-text)!important;
  position:relative;
}
.ax3-booking .ax3-choice:hover{
  border-color:#aeb1b5!important;
  background:#fff!important;
}
.ax3-booking .ax3-choice strong{
  font-size:1.08rem;
  line-height:1.25;
  margin:0 0 6px;
  color:#202124!important;
  font-weight:700;
}
.ax3-booking .ax3-choice span{
  font-size:.96rem;
  line-height:1.45;
  color:#666a70!important;
}
.ax3-booking .ax3-choice.is-selected{
  border:2px solid var(--ax3-accent)!important;
  background:#fff!important;
  box-shadow:inset 4px 0 0 var(--ax3-accent)!important;
  padding-top:16px;
  padding-bottom:16px;
  padding-left:17px;
}
.ax3-booking .ax3-choice.is-selected strong{color:#202124!important}
.ax3-booking .ax3-choice.is-selected:after{
  content:"✓";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:27px;
  height:27px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--ax3-accent);
  color:#fff;
  font-size:1rem;
  font-weight:800;
  line-height:1;
}

.ax3-topic-grid{gap:10px 12px}
.ax3-topic span{
  min-height:48px;
  padding:11px 38px 11px 14px;
  border:1px solid #d4d6d9;
  border-radius:5px;
  background:#fff!important;
  font-size:1rem;
  line-height:1.25;
  position:relative;
  color:#2b2d31;
}
.ax3-topic span:before{
  display:none;
}
.ax3-topic span:after{
  content:"";
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  border:1px solid #b9bcc1;
  border-radius:50%;
  background:#fff;
}
.ax3-topic:hover span{
  border-color:#aeb1b5;
  background:#fff!important;
}
.ax3-topic input:focus-visible+span{
  outline:2px solid rgba(243,146,0,.35);
  outline-offset:2px;
}
.ax3-topic input:checked+span{
  border:2px solid var(--ax3-accent);
  background:#fff!important;
  color:#202124;
  font-weight:650;
  padding-top:10px;
  padding-bottom:10px;
  padding-left:13px;
}
.ax3-topic input:checked+span:after{
  content:"✓";
  border-color:var(--ax3-accent);
  background:var(--ax3-accent);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.78rem;
  font-weight:800;
}

.ax3-full{margin-top:17px}
.ax3-field>span{
  font-size:.92rem;
  margin-bottom:7px;
  color:#303237;
}
.ax3-field>span em{font-size:.88rem}
.ax3-field input,.ax3-field textarea{
  font-size:1rem;
  line-height:1.5;
  padding:12px 13px;
  border-radius:5px;
}
.ax3-field textarea{min-height:92px}

.ax3-actions{
  margin-top:22px;
  padding-top:18px;
}
.ax3-actions .ax3-primary{
  min-width:142px;
  min-height:46px;
  border-radius:4px;
  padding:11px 22px;
  font-size:.88rem;
  letter-spacing:.02em;
}

@media(max-width:760px){
  .ax3-booking{font-size:16px}
  .ax3-intro h1{font-size:2rem}
  .ax3-progress span{font-size:.82rem;padding-left:26px}
  .ax3-step h2{font-size:1.35rem}
  .ax3-type-grid{grid-template-columns:1fr}
  .ax3-topic-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:500px){
  .ax3-topic-grid{grid-template-columns:1fr}
}

/* V9 – gleiche Lesbarkeit, kompaktere Desktop-Hoehe */
@media (min-width: 821px){
  .ax3-booking{padding-bottom:18px}
  .ax3-intro{margin-bottom:12px;padding-bottom:12px}
  .ax3-kicker{margin-bottom:4px}
  .ax3-intro h1{margin-bottom:5px}
  .ax3-intro p{line-height:1.42}
  .ax3-progress{margin-bottom:18px}
  .ax3-progress span{padding-top:8px;padding-bottom:8px}
  .ax3-step h2{margin-bottom:12px}
  .ax3-step h3{margin-top:16px;margin-bottom:8px}
  .ax3-type-grid{gap:10px}
  .ax3-booking .ax3-choice{min-height:80px;padding-top:13px;padding-bottom:13px}
  .ax3-booking .ax3-choice.is-selected{padding-top:12px;padding-bottom:12px}
  .ax3-topic-grid{gap:7px 10px}
  .ax3-topic span{min-height:44px;padding-top:9px;padding-bottom:9px}
  .ax3-full{margin-top:9px}
  .ax3-field>span{margin-bottom:4px}
  .ax3-field textarea{min-height:70px}
  .ax3-actions{margin-top:12px;padding-top:10px}
  .ax3-actions .ax3-primary{min-height:42px;padding-top:8px;padding-bottom:8px}
}


/* V10 – stabile Hoehe und einheitliches Erscheinungsbild fuer alle Schritte */
@media (min-width: 821px){
  .ax3-form{min-height:505px;display:flex;flex-direction:column}
  .ax3-step.is-active{min-height:505px;flex:1;position:relative;padding-bottom:66px}
  .ax3-step.is-active>.ax3-actions{position:absolute;left:0;right:0;bottom:0;margin-top:0}

  /* Schritt 2: gleiche visuelle Gewichtung wie Schritt 1 */
  .ax3-step[data-step="2"]>p,
  .ax3-step[data-step="3"]>p{font-size:1rem;line-height:1.5;color:var(--ax3-muted);margin:0 0 18px}
  .ax3-units-grid{gap:14px}
  .ax3-units-grid .ax3-choice{min-height:104px;padding:18px 48px 18px 18px}
  .ax3-units-grid .ax3-choice.is-selected{padding:17px 47px 17px 17px}
  .ax3-units-grid .ax3-choice strong{font-size:1.12rem}
  .ax3-units-grid .ax3-choice span{font-size:.96rem;line-height:1.4}

  /* Schritt 3: Kalender/Zeiten lesbarer, aber innerhalb derselben Hoehe */
  .ax3-schedule{gap:16px}
  .ax3-calendar-panel,.ax3-time-panel{border-radius:5px;padding:14px 16px}
  .ax3-calendar-head strong{font-size:1rem}
  .ax3-cal-day{height:36px;font-size:.92rem}
  .ax3-times{gap:7px}
  .ax3-time{min-height:48px}
  .ax3-time strong{font-size:.95rem}
  .ax3-time span{font-size:.75rem}
  .ax3-notice{margin:12px 0 0;font-size:.9rem}

  /* Schritt 4: Formular kompakt, aber gleich gross und gut lesbar */
  .ax3-summary{margin:0 0 14px;font-size:.95rem;border-radius:0}
  .ax3-fields-grid{gap:12px 18px}
  .ax3-fields-grid .ax3-full{margin-top:0}
  .ax3-consent{margin:12px 0 0;font-size:.9rem}
}


/* V12 – Schritt 3: ruhiger, lesbarer, visuell wie Schritt 1 */
.ax3-step[data-step="3"] > p{
  margin:0 0 18px;
  font-size:.96rem;
  line-height:1.55;
  color:var(--ax3-muted);
  max-width:860px;
}
.ax3-step[data-step="3"] .ax3-schedule{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:14px;
  align-items:stretch;
}
.ax3-step[data-step="3"] .ax3-calendar-panel,
.ax3-step[data-step="3"] .ax3-time-panel{
  border:1px solid #d9dade;
  border-radius:5px;
  padding:18px;
  background:#fff;
}
.ax3-step[data-step="3"] .ax3-calendar-head{
  grid-template-columns:40px 1fr 40px;
  margin-bottom:12px;
}
.ax3-step[data-step="3"] .ax3-calendar-head strong{
  font-size:1.02rem;
  font-weight:700;
  color:var(--ax3-dark);
}
.ax3-step[data-step="3"] .ax3-cal-nav{
  width:40px;
  height:38px;
  border-radius:4px;
  font-size:1.05rem;
}
.ax3-step[data-step="3"] .ax3-calendar-weekdays{
  margin-bottom:4px;
}
.ax3-step[data-step="3"] .ax3-calendar-weekdays span{
  font-size:.72rem;
  font-weight:600;
  padding:5px 0;
}
.ax3-step[data-step="3"] .ax3-calendar-grid{
  gap:4px;
}
.ax3-step[data-step="3"] .ax3-cal-day,
.ax3-step[data-step="3"] .ax3-cal-empty{
  height:42px;
}
.ax3-step[data-step="3"] .ax3-cal-day{
  border:1px solid transparent;
  background:#fff;
  font-size:.92rem;
  border-radius:4px;
}
.ax3-step[data-step="3"] .ax3-cal-day:hover:not(:disabled){
  border-color:#d2d3d6;
  background:#fafafa;
}
.ax3-step[data-step="3"] .ax3-cal-day.is-selected{
  border-color:var(--ax3-accent);
  background:var(--ax3-accent);
  color:#fff;
  box-shadow:none;
}
.ax3-step[data-step="3"] .ax3-cal-day.is-disabled{
  background:#fafafa;
  color:#c4c6ca;
}
.ax3-step[data-step="3"] .ax3-date-message{
  margin-top:10px;
  min-height:20px;
  font-size:.84rem;
  font-weight:600;
  color:#55585d;
}
.ax3-step[data-step="3"] .ax3-time-panel{
  display:flex;
  flex-direction:column;
}
.ax3-step[data-step="3"] .ax3-time-heading{
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--ax3-border);
}
.ax3-step[data-step="3"] .ax3-time-heading>span{
  font-size:.95rem;
  font-weight:700;
  color:var(--ax3-dark);
}
.ax3-step[data-step="3"] .ax3-time-heading small{
  font-size:.75rem;
}
.ax3-step[data-step="3"] .ax3-times{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.ax3-step[data-step="3"] .ax3-time{
  min-height:62px;
  border:1px solid #d9dade;
  border-radius:4px;
  background:#fff;
  padding:9px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.ax3-step[data-step="3"] .ax3-time strong{
  font-size:1.06rem;
  line-height:1.1;
  font-weight:700;
  color:var(--ax3-dark);
}
.ax3-step[data-step="3"] .ax3-time span{
  margin-top:4px;
  font-size:.68rem;
  color:#92959a;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ax3-step[data-step="3"] .ax3-time:hover:not(:disabled){
  border-color:#b8babf;
  background:#fafafa;
}
.ax3-step[data-step="3"] .ax3-time.is-selected{
  border-color:var(--ax3-accent);
  background:var(--ax3-accent-soft);
  box-shadow:inset 3px 0 0 var(--ax3-accent);
}
.ax3-step[data-step="3"] .ax3-time.is-selected strong{
  color:#8a4e00;
}
.ax3-step[data-step="3"] .ax3-time.is-disabled{
  opacity:.28;
  background:#f8f8f8;
}
.ax3-step[data-step="3"] .ax3-time-separator{
  grid-column:1/-1;
  margin:3px 0 0;
  padding:10px 0 3px;
  border-top:1px solid var(--ax3-border);
  font-size:.7rem;
  font-weight:600;
  color:#8b8e93;
  letter-spacing:.055em;
}
.ax3-step[data-step="3"] .ax3-time-selection{
  margin-top:auto;
  padding:13px 14px;
  min-height:54px;
  background:#fff;
  border:1px solid var(--ax3-border);
  border-left:3px solid var(--ax3-accent);
  border-radius:3px;
  font-size:.82rem;
}
.ax3-step[data-step="3"] .ax3-time-selection strong{
  font-size:.95rem;
}
.ax3-step3-footer{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--ax3-border);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
}
.ax3-step3-footer > p{
  margin:0;
  max-width:650px;
  font-size:.8rem!important;
  line-height:1.45!important;
  color:var(--ax3-muted)!important;
}
.ax3-step3-footer .ax3-actions{
  margin:0;
  padding:0;
  border:0;
  min-width:250px;
}
@media(max-width:820px){
  .ax3-step[data-step="3"] .ax3-schedule{grid-template-columns:1fr}
  .ax3-step3-footer{grid-template-columns:1fr}
  .ax3-step3-footer .ax3-actions{min-width:0}
}


/* V13 – kompakter, ruhiger Kalender */
.ax3-step[data-step="3"] h2{margin-bottom:6px}
.ax3-step[data-step="3"] > p{margin-top:0;margin-bottom:12px}
.ax3-step[data-step="3"] .ax3-schedule{gap:12px}
.ax3-step[data-step="3"] .ax3-calendar-panel,
.ax3-step[data-step="3"] .ax3-time-panel{padding:13px 15px}
.ax3-step[data-step="3"] .ax3-calendar-head{
  grid-template-columns:34px 1fr 34px;
  margin-bottom:7px;
}
.ax3-step[data-step="3"] .ax3-cal-nav,
.ax3-step[data-step="3"] .ax3-cal-nav:hover,
.ax3-step[data-step="3"] .ax3-cal-nav:focus,
.ax3-step[data-step="3"] .ax3-cal-nav:focus-visible,
.ax3-step[data-step="3"] .ax3-cal-nav:active{
  width:34px;height:34px;min-width:34px;
  border:1px solid #d7d9dd !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#34363a !important;
  box-shadow:none !important;
  outline:none !important;
  padding:0 !important;
  font-size:1.45rem !important;
  line-height:30px !important;
  font-weight:400 !important;
}
.ax3-step[data-step="3"] .ax3-cal-nav:hover{
  border-color:var(--ax3-accent) !important;
  color:var(--ax3-accent) !important;
}
.ax3-step[data-step="3"] .ax3-calendar-head strong{font-size:1rem}
.ax3-step[data-step="3"] .ax3-calendar-weekdays span{padding:2px 0;font-size:.7rem}
.ax3-step[data-step="3"] .ax3-calendar-grid{gap:2px}
.ax3-step[data-step="3"] .ax3-cal-day,
.ax3-step[data-step="3"] .ax3-cal-empty{height:35px}
.ax3-step[data-step="3"] .ax3-cal-day{font-size:.9rem}
.ax3-step[data-step="3"] .ax3-date-message{margin-top:6px;min-height:16px}
.ax3-step[data-step="3"] .ax3-time-heading{margin-bottom:8px;padding-bottom:7px}
.ax3-step[data-step="3"] .ax3-times{gap:6px}
.ax3-step[data-step="3"] .ax3-time{min-height:51px;padding:6px}
.ax3-step[data-step="3"] .ax3-time strong{font-size:1rem}
.ax3-step[data-step="3"] .ax3-time span{margin-top:2px}
.ax3-step[data-step="3"] .ax3-time-separator{margin:1px 0;padding:2px 0}
.ax3-step[data-step="3"] .ax3-time-selection{margin-top:8px;min-height:42px}
.ax3-step[data-step="3"] .ax3-request-note{margin-top:10px;padding:9px 12px}
.ax3-step[data-step="3"] .ax3-actions{margin-top:10px;padding-top:10px}


/* V17 – lesbarere Schrift + funktionierende Schrittnavigation */
.ax3-booking{
  font-size:16px;
  color:#20242a;
}
.ax3-booking p,
.ax3-booking .ax3-intro p,
.ax3-booking .ax3-step > p,
.ax3-booking .ax3-date-message,
.ax3-booking .ax3-request-note,
.ax3-booking .ax3-consent span{
  color:#555d68;
  font-size:15px;
  line-height:1.5;
}
.ax3-progress span{
  font-size:14px !important;
  color:#737b86 !important;
  font-weight:500;
}
.ax3-progress span:before{
  color:#8b929b !important;
}
.ax3-progress span.is-unlocked{
  cursor:pointer;
}
.ax3-progress span.is-unlocked:hover{
  color:#222 !important;
  background:#fafafa;
}
.ax3-progress span.is-unlocked:focus-visible{
  outline:2px solid var(--ax3-accent);
  outline-offset:-2px;
}
.ax3-progress span:not(.is-unlocked){
  cursor:default;
  opacity:.58;
}
.ax3-progress span.is-active{
  color:#111 !important;
  font-weight:700;
  opacity:1;
}
.ax3-progress span.is-active:before{
  color:var(--ax3-accent) !important;
}
.ax3-time-heading small{
  color:#555d68 !important;
  font-size:13px !important;
  font-weight:600;
}
.ax3-step3-footer p{
  color:#4d545e !important;
  font-size:14px !important;
  line-height:1.5;
}
.ax3-field > span,
.ax3-field label,
.ax3-consent{
  font-size:15px;
}


/* V18 – konsequente Lesbarkeit in allen Schritten */
.ax3-booking{
  color:#1f2329;
  font-size:16px;
}

/* Fließtext, Hinweise und Sekundärtexte */
.ax3-booking p,
.ax3-booking .ax3-intro p,
.ax3-booking .ax3-step > p,
.ax3-booking .ax3-card p,
.ax3-booking .ax3-choice p,
.ax3-booking .ax3-summary,
.ax3-booking .ax3-summary div,
.ax3-booking .ax3-date-message,
.ax3-booking .ax3-request-note,
.ax3-booking .ax3-consent,
.ax3-booking .ax3-success,
.ax3-booking .ax3-message,
.ax3-booking .ax3-help,
.ax3-booking small{
  color:#4b525c !important;
  font-size:16px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
}

/* Die Unterzeile direkt unter dem Seitentitel */
.ax3-booking .ax3-intro p,
.ax3-booking > p,
.ax3-booking .ax3-header p{
  color:#505762 !important;
  font-size:16px !important;
  line-height:1.5 !important;
}

/* Schrittleiste */
.ax3-booking .ax3-progress span{
  color:#59616c !important;
  font-size:15px !important;
  font-weight:500 !important;
}
.ax3-booking .ax3-progress span:before{
  color:#6f7781 !important;
  font-weight:600 !important;
}
.ax3-booking .ax3-progress span.is-active{
  color:#111 !important;
  font-weight:700 !important;
}
.ax3-booking .ax3-progress span.is-active:before{
  color:var(--ax3-accent) !important;
}

/* Formularbeschriftungen */
.ax3-booking label,
.ax3-booking .ax3-field > span,
.ax3-booking .ax3-field-label,
.ax3-booking .ax3-section-label{
  color:#20242a !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
}

/* Optional-/Zusatztext in Labels */
.ax3-booking label small,
.ax3-booking .ax3-optional{
  color:#5b626c !important;
  font-size:14px !important;
  font-weight:500 !important;
}

/* Eingabefelder */
.ax3-booking input,
.ax3-booking textarea,
.ax3-booking select{
  color:#1f2329 !important;
  font-size:16px !important;
  font-weight:400 !important;
}
.ax3-booking input::placeholder,
.ax3-booking textarea::placeholder{
  color:#69717c !important;
  opacity:1 !important;
}

/* Datenschutz-Zeile */
.ax3-booking .ax3-consent,
.ax3-booking .ax3-consent span,
.ax3-booking .ax3-consent label{
  color:#3f4650 !important;
  font-size:15px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
}
.ax3-booking .ax3-consent a{
  color:#2f353d !important;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Erfolgsmeldung */
.ax3-booking .ax3-success,
.ax3-booking .ax3-message-success{
  color:#2f3a34 !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
}

/* Terminbereich */
.ax3-step[data-step="3"] .ax3-time-heading small{
  color:#4f5660 !important;
  font-size:14px !important;
  font-weight:600 !important;
}
.ax3-step[data-step="3"] .ax3-time span{
  color:#626a75 !important;
  font-size:13px !important;
  font-weight:500 !important;
}
.ax3-step[data-step="3"] .ax3-request-note{
  color:#424952 !important;
  font-size:15px !important;
  line-height:1.5 !important;
}
.ax3-step[data-step="3"] .ax3-time-selection{
  color:#2a2f35 !important;
  font-size:15px !important;
}

/* Nur deaktivierte Zustände bleiben bewusst hell */
.ax3-booking .ax3-cal-day:disabled,
.ax3-booking .ax3-time:disabled,
.ax3-booking [aria-disabled="true"]{
  color:#b1b6bd !important;
}

/* Lesbare Buttons */
.ax3-booking .ax3-btn,
.ax3-booking button{
  font-size:16px;
}

/* Mobile nicht kleiner quetschen */
@media (max-width:700px){
  .ax3-booking{
    font-size:16px;
  }
  .ax3-booking p,
  .ax3-booking .ax3-step > p,
  .ax3-booking .ax3-consent,
  .ax3-booking .ax3-success{
    font-size:15px !important;
  }
  .ax3-booking .ax3-progress span{
    font-size:14px !important;
  }
}


/* V19 – harmonische, kompakte Geometrie für alle vier Schritte
   Lesbarkeit aus V18 bleibt bewusst erhalten. */
@media (min-width: 901px){

  /* Gesamtabstände */
  .ax3-booking .ax3-intro{
    margin-bottom:10px !important;
  }
  .ax3-booking .ax3-intro h1{
    margin-bottom:4px !important;
  }
  .ax3-booking .ax3-intro p{
    margin-top:0 !important;
    margin-bottom:8px !important;
  }

  /* Fortschritt: gleiche kompakte Höhe auf jeder Seite */
  .ax3-booking .ax3-progress{
    margin-top:8px !important;
    margin-bottom:14px !important;
  }
  .ax3-booking .ax3-progress span{
    min-height:42px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  /* Überschriften der Schritte */
  .ax3-booking .ax3-step > h2{
    margin-top:0 !important;
    margin-bottom:8px !important;
  }
  .ax3-booking .ax3-step > p{
    margin-top:0 !important;
    margin-bottom:12px !important;
  }

  /* Schritt 1: Karten/Themen/Textfeld */
  .ax3-step[data-step="1"] .ax3-request-types,
  .ax3-step[data-step="1"] .ax3-choice-grid{
    gap:10px !important;
    margin-bottom:12px !important;
  }
  .ax3-step[data-step="1"] .ax3-request-type,
  .ax3-step[data-step="1"] .ax3-choice{
    min-height:70px !important;
    padding:12px 14px !important;
  }
  .ax3-step[data-step="1"] .ax3-topics{
    gap:7px 10px !important;
    margin-bottom:10px !important;
  }
  .ax3-step[data-step="1"] .ax3-topic{
    min-height:42px !important;
    padding:8px 12px !important;
  }
  .ax3-step[data-step="1"] textarea{
    min-height:76px !important;
    height:76px !important;
    padding:11px 13px !important;
  }

  /* Schritt 2: Einheitenkarten */
  .ax3-step[data-step="2"] .ax3-units,
  .ax3-step[data-step="2"] .ax3-unit-grid{
    gap:10px !important;
    margin-top:10px !important;
  }
  .ax3-step[data-step="2"] .ax3-unit{
    min-height:82px !important;
    padding:12px 14px !important;
  }

  /* Schritt 3: Kalender und Zeiten */
  .ax3-step[data-step="3"] .ax3-schedule{
    gap:10px !important;
  }
  .ax3-step[data-step="3"] .ax3-calendar-panel,
  .ax3-step[data-step="3"] .ax3-time-panel{
    padding:11px 13px !important;
  }
  .ax3-step[data-step="3"] .ax3-calendar-head{
    margin-bottom:5px !important;
  }
  .ax3-step[data-step="3"] .ax3-cal-day,
  .ax3-step[data-step="3"] .ax3-cal-empty{
    height:33px !important;
  }
  .ax3-step[data-step="3"] .ax3-time{
    min-height:47px !important;
    padding:5px 7px !important;
  }
  .ax3-step[data-step="3"] .ax3-time-heading{
    margin-bottom:6px !important;
    padding-bottom:6px !important;
  }
  .ax3-step[data-step="3"] .ax3-time-selection{
    min-height:39px !important;
    margin-top:6px !important;
  }
  .ax3-step[data-step="3"] .ax3-request-note{
    margin-top:7px !important;
    padding:7px 10px !important;
  }

  /* Schritt 4: Zusammenfassung + Formular */
  .ax3-step[data-step="4"] .ax3-summary{
    padding:12px 14px !important;
    margin-bottom:12px !important;
  }
  .ax3-step[data-step="4"] .ax3-fields,
  .ax3-step[data-step="4"] .ax3-form-grid{
    row-gap:9px !important;
    column-gap:16px !important;
  }
  .ax3-step[data-step="4"] .ax3-field{
    margin-bottom:0 !important;
  }
  .ax3-step[data-step="4"] input[type="text"],
  .ax3-step[data-step="4"] input[type="email"],
  .ax3-step[data-step="4"] input[type="tel"]{
    height:44px !important;
    min-height:44px !important;
    padding:8px 12px !important;
  }
  .ax3-step[data-step="4"] .ax3-consent{
    margin-top:9px !important;
    margin-bottom:8px !important;
  }
  .ax3-step[data-step="4"] .ax3-success,
  .ax3-step[data-step="4"] .ax3-message-success{
    margin-top:8px !important;
    margin-bottom:8px !important;
    padding:9px 12px !important;
  }

  /* Navigation unten auf allen Schritten identisch */
  .ax3-booking .ax3-actions{
    margin-top:10px !important;
    padding-top:10px !important;
  }
  .ax3-booking .ax3-actions .ax3-btn,
  .ax3-booking .ax3-actions button{
    min-height:42px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
}

/* Auf kleineren Geräten bleibt Luft für Touch-Bedienung. */
@media (max-width:900px){
  .ax3-booking .ax3-actions{
    margin-top:14px !important;
  }
}


/* V20 – kein Eyebrow + alle vier Schritte gleich hohe Arbeitsfläche */
.ax3-booking .ax3-eyebrow,
.ax3-booking .ax3-kicker,
.ax3-booking .ax3-service{
  display:none !important;
}

@media (min-width:901px){
  /* Kopf nach Entfernen von "AX3000 SERVICE" kompakter */
  .ax3-booking .ax3-intro{
    padding-top:0 !important;
    margin-top:0 !important;
    margin-bottom:8px !important;
  }
  .ax3-booking .ax3-intro h1{
    margin-top:0 !important;
    margin-bottom:3px !important;
  }

  /*
   * Einheitliche Arbeitsfläche:
   * Jeder Schritt bekommt dieselbe Mindesthöhe. Inhalte bleiben oben,
   * Navigation sitzt bei allen Schritten am selben unteren Rand.
   */
  .ax3-booking .ax3-step.is-active{
    display:flex !important;
    flex-direction:column !important;
    min-height:500px !important;
  }

  .ax3-booking .ax3-step .ax3-actions{
    margin-top:auto !important;
    padding-top:10px !important;
  }

  /* Schritt 3 hat eine eigene Footer-/Hinweisstruktur: ebenfalls nach unten drücken. */
  .ax3-step[data-step="3"] .ax3-step3-footer{
    margin-top:auto !important;
  }

  /* Die eigentlichen Inhaltsblöcke nicht künstlich auseinanderziehen. */
  .ax3-step[data-step="1"] .ax3-actions,
  .ax3-step[data-step="2"] .ax3-actions,
  .ax3-step[data-step="4"] .ax3-actions{
    flex-shrink:0;
  }

  /* Schritt 1 noch einen Tick kompakter, damit er in dieselbe Fläche passt. */
  .ax3-step[data-step="1"] .ax3-request-types,
  .ax3-step[data-step="1"] .ax3-choice-grid{
    margin-bottom:9px !important;
  }
  .ax3-step[data-step="1"] .ax3-topics{
    margin-bottom:8px !important;
  }
  .ax3-step[data-step="1"] textarea{
    min-height:68px !important;
    height:68px !important;
  }

  /* Schritt 2: Karten kompakt halten, Restfläche bewusst leer statt Seite zu vergrößern. */
  .ax3-step[data-step="2"] .ax3-unit{
    min-height:76px !important;
  }

  /* Schritt 4: Formabstände noch minimal harmonisieren. */
  .ax3-step[data-step="4"] .ax3-summary{
    margin-bottom:10px !important;
  }
  .ax3-step[data-step="4"] .ax3-consent{
    margin-top:7px !important;
  }
}

/* Auf mobilen Geräten keine erzwungene gleiche Höhe. */
@media (max-width:900px){
  .ax3-booking .ax3-step.is-active{
    min-height:0 !important;
  }
}


/* V21 – alle Schritte exakt gleiche Desktop-Höhe + bessere Lesbarkeit in Schritt 3 */
@media (min-width:901px){

  /* Exakt gleiche Arbeitsflächenhöhe statt nur Mindesthöhe */
  .ax3-booking .ax3-step.is-active{
    height:510px !important;
    min-height:510px !important;
    max-height:510px !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:visible !important;
  }

  /* Untere Navigation immer exakt nach unten */
  .ax3-booking .ax3-step .ax3-actions{
    margin-top:auto !important;
    flex-shrink:0 !important;
  }

  .ax3-step[data-step="3"] .ax3-step3-footer{
    margin-top:auto !important;
    flex-shrink:0 !important;
  }

  /* Schritt 3 innen etwas enger, damit nichts gequetscht wirkt */
  .ax3-step[data-step="3"] .ax3-schedule{
    margin-bottom:8px !important;
  }

  /* Markierte Info in der Zeitauswahl besser lesbar */
  .ax3-step[data-step="3"] .ax3-time-selection{
    min-height:44px !important;
    padding:9px 12px !important;
    color:#20242a !important;
    font-size:16px !important;
    line-height:1.35 !important;
    font-weight:500 !important;
  }
  .ax3-step[data-step="3"] .ax3-time-selection span,
  .ax3-step[data-step="3"] .ax3-time-selection strong{
    color:#20242a !important;
    font-size:16px !important;
    line-height:1.35 !important;
  }
  .ax3-step[data-step="3"] .ax3-time-selection strong{
    font-weight:700 !important;
  }

  /* Hinweis unten ebenfalls gut lesbar */
  .ax3-step[data-step="3"] .ax3-request-note,
  .ax3-step[data-step="3"] .ax3-step3-footer p{
    color:#353b44 !important;
    font-size:15px !important;
    line-height:1.45 !important;
    font-weight:500 !important;
  }
}

/* Auf kleineren Displays keine feste Höhe erzwingen */
@media (max-width:900px){
  .ax3-booking .ax3-step.is-active{
    height:auto !important;
    max-height:none !important;
  }
}


/* V22 – Schritt 3 passt garantiert in dieselbe Desktop-Arbeitsfläche */
@media (min-width:901px){

  .ax3-step[data-step="3"].is-active{
    display:grid !important;
    grid-template-rows:auto auto minmax(0,1fr) auto !important;
    height:510px !important;
    min-height:510px !important;
    max-height:510px !important;
    overflow:hidden !important;
  }

  .ax3-step[data-step="3"] > h2{
    margin:0 0 5px !important;
  }

  .ax3-step[data-step="3"] > p{
    margin:0 0 8px !important;
    line-height:1.38 !important;
  }

  .ax3-step[data-step="3"] .ax3-schedule{
    min-height:0 !important;
    height:100% !important;
    max-height:310px !important;
    gap:10px !important;
    align-self:start !important;
  }

  .ax3-step[data-step="3"] .ax3-calendar-panel,
  .ax3-step[data-step="3"] .ax3-time-panel{
    min-height:0 !important;
    height:100% !important;
    padding:9px 12px !important;
  }

  .ax3-step[data-step="3"] .ax3-calendar-head{
    margin-bottom:3px !important;
  }

  .ax3-step[data-step="3"] .ax3-calendar-weekdays{
    margin-bottom:1px !important;
  }

  .ax3-step[data-step="3"] .ax3-calendar-weekdays span{
    padding:1px 0 !important;
  }

  .ax3-step[data-step="3"] .ax3-calendar-grid{
    gap:2px !important;
  }

  .ax3-step[data-step="3"] .ax3-cal-day,
  .ax3-step[data-step="3"] .ax3-cal-empty{
    height:29px !important;
  }

  .ax3-step[data-step="3"] .ax3-date-message{
    margin-top:3px !important;
    min-height:14px !important;
    font-size:13px !important;
  }

  .ax3-step[data-step="3"] .ax3-time-heading{
    margin-bottom:4px !important;
    padding-bottom:4px !important;
  }

  .ax3-step[data-step="3"] .ax3-times{
    gap:5px !important;
  }

  .ax3-step[data-step="3"] .ax3-time{
    min-height:39px !important;
    padding:4px 6px !important;
  }

  .ax3-step[data-step="3"] .ax3-time strong{
    font-size:15px !important;
  }

  .ax3-step[data-step="3"] .ax3-time span{
    margin-top:1px !important;
    font-size:11px !important;
  }

  .ax3-step[data-step="3"] .ax3-time-separator{
    margin:0 !important;
    padding:3px 0 1px !important;
  }

  .ax3-step[data-step="3"] .ax3-time-selection{
    min-height:38px !important;
    margin-top:5px !important;
    padding:7px 10px !important;
    font-size:15px !important;
  }

  .ax3-step[data-step="3"] .ax3-time-selection span,
  .ax3-step[data-step="3"] .ax3-time-selection strong{
    font-size:15px !important;
  }

  .ax3-step[data-step="3"] .ax3-step3-footer{
    margin:7px 0 0 !important;
    padding-top:7px !important;
    align-self:end !important;
  }

  .ax3-step[data-step="3"] .ax3-step3-footer p{
    margin:0 !important;
    max-width:620px !important;
    font-size:14px !important;
    line-height:1.35 !important;
  }

  .ax3-step[data-step="3"] .ax3-step3-footer .ax3-actions{
    margin:0 !important;
    padding:0 !important;
  }
}


/* =========================================================
   V23 – FINAL DESIGN PASS
   kompakter, konsistente Typografie, hochwertiger Kalender
   ========================================================= */

.ax3-booking{
  --ax3-text:#191d22;
  --ax3-body:#343a43;
  --ax3-muted:#636b75;
  --ax3-line:#d9dde2;
  --ax3-soft:#f7f8f9;
  --ax3-disabled:#b7bdc5;
  color:var(--ax3-text);
  font-size:16px;
  line-height:1.42;
  letter-spacing:0;
}

/* ---------- Typografie-Hierarchie ---------- */
.ax3-booking .ax3-intro h1{
  color:var(--ax3-text) !important;
  font-size:2.18rem !important;
  line-height:1.08 !important;
  font-weight:700 !important;
  letter-spacing:-.035em !important;
}

.ax3-booking .ax3-intro p{
  color:var(--ax3-body) !important;
  font-size:15.5px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
}

.ax3-booking .ax3-step > h2{
  color:var(--ax3-text) !important;
  font-size:1.55rem !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  letter-spacing:-.022em !important;
}

.ax3-booking .ax3-step > p{
  color:var(--ax3-body) !important;
  font-size:15px !important;
  line-height:1.43 !important;
  font-weight:400 !important;
}

/* Schrittleiste – ruhiger und professioneller */
.ax3-booking .ax3-progress span{
  color:#68717c !important;
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:500 !important;
}
.ax3-booking .ax3-progress span.is-active{
  color:#171a1f !important;
  font-weight:700 !important;
}
.ax3-booking .ax3-progress span.is-active:before{
  color:var(--ax3-accent) !important;
}
.ax3-booking .ax3-progress span.is-unlocked:hover{
  color:#171a1f !important;
  background:transparent !important;
}

/* Labels / Karten */
.ax3-booking label,
.ax3-booking .ax3-field > span,
.ax3-booking .ax3-field-label,
.ax3-booking .ax3-section-label{
  color:#252a31 !important;
  font-size:15px !important;
  line-height:1.3 !important;
  font-weight:600 !important;
}

.ax3-booking .ax3-request-type strong,
.ax3-booking .ax3-choice strong,
.ax3-booking .ax3-unit strong{
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
}

.ax3-booking .ax3-request-type p,
.ax3-booking .ax3-choice p,
.ax3-booking .ax3-unit p{
  color:#606873 !important;
  font-size:14px !important;
  line-height:1.35 !important;
}

/* ---------- Desktop: insgesamt etwas kompakter ---------- */
@media (min-width:901px){

  .ax3-booking{
    max-width:1080px !important;
  }

  .ax3-booking .ax3-intro{
    margin-bottom:6px !important;
  }
  .ax3-booking .ax3-intro h1{
    margin:0 0 3px !important;
  }
  .ax3-booking .ax3-intro p{
    margin:0 0 6px !important;
    max-width:820px !important;
  }

  .ax3-booking .ax3-progress{
    margin-top:6px !important;
    margin-bottom:10px !important;
  }
  .ax3-booking .ax3-progress span{
    min-height:38px !important;
  }

  /* Alle Schritte gleich hoch, aber niedriger als V22 */
  .ax3-booking .ax3-step.is-active{
    height:468px !important;
    min-height:468px !important;
    max-height:468px !important;
  }

  .ax3-booking .ax3-step > h2{
    margin:0 0 5px !important;
  }
  .ax3-booking .ax3-step > p{
    margin:0 0 8px !important;
  }

  .ax3-booking .ax3-actions{
    margin-top:auto !important;
    padding-top:8px !important;
  }
  .ax3-booking .ax3-actions .ax3-btn,
  .ax3-booking .ax3-actions button{
    min-height:40px !important;
    padding:7px 18px !important;
  }

  /* Schritt 1 */
  .ax3-step[data-step="1"] .ax3-request-type,
  .ax3-step[data-step="1"] .ax3-choice{
    min-height:64px !important;
    padding:10px 13px !important;
  }
  .ax3-step[data-step="1"] .ax3-topics{
    gap:6px 10px !important;
    margin-bottom:7px !important;
  }
  .ax3-step[data-step="1"] .ax3-topic{
    min-height:39px !important;
    padding:7px 11px !important;
  }
  .ax3-step[data-step="1"] textarea{
    min-height:62px !important;
    height:62px !important;
    padding:9px 11px !important;
  }

  /* Schritt 2 */
  .ax3-step[data-step="2"] .ax3-unit{
    min-height:72px !important;
    padding:10px 13px !important;
  }

  /* Schritt 4 */
  .ax3-step[data-step="4"] .ax3-summary{
    padding:10px 13px !important;
    margin-bottom:9px !important;
  }
  .ax3-step[data-step="4"] .ax3-fields,
  .ax3-step[data-step="4"] .ax3-form-grid{
    row-gap:7px !important;
    column-gap:14px !important;
  }
  .ax3-step[data-step="4"] input[type="text"],
  .ax3-step[data-step="4"] input[type="email"],
  .ax3-step[data-step="4"] input[type="tel"]{
    height:41px !important;
    min-height:41px !important;
    padding:7px 11px !important;
  }
  .ax3-step[data-step="4"] .ax3-consent{
    margin-top:6px !important;
    margin-bottom:5px !important;
  }
}

/* ---------- Schritt 3: Kalender FINAL ---------- */
@media (min-width:901px){

  .ax3-step[data-step="3"].is-active{
    display:grid !important;
    grid-template-rows:auto auto minmax(0,1fr) auto !important;
    height:468px !important;
    min-height:468px !important;
    max-height:468px !important;
    overflow:hidden !important;
  }

  .ax3-step[data-step="3"] .ax3-schedule{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    gap:10px !important;
    align-items:stretch !important;
  }

  .ax3-step[data-step="3"] .ax3-calendar-panel,
  .ax3-step[data-step="3"] .ax3-time-panel{
    border:1px solid #dfe3e8 !important;
    border-radius:5px !important;
    background:#fff !important;
    padding:10px 12px !important;
    box-shadow:none !important;
  }

  /* Kalenderkopf */
  .ax3-step[data-step="3"] .ax3-calendar-head{
    display:grid !important;
    grid-template-columns:30px 1fr 30px !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 0 5px !important;
  }
  .ax3-step[data-step="3"] .ax3-calendar-head strong{
    color:#161a1f !important;
    font-size:15px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    text-align:center !important;
  }

  /* Pfeile: schlicht, kein "Button-Look" */
  .ax3-step[data-step="3"] .ax3-cal-nav,
  .ax3-step[data-step="3"] .ax3-cal-nav:hover,
  .ax3-step[data-step="3"] .ax3-cal-nav:focus,
  .ax3-step[data-step="3"] .ax3-cal-nav:active{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    border:0 !important;
    border-radius:4px !important;
    background:transparent !important;
    color:#4d5560 !important;
    box-shadow:none !important;
    outline:none !important;
    padding:0 !important;
    font-size:21px !important;
    line-height:28px !important;
    font-weight:400 !important;
  }
  .ax3-step[data-step="3"] .ax3-cal-nav:hover{
    color:var(--ax3-accent) !important;
    background:#f7f7f7 !important;
  }

  /* Wochentage */
  .ax3-step[data-step="3"] .ax3-calendar-weekdays{
    margin:0 0 2px !important;
  }
  .ax3-step[data-step="3"] .ax3-calendar-weekdays span{
    color:#747c86 !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.035em !important;
    padding:3px 0 !important;
  }

  /* Tagesraster – nicht mehr wie graue Kästchenwand */
  .ax3-step[data-step="3"] .ax3-calendar-grid{
    gap:1px !important;
  }
  .ax3-step[data-step="3"] .ax3-cal-day,
  .ax3-step[data-step="3"] .ax3-cal-empty{
    height:29px !important;
    min-height:29px !important;
    border:0 !important;
    border-radius:4px !important;
    background:transparent !important;
    box-shadow:none !important;
    padding:0 !important;
  }
  .ax3-step[data-step="3"] .ax3-cal-day{
    color:#343a42 !important;
    font-size:13px !important;
    font-weight:500 !important;
  }
  .ax3-step[data-step="3"] .ax3-cal-day:not(:disabled):hover{
    background:#f3f4f5 !important;
    color:#111 !important;
  }
  .ax3-step[data-step="3"] .ax3-cal-day:disabled{
    color:#c2c7cd !important;
    background:transparent !important;
  }
  .ax3-step[data-step="3"] .ax3-cal-day.is-selected,
  .ax3-step[data-step="3"] .ax3-cal-day[aria-pressed="true"]{
    color:#fff !important;
    background:var(--ax3-accent) !important;
    font-weight:700 !important;
  }

  .ax3-step[data-step="3"] .ax3-date-message{
    color:#414851 !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:500 !important;
    min-height:16px !important;
    margin-top:4px !important;
  }

  /* Zeitpanel */
  .ax3-step[data-step="3"] .ax3-time-heading{
    margin:0 0 5px !important;
    padding:0 0 5px !important;
    border-bottom:1px solid #e3e6ea !important;
  }
  .ax3-step[data-step="3"] .ax3-time-heading strong{
    color:#181c21 !important;
    font-size:15px !important;
    font-weight:700 !important;
  }
  .ax3-step[data-step="3"] .ax3-time-heading small{
    color:#5b636e !important;
    font-size:12px !important;
    font-weight:600 !important;
  }

  .ax3-step[data-step="3"] .ax3-times{
    gap:5px !important;
  }
  .ax3-step[data-step="3"] .ax3-time{
    min-height:40px !important;
    padding:4px 6px !important;
    border:1px solid #dde1e6 !important;
    border-radius:4px !important;
    background:#fff !important;
    color:#1c2025 !important;
  }
  .ax3-step[data-step="3"] .ax3-time:not(:disabled):hover{
    border-color:#bfc5cc !important;
    background:#fafafa !important;
  }
  .ax3-step[data-step="3"] .ax3-time.is-selected,
  .ax3-step[data-step="3"] .ax3-time[aria-pressed="true"]{
    border-color:var(--ax3-accent) !important;
    background:#fff8ee !important;
  }
  .ax3-step[data-step="3"] .ax3-time strong{
    color:#171a1f !important;
    font-size:15px !important;
    line-height:1.1 !important;
    font-weight:700 !important;
  }
  .ax3-step[data-step="3"] .ax3-time span{
    color:#7a818a !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:600 !important;
    letter-spacing:.03em !important;
    margin-top:2px !important;
  }
  .ax3-step[data-step="3"] .ax3-time:disabled strong,
  .ax3-step[data-step="3"] .ax3-time:disabled span{
    color:#c2c7cd !important;
  }

  .ax3-step[data-step="3"] .ax3-time-separator{
    color:#747c86 !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.035em !important;
    margin:1px 0 !important;
    padding:2px 0 !important;
  }

  .ax3-step[data-step="3"] .ax3-time-selection{
    min-height:36px !important;
    margin-top:5px !important;
    padding:6px 9px !important;
    border:1px solid #dde1e6 !important;
    border-left:3px solid var(--ax3-accent) !important;
    background:#fff !important;
    color:#24292f !important;
    font-size:14px !important;
    line-height:1.3 !important;
    font-weight:500 !important;
  }
  .ax3-step[data-step="3"] .ax3-time-selection span,
  .ax3-step[data-step="3"] .ax3-time-selection strong{
    color:inherit !important;
    font-size:14px !important;
    line-height:1.3 !important;
  }

  /* Footer Schritt 3 */
  .ax3-step[data-step="3"] .ax3-step3-footer{
    margin:6px 0 0 !important;
    padding-top:6px !important;
  }
  .ax3-step[data-step="3"] .ax3-step3-footer p{
    color:#3d444d !important;
    font-size:13.5px !important;
    line-height:1.35 !important;
    font-weight:500 !important;
    margin:0 !important;
  }
}

/* Mobil: Lesbarkeit vor Kompaktheit */
@media (max-width:900px){
  .ax3-booking .ax3-intro h1{
    font-size:1.9rem !important;
  }
  .ax3-booking .ax3-step > h2{
    font-size:1.4rem !important;
  }
}

/* V24 – finaler vertikaler Abgleich: Schritt 3 startet wie 1, 2 und 4. */
@media (min-width:901px){
  .ax3-step[data-step="3"].is-active{
    /* V23 nutzte Grid; dessen Zeilenverteilung erzeugte optisch einen anderen Startabstand. */
    display:flex !important;
    flex-direction:column !important;
    height:468px !important;
    min-height:468px !important;
    max-height:468px !important;
    overflow:hidden !important;
  }
  .ax3-step[data-step="3"] > h2{
    margin:0 0 5px !important;
  }
  .ax3-step[data-step="3"] > p{
    margin:0 0 8px !important;
  }
  .ax3-step[data-step="3"] .ax3-schedule{
    flex:0 0 auto !important;
    height:267px !important;
    min-height:267px !important;
    max-height:267px !important;
  }
  .ax3-step[data-step="3"] .ax3-step3-footer{
    margin-top:auto !important;
    padding-top:6px !important;
    flex-shrink:0 !important;
  }
}


/* V25 – finaler Fach-/Designpass */
.ax3-booking{
  --ax3-v25-text:#20242a;
  --ax3-v25-body:#4b535e;
  --ax3-v25-muted:#6a727c;
  --ax3-v25-line:#dde1e5;
}
.ax3-booking .ax3-intro h1{font-size:2rem!important;line-height:1.08!important;font-weight:700!important;letter-spacing:-.025em!important}
.ax3-booking .ax3-intro p{font-size:15px!important;color:var(--ax3-v25-body)!important}
.ax3-booking .ax3-step>h2{font-size:1.42rem!important;line-height:1.2!important;font-weight:700!important;letter-spacing:-.015em!important}
.ax3-booking .ax3-step>p{font-size:15px!important;line-height:1.42!important;color:var(--ax3-v25-body)!important}
.ax3-module-hint{margin:-3px 0 7px!important;font-size:13px!important;line-height:1.35!important;color:#606873!important}

.ax3-units-grid .ax3-choice em{
  display:block;
  margin-top:4px;
  color:#252a30;
  font-size:14px;
  line-height:1.2;
  font-style:normal;
  font-weight:700;
}
.ax3-units-grid .ax3-choice.is-selected em{color:#20242a}

/* Schritt 3: ruhiger Kalender ohne Mini-Kästchen-Optik */
.ax3-step[data-step="3"] .ax3-calendar-panel,
.ax3-step[data-step="3"] .ax3-time-panel{
  border:1px solid var(--ax3-v25-line)!important;
  border-radius:6px!important;
  background:#fff!important;
}
.ax3-step[data-step="3"] .ax3-calendar-head{
  border-bottom:1px solid #eceef0;
  padding-bottom:7px!important;
  margin-bottom:6px!important;
}
.ax3-step[data-step="3"] .ax3-calendar-head strong{font-size:16px!important}
.ax3-step[data-step="3"] .ax3-cal-nav{
  border:0!important;background:transparent!important;border-radius:50%!important;
  color:#454c55!important;font-size:22px!important
}
.ax3-step[data-step="3"] .ax3-cal-nav:hover{background:#f3f4f5!important;color:var(--ax3-accent)!important}
.ax3-step[data-step="3"] .ax3-calendar-weekdays span{
  font-size:11px!important;color:#737b85!important;font-weight:700!important
}
.ax3-step[data-step="3"] .ax3-cal-day{
  border:0!important;background:transparent!important;border-radius:50%!important;
  width:31px!important;height:31px!important;min-height:31px!important;
  justify-self:center!important;font-size:13px!important;color:#30363d!important
}
.ax3-step[data-step="3"] .ax3-cal-day:not(:disabled):hover{background:#f1f2f3!important}
.ax3-step[data-step="3"] .ax3-cal-day.is-selected,
.ax3-step[data-step="3"] .ax3-cal-day[aria-pressed="true"]{
  background:var(--ax3-accent)!important;color:#fff!important
}
.ax3-step[data-step="3"] .ax3-cal-day:disabled{color:#c1c6cc!important;background:transparent!important}
.ax3-step[data-step="3"] .ax3-time{
  border:1px solid #dfe3e7!important;border-radius:5px!important;background:#fff!important
}
.ax3-step[data-step="3"] .ax3-time.is-selected{
  border-color:var(--ax3-accent)!important;background:#fff7ed!important
}
.ax3-step[data-step="3"] .ax3-time-selection{
  border:0!important;border-left:3px solid var(--ax3-accent)!important;
  background:#f7f8f9!important;border-radius:0 4px 4px 0!important;
  font-size:13.5px!important
}

/* Schritt 4: Zusammenfassung und Rückmeldung bleiben klar getrennt */
.ax3-summary{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:2px!important;
  padding:10px 13px!important;
  background:#f7f8f9!important;
  border:1px solid #e0e3e6!important;
  border-radius:5px!important;
  line-height:1.35!important;
}
.ax3-summary strong{font-size:15px!important;color:#20242a!important}
.ax3-summary span{display:block!important;font-size:13.5px!important;color:#4d5560!important}
.ax3-summary b{color:#20242a!important;font-weight:700!important}
.ax3-result{
  margin-top:8px!important;
  padding:0!important;
  min-height:0!important;
  font-size:14px!important;
  line-height:1.4!important;
}
.ax3-result:empty{display:none!important}
.ax3-result.is-success,.ax3-result.is-error{
  display:block!important;padding:9px 11px!important;border-radius:4px!important
}
.ax3-result.is-success{background:#f2f7f3!important;border:1px solid #d4e5d8!important;color:#294a31!important}
.ax3-result.is-error{background:#fff4f3!important;border:1px solid #ead4d1!important;color:#74372f!important}

@media (min-width:901px){
  .ax3-booking .ax3-step.is-active{height:470px!important;min-height:470px!important;max-height:470px!important}
  .ax3-step[data-step="3"].is-active{height:470px!important;min-height:470px!important;max-height:470px!important}
  .ax3-step[data-step="3"] .ax3-schedule{gap:12px!important}
}

/* V26 – einheitliches professionelles Buchungssystem */
.ax3-booking .ax3-step>p{max-width:760px;margin-top:5px!important;margin-bottom:14px!important}
.ax3-booking .ax3-type-grid .ax3-choice span{max-width:420px}
.ax3-booking .ax3-units-grid .ax3-choice{min-height:118px;display:flex;flex-direction:column;justify-content:center}
.ax3-booking .ax3-units-grid .ax3-choice strong{font-size:18px}
.ax3-booking .ax3-units-grid .ax3-choice em{margin-top:8px;font-size:15px}
.ax3-step[data-step="3"] .ax3-time-selection{display:flex!important;flex-direction:column!important;gap:2px!important;padding:12px 14px!important;background:#f7f8f9!important}
.ax3-step[data-step="3"] .ax3-time-selection .ax3-selection-label{text-transform:uppercase;letter-spacing:.05em;font-size:11px!important;font-weight:700;color:#737b85!important}
.ax3-step[data-step="3"] .ax3-time-selection strong{font-size:14px!important;color:#20242a!important}
.ax3-step[data-step="3"] .ax3-time-selection span:not(.ax3-selection-label){font-size:13px!important;color:#4d5560!important}
.ax3-step[data-step="3"] .ax3-time-selection b{font-size:13px!important;color:#20242a!important}
.ax3-step3-footer>p{display:none!important}
.ax3-review-title{margin:0 0 6px!important;font-size:14px!important;font-weight:700!important}
.ax3-summary{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;padding:0!important;background:#fff!important;overflow:hidden}
.ax3-summary>div{padding:9px 11px;border-right:1px solid #e4e7ea}
.ax3-summary>div:last-child{border-right:0}
.ax3-summary>div span{font-size:11px!important;text-transform:uppercase;letter-spacing:.04em;color:#737b85!important;margin-bottom:2px}
.ax3-summary>div strong{font-size:13px!important;line-height:1.25!important;display:block}
.ax3-final-note{display:flex;gap:12px;align-items:flex-start;margin:9px 0 7px;padding:9px 11px;border-left:3px solid var(--ax3-accent);background:#f7f8f9;font-size:12.5px;line-height:1.35}
.ax3-final-note strong{white-space:nowrap;color:#20242a}
.ax3-final-note span{color:#4d5560}
@media(max-width:900px){.ax3-summary{grid-template-columns:1fr 1fr!important}.ax3-summary>div{border-bottom:1px solid #e4e7ea}.ax3-final-note{display:block}.ax3-final-note strong{display:block;margin-bottom:3px}}


/* V27 – klare Buchungshinweise */
.ax3-guideline{
  margin:12px 0 4px;
  padding:10px 13px;
  border-left:3px solid var(--ax3-accent, #f39200);
  background:#f7f8f9;
  color:#414851;
  font-size:14px;
  line-height:1.45;
}
.ax3-guideline strong{color:#20242a;font-weight:700}

.ax3-request-note-v27{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  margin:12px 0 0!important;
  padding:11px 14px!important;
  border:0!important;
  border-left:3px solid var(--ax3-accent, #f39200)!important;
  border-radius:0 4px 4px 0!important;
  background:#f7f8f9!important;
  color:#444c55!important;
  font-size:14px!important;
  line-height:1.4!important;
}
.ax3-request-note-v27 strong{
  display:block!important;
  margin:0 0 2px!important;
  color:#20242a!important;
  font-size:14px!important;
  font-weight:700!important;
}
.ax3-request-note-v27 span{
  display:block!important;
  width:100%!important;
  margin:0!important;
}


/* V28 – konsistenter Buchungssystem-Pass */
.ax3-module-guide{
  margin:2px 0 9px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  font-size:13.5px!important;
  line-height:1.4!important;
  color:#5d6570!important;
}
.ax3-module-guide strong{color:#30363d!important}

/* Schritt 3 nutzt exakt die volle Inhaltsbreite. */
.ax3-step[data-step="3"] .ax3-schedule{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
  gap:16px!important;
  margin-left:0!important;
  margin-right:0!important;
}
.ax3-step[data-step="3"] .ax3-calendar-panel,
.ax3-step[data-step="3"] .ax3-time-panel{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.ax3-step[data-step="3"] .ax3-actions,
.ax3-step[data-step="3"] .ax3-step3-footer{
  width:100%!important;
  max-width:none!important;
}

/* Schritt 4: Zusammenfassung als echte Karte statt leerer Leiste. */
.ax3-step[data-step="4"] .ax3-summary{
  width:100%!important;
  min-height:58px!important;
  box-sizing:border-box!important;
  padding:11px 14px!important;
  margin:0 0 12px!important;
  border:1px solid #e0e3e6!important;
  border-left:3px solid var(--ax3-accent,#f39200)!important;
  background:#f7f8f9!important;
  border-radius:0 4px 4px 0!important;
}

/* Hinweis, Datenschutz und Navigation sind drei klar getrennte Bereiche. */
.ax3-step[data-step="4"] .ax3-request-note-v27{
  margin:12px 0 0!important;
}
.ax3-step[data-step="4"] .ax3-consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:13px 0 16px!important;
  padding:0 1px!important;
  font-size:14px!important;
  line-height:1.4!important;
  color:#30363d!important;
}
.ax3-step[data-step="4"] .ax3-consent input{
  flex:0 0 auto!important;
  width:17px!important;
  height:17px!important;
  margin:1px 0 0!important;
}
.ax3-step[data-step="4"] .ax3-actions{
  position:static!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin-top:0!important;
  padding-top:12px!important;
  border-top:1px solid #dde1e5!important;
}

/* Keine erzwungene Desktop-Höhe auf Schritt 4: Inhalte dürfen sauber atmen. */
@media (min-width:901px){
  .ax3-step[data-step="4"].is-active{
    height:auto!important;
    min-height:470px!important;
    max-height:none!important;
  }
}
@media (max-width:800px){
  .ax3-step[data-step="3"] .ax3-schedule{grid-template-columns:1fr!important}
}


/* V29 – Schritt 4 kompakt, ohne Scroll-/Überlappungsproblem */
.ax3-step[data-step="4"].is-active{
  box-sizing:border-box!important;
}
.ax3-step[data-step="4"]>h2{
  margin:0 0 5px!important;
}
.ax3-step[data-step="4"]>h3,
.ax3-step[data-step="4"] .ax3-summary-title{
  margin:0 0 5px!important;
}
.ax3-step[data-step="4"] .ax3-summary{
  min-height:0!important;
  margin:0 0 9px!important;
  padding:8px 12px!important;
}
.ax3-step[data-step="4"] .ax3-fields-grid{
  gap:7px 18px!important;
  margin:0!important;
}
.ax3-step[data-step="4"] .ax3-field{
  gap:3px!important;
  margin:0!important;
}
.ax3-step[data-step="4"] .ax3-field>span{
  margin:0!important;
  line-height:1.25!important;
}
.ax3-step[data-step="4"] input[type="text"],
.ax3-step[data-step="4"] input[type="email"],
.ax3-step[data-step="4"] input[type="tel"]{
  height:38px!important;
  min-height:38px!important;
  padding:7px 10px!important;
}
.ax3-step[data-step="4"] .ax3-request-note-v27{
  margin:9px 0 0!important;
  padding:8px 12px!important;
  gap:1px!important;
  font-size:13px!important;
  line-height:1.32!important;
}
.ax3-step[data-step="4"] .ax3-request-note-v27 strong{
  margin-bottom:1px!important;
  font-size:13px!important;
}
.ax3-step[data-step="4"] .ax3-consent{
  margin:9px 0 9px!important;
  font-size:13px!important;
  line-height:1.3!important;
}
.ax3-step[data-step="4"] .ax3-actions{
  margin:0!important;
  padding-top:9px!important;
}
.ax3-step[data-step="4"] .ax3-actions button{
  min-height:40px!important;
}
@media (min-width:901px){
  .ax3-step[data-step="4"].is-active{
    height:470px!important;
    min-height:470px!important;
    max-height:470px!important;
    overflow:visible!important;
  }
}

/* Richtwert auf Schritt 1: bewusst dezent und direkt bei den Modulen. */
.ax3-step[data-step="1"] .ax3-module-guide{
  display:block!important;
  margin:0 0 8px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#59616b!important;
  font-size:13.5px!important;
  line-height:1.35!important;
}
.ax3-step[data-step="1"] .ax3-module-guide strong{
  color:#30363d!important;
  font-weight:700!important;
}

/* V30 – professioneller Gesamtpass */
.ax3-unit-price{display:block!important;margin-top:4px!important;color:#68717c!important;font-size:13px!important;line-height:1.2!important;font-weight:500!important}
.ax3-choice.is-selected .ax3-unit-price{color:#59616b!important}

@media (min-width:901px){
  .ax3-step.is-active{height:470px!important;min-height:470px!important;max-height:470px!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;overflow:visible!important}
  .ax3-step.is-active>.ax3-actions,.ax3-step.is-active>.ax3-step3-footer{margin-top:auto!important}
  .ax3-step[data-step="4"].is-active{height:470px!important;min-height:470px!important;max-height:470px!important}
}
.ax3-step[data-step="3"] .ax3-schedule{width:100%!important;max-width:none!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important}
.ax3-step[data-step="3"] .ax3-time-selection small{display:block!important;margin-top:4px!important;color:#505862!important;font-size:12.5px!important;line-height:1.3!important;font-weight:600!important}

.ax3-step[data-step="4"] .ax3-summary{display:block!important;width:100%!important;min-height:0!important;margin:0 0 9px!important;padding:9px 12px!important;box-sizing:border-box!important;border:1px solid #e1e4e7!important;border-left:3px solid var(--ax3-accent,#f39200)!important;border-radius:0 5px 5px 0!important;background:#f8f9fa!important}
.ax3-review-main,.ax3-review-row{display:flex!important;justify-content:space-between!important;gap:16px!important}
.ax3-review-main{margin-bottom:3px!important}
.ax3-review-main strong{font-size:14px!important;color:#20242a!important}
.ax3-review-main span,.ax3-review-row{font-size:12.8px!important;color:#555e68!important}
.ax3-review-main span{text-align:right!important}
.ax3-review-row{padding-top:3px!important;line-height:1.3!important}
.ax3-review-bottom{margin-top:3px!important;padding-top:5px!important;border-top:1px solid #e3e6e9!important}
.ax3-review-bottom strong{color:#20242a!important;font-size:12.8px!important}
.ax3-final-note{margin:6px 0!important;padding:0!important;color:#555e68!important;font-size:12.5px!important;line-height:1.3!important}
.ax3-final-note strong{color:#30363d!important}
.ax3-step[data-step="4"] .ax3-consent{margin:5px 0 6px!important;font-size:12.5px!important;line-height:1.25!important}
.ax3-step[data-step="4"] .ax3-actions{margin-top:auto!important;padding-top:8px!important}


/* ======================================================
   V31 – EIN gemeinsamer Höhenmechanismus + stabile Review
   ====================================================== */
@media (min-width:901px){
  .ax3-booking .ax3-form{
    height:500px!important;
    min-height:500px!important;
    position:relative!important;
  }

  .ax3-booking .ax3-step.is-active,
  .ax3-booking .ax3-step[data-step="1"].is-active,
  .ax3-booking .ax3-step[data-step="2"].is-active,
  .ax3-booking .ax3-step[data-step="3"].is-active,
  .ax3-booking .ax3-step[data-step="4"].is-active{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:500px!important;
    min-height:500px!important;
    max-height:500px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  .ax3-booking .ax3-step .ax3-actions{
    margin-top:auto!important;
    flex-shrink:0!important;
  }

  .ax3-booking .ax3-step[data-step="3"] .ax3-step3-footer{
    margin-top:auto!important;
    flex-shrink:0!important;
  }
}

/* Schritt 4 – feste, professionelle Abschlusskarte */
.ax3-step[data-step="4"] .ax3-review-card{
  width:100%!important;
  box-sizing:border-box!important;
  margin:0 0 10px!important;
  border:1px solid #dde1e5!important;
  border-radius:5px!important;
  background:#fff!important;
  overflow:hidden!important;
}

.ax3-review-card-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:8px 12px!important;
  background:#f7f8f9!important;
  border-bottom:1px solid #e4e7ea!important;
}

.ax3-review-card-head span{
  color:#59616b!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}

.ax3-review-card-head strong{
  color:#20242a!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

.ax3-review-card-body{
  display:grid!important;
  grid-template-columns:1.15fr 1fr 1.4fr .9fr!important;
  gap:0!important;
  padding:9px 12px!important;
}

.ax3-review-card-body>div{
  min-width:0!important;
  padding:0 12px!important;
  border-right:1px solid #eceef0!important;
}

.ax3-review-card-body>div:first-child{padding-left:0!important}
.ax3-review-card-body>div:last-child{
  padding-right:0!important;
  border-right:0!important;
}

.ax3-review-card-body small{
  display:block!important;
  margin:0 0 2px!important;
  color:#747c86!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}

.ax3-review-card-body strong{
  display:block!important;
  overflow:hidden!important;
  color:#252a30!important;
  font-size:12.5px!important;
  line-height:1.3!important;
  font-weight:600!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.ax3-review-card-foot{
  padding:6px 12px!important;
  border-top:1px solid #eceef0!important;
  color:#59616b!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  font-weight:500!important;
}

/* Schritt 4 bleibt kompakt innerhalb derselben 500px */
.ax3-step[data-step="4"] .ax3-fields-grid{
  gap:7px 18px!important;
}
.ax3-step[data-step="4"] input[type="text"],
.ax3-step[data-step="4"] input[type="email"],
.ax3-step[data-step="4"] input[type="tel"]{
  height:38px!important;
  min-height:38px!important;
  padding:7px 10px!important;
}
.ax3-step[data-step="4"] .ax3-final-note{
  margin:7px 0 5px!important;
  font-size:12.5px!important;
  line-height:1.3!important;
}
.ax3-step[data-step="4"] .ax3-consent{
  margin:5px 0 6px!important;
  font-size:12.5px!important;
  line-height:1.3!important;
}
.ax3-step[data-step="4"] .ax3-actions{
  padding-top:8px!important;
}

/* Mobile: kein künstlicher Fixheight */
@media (max-width:900px){
  .ax3-booking .ax3-form{
    height:auto!important;
    min-height:0!important;
  }
  .ax3-booking .ax3-step.is-active,
  .ax3-booking .ax3-step[data-step="1"].is-active,
  .ax3-booking .ax3-step[data-step="2"].is-active,
  .ax3-booking .ax3-step[data-step="3"].is-active,
  .ax3-booking .ax3-step[data-step="4"].is-active{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .ax3-review-card-head,
  .ax3-review-card-body{
    display:block!important;
  }
  .ax3-review-card-head strong{
    display:block!important;
    margin-top:5px!important;
    white-space:normal!important;
  }
  .ax3-review-card-body>div{
    padding:6px 0!important;
    border-right:0!important;
    border-bottom:1px solid #eceef0!important;
  }
  .ax3-review-card-body>div:last-child{border-bottom:0!important}
  .ax3-review-card-body strong{white-space:normal!important}
}


/* V32 – identische Desktop-Höhe und feste Navigationslinie */
@media (min-width:901px){
  .ax3-booking .ax3-form{
    position:relative!important;
    height:525px!important;
    min-height:525px!important;
    max-height:525px!important;
  }

  .ax3-booking .ax3-step.is-active,
  .ax3-booking .ax3-step[data-step="1"].is-active,
  .ax3-booking .ax3-step[data-step="2"].is-active,
  .ax3-booking .ax3-step[data-step="3"].is-active,
  .ax3-booking .ax3-step[data-step="4"].is-active{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:525px!important;
    min-height:525px!important;
    max-height:525px!important;
    padding-bottom:68px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  .ax3-booking .ax3-step[data-step="1"] > .ax3-actions,
  .ax3-booking .ax3-step[data-step="2"] > .ax3-actions,
  .ax3-booking .ax3-step[data-step="4"] > .ax3-actions{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    margin:0!important;
    padding-top:10px!important;
    box-sizing:border-box!important;
  }

  .ax3-booking .ax3-step[data-step="3"] .ax3-step3-footer{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  .ax3-booking .ax3-step[data-step="3"] .ax3-step3-footer .ax3-actions{
    position:static!important;
    width:100%!important;
    margin:0!important;
    padding-top:10px!important;
    box-sizing:border-box!important;
  }
}

/* Seite 4 – stabile Abschlusskarte ohne kollidierende Footer-Zeile */
.ax3-step[data-step="4"] .ax3-review-card{
  width:100%!important;
  box-sizing:border-box!important;
  margin:0 0 10px!important;
  border:1px solid #dde1e5!important;
  border-radius:5px!important;
  background:#fff!important;
  overflow:hidden!important;
}

.ax3-review-card-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:8px 12px!important;
  background:#f7f8f9!important;
  border-bottom:1px solid #e5e8eb!important;
}

.ax3-review-card-head span{
  color:#626a74!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}

.ax3-review-card-head strong{
  color:#20242a!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

.ax3-review-card-body{
  display:grid!important;
  grid-template-columns:1.1fr 1fr 1.35fr .85fr 1.15fr!important;
  gap:0!important;
  padding:9px 12px!important;
}

.ax3-review-card-body > div{
  min-width:0!important;
  padding:0 10px!important;
  border-right:1px solid #eceef0!important;
}

.ax3-review-card-body > div:first-child{padding-left:0!important}
.ax3-review-card-body > div:last-child{
  padding-right:0!important;
  border-right:0!important;
}

.ax3-review-card-body small{
  display:block!important;
  margin:0 0 2px!important;
  color:#737b85!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}

.ax3-review-card-body strong{
  display:block!important;
  color:#252a30!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:600!important;
  white-space:normal!important;
}

.ax3-review-card-foot{
  display:none!important;
}

@media (max-width:900px){
  .ax3-booking .ax3-form{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .ax3-booking .ax3-step.is-active,
  .ax3-booking .ax3-step[data-step="1"].is-active,
  .ax3-booking .ax3-step[data-step="2"].is-active,
  .ax3-booking .ax3-step[data-step="3"].is-active,
  .ax3-booking .ax3-step[data-step="4"].is-active{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding-bottom:0!important;
  }
  .ax3-booking .ax3-step .ax3-actions,
  .ax3-booking .ax3-step[data-step="3"] .ax3-step3-footer{
    position:static!important;
  }
  .ax3-review-card-head,
  .ax3-review-card-body{
    display:block!important;
  }
  .ax3-review-card-head strong{
    display:block!important;
    margin-top:5px!important;
    white-space:normal!important;
  }
  .ax3-review-card-body > div{
    padding:6px 0!important;
    border-right:0!important;
    border-bottom:1px solid #eceef0!important;
  }
  .ax3-review-card-body > div:last-child{border-bottom:0!important}
}


/* V33 – nur Feinschliff am Unverbindlich-Hinweis auf Schritt 4 */
.ax3-step[data-step="4"] .ax3-final-note{
  padding-left:10px!important;
}


/* V34 – kostenfreie Produktpräsentation */
.ax3-type-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.ax3-presentation-choice span{
  line-height:1.35!important;
}
.ax3-presentation-eligibility{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:8px 0 10px;
  padding:9px 11px;
  border-left:3px solid var(--ax3-accent,#f39200);
  background:#f7f8f9;
  color:#3f4750;
  font-size:13px;
  line-height:1.35;
}
.ax3-presentation-eligibility[hidden]{display:none!important}
.ax3-presentation-eligibility input{margin-top:2px}
.ax3-progress .is-skipped{
  opacity:.38!important;
  pointer-events:none!important;
}
.ax3-review-card-body{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.ax3-review-card-body > div[hidden]{display:none!important}

@media (max-width:900px){
  .ax3-type-grid{grid-template-columns:1fr!important}
}

/* V35 – gesammelte Korrekturen */
.ax3-type-grid .ax3-choice{position:relative!important;padding-right:62px!important}
.ax3-type-grid .ax3-choice::after{right:16px!important}
.ax3-type-grid .ax3-choice strong,.ax3-type-grid .ax3-choice span{max-width:100%!important}
.ax3-success-view{min-height:525px;box-sizing:border-box;padding:54px 32px 36px;text-align:center}
.ax3-success-view[hidden]{display:none!important}
.ax3-success-icon{width:46px;height:46px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ax3-accent,#f39200);color:#fff;font-size:25px;font-weight:700}
.ax3-success-view h2{margin:0 0 8px;color:#17202a;font-size:25px;line-height:1.25}
.ax3-success-view>p{max-width:680px;margin:0 auto 24px;color:#505862;font-size:15px;line-height:1.5}
.ax3-success-summary{max-width:900px;margin:0 auto 24px;display:flex;justify-content:center;border:1px solid #e0e3e6;border-radius:5px;background:#f8f9fa}
.ax3-success-summary>div{flex:1 1 0;min-width:0;padding:12px 14px;border-right:1px solid #e3e6e9;text-align:left}
.ax3-success-summary>div:last-child{border-right:0}
.ax3-success-summary small{display:block;margin-bottom:3px;color:#727a84;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ax3-success-summary strong{display:block;color:#252a30;font-size:12.5px;line-height:1.35;font-weight:600}
.ax3-success-home{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 22px;border-radius:4px;background:var(--ax3-accent,#f39200);color:#fff!important;font-weight:700;text-decoration:none!important}
@media(max-width:900px){.ax3-success-view{min-height:0;padding:36px 18px}.ax3-success-summary{display:block}.ax3-success-summary>div{border-right:0;border-bottom:1px solid #e3e6e9}.ax3-success-summary>div:last-child{border-bottom:0}}
\n\n/* V36 – Auswahlhaken mit eigener Spalte + robuste Erfolgsansicht */
.ax3-type-grid .ax3-choice{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 34px!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  align-items:center!important;
  padding:12px 14px 12px 16px!important;
  box-sizing:border-box!important;
}
.ax3-type-grid .ax3-choice strong,
.ax3-type-grid .ax3-choice span{
  grid-column:1!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  padding-right:0!important;
}
.ax3-type-grid .ax3-choice strong{grid-row:1!important}
.ax3-type-grid .ax3-choice span{grid-row:2!important}
.ax3-booking .ax3-type-grid .ax3-choice.is-selected:after{
  position:static!important;
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  justify-self:center!important;
  transform:none!important;
  right:auto!important;
  top:auto!important;
  margin:0!important;
}
.ax3-booking.is-complete .ax3-form,
.ax3-booking.is-complete .ax3-progress{
  display:none!important;
}
.ax3-booking.is-complete .ax3-success-view{
  display:block!important;
}


/* V37 – nur die drei vereinbarten Feinkorrekturen */
.ax3-presentation-choice .ax3-card-meta{
  display:block!important;
  margin-top:2px!important;
  color:inherit!important;
  font-size:inherit!important;
  line-height:1.35!important;
}

/* Der Textbereich bleibt klar vom Auswahlhaken getrennt. */
.ax3-type-grid .ax3-choice{
  padding-right:64px!important;
}
.ax3-type-grid .ax3-choice strong,
.ax3-type-grid .ax3-choice > span{
  display:block!important;
  max-width:100%!important;
}

/* Erfolgsansicht startet oben auf der Seite; kein zusätzlicher Layoutversatz. */
.ax3-success-view{
  scroll-margin-top:0!important;
}


/* V38 – Validierung Produktpräsentation */
.ax3-inline-error{
  margin:-4px 0 8px;
  padding-left:12px;
  color:#9b2c2c;
  font-size:12.5px;
  line-height:1.35;
  font-weight:600;
}
.ax3-inline-error[hidden]{display:none!important}


/* V39 – Präsentation ohne Beschreibungsfeld + Pflichtfeldhinweis */
.ax3-field[hidden]{display:none!important}
.ax3-required-note{margin:-2px 0 4px;text-align:right;color:#68717c;font-size:11.5px;line-height:1.2}


/* V43 – CAD-Plattform */
.ax3-platform-block{
  margin:8px 0 9px!important;
}
.ax3-platform-head{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  margin-bottom:6px!important;
}
.ax3-platform-head strong{
  color:#30363d!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
.ax3-platform-head span{
  color:#68717c!important;
  font-size:12.5px!important;
  line-height:1.3!important;
}
.ax3-platform-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
}
.ax3-platform-option{
  position:relative!important;
  display:block!important;
  margin:0!important;
  cursor:pointer!important;
}
.ax3-platform-option input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ax3-platform-option span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:5px 9px!important;
  box-sizing:border-box!important;
  border:1px solid #dfe2e6!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#4b535d!important;
  font-size:12.5px!important;
  line-height:1.2!important;
  font-weight:600!important;
  text-align:center!important;
  transition:border-color .14s ease,background .14s ease,color .14s ease!important;
}
.ax3-platform-option input:checked + span{
  border-color:var(--ax3-accent,#f39200)!important;
  background:#fff7ed!important;
  color:#20242a!important;
}
.ax3-platform-option input:focus-visible + span{
  outline:2px solid var(--ax3-accent,#f39200)!important;
  outline-offset:2px!important;
}
.ax3-review-platform{
  display:block!important;
  margin-top:2px!important;
  color:#68717c!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  font-weight:500!important;
}
@media(max-width:700px){
  .ax3-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ax3-platform-head{display:block!important}
  .ax3-platform-head span{display:block!important;margin-top:2px!important}
}


/* V44 – Seite 1 harmonisiert: CAD-Plattform als kompakter Zusatzparameter */
.ax3-step[data-step="1"] .ax3-platform-block{
  margin:7px 0 7px!important;
}
.ax3-step[data-step="1"] .ax3-platform-head{
  display:block!important;
  margin:0 0 5px!important;
}
.ax3-step[data-step="1"] .ax3-platform-head strong{
  display:block!important;
  color:#4a5159!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
.ax3-step[data-step="1"] .ax3-platform-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
}
.ax3-step[data-step="1"] .ax3-platform-option span{
  min-height:40px!important;
  padding:7px 12px!important;
  justify-content:flex-start!important;
  border:1px solid var(--ax3-border)!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#3f454c!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:600!important;
  text-align:left!important;
}
.ax3-step[data-step="1"] .ax3-platform-option span:before{
  content:""!important;
  width:16px!important;
  height:16px!important;
  margin-right:9px!important;
  box-sizing:border-box!important;
  border:1px solid #bfc4ca!important;
  border-radius:50%!important;
  background:#fff!important;
  flex:0 0 auto!important;
}
.ax3-step[data-step="1"] .ax3-platform-option input:checked + span{
  border-color:var(--ax3-accent,#f39200)!important;
  background:var(--ax3-accent-soft,#fff8ee)!important;
  color:#20242a!important;
}
.ax3-step[data-step="1"] .ax3-platform-option input:checked + span:before{
  border:5px solid var(--ax3-accent,#f39200)!important;
}

/* Beschreibung kompakter, damit die feste Schritt-Höhe nicht kollidiert. */
.ax3-step[data-step="1"] [data-details-field]{
  margin-top:7px!important;
}
.ax3-step[data-step="1"] [data-details-field] > span{
  margin-bottom:4px!important;
  font-size:12.5px!important;
}
.ax3-step[data-step="1"] textarea{
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  padding:9px 11px!important;
  resize:none!important;
}

/* Etwas kompaktere Abstände nur auf Schritt 1. */
.ax3-step[data-step="1"] .ax3-module-guide{
  margin-bottom:6px!important;
}
.ax3-step[data-step="1"] .ax3-topic-grid{
  margin-bottom:0!important;
}

/* Navigation bleibt sauber oberhalb der Unterkante. */
.ax3-step[data-step="1"] > .ax3-actions{
  padding-top:8px!important;
}

@media(max-width:900px){
  .ax3-step[data-step="1"] .ax3-platform-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ax3-step[data-step="1"] textarea{
    height:76px!important;
    min-height:76px!important;
    max-height:none!important;
    resize:vertical!important;
  }
}


/* V45 – Plattform logisch vor den Modulen */
.ax3-step[data-step="1"] .ax3-platform-block{
  margin:12px 0 13px!important;
}
.ax3-step[data-step="1"] .ax3-platform-head{
  margin-bottom:6px!important;
}
.ax3-step[data-step="1"] .ax3-platform-head strong{
  font-size:11.5px!important;
  letter-spacing:.065em!important;
}
.ax3-step[data-step="1"] .ax3-platform-grid{
  gap:7px!important;
}
.ax3-step[data-step="1"] .ax3-platform-option span{
  min-height:40px!important;
  font-size:13px!important;
}
.ax3-step[data-step="1"] .ax3-platform-block + h3{
  margin-top:0!important;
}


/* V47 – dynamische Einheitenempfehlung */
.ax3-step[data-step="2"] [data-units-recommendation]{
  margin:0 0 12px!important;
  color:#565e68!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.ax3-step[data-step="2"] [data-units-recommendation] strong{
  color:#2b3138!important;
  font-weight:700!important;
}

/* V48 - Beschreibungsfeld innerhalb des Formularrasters */
.ax3-booking .ax3-field,
.ax3-booking .ax3-field *{box-sizing:border-box;}
.ax3-booking .ax3-field textarea{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
.ax3-booking .ax3-step[data-step="1"] [data-details-field]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden;
}


/* V49 – Seite 1: Karten konsistent + saubere Trennung Beschreibung / Navigation */
.ax3-step[data-step="1"] .ax3-presentation-choice .ax3-card-meta{
  display:initial!important;
  margin:0!important;
  font:inherit!important;
}

/* Beschreibung bleibt vollständig in ihrer eigenen Zeile */
.ax3-step[data-step="1"] [data-details-field]{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:8px 0 0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.ax3-step[data-step="1"] [data-details-field] textarea{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
  padding:9px 11px!important;
  box-sizing:border-box!important;
  resize:none!important;
}

/* Eigene Navigationszeile unterhalb des Textfeldes */
.ax3-step[data-step="1"] > .ax3-actions{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  margin:10px 0 0!important;
  padding:10px 0 0!important;
  border-top:1px solid var(--ax3-border)!important;
  box-sizing:border-box!important;
}

/* Die feste Seitenhöhe bleibt erhalten, ohne dass der Button über dem Feld liegt */
@media (min-width:901px){
  .ax3-booking .ax3-step[data-step="1"].is-active{
    display:flex!important;
    flex-direction:column!important;
  }
  .ax3-step[data-step="1"] > .ax3-actions{
    margin-top:auto!important;
  }
}

@media (max-width:900px){
  .ax3-step[data-step="1"] [data-details-field] textarea{
    height:76px!important;
    min-height:76px!important;
    max-height:none!important;
    resize:vertical!important;
  }
  .ax3-step[data-step="1"] > .ax3-actions{
    margin-top:12px!important;
  }
}


/* V50 – robuste Zustände auf Schritt 1 */
.ax3-step[data-step="1"] [data-details-field][hidden]{
  display:none!important;
}

/* Keine automatische Flex-Verteilung mehr: Beschreibung und Navigation bleiben normal im Dokumentfluss. */
.ax3-booking .ax3-step[data-step="1"].is-active{
  display:block!important;
}
.ax3-step[data-step="1"] > .ax3-actions{
  position:static!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  width:100%!important;
  margin:12px 0 0!important;
  padding:10px 0 0!important;
  border-top:1px solid var(--ax3-border)!important;
  box-sizing:border-box!important;
}

/* Präsentationsmodus: nach der Bestätigungsbox direkt die Navigationszeile */
.ax3-presentation-eligibility:not([hidden]){
  margin-bottom:0!important;
}
.ax3-presentation-eligibility:not([hidden]) + .ax3-inline-error[hidden] + [data-details-field][hidden] + .ax3-actions{
  margin-top:12px!important;
}

/* Service-Fehler dezent direkt unter den Karten */
.ax3-step[data-step="1"] [data-service-error]{
  margin:6px 0 0!important;
}


/* V51 – ruhiger Abschluss auf Schritt 1, ohne Trennlinie */
.ax3-step[data-step="1"] > .ax3-actions{
  border-top:0!important;
}


/* V52 – etwas mehr Reserve für Validierungsmeldungen auf Schritt 1 */
@media (min-width:901px){
  .ax3-step[data-step="1"] [data-details-field] textarea{
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
}

/* V53 - Header auf der Terminseite schwarz */
#header-fullsize{
  background-color:#000!important;
}

/* V54 - Energieausweis Standalone: nur Energieausweis verfügbar */
.ax3-topic.is-disabled{
  opacity:.42!important;
}
.ax3-topic.is-disabled span{
  cursor:not-allowed!important;
  background:#f5f6f7!important;
  color:#8a9097!important;
  border-color:#e2e5e8!important;
}
.ax3-topic.is-disabled span:before{
  border-color:#d3d7db!important;
  background:#f5f6f7!important;
}

/* V55 - Empfehlung sauber umbrechen, keine Worttrennung */
.ax3-step[data-step="2"] [data-units-recommendation]{
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}


/* V56 - optionale Beschreibung auf Schritt 3 */
.ax3-step[data-step="3"] .ax3-step3-details{
  display:block;
  margin-top:18px;
}
.ax3-step[data-step="3"] .ax3-step3-details textarea{
  width:100%;
  box-sizing:border-box;
  resize:vertical;
}


/* V57 – fünfte Plattformoption */
.ax3-step[data-step="1"] .ax3-platform-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.ax3-step[data-step="1"] .ax3-platform-option span{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:1050px){
  .ax3-step[data-step="1"] .ax3-platform-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .ax3-step[data-step="1"] .ax3-platform-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ax3-step[data-step="1"] .ax3-platform-option span{
    white-space:normal!important;
  }
}




/* V59 – Schritt 3 sauber aufgebaut: Kalender unverändert, Beschreibung darunter */
@media (min-width:901px){
  .ax3-step[data-step="3"].is-active{
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:520px!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .ax3-step[data-step="3"] .ax3-schedule{
    flex:0 0 auto!important;
    height:267px!important;
    min-height:267px!important;
    max-height:267px!important;
    gap:10px!important;
  }

  .ax3-step[data-step="3"] .ax3-step3-details{
    display:block!important;
    width:100%!important;
    margin:18px 0 0!important;
    box-sizing:border-box!important;
  }

  .ax3-step[data-step="3"] .ax3-step3-details > span{
    display:block!important;
    margin-bottom:5px!important;
  }

  .ax3-step[data-step="3"] .ax3-step3-details textarea{
    display:block!important;
    width:100%!important;
    min-height:70px!important;
    height:70px!important;
    max-height:none!important;
    padding:9px 10px!important;
    box-sizing:border-box!important;
    resize:vertical!important;
  }

  .ax3-step[data-step="3"] .ax3-step3-footer{
    margin-top:14px!important;
    padding-top:10px!important;
    flex-shrink:0!important;
  }
}

/* V60 - Empfehlung auf Schritt 2 ruhiger und hochwertiger */
.ax3-step[data-step="2"] [data-units-recommendation]{
  display:block!important;
  margin:4px 0 18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#4f5660!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.ax3-step[data-step="2"] [data-units-recommendation] .ax3-rec-label{
  display:block!important;
  margin-bottom:4px!important;
  color:#6b737d!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
.ax3-step[data-step="2"] [data-units-recommendation] .ax3-rec-text{
  display:block!important;
  max-width:980px!important;
}
.ax3-step[data-step="2"] [data-units-recommendation] strong{
  color:#242a30!important;
  font-weight:700!important;
}


/* V61 – Empfehlung mit klarer Luft und bewussten Zeilen */
.ax3-step[data-step="2"] [data-units-recommendation]{
  margin:12px 0 24px!important;
}

.ax3-step[data-step="2"] [data-units-recommendation] .ax3-rec-label{
  margin-bottom:9px!important;
}

.ax3-step[data-step="2"] [data-units-recommendation] .ax3-rec-text{
  display:block!important;
  line-height:1.55!important;
}

.ax3-step[data-step="2"] [data-units-recommendation] .ax3-rec-text > span{
  display:block!important;
}

.ax3-step[data-step="2"] [data-units-recommendation] .ax3-rec-text > span + span{
  margin-top:2px!important;
}
