/* EkoDrive 1.2: discreet, flag-free language selection and responsive safeguards. */
.ed-language{position:relative;flex:0 0 auto;z-index:60;color:var(--navy)}
.ed-language>summary{display:flex;align-items:center;justify-content:center;gap:5px;min-width:48px;min-height:44px;padding:8px 6px;list-style:none;cursor:pointer;border:1px solid #dce5ef;border-radius:8px;background:#fff;font-size:12px;font-weight:800;line-height:1.2}
.ed-language>summary::-webkit-details-marker{display:none}
.ed-language-chevron{font-size:15px;line-height:1;transform:translateY(-2px)}
.ed-language[open] .ed-language-chevron{transform:rotate(180deg) translateY(-1px)}
.ed-language-options{position:absolute;right:0;top:calc(100% + 9px);width:148px;padding:5px;background:#fff;border:1px solid #dce5ef;border-radius:10px;box-shadow:0 12px 32px #081d3d22}
.ed-language-options a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:6px;font-size:14px;line-height:1.4;white-space:nowrap;color:var(--navy)}
.ed-language-options a:hover{background:#f1f5fa}
.ed-language-options a[aria-current="page"]{font-weight:800;background:#eef3f9}
.ed-language>summary:focus-visible{outline:3px solid #0b4f92;outline-offset:3px}
.ed-i18n-copy{min-width:0}
.ed-conversion-link{font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#8b9db0}
.ed-conversion-link:hover{color:var(--navy);text-decoration-color:currentColor}
@media(max-width:990px){.header-inner>.ed-language{margin-left:auto}.header-inner>.mobile-toggle{margin-left:0;flex-shrink:0}}
/* Longer translations retain the existing typeface, colours and content order. */
html:not([lang="de"]) .hero h1{overflow-wrap:normal;hyphens:none;font-size:clamp(38px,4.05vw,65px)}
html:not([lang="de"]) .button{white-space:normal;text-align:center;max-width:100%}
html:not([lang="de"]) .hero-copy,html:not([lang="de"]) .topline-left,html:not([lang="de"]) .topline-right{min-width:0}
html:not([lang="de"]) .topline-left,html:not([lang="de"]) .topline-right{flex-wrap:wrap;gap:8px 20px}
html:not([lang="de"]) .page-hero h1,html:not([lang="de"]) .faq-hero h1{overflow-wrap:break-word;hyphens:auto}
html:not([lang="de"]) .theory h2,html:not([lang="de"]) .about-text h2{overflow-wrap:break-word;hyphens:auto}
html:not([lang="de"]) .desktop-nav a{white-space:nowrap}
@media(max-width:1100px){
 html:not([lang="de"]) .desktop-nav,html:not([lang="de"]) .header-cta{display:none}
 html:not([lang="de"]) .mobile-toggle{display:flex;margin-left:0;flex-shrink:0}
 html:not([lang="de"]) .header-inner>.ed-language{margin-left:auto}
 html:not([lang="de"]) .mobile-nav.open{display:flex;flex-direction:column;max-height:var(--mobile-nav-max-height,70vh);overflow-y:auto;overscroll-behavior-y:contain;gap:4px;padding:5px 22px 22px;background:#fff;border-top:1px solid #e4eaf2;box-shadow:0 18px 30px #102b4515}
 html:not([lang="de"]) .mobile-nav a{flex-shrink:0;padding:13px 15px;border-radius:8px;background:#f6f8fb;font-size:14px;font-weight:850}
 html:not([lang="de"]) .mobile-nav a.accent{background:var(--red);color:white}
}
@media(max-width:720px){
 html:not([lang="de"]) .hero h1{font-size:clamp(35px,9.8vw,64px)}
 .form-card input,.form-card select,.form-card textarea{max-width:100%}
 .field select{min-width:0}
 .form-card fieldset{min-inline-size:0}
 .mobile-bottom a{min-height:44px}
 html:not([lang="de"]) .hero-plate{max-width:calc(100% - 34px);text-align:right}
 html:not([lang="de"]) .time-day{white-space:normal}
}
@media(max-width:360px){
 .header-inner{gap:8px}
 .ed-language>summary{min-width:44px;padding-inline:4px}
 html:not([lang="de"]) .hero h1{font-size:clamp(32px,9.5vw,35px)}
 html:not([lang="de"]) .benefits-row{column-gap:0}
 html:not([lang="de"]) .benefit-icon{flex:0 0 26px;width:26px;height:26px}
 html:not([lang="de"]) .benefit b{overflow-wrap:break-word}
}
/* Respect iPhone display cutouts when the browser exposes safe-area insets. */
@media(orientation:landscape) and (max-width:990px){
 .container{padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right))}
 .hero-copy{padding-left:max(27px,env(safe-area-inset-left));padding-right:max(23px,env(safe-area-inset-right))}
}
@media(orientation:landscape) and (max-width:720px){
 .container,.mobile-office-strip{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
 .mobile-bottom{padding-left:max(13px,env(safe-area-inset-left));padding-right:max(13px,env(safe-area-inset-right))}
 .hero-copy{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}
}
@media(orientation:landscape) and (max-width:390px){
 .container{padding-left:max(17px,env(safe-area-inset-left));padding-right:max(17px,env(safe-area-inset-right))}
 .mobile-bottom{padding-left:max(7px,env(safe-area-inset-left));padding-right:max(7px,env(safe-area-inset-right))}
}
