/* Nova Sticky Contact Buttons v1.0.1 — critical CSS enqueue + SVG sizing hotfix */
.nscb-sticky-contact,
.nscb-sticky-contact *{
    box-sizing:border-box;
}

.nscb-sticky-contact{
    --nscb-ink:#061d32;
    --nscb-blue:#0b84c6;
    --nscb-teal:#21b7bd;
    --nscb-green:#25d366;
    --nscb-soft:#eaf8fb;
    position:fixed !important;
    z-index:9994;
    right:24px;
    bottom:28px;
    display:grid;
    gap:12px;
    width:auto !important;
    max-width:290px;
    height:auto !important;
    font-family:inherit;
    isolation:isolate;
    contain:layout style;
    transform:translate3d(0,0,0);
}

.nscb-sticky-contact.nscb-pos-left{
    right:auto;
    left:24px;
}

.nscb-button{
    position:relative !important;
    display:grid !important;
    grid-template-columns:50px minmax(0,1fr);
    align-items:center;
    gap:12px;
    width:auto !important;
    min-width:218px;
    max-width:280px;
    min-height:66px;
    padding:8px 18px 8px 8px !important;
    border-radius:999px !important;
    text-decoration:none !important;
    overflow:hidden;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 16px 34px rgba(7,29,51,.18),0 34px 78px rgba(7,29,51,.16);
    backdrop-filter:blur(12px) saturate(145%);
    -webkit-backdrop-filter:blur(12px) saturate(145%);
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
    line-height:1.1;
}

.nscb-button:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.28) 38%,transparent 70%);
    transform:translateX(-120%);
    transition:transform .48s ease;
}

.nscb-button:hover,
.nscb-button:focus-visible{
    transform:translate3d(0,-3px,0);
    box-shadow:0 20px 42px rgba(7,29,51,.22),0 42px 92px rgba(7,29,51,.18);
    filter:saturate(1.05);
}

.nscb-button:hover:before,
.nscb-button:focus-visible:before{
    transform:translateX(120%);
}

.nscb-button--whatsapp{
    background:linear-gradient(135deg,#139f58,#25d366);
}

.nscb-button--phone{
    background:linear-gradient(135deg,#0b84c6,#21b7bd);
}

.nscb-button__icon{
    position:relative;
    z-index:2;
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    min-height:50px !important;
    max-width:50px !important;
    max-height:50px !important;
    border-radius:999px;
    background:rgba(255,255,255,.20);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.28);
    color:#fff !important;
    flex:0 0 50px;
    overflow:hidden;
}

.nscb-button__icon svg,
.nscb-button__icon svg:not(:root){
    display:block !important;
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    min-height:24px !important;
    max-width:24px !important;
    max-height:24px !important;
    fill:currentColor !important;
    color:inherit !important;
    flex:0 0 24px;
    overflow:visible;
}

.nscb-button__icon svg path{
    fill:currentColor !important;
}

.nscb-button__text{
    position:relative;
    z-index:2;
    display:grid;
    gap:2px;
    min-width:0;
    line-height:1.08;
}

.nscb-button__text strong{
    display:block;
    color:#fff !important;
    font-size:15px;
    font-weight:950;
    letter-spacing:-.02em;
    white-space:nowrap;
}

.nscb-button__text small{
    display:block;
    color:rgba(255,255,255,.88) !important;
    font-size:12px;
    font-weight:750;
    opacity:.88;
    white-space:nowrap;
}

.nscb-button__pulse{
    position:absolute;
    inset:-2px;
    border-radius:999px;
    pointer-events:none;
    border:1px solid rgba(255,255,255,.34);
    opacity:.58;
}

.nscb-button:focus-visible{
    outline:3px solid rgba(199,239,146,.78);
    outline-offset:4px;
}

@media (prefers-reduced-motion:no-preference){
    .nscb-button__pulse{animation:nscbPulse 2.4s ease-out infinite}
    .nscb-button--phone .nscb-button__pulse{animation-delay:.65s}
    @keyframes nscbPulse{
        0%{transform:scale(.96);opacity:.48}
        70%{transform:scale(1.18);opacity:0}
        100%{transform:scale(1.18);opacity:0}
    }
}

@media (max-width:760px){
    .nscb-sticky-contact{
        left:12px !important;
        right:12px !important;
        bottom:max(12px,env(safe-area-inset-bottom));
        grid-template-columns:1fr 1fr;
        gap:10px;
        max-width:none;
        contain:layout style;
    }

    .nscb-button{
        min-width:0;
        max-width:none;
        min-height:58px;
        grid-template-columns:42px minmax(0,1fr);
        gap:9px;
        padding:8px 10px !important;
        border-radius:20px !important;
        box-shadow:0 14px 36px rgba(7,29,51,.20);
    }

    .nscb-button__icon{
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        min-height:42px !important;
        max-width:42px !important;
        max-height:42px !important;
        flex-basis:42px;
    }

    .nscb-button__icon svg,
    .nscb-button__icon svg:not(:root){
        width:22px !important;
        height:22px !important;
        min-width:22px !important;
        min-height:22px !important;
        max-width:22px !important;
        max-height:22px !important;
        flex-basis:22px;
    }

    .nscb-button__text strong{font-size:13px}
    .nscb-button__text small{font-size:10.5px}
    .nscb-mobile-compact .nscb-button__text small{display:none}
    .nscb-mobile-compact .nscb-button{min-height:56px}
}

@media (max-width:390px){
    .nscb-button{
        grid-template-columns:38px minmax(0,1fr);
        padding:7px 8px !important;
    }
    .nscb-button__icon{
        width:38px !important;
        height:38px !important;
        min-width:38px !important;
        min-height:38px !important;
        max-width:38px !important;
        max-height:38px !important;
    }
    .nscb-button__text strong{font-size:12px}
}

@media (forced-colors:active){
    .nscb-button{border:1px solid CanvasText;box-shadow:none}
    .nscb-button:focus-visible{outline:2px solid Highlight}
}

@media print{
    .nscb-hide-print{display:none!important}
}
