/* Anmeldung: Deutsch für die Pflege | Eloquens Sprachschule – automatisch auf .pfl-anm begrenzt */
.pfl-anm .dfp, .pfl-anm .dfp *, .pfl-anm .dfp *::before, .pfl-anm .dfp *::after {box-sizing: border-box; }
.pfl-anm .dfp {--dfp-dark:   #5B7560;
  --dfp-mid:    #92A394;
  --dfp-light:  #AEBAAF;
  --dfp-gold:   #C8A96E;
  --dfp-text:   #333333;
  --dfp-text2:  #666666;
  --dfp-bg:     #F5F5F5;
  --dfp-white:  #FFFFFF;
  --dfp-border: #e8ede9;
  --dfp-maxw:   760px;
  --dfp-pad:    clamp(1rem, 4vw, 3rem);
  font-family: 'Lato', sans-serif;
  color: var(--dfp-text);
  background: var(--dfp-bg);
  hyphens: none; -webkit-hyphens: none; overflow-wrap: normal; word-break: normal;
  line-height: 1.6; }
.pfl-anm .dfp h1, .pfl-anm .dfp h2, .pfl-anm .dfp h3, .pfl-anm .dfp h4 {font-family: 'Montserrat', sans-serif; color: var(--dfp-dark);
  hyphens: none; -webkit-hyphens: none; overflow-wrap: normal; word-break: normal;
  line-height: 1.25; margin: 0; }
