.elementor-25 .elementor-element.elementor-element-0206363{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-25 .elementor-element.elementor-element-6ec036e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}body.elementor-page-25:not(.elementor-motion-effects-element-type-background), body.elementor-page-25 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://preview.v2.webfire-marketing.com/wp-content/uploads/2025/12/hintergrund-dunkel-orange-licht-webdesign.webp");background-position:bottom left;background-repeat:no-repeat;background-size:cover;}@media(max-width:767px){.elementor-25 .elementor-element.elementor-element-6ec036e{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-12f1cc3 */:root{
  --apt-bg:#020617;
  --apt-card-bg:#020617;
  --apt-border:rgba(148,163,184,.45);

  --apt-orange:#e05f00;
  --apt-orange-hover:#ff8a33;
  --apt-orange-grad:linear-gradient(120deg,#f97316,#fb923c,#fed7aa);

  --apt-text-main:#f9fafb;
  --apt-text-soft:#9ca3af;
}

/* Scope + Reset */
#apt-appointment,
#apt-appointment *{ box-sizing:border-box; }

/* =========================
   Layout
========================= */
#apt-appointment{
  background:transparent;
  padding:clamp(3rem,6vw,4rem) clamp(1.5rem,8vw,6rem);
  display:flex;
  justify-content:center;
}

#apt-appointment .apt-card{
  width:100%;
  max-width:780px;
  border-radius:1.6rem;
  border:1px solid var(--apt-orange);
  background:
    radial-gradient(circle at 0 0,rgba(148,163,184,.16),transparent 60%),
    radial-gradient(circle at 100% 20%,rgba(15,23,42,1),#020617 60%);
  box-shadow:
    0 26px 70px rgba(15,23,42,.95),
    0 0 0 1px rgba(15,23,42,.9);
  padding:1.8rem clamp(1.5rem,4vw,2.3rem);
  color:var(--apt-text-main);
}

/* =========================
   Step Tabs
========================= */
#apt-appointment .apt-steps{
  display:inline-flex;
  gap:.35rem;
  padding:.25rem;
  border-radius:999px;
  background:rgba(15,23,42,.96);
  border:1px solid rgba(148,163,184,.4);
  margin-bottom:1.3rem;
}

#apt-appointment .apt-step-indicator{
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:.32rem .85rem;
  border-radius:999px;
  color:#e5e7eb;
  background:transparent;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease;
}

#apt-appointment .apt-step-indicator.is-active{
  background:var(--apt-orange-grad);
  color:#0b1120;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:
    0 10px 24px rgba(0,0,0,.35),
    inset 0 0 1.2em -0.6em rgba(15,23,42,.85);
}

#apt-appointment .apt-step-indicator:not(.is-active):hover{
  background:rgba(148,163,184,.12);
}

/* =========================
   Steps
========================= */
#apt-appointment .apt-step{display:none;}
#apt-appointment .apt-step.is-active{display:block;}

#apt-appointment .apt-step-header h2{
  font-size:1.25rem;
  margin:0 0 .3rem;
}

#apt-appointment .apt-step-header p{
  font-size:.9rem;
  color:var(--apt-text-soft);
  margin:0 0 1.1rem;
}

#apt-appointment .apt-step-body{
  display:flex;
  flex-direction:column;
  gap:.9rem;
}

#apt-appointment .apt-summary{
  margin:0 0 1rem;
  font-size:.85rem;
  color:#cbd5f5;
}

/* =========================
   Form
========================= */
#apt-appointment .apt-form-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

#apt-appointment .apt-field{
  display:flex;
  flex-direction:column;
  gap:.25rem;
}

#apt-appointment .apt-field-label{
  font-size:.85rem;
  color:#e5e7eb;
}

#apt-appointment .apt-input{
  border-radius:.6rem;
  border:1px solid var(--apt-border);
  background:rgba(15,23,42,.9);
  padding:.6rem .75rem;
  font-size:.9rem;
  color:var(--apt-text-main);
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

#apt-appointment .apt-input:focus{
  border-color:var(--apt-orange);
  box-shadow:0 0 0 1px rgba(224,95,0,.55);
  background:rgba(15,23,42,.98);
}

