/* EL-TAMER Kundenportal – Komponenten im Design von www.el-tamer.de (Nachtblau, Kalkstein, Messing).
   Alle Regeln sind auf .et-plugin begrenzt und verändern die übrige Website nicht. */
.et-plugin {
  --text: #0E1A26; --muted: #5E6873; --line: #DCD6CC; --line-strong: #B9B2A5; --paper: #FFFFFF; --mist: #F3F0EA;
  --oasis: #0E1A26; --oasis-dark: #13212E; --oasis-tint: #F3F0EA; --focus: #A8875A;
  --success: #2F6B4F; --success-tint: #E6F0EA; --warning: #7A5E35; --warning-tint: #F5EEE2;
  --danger: #9A3B2E; --danger-tint: #F6E6E3; --info: #24364A; --info-tint: #E8ECF0;
  --fs-xs: 0.8125rem; --fs-s: 0.9375rem; --fs-m: 1.0625rem; --fs-l: 1.25rem; --fs-xl: 1.5625rem; --fs-2xl: clamp(1.8rem, 1.4rem + 1.4vw, 2.4rem);
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem; --space-5: 1.5rem; --space-6: 2rem; --space-7: 3rem; --space-8: 4.5rem;
  --radius-s: 1px; --radius-m: 2px; --radius-l: 2px; --header-h: 90px; --ease: cubic-bezier(.2,.7,.2,1);
  --shadow-pop: 0 12px 32px -12px rgba(14,26,38,.28), 0 2px 6px rgba(14,26,38,.06);
  max-width: var(--max, 1280px); margin-inline: auto; color: var(--text-body, #3B4652);
}
.et-plugin h1, .et-plugin h2, .et-plugin h3 { color: var(--ink); }
.et-plugin p { margin: 0 0 var(--space-4); max-width: 72ch; }
.et-plugin ul, .et-plugin ol { padding-inline-start: 1.25em; margin: 0 0 var(--space-4); }
.et-plugin li + li { margin-top: var(--space-1); }
.et-plugin hr { border: 0; border-top: 1px solid var(--line); margin: var(--space-6) 0; }
.et-plugin small, .et-plugin .small { font-size: var(--fs-s); }
.et-plugin .muted { color: var(--muted); }
.et-plugin :focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 2px; }
.et-plugin ::selection { background: var(--oasis-tint); color: var(--ink); }
.et-plugin [hidden] { display: none !important; }
.et-plugin .visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.et-plugin .skip-link {
  position: absolute; inset-inline-start: var(--space-4); top: -100px; z-index: 1000;
  background: var(--ink); color: #fff; padding: var(--space-2) var(--space-4); border-radius: var(--radius-s);
}
.et-plugin .skip-link:focus { top: var(--space-2); color: #fff; }
.et-plugin .icon { width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
[dir="rtl"] .et-plugin .icon--dir { transform: scaleX(-1); }
.et-plugin .container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.et-plugin .container--narrow { max-width: calc(820px + 2 * var(--gutter)); }
.et-plugin .section { padding-block: var(--space-8); }
.et-plugin .section--mist { background: var(--mist); }
.et-plugin .section--ink { background: var(--ink); color: #dfe6e3; }
.et-plugin .section--ink h2, .et-plugin .section--ink h3 { color: #fff; }
.et-plugin .section + .section:not(.section--mist):not(.section--ink) { padding-top: 0; }
.et-plugin .stack > * + * { margin-top: var(--space-4); }
.et-plugin .grid { display: grid; gap: var(--space-6); }
.et-plugin .grid > *, .et-plugin .panel, .et-plugin .table-wrap { min-width: 0; }
@media (min-width: 768px) {
.et-plugin .grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.et-plugin .grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.et-plugin .grid--sidebar { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
.et-plugin .grid--aside { grid-template-columns: 260px minmax(0, 1fr); align-items: start; }
}
.et-plugin .btn {
  --btn-bg: var(--ink); --btn-fg: #fff; --btn-border: var(--ink);
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
  min-height: 46px; padding: 0.6rem 1.35rem;
  font-weight: 600; font-size: var(--fs-s); line-height: 1.2;
  border: 1px solid var(--btn-border); border-radius: var(--radius-s);
  background: var(--btn-bg); color: var(--btn-fg); text-decoration: none; cursor: pointer;
  transition: background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);
}
.et-plugin .btn:hover { --btn-bg: var(--ink-2); color: var(--btn-fg); }
.et-plugin .btn:active { transform: translateY(1px); }
.et-plugin .btn:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.et-plugin .btn--on-ink:focus-visible, .et-plugin .btn--outline-on-ink:focus-visible { outline-color: #7FC4B0; }
.et-plugin .btn--accent { --btn-bg: var(--oasis); --btn-border: var(--oasis); }
.et-plugin .btn--accent:hover { --btn-bg: var(--oasis-dark); --btn-border: var(--oasis-dark); }
.et-plugin .btn--secondary { --btn-bg: transparent; --btn-fg: var(--ink); --btn-border: var(--line-strong); }
.et-plugin .btn--secondary:hover { --btn-bg: var(--ink); --btn-fg: #fff; --btn-border: var(--ink); }
.et-plugin .btn--ghost { --btn-bg: transparent; --btn-fg: var(--oasis); --btn-border: transparent; padding-inline: 0.5rem; }
.et-plugin .btn--ghost:hover { --btn-bg: var(--oasis-tint); --btn-fg: var(--oasis-dark); text-decoration: underline; text-underline-offset: 3px; }
.et-plugin .btn--danger { --btn-bg: #fff; --btn-fg: var(--danger); --btn-border: #e3b8b4; }
.et-plugin .btn--danger:hover { --btn-bg: var(--danger-tint); --btn-fg: var(--danger); }
.et-plugin .btn--on-ink { --btn-bg: #fff; --btn-fg: var(--ink); --btn-border: #fff; }
.et-plugin .btn--on-ink:hover { --btn-bg: #7FC4B0; --btn-fg: var(--ink); --btn-border: #7FC4B0; }
.et-plugin .btn--outline-on-ink { --btn-bg: transparent; --btn-fg: #fff; --btn-border: rgba(255, 255, 255, .55); }
.et-plugin .btn--outline-on-ink:hover { --btn-bg: #fff; --btn-fg: var(--ink); --btn-border: #fff; }
.et-plugin .btn--small { min-height: 36px; padding: 0.35rem 0.85rem; font-size: var(--fs-xs); }
.et-plugin .btn--block { width: 100%; }
.et-plugin .btn[disabled], .et-plugin .btn[aria-disabled="true"] { opacity: .5; pointer-events: none; }
.et-plugin .btn-row { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.et-plugin .form { display: grid; gap: var(--space-5); }
.et-plugin .form fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: var(--space-4); min-width: 0; }
.et-plugin .form legend { font-weight: 700; font-size: var(--fs-l); color: var(--ink); margin-bottom: var(--space-3); padding: 0; }
.et-plugin .form-row { display: grid; gap: var(--space-4); }
@media (min-width: 640px) {
.et-plugin .form-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.et-plugin .form-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.et-plugin .field { display: grid; gap: 6px; min-width: 0; align-content: start; }
.et-plugin .field__label { font-weight: 600; font-size: var(--fs-s); color: var(--ink); }
.et-plugin .field__label .req { color: var(--danger); margin-inline-start: 2px; }
.et-plugin .field__hint { font-size: var(--fs-xs); color: var(--muted); }
.et-plugin .field__error { font-size: var(--fs-xs); color: var(--danger); font-weight: 600; display: flex; gap: 6px; align-items: flex-start; }
.et-plugin .input, .et-plugin .select, .et-plugin .textarea {
  width: 100%; min-height: 48px; padding: 0.6rem 0.85rem;
  background: #fff; border: 1px solid var(--line-strong); border-radius: var(--radius-s);
  font-size: var(--fs-m); line-height: 1.4; color: var(--text);
  transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.et-plugin .textarea { min-height: 140px; resize: vertical; }
.et-plugin .select {
  appearance: none; padding-inline-end: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356626e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-size: 18px; background-position: right 0.8rem center;
}
[dir="rtl"] .et-plugin .select { background-position: left 0.8rem center; }
.et-plugin .input:hover, .et-plugin .select:hover, .et-plugin .textarea:hover { border-color: var(--muted); }
.et-plugin .input:focus, .et-plugin .select:focus, .et-plugin .textarea:focus { outline: none; border-color: var(--oasis); box-shadow: 0 0 0 3px rgba(31, 107, 90, .2); }
.et-plugin .field.has-error .input, .et-plugin .field.has-error .select, .et-plugin .field.has-error .textarea { border-color: var(--danger); }
.et-plugin .field.has-error .input:focus, .et-plugin .field.has-error .select:focus, .et-plugin .field.has-error .textarea:focus { box-shadow: 0 0 0 3px rgba(163, 55, 47, .18); }
.et-plugin .input[readonly] { background: var(--mist); }
.et-plugin input[type="email"], .et-plugin input[type="tel"], .et-plugin input[type="url"], .et-plugin .input--ltr { direction: ltr; }
[dir="rtl"] .et-plugin input[type="email"], [dir="rtl"] .et-plugin input[type="tel"], [dir="rtl"] .et-plugin .input--ltr { text-align: right; }
.et-plugin .check { display: flex; gap: var(--space-3); align-items: flex-start; font-size: var(--fs-s); cursor: pointer; }
.et-plugin .check input { width: 20px; height: 20px; margin: 3px 0 0; flex: none; accent-color: var(--oasis); }
.et-plugin .check-grid { display: grid; gap: var(--space-2) var(--space-4); grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.et-plugin .pw-wrap { position: relative; }
.et-plugin .pw-wrap .input { padding-inline-end: 3rem; }
.et-plugin .pw-toggle { position: absolute; inset-inline-end: 4px; top: 4px; height: 40px; width: 40px; display: grid; place-items: center; border: 0; background: none; color: var(--muted); cursor: pointer; border-radius: var(--radius-s); }
.et-plugin .pw-toggle:hover { color: var(--ink); background: var(--mist); }
.et-plugin .form-note { font-size: var(--fs-xs); color: var(--muted); }
.et-plugin .hp-field { position: absolute !important; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.et-plugin .alert {
  display: flex; gap: var(--space-3); align-items: flex-start;
  padding: var(--space-4) var(--space-5); border-radius: var(--radius-m);
  border: 1px solid; font-size: var(--fs-s); margin-bottom: var(--space-5);
}
.et-plugin .alert p { margin: 0; }
.et-plugin .alert p + p { margin-top: var(--space-2); }
.et-plugin .alert .icon { margin-top: 3px; }
.et-plugin .alert--success { background: var(--success-tint); border-color: #b9dcc9; color: #154a33; }
.et-plugin .alert--info { background: var(--info-tint); border-color: #c3d6e6; color: #1d3f5b; }
.et-plugin .alert--warning { background: var(--warning-tint); border-color: #ebd3a6; color: #5f3d0a; }
.et-plugin .alert--error { background: var(--danger-tint); border-color: #ebc0bc; color: #7a231d; }
.et-plugin .flash-region:empty { display: none; }
.et-plugin .badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0.1rem 0.6rem; border-radius: 999px;
  font-size: var(--fs-xs); font-weight: 600; line-height: 1.7; white-space: nowrap;
  background: var(--mist); color: var(--ink-2); border: 1px solid transparent;
}
.et-plugin .badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .7; }
.et-plugin .badge--plain::before { display: none; }
.et-plugin .badge--success { background: var(--success-tint); color: var(--success); }
.et-plugin .badge--warning { background: var(--warning-tint); color: var(--warning); }
.et-plugin .badge--danger { background: var(--danger-tint); color: var(--danger); }
.et-plugin .badge--info { background: var(--info-tint); color: var(--info); }
.et-plugin .badge--accent { background: var(--oasis-tint); color: var(--oasis-dark); }
.et-plugin .badge--outline { background: transparent; border-color: var(--line-strong); color: var(--muted); }
.et-plugin .prose { max-width: 72ch; }
.et-plugin .prose h2 { margin-top: var(--space-7); }
.et-plugin .prose h3 { margin-top: var(--space-6); }
.et-plugin .prose a { word-break: break-word; }
.et-plugin .prose table { width: 100%; border-collapse: collapse; margin-bottom: var(--space-5); font-size: var(--fs-s); }
.et-plugin .prose th, .et-plugin .prose td { text-align: start; border-bottom: 1px solid var(--line); padding: var(--space-2) var(--space-3); vertical-align: top; }
.et-plugin .empty { text-align: center; padding: var(--space-8) var(--space-5); border: 1px dashed var(--line-strong); border-radius: var(--radius-m); color: var(--muted); }
.et-plugin .empty h2, .et-plugin .empty h3 { color: var(--ink); }
.et-plugin .empty p { margin-inline: auto; }
.et-plugin .pagination { display: flex; gap: var(--space-2); justify-content: center; margin-top: var(--space-6); flex-wrap: wrap; }
.et-plugin .pagination a, .et-plugin .pagination span { min-width: 42px; min-height: 42px; display: grid; place-items: center; padding: 0 0.6rem; border: 1px solid var(--line); border-radius: var(--radius-s); text-decoration: none; color: var(--text); font-size: var(--fs-s); }
.et-plugin .pagination a:hover { background: var(--mist); }
.et-plugin .pagination [aria-current="page"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.et-plugin .detail-head { display: grid; gap: var(--space-4); margin-bottom: var(--space-6); }
.et-plugin .detail-head__meta { display: flex; gap: var(--space-3); flex-wrap: wrap; align-items: center; color: var(--muted); font-size: var(--fs-s); }
.et-plugin .facts-table { width: 100%; border-collapse: collapse; font-size: var(--fs-s); }
.et-plugin .facts-table th, .et-plugin .facts-table td { padding: var(--space-3) 0; border-bottom: 1px solid var(--line); text-align: start; vertical-align: top; }
.et-plugin .facts-table th { color: var(--muted); font-weight: 400; width: 45%; padding-inline-end: var(--space-4); }
.et-plugin .facts-table td { font-weight: 600; color: var(--ink); }
.et-plugin .panel { border: 1px solid var(--line); border-radius: var(--radius-m); padding: var(--space-5); background: #fff; }
.et-plugin .panel + .panel { margin-top: var(--space-5); }
.et-plugin .panel__title { font-size: var(--fs-m); margin-bottom: var(--space-3); }
.et-plugin .panel--accent { border-color: var(--oasis); box-shadow: inset 0 3px 0 var(--oasis); }
.et-plugin .panel--mist { background: var(--mist); border-color: transparent; }
.et-plugin .sticky-aside { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.et-plugin .highlights { list-style: none; padding: 0; }
.et-plugin .highlights li { padding-inline-start: 1.6em; position: relative; }
.et-plugin .highlights li::before { content: ""; position: absolute; inset-inline-start: 0; top: 0.75em; width: 0.8em; height: 1px; background: var(--oasis); }
.et-plugin .lock-box { display: flex; gap: var(--space-4); align-items: flex-start; padding: var(--space-5); background: var(--mist); border-radius: var(--radius-m); }
.et-plugin .lock-box .icon { width: 1.6rem; height: 1.6rem; color: var(--oasis); margin-top: 4px; }
.et-plugin .table-wrap { position: relative; width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-m); -webkit-overflow-scrolling: touch; }
.et-plugin .table { width: 100%; border-collapse: collapse; font-size: var(--fs-s); min-width: 560px; }
.et-plugin .table th { text-align: start; font-weight: 600; color: var(--muted); font-size: var(--fs-xs); padding: var(--space-3) var(--space-4); background: var(--mist); border-bottom: 1px solid var(--line); white-space: nowrap; }
.et-plugin .table td { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--line); vertical-align: middle; }
.et-plugin .table tr:last-child td { border-bottom: 0; }
.et-plugin .table .num { text-align: end; font-variant-numeric: tabular-nums; white-space: nowrap; }
.et-plugin .table a { font-weight: 600; }
@media (max-width: 640px) {
.et-plugin .table--stack { min-width: 0; }
.et-plugin .table--stack thead { display: none; }
.et-plugin .table--stack tr { display: block; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--line); }
.et-plugin .table--stack tr:last-child { border-bottom: 0; }
.et-plugin .table--stack td { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-1) 0; border: 0; text-align: end; }
.et-plugin .table--stack td::before { content: attr(data-label); color: var(--muted); font-size: var(--fs-xs); text-align: start; }
.et-plugin .table--stack .num { text-align: end; }
}
.et-plugin .account-shell { padding-block: var(--space-6) var(--space-8); }
.et-plugin .account-nav { font-size: var(--fs-s); min-width: 0; }
.et-plugin .account-main { min-width: 0; }
.et-plugin .account-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.et-plugin .account-nav li { margin: 0; }
.et-plugin .account-nav a { display: flex; gap: var(--space-3); align-items: center; padding: 0.55rem 0.75rem; border-radius: var(--radius-s); color: var(--text); text-decoration: none; }
.et-plugin .account-nav a:hover { background: var(--mist); }
.et-plugin .account-nav a[aria-current="page"] { background: var(--ink); color: #fff; }
.et-plugin .account-nav a[aria-current="page"] .icon { color: #fff; }
.et-plugin .account-nav .icon { color: var(--muted); width: 1.1rem; height: 1.1rem; }
.et-plugin .account-nav__count { margin-inline-start: auto; background: var(--oasis); color: #fff; border-radius: 999px; font-size: var(--fs-xs); padding: 0 0.5rem; line-height: 1.6; font-weight: 600; }
@media (max-width: 767px) {
.et-plugin .account-nav ul { display: flex; overflow-x: auto; gap: var(--space-2); padding-bottom: var(--space-2); scrollbar-width: thin; }
.et-plugin .account-nav a { white-space: nowrap; border: 1px solid var(--line); }
}
.et-plugin .account-head { display: flex; justify-content: space-between; gap: var(--space-4); align-items: flex-end; flex-wrap: wrap; margin-bottom: var(--space-6); }
.et-plugin .account-head h1 { font-size: var(--fs-2xl); margin: 0; }
.et-plugin .account-head p { margin: var(--space-2) 0 0; color: var(--muted); }
.et-plugin .kpis { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius-m); overflow: hidden; margin-bottom: var(--space-6); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) {
.et-plugin .kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.et-plugin .kpi { background: #fff; padding: var(--space-4) var(--space-5); text-decoration: none; color: inherit; display: block; }
.et-plugin a.kpi:hover { background: var(--mist); }
.et-plugin .kpi__value { font-size: var(--fs-xl); font-weight: 700; color: var(--ink); line-height: 1.2; }
.et-plugin .kpi__label { font-size: var(--fs-xs); color: var(--muted); }
.et-plugin .next-steps { list-style: none; padding: 0; margin: 0; border: 1px solid var(--line); border-radius: var(--radius-m); }
.et-plugin .next-steps li { margin: 0; display: flex; gap: var(--space-4); align-items: center; justify-content: space-between; padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.et-plugin .next-steps li:last-child { border-bottom: 0; }
.et-plugin .next-steps__text strong { display: block; color: var(--ink); }
.et-plugin .next-steps__text span { color: var(--muted); font-size: var(--fs-s); }
.et-plugin .progress { height: 6px; background: var(--mist); border-radius: 999px; overflow: hidden; }
.et-plugin .progress__bar { height: 100%; background: var(--oasis); border-radius: 999px; }
.et-plugin .timeline { list-style: none; padding: 0; margin: 0; border-inline-start: 2px solid var(--line); }
.et-plugin .timeline li { position: relative; margin: 0; padding: 0 0 var(--space-4) var(--space-5); }
[dir="rtl"] .et-plugin .timeline li { padding: 0 var(--space-5) var(--space-4) 0; }
.et-plugin .timeline li::before { content: ""; position: absolute; inset-inline-start: -7px; top: 8px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--line-strong); }
.et-plugin .timeline li.is-done::before { background: var(--oasis); border-color: var(--oasis); }
.et-plugin .timeline li.is-current::before { border-color: var(--oasis); box-shadow: 0 0 0 4px var(--oasis-tint); }
.et-plugin .timeline strong { display: block; color: var(--ink); font-size: var(--fs-s); }
.et-plugin .timeline span { color: var(--muted); font-size: var(--fs-xs); }
.et-plugin .thread-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--radius-m); overflow: hidden; }
.et-plugin .thread-list li { margin: 0; border-bottom: 1px solid var(--line); }
.et-plugin .thread-list li:last-child { border-bottom: 0; }
.et-plugin .thread-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-1) var(--space-4); padding: var(--space-4) var(--space-5); text-decoration: none; color: var(--text); }
.et-plugin .thread-list a:hover { background: var(--mist); }
.et-plugin .thread-list .is-unread strong { color: var(--ink); }
.et-plugin .thread-list .is-unread a { box-shadow: inset 3px 0 0 var(--oasis); }
[dir="rtl"] .et-plugin .thread-list .is-unread a { box-shadow: inset -3px 0 0 var(--oasis); }
.et-plugin .thread-list__subject { font-weight: 600; }
.et-plugin .thread-list__meta { color: var(--muted); font-size: var(--fs-xs); }
.et-plugin .thread-list__date { color: var(--muted); font-size: var(--fs-xs); white-space: nowrap; }
.et-plugin .messages { display: grid; gap: var(--space-4); margin-bottom: var(--space-6); }
.et-plugin .msg { max-width: min(640px, 92%); padding: var(--space-4) var(--space-5); border-radius: var(--radius-l); background: var(--mist); }
.et-plugin .msg--own { margin-inline-start: auto; background: var(--oasis-tint); }
.et-plugin .msg--system { max-width: 100%; background: transparent; border: 1px dashed var(--line-strong); font-size: var(--fs-s); color: var(--muted); }
.et-plugin .msg__meta { display: flex; gap: var(--space-3); justify-content: space-between; font-size: var(--fs-xs); color: var(--muted); margin-bottom: var(--space-2); flex-wrap: wrap; }
.et-plugin .msg__author { font-weight: 600; color: var(--ink); }
.et-plugin .msg__body { white-space: pre-line; overflow-wrap: anywhere; }
.et-plugin .msg__body p:last-child { margin: 0; }
.et-plugin .msg__files { list-style: none; padding: 0; margin: var(--space-3) 0 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.et-plugin .msg__files li { margin: 0; }
.et-plugin .file-chip { display: inline-flex; align-items: center; gap: 6px; padding: 0.25rem 0.65rem; border: 1px solid var(--line-strong); border-radius: var(--radius-s); background: #fff; font-size: var(--fs-xs); text-decoration: none; color: var(--ink); }
.et-plugin .file-chip:hover { border-color: var(--oasis); color: var(--oasis); }
.et-plugin .msg__read { font-size: var(--fs-xs); color: var(--muted); margin-top: var(--space-2); text-align: end; }
.et-plugin .auth { min-height: calc(100vh - var(--header-h) - 200px); display: grid; place-items: start center; padding: var(--space-7) var(--gutter) var(--space-8); }
.et-plugin .auth__card { width: 100%; max-width: 480px; }
.et-plugin .auth__card--wide { max-width: 760px; }
.et-plugin .auth__card h1 { font-size: var(--fs-2xl); margin-bottom: var(--space-2); }
.et-plugin .auth__lead { color: var(--muted); margin-bottom: var(--space-6); }
.et-plugin .auth__switch { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--line); font-size: var(--fs-s); color: var(--muted); }
.et-plugin .dialog { border: 0; padding: 0; border-radius: var(--radius-l); box-shadow: var(--shadow-pop); width: min(560px, calc(100vw - 2rem)); color: var(--text); }
.et-plugin .dialog::backdrop { background: rgba(14, 26, 38, .45); }
.et-plugin .dialog__head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-5) var(--space-5) 0; }
.et-plugin .dialog__head h2 { font-size: var(--fs-l); margin: 0; }
.et-plugin .dialog__body { padding: var(--space-5); }
.et-plugin .dialog__foot { padding: 0 var(--space-5) var(--space-5); display: flex; gap: var(--space-3); justify-content: flex-end; flex-wrap: wrap; }
.et-plugin .icon-btn { width: 40px; height: 40px; display: grid; place-items: center; border: 0; background: none; border-radius: var(--radius-s); cursor: pointer; color: var(--muted); }
.et-plugin .icon-btn:hover { background: var(--mist); color: var(--ink); }
.et-plugin .services { display: grid; gap: var(--space-5); }
@media (min-width: 800px) {
.et-plugin .services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.et-plugin .service { border: 1px solid var(--line); border-radius: var(--radius-m); padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-3); background: #fff; }
.et-plugin .service h2, .et-plugin .service h3 { font-size: var(--fs-xl); margin: 0; }
.et-plugin .service__price { font-size: var(--fs-xl); font-weight: 700; color: var(--ink); }
.et-plugin .service__price small { font-weight: 400; color: var(--muted); font-size: var(--fs-xs); display: block; }
.et-plugin .service__foot { margin-top: auto; padding-top: var(--space-4); display: flex; gap: var(--space-3); flex-wrap: wrap; align-items: center; }
.et-plugin .summary { font-size: var(--fs-s); }
.et-plugin .summary dl { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2) var(--space-4); margin: 0; }
.et-plugin .summary dt { color: var(--muted); }
.et-plugin .summary dd { margin: 0; text-align: end; font-variant-numeric: tabular-nums; }
.et-plugin .summary .total { font-weight: 700; color: var(--ink); border-top: 1px solid var(--line); padding-top: var(--space-2); }
.et-plugin .contract-party { font-size: var(--fs-xs); color: var(--muted); border-top: 1px solid var(--line); padding-top: var(--space-3); margin-top: var(--space-3); }
.et-plugin .bank-box { font-size: var(--fs-s); }
.et-plugin .bank-box dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-2) var(--space-4); margin: 0; }
.et-plugin .bank-box dt { color: var(--muted); }
.et-plugin .bank-box dd { margin: 0; font-weight: 600; direction: ltr; text-align: start; overflow-wrap: anywhere; }
.et-plugin .mt-0 { margin-top: 0 !important; }
.et-plugin .mb-0 { margin-bottom: 0 !important; }
.et-plugin .mt-4 { margin-top: var(--space-4); }
.et-plugin .mt-6 { margin-top: var(--space-6); }
.et-plugin .mb-6 { margin-bottom: var(--space-6); }
.et-plugin .text-end { text-align: end; }
.et-plugin .ltr { direction: ltr; unicode-bidi: isolate; display: inline-block; }
.et-plugin .nowrap { white-space: nowrap; }
.et-plugin .num { font-variant-numeric: tabular-nums; }
.et-plugin .kpi__label { display: block; font-size: var(--fs-xs); color: var(--muted); margin-bottom: var(--space-1); }
.et-plugin .kpi__value { display: block; font-size: var(--fs-2xl); font-weight: 700; color: var(--ink); line-height: 1.2; font-variant-numeric: tabular-nums; }
.et-plugin .eyebrow { font-size: var(--fs-xs); font-weight: 600; letter-spacing: .04em; color: var(--oasis); text-transform: uppercase; }
[dir="rtl"] .et-plugin .eyebrow { letter-spacing: 0; text-transform: none; }
.et-plugin .grid--2 { display: grid; gap: var(--space-5); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) {
.et-plugin .grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.et-plugin .grid--aside-end { display: grid; gap: var(--space-6); grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1000px) {
.et-plugin .grid--aside-end { grid-template-columns: minmax(0, 1fr) 320px; }
}
.et-plugin .timeline--h { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); border-inline-start: 0; border-top: 2px solid var(--line); padding-top: var(--space-4); }
.et-plugin .timeline--h li { padding: 0 !important; display: flex; align-items: center; gap: var(--space-2); }
.et-plugin .timeline--h li::before { position: static; flex: none; }
.et-plugin .check-list { list-style: none; padding: 0; margin: var(--space-4) 0 0; display: grid; gap: var(--space-2); }
.et-plugin .check-list li { display: flex; align-items: center; gap: var(--space-2); margin: 0; }
.et-plugin .check-list .icon { flex: none; }
.et-plugin .panel__title { font-size: var(--fs-l); margin: 0 0 var(--space-4); }
.et-plugin .account-main .ledger { margin-top: 0; }
.et-plugin fieldset.panel { margin: 0 0 var(--space-5); }
.et-plugin fieldset.panel legend { font-weight: 700; color: var(--ink); padding: 0 var(--space-2); margin-inline-start: calc(-1 * var(--space-2)); }
.et-plugin .btn-row { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.et-plugin a > .icon, .et-plugin button > .icon, .et-plugin p > a .icon { display: inline-block; vertical-align: -0.15em; }

/* El-Tamer Akzente */
.et-plugin .btn--accent { --btn-bg: var(--brass, #A8875A); --btn-fg: var(--ink); --btn-border: var(--brass, #A8875A); }
.et-plugin .btn--accent:hover { --btn-bg: #B8976A; --btn-border: #B8976A; --btn-fg: var(--ink); }
.et-plugin .eyebrow { color: var(--brass-text, #7A5E35); letter-spacing: .2em; font-size: 12px; }
.et-plugin .panel--accent { border-color: var(--brass, #A8875A); box-shadow: inset 0 3px 0 var(--brass, #A8875A); }
.et-plugin .timeline li.is-done::before { background: var(--brass, #A8875A); border-color: var(--brass, #A8875A); }
.et-plugin .timeline li.is-current::before { border-color: var(--brass, #A8875A); box-shadow: 0 0 0 4px var(--mist); }
.et-plugin .progress__bar { background: var(--brass, #A8875A); }
.et-plugin .account-nav__count { background: var(--brass, #A8875A); color: var(--ink); }
.et-plugin input[type="checkbox"], .et-plugin input[type="radio"] { margin-inline-end: 0; }
.et-plugin button[type="submit"].btn { min-height: 46px; padding: .6rem 1.35rem; }
.et-plugin .btn--danger { --btn-bg: #fff; }
/* Fragebogen */
.et-plugin .qn-section { border-top: 1px solid var(--line); padding-top: var(--space-5); }
.et-plugin .qn-section:first-child { border-top: 0; padding-top: 0; }
.et-plugin .qn-section > h2 { font-size: var(--fs-l); }
.et-plugin .qn-progress { position: sticky; top: var(--header-h); z-index: 2; background: #fff; padding-block: var(--space-3); }
.et-plugin .offer-box { border: 1px solid var(--line); border-top: 4px solid var(--brass, #A8875A); background: #fff; padding: var(--space-6); }
.et-plugin .offer-box__price { font-size: clamp(2rem, 1.6rem + 1.5vw, 2.8rem); font-weight: 600; color: var(--ink); line-height: 1.1; }
.et-plugin .offer-box__price small { display: block; font-size: var(--fs-s); font-weight: 400; color: var(--muted); margin-top: var(--space-2); }
.et-plugin .offer-plans { display: grid; gap: var(--space-4); }
@media (min-width: 700px) { .et-plugin .offer-plans { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.et-plugin .day-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.et-plugin .day { border: 1px solid var(--line); padding: var(--space-4); background: #fff; }
.et-plugin .day--available { border-color: var(--brass, #A8875A); }
@media print { .et-plugin .account-nav, .et-plugin .btn { display: none !important; } }
.et-plugin .offer-box__unit { font-size: .55em; font-weight: 500; color: var(--muted); }

/* www.el-tamer.de färbt jeden Absende-Button beim Überfahren dunkel (button[type=submit]:hover). Portal-Buttons behalten
   ihre eigenen Farben – sonst entstünde dunkle Schrift auf dunklem Grund. */
.et-plugin .btn:hover, .et-plugin button.btn:hover, .et-plugin button[type="submit"].btn:hover, .et-plugin input[type="submit"].btn:hover,
.et-plugin .btn:focus-visible, .et-plugin button[type="submit"].btn:focus-visible {
  background: var(--btn-bg); color: var(--btn-fg); border-color: var(--btn-border);
}

/* Anmeldeseite des Kundenportals (felogin im schmalen Layout): Überschrift, Text, Formular und „Passwort vergessen?“
   in einer gemeinsamen Spalte wie der Einleitungstext darüber. */
.frame-type-felogin_login.frame-layout-3 > * { max-width: 760px; margin-inline: auto; }
.frame-type-felogin_login.frame-layout-3 > a { display: block; margin-block-start: 18px; }
.frame-type-felogin_login.frame-layout-3 form fieldset { margin: 0; }

