/* Shared storefront layout only. Native GTranslate/CookieYes own their actions. */
:root { --si-language-bottom:calc(16px + env(safe-area-inset-bottom,0px)); --si-language-space:60vh; }
body .gtranslate_wrapper #gt_float_wrapper {
    position:fixed!important; left:max(12px,env(safe-area-inset-left,0px))!important;
    bottom:var(--si-language-bottom)!important; z-index:990!important;
}
body.si-utility-overlay .gtranslate_wrapper #gt_float_wrapper { visibility:hidden!important; pointer-events:none!important; }
body .gt_float_switcher { font-size:16px; border-radius:6px; box-shadow:0 2px 12px #00000016; }
body .gt_float_switcher .gt-selected .gt-current-lang { box-sizing:border-box; min-height:44px; padding:8px 10px; display:flex; align-items:center; gap:7px; }
body .gt_float_switcher img { width:28px; }
body .gt_float_switcher .gt_options { max-height:var(--si-language-space)!important; max-width:calc(100vw - 24px); overflow:auto; overscroll-behavior:contain; }
body .gt_float_switcher .gt_options a { min-height:44px; padding:9px 12px; font-size:15px; }
body .gt-selected:focus-visible, body .si-cookie-settings:focus-visible { outline:2px solid #222; outline-offset:3px; }
/* The second native GTranslate instance belongs IN the mobile menu. */
body .menu-item-gtranslate { padding:12px 16px!important; }
body .menu-item-gtranslate > div,
body .menu-item-gtranslate #gt_float_wrapper { position:static!important; inset:auto!important; z-index:auto!important; width:100%; }
body .menu-item-gtranslate .gt_float_switcher { display:flex; flex-direction:column; box-shadow:none; width:100%; }
body .menu-item-gtranslate .gt-selected { order:-1; }
body .menu-item-gtranslate .gt_options { position:static!important; max-height:var(--si-menu-language-space,40vh)!important; }
body .si-cookie-settings { min-height:44px; padding:8px 12px; background:transparent; border:0; box-shadow:none; color:inherit; font-family:inherit; font-size:13px; font-weight:400; line-height:1.4; text-transform:none; cursor:pointer; }
body .si-cookie-settings:hover { text-decoration:underline; background:transparent; }
body .mobile-nav .si-cookie-settings { width:100%; text-align:left; padding:14px 20px; font-size:14px; }
body .si-cookie-footer { text-align:center; padding:8px 12px; background:#f7f7f7; color:#444; }
body.si-cookie-access-ready .cky-btn-revisit-wrapper { display:none!important; }
/* Keep the initial dialog and preferences usable above any purchase bar. */
body .cky-consent-container.cky-popup-center { max-width:calc(100vw - 24px); max-height:calc(100dvh - 32px); }
body .cky-consent-container .cky-consent-bar { max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; }
body .cky-preference-center { max-width:calc(100vw - 24px); max-height:calc(100dvh - 32px); }
body .cky-notice-btn-wrapper { gap:10px; flex-wrap:wrap; }
body .cky-notice-btn-wrapper .si-cookie-settings { border:1px solid #666; border-radius:4px; color:#212121; padding:10px 16px; font-size:14px; }
@media(max-width:600px) {
    body .cky-notice-btn-wrapper > button { flex:1 1 100%; min-height:44px; }
    body .cky-prefrence-btn-wrapper { flex-wrap:wrap; gap:8px; }
    body .cky-prefrence-btn-wrapper > button { min-height:44px; flex:1 1 100%; }
}

body .cky-btn.si-cookie-reject { color:#212121; border:1px solid #666; background:#fff; padding:10px 16px; font-size:14px; }
