/* Payment information and inactive bank-form slot. Scoped to the EVER site. */
body.ever-site > .ever-header .header-inner nav#navigation { gap: 14px; }
@media (min-width:761px) and (max-width:1319px) {
  body.ever-site > .ever-header .header-inner { grid-template-columns:minmax(0,1fr) auto; padding:16px 0 0; gap:14px 24px; }
  body.ever-site > .ever-header .header-phone { grid-column:2; }
  body.ever-site > .ever-header .header-inner nav#navigation { display:flex; grid-column:1/-1; grid-row:2; justify-content:space-between; padding:6px 0; gap:12px; border-top:1px solid var(--nested-line); }
}
.ever-payment-teaser { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr); gap:32px; align-items:center; border-top:1px solid var(--nested-line); border-bottom:1px solid var(--nested-line); margin-top:36px; padding:32px 0; }
.ever-payment-teaser h3 { margin-bottom:10px; }
.ever-payment-teaser p { max-width:660px; margin-bottom:0; color:var(--nested-muted); }
.ever-payment-teaser .button { justify-self:end; }
body.ever-payment-page { background:var(--nested-surface); color:var(--nested-ink); }
body.ever-payment-page > .ever-header .brand-picture > img.brand-theme-light { display:block; }
body.ever-payment-page > .ever-header .brand-picture > img.brand-theme-dark { display:none; }
html[data-color-theme="dark"] body.ever-payment-page > .ever-header .brand-picture > img.brand-theme-light { display:none; }
html[data-color-theme="dark"] body.ever-payment-page > .ever-header .brand-picture > img.brand-theme-dark { display:block; }
.ever-payment-page :is(h1,h2,h3) { color:var(--nested-ink); }
.ever-payment-page .container { max-width:1224px; }
.ever-payment-page .payment-intro { padding-top:30px; padding-bottom:0; }
.payment-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:28px; }
.payment-back { font-size:13px; color:var(--nested-muted); text-decoration:none; }
.payment-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(30px,5vw,76px); align-items:start; }
.payment-intro-copy { padding:24px 0; }
.ever-payment-page h1 { font-size:clamp(38px,4.5vw,66px); line-height:1.08; letter-spacing:-.04em; margin-bottom:26px; }
.payment-intro-copy .lead { font-size:20px; color:var(--nested-muted); max-width:480px; }
.payment-address { color:var(--nested-muted); margin:30px 0; font-size:14px; }
.payment-widget { background:var(--nested-card); color:var(--nested-ink); border:1px solid var(--nested-line); padding:clamp(24px,3vw,38px); border-radius:12px; min-width:0; }
.ever-payment-page .payment-widget h2 { font-size:27px; letter-spacing:-.035em; margin-bottom:16px; }
.payment-widget p { font-size:14px; line-height:1.65; color:var(--nested-muted); }
.payment-widget .payment-status { display:flex; align-items:center; gap:9px; font-size:12px; color:var(--nested-ink); margin-bottom:20px; }
.payment-status span { height:7px; width:7px; flex:none; border-radius:50%; background:var(--nested-accent); }
.payment-widget fieldset { border:0; padding:0; margin:24px 0 20px; min-width:0; }
.payment-widget label { display:block; font-size:12px; color:var(--nested-ink); margin-bottom:15px; min-width:0; }
.payment-widget input { display:block; width:100%; min-width:0; margin-top:7px; padding:12px 14px; border:1px solid var(--nested-line); border-radius:5px; color:var(--nested-muted); background:var(--nested-surface); font-size:14px; opacity:1; -webkit-text-fill-color:var(--nested-muted); }
.payment-widget input::placeholder { color:var(--nested-muted); opacity:1; }
.payment-fields-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.payment-widget .payment-disabled { width:100%; min-height:48px; padding:12px; border:1px solid var(--nested-line); border-radius:5px; color:var(--nested-ink); background:var(--nested-surface); font:inherit; font-size:13px; cursor:not-allowed; opacity:1; }
.payment-widget .payment-recipient { padding-top:16px; margin-bottom:18px; border-top:1px solid var(--nested-line); font-size:12px; }
.payment-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
body.ever-payment-page .payment-jump-nav { display:flex; position:static; flex-direction:row; flex-wrap:wrap; gap:8px 28px; padding:25px 0; margin-top:42px; border-top:1px solid var(--nested-line); border-bottom:1px solid var(--nested-line); background:transparent; }
.payment-jump-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; color:var(--nested-ink); padding:0; text-decoration:none; }
.payment-jump-nav a:hover,.payment-back:hover { text-decoration:underline; }
.ever-payment-page .payment-section { padding-top:70px; padding-bottom:70px; }
.payment-section-heading { max-width:760px; margin-bottom:34px; }
.ever-payment-page .eyebrow { color:var(--nested-accent); margin-bottom:18px; font-size:11px; }
.ever-payment-page h2 { font-size:clamp(30px,3.5vw,44px); letter-spacing:-.035em; }
.payment-section-heading p:not(.eyebrow) { color:var(--nested-muted); }
.payment-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; margin-bottom:28px; }
.payment-service-grid article { padding-top:24px; border-top:1px solid var(--nested-line); }
.payment-number { display:block; color:var(--nested-accent); font-size:12px; margin-bottom:20px; }
.payment-service-grid h3,.payment-price-list h3,.payment-steps h3,.payment-refund-grid h3,.payment-contact-strip h3 { font-size:21px; letter-spacing:-.025em; line-height:1.25; }
.payment-service-grid p,.payment-price-list p,.payment-refund-grid p,.payment-steps p { font-size:15px; color:var(--nested-muted); }
.ever-payment-page .payment-note { font-size:13px; line-height:1.65; color:var(--nested-muted); max-width:820px; }
.payment-tint { padding:70px 0; background:var(--nested-card); }
.payment-price-notice { border-left:3px solid var(--nested-accent); padding:24px 28px; background:var(--nested-surface); margin-bottom:30px; }
.payment-price-notice h3 { font-size:22px; line-height:1.3; }
.payment-price-notice p { color:var(--nested-muted); font-size:15px; max-width:800px; }
.payment-price-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.payment-price-list>div { border-top:1px solid var(--nested-line); padding-top:25px; }
.payment-price-list p { margin-bottom:0; }
.payment-steps { list-style:none; padding:0; margin:0 0 30px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; counter-reset:payment-step; }
.payment-steps li { counter-increment:payment-step; padding-top:24px; border-top:1px solid var(--nested-line); }
.payment-steps li::before { content:counter(payment-step,decimal-leading-zero); display:block; margin-bottom:20px; font-size:13px; color:var(--nested-accent); }
.payment-deadline { background:var(--nested-card); padding:24px 28px; margin-bottom:20px; }
.payment-deadline p { margin:8px 0 0; color:var(--nested-muted); font-size:14px; }
.payment-details { border-top:1px solid var(--nested-line); border-bottom:1px solid var(--nested-line); }
.payment-details summary { padding:23px 30px 23px 0; cursor:pointer; font-size:16px; line-height:1.5; color:var(--nested-ink); }
.payment-details>div { max-width:900px; padding:0 0 10px; color:var(--nested-muted); font-size:15px; }
.payment-refund-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; margin-bottom:20px; }
.payment-contact-strip { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr); gap:40px; margin-top:32px; align-items:center; }
.payment-contact-strip p { font-size:14px; color:var(--nested-muted); margin-bottom:0; }
.payment-contact-links { display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.payment-contact-links a { font-size:15px; min-height:28px; }
.payment-company { margin:0; }
.payment-company>div { display:grid; grid-template-columns:minmax(170px,1fr) minmax(0,3fr); padding:20px 0; gap:35px; border-top:1px solid var(--nested-line); font-size:15px; }
.payment-company dt { color:var(--nested-muted); }
.payment-company dd { margin:0; overflow-wrap:anywhere; }
.payment-document-links { display:flex; flex-wrap:wrap; gap:20px 35px; margin-top:24px; }
.ever-payment-page .payment-privacy { border-top:1px solid var(--nested-line); }
.payment-privacy>p { max-width:870px; color:var(--nested-muted); }
.ever-payment-page .text-link { display:inline-block; color:var(--nested-ink); border-color:var(--nested-accent); }
.payment-privacy h2 { font-size:30px; }
.ever-payment-page main :is(section,aside)[id] { scroll-margin-top:160px; }
.utility-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0 0 40px; }
.utility-card { display:flex; flex-direction:column; min-width:0; padding:26px; border:1px solid var(--nested-line); border-radius:8px; background:var(--nested-card); }
.utility-card h3 { font-size:20px; line-height:1.3; min-height:2.6em; margin-bottom:18px; }
.utility-card .utility-rate { color:var(--nested-ink); font-size:30px; line-height:1.3; letter-spacing:-.025em; font-variant-numeric:tabular-nums; margin:0 0 16px; }
.utility-rate span { display:inline-block; font-size:14px; letter-spacing:0; white-space:nowrap; }
.utility-card>p:not(.utility-rate),.utility-electricity>p { color:var(--nested-muted); font-size:14px; }
.utility-sources { display:flex; flex-direction:column; gap:12px; padding-top:18px; margin-top:auto; border-top:1px solid var(--nested-line); }
.utility-sources a { color:var(--nested-ink); font-size:12px; line-height:1.6; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; border:0!important; }
.utility-electricity { margin:0 0 32px; }
.utility-electricity>h3 { font-size:27px; }
.utility-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:15px; margin:24px 0; }
.utility-table caption { text-align:left; color:var(--nested-muted); font-size:13px; margin-bottom:14px; }
.utility-table th,.utility-table td { padding:17px 18px; text-align:left; border-bottom:1px solid var(--nested-line); vertical-align:top; }
.utility-table thead th { background:var(--nested-card); font-size:13px; font-weight:500; line-height:1.5; }
.utility-table tbody th { font-weight:400; }
.utility-table td { font-variant-numeric:tabular-nums; font-weight:600; }
.utility-source-row { flex-direction:row; flex-wrap:wrap; gap:16px 30px; }
@media(max-width:1100px) { .utility-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .utility-grid { grid-template-columns:1fr; gap:16px; }
  .utility-card { padding:22px; }
  .utility-card h3 { min-height:0; }
  .utility-table,.utility-table tbody,.utility-table tr,.utility-table th,.utility-table td { display:block; width:auto; }
  .utility-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .utility-table tr { padding:16px 0; border-top:1px solid var(--nested-line); }
  .utility-table th,.utility-table td { padding:7px 0; border:0; }
  .utility-table tbody th { font-size:16px; font-weight:600; }
  .utility-table td { display:flex; justify-content:space-between; align-items:baseline; gap:18px; }
  .utility-table td::before { content:attr(data-label); flex:1; font-size:12px; font-weight:400; color:var(--nested-muted); }
}
@media(max-width:1000px) {
  .payment-service-grid { grid-template-columns:1fr 1fr; }
  .payment-hero-grid { grid-template-columns:1fr 1fr; gap:30px; }
  .payment-fields-row { grid-template-columns:1fr; gap:0; }
}
@media(max-width:760px) {
  .ever-payment-page .container { width:calc(100% - 40px); }
  .payment-hero-grid,.payment-price-list,.payment-steps,.payment-refund-grid,.payment-contact-strip,.ever-payment-teaser { grid-template-columns:1fr; gap:24px; }
  .ever-payment-page .payment-intro { padding-top:20px; }
  .payment-topline { margin-bottom:12px; }
  .payment-intro-copy { padding:14px 0; }
  .payment-intro-copy .lead { font-size:18px; }
  .payment-widget { padding:24px; }
  .ever-payment-page .payment-widget h2 { font-size:27px; }
  .payment-fields-row { grid-template-columns:1fr 1fr; gap:12px; }
  body.ever-payment-page .payment-jump-nav { display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; margin-top:30px; padding:16px 0; }
  .payment-jump-nav a { font-size:13px; line-height:1.45; }
  .ever-payment-page .payment-section,.payment-tint { padding-top:48px; padding-bottom:48px; }
  .payment-section-heading { margin-bottom:26px; }
  .payment-service-grid { gap:20px; }
  .payment-service-grid h3 { font-size:20px; }
  .payment-service-grid p { font-size:14px; }
  .payment-price-notice,.payment-deadline { padding:22px; }
  .payment-company>div { grid-template-columns:1fr; gap:7px; padding:18px 0; }
  .payment-company dt { font-size:13px; }
  .ever-payment-teaser .button { justify-self:start; }
  .ever-payment-page main :is(section,aside)[id] { scroll-margin-top:160px; }
}
@media(max-width:370px) { .payment-fields-row,.payment-service-grid { grid-template-columns:1fr; } }
@media print {
  .ever-payment-page { background:white; color:#0b1b2e; }
  .payment-topline,.payment-jump-nav,.payment-widget { display:none!important; }
  .payment-hero-grid,.payment-refund-grid,.payment-contact-strip { display:block; }
  .ever-payment-page .payment-section,.payment-tint { padding:20px 0; }
  .payment-details>div { display:block!important; }
  .payment-company>div,.payment-service-grid article { break-inside:avoid; }
}

/* Own invoice form. Bank buttons load only after a verified invoice. */
.payment-widget .payment-status #payment-status-label { width:auto; height:auto; border-radius:0; background:none; }
.payment-widget [hidden] { display:none!important; }
.payment-widget .payment-primary { width:100%; border:1px solid var(--nested-ink); border-radius:6px; min-height:48px; padding:12px 18px; background:var(--nested-ink); color:var(--nested-surface); font:inherit; font-size:14px; cursor:pointer; }
.payment-widget .payment-primary:disabled { background:var(--nested-surface); border-color:var(--nested-line); color:var(--nested-muted); cursor:not-allowed; }
.payment-widget input:not(:disabled) { color:var(--nested-ink); -webkit-text-fill-color:var(--nested-ink); }
.payment-widget fieldset:disabled input { cursor:not-allowed; }
.payment-widget :is(button,input):focus-visible { outline:2px solid var(--nested-accent); outline-offset:4px; }
.payment-method-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.payment-method-preview span { padding:13px 4px; text-align:center; border:1px solid var(--nested-line); border-radius:6px; font-size:14px; font-weight:600; color:var(--nested-ink); background:var(--nested-surface); }
.payment-widget .payment-bank-note { font-size:12px; margin:14px 0 20px; }
.payment-widget :is(.payment-error,.payment-result,.payment-review) { padding:14px; border-left:3px solid var(--nested-accent); background:var(--nested-surface); color:var(--nested-ink); overflow-wrap:anywhere; }
.payment-check { padding:8px 0; border:0; border-bottom:1px solid var(--nested-accent); background:none; color:var(--nested-ink); font:inherit; font-size:13px; cursor:pointer; }
.payment-alternatives { display:flex; flex-wrap:wrap; gap:14px 22px; font-size:13px; }
#ever-bank-buttons { min-width:0; }
@media(max-width:380px) { .payment-fields-row { grid-template-columns:1fr; gap:0; } }

@media(max-width:640px){.utility-table caption{display:block;width:100%;max-width:none}}

.payment-method-preview span{white-space:nowrap}@media(max-width:360px){.payment-method-preview span{font-size:12px;padding:10px 6px}}
