/* ==========================================================================
   Barrierefreiheit - Legacy-Overrides fuer egon.css (GENERIERT, nicht von Hand pflegen)
   Zweck: feste px-Schriftgroessen und niedrig-kontrastige Hex-Textfarben in egon.css
   reagieren sonst nicht auf die Tokens. Selektoren werden mit :root[data-a11y-...]
   praefixiert (hoehere Spezifitaet), daher unabhaengig von der Ladereihenfolge.
   Neu erzeugen: siehe docs/REDESIGN-CHANGELOG.md (2026-10-20, Barrierefreiheits-Modus).
   ========================================================================== */

/* ----- groessere Schrift: feste px-Werte skalieren ----- */
:root[data-a11y-text] .preset-consum-btn {
  font-size: calc(14px * var(--a11y-scale));
}
:root[data-a11y-text] .popover {
  font-size: calc(14px * var(--a11y-scale));
  line-height: calc(19px * var(--a11y-scale));
}
:root[data-a11y-text] #egon-embedded-loader .progress .progress-bar {
  font-size: calc(20px * var(--a11y-scale));
  line-height: calc(30px * var(--a11y-scale));
}
:root[data-a11y-text] #egon-embedded-neworder-header .price dt,
:root[data-a11y-text] .ratecalc-results .result-item .price dt,
:root[data-a11y-text] #egon-embedded-ratecalc-results .result-item .price dt {
  font-size: calc(10px * var(--a11y-scale));
  line-height: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] #egon-embedded-neworder-header .price dd,
:root[data-a11y-text] .ratecalc-results .result-item .price dd,
:root[data-a11y-text] #egon-embedded-ratecalc-results .result-item .price dd {
  font-size: calc(21px * var(--a11y-scale));
  line-height: calc(33px * var(--a11y-scale));
}
:root[data-a11y-text] .ratecalc-results .result-item .price.price_nt dd,
:root[data-a11y-text] #egon-embedded-ratecalc-results .result-item .price.price_nt dd {
  font-size: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] #reseller-image .editable:after,