#apt-appointment .apt-textarea{
  resize:vertical;
  min-height:120px;
}

/* Custom Time Selects */
#apt-appointment .apt-time-selects{
  display:flex;
  align-items:center;
  gap:.6rem;
  max-width:260px;
}

#apt-appointment .apt-time-select{
  flex:1;
  /* Pfeil neu zeichnen, nativen entfernen */
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239ca3af' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right .65rem center !important;
  background-size:.7rem !important;
  padding-right:2rem !important;
  cursor:pointer;
  text-align:center;
}

#apt-appointment .apt-time-select option{
  background:#0f172a;
  color:#f9fafb;
}

#apt-appointment .apt-time-colon{
  font-size:1.2rem;
  font-weight:700;
  color:#e5e7eb;
  line-height:1;
  flex-shrink:0;
}

#apt-appointment .apt-time-help{
  font-size:.78rem;
  color:var(--apt-text-soft);
  margin:.15rem 0 0;
}

#apt-appointment .apt-time-error{
  margin:.25rem 0 0;
  font-size:.82rem;
  color:#fecaca;
  min-height:1.1rem;
}

/* Checkbox */
#apt-appointment .apt-field--checkbox{margin-top:.3rem;}

#apt-appointment .apt-checkbox{
  display:flex;
  align-items:flex-start;
  gap:.5rem;
  font-size:.8rem;
  color:var(--apt-text-soft);
}

#apt-appointment .apt-checkbox input[type="checkbox"]{
  margin-top:.15rem;
  accent-color:var(--apt-orange);
}

#apt-appointment .apt-checkbox a{
  color:#e5e7eb;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

/* Autofill-Override: verhindert weißen/gelben Browser-Hintergrund */
#apt-appointment .apt-input:-webkit-autofill,
#apt-appointment .apt-input:-webkit-autofill:hover,
#apt-appointment .apt-input:-webkit-autofill:focus,
#apt-appointment .apt-input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px rgba(15,23,42,.9) inset !important;
  box-shadow: 0 0 0 1000px rgba(15,23,42,.9) inset !important;
  -webkit-text-fill-color: #f9fafb !important;
  caret-color: #f9fafb;
  border-color: var(--apt-border) !important;
  transition: background-color 99999s ease-in-out 0s !important;
}

#apt-appointment .apt-input:-webkit-autofill:focus {
  border-color: var(--apt-orange) !important;
  box-shadow:
    0 0 0 1000px rgba(15,23,42,.98) inset,
    0 0 0 1px rgba(224,95,0,.55) !important;
}

/* Status */
#apt-appointment .apt-status{
  font-size:.82rem;
  margin-top:.5rem;
  min-height:1.1rem;
}
#apt-appointment .apt-status--error{color:#fecaca;}
#apt-appointment .apt-status--ok{color:#bbf7d0;}

/* =========================
   Calendar
========================= */
#apt-appointment .apt-calendar{
  border-radius:1.2rem;
  border:1px solid var(--apt-border);
  background:rgba(15,23,42,.98);
  padding:.9rem 1rem 1rem;
}

#apt-appointment .apt-calendar-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:.7rem;
}

#apt-appointment .apt-calendar-label{
  font-size:.95rem;
  font-weight:600;
}

#apt-appointment .apt-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:.15rem;
  font-size:.8rem;
  /* FIX: Buttons in jeder Spalte zentrieren → bündig unter Wochentags-Header */
  justify-items:center;
}

/* JS erzeugt .wf-cal-weekday/.wf-cal-day evtl noch – wir stylen beides ab */
#apt-appointment .apt-cal-weekday,
#apt-appointment .wf-cal-weekday{
  /* FIX: volle Breite + Text-Zentrierung */
  width:100%;
  text-align:center;
  padding:.4rem 0;
  border-radius:.6rem;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--apt-text-soft);
}

/* Empty-Zellen füllen die Spalte, bleiben unsichtbar */
#apt-appointment .apt-cal-day--empty{
  width:100%;
}