.pfl-anm .dfp p {margin: 0 0 0.75rem 0; }
.pfl-anm .dfp .dfp-inner {max-width: var(--dfp-maxw); margin: 0 auto; padding: 0 var(--dfp-pad); }
.pfl-anm .dfp .dfp-eyebrow {font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: clamp(0.7rem, 2vw, 0.78rem);
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--dfp-gold); display: block; margin-bottom: 0.6rem; }
.pfl-anm .dfp .dfp-topbar {background: linear-gradient(135deg, #4a6350 0%, var(--dfp-dark) 100%); padding: clamp(2rem, 6vw, 3rem) 0; color: #fff; }
.pfl-anm .dfp .dfp-topbar h1 {color: #fff; font-size: clamp(1.5rem, 4.5vw, 2.1rem); margin-bottom: 0.5rem; }
.pfl-anm .dfp .dfp-topbar p {color: rgba(255,255,255,0.88); max-width: 560px; margin: 0; font-size: 0.95rem; }
.pfl-anm .dfp .btn-primary {background: var(--dfp-gold) !important; color: #1E2820 !important; border: none; border-radius: 8px;
  padding: 14px 28px; font-family: 'Lato', sans-serif; font-size: 0.95rem; font-weight: 700;
  text-decoration: none !important; display: inline-block; cursor: pointer; transition: opacity 0.2s; min-height: 44px; }
.pfl-anm .dfp .btn-primary:hover, .pfl-anm .dfp .btn-primary:focus, .pfl-anm .dfp .btn-primary:visited, .pfl-anm .dfp .btn-primary:active {opacity: 0.88; color: #1E2820 !important; }
.pfl-anm .dfp .btn-primary:disabled {opacity: 0.55; cursor: not-allowed; }
.pfl-anm .dfp .btn-ghost-light {background: transparent !important; color: var(--dfp-dark) !important; border: 1.5px solid var(--dfp-dark);
  border-radius: 8px; padding: 13px 28px; font-family: 'Lato', sans-serif; font-size: 0.95rem; font-weight: 700;
  text-decoration: none !important; display: inline-block; min-height: 44px; }
@media (max-width: 640px) {
.pfl-anm .dfp .btn-primary, .pfl-anm .dfp .btn-ghost-light {display: block; width: 100%; text-align: center; }
}
.pfl-anm .dfp .dfp-form-wrap {padding: clamp(1.75rem, 5vw, 3rem) 0; }
.pfl-anm .dfp .dfp-card {background: #fff; border: 1px solid var(--dfp-border); border-radius: 12px; padding: clamp(1.25rem, 4vw, 2rem); margin-bottom: 1.25rem; }
.pfl-anm .dfp .dfp-step-head {display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.25rem; }
.pfl-anm .dfp .dfp-step-num {flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--dfp-dark); color: #fff;
  display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.95rem; }
.pfl-anm .dfp .dfp-step-head h2 {font-size: 1.15rem; min-width: 0; overflow-wrap: break-word; }
.pfl-anm .dfp .dfp-field {margin-bottom: 1.1rem; }
.pfl-anm .dfp .dfp-field label {display: block; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.85rem; color: var(--dfp-text); margin-bottom: 0.4rem; }
.pfl-anm .dfp .dfp-field .dfp-req {color: #b3564a; }
.pfl-anm .dfp .dfp-field input[type=text], .pfl-anm .dfp .dfp-field input[type=email], .pfl-anm .dfp .dfp-field input[type=tel], .pfl-anm .dfp .dfp-field input[type=date], .pfl-anm .dfp .dfp-field input[type=number], .pfl-anm .dfp .dfp-field textarea {width: 100%; min-width: 0; border: 1px solid #d7ddd8; border-radius: 8px; padding: 0.7rem 0.85rem;
  font-family: 'Lato', sans-serif; font-size: 0.95rem; color: var(--dfp-text); background: #fff; }
.pfl-anm .dfp .dfp-field input:focus, .pfl-anm .dfp .dfp-field textarea:focus {outline: 2px solid var(--dfp-mid); outline-offset: 1px; }
.pfl-anm .dfp .dfp-field textarea {resize: vertical; min-height: 80px; }
.pfl-anm .dfp .dfp-field.dfp-invalid > label {color: #b3564a; }
.pfl-anm .dfp .dfp-field.dfp-invalid input[type=text], .pfl-anm .dfp .dfp-field.dfp-invalid input[type=email], .pfl-anm .dfp .dfp-field.dfp-invalid input[type=tel], .pfl-anm .dfp .dfp-field.dfp-invalid input[type=date], .pfl-anm .dfp .dfp-field.dfp-invalid input[type=number], .pfl-anm .dfp .dfp-field.dfp-invalid textarea {border-color: #b3564a; background: #fdf3f2; }
.pfl-anm .dfp .dfp-field.dfp-invalid .dfp-pillgroup .dfp-pill-opt span {border-color: #b3564a; }
.pfl-anm .dfp .dfp-field.dfp-invalid .dfp-typecards .dfp-typecard > span {border-color: #b3564a; }
.pfl-anm .dfp .dfp-field-error {display: none; font-size: 0.8rem; color: #b3564a; font-weight: 600; margin-top: 0.35rem; }
.pfl-anm .dfp .dfp-field.dfp-invalid .dfp-field-error {display: block; }
.pfl-anm .dfp .dfp-checkrow.dfp-invalid {background: #fdf3f2; border-radius: 8px; padding: 0.5rem 0.6rem; margin: -0.5rem -0.6rem 0.85rem; }
.pfl-anm .dfp .dfp-checkrow.dfp-invalid label {color: #b3564a; }
.pfl-anm .dfp .dfp-row2 {display: grid; grid-template-columns: 1fr; gap: 1.1rem; }
@media (min-width: 640px) {
.pfl-anm .dfp .dfp-row2 {grid-template-columns: 1fr 1fr; }
}
.pfl-anm .dfp .dfp-row3 {display: grid; grid-template-columns: 1fr; gap: 1.1rem; }
@media (min-width: 640px) {
.pfl-anm .dfp .dfp-row3 {grid-template-columns: 2fr 1fr 1fr; }
}
.pfl-anm .dfp .dfp-hint {font-size: 0.8rem; color: var(--dfp-text2); margin-top: 0.3rem; }
.pfl-anm .dfp .dfp-pillgroup {display: flex; flex-wrap: wrap; gap: 0.6rem; }
.pfl-anm .dfp .dfp-pill-opt {position: relative; }
.pfl-anm .dfp .dfp-pill-opt input {position: absolute; opacity: 0; width: 1px; height: 1px; }
.pfl-anm .dfp .dfp-pill-opt span {display: inline-flex; align-items: center; min-height: 44px; padding: 0.55rem 1.1rem; border-radius: 999px;
  border: 1.5px solid #d7ddd8; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.9rem;
  color: var(--dfp-text); cursor: pointer; transition: all 0.15s; background: #fff; }
.pfl-anm .dfp .dfp-pill-opt input:checked + span {border-color: var(--dfp-dark); background: var(--dfp-dark); color: #fff !important; }
.pfl-anm .dfp .dfp-pill-opt input:focus-visible + span {outline: 2px solid var(--dfp-mid); outline-offset: 2px; }
.pfl-anm .dfp .dfp-typecards {display: grid; grid-template-columns: 1fr; gap: 0.9rem; }
@media (min-width: 640px) {
.pfl-anm .dfp .dfp-typecards {grid-template-columns: 1fr 1fr; }
}
.pfl-anm .dfp .dfp-typecard {position: relative; }
.pfl-anm .dfp .dfp-typecard input {position: absolute; opacity: 0; width: 1px; height: 1px; }
.pfl-anm .dfp .dfp-typecard > span {display: block; border: 1.5px solid #d7ddd8; border-radius: 10px; padding: 1.1rem 1.25rem; cursor: pointer; min-width: 0; }
.pfl-anm .dfp .dfp-typecard input:checked + span {border-color: var(--dfp-gold); background: #faf3e6; }
.pfl-anm .dfp .dfp-typecard .dfp-tc-title {font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.98rem; color: var(--dfp-dark); display: block; margin-bottom: 0.3rem; }
.pfl-anm .dfp .dfp-typecard .dfp-tc-desc {font-size: 0.85rem; color: var(--dfp-text2); }
.pfl-anm .dfp .dfp-chipgrid {display: grid; grid-template-columns: 1fr; gap: 0.65rem; }
@media (min-width: 640px) {
.pfl-anm .dfp .dfp-chipgrid {grid-template-columns: 1fr 1fr; }
}
.pfl-anm .dfp .dfp-chip {position: relative; }
.pfl-anm .dfp .dfp-chip input {position: absolute; opacity: 0; width: 1px; height: 1px; }
.pfl-anm .dfp .dfp-chip > span {display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; min-width: 0;
  border: 1.5px solid #d7ddd8; border-radius: 8px; padding: 0.7rem 0.9rem; cursor: pointer; font-size: 0.88rem; }
.pfl-anm .dfp .dfp-chip input:checked + span {border-color: var(--dfp-dark); background: #f2f6f3; }
.pfl-anm .dfp .dfp-chip .dfp-chip-label {font-weight: 600; color: var(--dfp-text); overflow-wrap: break-word; }
.pfl-anm .dfp .dfp-chip .dfp-chip-meta {font-size: 0.78rem; color: var(--dfp-text2); display: block; margin-top: 0.15rem; }
.pfl-anm .dfp .dfp-chip .dfp-chip-price {font-family: 'Montserrat', sans-serif; font-weight: 700; color: var(--dfp-gold); flex-shrink: 0; white-space: nowrap; }
.pfl-anm .dfp .dfp-conditional {display: none; }
.pfl-anm .dfp .dfp-conditional.dfp-show {display: block; }
.pfl-anm .dfp .dfp-summary {background: var(--dfp-bg); border: 1px dashed #cfd8d0; border-radius: 10px; padding: 1rem 1.25rem; margin-top: 1.25rem; }
.pfl-anm .dfp .dfp-summary h4 {font-size: 0.9rem; margin-bottom: 0.6rem; }
.pfl-anm .dfp .dfp-summary-row {display: flex; justify-content: space-between; gap: 0.75rem; font-size: 0.88rem; padding: 0.3rem 0; border-top: 1px solid var(--dfp-border); }
.pfl-anm .dfp .dfp-summary-row:first-of-type {border-top: none; }
.pfl-anm .dfp .dfp-summary-empty {font-size: 0.88rem; color: var(--dfp-text2); }
.pfl-anm .dfp .dfp-summary-total {display: flex; justify-content: space-between; margin-top: 0.6rem; padding-top: 0.6rem; border-top: 2px solid var(--dfp-dark); font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 1rem; color: var(--dfp-dark); }
.pfl-anm .dfp .dfp-checkrow {display: flex; align-items: flex-start; gap: 0.65rem; margin-bottom: 0.85rem; }
.pfl-anm .dfp .dfp-checkrow input {margin-top: 0.25rem; width: 18px; height: 18px; flex-shrink: 0; }
.pfl-anm .dfp .dfp-checkrow label {font-size: 0.88rem; color: var(--dfp-text); font-weight: 400; font-family: 'Lato', sans-serif; }
.pfl-anm .dfp .dfp-checkrow a {color: var(--dfp-dark); font-weight: 700; }
.pfl-anm .dfp .dfp-error-box {display: none; background: #fbeceb; border: 1px solid #e3b3ac; border-radius: 8px; padding: 0.9rem 1.1rem; margin-bottom: 1.25rem; color: #8a3f34; font-size: 0.88rem; }
.pfl-anm .dfp .dfp-error-box.dfp-show {display: block; }
.pfl-anm .dfp .dfp-success {display: none; }
.pfl-anm .dfp .dfp-success.dfp-show {display: block; }
.pfl-anm .dfp .dfp-success-icon {width: 56px; height: 56px; border-radius: 50%; background: #e4ebe5; color: var(--dfp-dark); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin: 0 auto 1rem; }
.pfl-anm .dfp .dfp-payment-box {background: var(--dfp-bg); border-radius: 10px; padding: 1.25rem; margin-top: 1rem; font-size: 0.9rem; }
.pfl-anm .dfp .dfp-payment-box strong {color: var(--dfp-dark); }
.pfl-anm .dfp .dfp-anfrage-note {background: #faf3e6; border: 1px solid #ecdcb8; border-left: 4px solid var(--dfp-gold); border-radius: 10px;
  padding: 1rem 1.25rem; margin-top: 1.25rem; font-size: 0.9rem; }
.pfl-anm .dfp .dfp-anfrage-note strong {color: var(--dfp-dark); }

/* Vergangene Termine */
.pfl-anm .pfl-vorbei { opacity: 0.45; filter: grayscale(1); }
.pfl-anm .pfl-vorbei > span, .pfl-anm .pfl-vorbei input + span { cursor: not-allowed; }