:root[data-a11y-text] #egon-embedded-resellerpage .editable-area.editable:after {
  font-size: calc(11px * var(--a11y-scale));
}
:root[data-a11y-text] div[data-target="action:resellerpage:addContentElement"]:after {
  font-size: calc(11px * var(--a11y-scale));
}
:root[data-a11y-text] .form-control-feedback {
  font-size: calc(8px * var(--a11y-scale));
  line-height: calc(20px * var(--a11y-scale));
}
:root[data-a11y-text] div[id^="rate-"].result-item .price dt {
  font-size: calc(10px * var(--a11y-scale));
  line-height: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] div[id^="rate-"].result-item .price dd {
  font-size: calc(21px * var(--a11y-scale));
  line-height: calc(33px * var(--a11y-scale));
}
:root[data-a11y-text] div[id^="rate-"].result-item .price.price_nt dd {
  font-size: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] .order.tab-content {
  font-size: calc(13px * var(--a11y-scale));
}
:root[data-a11y-text] .rate-price .price dt {
  font-size: calc(10px * var(--a11y-scale));
  line-height: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] .rate-price .price dd {
  font-size: calc(21px * var(--a11y-scale));
  line-height: calc(33px * var(--a11y-scale));
}
:root[data-a11y-text] .rate-price .price.price_nt dd {
  font-size: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] .panel-section label {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .digits > .digit-input,
:root[data-a11y-text] .egon-mfa-code {
  font-size: calc(18px * var(--a11y-scale));
}
:root[data-a11y-text] .ratecalc-redesign .rc-presets .preset-consum-btn i {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .ratecalc-redesign .rc-compare-tile .rc-price-value {
  font-size: calc(26px * var(--a11y-scale));
  line-height: calc(34px * var(--a11y-scale));
}
:root[data-a11y-text] .ratecalc-redesign .rc-pill--neutral {
  font-size: calc(11px * var(--a11y-scale));
}
:root[data-a11y-text] .rc-offer-search .bi {
  font-size: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] .rc-offer-side .form-group:has(> input[name$="email"])::after {
  font-size: calc(14px * var(--a11y-scale));
  line-height: calc(34px * var(--a11y-scale));
}
:root[data-a11y-text] .rc-offer-side .form-group:has(> input[name$="website"])::after {
  font-size: calc(14px * var(--a11y-scale));
  line-height: calc(34px * var(--a11y-scale));
}
:root[data-a11y-text] .neworder-redesign .btn-lg {
  font-size: calc(14px * var(--a11y-scale));
}
:root[data-a11y-text] .order-redesign .btn-sm {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .order-redesign .or-empty-icon {
  font-size: calc(18px * var(--a11y-scale));
}
:root[data-a11y-text] .orderstatuschanges-redesign .osc-empty-icon {
  font-size: calc(16px * var(--a11y-scale));
}
:root[data-a11y-text] .energydownloads-redesign .dl-chevron {
  font-size: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] .energydownloads-redesign .dl-empty-icon {
  font-size: calc(18px * var(--a11y-scale));
}
:root[data-a11y-text] .customer-redesign .btn-sm {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .customer-redesign .cu-contract-pill .fa {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .customer-redesign .cu-reminder-badge .fa {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .customer-redesign .cu-open-btn .fa {
  font-size: calc(11px * var(--a11y-scale));
}
:root[data-a11y-text] .customer-redesign .cu-empty-icon {
  font-size: calc(18px * var(--a11y-scale));
}
:root[data-a11y-text] #egon-embedded-app-menu .panel-back > a::after {
  font-size: calc(16px * var(--a11y-scale));
}
:root[data-a11y-text] #egon-embedded-app-menu .panel-back > a span {
  font-size: calc(13px * var(--a11y-scale));
}
:root[data-a11y-text] .invitereseller-redesign .ir-email-hint .fa {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .inviteresellerpublic-redesign .irp-email-hint .fa {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .structure-redesign span.fancytree-expander {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .structure-redesign span.fancytree-icon {
  font-size: calc(13px * var(--a11y-scale));
}
:root[data-a11y-text] .structure-redesign .st-empty-icon {
  font-size: calc(22px * var(--a11y-scale));
}
:root[data-a11y-text] .structure-redesign .st-avatar {
  font-size: calc(16px * var(--a11y-scale));
}
:root[data-a11y-text] .settlement-redesign .sr-empty-icon {
  font-size: calc(18px * var(--a11y-scale));
}
:root[data-a11y-text] .resellerdata-redesign .rd-btn--sm {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .reselleraccount-redesign .ra-banner-icon {
  font-size: calc(16px * var(--a11y-scale));
}
:root[data-a11y-text] .reselleraccount-redesign .ra-card-head-icon {
  font-size: calc(14px * var(--a11y-scale));
}
:root[data-a11y-text] .reselleraccount-redesign .ra-card-head-badge {
  font-size: calc(11px * var(--a11y-scale));
}
:root[data-a11y-text] .reselleraccount-redesign .ra-rule-dot {
  font-size: calc(8px * var(--a11y-scale));
}
:root[data-a11y-text] .reselleraccount-redesign .ra-mfa-active-icon {
  font-size: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] .order-detail-redesign .od-head-icon {
  font-size: calc(17px * var(--a11y-scale));
}
:root[data-a11y-text] .order-detail-redesign .od-row-value--mono {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .order-detail-redesign .od-doc-thumb-icon {
  font-size: calc(26px * var(--a11y-scale));
}
:root[data-a11y-text] .order-detail-redesign .od-banner-row-icon {
  font-size: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] .order-detail-redesign .btn-sm {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .orderquestion-redesign .oq-dropzone-icon {
  font-size: calc(15px * var(--a11y-scale));
}
:root[data-a11y-text] .orderquestion-redesign .oq-erfolg-icon {
  font-size: calc(20px * var(--a11y-scale));
}
:root[data-a11y-text] .provision-redesign .btn-sm {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .customer-redesign .cu-chip-remove .fa {
  font-size: calc(10px * var(--a11y-scale));
}
:root[data-a11y-text] .reselleraccess-redesign .btn-sm {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .reselleraccess-redesign .ra-empty-icon {
  font-size: calc(18px * var(--a11y-scale));
}
:root[data-a11y-text] .neworder-redesign .no-bank-grid .bs-callout#iban-calc-info h4 {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .neworder-redesign .no-bank-grid .bs-callout#iban-calc-info p {
  font-size: calc(12px * var(--a11y-scale));
  line-height: calc(17px * var(--a11y-scale));
}
:root[data-a11y-text] .invitereseller-redesign .ir-form-footer .btn.btn-primary.btn-block .fa {
  font-size: calc(12px * var(--a11y-scale));
}
:root[data-a11y-text] .massupload-redesign .mu-dropzone-icon {
  font-size: calc(26px * var(--a11y-scale));
}

/* ----- hoher Kontrast: zu helle Textfarben abdunkeln (>= 4,5:1) ----- */
:root[data-a11y-contrast="high"] input[type=checkbox][disabled] + label {
  color: color-mix(in srgb, #ccc 55%, black);
}
:root[data-a11y-contrast="high"] .has-error .form-control-feedback {
  color: color-mix(in srgb, #E74C3C 85%, black);
}
:root[data-a11y-contrast="high"] .has-success .form-control-feedback {
  color: color-mix(in srgb, #18BCA0 65%, black);
}
:root[data-a11y-contrast="high"] .bs-callout-danger h4 {
  color: color-mix(in srgb, #D9534F 85%, black);
}
:root[data-a11y-contrast="high"] .bs-callout-warning h4 {
  color: color-mix(in srgb, #F0AD4E 60%, black);
}
:root[data-a11y-contrast="high"] .bs-callout-info h4 {
  color: color-mix(in srgb, #5BC0DE 60%, black);
}
:root[data-a11y-contrast="high"] #egon-embedded-neworder-header .price dl.light dt,
:root[data-a11y-contrast="high"] .ratecalc-results .result-item .price dl.light dt,
:root[data-a11y-contrast="high"] #egon-embedded-ratecalc-results .result-item .price dl.light dt {
  color: color-mix(in srgb, #999999 70%, black);
}
:root[data-a11y-contrast="high"] #egon-embedded-neworder-header .price dl.light dd,
:root[data-a11y-contrast="high"] .ratecalc-results .result-item .price dl.light dd,
:root[data-a11y-contrast="high"] #egon-embedded-ratecalc-results .result-item .price dl.light dd {
  color: color-mix(in srgb, #999999 70%, black);
}
:root[data-a11y-contrast="high"] div[id^="rate-"].result-item .price dl.light dt {
  color: color-mix(in srgb, #999999 70%, black);
}
:root[data-a11y-contrast="high"] div[id^="rate-"].result-item .price dl.light dd {
  color: color-mix(in srgb, #999999 70%, black);
}
:root[data-a11y-contrast="high"] .rate-price .price dl.light dt {
  color: color-mix(in srgb, #999999 70%, black);
}
:root[data-a11y-contrast="high"] .rate-price .price dl.light dd {
  color: color-mix(in srgb, #999999 70%, black);
}