/* Days: apt + wf kompatibel */
#apt-appointment .apt-calendar button.apt-cal-day,
#apt-appointment .apt-calendar button.wf-cal-day{
  border:0 !important;
  background:transparent !important;
  color:#e5e7eb !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  /* Kompakte fixe Größe – justify-items:center im Grid sorgt für Ausrichtung */
  width:2.3rem !important;
  height:2.3rem !important;
  padding:0 !important;
  line-height:1 !important;

  border-radius:.75rem !important;
  box-shadow:none !important;
  cursor:pointer !important;
}

/* Selected: apt + wf kompatibel */
#apt-appointment .apt-calendar button.apt-cal-day.is-selected,
#apt-appointment .apt-calendar button.wf-cal-day.is-selected{
  background:var(--apt-orange-grad) !important;
  color:#0b1120 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:
    0 10px 24px rgba(0,0,0,.35),
    inset 0 0 1.2em -0.6em rgba(15,23,42,.85) !important;
}

/* Disabled */
#apt-appointment .apt-calendar button.apt-cal-day--disabled,
#apt-appointment .apt-calendar button.apt-cal-day[disabled],
#apt-appointment .apt-calendar button.wf-cal-day--disabled,
#apt-appointment .apt-calendar button.wf-cal-day[disabled]{
  opacity:.35 !important;
  color:#6b7280 !important;
  cursor:default !important;
  background:transparent !important;
  border:0 !important;
}

/* FIX: Hover-State – generell kein visuelles Feedback ... */
#apt-appointment .apt-calendar button.apt-cal-day:hover,
#apt-appointment .apt-calendar button.wf-cal-day:hover{
  background:transparent !important;
  border:0 !important;
  transform:none !important;
  box-shadow:none !important;
}

/* FIX: ...ABER: selected bleibt selected, auch beim Hovern.
   Höhere Spezifität als der allgemeine :hover-Block oben. */
#apt-appointment .apt-calendar button.apt-cal-day.is-selected:hover,
#apt-appointment .apt-calendar button.wf-cal-day.is-selected:hover{
  background:var(--apt-orange-grad) !important;
  color:#0b1120 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:
    0 10px 24px rgba(0,0,0,.35),
    inset 0 0 1.2em -0.6em rgba(15,23,42,.85) !important;
}

/* =========================
   Pfeile (apt-cal-nav) – harter Override
========================= */
#apt-appointment .apt-calendar .apt-cal-nav,
#apt-appointment .apt-calendar-header .apt-cal-nav,
#apt-appointment .apt-calendar button.apt-cal-nav{
  appearance:none !important;
  -webkit-appearance:none !important;

  width:2.4rem !important;
  height:2.4rem !important;
  padding:0 !important;

  border-radius:.85rem !important;
  border:1px solid rgba(255,255,255,.14) !important;

  background:rgba(15,23,42,.86) !important;
  color:#e5e7eb !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  cursor:pointer !important;
  font-size:1.15rem !important;
  line-height:1 !important;
  text-decoration:none !important;

  box-shadow:
    0 10px 24px rgba(0,0,0,.28),
    inset 0 0 1.2em -0.8em rgba(15,23,42,.75) !important;

  transition:background-color .18s ease,border-color .18s ease,transform .12s ease,box-shadow .18s ease !important;
}

#apt-appointment .apt-calendar .apt-cal-nav:hover{
  border-color:rgba(251,146,60,.65) !important;
  background:rgba(148,163,184,.10) !important;
  transform:translateY(-1px) !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.38),
    inset 0 0 1.2em -0.8em rgba(15,23,42,.75) !important;
}

#apt-appointment .apt-calendar .apt-cal-nav:active{
  transform:translateY(0) !important;
}

#apt-appointment .apt-calendar .apt-cal-nav:focus-visible{
  outline:none !important;
  box-shadow:
    0 0 0 2px rgba(224,95,0,.35),
    0 14px 34px rgba(0,0,0,.38),
    inset 0 0 1.2em -0.8em rgba(15,23,42,.75) !important;
}

