/* telc-Prüfungsanmeldung – seitenspezifische Styles (auf .telc-anm begrenzt) */
.telc-anm * {box-sizing: border-box; hyphens: none; -webkit-hyphens: none; margin: 0; padding: 0; }
.telc-anm .inner {max-width: 900px; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.telc-anm .hero {background: var(--el-dark); color: white; padding: clamp(2rem, 5vw, 3.5rem) 0; }
.telc-anm .hero-inner {display: flex; align-items: flex-start; gap: 1.5rem; }
.telc-anm .hero-badge {background: rgba(255,255,255,0.15); border: 1.5px solid rgba(255,255,255,0.3);
      border-radius: 10px; padding: 0.5rem 0.9rem; font-size: 0.75rem; font-weight: 700;
      letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; flex-shrink: 0; margin-top: 0.25rem; }
.telc-anm .hero h1 {font-size: clamp(1.35rem, 3vw, 1.9rem); font-weight: 700; margin-bottom: 0.4rem; line-height: 1.25; color: #ffffff !important; }
.telc-anm .hero p {font-size: clamp(0.85rem, 2vw, 0.95rem); opacity: 0.8; line-height: 1.5; }
.telc-anm .page-content {padding: clamp(1.5rem, 4vw, 2.5rem) 0 clamp(2rem, 5vw, 4rem); }
.telc-anm .form-section {background: var(--el-white); border-radius: 12px; border: 1px solid #e0e8e1;
      padding: clamp(1.25rem, 3vw, 1.75rem); margin-bottom: 1.25rem;
      box-shadow: 0 2px 8px rgba(91,117,96,0.05); }
.telc-anm .section-title {font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700;
      text-transform: uppercase; letter-spacing: 0.12em; color: var(--el-dark);
      margin-bottom: 1.1rem; padding-bottom: 0.55rem; border-bottom: 2px solid var(--el-light); }
.telc-anm .field-grid {display: grid; gap: 1rem; }
.telc-anm .fg-2 {grid-template-columns: 1fr 1fr; }
.telc-anm .span-2 {grid-column: span 2; }
.telc-anm .field-group {display: flex; flex-direction: column; gap: 0.3rem; }
.telc-anm label.field-label {font-size: 0.75rem; font-weight: 700; color: var(--el-mid-text); text-transform: uppercase; letter-spacing: 0.06em; }
.telc-anm label.field-label .req {color: var(--el-orange); }
.telc-anm input[type="text"], .telc-anm input[type="email"], .telc-anm input[type="tel"], .telc-anm input[type="date"], .telc-anm select, .telc-anm textarea {border: 1.5px solid #cdd8ce; border-radius: 8px; padding: 0.65rem 0.85rem;
      font-family: 'Lato', sans-serif; font-size: 0.93rem; color: var(--el-dark-text);
      background: white; transition: border-color 0.2s; width: 100%; }
.telc-anm input:focus, .telc-anm select:focus, .telc-anm textarea:focus {outline: none; border-color: var(--el-dark); box-shadow: 0 0 0 3px rgba(91,117,96,0.12); }
.telc-anm input.field-error, .telc-anm textarea.field-error {border-color: #c0392b; }
.telc-anm textarea {resize: vertical; min-height: 90px; line-height: 1.5; }
.telc-anm .pruefung-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.telc-anm .pruefung-option {display: flex; align-items: center; gap: 0.65rem; padding: 1rem 1.1rem;
      border: 1.5px solid #cdd8ce; border-radius: 10px; cursor: pointer;
      font-size: 0.95rem; font-weight: 600; background: white;
      transition: border-color 0.15s, background 0.15s; user-select: none; }
.telc-anm .pruefung-option:hover {border-color: var(--el-dark); }
.telc-anm .pruefung-option.selected {border-color: var(--el-dark); background: #edf2ee; }
.telc-anm .pruefung-option input[type="radio"] {width: 17px; height: 17px; accent-color: var(--el-dark); flex-shrink: 0; margin: 0; cursor: pointer; }
.telc-anm .pruefung-level-badge {font-family: 'Montserrat', sans-serif; font-size: 0.8rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 20px; flex-shrink: 0; }
.telc-anm .badge-b1 {background: #ddeef5; color: #5b8fa8; }
.telc-anm .badge-b2 {background: #ede5f4; color: #8a5b9e; }
.telc-anm .pruefung-detail {display: flex; flex-direction: column; gap: 0.15rem; }
.telc-anm .pruefung-name {font-weight: 700; font-size: 0.93rem; }
.telc-anm .pruefung-fee {font-size: 0.76rem; color: var(--el-mid-text); font-weight: 400; }
.telc-anm .pruefung-desc {font-size: 0.76rem; color: var(--el-mid-text); font-weight: 400; }
.telc-anm .pruefung-col {display: flex; flex-direction: column; gap: 0.5rem; min-width: 0; }
.telc-anm .pruefung-col-head {display: flex; align-items: center; gap: 0.5rem; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.95rem; color: var(--el-dark-text); margin-bottom: 0.15rem; }
.telc-anm .pruefung-col .pruefung-option {padding: 0.8rem 1rem; }
.telc-anm .pruefung-rabatt {background: #edf2ee; color: var(--el-dark); font-size: 0.7rem; font-weight: 700; border-radius: 4px; padding: 0.1rem 0.35rem; margin-left: 0.3rem; }
.telc-anm .date-list {display: flex; flex-direction: column; gap: clamp(1.1rem, 3vw, 1.75rem); }
.telc-anm .date-month-group {display: flex; flex-direction: column; gap: 0.6rem; }
.telc-anm .date-month-heading {font-family: 'Montserrat', sans-serif; font-size: 0.78rem; font-weight: 700;
      color: var(--el-dark); text-transform: capitalize; letter-spacing: 0.02em;
      padding-bottom: 0.4rem; border-bottom: 1.5px solid var(--el-light); }
.telc-anm .date-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0.55rem; }
.telc-anm .date-option {display: flex; align-items: center; gap: 0.65rem; padding: 0.7rem 0.9rem;
      border: 1.5px solid #cdd8ce; border-radius: 8px; cursor: pointer;
      background: white; transition: border-color 0.15s, background 0.15s; user-select: none; }
.telc-anm .date-option:hover {border-color: var(--el-dark); }
.telc-anm .date-option.selected {border-color: var(--el-dark); background: #edf2ee; }
.telc-anm .date-option input[type="radio"] {display: none; }
.telc-anm .date-dot {width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.telc-anm .dot-b1 {background: #5b8fa8; }
.telc-anm .dot-b2 {background: #8a5b9e; }
.telc-anm .date-info {display: flex; flex-direction: column; }
.telc-anm .date-main {font-weight: 700; font-size: 0.88rem; }
.telc-anm .date-sub {font-size: 0.73rem; color: var(--el-mid-text); margin-top: 0.1rem; }
.telc-anm .date-option.ausgebucht {opacity: 0.5; cursor: not-allowed; background: #f5f5f5; border-color: #ddd; }
.telc-anm .date-option.ausgebucht:hover {border-color: #ddd; }
.telc-anm .badge-ausgebucht {display: inline-block; background: #c0392b; color: #fff; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; border-radius: 4px; padding: 0.1rem 0.4rem; margin-left: 0.4rem; vertical-align: middle; }
.telc-anm .el-lade-spinner {display:inline-block; width:16px; height:16px; border:2px solid #AEBAAF; border-top-color:#5B7560; border-radius:50%; animation:el-spin .8s linear infinite; vertical-align:-3px; margin-right:.5rem; }
@keyframes el-spin {
to {transform:rotate(360deg); }
}
.telc-anm .el-retry-btn {background:#C8A96E; color:#fff !important; border:none; border-radius:8px; padding:10px 18px; min-height:44px; font-family:'Lato',sans-serif; font-weight:700; cursor:pointer; margin:.6rem 0; }
.telc-anm .el-retry-btn:hover, .telc-anm .el-retry-btn:focus {opacity:.88; color:#fff !important; }
.telc-anm .badge-frist {display: inline-block; background: #8a8a8a; color: #fff; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; border-radius: 4px; padding: 0.1rem 0.4rem; margin-left: 0.4rem; vertical-align: middle; }
.telc-anm .badge-letzte {display: inline-block; background: var(--el-orange); color: #1E2820; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; border-radius: 4px; padding: 0.1rem 0.4rem; margin-left: 0.4rem; vertical-align: middle; }
.telc-anm .radio-group {display: flex; flex-wrap: wrap; gap: 0.6rem; }
.telc-anm .radio-card {display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1rem;
      border: 1.5px solid #cdd8ce; border-radius: 8px; cursor: pointer;
      font-size: 0.9rem; background: white; transition: border-color 0.15s, background 0.15s;
      user-select: none; flex-shrink: 0; min-height: 44px; }
.telc-anm .radio-card:hover {border-color: var(--el-dark); }
.telc-anm .radio-card.selected {border-color: var(--el-dark); background: #edf2ee; font-weight: 700; }
.telc-anm .radio-card input[type="radio"] {width: 16px; height: 16px; accent-color: var(--el-dark); margin: 0; cursor: pointer; }
.telc-anm .payment-options {display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.telc-anm .payment-card {display: flex; align-items: center; gap: 0.85rem; padding: 0.9rem 1.1rem;
      border: 2px solid #cdd8ce; border-radius: 10px; cursor: pointer;
      background: white; transition: all 0.15s; user-select: none; min-height: 60px; }
.telc-anm .payment-card:hover {border-color: var(--el-dark); }
.telc-anm .payment-card.selected-ueberweisung {border-color: var(--el-dark); background: #edf2ee; }
.telc-anm .payment-card.selected-paypal {border-color: #003087; background: #f0f4ff; }
.telc-anm .payment-card input[type="radio"] {width: 17px; height: 17px; accent-color: var(--el-dark); margin: 0; flex-shrink: 0; cursor: pointer; }
.telc-anm .payment-icon {font-size: 1.4rem; flex-shrink: 0; }
.telc-anm .payment-label {display: flex; flex-direction: column; }
.telc-anm .payment-name {font-weight: 700; font-size: 0.93rem; }
.telc-anm .payment-desc {font-size: 0.75rem; color: var(--el-mid-text); font-weight: 400; }
.telc-anm .bank-box {background: #edf2ee; border: 1.5px solid var(--el-dark); border-radius: 10px;
      padding: 1rem 1.2rem; font-size: 0.87rem; line-height: 1.8; }
.telc-anm .bank-box strong {color: var(--el-dark); font-family: 'Montserrat', sans-serif; display: block; margin-bottom: 0.4rem; }
.telc-anm .bank-row {display: flex; gap: 0.5rem; }
.telc-anm .bank-key {color: var(--el-mid-text); min-width: 120px; font-size: 0.8rem; }
.telc-anm .bank-val {font-weight: 700; color: var(--el-dark-text); }
.telc-anm .paypal-wrap {border: 2px solid #003087; border-radius: 10px; padding: 1.25rem;
      background: #f0f4ff; text-align: center; }
.telc-anm .paypal-wrap p {font-size: 0.83rem; color: #003087; margin-bottom: 1rem; line-height: 1.5; }
.telc-anm .paypal-no-exam {font-size: 0.83rem; color: var(--el-mid-text); font-style: italic; }
.telc-anm .btn-paypal {display: inline-block; background: #0070ba; color: #ffffff !important;
      border: none; border-radius: 8px; padding: 14px 32px;
      font-family: 'Lato', sans-serif; font-size: 0.95rem; font-weight: 700;
      cursor: pointer; transition: background 0.2s; min-height: 44px; text-decoration: none; }
.telc-anm .btn-paypal:hover {background: #005ea6; }
.telc-anm .btn-paypal:disabled {opacity: 0.5; cursor: not-allowed; }
.telc-anm .doc-links {display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 1rem; }
.telc-anm .doc-link {display: inline-flex; align-items: center; gap: 0.45rem;
      padding: 0.55rem 1rem; border-radius: 8px; font-size: 0.82rem; font-weight: 700;
      text-decoration: none; transition: background 0.15s; min-height: 44px; }
.telc-anm .doc-link-pdf {background: #fdf0f0; color: #c0392b; border: 1.5px solid #f0c0c0; }
.telc-anm .doc-link-pdf:hover {background: #fce0e0; }
.telc-anm .doc-link-extern {background: #edf2ee; color: var(--el-dark); border: 1.5px solid var(--el-light); }
.telc-anm .doc-link-extern:hover {background: #dde8de; }
@media (max-width: 640px) {
.telc-anm .doc-link {width: 100%; justify-content: center; }
}
.telc-anm .decl-list {display: flex; flex-direction: column; gap: 0.8rem; }
.telc-anm .decl-item {display: flex; gap: 0.75rem; align-items: flex-start; }
.telc-anm .decl-item input[type="checkbox"] {width: 18px; height: 18px; accent-color: var(--el-dark); flex-shrink: 0; margin-top: 0.1rem; cursor: pointer; }
.telc-anm .decl-item label {font-size: 0.88rem; color: var(--el-dark-text); line-height: 1.55; cursor: pointer; }
.telc-anm .decl-item label .req {color: var(--el-orange); }
.telc-anm .cond-block {display: none; margin-top: 1rem; padding: 1rem; background: #f5f8f5; border-radius: 8px; border: 1px solid #dde8de; }
.telc-anm .cond-block.visible {display: block; }
.telc-anm .info-box {background: #edf2ee; border-left: 3px solid var(--el-dark); border-radius: 0 8px 8px 0;
      padding: 0.85rem 1.1rem; font-size: 0.83rem; color: var(--el-dark); line-height: 1.65; }
.telc-anm .info-box ul {margin: 0.4rem 0 0 1.1rem; padding: 0; }
.telc-anm .info-box li {margin-bottom: 0.2rem; }
.telc-anm .inline-error {font-size: 0.78rem; color: #c0392b; margin-top: 0.4rem; display: none; }
.telc-anm .no-dates-msg {padding: 0.85rem 1rem; background: #fff8ee; border: 1px solid #f0d9a0; border-radius: 8px; font-size: 0.86rem; color: var(--el-mid-text); }
.telc-anm .global-error {display: none; padding: 0.85rem 1.1rem; background: #fdf0f0; border: 1.5px solid #e0a0a0; border-radius: 8px; color: #c0392b; font-size: 0.87rem; margin-bottom: 1rem; }
.telc-anm .btn-primary:disabled {opacity: 0.5; cursor: not-allowed; }
.telc-anm .form-actions {display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.telc-anm .spinner {display: none; width: 20px; height: 20px; border: 2.5px solid rgba(255,255,255,0.4);
      border-top-color: #1E2820; border-radius: 50%; animation: spin 0.7s linear infinite; flex-shrink: 0; }
@keyframes spin {
to {transform: rotate(360deg); }
}
.telc-anm .btn-sending {display: flex; align-items: center; gap: 0.5rem; }
.telc-anm hr.divider {border: none; border-top: 1px solid #e0e8e1; margin: 1.25rem 0; }
.telc-anm .success-screen {display: none; text-align: center; padding: 3rem 1.5rem; }
.telc-anm .success-icon {font-size: 3.5rem; margin-bottom: 1rem; display: block; }
.telc-anm .success-screen h2 {font-size: clamp(1.2rem, 3vw, 1.6rem); color: var(--el-dark); margin-bottom: 0.75rem; }
.telc-anm .success-screen p {color: var(--el-mid-text); font-size: 0.92rem; line-height: 1.65; max-width: 520px; margin: 0 auto 0.75rem; }
.telc-anm .summary-box {background: #edf2ee; border-radius: 10px; padding: 1rem 1.25rem; text-align: left; max-width: 520px; margin: 1.25rem auto 0; font-size: 0.87rem; line-height: 1.7; }
.telc-anm .summary-box strong {color: var(--el-dark); font-weight: 700; }
.telc-anm .page-footer {border-top: 1px solid #e0e8e1; padding: 1.25rem clamp(1rem, 4vw, 2.5rem); text-align: center; font-size: 0.77rem; color: var(--el-mid-text); line-height: 1.65; background: white; }
@media (max-width: 640px) {
.telc-anm .hero-inner {flex-direction: column; gap: 0.75rem; }
.telc-anm .hero-badge {align-self: flex-start; }
.telc-anm .fg-2 {grid-template-columns: 1fr; }
.telc-anm .span-2 {grid-column: span 1; }
.telc-anm .pruefung-grid, .telc-anm .payment-options {grid-template-columns: 1fr; }
.telc-anm .btn-primary, .telc-anm .btn-ghost-light, .telc-anm .btn-paypal {display: block; text-align: center; width: 100%; }
.telc-anm .form-actions {flex-direction: column; }
.telc-anm .radio-group {flex-direction: column; }
.telc-anm .radio-card {width: 100%; flex-shrink: 1; }
}
@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
.telc-anm .inner {max-width: 760px; }
.telc-anm .fg-2 {grid-template-columns: 1fr; }
.telc-anm .span-2 {grid-column: span 1; }
.telc-anm .pruefung-grid, .telc-anm .payment-options {grid-template-columns: 1fr; }
.telc-anm .date-grid {grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.65rem; }
.telc-anm .radio-group {flex-direction: column; }
.telc-anm .radio-card {width: 100%; flex-shrink: 1; min-height: 52px; padding: 0.85rem 1.1rem; font-size: 1rem; }
.telc-anm .pruefung-option, .telc-anm .payment-card {min-height: 64px; padding: 1rem 1.2rem; }
.telc-anm .date-option {min-height: 58px; padding: 0.85rem 1rem; }
.telc-anm .radio-card, .telc-anm .pruefung-option, .telc-anm .payment-card, .telc-anm .date-option, .telc-anm .decl-item label {touch-action: manipulation; }
.telc-anm .pruefung-option input[type="radio"], .telc-anm .radio-card input[type="radio"], .telc-anm .payment-card input[type="radio"] {width: 20px; height: 20px; }
.telc-anm input[type="text"], .telc-anm input[type="email"], .telc-anm input[type="tel"], .telc-anm input[type="date"], .telc-anm select, .telc-anm textarea {font-size: 16px; min-height: 50px; padding: 0.75rem 0.95rem; }
.telc-anm textarea {min-height: 110px; }
.telc-anm label.field-label {font-size: 0.8rem; }
.telc-anm .decl-list {gap: 1rem; }
.telc-anm .decl-item input[type="checkbox"] {width: 24px; height: 24px; margin-top: 0; }
.telc-anm .decl-item label {font-size: 0.95rem; }
.telc-anm .form-actions {flex-direction: column; align-items: stretch; }
.telc-anm .btn-primary, .telc-anm .btn-ghost-light, .telc-anm .btn-paypal {display: block; width: 100%; text-align: center; min-height: 52px; }
.telc-anm .btn-sending {display: flex; justify-content: center; }
.telc-anm .doc-link {width: 100%; justify-content: center; }
}
@media print {
.telc-anm .btn-primary, .telc-anm .btn-ghost-light {display: none; }
.telc-anm .hero {-webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* Anpassungen an das globale Design */
.telc-anm .btn-sending { display: inline-flex; align-items: center; gap: 0.5rem; }
.telc-anm .btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }
.telc-anm .hero h1 { margin-bottom: 0.4rem; }
.telc-anm .hero p { color: #fff; }
.telc-anm .page-content { background: var(--el-bg); }
.telc-anm .section-title { margin-bottom: 1.1rem; }
@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
  .telc-anm .btn-sending { display: flex; justify-content: center; }
}
.telc-anm .btn-primary { padding: 14px 32px; }
.telc-anm .btn-ghost-light { padding: 13px 28px; }

/* Hinweis: telc-Sprachprüfung ist nicht der DTZ */
.telc-anm .dtz-hinweis {background: #fbf6ec; border: 1.5px solid var(--el-orange); border-radius: 12px; padding: 1rem 1.2rem; margin-bottom: 1.25rem; font-size: 0.92rem; line-height: 1.6; color: var(--el-dark-text); }
.telc-anm .dtz-hinweis a {display: inline-block; margin-top: 0.35rem; color: var(--el-dark) !important; font-weight: 700; }
