/* Shared v2 shell only. :where() preserves the approved header selector specificity. */

body.mamotech-site-v2-active .mamotech-v2-header {
    background: #eef4fa !important;
    box-shadow: none !important;
    border-bottom: 1px solid #cedbe8;
    color: #0a1526;
}
body.mamotech-site-v2-active .mamotech-v2-header * { box-sizing: border-box; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: min(100% - 32px, 1240px);
    margin-inline: auto;
    padding-block: 10px;
}
:where(body.mamotech-site-v2-active) .mamotech-v2-header a,
:where(body.mamotech-site-v2-active) .mamotech-v2-header button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    color: #152b45;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.3;
}
:where(body.mamotech-site-v2-active) .mamotech-v2-header a:focus-visible,
:where(body.mamotech-site-v2-active) .mamotech-v2-header button:focus-visible,
:where(body.mamotech-site-v2-active) .mamotech-v2-header summary:focus-visible { outline: 3px solid #2563b3; outline-offset: 3px; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header a:hover { color: #145b85; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__brand { flex-shrink: 0; width: 150px; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__brand picture { display: block; width: 100%; max-width: 100%; }
body.mamotech-site-v2-active .mamotech-v2-header__brand picture img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto;
}
:where(body.mamotech-site-v2-active) .mamotech-v2-header .mamotech-v2-header__toggle {
    min-width: 44px;
    gap: 8px;
    margin: 0;
    padding: 10px;
    border: 1px solid #bdcddd;
    border-radius: 10px;
    background: transparent;
    cursor: pointer;
}
:where(body.mamotech-site-v2-active) .mamotech-v2-header [hidden] { display: none !important; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__menu {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    flex-basis: 100%;
    min-width: 0;
    padding-block: 12px 6px;
    border-top: 1px solid #cedbe8;
}
:where(body.mamotech-site-v2-active) .mamotech-v2-header__nav { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__nav a { justify-content: flex-start; padding: 10px 12px; border-radius: 8px; font-weight: 650; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__nav a:hover { background: #dfeaf4; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__languages { position: relative; align-self: center; flex-shrink: 0; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__languages summary { display: flex; align-items: center; justify-content: center; gap: 4px; width: 44px; min-height: 44px; padding: 4px; border: 1px solid #bdcddd; border-radius: 10px; color: #152b45; font-size: 12px; font-weight: 650; line-height: 1; list-style: none; cursor: pointer; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__languages summary::-webkit-details-marker { display: none; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__languages[open] summary { background: #dce9f5; border-color: #7da8c2; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__language-options { position: absolute; z-index: 100; top: calc(100% + 8px); right: 0; width: 194px; max-width: calc(100vw - 32px); padding: 6px; border: 1px solid #c5d7e5; border-radius: 12px; background: #f6faff; box-shadow: 0 8px 24px rgba(10, 30, 48, .16); }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__languages a { display: flex; justify-content: flex-start; gap: 8px; min-width: 44px; min-height: 44px; padding: 10px; border-radius: 8px; font-size: 13px; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__languages a:hover { background: #e8f1f8; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__languages a[aria-current] { background: #dce9f5; color: #17466e; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__language-check { margin-left: auto; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header .mamotech-v2-header__cta {
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid #15344d;
    border-radius: 999px;
    background: #10293e;
    color: #ddf8fc;
    font-weight: 700;
}
:where(body.mamotech-site-v2-active) .mamotech-v2-header .mamotech-v2-header__cta:hover { background: #1a3e57; color: #ffffff; }
@media (width < 1080px) {
:where(body.mamotech-site-v2-active) .mamotech-v2-header__inner { display: grid; grid-template-columns: minmax(0, 1fr) 44px auto; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__brand { grid-column: 1; grid-row: 1; justify-self: start; min-width: 0; width: 180px; max-width: 100%; }
body.mamotech-site-v2-active .mamotech-v2-header__brand { min-height: 50px; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__inner > .mamotech-v2-header__languages { grid-column: 2; grid-row: 1; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header .mamotech-v2-header__toggle { grid-column: 3; grid-row: 1; width: 110px; white-space: nowrap; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__toggle svg { flex: 0 0 24px; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__menu { grid-column: 1 / -1; }}
@media (min-width: 600px) and (width < 1080px) {
:where(body.mamotech-site-v2-active) .mamotech-v2-header__brand { width: 216px; }}
@media (min-width: 1080px) {
:where(body.mamotech-site-v2-active) .mamotech-v2-header__inner { flex-wrap: nowrap; gap: 24px; padding-block: 14px; }
body.mamotech-site-v2-active .mamotech-v2-header__brand { width: 256px; min-height: 66.6667px; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__menu { flex-basis: auto; flex-direction: row; align-items: center; gap: 18px; padding: 0; border: 0; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__nav { flex-direction: row; gap: 2px; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__nav a { padding-inline: 10px; white-space: nowrap; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__languages { align-self: center; gap: 2px; }
:where(body.mamotech-site-v2-active) .mamotech-v2-header__cta { white-space: nowrap; }}
body.mamotech-site-v2-active .mamotech-v2-footer :is(.mamotech-v2-footer__bottom, .mamotech-v2-footer__socials) a {
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 44px;
    padding-block: 10px;
}
body.mamotech-site-v2-active :is([data-chatbot-open], #mamotech-mobile-chat-open) {
    position: fixed !important;
    box-sizing: border-box;
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    right: max(20px, env(safe-area-inset-right, 0px)) !important;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
    border: 1px solid #4b819b !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, #163349, #0b1b2d) !important;
    color: #a1e7f0 !important;
    box-shadow: 0 4px 14px rgba(7, 22, 43, .22) !important;
    transform: none !important;
    transition: none !important;
}
body.mamotech-site-v2-active .mamotech-v2-chat-icon { display: block; width: 24px; height: 24px; flex-shrink: 0; pointer-events: none; }
@media (hover: hover) {
body.mamotech-site-v2-active :is([data-chatbot-open], #mamotech-mobile-chat-open):hover {
        border-color: #8fdce8 !important;
        background: #1b3b51 !important;
    }}
body.mamotech-site-v2-active :is([data-chatbot-open], #mamotech-mobile-chat-open):focus-visible {
    outline: 2px solid #a1e7f0 !important;
    outline-offset: 3px;
}

/* Mobile close/minimize leaves inline display:flex; hide that trigger on desktop. */
@media (min-width: 769px) {
body.mamotech-site-v2-active #mamotech-mobile-chat-open {
        display: none !important;
    }}
body.mamotech-site-v2-active :is(.mamotech-chat-badge, .mamotech-mobile-chat-badge) {
    background: #8cdeeb !important;
    color: #07162b !important;
    border-color: #152b45 !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 8px rgba(7, 22, 43, .2) !important;
}
body.mamotech-site-v2-active :is([data-chatbot-open], #mamotech-mobile-chat-open).mamotech-chat-button--invite,
body.mamotech-site-v2-active :is([data-chatbot-open], #mamotech-mobile-chat-open).mamotech-chat-button--invite::after {
    animation: none !important;
}
body.mamotech-site-v2-active :is([data-chatbot-open], #mamotech-mobile-chat-open).mamotech-chat-button--invite::after {
    inset: -3px;
    border: 1px solid rgba(98, 213, 231, .35);
    border-radius: 19px;
    box-shadow: none;
}

@media (max-width: 768px) {
body.mamotech-site-v2-active :is(.mamotech-chatbot__button, #mamotech-mobile-chat-open) {
        right: max(16px, env(safe-area-inset-right, 0px)) !important;
        bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        font-size: 22px !important;
        line-height: 1 !important;
        box-shadow: 0 3px 12px rgba(7, 22, 43, .25) !important;
        transform: none !important;
    }
body.mamotech-site-v2-active .mamotech-chat-badge--invite {
        height: 22px !important;
        min-height: 22px !important;
        font-size: 11px !important;
        padding-inline: 7px !important;
    }
body.mamotech-site-v2-active #page .mamotech-v2-footer { padding-block: 44px calc(24px + env(safe-area-inset-bottom, 0px)); }
body.mamotech-site-v2-active #page .mamotech-v2-footer__opening { gap: 16px; padding-bottom: 28px; }
body.mamotech-site-v2-active #page .mamotech-v2-footer__grid { gap: 24px; padding-block: 28px; }
body.mamotech-site-v2-active #page .mamotech-v2-footer h2 { margin-bottom: 8px; }
body.mamotech-site-v2-active #page .mamotech-v2-footer li a { min-height: 44px; }}
body.mamotech-site-v2-active .mamotech-v2-footer {
    padding: 68px 0 calc(32px + env(safe-area-inset-bottom, 0px));
    color: #c1cee0;
    background: #050a12;
    font-family: inherit;
}
body.mamotech-site-v2-active .mamotech-v2-footer * { box-sizing: border-box; }
body.mamotech-site-v2-active .mamotech-v2-footer a { color: #bfcee2; text-decoration: none; }
body.mamotech-site-v2-active .mamotech-v2-footer a:hover { color: #96deed; }
body.mamotech-site-v2-active .mamotech-v2-footer a:focus-visible { outline: 3px solid #96deed; outline-offset: 3px; }
body.mamotech-site-v2-active .mamotech-v2-footer__opening { display: grid; gap: 22px; padding-bottom: 48px; border-bottom: 1px solid #202d40; }
body.mamotech-site-v2-active .mamotech-v2-footer .mamotech-v2-footer__brand { color: #eef5ff; font-size: clamp(44px, 5.2vw, 72px); font-weight: 750; letter-spacing: -.07em; line-height: 1; }
body.mamotech-site-v2-active .mamotech-v2-footer__brand > span { color: #75d9e4; }
body.mamotech-site-v2-active .mamotech-v2-footer__opening p { margin: 0; font-size: 15px; line-height: 1.8; color: #9baec7; }
body.mamotech-site-v2-active .mamotech-v2-footer__grid { display: grid; gap: 40px; padding-block: 48px; }
body.mamotech-site-v2-active .mamotech-v2-footer h2 { color: #f0f6ff; margin: 0 0 20px; font-size: 15px; font-weight: 750; }
body.mamotech-site-v2-active .mamotech-v2-footer ul { list-style: none; margin: 0; padding: 0; }
body.mamotech-site-v2-active .mamotech-v2-footer li a { display: block; padding: 11px 0; font-size: 14px; line-height: 1.5; }
body.mamotech-site-v2-active .mamotech-v2-footer__contact > a { display: block; padding-block: 12px; font-size: 14px; }
body.mamotech-site-v2-active .mamotech-v2-footer__contact > p { color: #9baec7; margin: 6px 0 14px; font-size: 14px; }
body.mamotech-site-v2-active .mamotech-v2-footer .mamotech-v2-footer__email { font-size: clamp(18px, 2vw, 23px); color: #f0f6ff; letter-spacing: -.03em; overflow-wrap: anywhere; }
body.mamotech-site-v2-active .mamotech-v2-footer .mamotech-v2-footer__quote { color: #9de2ee; }
body.mamotech-site-v2-active .mamotech-v2-footer__socials { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 12px; }
body.mamotech-site-v2-active .mamotech-v2-footer__socials a { padding-block: 12px; font-size: 12px; }
body.mamotech-site-v2-active .mamotech-v2-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid #202d40; padding-top: 24px; }
body.mamotech-site-v2-active .mamotech-v2-footer__bottom { padding-right: calc(72px + env(safe-area-inset-right, 0px)); }
body.mamotech-site-v2-active .mamotech-v2-footer__bottom p { margin: 0; font-size: 12px; color: #9baec7; }
body.mamotech-site-v2-active .mamotech-v2-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 22px; }
body.mamotech-site-v2-active .mamotech-v2-footer__bottom a { display: inline-block; padding-block: 12px; font-size: 12px; }

@media (min-width: 600px) {
body.mamotech-site-v2-active .mamotech-v2-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }}
@media (min-width: 960px) {
body.mamotech-site-v2-active .mamotech-v2-footer__opening { grid-template-columns: 1fr 1fr; align-items: center; }
body.mamotech-site-v2-active .mamotech-v2-footer__opening p { justify-self: end; }
body.mamotech-site-v2-active .mamotech-v2-footer__grid { grid-template-columns: 1fr 1fr 1fr 1.35fr; gap: 36px; padding-block: 64px; }}
body.mamotech-site-v2-active :is([data-chatbot-open], #mamotech-mobile-chat-open) { z-index: 1000000 !important; }
@media (max-width: 1079px) {
body.mamotech-site-v2-active :is([data-chatbot-open], #mamotech-mobile-chat-open) {
        right: calc(8px + env(safe-area-inset-right, 0px)) !important;
    }
body.mamotech-site-v2-active .mamotech-v2-footer :is(.mamotech-v2-footer__brand, li a, .mamotech-v2-footer__contact > a) {
        width: fit-content;
        max-width: 100%;
    }}
@media (max-width: 599px) {
body.mamotech-site-v2-active .mamotech-v2-footer__socials {
        padding-right: calc(48px + env(safe-area-inset-right, 0px));
    }}

body.mamotech-site-v2-active .mamotech-v2-footer .mamotech-v2-container {
    width: min(100% - 32px, 1240px);
    margin-inline: auto;
}

@media (min-width: 600px) {
    body.mamotech-site-v2-active .mamotech-v2-footer .mamotech-v2-container {
        width: min(100% - 48px, 1240px);
    }
}

/* Preserve the approved mobile H1 wrapping and scale independently of chat spacing. */
@media (max-width: 599px) {
    body.mamotech-site-v2-active:is(.page-id-1244, .page-id-1246) .mamotech-service-hero h1 {
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
        font-size: min(34px, calc(10vw - 5px));
    }
}

/* Keep the literal Hosting H1 term together at every viewport. */
body.mamotech-site-v2-active.page-id-1246 .mamotech-service-hero h1 .mamotech-hosting-h1-email {
    white-space: nowrap;
}

/* Keep long card headings inside their existing text columns at the measured desktop edge. */
@media (min-width: 981px) and (max-width: 1252px) {
    body.mamotech-site-v2-active:is(.page-id-1244, .page-id-1246) .mamotech-service-grid > article h2 {
        hyphens: auto;
        overflow-wrap: anywhere;
    }
}

/* Contact only: visible keyboard focus without changing mouse, hover or layout. */
body.mamotech-site-v2-active.page-id-20 .mamotech-contact-page :is(input:not([type="hidden"]), textarea, select, button, a):focus-visible {
    outline: 3px solid #2563b3 !important;
    outline-offset: 3px !important;
}
body.mamotech-site-v2-active.page-id-20 .mamotech-contact-page .mamotech-contact-hero a:focus-visible {
    outline-color: #a1e7f0 !important;
}

/* EN Contact only: measured missing keyboard focus; preserve NL and layout. */
body.mamotech-site-v2-active.page-id-1267 .mamotech-contact-page :is(input:not([type="hidden"]), textarea, select, button, a):focus-visible {
    outline: 3px solid #2563b3 !important;
    outline-offset: 3px !important;
}
body.mamotech-site-v2-active.page-id-1267 .mamotech-contact-page .mamotech-contact-hero a:focus-visible {
    outline-color: #a1e7f0 !important;
}
