/* Minimal local behavior fixes. The source layout remains in custom.css. */
.steps-carousel-mobile,.step-card-mobile{touch-action:pan-y;overscroll-behavior-y:auto}
.steps-dots .dot:focus-visible{outline:2px solid #2172ba;outline-offset:3px}
.video-play-fallback{display:block;margin:8px auto;padding:9px 16px;border:1px solid #ebbd4c;border-radius:4px;background:#f1c967;color:#121212;font:600 15px Montserrat,Arial,sans-serif;cursor:pointer}
.video-play-fallback[hidden]{display:none}
.footer-contact{font-size:14px;line-height:1.5;color:#333}
.site-header .logo{width:236px;height:56px;object-fit:contain}
.site-footer-main .footer-logo{width:483px;height:118px;object-fit:contain}
body:is([data-locale="no"],[data-locale="fi"],[data-locale="se"],[data-locale="it"],[data-locale="es"],[data-locale="nl"]) :is(h1,h2,h3,h4,p,li){overflow-wrap:anywhere}
.kit-image-wrapper img{aspect-ratio:1118/946;object-fit:contain}
.offer-image-col-img-d{width:100%;aspect-ratio:1164/1030;object-fit:contain}
.offer-image-col-img-m{width:100%;aspect-ratio:1272/939;object-fit:contain}
@media(max-width:768px){.site-header .logo{height:34.17px}.site-footer-main .footer-logo{height:62.3px}}

/* Translated calls to action can wrap inside the original button widths. */
body:not([data-locale="us"]) .btn-primary {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    height: auto;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.35;
}
body:not([data-locale="us"]) .hero-cta {
    max-width: min(445px, 100%);
    padding-inline: 20px;
}
body:not([data-locale="us"]) .testimonials-cta-wrapper .btn-primary {
    max-width: min(438px, 100%);
}
@media (max-width: 992px) {
    body:not([data-locale="us"]) .hero-cta,
    body:not([data-locale="us"]) .testimonials-cta-wrapper .btn-primary {
        max-width: 100%;
    }
}
