/* A calm, accessible directory. The original brands remain unchanged. */
.pf-record-page .kassen-hero{padding-block:36px 48px}
.pf-record-page .breadcrumbs{margin-bottom:32px}
.kassen-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:70px;align-items:center}
.pf-record-page h1{font-size:clamp(40px,4.8vw,68px);line-height:1.08;letter-spacing:-.045em}
.pf-record-page h1 span,.pf-record-page em{color:var(--hh-wine,#83163f)}
.kassen-lead{font-size:20px;line-height:1.75;color:#62585d;margin-top:26px;max-width:40em}
.kassen-guide{--hh-h2:24px;padding:28px 30px;border-radius:24px;background:var(--hh-cream,#f7f3ed);border:1px solid #e3ddd7}
.pf-record-page .kassen-guide h2{font-size:24px;line-height:1.25;margin-bottom:16px}
.kassen-guide p{font-size:17px;line-height:1.7;color:#62585d}
.kassen-guide .kassen-check{font-size:14px;color:#83163f;margin-top:18px}
.kassen-directory-band{background:var(--hh-cream,#f7f3ed);border-block:1px solid #e3ddd7}
.kassen-directory{padding-block:48px 60px}
.kassen-directory h2{font-size:clamp(30px,3vw,42px)}
.kassen-directory>.eyebrow{color:#83163f}
.kassen-search{margin-block:28px 20px;display:grid;grid-template-columns:minmax(0,1fr) 240px auto;gap:16px;align-items:end}
.kassen-search label{display:block;font-weight:650;font-size:16px;line-height:1.5;margin-bottom:8px}
.kassen-search input,.kassen-search select{width:100%;min-height:56px;border:1px solid #bfb4b7;border-radius:12px;padding:13px 16px;background:#fff;color:#2a2227;font:inherit;line-height:1.5}
.kassen-search input::placeholder{color:#766b70}
.kassen-clear{min-height:56px;border:1px solid #bfb4b7;border-radius:12px;padding:12px 18px;background:#fff;color:#83163f;font-size:16px;font-weight:650}
.kassen-quick{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-block:20px 28px}
.kassen-quick>span{font-size:14px;color:#62585d;margin-right:4px}
.kassen-quick button{padding:8px 14px;min-height:44px;border-radius:22px;background:#fff;border:1px solid #d5c6cc;color:#83163f;font-size:15px;font-weight:600;line-height:1.4}
.kassen-quick button:hover,.kassen-clear:hover{background:#f0e4e9}
.kassen-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:20px}
.kassen-toolbar p{font-size:15px;color:#62585d}
.kassen-toolbar a{font-size:15px;font-weight:600;color:#83163f;text-decoration:underline;text-underline-offset:4px}
.kassen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.kassen-card{background:#fff;border:1px solid #ded5d7;border-radius:18px;min-width:0;scroll-margin-top:calc(var(--header-height,90px) + 24px);overflow:hidden}
.kassen-card[open],.kassen-card:target{border-color:#a86b82}
.kassen-card>summary{display:flex;align-items:center;gap:20px;padding:24px;min-height:134px;cursor:pointer;list-style:none}
.kassen-card>summary::-webkit-details-marker{display:none}
.kassen-brand{display:flex;align-items:center;justify-content:flex-start;width:112px;height:62px;flex:0 0 112px}
.kassen-brand img{width:100%;height:100%;max-width:112px;object-fit:contain;object-position:left center;border-radius:0;filter:none}
.kassen-brand .kassen-brand-icon{width:44px;height:44px}
.kassen-brand-text{font-size:18px;font-weight:750;color:#83163f;line-height:1.2;overflow-wrap:anywhere}
.kassen-name{--hh-h3:21px;min-width:0;flex:1}
.pf-record-page .kassen-name h3{font-size:21px;line-height:1.27;letter-spacing:-.025em}
.kassen-name small{display:block;font-size:14px;color:#6c6066;margin-top:7px;line-height:1.5}
.kassen-toggle{color:#83163f;font-size:26px;line-height:1;flex:0 0 20px;text-align:center}
.kassen-toggle::before{content:'+'}
.kassen-card[open] .kassen-toggle::before{content:'−'}
.kassen-card>summary:focus-visible{outline:3px solid #83163f;outline-offset:-5px;border-radius:18px}
.kassen-card-body{border-top:1px solid #eee7e9;margin:0 24px;padding-block:22px 24px}
.kassen-phone-label{font-size:14px;color:#6a5c63;margin-bottom:4px}
.kassen-phone{font-size:24px;font-weight:700;color:#83163f;line-height:1.4;overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center}
.kassen-email{font-size:17px;overflow-wrap:anywhere;color:#83163f;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.kassen-post{padding-top:18px;margin-top:16px;border-top:1px solid #eee7e9}
.kassen-post-label{font-size:14px;color:#6a5c63;margin-bottom:8px}
.kassen-post address{font-size:17px;font-style:normal;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}
.kassen-copy{background:none;border:0;padding:8px 0;color:#83163f;font-size:15px;font-weight:650;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.kassen-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:20px}
.kassen-contact-links a{display:inline-flex;gap:14px;align-items:center;min-height:44px;padding:9px 15px;border:1px solid #cdbbc2;border-radius:10px;color:#83163f;font-size:16px;font-weight:650;line-height:1.5;max-width:100%}
.kassen-contact-links a:first-child{background:#83163f;border-color:#83163f;color:#fff}
.kassen-contact-links a span[aria-hidden]{margin-left:auto;font-size:20px}
.kassen-data-source{margin-top:20px;font-size:13px;color:#6a5c63}
.kassen-data-source summary{cursor:pointer;min-height:36px;padding-block:8px;line-height:1.6}
.kassen-data-source ul{padding-left:20px;margin:8px 0 0}
.kassen-data-source a{text-decoration:underline;overflow-wrap:anywhere}
.kassen-empty{padding:32px;border:1px solid #e0d6d9;border-radius:20px;background:#fff}
.kassen-empty h3{font-size:24px;margin-bottom:12px}
.kassen-empty p{color:#62585d;font-size:18px}
.kassen-directory-note{font-size:14px;color:#6a5c63;margin-top:24px;max-width:80ch}
.kassen-more{padding-block:64px}
.kassen-more-heading{max-width:760px;margin-bottom:28px}
.kassen-more-heading h2,.kassen-private h2,.kassen-faq h2{font-size:clamp(30px,3vw,42px);line-height:1.18}
.kassen-more-heading p,.kassen-private p{font-size:19px;line-height:1.75;color:#62585d;margin-top:22px}
.kassen-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kassen-help-card{padding:26px;border:1px solid #ded5d7;background:#fff;border-radius:20px;display:flex;flex-direction:column;align-items:flex-start}
.kassen-help-card h3{font-size:25px;line-height:1.2}
.kassen-help-card p{font-size:17px;color:#62585d;margin-block:16px 22px}
.kassen-help-card .text-link{margin-top:auto}
.kassen-private{padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:44px;border-radius:24px;background:#f7f3ed}
.kassen-private .text-link{margin-top:20px}
.kassen-private .private-phone{display:block;color:#83163f;font-size:25px;font-weight:700;margin-top:18px}
.kassen-faq{padding-block:64px}
.kassen-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.kassen-faq .faq-list summary{font-size:19px}
.kassen-faq .faq-list p{font-size:18px;line-height:1.75;color:#62585d}
.kassen-sources{border-top:1px solid #ded5d7;padding-block:28px 54px;font-size:14px;color:#6a5c63}
.kassen-sources p{max-width:90ch}
.kassen-sources a{text-decoration:underline;text-underline-offset:3px;color:#83163f}
@media(max-width:1100px){
 .kassen-intro{gap:36px}.kassen-search{grid-template-columns:minmax(0,1fr) 210px}.kassen-clear{grid-column:1/-1;justify-self:start;min-height:44px}
 .kassen-brand{width:88px;flex-basis:88px;height:54px}.kassen-card>summary{gap:16px;padding:20px}.kassen-name{--hh-h3:20px}.pf-record-page .kassen-name h3{font-size:20px}
 .kassen-help-grid{gap:16px}.kassen-help-card{padding:22px}
}
@media(max-width:900px){
 .kassen-intro{grid-template-columns:1fr}.kassen-guide{max-width:none}.kassen-grid{grid-template-columns:1fr}
 .kassen-card>summary{min-height:110px}.kassen-brand{width:112px;flex-basis:112px;height:58px}
 .kassen-help-grid{grid-template-columns:1fr}.kassen-help-card{padding:26px}
 .kassen-private,.kassen-faq-grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:760px){
 .pf-record-page .kassen-hero{padding-block:24px 36px}.pf-record-page .breadcrumbs{margin-bottom:26px}
 .pf-record-page h1{font-size:40px}.kassen-lead{font-size:18px;margin-top:22px}
 .kassen-guide{padding:24px}.kassen-guide h2{font-size:23px}.kassen-guide p{font-size:17px}
 .kassen-directory{padding-block:36px 40px}.kassen-search{grid-template-columns:1fr;gap:16px}
 .kassen-search input,.kassen-search select{font-size:17px}.kassen-clear{grid-column:auto}
 .kassen-quick{gap:8px}.kassen-quick>span{width:100%}.kassen-quick button{font-size:14px}
 .kassen-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.kassen-card>summary{padding:18px;gap:14px}
 .kassen-brand{width:88px;flex-basis:88px;height:52px}.kassen-name{--hh-h3:19px}.pf-record-page .kassen-name h3{font-size:19px}.kassen-name small{font-size:13px}
 .kassen-card-body{margin-inline:20px}.kassen-phone{font-size:23px}.kassen-contact-links a{font-size:16px}
 .kassen-more,.kassen-faq{padding-block:40px}.kassen-private{padding:26px;gap:30px}
 .kassen-more-heading p,.kassen-private p{font-size:18px}.kassen-faq .faq-list summary{font-size:18px}
 .kassen-empty{padding:24px}.kassen-sources{padding-block:26px 40px}
}
@media(max-width:420px){
 .kassen-card>summary{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:12px;min-height:154px}
 .kassen-brand{grid-column:1;grid-row:1;width:112px;height:52px}
 .kassen-name{grid-column:1/-1;grid-row:2}
 .kassen-toggle{grid-column:2;grid-row:1}
}
@media(max-width:360px){.kassen-card>summary{padding:16px}.kassen-name{--hh-h3:18px}.pf-record-page .kassen-name h3{font-size:18px}}
@media print{
 .site-header,.kassen-search,.kassen-quick,.kassen-copy,.kassen-toolbar>a{display:none!important}
 .kassen-directory-band,.kassen-private{background:#fff}.kassen-grid{display:block}
 .kassen-card{break-inside:avoid;margin-bottom:15px}.kassen-card-body{display:block!important}
}
/* Official brand backgrounds */
.kassen-brand-bg-000000{background:#000000;padding:8px;border-radius:8px}
.kassen-brand-bg-002c5b{background:#002c5b;padding:8px;border-radius:8px}
.kassen-brand-bg-70cbf4{background:#70cbf4;padding:8px;border-radius:8px}
.kassen-brand-bg-ae130f{background:#ae130f;padding:8px;border-radius:8px}
.kassen-brand-bg-f00551{background:#f00551;padding:8px;border-radius:8px}
