/* Language switcher: compact dropdown in the header */
.lang-switch{position:relative;flex:none}
.lang-switch summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.5px;line-height:1;padding:8px 11px;border:1px solid rgba(12,45,72,.2);border-radius:999px;white-space:nowrap;user-select:none}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch summary::before{content:"";width:13px;height:13px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M2.5 12h19M12 2.5c2.6 2.8 3.9 6 3.9 9.5s-1.3 6.7-3.9 9.5c-2.6-2.8-3.9-6-3.9-9.5s1.3-6.7 3.9-9.5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M2.5 12h19M12 2.5c2.6 2.8 3.9 6 3.9 9.5s-1.3 6.7-3.9 9.5c-2.6-2.8-3.9-6-3.9-9.5s1.3-6.7 3.9-9.5z'/%3E%3C/svg%3E") center/contain no-repeat}
.lang-switch summary:hover,.lang-switch[open] summary{background:rgba(12,45,72,.06)}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:150px;background:#fff;border:1px solid rgba(12,45,72,.14);box-shadow:0 12px 30px rgba(12,45,72,.12);padding:6px;display:flex;flex-direction:column;z-index:60}
[dir="rtl"] .lang-menu{right:auto;left:0}
.lang-menu a{display:block;padding:9px 12px;font-size:.88rem;color:#0C2D48;text-decoration:none;text-transform:none;letter-spacing:0;white-space:nowrap}
.lang-menu a::after{display:none!important}
.lang-menu a:hover{background:rgba(12,45,72,.06)}
.lang-menu a[aria-current="true"]{font-weight:700}
@media(max-width:980px){.nav .lang-switch{align-self:flex-start;margin:4px 0}.nav .lang-menu{position:static;box-shadow:none;margin-top:8px}}

/* Suggest-language bar (shown by i18n.js only when the browser language matches) */
.lang-suggest{position:fixed;left:0;right:0;bottom:0;z-index:999;background:#0C2D48;color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));font-size:.92rem}
.lang-suggest a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.lang-suggest button{background:none;border:0;color:rgba(255,255,255,.75);font-size:1.3rem;line-height:1;cursor:pointer;padding:2px 6px}

/* Arabic: letter-spacing breaks Arabic letter joining; uppercase does nothing */
html[lang="ar"] *{letter-spacing:0!important}
html[lang="ar"] body{line-height:1.8}
html[lang="zh-Hans"] .nav>a:not(.btn),html[lang="zh-Hans"] .eyebrow,html[lang="ja"] .nav>a:not(.btn),html[lang="ja"] .eyebrow{letter-spacing:.5px}
html[lang="ja"] body,html[lang="zh-Hans"] body{line-break:strict;word-break:normal;overflow-wrap:anywhere}

/* Right-to-left fixes for rules written with physical left/right */
[dir="rtl"] .trust-marquee{direction:ltr}
[dir="rtl"] .cta-lead{text-align:right}
[dir="rtl"] .spec-table th,[dir="rtl"] .spec-table td,[dir="rtl"] .spec th,[dir="rtl"] .spec td{text-align:right}
[dir="rtl"] .tile-tag{left:auto;right:14px}
@media(max-width:560px){[dir="rtl"] .tile-tag{left:auto;right:10px}}
[dir="rtl"] .steps-list li{padding-left:0;padding-right:50px}
[dir="rtl"] .steps-list li::before{left:auto;right:0}
[dir="rtl"] .lightbox button{right:auto;left:22px}
[dir="rtl"] .fa-arrow-right,[dir="rtl"] .fa-chevron-right,[dir="rtl"] .fa-angle-right{transform:scaleX(-1)}
[dir="rtl"] input[type="tel"],[dir="rtl"] input[type="email"]{direction:ltr;text-align:right}

/* Header fit with the language button added */
@media(min-width:981px) and (max-width:1180px){.nav{gap:12px!important}.nav>a:not(.btn){letter-spacing:.3px!important;font-size:.66rem!important}.nav>a.btn-dark{padding:12px 14px!important;font-size:.66rem}}
@media(min-width:981px){html[lang="ru"] .nav{gap:18px!important}html[lang="ru"] .nav>a:not(.btn){letter-spacing:.3px!important;font-size:.7rem}}
@media(min-width:981px) and (max-width:1180px){html[lang="ru"] .nav{gap:9px!important}html[lang="ru"] .nav>a:not(.btn){font-size:.6rem!important;letter-spacing:0!important}}

/* Floating WhatsApp / call buttons: keep them on screen.
   The page-entry animation kept a transform on <body>, which pinned position:fixed
   buttons to the bottom of the page instead of the screen. Let it end cleanly. */
.page-enter{animation-fill-mode:backwards!important}
/* Lift the floating buttons above the language bar while it is showing */
body.has-lang-suggest .float{bottom:calc(var(--lang-bar-h,64px) + 14px);transition:bottom .25s ease}
/* Japanese hero headline: size it so each line breaks at a natural phrase on phones */
@media(max-width:700px){html[lang="ja"] .hero h1{font-size:clamp(1.8rem,7.3vw,3rem)}}

/* Link to a page that is not translated yet: small "EN" marker so the language change is expected */
.en-tag{display:inline-block;margin-inline-start:.45em;padding:1px 5px;border:1px solid currentColor;border-radius:4px;font-size:.62em;font-weight:700;letter-spacing:.5px!important;line-height:1.3;vertical-align:.12em;opacity:.65;text-transform:none;font-family:'Manrope',system-ui,sans-serif}
/* Language menu: note when that language opens its home page because this page isn't translated yet */
.lang-menu .lang-note{display:block;font-size:.72rem;opacity:.6;font-weight:400;margin-top:1px}

@keyframes pageEnterSafe{from{opacity:0}to{opacity:1}}
.page-enter{animation-name:pageEnterSafe!important}
