.af-terminanfrage{max-width:920px;margin:0 auto;padding:44px 24px;color:#1f2933;font-family:inherit}.af-terminanfrage-intro{text-align:center;margin-bottom:38px}.af-kicker{display:inline-block;margin-bottom:10px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#4e9f4f;font-weight:800}.af-terminanfrage-intro h2{margin:0 0 14px;font-size:clamp(30px,4vw,44px);line-height:1.15;font-weight:700;color:#4e9f4f}.af-terminanfrage-intro p{max-width:760px;margin:0 auto;font-size:17px;line-height:1.75;color:#4b5563}.af-section{margin-bottom:28px;padding:30px;border:1px solid rgba(78,159,79,.18);border-radius:24px;background:#fbfdfb;box-shadow:0 14px 40px rgba(15,23,42,.045)}.af-section h3{margin:0 0 24px;font-size:22px;line-height:1.3;font-weight:700;color:#2f7d38}.af-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.af-terminanfrage label{display:block;margin-bottom:18px;font-size:15px;font-weight:600;color:#243128}.af-terminanfrage input,.af-terminanfrage select,.af-terminanfrage textarea{width:100%;margin-top:8px;min-height:54px;padding:14px 16px;border:1px solid #d7e3d9;border-radius:15px;background:#fff;color:#1f2933;font-size:16px;line-height:1.4;outline:none;box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}.af-terminanfrage textarea{min-height:130px;resize:vertical}.af-terminanfrage input:focus,.af-terminanfrage select:focus,.af-terminanfrage textarea:focus{border-color:#4e9f4f;box-shadow:0 0 0 4px rgba(78,159,79,.14)}.af-terminanfrage input::placeholder,.af-terminanfrage textarea::placeholder{color:#9aa5a1}.af-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.af-choice-card{position:relative;margin:0!important;padding:24px 22px;border:1px solid rgba(78,159,79,.22);border-radius:20px;background:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.af-choice-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.07)}.af-choice-card input{position:absolute;opacity:0;pointer-events:none}.af-choice-card:has(input:checked){border-color:#4e9f4f;box-shadow:0 0 0 4px rgba(78,159,79,.12);background:#f5faf5}.af-choice-title{display:block;margin-bottom:8px;font-size:20px;font-weight:800;color:#2f7d38}.af-choice-text{display:block;font-size:15px;line-height:1.6;color:#667085}.af-field-group{margin-bottom:18px}.af-field-label{display:block;margin-bottom:12px;font-size:15px;font-weight:700;color:#243128}.af-weekday-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:8px}.af-weekday-card{position:relative;margin:0!important}.af-weekday-card input{position:absolute;opacity:0;pointer-events:none}.af-weekday-card span{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 10px;border:1px solid rgba(78,159,79,.24);border-radius:16px;background:#fff;color:#2f7d38;font-size:15px;font-weight:800;text-align:center;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}.af-weekday-card span:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.06)}.af-weekday-card input:checked+span{background:#f5faf5;border-color:#4e9f4f;box-shadow:0 0 0 4px rgba(78,159,79,.12);color:#1f2933}.af-weekday-card input:focus-visible+span{outline:2px solid #4e9f4f;outline-offset:2px}.af-note,.af-final-note{margin:6px 0 0;font-size:14px;line-height:1.65;color:#667085}.af-consent{margin-bottom:26px;padding:20px 24px;border-radius:20px;background:#f5faf5;border:1px solid rgba(78,159,79,.2);color:#374151;font-size:15px;line-height:1.55}.af-consent label{display:flex;align-items:flex-start;gap:12px;margin:0;font-weight:500}.af-consent input[type=checkbox]{width:20px;min-width:20px;height:20px;min-height:20px;margin:2px 0 0;padding:0;accent-color:#4e9f4f}.af-consent a{color:#2f7d38;font-weight:700;text-decoration:none}.af-submit-wrap{text-align:center}.af-submit-wrap button{width:auto;min-width:270px;min-height:56px;padding:16px 34px;border:none;border-radius:999px;background:#4e9f4f;color:#fff;font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 14px 32px rgba(78,159,79,.28);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.af-submit-wrap button:hover{background:#3f8d42;transform:translateY(-2px);box-shadow:0 18px 40px rgba(78,159,79,.34)}.af-submit-wrap button:disabled{opacity:.65;cursor:not-allowed;transform:none}.af-final-note{max-width:680px;margin:18px auto 0;text-align:center}.af-message{display:none;margin:24px 0 0;padding:16px 20px;border-radius:16px;font-size:15px;line-height:1.6}.af-message.is-success{display:block;background:#f5faf5;border:1px solid rgba(78,159,79,.26);color:#2f7d38}.af-message.is-error{display:block;background:#fff4f2;border:1px solid rgba(180,35,24,.2);color:#b42318}@media (max-width:768px){.af-terminanfrage{padding:32px 16px}.af-terminanfrage-intro{text-align:left;margin-bottom:28px}.af-terminanfrage-intro h2{font-size:30px}.af-terminanfrage-intro p{font-size:16px}.af-section{padding:22px 18px;border-radius:20px}.af-section h3{font-size:20px}.af-grid,.af-choice-grid,.af-weekday-grid{grid-template-columns:1fr;gap:0}.af-choice-grid{gap:14px}.af-weekday-grid{gap:10px}.af-terminanfrage input,.af-terminanfrage select,.af-terminanfrage textarea{font-size:16px;border-radius:14px}.af-submit-wrap button{width:100%;min-width:unset}}

/* Aktiv + Fit Datepicker */
.af-terminanfrage .af-date-field{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%234e9f4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat right 16px center;background-size:20px;padding-right:48px}.flatpickr-calendar.af-calendar,.flatpickr-calendar{border:1px solid rgba(78,159,79,.22)!important;border-radius:20px!important;box-shadow:0 18px 45px rgba(15,23,42,.16)!important;overflow:hidden!important;font-family:inherit!important}.flatpickr-months{background:#4e9f4f!important;padding:12px 10px!important}.flatpickr-months .flatpickr-month,.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{color:#fff!important;font-weight:800!important}.flatpickr-current-month .flatpickr-monthDropdown-months{background:#4e9f4f!important}.flatpickr-current-month input.cur-year{background:rgba(255,255,255,.14)!important;border-radius:8px!important;padding:2px 6px!important}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{top:12px!important;color:#fff!important;fill:#fff!important}.flatpickr-weekdays{background:#f5faf5!important}.flatpickr-weekday{color:#2f7d38!important;font-weight:800!important}.flatpickr-day{border-radius:12px!important;color:#1f2933!important}.flatpickr-day:hover{background:#edf7ed!important;border-color:#edf7ed!important}.flatpickr-day.today{border-color:#4e9f4f!important}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:#4e9f4f!important;border-color:#4e9f4f!important;color:#fff!important}.flatpickr-day.disabled,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:#a7b0aa!important}


/* Aktiv + Fit Datepicker: helle Kalenderfläche + besser lesbares Jahr */
.flatpickr-calendar.af-calendar,
.flatpickr-calendar {
  background:#ffffff!important;
  border:1px solid rgba(78,159,79,.24)!important;
  border-radius:20px!important;
  box-shadow:0 18px 45px rgba(15,23,42,.16)!important;
  overflow:hidden!important;
  font-family:inherit!important;
}
.flatpickr-calendar .flatpickr-innerContainer,
.flatpickr-calendar .flatpickr-rContainer,
.flatpickr-calendar .flatpickr-days,
.flatpickr-calendar .dayContainer {
  background:#ffffff!important;
}
.flatpickr-current-month {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  left:12.5%!important;
  width:75%!important;
}
.flatpickr-current-month .numInputWrapper {
  width:92px!important;
  min-width:92px!important;
}
.flatpickr-current-month input.cur-year {
  width:92px!important;
  min-width:92px!important;
  height:34px!important;
  font-size:18px!important;
  text-align:center!important;
  background:rgba(255,255,255,.18)!important;
  border-radius:10px!important;
  padding:4px 10px!important;
  color:#ffffff!important;
  font-weight:800!important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  min-width:112px!important;
  height:34px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.12)!important;
  color:#ffffff!important;
  font-weight:800!important;
}
.flatpickr-day,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.disabled,
.flatpickr-day.disabled:hover {
  color:#52605a!important;
}
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color:#8b9690!important;
}
.flatpickr-day.disabled,
.flatpickr-day.disabled:hover {
  color:#a7b0aa!important;
  opacity:.72!important;
  background:transparent!important;
}
.flatpickr-day.today:not(.selected) {
  color:#1f2933!important;
  border-color:#4e9f4f!important;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background:#4e9f4f!important;
  border-color:#4e9f4f!important;
  color:#ffffff!important;
}

