.sn-asst {
    position: fixed;
    right: max(0.85rem, env(safe-area-inset-right));
    bottom: max(0.85rem, env(safe-area-inset-bottom));
    z-index: 9990;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    pointer-events: none;
    overflow: visible;
    max-height: none;
}
body:has(#sn-consent:not([hidden])) .sn-asst {
    bottom: calc(7.5rem + env(safe-area-inset-bottom));
}
body.sn-catalog-reading .sn-asst { display: none; }
.sn-asst-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    pointer-events: auto;
    overflow: hidden;
    max-height: calc(100dvh - 5.5rem);
}
.sn-asst-stack[hidden] { display: none !important; }
.sn-asst-btn,
.sn-asst-fab {
    width: 2.7rem;
    height: 2.7rem;
    flex: 0 0 auto;
    border-radius: 50%;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: none;
    outline: none;
    cursor: pointer;
    pointer-events: auto;
}
.sn-asst-btn {
    background: var(--brand-main, #1a1c21);
    color: var(--brand-contrast, #fff);
}
.sn-asst-btn:hover {
    color: var(--brand-contrast, #fff);
    filter: none;
    opacity: 0.92;
}
.sn-asst-btn-whatsapp,
.sn-asst-btn-whatsapp:hover {
    background: #25d366;
    color: #fff;
}
.sn-asst-fab {
    position: relative;
    width: 3.25rem;
    height: 3.25rem;
    background: #14151a;
    color: #fff;
    overflow: visible;
    box-shadow: none;
}
.sn-asst-fab:hover { color: #fff; background: #1c1d24; }
.sn-asst-ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: visible;
}
.sn-asst-ring-bg,
.sn-asst-ring-fg {
    fill: none;
    stroke-width: 2.8;
}
.sn-asst-ring-bg { stroke: rgba(255, 255, 255, 0.42); }
.sn-asst-ring-fg {
    stroke: #fff;
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    stroke-linecap: round;
    transition: stroke-dashoffset 80ms linear;
}
.sn-asst-fab-icon {
    position: relative;
    z-index: 1;
    display: flex;
    color: #fff;
}
.sn-asst-fab-x,
.sn-asst-fab-top { display: none; }
.sn-asst.is-open .sn-asst-fab-help,
.sn-asst.is-open .sn-asst-fab-top { display: none; }
.sn-asst.is-open .sn-asst-fab-x { display: flex; }
.sn-asst.is-bottom:not(.is-open) .sn-asst-fab-help { display: none; }
.sn-asst.is-bottom:not(.is-open) .sn-asst-fab-top { display: flex; }
.sn-asst-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.sn-asst-lead {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    overflow: hidden;
}
.sn-asst-lead[hidden] { display: none !important; }
.sn-asst-lead-back {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 14, 0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.sn-asst-lead-box {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 640px;
    height: min(600px, 82vh);
    max-height: 82vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--v2-surface, #fff);
    color: var(--v2-ink, #16181d);
    border-radius: 20px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.38);
    padding: 22px 22px 22px;
}
.sn-asst-lead-x {
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1.5px solid var(--v2-border);
    background: transparent;
    color: var(--v2-ink, #16181d) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
}
.sn-asst-lead-x:hover {
    border-color: var(--brand-accent-ink, var(--brand-main));
    color: var(--brand-accent-ink, var(--brand-main)) !important;
}
.sn-asst-lead-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.sn-asst-lead-form {
    width: 100%;
    max-width: 28rem;
    margin: 0 auto;
}
.sn-asst-lead-form .pb-lf-box {
    margin: 0;
    box-shadow: none;
    border: 0;
    background: transparent;
    max-width: none;
    padding: 0;
}
.sn-asst-lead-form .pb-lf-heading {
    font-size: 1.2rem;
    margin: 0 0 0.4rem;
}
.sn-asst-lead-form .pb-lf-subtext {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    line-height: 1.4;
}
.sn-asst-lead-form .pb-lf-field { margin-bottom: 0.55rem; }
.sn-asst-lead-form .pb-lf-row { gap: 0.55rem; }
.sn-asst-lead-form .pb-lf-label {
    margin-bottom: 0.22rem;
    font-size: 0.72rem;
}
.sn-asst-lead-form .pb-lf-field input,
.sn-asst-lead-form .pb-lf-field textarea,
.sn-asst-lead-form .pb-lf-field select {
    padding: 0.45rem 0.6rem;
    font-size: 0.92rem;
}
.sn-asst-lead-form .pb-lf-notes-field textarea {
    height: 4.2rem;
    min-height: 4.2rem;
    resize: none;
}
.sn-asst-lead-form .pb-lf-charcount { margin-top: 0.15rem; font-size: 0.68rem; }
.sn-asst-lead-form .pb-lf-kvkk-row { margin: 0.15rem 0 0.55rem; gap: 8px; }
.sn-asst-lead-form .pb-lf-kvkk-row label { font-size: 0.78rem; line-height: 1.35; }
.sn-asst-lead-form .pb-lf-turnstile {
    margin-bottom: 0.5rem;
    min-height: 0;
}
.sn-asst-lead-form .pb-lf-btn {
    padding: 0.62rem;
    margin-bottom: 0;
    font-size: 0.92rem;
}
.sn-asst-lead-form .pb-lf-otp-info { margin-bottom: 0.5rem; font-size: 0.85rem; }
@media (max-width: 640px) {
    .sn-asst-lead-box { height: min(560px, 86vh); max-height: 86vh; border-radius: 16px; padding: 18px; }
    .sn-asst-lead-x { top: 14px; right: 14px; }
}
@media (max-width: 600px) {
    .sn-asst-lead-form .pb-lf-row { flex-direction: row; gap: 0.4rem; }
}