/* =========================
   Buttons: Weiter + Termin anfragen (Gradient)
========================= */
#apt-appointment .apt-step-footer{
  display:flex;
  justify-content:flex-end;
  gap:.8rem;
  margin-top:1.2rem;
}
#apt-appointment .apt-step-footer--form{margin-top:1.4rem;}

#apt-appointment #apt-time-continue,
#apt-appointment #apt-submit,
#apt-appointment .apt-btn{
  appearance:none !important;
  -webkit-appearance:none !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:.85rem 2.1rem !important;
  border-radius:999px !important;

  border:1px solid rgba(255,255,255,.14) !important;
  background:var(--apt-orange-grad) !important;
  color:#0b1120 !important;

  font-size:.9rem !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  font-weight:800 !important;

  cursor:pointer !important;
  text-decoration:none !important;

  box-shadow:
    0 10px 24px rgba(0,0,0,.35),
    inset 0 0 1.2em -0.6em rgba(15,23,42,.85) !important;

  transition:transform .15s ease,box-shadow .2s ease,filter .2s ease !important;
}

#apt-appointment #apt-time-continue:hover,
#apt-appointment #apt-submit:hover,
#apt-appointment .apt-btn:hover{
  transform:translateY(-1px) !important;
  box-shadow:
    0 0 0 1px rgba(248,250,252,.06),
    0 18px 35px rgba(0,0,0,.55) !important;
  filter:saturate(1.05) !important;
}

#apt-appointment #apt-time-continue:disabled,
#apt-appointment #apt-submit:disabled,
#apt-appointment .apt-btn:disabled{
  opacity:.55 !important;
  cursor:not-allowed !important;
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}

/* Secondary Button in Success */
#apt-appointment .apt-btn-secondary{
  border:1px solid rgba(148,163,184,.6) !important;
  background:rgba(15,23,42,.55) !important;
  color:#e5e7eb !important;
  box-shadow:none !important;
}
#apt-appointment .apt-btn-secondary:hover{
  border-color:var(--apt-orange-hover) !important;
  background:rgba(15,23,42,.9) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 18px 35px rgba(0,0,0,.55) !important;
}

/* =========================
   Success
   FIX: JS setzt "wf-has-success" – CSS muss denselben Namen verwenden.
   Vorher stand hier "apt-has-success" im JS und "wf-has-success" im CSS
   → Success-Ansicht wurde nie angezeigt.
========================= */
#apt-appointment .apt-success{
  display:none;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-top:2.3rem;
  gap:.8rem;
}

#apt-appointment .apt-success-circle{
  width:64px;
  height:64px;
  border-radius:999px;
  background:rgba(16,185,129,.12);
  border:1px solid rgba(16,185,129,.7);
  display:flex;
  align-items:center;
  justify-content:center;
}

#apt-appointment .apt-success-circle svg{
  width:30px;
  height:30px;
  fill:#22c55e;
}

#apt-appointment .apt-success h2{font-size:1.25rem;margin:0;}
#apt-appointment .apt-success p{font-size:.9rem;color:var(--apt-text-soft);margin:0;}

/* FIX: Klassenname angepasst auf "wf-has-success" (konsistent mit JS) */
#apt-appointment .apt-card.wf-has-success .apt-steps,
#apt-appointment .apt-card.wf-has-success .apt-step{
  display:none !important;
}
#apt-appointment .apt-card.wf-has-success .apt-success{display:flex;}

/* Responsive */
@media (max-width:640px){
  #apt-appointment{padding-inline:1.3rem;}
  #apt-appointment .apt-card{
    padding:1.6rem 1.2rem;
    border-radius:1.2rem;
  }

  #apt-appointment .apt-form-row{grid-template-columns:minmax(0,1fr);}
  #apt-appointment .apt-step-footer{justify-content:stretch;}

  #apt-appointment #apt-time-continue,
  #apt-appointment #apt-submit,
  #apt-appointment .apt-btn{ width:100% !important; }

  #apt-appointment .apt-checkbox{
    line-height:1.25;
    font-size:.78rem;
  }
}/* End custom CSS */