/* Shared simplifications, with mobile fixes scoped to the customer portal. */
.fw-simple-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;flex-wrap:wrap}.fw-simple-heading h2{margin-top:0}.fw-release-section{padding:20px 0;border-top:1px solid #d3e2eb}.fw-release-section h3{margin:0 0 12px}.fw-release-tags{display:flex;gap:8px;flex-wrap:wrap}.fw-release-tag{background:#f1f4f6;border:1px solid #cad7df;border-radius:20px;padding:6px 10px;font-size:max(11px, calc(13px - 1pt))}.fw-release-tag.is-live{color:#215c3c;background:#ebf8ef;border-color:#bbdec5}.fw-release-gallery{padding:14px;margin:12px 0;background:#f6f9fb;border-radius:12px}.fw-release-gallery p{margin:6px 0}.fw-release-section :is(p,li){overflow-wrap:anywhere}
.fw-payment-tools{background:#eef7fc;border:1px solid #bcd4e4;border-radius:14px;padding:18px;margin:18px 0}.fw-payment-tools h3{margin:0 0 8px}.fw-payment-tools [data-payment-entry]{margin-top:16px}.fw-payment-tools [data-payment-preview]{font-weight:700}.fw-invoice-details>summary{cursor:pointer;font-weight:700;padding:12px 0;min-height:44px}.fw-invoice-details .fw-grid{margin-top:14px}.fw-backup-steps{padding-left:24px}.fw-backup-steps>li{padding:12px 0 20px 8px;border-bottom:1px solid #d3e2eb}.fw-backup-steps h3{margin-bottom:8px}.fw-backup-steps p{max-width:80ch}.fw-backup-steps .fw-check{margin-top:14px}.fw-invoice-details>#fw-backup-guide{margin-top:20px;padding-top:16px;border-top:1px solid #d3e2eb}.fw-invoice-details>#fw-backup-guide h3,.fw-invoice-details>h3{margin:0 0 8px}.fw-invoice-details>h3{margin-top:20px;padding-top:16px;border-top:1px solid #d3e2eb}
#fw-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}#fw-focus a{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:85px;padding:18px;background:#eaf5fc;border:1px solid #b5d1e2;border-radius:16px;color:#073f5f;text-decoration:none;overflow-wrap:anywhere}#fw-focus a:hover{background:#dceef8}#fw-focus a:focus-visible{outline:3px solid #df8035;outline-offset:3px}#fw-focus small{font-size:max(11px, calc(13px - 1pt))}#fw-focus strong{font-size:max(11px, calc(17px - 1pt))}
.fw-secondary>summary{padding:18px 20px;cursor:pointer;font-weight:700;color:#224b64;min-height:48px;line-height:1.5}.fw-secondary[open]>summary{border-bottom:1px solid #d4e1e9;margin-bottom:12px}.fw-secondary>h2{display:none}#fw-customer-suite>.fw-card:has(>.fw-secondary){padding:0}#fw-customer-suite>.fw-card>.fw-secondary>*:not(summary){margin-left:20px;margin-right:20px}#fw-customer-suite>.fw-card>.fw-secondary>*:last-child{margin-bottom:20px}#fw-customer-suite{margin-bottom:24px}#fw-messages{border:2px solid #b6d2e2}#fw-messages>h2:after{content:' · direkt im Portal';font-size:max(11px, calc(13px - 1pt));font-weight:400}#fw-important{border-left:4px solid #d68435}
#status .card-heading{min-width:0}#status .heading-with-icon{min-width:0}#status .status-summary{max-width:100%;min-width:0}#statusBadge{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}#fw-reading{max-width:100%;min-width:0}#fw-reading label{flex-wrap:wrap}#fw-reading select{max-width:100%;min-width:0}
@media(max-width:720px){
 .site-header .header-inner,.header-inner:has(#fw-reading){flex-wrap:wrap}
 #fw-reading{flex:0 0 100%;width:100%;margin:6px 0 0;padding:0 4px;box-sizing:border-box}#fw-reading summary{padding:7px 0}#fw-reading label{justify-content:space-between}#fw-reading p{font-size:max(11px, calc(13px - 1pt));overflow-wrap:anywhere}
 #status .card-heading{flex-direction:column;align-items:stretch;gap:12px}#status .status-summary{align-items:flex-start;align-self:flex-start}#status .heading-with-icon>div{min-width:0}#statusBadge{text-align:left}
 #fw-focus{grid-template-columns:1fr;gap:8px;margin:14px 0 20px}#fw-focus a{min-height:64px;padding:12px 16px}#fw-focus a small{font-size:max(11px, calc(12px - 1pt))}#fw-focus strong{font-size:max(11px, calc(16px - 1pt))}
 #fw-martin-dock{left:auto;right:12px;bottom:calc(78px + env(safe-area-inset-bottom))}#fw-martin-launch{min-height:44px!important;padding:8px 36px 8px 12px!important;border-radius:24px!important;gap:6px!important;font-size:max(11px, calc(13px - 1pt))!important}#fw-martin-launch img,#fw-martin-launch small,.fw-martin-offer{display:none!important}#fw-martin-launch strong{font-size:max(11px, calc(13px - 1pt))!important}
 .fw-simple-heading>button{width:100%}.fw-payment-tools{padding:14px}.fw-payment-tools .fw-row>button{flex:1;min-height:44px}.fw-release-tags{gap:6px}.fw-backup-steps{padding-left:20px}
}
@media print{#fw-focus{display:none!important}.fw-secondary:not([open])>*:not(summary){display:block!important}.fw-secondary>h2{display:none!important}}

html:has(#fw-reading){scroll-padding-top:var(--fw-header-offset,150px)}
@media(max-width:720px){.header-inner:has(#fw-reading){row-gap:8px}}

#kontakt .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* 4.22: approved full-width appointment and compact customer shortcuts. */
#fw-appointment{grid-template-columns:minmax(0,1fr)}
#fw-appointment .appointment-card{min-height:0}
#fw-appointment .appointment-card .card-body{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:22px 24px;gap:22px}
#fw-appointment .appointment-title{margin-top:0;overflow-wrap:anywhere}
#fw-appointment .appointment-meta span{min-width:0;max-width:100%}
#fw-appointment .appointment-meta strong{overflow-wrap:anywhere;min-width:0}
#fw-appointment .appointment-meta .icon{flex-shrink:0}
#fw-appointment .appointment-bottom{align-items:flex-end;flex-direction:column;gap:14px}
#fw-appointment :is(.countdown,.countdown-label){text-align:right}
#fw-appointment .appointment-details{display:flex;gap:16px;flex-wrap:wrap;margin-top:13px;font-size:13px;color:#5c707a;overflow-wrap:anywhere}
#fw-appointment .appointment-details strong{color:#244654;font-weight:650}
#fw-focus{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0;gap:14px}
#fw-focus a{min-height:72px;padding:12px 18px}
#fw-focus a:only-child{grid-column:1/-1}
@media(max-width:760px){
 #fw-appointment .appointment-card .card-body{grid-template-columns:1fr;padding:20px;gap:18px}
 #fw-appointment .appointment-bottom{flex-direction:row;align-items:end;flex-wrap:wrap}
 #fw-appointment :is(.countdown,.countdown-label){text-align:left}
 #fw-focus{gap:10px}
 #fw-focus a{padding:12px;min-height:80px}
 #fw-focus strong{font-size:14px}
 #fw-focus small{font-size:11px}
}
@media(max-width:420px){#fw-appointment .appointment-bottom .button-row{justify-content:flex-start}}