/* Version 1.3 – Premium UX */
.af-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.af-choice-card{position:relative;overflow:hidden;text-decoration:none!important;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}
.af-choice-card:hover,.af-choice-card:focus-within,.af-choice-link:focus-visible{transform:translateY(-4px);border-color:#4e9f4f;box-shadow:0 16px 34px rgba(78,159,79,.14);outline:none}
.af-choice-card .af-choice-arrow{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#f5faf5;color:#2f7d38;font-size:20px;font-weight:800;transition:transform .25s ease,background .25s ease,color .25s ease}
.af-choice-card:hover .af-choice-arrow,.af-choice-card:focus-within .af-choice-arrow,.af-choice-link:focus-visible .af-choice-arrow{transform:translateX(4px);background:#4e9f4f;color:#fff}
.af-choice-link{display:flex;color:inherit!important}
.af-choice-meta{display:inline-flex;align-self:flex-start;margin-top:14px;padding:7px 10px;border-radius:999px;background:#f5faf5;color:#2f7d38;font-size:12px;line-height:1.35;font-weight:800}
.af-choice-card input:checked~.af-choice-arrow{background:#4e9f4f;color:#fff}
.af-form-details[hidden]{display:none!important}
.af-form-details.is-visible{display:block;animation:afReveal .38s ease both}
@keyframes afReveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.af-terminanfrage input:not([type=checkbox]):not([type=radio]):valid:not(:placeholder-shown),.af-terminanfrage textarea:valid:not(:placeholder-shown),.af-terminanfrage select:valid{border-color:rgba(78,159,79,.65)}
.af-upload-status{display:none;margin-top:10px;padding:10px 12px;border-radius:12px;background:#f5faf5;color:#2f7d38;font-size:14px;font-weight:800}
.af-upload-status.is-visible{display:block}
.af-upload-status small{display:block;margin-top:3px;color:#667085;font-weight:500;overflow-wrap:anywhere}
.af-submit-wrap button.is-loading{position:relative;padding-left:54px}
.af-submit-wrap button.is-loading:before{content:"";position:absolute;left:24px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:afSpin .75s linear infinite}
@keyframes afSpin{to{transform:rotate(360deg)}}
.af-message.is-success{padding:24px 26px;font-size:17px;font-weight:700;box-shadow:0 12px 30px rgba(78,159,79,.1)}
@media (max-width:980px){.af-choice-grid{grid-template-columns:1fr 1fr}.af-choice-link{grid-column:1/-1}}
@media (max-width:768px){.af-choice-grid{grid-template-columns:1fr}.af-choice-link{grid-column:auto}.af-choice-card{min-height:auto}}


/* Version 1.3.1 – einheitliches Kartenlayout */
.af-choice-grid{align-items:stretch}
.af-choice-card,
.af-choice-link{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  min-width:0;
  min-height:268px;
  padding:28px 24px 24px!important;
  padding-right:66px!important;
  box-sizing:border-box;
}
.af-choice-content{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  width:100%;
}
.af-choice-title{
  display:block;
  width:100%;
  min-height:54px;
  margin:0 0 12px!important;
  font-size:20px;
  line-height:1.35;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.af-choice-text{
  display:block;
  width:100%;
  margin:0;
  line-height:1.6;
  overflow-wrap:break-word;
}
.af-choice-meta{
  display:inline-flex;
  max-width:100%;
  margin-top:auto!important;
  padding:8px 11px;
  white-space:normal;
  overflow-wrap:break-word;
}
.af-choice-card .af-choice-arrow{top:20px;right:20px}
@media (max-width:980px){
  .af-choice-card,.af-choice-link{min-height:240px}
}
@media (max-width:768px){
  .af-choice-card,.af-choice-link{min-height:auto;padding:24px 66px 24px 22px!important}
  .af-choice-title{min-height:auto;margin-bottom:8px!important}
  .af-choice-meta{margin-top:16px!important}
}


/* Version 1.3.2 – Premium-Feinschliff der Auswahlkarten */
.af-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:18px;
}
.af-choice-card,
.af-choice-link{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  min-width:0;
  min-height:270px;
  padding:28px 24px 24px!important;
  box-sizing:border-box;
}
.af-choice-content{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  min-width:0;
}
.af-choice-title{
  width:100%;
  min-height:58px;
  margin:0 0 14px!important;
  padding-right:44px;
  box-sizing:border-box;
  font-size:20px;
  line-height:1.35;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.af-choice-text{
  width:100%;
  min-height:78px;
  margin:0!important;
  font-size:15px;
  line-height:1.6;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
}
.af-choice-meta{
  display:inline-flex;
  align-self:flex-start;
  max-width:100%;
  margin:18px 0 0!important;
  padding:7px 10px;
  border-radius:14px;
  background:#f5faf5;
  color:#2f7d38;
  font-size:12px;
  line-height:1.35;
  font-weight:800;
  white-space:normal;
  overflow-wrap:break-word;
}
.af-choice-card .af-choice-arrow{
  top:20px;
  right:20px;
  width:30px;
  height:30px;
  font-size:18px;
  background:rgba(78,159,79,.08);
}
.af-choice-card:hover .af-choice-arrow,
.af-choice-card:focus-within .af-choice-arrow,
.af-choice-link:focus-visible .af-choice-arrow{
  transform:translateX(3px) rotate(-4deg);
}
@media (max-width:980px){
  .af-choice-grid{grid-template-columns:1fr 1fr}
  .af-choice-link{grid-column:1/-1}
  .af-choice-card,.af-choice-link{min-height:245px}
  .af-choice-text{min-height:auto}
}
@media (max-width:768px){
  .af-choice-grid{grid-template-columns:1fr}
  .af-choice-link{grid-column:auto}
  .af-choice-card,.af-choice-link{min-height:auto;padding:24px 22px!important}
  .af-choice-title{min-height:auto;padding-right:42px;margin-bottom:8px!important}
  .af-choice-text{min-height:auto}
  .af-choice-meta{margin-top:16px!important}
  .af-choice-card .af-choice-arrow{top:18px;right:18px}
}


/* Version 1.3.3 – einheitliche Beschreibungsschrift */
.af-choice-card .af-choice-text,
.af-choice-link .af-choice-text{
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.6!important;
  color:#667085!important;
}


/* Version 1.3.4 – ruhige, einheitliche Auswahlkarten */
.af-terminanfrage{
  max-width:1180px;
}
.af-choice-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.af-choice-card,
.af-choice-link{
  min-height:270px;
  padding:26px 26px 28px!important;
  overflow:hidden;
}
.af-choice-content{
  display:grid!important;
  grid-template-rows:58px auto;
  align-content:start!important;
  flex:0 0 auto!important;
  width:100%;
  padding-top:72px!important;
  box-sizing:border-box;
}
.af-choice-title{
  display:block!important;
  align-self:start;
  min-height:0!important;
  margin:0!important;
  padding:0 42px 0 0!important;
  font-size:20px;
  line-height:1.35;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  -ms-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.af-choice-text,
.af-choice-card .af-choice-text,
.af-choice-link .af-choice-text{
  display:block!important;
  align-self:start;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.6!important;
  color:#667085!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  -ms-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.af-choice-meta{display:none!important}
.af-choice-card .af-choice-arrow{
  top:20px;
  right:20px;
}
@media (max-width:980px){
  .af-terminanfrage{max-width:920px}
  .af-choice-grid{grid-template-columns:1fr 1fr}
  .af-choice-link{grid-column:1/-1}
}
@media (max-width:768px){
  .af-choice-grid{grid-template-columns:1fr;gap:14px}
  .af-choice-link{grid-column:auto}
  .af-choice-card,.af-choice-link{min-height:auto;padding:24px 22px!important}
  .af-choice-content{grid-template-rows:auto auto;padding-top:52px!important}
  .af-choice-title{padding-right:42px!important;margin-bottom:10px!important}
}


/* Version 1.3.5 – finales Karten-Finishing */
@media (min-width:981px){
  .af-choice-card,
  .af-choice-link{
    position:relative!important;
    min-height:270px!important;
    padding:0!important;
  }
  .af-choice-content{
    position:absolute!important;
    top:112px!important;
    left:26px!important;
    right:26px!important;
    width:auto!important;
    padding:0!important;
    display:block!important;
  }
  .af-choice-title{
    display:block!important;
    min-height:0!important;
    margin:0 0 16px!important;
    padding:0!important;
    font-size:20px!important;
    line-height:1.35!important;
  }
  .af-choice-text,
  .af-choice-card .af-choice-text,
  .af-choice-link .af-choice-text{
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-size:15px!important;
    font-weight:600!important;
    line-height:1.6!important;
  }
  .af-choice-card .af-choice-arrow{
    top:18px!important;
    right:18px!important;
    width:28px!important;
    height:28px!important;
    font-size:17px!important;
    background:rgba(78,159,79,.07)!important;
  }
}
@media (max-width:980px){
  .af-choice-content{
    position:static!important;
  }
}
