.luvi-medack { position:fixed; right:96px; bottom:24px; z-index:990; width:400px; max-width:calc(100vw - 128px); max-height:calc(100dvh - 48px); overflow-y:auto; box-sizing:border-box; padding:24px; border:1px solid #ded6ca; border-top:3px solid #c99a5b; border-radius:16px; background:#fff; color:var(--color-default, #49515b); font-family:var(--font-body, sans-serif); box-shadow:0 8px 30px rgba(32,28,22,.09); opacity:0; transform:translateX(20px); transition:opacity 360ms ease, transform 360ms ease; }
.luvi-medack[hidden] { display:none !important; }
.luvi-medack--visible { opacity:1; transform:translate(0); }
.luvi-medack--closing { opacity:0; transform:translateX(30px); transition-duration:520ms; transition-timing-function:cubic-bezier(.22, 1, .36, 1); }
.luvi-medack .luvi-medack__title { margin:0 0 12px; color:var(--color-heading, #111112); font-family:var(--font-heading, sans-serif); font-size:23px; line-height:1.2; font-weight:500; }
.luvi-medack .luvi-medack__body { margin:0 0 12px; font-size:14px; line-height:1.65; }
.luvi-medack .luvi-medack__link { display:inline-flex; align-items:center; min-height:44px; color:#71532d; font-size:13px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.luvi-medack .luvi-medack__label { display:flex; position:relative; align-items:center; gap:12px; min-height:48px; margin:12px 0; font-size:13px; line-height:1.5; cursor:pointer; }
.luvi-medack .luvi-medack__input { position:absolute; left:0; width:44px; height:28px; opacity:0; margin:0; }
.luvi-medack__switch { flex:0 0 44px; height:26px; border:1px solid #767c80; border-radius:20px; background:#e9eaeb; position:relative; pointer-events:none; }
.luvi-medack__switch::after { content:''; position:absolute; left:3px; top:3px; width:18px; height:18px; border-radius:50%; background:#49515b; transition:transform 180ms ease; }
.luvi-medack__input:checked + .luvi-medack__switch { background:#71532d; border-color:#71532d; }
.luvi-medack__input:checked + .luvi-medack__switch::after { content:'✓'; transform:translateX(18px); color:#71532d; background:#fff; text-align:center; font-size:13px; line-height:18px; font-weight:700; }
.luvi-medack .luvi-medack__continue { display:block; width:100%; min-height:44px; border-radius:8px; padding:10px 18px; font-family:inherit; font-size:14px; font-weight:600; color:#fff; background:#71532d; }
.luvi-medack .luvi-medack__continue:disabled { background:#eeebe6; color:#68645e; cursor:default; }
.luvi-medack .luvi-medack__continue:focus-visible, .luvi-medack .luvi-medack__link:focus-visible { outline:3px solid #71532d; outline-offset:4px; }
.luvi-medack__input:focus-visible ~ span:last-child { text-decoration:underline 2px #71532d; text-underline-offset:4px; }
/* The white rules above are the recoverable baseline; this modifier owns the dark evaluation theme. */
.luvi-medack--dark { --luvi-medack-green:#173b35; --luvi-medack-cream:#f6f0e6; --luvi-medack-gold:#c99a5b; background:var(--luvi-medack-green); color:rgba(255,255,255,.84); border-color:rgba(201,154,91,.7); border-top-color:var(--luvi-medack-gold); box-shadow:0 10px 30px rgba(12,17,29,.18); }
.luvi-medack--dark .luvi-medack__title { color:#fff; }
.luvi-medack--dark .luvi-medack__link { color:#f0d4a6; }
.luvi-medack--dark .luvi-medack__switch { border-color:rgba(255,255,255,.62); background:rgba(255,255,255,.14); }
.luvi-medack--dark .luvi-medack__switch::after { background:var(--luvi-medack-cream); }
.luvi-medack--dark .luvi-medack__input:checked + .luvi-medack__switch { background:var(--luvi-medack-gold); border-color:var(--luvi-medack-green); }
.luvi-medack--dark .luvi-medack__input:checked + .luvi-medack__switch::after { color:var(--luvi-medack-cream); background:var(--luvi-medack-green); }
.luvi-medack--dark .luvi-medack__continue { color:var(--luvi-medack-green); background:var(--luvi-medack-cream); }
.luvi-medack--dark .luvi-medack__continue:disabled { color:rgba(255,255,255,.68); background:rgba(255,255,255,.12); }
.luvi-medack--dark[data-cta-variant="gold"] .luvi-medack__continue:not(:disabled) { color:#fff; background:#765b3d; }
.luvi-medack--dark .luvi-medack__continue:focus-visible, .luvi-medack--dark .luvi-medack__link:focus-visible { outline-color:#f0d4a6; }
.luvi-medack--dark .luvi-medack__input:focus-visible ~ span:last-child { text-decoration-color:#f0d4a6; }
@media(max-width:600px) {
    .luvi-medack { right:16px; left:16px; bottom:max(16px, env(safe-area-inset-bottom)); width:auto; max-width:none; max-height:calc(100dvh - 100px); padding:20px; transform:translateY(12px); }
    .luvi-medack--visible { transform:translateY(0); }
    .luvi-medack--closing { transform:translateY(18px); }
    /* Keep the established contact controls above the card while it is open. */
    body:has(.luvi-medack:not([hidden])) .fab-wrap { bottom:calc(var(--luvi-medack-height, 400px) + 32px + env(safe-area-inset-bottom)); pointer-events:none; }
    body:has(.luvi-medack:not([hidden])) .fab-main-btn { pointer-events:auto; }
    body:has(.luvi-medack:not([hidden])) .xb-backtotop { visibility:hidden; }
}
@media(prefers-reduced-motion:reduce) {
    .luvi-medack, .luvi-medack__switch::after, .luvi-medack .luvi-medack__continue, .luvi-medack .luvi-medack__link { transition:none; transform:none; }
}
@media(max-width:600px) and (max-height:700px) {
    .luvi-medack { max-height:55dvh; }
    body:has(.luvi-medack:not([hidden])) .fab-wrap { flex-direction:row; }
}
