/* Keep full-width Elementor blocks within their own horizontal margins.
   No page-level overflow clipping: errors must remain visible during checks. */
#tahefobu-header > .elementor > .e-con,
main .elementor > .e-con {
    width: auto;
    min-width: 0;
}
main .e-con, #tahefobu-footer .e-con {
    min-width: 0;
}
main :is(h1,h2,h3,h4,p,li,a), #tahefobu-footer :is(p,a) {
    overflow-wrap: anywhere;
}
main img, main video, main iframe {
    max-width: 100%;
}
main .e-button-base {
    white-space: normal;
    overflow-wrap: anywhere;
    min-width: 0;
    min-height: 44px;
}
.cky-consent-container {
    /* CookieYes injects an overriding mobile rule after the site's stylesheet. */
    max-width: 100vw !important;
}
.cky-preference-center {
    /* Even the closed consent dialog must fit the viewport: visibility:hidden
       elements still contribute to horizontal scrolling on mobile browsers. */
    max-width: calc(100vw - 24px) !important;
}
/* Hardware's signal-flow cards were positioned with negative offsets. */
main .elementor-415 :is([data-id="4f58f5e"],[data-id="e793df1"],[data-id="2a1c82b"],[data-id="38f31eb"]) {
    width: auto;
}
@media (max-width: 1024px) {
    /* Atomic widgets may carry fixed desktop dimensions independently of columns. */
    main .e-atomic-element { max-width: 100%; }
    #tahefobu-header .wpr-mobile-toggle {
        min-width: 44px;
        min-height: 44px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    #tahefobu-header .wpr-mobile-nav-menu-container { max-width: 100%; }
}
