/* SND Chat UI v2.6 — Original Tahoma font, richer professional colors */
:root{
    --snd-bg:#e9eef1;
    --snd-panel:#f8fafc;
    --snd-surface:#ffffff;
    --snd-text:#0f172a;
    --snd-muted:#64748b;
    --snd-border:#dbe4ea;
    --snd-brand:#0f766e;
    --snd-brand-dark:#0f172a;
    --snd-brand-soft:#e7f7f4;
    --snd-user:#d9f5ef;
    --snd-shadow:0 20px 60px rgba(15,23,42,.14);
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Tahoma,Arial,sans-serif}
body{background:var(--snd-bg);color:var(--snd-text)}
button,input{font:inherit}
a{text-decoration:none;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.58;cursor:not-allowed}
.sned-sr-only{
    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;
}

.sned-chat-clean{min-height:100vh;direction:rtl}
.sned-wa-page{
    min-height:100vh;
    padding:20px 12px;
    background:
        radial-gradient(circle at 12% 6%,rgba(15,118,110,.10),transparent 28%),
        radial-gradient(circle at 88% 2%,rgba(14,165,233,.08),transparent 26%),
        var(--snd-bg);
}
.sned-wa-app{
    width:min(760px,100%);
    min-height:calc(100vh - 40px);
    margin:0 auto;
    background:var(--snd-panel);
    border:1px solid var(--snd-border);
    border-radius:26px;
    overflow:hidden;
    box-shadow:var(--snd-shadow);
    display:flex;
    flex-direction:column;
}
.sned-wa-error-app{min-height:auto;margin-top:8vh}

.sned-wa-header{
    position:sticky;
    top:0;
    z-index:20;
    min-height:92px;
    padding:16px 18px;
    display:flex;
    align-items:center;
    gap:13px;
    color:#fff;
    background:linear-gradient(135deg,#0f172a,#0f766e);
    box-shadow:0 12px 28px rgba(15,23,42,.18);
}
.sned-wa-avatar{
    position:relative;
    width:58px;
    height:58px;
    min-width:58px;
    border-radius:18px;
    padding:5px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(255,255,255,.42);
    box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.sned-wa-avatar img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    border-radius:13px;
}
.sned-wa-status-dot{
    position:absolute;
    right:-1px;
    bottom:2px;
    width:13px;
    height:13px;
    border-radius:50%;
    background:#22c55e;
    border:3px solid #0f172a;
}
.sned-wa-title{flex:1;min-width:0}
.sned-wa-title h1{
    margin:0 0 4px;
    font-size:21px;
    line-height:1.35;
    font-weight:900;
}
.sned-wa-title p{
    margin:0;
    font-size:12.5px;
    line-height:1.6;
    opacity:.88;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.sned-wa-home,
.sned-wa-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.10);
    color:#fff;
    border-radius:13px;
    min-height:38px;
    transition:.18s ease;
}
.sned-wa-home{padding:8px 11px;font-size:13px;font-weight:800}
.sned-wa-close{width:38px;min-width:38px;padding:0;font-size:24px;line-height:1}
.sned-wa-home:hover,.sned-wa-close:hover{background:rgba(255,255,255,.18)}

.sned-wa-messages{
    position:relative;
    flex:1;
    min-height:430px;
    max-height:calc(100vh - 265px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:18px 14px 24px;
    background:
        linear-gradient(rgba(239,244,246,.94),rgba(239,244,246,.94)),
        radial-gradient(circle at 8px 8px,rgba(15,23,42,.055) 1.3px,transparent 1.6px) 0 0/34px 34px;
    scroll-behavior:smooth;
}
.sned-wa-day{
    width:max-content;
    max-width:90%;
    margin:0 auto 16px;
    padding:5px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.84);
    color:var(--snd-muted);
    border:1px solid rgba(148,163,184,.20);
    font-size:12px;
    font-weight:700;
}
.sned-wa-row{display:flex;margin:8px 0}
.sned-wa-row.bot{justify-content:flex-start}
.sned-wa-row.user{justify-content:flex-end}
.sned-wa-bubble{
    position:relative;
    max-width:min(78%,620px);
    padding:10px 13px 20px;
    border-radius:15px;
    color:var(--snd-text);
    font-size:15.5px;
    line-height:1.75;
    box-shadow:0 2px 8px rgba(15,23,42,.08);
}
.sned-wa-row.bot .sned-wa-bubble{
    background:#fff;
    border:1px solid rgba(203,213,225,.65);
    border-top-right-radius:5px;
}
.sned-wa-row.user .sned-wa-bubble{
    background:var(--snd-user);
    border:1px solid #bfe9df;
    border-top-left-radius:5px;
}
.sned-wa-bubble p{margin:0 0 3px;color:inherit}
.sned-wa-time{
    position:absolute;
    left:9px;
    bottom:4px;
    color:#718096;
    font-size:10px;
    direction:ltr;
}
.sned-wa-bubble.typing{
    display:flex;
    align-items:center;
    gap:5px;
    min-width:58px;
    padding:14px 16px;
}
.sned-wa-bubble.typing span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#7b8a95;
    animation:snedTyping 1.1s infinite ease-in-out;
}
.sned-wa-bubble.typing span:nth-child(2){animation-delay:.15s}
.sned-wa-bubble.typing span:nth-child(3){animation-delay:.30s}
@keyframes snedTyping{
    0%,80%,100%{transform:translateY(0);opacity:.4}
    40%{transform:translateY(-4px);opacity:1}
}

