/* ESV 6.10 – isolated fee UI. No overrides to football, heroes or existing forms. */
.esvfee{--ef-ink:var(--esv-color-text,#173e2c);--ef-accent:var(--esv-color-link,#007d38);--ef-edge:var(--esv-color-border,#cbded2);--ef-soft:var(--esv-color-surface-2,#f1f7f3);--ef-muted:var(--esv-color-muted,#52675b);box-sizing:border-box;width:100%;max-width:1180px!important;margin:24px auto 40px!important;color:var(--esv-color-text,#162c20);font:inherit;line-height:1.5;min-width:0}
.esvfee *,.esvfee *::before,.esvfee *::after{box-sizing:border-box;min-width:0}.esvfee [hidden]{display:none!important}.esvfee h2,.esvfee h3,.esvfee h4,.esvfee p{max-width:none!important}.esvfee .esvfee-head{background:linear-gradient(120deg,var(--esv-color-surface-2,#edf7ef),var(--esv-color-surface,#f9fbfa));border:1px solid var(--ef-edge);padding:30px 32px;border-radius:20px 20px 0 0}
.esvfee .esvfee-head h2{font-size:clamp(1.6rem,3vw,2.3rem)!important;line-height:1.15!important;letter-spacing:-.025em;margin:7px 0 12px!important;color:var(--ef-ink)!important}.esvfee .esvfee-head p{margin:0 0 10px!important;font-size:1rem!important;max-width:780px!important}.esvfee .esvfee-head .esvfee-kicker{font-size:.72rem!important;letter-spacing:.09em;color:var(--ef-accent)!important;font-weight:800}.esvfee .esvfee-source{font-size:.86rem;color:var(--ef-accent);font-weight:700;text-underline-offset:3px;display:inline-block;min-height:32px}
.esvfee .esvfee-enhanced{border:1px solid var(--ef-edge);border-top:0;padding:24px 28px 30px;background:var(--esv-color-surface,#fff);border-radius:0 0 20px 20px}.esvfee .esvfee-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 22px!important;padding:0!important;font-size:.87rem}.esvfee .esvfee-flow span{display:flex;align-items:center;gap:9px;color:var(--ef-muted)}.esvfee .esvfee-flow b{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--ef-soft);color:var(--ef-accent);font-size:.83rem}.esvfee .esvfee-flow .is-current b{background:var(--ef-accent);color:var(--esv-color-on-primary,#fff)}.esvfee .esvfee-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px!important}
.esvfee button,.esvfee input,.esvfee select,.esvfee textarea{font:inherit;text-transform:none;letter-spacing:normal}.esvfee button{cursor:pointer;line-height:1.35}.esvfee button:disabled{opacity:.55;cursor:not-allowed}.esvfee .esvfee-presets button{min-height:44px;border:1px solid var(--ef-edge);border-radius:10px;padding:10px 14px;background:var(--esv-color-surface,#fff);color:var(--ef-ink);font-size:.9rem;font-weight:700}.esvfee .esvfee-presets button:hover,.esvfee .esvfee-presets button.is-active{background:var(--ef-soft);border-color:var(--ef-accent)}.esvfee .esvfee-small{font-size:.84rem!important;line-height:1.5!important;color:var(--ef-muted)!important;margin:8px 0 12px!important}
.esvfee .esvfee-people{display:grid;gap:20px;margin:20px 0 14px!important}.esvfee .esvfee-person{border:1px solid var(--ef-edge);border-left:4px solid var(--ef-accent);padding:20px;border-radius:15px;background:var(--esv-color-surface,#fff);box-shadow:0 5px 20px #0a362308}.esvfee .esvfee-person>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px!important}.esvfee .esvfee-person h3{margin:0!important;font-size:1.16rem!important;line-height:1.3!important;color:var(--ef-ink)!important}.esvfee .esvfee-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.esvfee label{display:block;font-size:.9rem;line-height:1.4;color:var(--esv-color-text,#254334)}.esvfee label>span{display:block;font-weight:650;margin:0 0 6px}.esvfee label small{display:block;font-size:.8rem;line-height:1.4;color:var(--ef-muted);margin-top:5px}
.esvfee input:not([type=checkbox]),.esvfee select,.esvfee textarea{width:100%;border:1px solid var(--esv-color-border,#b6cbbf);border-radius:9px;background:var(--esv-color-surface,#fff);color:var(--esv-color-text,#172d20);min-height:46px;padding:10px 11px;font-size:1rem;box-shadow:none}.esvfee textarea{min-height:88px;resize:vertical}.esvfee .esvfee-selection{margin-top:14px;padding:16px;border:1px solid var(--esv-color-border,#dce8df);border-radius:11px;background:var(--esv-color-surface,#f6faf7)}.esvfee .esvfee-group-label{margin-top:10px}.esvfee .esvfee-text-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 2px;border:0;background:none;color:var(--ef-accent);font-size:.85rem;font-weight:750;text-align:left}.esvfee [data-remove-selection]{font-size:.8rem}.esvfee .esvfee-add-person{display:block;min-height:46px;border:1px dashed var(--esv-color-border,#7fa68e);border-radius:10px;background:var(--esv-color-surface,#f8fbf9);color:var(--ef-accent);padding:10px 18px;font-weight:750;width:100%}
.esvfee .esvfee-options{margin:22px 0 20px!important}.esvfee .esvfee-check{display:flex!important;align-items:flex-start;gap:10px;margin:14px 0!important;min-height:36px;cursor:pointer}.esvfee .esvfee-check input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;flex:0 0 20px;accent-color:var(--ef-accent);padding:0!important;margin:2px 0 0!important}.esvfee .esvfee-check>span{font-weight:500;line-height:1.5;margin:0}.esvfee .esvfee-check a{color:var(--ef-accent);text-decoration:underline}
.esvfee details{margin-top:14px;border:1px solid var(--esv-color-border,#d8e5dc);border-radius:10px;background:var(--esv-color-surface,#fff);padding:0;overflow:hidden}.esvfee details>summary{position:relative;display:block!important;list-style:none;cursor:pointer;padding:13px 42px 13px 14px;min-height:48px;background:var(--esv-color-surface-2,#f5f9f6);font-weight:700;font-size:.9rem;color:var(--ef-ink)}.esvfee summary::-webkit-details-marker{display:none}.esvfee details>summary::after{content:'+';position:absolute;right:16px;top:10px;font-size:20px}.esvfee details[open]>summary::after{content:'−'}.esvfee details>.esvfee-fields,.esvfee .esvfee-previous>p{margin:14px!important}.esvfee .esvfee-previous>.esvfee-selection{margin:12px}.esvfee .esvfee-previous>button{margin:0 12px 10px}.esvfee .esvfee-primary,.esvfee .esvfee-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 19px;border:1px solid var(--ef-accent);border-radius:10px;font-size:.95rem;font-weight:800;background:var(--ef-accent);color:var(--esv-color-on-primary,#fff);white-space:normal;text-decoration:none}.esvfee .esvfee-secondary{background:var(--esv-color-surface,#fff);color:var(--ef-accent)}.esvfee .esvfee-primary:hover{background:var(--esv-color-primary-hover,#005c29)}.esvfee .esvfee-calc-actions,.esvfee .esvfee-submit-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0 8px}.esvfee .esvfee-status{font-size:.9rem;margin:12px 0;color:var(--ef-muted)}.esvfee .esvfee-status.is-error,.esvfee .esvfee-form-errors{color:var(--esv-color-error-text,#9b291b);font-weight:650;font-size:.93rem}
.esvfee .esvfee-result{margin:22px 0!important;border:1px solid var(--ef-edge);border-radius:16px;overflow:hidden}.esvfee .esvfee-result-top{padding:24px;background:var(--esv-color-surface-2,#eff7f1)}.esvfee .esvfee-tag{display:inline-flex;padding:4px 9px;background:var(--esv-color-surface,#fff);border:1px solid var(--esv-color-border,#ccdace);border-radius:6px;font-size:.73rem;font-weight:750;color:var(--esv-color-text,#345f45)}.esvfee .esvfee-amount{margin:14px 0 8px!important}.esvfee .esvfee-amount strong{display:block;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:850;color:var(--ef-ink);line-height:1.15}.esvfee .esvfee-amount span{display:block;margin-top:5px;font-size:.9rem;font-weight:650}.esvfee .esvfee-equivalent,.esvfee .esvfee-disclaimer{font-size:.83rem!important;margin:10px 0 0!important;line-height:1.5!important}.esvfee .esvfee-disclaimer{padding-top:12px;border-top:1px solid var(--esv-color-border,#d1e2d7);color:var(--esv-color-text,#3a5243)}
.esvfee .esvfee-saving,.esvfee .esvfee-comparison,.esvfee .esvfee-warning,.esvfee .esvfee-additions{padding:18px 22px;margin:0!important;border-top:1px solid var(--esv-color-border,#dee9e1)}.esvfee .esvfee-warning{background:var(--esv-color-warning-bg,#fff9ee);border-left:3px solid var(--esv-color-warning-text,#c88b29)}.esvfee .esvfee-result h4{margin:0 0 9px!important;font-size:.97rem!important;color:var(--esv-color-text,#233d2e);line-height:1.4!important}.esvfee .esvfee-result p,.esvfee .esvfee-result li{font-size:.88rem;line-height:1.55}.esvfee .esvfee-result ul{padding-left:20px;margin:9px 0 0}.esvfee .esvfee-result li+li{margin-top:7px}.esvfee .esvfee-result dl{margin:0}.esvfee .esvfee-result dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:8px 0;border-bottom:1px solid var(--esv-color-border,#e7eee9);font-size:.87rem}.esvfee .esvfee-result dd{margin:0;text-align:right;font-weight:750}.esvfee .esvfee-result details{border-width:1px 0 0;border-radius:0;margin:0}.esvfee .esvfee-break-section,.esvfee .esvfee-breakdown>p{margin:16px 20px!important}.esvfee .esvfee-break-section{padding-bottom:12px;border-bottom:1px solid var(--esv-color-border,#e6ece8)}.esvfee .esvfee-break-section h4{display:flex;justify-content:space-between;gap:12px}
.esvfee .esvfee-proceed{padding:4px 0 12px}.esvfee .esvfee-application{margin-top:32px;padding-top:26px;border-top:2px solid var(--ef-edge)}.esvfee .esvfee-application>h3{font-size:1.6rem!important;margin:0 0 12px!important;color:var(--ef-ink);line-height:1.2!important}.esvfee .esvfee-application>p{font-size:.94rem}.esvfee fieldset{border:1px solid var(--ef-edge);border-radius:12px;padding:20px;margin:24px 0;min-width:0}.esvfee legend{font-weight:750;font-size:1rem;line-height:1.4;padding:0 8px;color:var(--ef-ink);max-width:100%;white-space:normal}.esvfee .esvfee-guardian{padding:16px;margin-top:16px;background:var(--esv-color-warning-bg,#fff9ed);border-radius:9px}.esvfee .esvfee-success{padding:25px;border:2px solid var(--ef-accent);background:var(--ef-soft);border-radius:14px;color:var(--ef-ink);line-height:1.6}.esvfee .esvfee-hp{position:absolute!important;left:-10000px!important;height:1px!important;width:1px!important;overflow:hidden!important}.esvfee-print-frame{position:fixed;left:-10000px;top:0;width:1000px;height:700px;border:0}
.esvfee :is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--esv-color-focus,#326e9f);outline-offset:3px}.esvfee-reference{border-left:3px solid var(--esv-color-border,#bdcedf);padding-left:10px}.esvfee-result,.esvfee-application{scroll-margin-top:100px}
@media(max-width:760px){.esvfee .esvfee-head{padding:24px 20px}.esvfee .esvfee-enhanced{padding:20px 16px}.esvfee .esvfee-flow{gap:7px;font-size:.78rem}.esvfee .esvfee-flow span{align-items:flex-start;flex-direction:column;gap:5px}.esvfee .esvfee-person{padding:16px}.esvfee .esvfee-fields{grid-template-columns:1fr;gap:13px}.esvfee .esvfee-result-top{padding:20px}.esvfee .esvfee-saving,.esvfee .esvfee-comparison,.esvfee .esvfee-warning,.esvfee .esvfee-additions{padding:16px 18px}.esvfee fieldset{padding:16px}.esvfee .esvfee-result dl>div{grid-template-columns:1fr;gap:3px}.esvfee .esvfee-result dd{text-align:left}}
@media(max-width:430px){.esvfee .esvfee-head{padding:20px 16px}.esvfee .esvfee-enhanced{padding:18px 12px}.esvfee .esvfee-person{padding:14px 12px}.esvfee .esvfee-selection{padding:12px}.esvfee .esvfee-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.esvfee .esvfee-presets button{font-size:.84rem;padding:10px}.esvfee .esvfee-calc-actions>button,.esvfee .esvfee-proceed>button,.esvfee .esvfee-submit-actions>button{width:100%}.esvfee .esvfee-break-section h4{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.esvfee *{scroll-behavior:auto!important}}
.esvfee .esvfee-group-details{background:transparent;border:0;margin-top:6px!important;overflow:visible}.esvfee .esvfee-group-details>summary{background:transparent;font-weight:550;font-size:.81rem;padding-left:0;min-height:40px}.esvfee .esvfee-group-details>label{margin:0 0 8px}.esvfee-anchor{display:block;height:0;scroll-margin-top:100px}

/* 6.3 – direct application first. Shared fields are moved, not duplicated. */
.esvfee .esvfee-entry{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;margin:0 0 20px!important;padding-bottom:20px;border-bottom:1px solid var(--ef-edge)}
.esvfee .esvfee-entry>button{display:flex;gap:9px;min-height:52px;text-align:center}
.esvfee .esvfee-entry>button[aria-pressed=true]{box-shadow:0 0 0 2px #25744925}
.esvfee .esvfee-entry small{font-size:.73rem;background:var(--esv-color-surface-2,#edf5ef);color:var(--esv-color-muted,#376247);border-radius:5px;padding:2px 6px;font-weight:650}
.esvfee .esvfee-entry .esvfee-primary{color:var(--esv-color-on-primary,#fff)!important}
.esvfee .esvfee-entry .esvfee-secondary{color:var(--ef-accent)!important}
.esvfee .esvfee-calculator-head{padding:0 0 18px;margin:0 0 20px;border-bottom:1px solid var(--ef-edge)}
.esvfee .esvfee-calculator-head h3,.esvfee .esvfee-application>h3{font-size:1.5rem!important;line-height:1.25!important;margin:0 0 9px!important;color:var(--ef-ink)}
.esvfee .esvfee-calculator-head>p{font-size:.93rem;line-height:1.5;margin:0 0 4px!important;color:var(--ef-muted)}
.esvfee .esvfee-application{margin:0!important;padding:0!important;border-top:0}
.esvfee .esvfee-status:empty{display:none}
.esvfee .esvfee-person-private{margin:16px 0 0}
.esvfee[data-fee-mode=application] .esvfee-selection-fields,.esvfee[data-fee-mode=application] .esvfee-person-status{grid-template-columns:1fr}
.esvfee .esvfee-person-private .esvfee-address-details{margin-top:12px}
.esvfee .esvfee-address-body,.esvfee .esvfee-tariff-body{padding:0 14px 14px}
.esvfee .esvfee-tariff-body{padding-top:14px}
.esvfee .esvfee-person-private .esvfee-guardian{margin-top:14px;padding:14px}
.esvfee .esvfee-address-details>summary,.esvfee .esvfee-tariff-details>summary{font-weight:550;font-size:.84rem;background:var(--esv-color-surface,#fcfefd);min-height:44px;padding-top:11px;padding-bottom:11px}
.esvfee .esvfee-tariff-details,.esvfee .esvfee-address-details{background:var(--esv-color-surface,#fff)}
.esvfee .esvfee-group-details>summary{min-height:44px}
.esvfee .esvfee-app-review{margin:20px 0}
.esvfee .esvfee-app-review-content{padding:14px}
.esvfee .esvfee-direct-note{padding:14px 16px;border-radius:10px;background:var(--ef-soft);margin:20px 0!important}
.esvfee .esvfee-direct-note strong{color:var(--ef-ink)}
.esvfee .esvfee-skip-bottom{display:block;margin-top:10px;min-height:44px}
.esvfee .esvfee-result.is-outdated{opacity:.72}
.esvfee .esvfee-calculator,.esvfee .esvfee-application{scroll-margin-top:100px}
.esvfee .esvfee-request-form [type=submit]{min-height:48px}
@media(max-width:600px){
 .esvfee .esvfee-entry{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:18px!important;padding-bottom:18px}
 .esvfee .esvfee-entry>button{width:100%;justify-content:center;min-height:50px}
 .esvfee .esvfee-presets{gap:7px}
 .esvfee .esvfee-calculator-head h3,.esvfee .esvfee-application>h3{font-size:1.25rem!important}
 .esvfee .esvfee-person-private{margin-top:13px}
 .esvfee .esvfee-address-body,.esvfee .esvfee-tariff-body{padding-left:11px;padding-right:11px}
 .esvfee .esvfee-app-review-content{padding:8px}
}

/* 6.6 – Antragsteller und Mitgliedschaftspersonen in einer gemeinsamen Matrix. */
.esvfee .esvfee-applicant-slot{display:grid;gap:20px;margin:20px 0!important}
.esvfee .esvfee-applicant{border-left-color:var(--esv-color-link,#0b5f3b);background:linear-gradient(135deg,var(--esv-color-surface,#f7fbf8),var(--esv-color-surface-2,#edf6f0))}
.esvfee .esvfee-applicant>header>div,.esvfee .esvfee-person>header>div{min-width:0}
.esvfee .esvfee-card-kicker{margin:0 0 3px!important;color:var(--ef-accent)!important;font-size:.68rem!important;font-weight:850;letter-spacing:.09em;line-height:1.2!important}
.esvfee .esvfee-card-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid var(--esv-color-border,#bcd5c5);border-radius:999px;background:var(--esv-color-surface,#fff);color:var(--esv-color-text,#315b43);font-size:.75rem;font-weight:750}
.esvfee .esvfee-applicant-fields{margin-top:16px}
.esvfee .esvfee-applicant-fields label:first-child,.esvfee .esvfee-applicant-fields label:nth-child(2){order:-2}
.esvfee .esvfee-same-applicant{margin:4px 0 14px!important;padding:11px 13px;border:1px solid var(--esv-color-border,#cfe0d5);border-radius:9px;background:var(--esv-color-surface-2,#f3f8f5)}
.esvfee .esvfee-person-name-fields{margin-bottom:14px}
.esvfee .esvfee-guardian-name{margin-top:10px}
.esvfee[data-fee-mode=application] .esvfee-applicant-slot+.esvfee-people{margin-top:14px!important}
.esvfee[data-fee-mode=application] .esvfee-applicant-slot+.esvfee-people::before{content:'Personen für Mitgliedschaft oder Familienzuordnung';display:block;margin:0 0 -7px;color:var(--ef-ink);font-size:1rem;font-weight:800}
@media(max-width:600px){
 .esvfee .esvfee-applicant-slot{margin-top:16px!important}
 .esvfee .esvfee-card-badge{font-size:.7rem}
 .esvfee .esvfee-same-applicant{padding:10px 11px}
}

/* 6.10 – readable controls and less nesting on phones. */
@media(max-width:760px){
 .esvfee input:not([type=checkbox]),.esvfee select,.esvfee textarea{font-size:16px;min-height:48px;max-width:100%;min-width:0}
 .esvfee input[type=date]{display:block}
 .esvfee input::-webkit-date-and-time-value{min-height:1.4em;text-align:left}
 .esvfee .esvfee-text-button{min-height:44px;padding:10px 4px;white-space:normal}
 .esvfee .esvfee-check{min-height:44px}
 .esvfee .esvfee-person>header{align-items:flex-start;flex-wrap:wrap;gap:8px}
 .esvfee :is(.esvfee-person h3,.esvfee-status,.esvfee-form-errors,.esvfee-result,.esvfee-app-review-content){overflow-wrap:anywhere}
 .esvfee :is(.esvfee-presets button,.esvfee-entry>button){white-space:normal}
 .esvfee .esvfee-presets button{min-height:48px}
 .esvfee .esvfee-entry>button{flex-wrap:wrap}
 .esvfee .esvfee-form-errors{scroll-margin-top:90px}
}
@media(max-width:430px){
 .esvfee .esvfee-enhanced{padding:18px 10px}
 .esvfee .esvfee-person{padding:14px 10px;border-left-width:3px;box-shadow:none}
 .esvfee .esvfee-selection{padding:12px 10px}
 .esvfee fieldset{padding:14px 10px}
 .esvfee .esvfee-person-private .esvfee-guardian{padding:12px 10px}
 .esvfee .esvfee-same-applicant{padding:10px}
 .esvfee :is(.esvfee-address-body,.esvfee-tariff-body){padding-left:10px;padding-right:10px}
 .esvfee .esvfee-applicant-slot{gap:16px}
 .esvfee .esvfee-result-top{padding:18px 14px}
 .esvfee :is(.esvfee-saving,.esvfee-comparison,.esvfee-warning,.esvfee-additions){padding:14px}
}
