.store-contact-launcher{position:fixed;left:20px;bottom:22px;z-index:1037;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:54px;min-height:52px;padding:0 17px;border:1px solid color-mix(in srgb,var(--colorMain,CanvasText) 18%,Canvas);border-radius:17px;color:var(--colorMainContrast,#fff);background:var(--colorMain,#421268);box-shadow:0 8px 24px color-mix(in srgb,var(--colorMain,CanvasText) 28%,transparent);font-family:inherit;font-size:15px;font-weight:500;line-height:1.4;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.store-contact-launcher:hover{transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--colorMain,CanvasText) 34%,transparent)}.store-contact-launcher i{font-size:22px;line-height:1}.store-contact-launcher:focus-visible,.store-contact-close:focus-visible,.store-contact-card:focus-visible,.store-contact-social:focus-visible,.store-contact-address:focus-visible{outline:3px solid var(--colorMain,#421268);outline-offset:3px}
.store-contact-dialog{width:min(680px,calc(100vw - 32px));max-width:none;max-height:min(84dvh,760px);margin:auto;padding:0;overflow:visible;border:0;border-radius:22px;color:CanvasText;background:transparent;box-shadow:none}.store-contact-dialog::backdrop{background:rgb(16 20 32 / 48%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:storeContactBackdrop .18s ease both}.store-contact-panel{display:flex;flex-direction:column;max-height:min(84dvh,760px);overflow:hidden;border:1px solid color-mix(in srgb,var(--colorMain,CanvasText) 15%,Canvas);border-radius:22px;background:Canvas;box-shadow:0 24px 80px rgb(10 16 30 / 22%);animation:storeContactEnter .22s cubic-bezier(.2,.8,.2,1) both}.store-contact-header{position:relative;display:flex;align-items:center;gap:13px;padding:20px 22px;border-bottom:1px solid color-mix(in srgb,var(--colorMain,CanvasText) 12%,Canvas);background:linear-gradient(110deg,color-mix(in srgb,var(--colorMain,CanvasText) 7%,Canvas),Canvas 72%)}.store-contact-header-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;color:var(--colorMain,CanvasText);background:color-mix(in srgb,var(--colorMain,CanvasText) 11%,Canvas);font-size:25px}.store-contact-header>div{min-width:0;flex:1}.store-contact-header>div>span{display:block;color:color-mix(in srgb,CanvasText 64%,Canvas);font-size:13px}.store-contact-header h2{margin:2px 0 0;font-size:21px;font-weight:600;line-height:1.6}.store-contact-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--colorMain,CanvasText) 16%,Canvas);border-radius:12px;color:CanvasText;background:Canvas;font-size:23px;cursor:pointer}.store-contact-content{display:grid;gap:20px;min-height:0;padding:20px 22px 24px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.store-contact-section{min-width:0}.store-contact-section h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:15px;font-weight:600}.store-contact-section h3>i{color:var(--colorMain,CanvasText);font-size:19px}.store-contact-grid,.store-contact-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.store-contact-card,.store-contact-social,.store-contact-address,.store-contact-hours{display:flex;align-items:center;gap:10px;min-width:0;min-height:66px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--colorMain,CanvasText) 13%,Canvas);border-radius:13px;color:CanvasText;background:Canvas;text-decoration:none;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.store-contact-card:hover,.store-contact-social:hover,.store-contact-address:hover{color:CanvasText;border-color:color-mix(in srgb,var(--colorMain,CanvasText) 42%,Canvas);background:color-mix(in srgb,var(--colorMain,CanvasText) 4%,Canvas);transform:translateY(-1px)}.store-contact-icon,.store-contact-social-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;color:var(--colorMain,CanvasText);background:color-mix(in srgb,var(--colorMain,CanvasText) 9%,Canvas);font-size:20px}.store-contact-card>span:nth-child(2),.store-contact-social>span:nth-child(2),.store-contact-hours>span{display:grid;gap:1px;min-width:0;flex:1}.store-contact-card small,.store-contact-social small,.store-contact-hours small{color:color-mix(in srgb,CanvasText 60%,Canvas);font-size:12px;line-height:1.6}.store-contact-card strong,.store-contact-social strong,.store-contact-hours strong{min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.7}.store-contact-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-contact-social{min-height:62px}.store-contact-social-icon{border:1px solid color-mix(in srgb,var(--colorMain,CanvasText) 14%,Canvas);background:color-mix(in srgb,var(--colorMain,CanvasText) 7%,Canvas)}.store-contact-social-icon i{font-size:20px;line-height:1}.store-contact-go{flex:0 0 auto;color:color-mix(in srgb,CanvasText 48%,Canvas);font-size:18px}.store-contact-addresses{display:grid;gap:8px}.store-contact-address{min-height:56px}.store-contact-address>i:first-child,.store-contact-hours>i{flex:0 0 22px;color:var(--colorMain,CanvasText);font-size:21px}.store-contact-address>span{flex:1;min-width:0;line-height:1.9;overflow-wrap:anywhere}.store-contact-hours{justify-content:flex-start;min-height:58px;background:color-mix(in srgb,var(--colorMain,CanvasText) 4%,Canvas)}
@keyframes storeContactEnter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes storeContactBackdrop{from{opacity:0}to{opacity:1}}
@media(max-width:768px){.store-contact-launcher{left:16px;bottom:calc(102px + env(safe-area-inset-bottom,0px));min-height:50px;padding-inline:14px;border-radius:16px}.mobile-bottom-nav-enabled .store-contact-launcher{bottom:calc(102px + env(safe-area-inset-bottom,0px))}body.mobile-quick-nav-open .store-contact-launcher{opacity:0;visibility:hidden;pointer-events:none}body.mobile-quick-nav-open #backToTop{opacity:0!important;visibility:hidden!important;pointer-events:none!important}#backToTop{right:auto!important;left:16px!important;bottom:calc(162px + env(safe-area-inset-bottom,0px))!important;width:44px;height:44px;z-index:1036;border-radius:14px;font-size:19px}.store-contact-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:none;height:min(82dvh,740px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 8px);margin:0;border-radius:22px 22px 0 0}.store-contact-panel{height:100%;max-height:100%;border-radius:22px 22px 0 0;animation:storeContactSheet .24s cubic-bezier(.2,.8,.2,1) both}.store-contact-header{padding:17px 18px}.store-contact-content{padding:16px 16px calc(22px + env(safe-area-inset-bottom,0px))}.store-contact-header h2{font-size:19px}.store-contact-dialog::backdrop{background:rgb(16 20 32 / 42%)}body.cart-page .store-contact-launcher,body.checkout-page .store-contact-launcher{bottom:calc(var(--mobile-nav-action-offset,84px) + 16px)}body.cart-page #backToTop,body.checkout-page #backToTop{bottom:calc(var(--mobile-nav-action-offset,84px) + 76px)!important}body.single-product-page .store-contact-launcher{bottom:calc(var(--mobile-nav-action-offset,84px) + 16px)}body.single-product-page #backToTop{bottom:calc(var(--mobile-nav-action-offset,84px) + 76px)!important}}
@keyframes storeContactSheet{from{opacity:.7;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:430px){.store-contact-grid,.store-contact-social-grid{grid-template-columns:minmax(0,1fr)}.store-contact-card,.store-contact-social{min-height:58px}.store-contact-launcher{width:50px;min-width:50px;padding:0;border-radius:16px}.store-contact-launcher span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
@media(min-width:769px){.store-contact-dialog[open]{animation:storeContactBackdrop .18s ease both}}
@media(prefers-reduced-motion:reduce){.store-contact-launcher,.store-contact-panel,.store-contact-card,.store-contact-social,.store-contact-address{transition:none!important;animation:none!important}}
.store-contact-launcher{width:52px;min-width:52px;padding:0}
.store-contact-launcher-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.store-contact-launcher .icon-phone{font-family:'icomoon'!important;font-size:22px}
#backToTop,.store-contact-launcher{width:52px;height:52px;min-width:52px;min-height:52px;padding:0;border:1px solid color-mix(in srgb,var(--colorMain,CanvasText) 18%,Canvas);border-radius:16px;color:var(--colorMainContrast,#fff);background:var(--colorMain,#421268);box-shadow:0 7px 20px color-mix(in srgb,var(--colorMain,CanvasText) 24%,transparent)}
#backToTop{right:20px;bottom:20px;z-index:1036;font-size:20px}
#backToTop:hover,.store-contact-launcher:hover{filter:brightness(1.04);box-shadow:0 10px 24px color-mix(in srgb,var(--colorMain,CanvasText) 30%,transparent)}
#backToTop:focus-visible,.store-contact-launcher:focus-visible,.mobile-menu-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--colorMain,CanvasText) 48%,Canvas);outline-offset:3px}
.store-contact-dialog .icon-phone,.store-contact-dialog .icon-headphones,.store-contact-dialog .icon-x,.store-contact-dialog .icon-arrow-left,.store-contact-dialog .icon-external-link,.store-contact-dialog .icon-mail,.store-contact-dialog .icon-share-2,.store-contact-dialog .icon-map,.store-contact-dialog .icon-map-pin,.store-contact-dialog .icon-clock{font-family:'icomoon'!important;font-style:normal}
.store-contact-social-mark{font-size:15px;font-weight:700;line-height:1}
@media(max-width:430px){.store-contact-launcher{width:50px;min-width:50px;padding:0}.store-contact-launcher-label{clip:rect(0,0,0,0)!important}}
@media(max-width:768px){
    .store-contact-launcher{left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:56px;min-width:56px;height:56px;min-height:56px;border-radius:18px}
    #backToTop{right:auto!important;left:calc(max(16px,env(safe-area-inset-left,0px)) + 66px)!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;width:56px;height:56px;z-index:1036;border-radius:18px}
    body.mobile-bottom-nav-enabled:not(.cart-page):not(.checkout-page):not(.single-product-page) .store-contact-launcher{bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}
    body.products-archive .store-contact-launcher{bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}
    body.products-archive #backToTop{bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}
    body.cart-page .store-contact-launcher,body.checkout-page .store-contact-launcher,body.single-product-page .store-contact-launcher{bottom:var(--mobile-nav-action-offset,84px)}
    body.cart-page #backToTop,body.checkout-page #backToTop,body.single-product-page #backToTop{bottom:var(--mobile-nav-action-offset,84px)!important}
    body.mobile-quick-nav-open .store-contact-launcher,body.mobile-quick-nav-open #backToTop{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
    body.products-archive.archive-panel-open .store-contact-launcher,body.products-archive.archive-panel-open #backToTop{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}
@media(max-width:768px){
    body.single-product-page .store-contact-launcher{
        bottom:max(12px,calc(var(--mobile-nav-action-offset,84px) - 12px))!important;
        border:2px solid var(--colorMain,#421268);
        color:var(--colorMain,#421268);
        background:Canvas;
        box-shadow:0 5px 16px color-mix(in srgb,var(--colorMain,CanvasText) 16%,transparent);
    }
    body.single-product-page .store-contact-launcher:hover{background:color-mix(in srgb,var(--colorMain,CanvasText) 5%,Canvas)}
}
dialog.store-contact-dialog.is-fallback-open{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:16px;border:0;border-radius:0;background:rgb(16 20 32 / 48%)}
dialog.store-contact-dialog.is-fallback-open .store-contact-panel{width:min(680px,calc(100vw - 32px));margin:auto}
@media(max-width:768px){dialog.store-contact-dialog.is-fallback-open{align-items:flex-end;padding:0}}

/* Keep the floating contact, scroll and quick-menu controls on one visual system. */
#backToTop,.store-contact-launcher,.mobile-menu-toggle,.mobile-search-shortcut{
    box-sizing:border-box;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;
    display:grid;place-items:center;border:2px solid var(--colorMain,#421268);border-radius:15px;
    color:var(--colorMain,#421268);background:Canvas;
    box-shadow:0 5px 16px color-mix(in srgb,var(--colorMain,CanvasText) 16%,transparent);
    -webkit-tap-highlight-color:transparent;
    transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease,background-color .18s ease;
}
#backToTop{right:20px;bottom:22px;font-size:22px}
.store-contact-launcher{left:20px;bottom:22px;gap:0}
.store-contact-launcher .icon-phone{font-family:'icomoon'!important;font-size:20px}
.mobile-menu-toggle,.mobile-search-shortcut{font-size:20px}
#backToTop:hover,.store-contact-launcher:hover,.mobile-menu-toggle:hover,.mobile-search-shortcut:hover{color:var(--colorMain,#421268);background:color-mix(in srgb,var(--colorMain,CanvasText) 5%,Canvas);box-shadow:0 7px 20px color-mix(in srgb,var(--colorMain,CanvasText) 20%,transparent)}
#backToTop:focus-visible,.store-contact-launcher:focus-visible,.mobile-menu-toggle:focus-visible,.mobile-search-shortcut:focus-visible{outline:3px solid color-mix(in srgb,var(--colorMain,CanvasText) 48%,Canvas);outline-offset:3px}
@media(max-width:768px){
    .store-contact-launcher{left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));}
    #backToTop{right:auto!important;left:calc(max(16px,env(safe-area-inset-left,0px)) + 66px)!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;z-index:1036}
    .mobile-menu-toggle{right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));}
    .mobile-bottom-nav-enabled .store-contact-launcher{bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}
    body.cart-page .store-contact-launcher,body.checkout-page .store-contact-launcher{bottom:var(--mobile-nav-action-offset,84px)!important}
    body.single-product-page .store-contact-launcher,body.single-product-page .mobile-menu-toggle{bottom:var(--mobile-nav-action-offset,84px)!important}
    body.single-product-page:has(.product-selected-price-summary) .store-contact-launcher,
    body.single-product-page:has(.product-selected-price-summary) .mobile-menu-toggle{bottom:max(12px,calc(var(--mobile-nav-action-offset,84px) - 8px))!important}
    body.mobile-quick-nav-open .store-contact-launcher{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
    body.mobile-quick-nav-open #backToTop{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}

/* Keep the cart contact shortcut just above the measured fixed checkout bar. */
@media(max-width:768px){
    body.cart-page .store-contact-launcher{
        bottom:calc(var(--cart-checkout-bar-height,0px) + 12px)!important;
    }
}

/* Keep the contact shortcut clear of the fixed product purchase bar on tablet and desktop. */
@media(min-width:769px){
    body.single-product-page:has(.product-purchase-actions.is-desktop-fixed) .store-contact-launcher{
        bottom:calc(var(--product-purchase-fixed-height,82px) + 28px + env(safe-area-inset-bottom,0px))!important;
    }
}

@media(max-width:991.98px){
    .mobile-floating-tools,
    .store-contact-launcher,
    #backToTop{
        opacity:1;
        visibility:visible;
        transform:translate3d(0,0,0) scale(1);
        filter:blur(0);
        transition:
            opacity .28s cubic-bezier(.22,1,.36,1),
            transform .34s cubic-bezier(.22,1,.36,1),
            filter .28s ease,
            visibility 0s linear 0s;
    }
    .mobile-floating-tools > :nth-child(1){transition-delay:0ms}
    .mobile-floating-tools > :nth-child(2){transition-delay:35ms}
    .mobile-floating-tools > :nth-child(3){transition-delay:70ms}
    body.mobile-floating-controls-scrolling .mobile-floating-tools,
    body.mobile-floating-controls-scrolling .store-contact-launcher,
    body.mobile-floating-controls-scrolling #backToTop{
        opacity:0!important;
        visibility:hidden;
        transform:translate3d(0,10px,0) scale(.96);
        filter:blur(2px);
        pointer-events:none!important;
        transition-delay:0s,0s,0s,.42s;
    }
}

@media(prefers-reduced-motion:reduce){
    .mobile-floating-tools,.store-contact-launcher,#backToTop{
        transition-duration:.01ms!important;
        transition-delay:0ms!important;
        filter:none!important;
    }
}