.sned-wa-suggestions-wrap{
    padding:11px 13px 5px;
    background:var(--snd-panel);
    border-top:1px solid var(--snd-border);
}
.sned-wa-suggestions{display:flex;gap:7px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}
.sned-wa-suggestions::-webkit-scrollbar{display:none}
.sned-wa-suggestions button{
    flex:0 0 auto;
    border:1px solid #b9ded7;
    background:#fff;
    color:#0f665f;
    padding:8px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    transition:.18s ease;
}
.sned-wa-suggestions button:hover{background:#edfdfa;transform:translateY(-1px)}

.sned-wa-compose{
    display:flex;
    gap:9px;
    padding:10px 13px calc(14px + env(safe-area-inset-bottom));
    background:var(--snd-panel);
}
.sned-wa-compose input[type="text"]{
    flex:1;
    min-width:0;
    height:50px;
    border:1px solid #ccd7df;
    background:#fff;
    color:var(--snd-text);
    border-radius:16px;
    padding:0 16px;
    outline:none;
    font-size:15px;
}
.sned-wa-compose input[type="text"]:focus{
    border-color:#2aa69d;
    box-shadow:0 0 0 3px rgba(15,118,110,.11);
}
.sned-wa-compose button{
    height:50px;
    min-width:88px;
    border:0;
    border-radius:16px;
    background:linear-gradient(135deg,#0f766e,#0d9488);
    color:#fff;
    font-size:14px;
    font-weight:900;
    box-shadow:0 8px 18px rgba(15,118,110,.20);
}

/* Product cards */
.chat-products,
.branch-cards,
.discount-cards{
    width:calc(100% - 24px);
    max-width:520px;
    margin:13px auto 17px;
    display:grid;
    gap:11px;
    direction:rtl;
}
.chat-card{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:12px;
    align-items:center;
    background:#fff;
    color:var(--snd-text);
    border:1px solid var(--snd-border);
    border-radius:20px;
    padding:11px;
    box-shadow:0 10px 26px rgba(15,23,42,.10);
    overflow:hidden;
}
.product-media,
.product-placeholder{
    width:96px;
    height:96px;
    border-radius:16px;
}
.product-media{
    overflow:hidden;
    background:#f1f5f9;
    display:flex;
    align-items:center;
    justify-content:center;
}
.product-media img{width:100%;height:100%;display:block;object-fit:cover}
.product-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#e8f6f4,#eef6fb);
    color:#0f766e;
    font-size:13px;
    font-weight:900;
}
.product-info{min-width:0;text-align:right}
.chat-card .title{
    font-size:15px;
    line-height:1.65;
    font-weight:900;
    overflow-wrap:anywhere;
}
.chat-card .price{margin-top:3px;color:#047857;font-size:14px;font-weight:900}
.chat-card .cat{margin-top:2px;color:var(--snd-muted);font-size:12px}
.chat-card .buy{
    display:inline-flex;
    margin-top:8px;
    padding:5px 10px;
    border-radius:999px;
    background:#ecfdf5;
    color:#065f46;
    border:1px solid #a7f3d0;
    font-size:12px;
    font-weight:800;
}

/* Branch cards */
.branch-card{
    background:#fff!important;
    color:var(--snd-text)!important;
    border:1px solid var(--snd-border)!important;
    border-radius:20px!important;
    padding:13px!important;
    box-shadow:0 10px 26px rgba(15,23,42,.10)!important;
}
.branch-media{
    color:#0f766e!important;
    font-size:13px!important;
    font-weight:900!important;
}
.branch-city{
    background:#ecfdf5!important;
    color:#047857!important;
    border-color:#a7f3d0!important;
}
.branch-action{background:#0f766e!important}
.branch-action.secondary{background:#f8fafc!important;color:#0f766e!important}

/* Discount cards */
.discount-card{
    display:block!important;
    width:100%!important;
    background:#fff!important;
    color:var(--snd-text)!important;
    border:1px solid var(--snd-border)!important;
    border-radius:22px!important;
    padding:11px!important;
    box-shadow:0 12px 30px rgba(15,23,42,.11)!important;
    overflow:hidden!important;
}
.discount-image-shell{
    width:100%!important;
    padding:7px!important;
    border:1px solid #e5e7eb!important;
    border-radius:17px!important;
    background:#fff!important;
}
.discount-image-shell img{
    width:100%!important;
    height:auto!important;
    max-height:360px!important;
    object-fit:contain!important;
    display:block!important;
    border-radius:13px!important;
}
.discount-body{padding:13px 5px 3px!important}
.discount-title{font-size:16px!important;font-weight:900!important;color:var(--snd-text)!important}
.discount-text{
    background:#ecfdf5!important;
    color:#047857!important;
    border-color:#99f6e4!important;
}
.discount-desc{color:#334155!important}
.discount-date{color:var(--snd-muted)!important}

/* Closed and error states */
.sned-chat-hidden .sned-wa-page{display:none}
.sned-closed-state{
    min-height:100vh;
    padding:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(circle at 50% 10%,rgba(15,118,110,.12),transparent 34%),
        var(--snd-bg);
}
.sned-closed-state[hidden]{display:none}
.sned-closed-card,
.sned-wa-empty{
    width:min(420px,100%);
    margin:auto;
    padding:30px 24px;
    text-align:center;
    background:#fff;
    border:1px solid var(--snd-border);
    border-radius:25px;
    box-shadow:var(--snd-shadow);
}
.sned-closed-logo,
.sned-empty-logo{
    width:78px;
    height:78px;
    object-fit:contain;
    display:block;
    margin:0 auto 15px;
    border-radius:20px;
}
.sned-closed-card h2,
.sned-wa-empty h1{margin:0 0 8px;font-size:24px;color:var(--snd-text)}
.sned-closed-card p,
.sned-wa-empty p{margin:0 0 18px;color:var(--snd-muted);line-height:1.8}
.sned-closed-card button,
.sned-wa-primary-link{
    width:100%;
    min-height:46px;
    border:0;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#0f766e,#0d9488);
    color:#fff;
    font-weight:900;
}

@media(max-width:700px){
    .sned-wa-page{padding:0}
    .sned-wa-app{
        min-height:100vh;
        border:0;
        border-radius:0;
        box-shadow:none;
    }
    .sned-wa-header{min-height:84px;padding:13px 14px}
    .sned-wa-avatar{width:54px;height:54px;min-width:54px;border-radius:16px}
    .sned-wa-title h1{font-size:19px}
    .sned-wa-title p{font-size:12px}
    .sned-wa-home{display:none}
    .sned-wa-messages{min-height:calc(100vh - 230px);max-height:none}
    .sned-wa-bubble{max-width:88%;font-size:15px}
    .sned-wa-compose button{min-width:78px}
}
@media(max-width:520px){
    .chat-card{grid-template-columns:86px minmax(0,1fr)}
    .product-media,.product-placeholder{width:86px;height:86px}
    .chat-products,.branch-cards,.discount-cards{width:calc(100% - 20px)}
}

/* =========================================================
   SND Chat UI v2.3 — mobile viewport, scrolling and polish
   This block intentionally overrides a few rules above while
   preserving every existing class used by chat.php.
   ========================================================= */

html,
body{
    width:100%;
    height:100%;
    min-height:100%;
    overflow:hidden;
    overscroll-behavior:none;
}

body{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

.sned-chat-clean{
    width:100%;
    height:100%;
    min-height:0;
    overflow:hidden;
}

.sned-wa-page{
    width:100%;
    height:100%;
    min-height:0;
    display:flex;
    align-items:stretch;
    justify-content:center;
    overflow:hidden;
}

.sned-wa-app{
    height:calc(100dvh - 40px);
    min-height:0;
    max-height:calc(100dvh - 40px);
    overflow:hidden;
    isolation:isolate;
}

.sned-wa-header,
.sned-wa-suggestions-wrap,
.sned-wa-compose{
    flex:0 0 auto;
}

.sned-wa-header{
    position:relative;
    top:auto;
    backdrop-filter:saturate(135%) blur(14px);
    -webkit-backdrop-filter:saturate(135%) blur(14px);
}

.sned-wa-messages{
    flex:1 1 auto;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    overscroll-behavior-y:contain;
    scroll-behavior:smooth;
    scrollbar-gutter:stable;
    padding-bottom:30px;
}

.sned-wa-messages::-webkit-scrollbar{
    width:7px;
}

.sned-wa-messages::-webkit-scrollbar-track{
    background:transparent;
}

.sned-wa-messages::-webkit-scrollbar-thumb{
    background:rgba(100,116,139,.34);
    border-radius:999px;
    border:2px solid transparent;
    background-clip:padding-box;
}

.sned-wa-row{
    width:100%;
}

.sned-wa-bubble{
    max-width:min(82%,640px);
    border-radius:18px;
    word-break:break-word;
    overflow-wrap:anywhere;
}

.sned-wa-row.bot .sned-wa-bubble{
    border-top-right-radius:6px;
}

.sned-wa-row.user .sned-wa-bubble{
    border-top-left-radius:6px;
}

.sned-wa-suggestions-wrap{
    position:relative;
    z-index:8;
    box-shadow:0 -1px 0 rgba(148,163,184,.12);
}

.sned-wa-suggestions{
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    touch-action:pan-x;
}

.sned-wa-suggestions button{
    scroll-snap-align:start;
    min-height:38px;
}

.sned-wa-compose{
    position:relative;
    z-index:10;
    align-items:center;
    box-shadow:0 -10px 28px rgba(15,23,42,.06);
}

.sned-wa-compose input[type="text"]{
    font-size:16px;
    line-height:1.4;
    caret-color:var(--snd-brand);
}

.sned-wa-compose button{
    flex:0 0 auto;
    transition:transform .16s ease, filter .16s ease, box-shadow .16s ease;
}

.sned-wa-compose button:active{
    transform:scale(.97);
}

.sned-wa-compose input[type="text"]:focus-visible,
.sned-wa-compose button:focus-visible,
.sned-wa-suggestions button:focus-visible,
.sned-wa-home:focus-visible,
.sned-wa-close:focus-visible{
    outline:3px solid rgba(14,165,233,.24);
    outline-offset:2px;
}

.chat-card,
.branch-card,
.discount-card{
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

@media (hover:hover){
    .chat-card:hover,
    .branch-card:hover,
    .discount-card:hover{
        transform:translateY(-2px);
        border-color:#c3d3dc!important;
        box-shadow:0 16px 34px rgba(15,23,42,.13)!important;
    }
}

/* Fallback for browsers that do not yet support dynamic viewport units */
@supports not (height:100dvh){
    .sned-wa-app{
        height:calc(100vh - 40px);
        max-height:calc(100vh - 40px);
    }
}

@media(max-width:700px){
    html,
    body{
        height:100%;
        min-height:100%;
        overflow:hidden;
    }

    .sned-wa-page{
        height:100dvh;
        min-height:100dvh;
        max-height:100dvh;
        padding:0;
        overflow:hidden;
    }

    .sned-wa-app{
        width:100%;
        height:100dvh;
        min-height:100dvh;
        max-height:100dvh;
        border-radius:0;
        overflow:hidden;
    }

    .sned-wa-header{
        min-height:76px;
        padding:
            calc(10px + env(safe-area-inset-top))
            calc(12px + env(safe-area-inset-right))
            10px
            calc(12px + env(safe-area-inset-left));
    }

    .sned-wa-avatar{
        width:50px;
        height:50px;
        min-width:50px;
    }

    .sned-wa-messages{
        min-height:0!important;
        max-height:none!important;
        padding:
            16px
            calc(11px + env(safe-area-inset-right))
            24px
            calc(11px + env(safe-area-inset-left));
    }

    .sned-wa-bubble{
        max-width:90%;
        font-size:15px;
        line-height:1.72;
    }

    .sned-wa-suggestions-wrap{
        padding:
            9px
            calc(11px + env(safe-area-inset-right))
            4px
            calc(11px + env(safe-area-inset-left));
    }

    .sned-wa-compose{
        gap:8px;
        padding:
            9px
            calc(10px + env(safe-area-inset-right))
            calc(10px + env(safe-area-inset-bottom))
            calc(10px + env(safe-area-inset-left));
    }

    .sned-wa-compose input[type="text"]{
        height:48px;
        border-radius:15px;
    }

    .sned-wa-compose button{
        height:48px;
        min-width:76px;
        border-radius:15px;
    }
}

@media(max-width:380px){
    .sned-wa-title h1{
        font-size:17px;
    }

    .sned-wa-title p{
        font-size:11px;
    }

    .sned-wa-close{
        width:36px;
        min-width:36px;
    }

    .sned-wa-compose button{
        min-width:68px;
        padding-inline:10px;
    }
}

@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }
}

/* =========================================================
   SND Chat UI v2.6 — safe edges, original font and richer colors
   ========================================================= */

:root{
    --sned-viewport-height:100dvh;
}

html,
body,
button,
input,
textarea,
select{
    font-family:Tahoma,Arial,sans-serif!important;
}

html,
body{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
}

.sned-chat-clean,
.sned-wa-page,
.sned-wa-app{
    width:100%!important;
    max-width:100%!important;
}

.sned-wa-page{
    height:var(--sned-viewport-height,100dvh)!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
}

.sned-wa-app{
    height:var(--sned-viewport-height,100dvh)!important;
    min-height:0!important;
    max-height:var(--sned-viewport-height,100dvh)!important;
    border-radius:0!important;
    overflow:hidden!important;
}

.sned-wa-header{
    position:relative!important;
    flex:0 0 auto!important;
    border-radius:0!important;
}

.sned-wa-messages{
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:18px 16px 28px!important;
    scroll-padding:22px 0!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
}

.sned-wa-messages > *{
    max-width:100%!important;
}

.sned-wa-row{
    width:100%!important;
    min-width:0!important;
    padding-inline:2px!important;
}

.sned-wa-bubble{
    width:auto!important;
    min-width:0!important;
    max-width:calc(100% - 34px)!important;
    margin-inline:0!important;
    overflow:visible!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
}

.sned-wa-row.bot .sned-wa-bubble{
    margin-inline-end:auto!important;
}

.sned-wa-row.user .sned-wa-bubble{
    margin-inline-start:auto!important;
}

/* Cards now use the message-area padding instead of creating another
   width calculation that could push them outside the viewport. */
.sned-wa-app .chat-products,
.sned-wa-app .branch-cards,
.sned-wa-app .discount-cards,
.chat-products,
.branch-cards,
.discount-cards{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:14px 0 18px!important;
    padding:0 2px!important;
}

.sned-wa-app .chat-card,
.sned-wa-app .branch-card,
.sned-wa-app .discount-card,
.chat-card,
.branch-card,
.discount-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
}

.product-info,
.discount-body,
.branch-info{
    min-width:0!important;
}

.discount-image-shell,
.discount-image-shell img,
.product-media,
.product-media img{
    max-width:100%!important;
}

.sned-wa-suggestions-wrap{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    padding:10px 12px 8px!important;
}

.sned-wa-suggestions{
    width:100%!important;
    min-width:0!important;
    padding:0!important;
}

.sned-wa-suggestions button{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    line-height:1.55!important;
}

.sned-wa-compose{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    padding:
        10px
        max(12px,env(safe-area-inset-right))
        max(12px,env(safe-area-inset-bottom))
        max(12px,env(safe-area-inset-left))!important;
}

.sned-wa-compose input[type="text"]{
    min-width:0!important;
    width:100%!important;
    font-size:16px!important;
}

.sned-wa-compose button{
    flex:0 0 auto!important;
    min-width:82px!important;
    max-width:34%!important;
    padding-inline:16px!important;
}

.sned-closed-logo{
    width:82px!important;
    height:82px!important;
    object-fit:contain!important;
    display:block!important;
    margin:0 auto 16px!important;
    border-radius:22px!important;
}

@media(max-width:700px){
    .sned-wa-header{
        padding:
            calc(10px + env(safe-area-inset-top))
            max(13px,env(safe-area-inset-right))
            10px
            max(13px,env(safe-area-inset-left))!important;
    }

    .sned-wa-messages{
        padding:
            16px
            max(14px,env(safe-area-inset-right))
            24px
            max(14px,env(safe-area-inset-left))!important;
    }

    .sned-wa-bubble{
        max-width:calc(100% - 24px)!important;
    }

    /* No cropped chips on mobile: wrap them into a clean two-column grid. */
    .sned-wa-suggestions{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
        overflow:visible!important;
        touch-action:auto!important;
    }

    .sned-wa-suggestions button{
        width:100%!important;
        min-height:42px!important;
        margin:0!important;
        padding:8px 10px!important;
        border-radius:14px!important;
    }

    .sned-wa-compose{
        gap:8px!important;
    }

    .sned-wa-compose button{
        min-width:76px!important;
        padding-inline:12px!important;
    }
}

@media(max-width:380px){
    .sned-wa-messages{
        padding-inline:11px!important;
    }

    .sned-wa-bubble{
        max-width:calc(100% - 16px)!important;
    }

    .sned-wa-compose button{
        min-width:68px!important;
        padding-inline:9px!important;
    }
}

@supports not (height:100dvh){
    :root{
        --sned-viewport-height:100vh;
    }
}

/* SND typography refinement v2.6 */
.sned-wa-title h1{
    font-weight:700!important;
    letter-spacing:0!important;
}

.sned-wa-title p{
    font-weight:400!important;
}

.sned-wa-bubble{
    font-weight:400!important;
    letter-spacing:0!important;
}

.sned-wa-suggestions button,
.sned-wa-compose button,
.sned-wa-home,
.sned-wa-close,
.chat-card .title,
.product-placeholder,
.branch-media,
.discount-title,
.sned-wa-primary-link{
    font-weight:600!important;
}

.sned-wa-day,
.chat-card .price,
.branch-city{
    font-weight:500!important;
}

.sned-wa-compose input[type="text"]{
    font-weight:400!important;
}

.sned-wa-time,
.chat-card .cat,
.discount-date{
    font-weight:400!important;
}

/* =========================================================
   SND Chat UI v2.6 — richer professional color system
   ========================================================= */

:root{
    --snd-bg:#e8f0f5!important;
    --snd-panel:#f7fafc!important;
    --snd-surface:#ffffff!important;
    --snd-text:#102033!important;
    --snd-muted:#617084!important;
    --snd-border:#cdd9e3!important;
    --snd-brand:#0a7f83!important;
    --snd-brand-dark:#0b1f33!important;
    --snd-brand-soft:#dff5f3!important;
    --snd-user:#c8f1ea!important;
    --snd-accent:#13b8c4!important;
    --snd-accent-2:#0f8fa8!important;
    --snd-shadow:0 24px 70px rgba(15,35,55,.18)!important;
}

body{
    background:
        radial-gradient(circle at 12% 4%,rgba(19,184,196,.18),transparent 27%),
        radial-gradient(circle at 88% 0%,rgba(15,143,168,.15),transparent 25%),
        linear-gradient(180deg,#eaf2f7 0%,#f4f8fb 100%)!important;
    color:var(--snd-text)!important;
}

.sned-wa-page{
    background:
        radial-gradient(circle at 10% 4%,rgba(18,184,196,.14),transparent 28%),
        radial-gradient(circle at 90% 0%,rgba(15,143,168,.12),transparent 26%),
        linear-gradient(180deg,#e8f0f5 0%,#f3f7fa 100%)!important;
}

.sned-wa-app{
    background:#f7fafc!important;
    border-color:#c7d5df!important;
    box-shadow:0 28px 80px rgba(15,35,55,.18)!important;
}

.sned-wa-header{
    color:#fff!important;
    background:linear-gradient(135deg,#0ea5e9 0%,#14b8a6 100%)!important;
    box-shadow:0 14px 34px rgba(14,165,233,.24)!important;
}

.sned-wa-avatar{
    background:linear-gradient(145deg,#ffffff,#e8fbfa)!important;
    border-color:rgba(255,255,255,.64)!important;
    box-shadow:0 10px 26px rgba(2,18,32,.22)!important;
}

.sned-wa-status-dot{
    background:#22c55e!important;
    border-color:#0b1f33!important;
    box-shadow:0 0 0 3px rgba(34,197,94,.15)!important;
}

.sned-wa-home,
.sned-wa-close{
    background:rgba(255,255,255,.12)!important;
    border-color:rgba(255,255,255,.24)!important;
}

.sned-wa-home:hover,
.sned-wa-close:hover{
    background:rgba(255,255,255,.20)!important;
}

.sned-wa-messages{
    background:
        linear-gradient(rgba(241,232,218,.96),rgba(241,232,218,.96)),
        radial-gradient(circle at 10px 10px,rgba(120,90,60,.05) 1.2px,transparent 1.7px) 0 0/34px 34px!important;
}

.sned-wa-day{
    background:rgba(255,255,255,.92)!important;
    color:#536579!important;
    border-color:#d4dee7!important;
    box-shadow:0 4px 14px rgba(15,35,55,.06)!important;
}

.sned-wa-row.bot .sned-wa-bubble{
    background:#ffffff!important;
    border-color:#d5e0e8!important;
    box-shadow:0 8px 22px rgba(15,35,55,.08)!important;
}

.sned-wa-row.user .sned-wa-bubble{
    background:linear-gradient(135deg,#d5f7f0 0%,#bfeee8 100%)!important;
    border-color:#9fddd3!important;
    box-shadow:0 8px 22px rgba(10,127,131,.12)!important;
}

.sned-wa-time{
    color:#6f8092!important;
}

.sned-wa-suggestions-wrap{
    background:rgba(247,250,252,.96)!important;
    border-top-color:#d4dee7!important;
    box-shadow:0 -8px 24px rgba(15,35,55,.05)!important;
}

.sned-wa-suggestions button{
    background:#ffffff!important;
    color:#0b5f68!important;
    border-color:#a8d9d5!important;
    box-shadow:0 5px 14px rgba(15,35,55,.06)!important;
}

.sned-wa-suggestions button:hover{
    background:#eafaf8!important;
    border-color:#76c9c2!important;
    color:#084b53!important;
}

.sned-wa-compose{
    background:rgba(247,250,252,.98)!important;
    border-top:1px solid #d4dee7!important;
    box-shadow:0 -12px 32px rgba(15,35,55,.07)!important;
}

.sned-wa-compose input[type="text"]{
    background:#ffffff!important;
    color:#102033!important;
    border-color:#c9d7e1!important;
    box-shadow:inset 0 1px 2px rgba(15,35,55,.03)!important;
}

.sned-wa-compose input[type="text"]::placeholder{
    color:#8795a6!important;
}

.sned-wa-compose input[type="text"]:focus{
    border-color:#16a9b0!important;
    box-shadow:0 0 0 4px rgba(19,184,196,.13)!important;
}

.sned-wa-compose button{
    background:linear-gradient(135deg,#0ea5e9 0%,#14b8a6 100%)!important;
    color:#ffffff!important;
    box-shadow:0 10px 24px rgba(14,165,233,.24)!important;
}

.sned-wa-compose button:hover{
    filter:brightness(1.04)!important;
}

.chat-card,
.branch-card,
.discount-card{
    background:#ffffff!important;
    border-color:#d2dde6!important;
    box-shadow:0 14px 34px rgba(15,35,55,.10)!important;
}

.product-placeholder{
    background:linear-gradient(135deg,#e5f7f5,#eaf4fa)!important;
    color:#0b6f73!important;
}

.chat-card .price{
    color:#087b65!important;
}

.chat-card .buy{
    background:#e8faf5!important;
    color:#07624f!important;
    border-color:#9adfcf!important;
}

.branch-city{
    background:#e8faf5!important;
    color:#087b65!important;
    border-color:#9adfcf!important;
}

.branch-action{
    background:linear-gradient(135deg,#0b7280,#0d9ca5)!important;
}

.branch-action.secondary{
    background:#f1f7f9!important;
    color:#0b7280!important;
    border:1px solid #c8d9e1!important;
}

.discount-text{
    background:#e8faf5!important;
    color:#087b65!important;
    border-color:#9adfcf!important;
}

.sned-closed-card,
.sned-wa-empty{
    background:#ffffff!important;
    border-color:#cfdae4!important;
    box-shadow:0 24px 70px rgba(15,35,55,.16)!important;
}

.sned-closed-card button,
.sned-wa-primary-link{
    background:linear-gradient(135deg,#0d8d93,#11b7c1)!important;
    color:#ffffff!important;
}

::selection{
    background:rgba(19,184,196,.25)!important;
    color:#0b1f33!important;
}

/* Original SND font restored */
html,
body,
button,
input,
textarea,
select{
    font-family:Tahoma,Arial,sans-serif!important;
}

