/* S-Beste Adressen 1.3.0 – editorial design aligned with S-Redaktion.
   ALL rules scoped to plugin classes or legacy Beste-Adressen articles.
   Content photos remain <=200px; featured image is explicitly excluded. */
.sba{
 --sba-red:#e13b39;--sba-ink:#202b3b;--sba-muted:#647184;
 --sba-border:#dce4ec;--sba-cream:#f7f4ec;--sba-gold:#eec66c;
 font-family:inherit;font-size:15px;line-height:1.55;
}
.sba .sba-eyebrow{display:flex;align-items:center;gap:8px;color:#d63236;font-weight:900;letter-spacing:.13em;line-height:1.4}
.sba .sba-eyebrow:before{content:"";display:inline-block;width:7px;height:7px;flex:none;background:var(--sba-red);border-radius:1px;transform:rotate(-12deg)}
.sba .sba-sectiontitle h1,.sba .sba-sectiontitle h2{font-weight:900;line-height:1.09;letter-spacing:-.05em}
.sba .sba-sectiontitle{position:relative;padding-left:18px;border-left:3px solid var(--sba-red)}
.sba .sba-sectiontitle p{margin-top:9px}
.sba .sba-section{margin-top:49px}
.sba .sba-btn{font-family:inherit;font-weight:850;border-radius:10px;transition:transform .2s,box-shadow .2s,background .2s}
.sba .sba-btn.sba-red:hover{box-shadow:0 8px 20px #dc3c392d}
.sba .sba-hero{min-height:380px;border-radius:18px;background:linear-gradient(116deg,#1d2b3b 0%,#293647 67%,#353b45 100%)}
.sba .sba-hero:before{background:radial-gradient(circle at 84% 36%,#dfbd7838 0%,transparent 46%);opacity:1}
.sba .sba-hero-copy{padding:clamp(29px,4.2vw,56px)}
.sba .sba-hero h1{font-size:clamp(37px,4.5vw,62px);letter-spacing:-.055em;margin:17px 0 16px}
.sba .sba-hero p{font-size:15px;line-height:1.7}
.sba .sba-hero .sba-eyebrow:before{background:#f1bc6e}
.sba .sba-medal{width:min(79%,210px);border-width:7px;box-shadow:0 21px 57px #0004}
.sba .sba-medal b{font-size:48px}
.sba .sba-medal strong{font-size:15px}
.sba .sba-ribbon{padding:12px 14px;margin-bottom:19px}
.sba .sba-keyfacts div{padding:15px 20px}
.sba .sba-keyfacts strong{font-size:30px}
.sba .sba-steps article,.sba .sba-package{position:relative;overflow:hidden;box-shadow:0 3px 13px #20304409;transition:box-shadow .2s,transform .2s,border-color .2s}
.sba .sba-steps article:before{content:"";position:absolute;inset:17px auto 17px 0;width:3px;border-radius:4px;background:var(--sba-red)}
.sba .sba-steps b{font-size:42px;color:#e4e5e6}
.sba .sba-steps h3{margin:12px 0 8px;font-size:20px}
.sba .sba-categories span{position:relative;min-height:98px;padding:15px;border:1px solid #ece4d6;gap:16px;transition:transform .2s,border-color .2s,box-shadow .2s}
.sba .sba-categories span:after{content:"";position:absolute;right:14px;top:14px;width:5px;height:5px;background:var(--sba-red);border-radius:1px;transform:rotate(-12deg)}
.sba .sba-categories b{font-size:24px}
.sba .sba-package-plus{background:linear-gradient(150deg,#fff 58%,#fff8f0 100%)}
.sba .sba-package{padding:21px 24px}
.sba .sba-package h3{font-size:21px;margin:8px 0 4px}
.sba .sba-package strong{font-size:33px}
.sba .sba-form,.sba .sba-editor{box-shadow:0 7px 24px #25394c0b;border-radius:15px}
.sba .sba-tier label:has(input:checked){background:#fff7ef;border-color:var(--sba-red);box-shadow:inset 0 0 0 1px var(--sba-red)}
.sba .sba-tier input[type="radio"]{accent-color:var(--sba-red)}
.sba .sba-form :is(input,textarea,select):focus,.sba .sba-editor :is(input,textarea,select):focus{border-color:var(--sba-red);outline:2px solid #e13b392a;outline-offset:1px}
/* Directory: compact magazine tiles with restrained logo previews. */
.sba .sba-directory .sba-sectiontitle{margin-bottom:21px}
.sba .sba-listing{gap:13px;margin-top:19px}
.sba .sba-list-card{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--sba-border);box-shadow:0 3px 13px #122c4708;transition:border-color .24s,box-shadow .24s,transform .24s}
.sba .sba-list-card:after{content:"";position:absolute;right:13px;top:13px;width:6px;height:6px;border-radius:1px;background:var(--sba-red);transform:rotate(-15deg);opacity:.8;pointer-events:none}
.sba .sba-list-card-plus{border-color:#e7bdac}
.sba .sba-list-card > .sba-list-card-visual{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:14px;min-height:132px;padding:15px 17px;background:linear-gradient(115deg,#f8f9fb,#f8f3e9)}
.sba .sba-list-image{width:110px;height:102px;border:1px solid #e7e9e8;border-radius:11px;padding:7px;background:#fff;overflow:hidden;display:grid;place-items:center}
.sba .sba-list-image img{max-width:100%!important;max-height:100%!important;width:100%;height:100%;object-fit:contain}
.sba .sba-list-image>span{font-size:35px;line-height:1}
.sba .sba-list-card-flags{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-right:9px}
.sba .sba-list-chip{display:inline-block;max-width:100%;padding:6px 8px;border:1px solid #ead9c4;border-radius:6px;background:#fff9ed;color:#a73c37;font-size:9px;font-weight:900;line-height:1.3;letter-spacing:.045em;white-space:normal}
.sba .sba-list-card-plus .sba-list-chip{background:#fff0ec;color:#a6312b;border-color:#e9bbb4}
.sba .sba-list-overline{font-size:9px;letter-spacing:.07em;font-weight:900;color:#7b8792;line-height:1.5}
.sba .sba-list-overline span{color:var(--sba-red);font-size:7px}
.sba .sba-list-card > .sba-list-card-content{display:flex;flex-direction:column;flex:1;min-width:0;padding:17px 19px 20px}
.sba .sba-list-card small{color:#667385;font-size:10px;letter-spacing:.055em;line-height:1.35}
.sba .sba-list-card h3{font-size:19px;line-height:1.24;font-weight:900;margin:7px 0 8px}
.sba .sba-list-card h3 a{color:var(--sba-ink)!important}
.sba .sba-list-card p{font-size:13px;line-height:1.55;margin:8px 0 14px;flex-grow:1}
.sba .sba-list-card .sba-card-link{margin-top:auto;padding-top:12px;border-top:1px solid #e8edf2;display:flex;justify-content:space-between;gap:9px;color:#c53f36!important}
.sba .sba-list-card .sba-card-link span{font-size:16px;line-height:1}
.sba .sba-list-card .sba-verified{align-self:flex-start;margin:0 0 5px}
/* Profile: echo the site's editorial panels without a second oversized hero. */
.sba .sba-profile{border-radius:16px;border-color:var(--sba-border);box-shadow:0 9px 29px #20304412}
.sba .sba-profile.sba-profile-plus{border-width:1px;border-color:#e9b6a9}
.sba .sba-profile-head{position:relative;padding:clamp(22px,3vw,35px);background:linear-gradient(116deg,#f8f7f2,#f4f0e7);border-bottom:1px solid #e9e3d9}
.sba .sba-profile-head:before{content:"";position:absolute;top:23px;left:0;width:4px;height:37px;border-radius:0 3px 3px 0;background:var(--sba-red)}
.sba .sba-profile-head h1{font-size:clamp(28px,3.3vw,42px);letter-spacing:-.045em;margin:8px 0 7px}
.sba .sba-profile-head p{font-size:13px}
.sba .sba-profile-logo{width:124px;height:124px;border-radius:12px;border-color:#e4e4dc}
.sba .sba-profile-body{gap:22px;padding:clamp(22px,3vw,35px);grid-template-columns:minmax(0,1fr) minmax(215px,285px)}
.sba .sba-profile-body h2{font-size:23px;letter-spacing:-.04em;font-weight:900}
.sba .sba-lead{font-size:16px;line-height:1.7}
.sba .sba-description{font-size:14px;line-height:1.7}
.sba .sba-contact{background:#f5f7fa;border:1px solid #e2e8ed;border-radius:12px;padding:20px}
.sba .sba-contact h3{font-size:17px}
.sba .sba-gallery-block{max-width:none;background:#f9fafb;border-radius:12px;border:1px solid #e5eaf0;padding:15px}
.sba .sba-gallery-block h3{font-size:16px}
.sba .sba-gallery{display:flex;flex-wrap:wrap;gap:10px;margin-top:11px}
.sba .sba-gallery .sba-image-preview{position:relative;width:200px!important;height:200px!important;flex:0 0 200px!important;max-width:100%;border:1px solid #e0e5ec;border-radius:10px;box-shadow:0 3px 12px #21354c0a;overflow:hidden}
.sba .sba-gallery .sba-image-preview img{width:100%!important;height:100%!important;object-fit:cover!important}
.sba .sba-image-zoom{width:28px;height:28px;right:8px;bottom:8px;background:#23334ee0}
/* Legacy article: a photo gallery instead of oversized inline pictures. */
body.sba-legacy-article img.sba-content-thumb{width:200px!important;height:200px!important;max-width:min(200px,100%)!important;max-height:200px!important;object-fit:cover!important;border-radius:9px!important;border:1px solid #e3e7ee;box-shadow:0 3px 12px #20304417;vertical-align:top}
body.sba-legacy-article a.sba-content-thumb-link{width:min(200px,100%)!important;max-width:200px!important;display:inline-block!important;overflow:hidden;border-radius:10px;vertical-align:top;transition:transform .2s,box-shadow .2s}
body.sba-legacy-article .sba-content-image-figure{width:min(200px,100%)!important;max-width:200px!important;margin:8px 12px 16px 0!important;float:none!important;vertical-align:top!important;display:inline-block!important}
body.sba-legacy-article .sba-content-image-caption{width:min(200px,100%)!important;max-width:200px!important}
body.sba-legacy-article .sba-content-image-figure img:not(.wp-post-image){width:200px!important;height:200px!important;object-fit:cover!important}
/* Homepage sidebar strip: match compact editorial service cards. */
.sba-home-teaser{border-radius:13px;border:1px solid var(--sba-border);padding:18px;box-shadow:0 4px 12px #1c324c08}
.sba-home-teaser .sba-eyebrow{font-size:10px}
.sba-home-teaser h2{font-size:21px;line-height:1.18;letter-spacing:-.03em}
.sba-home-teaser .sba-home-row{border:1px solid #e7eaf0;border-radius:10px;margin:7px 0;padding:8px 10px;background:#f9fafb;transition:background .2s,transform .2s}
.sba-home-teaser .sba-home-row img,.sba-home-teaser .sba-home-row span{width:58px;height:54px;object-fit:contain;background:#fff;border:1px solid #e6eaf0}
.sba-home-teaser .sba-card-link{color:#bc3436!important}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .sba .sba-list-card:hover{transform:translateY(-3px);border-color:#d7bfb8;box-shadow:0 11px 29px #1a324c18}
 .sba .sba-steps article:hover,.sba .sba-package:hover{transform:translateY(-2px);box-shadow:0 9px 25px #223a4a12}
 .sba .sba-categories span:hover{transform:translateY(-2px);border-color:#e6bc9e;box-shadow:0 7px 19px #352c1d10}
 .sba-home-teaser .sba-home-row:hover{background:#fff1eb;transform:translateX(2px)}
 body.sba-legacy-article a.sba-content-thumb-link:hover{transform:translateY(-2px);box-shadow:0 10px 25px #2030441c}
}
@media(max-width:970px){
 .sba .sba-listing{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sba .sba-profile-body{grid-template-columns:minmax(0,1fr) 245px}
}
@media(max-width:700px){
 .sba .sba-hero{min-height:0}
 .sba .sba-hero h1{font-size:clamp(35px,9vw,48px)}
 .sba .sba-hero-deco{padding:8px 0 20px}
 .sba .sba-medal{width:160px}
 .sba .sba-section{margin-top:38px}
 .sba .sba-listing{grid-template-columns:1fr}
 .sba .sba-list-card > .sba-list-card-visual{grid-template-columns:95px minmax(0,1fr);padding:12px;min-height:115px}
 .sba .sba-list-image{width:95px;height:89px}
 .sba .sba-list-card > .sba-list-card-content{padding:15px 16px 18px}
 .sba .sba-profile-head{flex-direction:row;gap:14px;align-items:flex-start;padding:20px}
 .sba .sba-profile-logo{width:86px;height:86px;flex:0 0 86px}
 .sba .sba-profile-head h1{font-size:clamp(24px,7vw,32px)}
 .sba .sba-profile-body{grid-template-columns:minmax(0,1fr);padding:19px}
 .sba .sba-gallery .sba-image-preview{flex:0 0 calc((100% - 10px)/2)!important;width:calc((100% - 10px)/2)!important;height:auto!important;aspect-ratio:1;max-width:200px!important}
 .sba .sba-medal strong{font-size:13px}
}
@media(max-width:400px){
 .sba .sba-list-card > .sba-list-card-visual{grid-template-columns:86px minmax(0,1fr)}
 .sba .sba-list-image{width:86px;height:82px}
 .sba .sba-profile-logo{width:72px;height:72px;flex-basis:72px}
}
@media(prefers-reduced-motion:reduce){.sba .sba-list-card,.sba .sba-steps article,.sba .sba-package,.sba .sba-categories span,.sba-home-teaser .sba-home-row{transition:none!important}}
