/* Ruhiges, einheitliches Layout fuer AGB, Datenschutz und Impressum. */
:is(.privacy-page,.agb-page,.imprint-page){background:#f5f7f9;color:#0b1d2b;overflow:hidden}
:is(.privacy-page,.agb-page,.imprint-page)>article{max-width:none!important;margin:0!important;padding:0!important}

:is(.privacy-hero,.agb-hero,.imprint-hero){position:relative;width:100%!important;max-width:none!important;height:clamp(430px,42vw,610px)!important;margin:0!important;isolation:isolate;overflow:hidden;background:#eef3f6}
:is(.privacy-hero,.agb-hero,.imprint-hero)::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 29%,rgba(255,255,255,.46) 48%,rgba(255,255,255,0) 68%)}
:is(.privacy-hero,.agb-hero,.imprint-hero)>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover!important;object-position:center!important}
:is(.privacy-hero-copy,.agb-hero-copy,.imprint-hero-copy){box-sizing:border-box;width:min(560px,45vw)!important;padding:clamp(72px,8vw,118px) 24px 40px max(32px,calc((100vw - 1160px)/2))!important}
:is(.privacy-hero-copy,.agb-hero-copy,.imprint-hero-copy) small{font-size:12px!important;letter-spacing:.16em!important;color:#ed1b2f!important}
:is(.privacy-hero-copy,.agb-hero-copy,.imprint-hero-copy) h1{margin:16px 0!important;font-size:clamp(42px,4vw,66px)!important;line-height:1.02!important;letter-spacing:-.045em!important;text-transform:none!important;color:#0b1d2b}
:is(.privacy-hero-copy,.agb-hero-copy,.imprint-hero-copy) h2{margin:0 0 14px!important;font-size:clamp(20px,1.7vw,27px)!important;line-height:1.18}
:is(.privacy-hero-copy,.agb-hero-copy,.imprint-hero-copy) h3{margin:0 0 14px!important;font-size:17px!important}
:is(.privacy-hero-copy,.agb-hero-copy,.imprint-hero-copy) p{max-width:520px;margin:0!important;font-size:16px!important;line-height:1.65!important;color:#334452}
:is(.privacy-buttons,.agb-buttons,.imprint-buttons){gap:12px!important;margin-top:24px!important;flex-wrap:wrap}
:is(.privacy-buttons,.agb-buttons,.imprint-buttons) a{min-width:0!important;height:46px!important;padding:0 20px!important;border-radius:5px;font-size:13px!important}

:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content){box-sizing:border-box;width:min(calc(100% - 48px),960px)!important;max-width:960px!important;margin:72px auto 80px!important;padding:clamp(34px,5vw,68px)!important;border:1px solid #e1e7eb;border-radius:14px;background:#fff;box-shadow:0 18px 55px rgba(15,35,50,.07);font-size:16px!important;line-height:1.78!important;color:#334452!important}
:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content)>h1:first-child{margin:0 0 38px!important;padding:0 0 24px;border-bottom:1px solid #e3e8ec;font-size:clamp(30px,3.2vw,44px)!important;line-height:1.1!important;letter-spacing:-.035em;color:#0b1d2b}
:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) h2{margin:50px 0 18px!important;padding:0 0 0 18px!important;border:0!important;border-left:4px solid #ed1b2f!important;font-size:clamp(22px,2.2vw,30px)!important;line-height:1.22!important;color:#0b1d2b}
:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) h3{margin:30px 0 10px!important;font-size:19px!important;line-height:1.35;color:#0b1d2b}
:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) p{margin:0 0 18px!important}
:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) a{color:#d91428;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) :is(ul,ol){margin:0 0 24px!important;padding-left:25px!important}
:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) li{margin:8px 0!important;padding-left:5px}
:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) :is(.notice,.toc){margin:28px 0!important;padding:24px!important;border:1px solid #dfe6eb!important;border-left:4px solid #ed1b2f!important;border-radius:8px;background:#f7f9fa!important;box-shadow:none!important}
:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) table{display:block;width:100%;overflow-x:auto;margin:28px 0!important;border-collapse:collapse;border-radius:8px;background:#fff}
:is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) :is(th,td){min-width:140px;padding:14px!important;border:1px solid #dfe5e9!important;text-align:left;vertical-align:top}

:is(.privacy-final,.agb-final,.imprint-final){position:relative;width:100%!important;max-width:none!important;height:clamp(300px,27vw,400px)!important;margin:0!important;overflow:hidden;isolation:isolate;background:#eaf0f3}
:is(.privacy-final,.agb-final,.imprint-final)::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.78) 42%,rgba(255,255,255,0) 72%)}
:is(.privacy-final,.agb-final,.imprint-final)>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover!important;object-position:center!important}
:is(.privacy-final,.agb-final,.imprint-final)>div{box-sizing:border-box;width:min(570px,48vw)!important;padding:clamp(56px,6vw,88px) 24px 35px max(32px,calc((100vw - 1160px)/2))!important}
:is(.privacy-final,.agb-final,.imprint-final) h2{margin:12px 0!important;font-size:clamp(30px,3vw,45px)!important;line-height:1.08!important;letter-spacing:-.035em}
:is(.privacy-final,.agb-final,.imprint-final) p{font-size:15px!important;line-height:1.6!important}

