/* Shared unchanged by the Site Editor and the public website. */
/* Restrained shared accents: dark hero labels, appointment action, info cards. */
.inner-page .page-hero .eyebrow{color:#ffa500!important}
.inner-page :is(.about-page,.ek-contact-section) .contact-card{border-top:2px solid #ffa500}
.about-page .contact-card li::marker{color:#ffa500}
.services-page .wp-block-button__link{background:#ffa500!important;color:#071423!important}
.services-page .wp-block-button__link:hover{background:#e99500!important;box-shadow:0 10px 28px rgba(255,165,0,.18)}
.services-page .wp-block-button__link:focus-visible{outline:3px solid #ffa500;outline-offset:4px}
.ek-primary .wp-block-button__link:hover{box-shadow:0 10px 28px rgba(255,165,0,.18)}
.ek-career-jobs{max-width:1380px;margin-inline:auto;padding:clamp(32px,5vw,72px) 24px;display:grid;gap:32px}
.ek-job-card{padding:clamp(24px,4vw,48px);background:#0c1928;color:#f7f9fc;border:1px solid #334358;border-radius:12px;scroll-margin-top:120px}
.ek-job-card>h2{font-size:clamp(28px,3vw,44px);margin:12px 0 20px}
.ek-job-card>p{max-width:900px;color:#c7d0dc}
.ek-job-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:28px 0}
.ek-job-details > .ek-job-detail{margin-block:0}
.ek-job-detail h3{font-size:21px;color:#ffa500}.ek-job-detail ul{padding-left:20px}.ek-job-detail li{margin-bottom:10px;color:#d8e0e9}
.ek-initiative{border-top:3px solid #ffa500}
.ek-contact-layout{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:32px!important;align-items:start!important;max-width:1380px;margin-inline:auto}
.ek-contact-layout>.wp-block-column{min-width:0}
.ek-contact-layout>.wp-block-column:first-child{padding:clamp(20px,3vw,40px);border:1px solid #334358;border-radius:12px;background:#0c1928}
.ek-contact-layout h2{font-size:clamp(28px,3vw,40px)}
.inner-page .ekfz-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.inner-page .ekfz-field{min-width:0}
.inner-page .ekfz-field :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%;background:#f7f9fc;color:#071423;border-color:#aeb9c7;color-scheme:light}
.inner-page .ekfz-field :is(input,textarea)::placeholder{color:#576575;opacity:1}
.inner-page .ekfz-field textarea{resize:vertical}
.inner-page .ekfz-consent{color:#c7d0dc;line-height:1.6}
.inner-page .ekfz-appointment-form button{background:#ffa500;color:#071423;font-family:inherit;font-size:1rem;font-weight:700}
.inner-page .ekfz-appointment-form button:hover{background:#e99500}
.inner-page .ekfz-appointment-form button:focus-visible{outline:3px solid #ffa500;outline-offset:4px}
@media(max-width:900px){.ek-job-details,.ek-contact-layout{grid-template-columns:1fr}.ek-career-jobs{padding-inline:20px}}
@media(max-width:620px){.inner-page .ekfz-form-row{grid-template-columns:1fr}}
/* Stick the template-part wrapper: a sticky child cannot leave a short parent. */
.wp-site-blocks > .wp-block-template-part:has(.site-header){position:sticky;top:0;z-index:100}
.wp-site-blocks > .wp-block-template-part .site-header{position:relative!important;top:auto!important}
.admin-bar .wp-site-blocks > .wp-block-template-part:has(.site-header){top:32px}
.site-header .header-inner{transition:min-height .3s ease}
.site-header .site-logo img{transition:width .3s ease}
.site-header.is-scrolled .header-inner{min-height:70px}
.site-header.is-scrolled .site-logo img{width:clamp(165px,15vw,240px)}
.site-header:has(.is-menu-open){backdrop-filter:none}
html{scroll-padding-top:110px}
.ek-back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:90;width:48px;height:48px;padding:0;border:1px solid #62adff;border-radius:50%;background:#066bd6;color:#fff;font:700 28px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 6px 24px #0005;transition:background .2s ease,transform .2s ease}
.ek-back-to-top[hidden]{display:none}
.ek-back-to-top:hover{background:#0857aa;transform:translateY(-3px)}
.ek-back-to-top:focus-visible{outline:3px solid #fff;outline-offset:3px}
body:has(.wp-block-navigation__responsive-container.is-menu-open) .ek-back-to-top{visibility:hidden}
@media(max-width:980px){.site-header.is-scrolled .header-inner{min-height:64px}}
@media(max-width:782px){.admin-bar .wp-site-blocks > .wp-block-template-part:has(.site-header){top:46px}}
@media(max-width:620px){.site-header.is-scrolled .site-logo img{width:154px}.ek-back-to-top{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}}
@media(max-width:600px){.admin-bar .wp-site-blocks > .wp-block-template-part:has(.site-header){top:0}}
@media(prefers-reduced-motion:reduce){.site-header .header-inner,.site-header .site-logo img,.ek-back-to-top{transition:none}}
/* Keep inner-page hero copy on the same left edge as Leistungen. This also
   covers previously saved templates whose inner group is constrained. */
.inner-page .page-hero > .wp-block-group > :is(h1,p){margin-left:0!important;margin-right:0!important}
.ek-home{margin:0;overflow-x:clip}.ek-home *{box-sizing:border-box}
.ek-home :where(figure,p,.wp-block-group,.wp-block-buttons){margin-block:0}
.ek-home figure{margin-inline:0}.ek-home img{display:block;max-width:100%}
.ek-home .studio-services > .studio-heading{max-width:1380px;margin-inline:auto}
.ek-hero,.ek-services,.ek-shop{color:#f7f8fa;background:#020914;font-family:Inter,Arial,sans-serif}
.ek-hero{position:relative;min-height:458px;isolation:isolate;overflow:hidden}
.ek-hero-image{position:absolute;inset:0;z-index:-2;height:100%;width:100%;margin:0}
.ek-hero-image img{width:100%;height:100%;object-fit:cover;object-position:right 43%}
.ek-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(1,7,15,.38),rgba(1,7,15,.12) 47%,transparent 69%)}
.ek-hero-copy{padding:73px max(62px,calc((100% - 1548px)/2)) 48px}
.ek-hero h1{margin:0;font-size:92px;line-height:1.01;font-weight:900;letter-spacing:-3.8px;max-width:900px}
.ek-hero-copy>p{margin:12px 0 27px;font-size:29px;color:#f7f8fa;line-height:1.4}
.ek-actions{display:flex;gap:29px;flex-wrap:wrap}
.ek-home .wp-block-button__link{min-height:55px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:12px 28px;font-size:19px;font-weight:700;line-height:1.3;text-decoration:none;box-shadow:none}
.ek-primary .wp-block-button__link{background:#ffa500;color:#071423}
.ek-primary .wp-block-button__link:hover{background:#e99500;color:#071423}
.ek-primary .wp-block-button__link:focus-visible{outline:3px solid #ffa500;outline-offset:4px}
.site-header .main-nav .wp-block-navigation-item__content{padding-bottom:6px;border-bottom:2px solid transparent;transition:border-color .2s ease}
.site-header .main-nav .wp-block-navigation-item__content:is(:hover,:focus-visible,[aria-current="page"]),.site-header .main-nav .current-menu-item > .wp-block-navigation-item__content{border-bottom-color:#ffa500}
.site-footer .ek-footer-tagline{color:#ffa500}
.ek-secondary .wp-block-button__link{background:rgba(0,0,0,.32);border:2px solid #fff;color:#fff}
.ek-green .wp-block-button__link{background:linear-gradient(135deg,#20a944,#39b64d);color:#fff}
.ek-actions .ek-primary{min-width:253px}.ek-actions .ek-secondary{min-width:286px}
.ek-promotions{background:#f5f7fa;color:#071423;margin:0!important}
.ek-promotions .aitp-section{max-width:1380px;margin-inline:auto}
/* Public promotions use this site's typography and orange offer accents. The plugin's
   separate management portal is intentionally outside this scope. */
.ek-promotions .aitp-section{font-family:inherit;color:#071423}
.ek-promotions .aitp-heading{font-family:inherit;font-weight:800;letter-spacing:-.035em}
.ek-promotions .aitp-card{border:1px solid #dbe3ec;border-radius:10px;box-shadow:0 14px 35px rgba(7,20,35,.07)}
.ek-promotions .aitp-body h3{font-family:inherit;font-weight:800}
.ek-promotions .aitp-body .aitp-button{font-family:inherit;font-weight:700;background:#0769d7;border-color:#0769d7;color:#fff;border-radius:4px;padding:12px 28px}
.ek-promotions .aitp-body .aitp-button:hover{background:#0558b8;border-color:#0558b8;color:#fff}
.ek-promotions .aitp-price{display:table;padding:4px 10px;border-radius:4px;background:#ffa500;color:#071423;font-family:inherit}
.ek-promotions .aitp-placeholder{color:#0769d7;font-family:inherit}
.ek-promotions .aitp-validity{color:#687789}
.ek-promotions .aitp-badge{font-family:inherit;background:#ffa500;border-color:#ffa500;color:#071423}
.ek-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:22px max(56px,calc((100% - 1560px)/2));border-top:2px solid #1683ff;border-bottom:1px solid #46515b;gap:0}
.ek-service{display:flex;align-items:center;gap:24px;padding:0 28px;border-right:1px solid #405065;min-height:65px;min-width:0}
.ek-service:last-child{border-right:0}.ek-service figure{width:66px;flex-shrink:0}.ek-service img{width:66px;height:66px;object-fit:contain}
.ek-service-title{font-size:19px;font-weight:700;line-height:1.3}.ek-service-title a{color:inherit;text-decoration:none}
.ek-service-subtitle{margin-top:8px!important;color:#b5bdc7;font-size:14.5px;line-height:1.4}
.ek-shop{position:relative;min-height:271px;isolation:isolate;overflow:hidden;padding:30px max(84px,calc((100% - 1504px)/2));display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:36px;background:radial-gradient(ellipse at 65% 50%,#273a4a,#142330 29%,#040b12 100%)}
.ek-shop-copy,.ek-benefits{position:relative;z-index:2}.ek-shop-copy{max-width:680px}.ek-automeister{font-size:29px;font-style:italic;color:#23b54a}.ek-automeister strong{color:#fff}
.ek-shop h2{margin:12px 0 3px;font-size:39px;line-height:1.05;letter-spacing:-1px}.ek-shop-copy>p:not(.ek-automeister){font-size:23px;color:#d1d7df;margin-bottom:10px}
.ek-tires{position:absolute;z-index:0;left:calc(50% - 66px);top:0;width:510px;height:100%;overflow:hidden;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 78%,transparent)}
.ek-tires img{width:850px!important;max-width:none!important;height:380px;object-fit:fill;position:absolute;left:-235px;top:-3px}
.ek-benefits{align-self:center}.ek-benefit{display:flex;align-items:center;gap:15px;min-height:63px}.ek-benefit figure{flex:0 0 31px}.ek-benefit img{width:31px;height:31px;filter:invert(50%) sepia(92%) saturate(599%) hue-rotate(85deg) brightness(89%)}
.ek-benefit p{font-size:16px;line-height:1.4}.ek-benefit .ek-muted{font-size:15px;color:#b5bdc7;margin-top:5px}
.ek-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1380px;margin:3rem auto 0!important;gap:1.25rem}
.ek-card-grid h3{margin:1em 0}.ek-two-col{display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1380px;margin-inline:auto;gap:clamp(2rem,5vw,6rem)}
.ek-two-col h2{margin:.5em 0}.ek-two-col p{margin:1em 0}.ek-two-col .studio-kicker{margin:0}
.editor-styles-wrapper .ek-home{padding:0}.editor-styles-wrapper .ek-promotions{padding:16px;border:1px dashed #687789}
@media(max-width:1400px) and (min-width:901px){
 .ek-hero h1{font-size:76px;letter-spacing:-3px}.ek-hero-copy>p{font-size:25px}
 .ek-services{padding-inline:32px}.ek-service{gap:14px;padding-inline:18px}.ek-service figure{width:56px}.ek-service img{width:56px;height:56px}.ek-service-title{font-size:16px}.ek-service-subtitle{font-size:13px}
 .ek-shop{padding-inline:64px 32px}.ek-shop-copy{max-width:510px}.ek-shop h2{font-size:31px}.ek-shop-copy>p:not(.ek-automeister){font-size:19px}.ek-tires{left:50%;width:290px}.ek-tires img{width:690px!important;height:308px;left:-288px;top:4px}
}
@media(max-width:900px){
 .ek-hero{min-height:620px}.ek-hero-copy{padding:155px 24px 48px}.ek-hero h1{font-size:clamp(42px,8vw,72px);letter-spacing:-2px}.ek-hero-image img{object-position:66% center}
 .ek-services{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 24px}.ek-service{padding:16px 10px;border-bottom:1px solid #405065}.ek-service:nth-child(2){border-right:0}
 .ek-shop{padding:42px 24px 32px;grid-template-columns:1fr;gap:230px}.ek-shop h2{font-size:34px}.ek-tires{top:240px;left:10%;width:80%;height:271px}.ek-tires img{width:690px!important;height:308px;left:-160px;top:4px}
 .ek-benefits{display:flex;gap:20px;flex-wrap:wrap}.ek-benefit{min-width:180px}.ek-two-col,.ek-card-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 .ek-hero-copy>p{font-size:23px}.ek-actions{gap:12px}.ek-actions .wp-block-button{width:100%;min-width:0}.ek-services{grid-template-columns:1fr}.ek-service{border-right:0}.ek-service-title{font-size:18px}.ek-service-subtitle{font-size:14px}.ek-benefits{display:grid;gap:8px}.ek-shop-copy>p:not(.ek-automeister){font-size:20px}
}

/* Long German privacy headings and contact addresses must fit narrow screens. */
.legal-page { overflow-wrap:anywhere; hyphens:auto; }