@media(max-width:700px){
 :is(.privacy-hero,.agb-hero,.imprint-hero){height:auto!important;padding:0!important;overflow:visible;background:#fff}
 :is(.privacy-hero,.agb-hero,.imprint-hero)::after{display:none}
 :is(.privacy-hero,.agb-hero,.imprint-hero)>img{position:relative;width:100%;height:250px!important;object-fit:cover!important;object-position:67% center!important}
 :is(.privacy-hero-copy,.agb-hero-copy,.imprint-hero-copy){width:100%!important;padding:38px 24px 44px!important}
 :is(.privacy-hero-copy,.agb-hero-copy,.imprint-hero-copy) h1{font-size:40px!important}
 :is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content){width:calc(100% - 28px)!important;margin:34px auto 45px!important;padding:28px 20px!important;border-radius:10px;font-size:15px!important;line-height:1.72!important}
 :is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) h2{margin-top:38px!important;font-size:23px!important}
 :is(.privacy-final,.agb-final,.imprint-final){height:auto!important;padding:210px 0 0!important;overflow:visible;background:#fff}
 :is(.privacy-final,.agb-final,.imprint-final)::after{display:none}
 :is(.privacy-final,.agb-final,.imprint-final)>img{height:210px!important;object-position:68% center!important}
 :is(.privacy-final,.agb-final,.imprint-final)>div{width:100%!important;padding:34px 24px 44px!important}
 :is(.privacy-buttons,.agb-buttons,.imprint-buttons) a{width:100%;justify-content:space-between}
}

/* Kompaktere, hochwertigere Fassung nach Sichtpruefung der Live-Seite. */
@media(min-width:701px){
 :is(.privacy-hero,.agb-hero,.imprint-hero){height:clamp(360px,34vw,470px)!important}
 :is(.privacy-hero-copy,.agb-hero-copy,.imprint-hero-copy){width:min(570px,48vw)!important;padding:clamp(58px,6vw,82px) 24px 36px max(32px,calc((100vw - 1120px)/2))!important}
 :is(.privacy-hero-copy,.agb-hero-copy,.imprint-hero-copy) h1{margin:14px 0!important;font-size:clamp(38px,3.6vw,56px)!important}
 :is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content){width:min(calc(100% - 48px),880px)!important;max-width:880px!important;margin:48px auto 64px!important;padding:clamp(30px,4vw,48px)!important}
 :is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) h2{margin:34px 0 14px!important}
 :is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) h3{margin:24px 0 8px!important}
 :is(.privacy-legal-content,.agb-legal-content,.imprint-legal-content) p{margin-bottom:14px!important}
 :is(.privacy-final,.agb-final,.imprint-final){height:clamp(250px,22vw,320px)!important}
 :is(.privacy-final,.agb-final,.imprint-final)>div{padding:clamp(42px,4.5vw,62px) 24px 30px max(32px,calc((100vw - 1120px)/2))!important}
}
