/* Vian — a warm cream/gold assistant deliberately scoped to the Holdings pages */
.vian-widget{--vian-ink:#3f2b22;--vian-gold:#d1a359;--vian-border:#e9cfab;--vian-cream:#fff8ec;position:fixed;z-index:850;right:22px;bottom:20px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.4;text-align:left;color:var(--vian-ink);box-sizing:border-box}
.vian-widget *{box-sizing:border-box}.vian-widget [hidden]{display:none!important}
.vian-widget button{font:inherit;cursor:pointer}.vian-widget button:focus-visible,.vian-widget textarea:focus-visible{outline:3px solid #d7a25e;outline-offset:3px}
.vian-widget .vian-launcher{border:1px solid #e2ba82;display:flex;gap:10px;align-items:center;background:linear-gradient(108deg,#fff5e5,#fffcf4);color:#4e3324;box-shadow:0 14px 36px #452a2040,0 3px 0 #e7c59a;min-height:65px;border-radius:999px;padding:7px 20px 7px 7px}
.vian-widget .vian-launcher:hover{transform:translateY(-2px);box-shadow:0 17px 42px #452a2045}
.vian-widget .vian-launcher-face{width:51px;height:51px;display:grid;place-items:center;background:#f5dbb9;border:1px solid #ddbb86;border-radius:50%;overflow:hidden;flex:none}
.vian-widget .vian-launcher-face img{width:100%;height:100%;object-fit:cover}
.vian-widget .vian-launcher-caption{display:flex;flex-direction:column;align-items:start;gap:3px}
.vian-widget .vian-launcher-caption strong{font-size:15px;font-weight:850;white-space:nowrap}
.vian-widget .vian-launcher-caption strong span{color:#c89547}
.vian-widget .vian-launcher-caption small{font-size:10px;letter-spacing:.035em;color:#8d7153;white-space:nowrap}
.vian-widget .vian-chat{display:flex;flex-direction:column;width:min(410px,calc(100vw - 22px));height:min(675px,calc(100dvh - 55px));overflow:hidden;border-radius:22px;border:1px solid #e8ca9f;background:#fffcf6;box-shadow:0 30px 90px #33231e57}
.vian-widget .vian-chat-header{display:flex;align-items:center;gap:10px;flex:none;background:linear-gradient(118deg,#553726,#795333);color:#fff6e4;padding:11px 14px}
.vian-widget .vian-chat-header img{width:48px;height:48px;border:1px solid #e4bd84;border-radius:50%;object-fit:cover;background:#f7e6d3}
.vian-widget .vian-chat-header>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.vian-widget .vian-chat-header strong{font-weight:900;font-size:15px;letter-spacing:.12em}
.vian-widget .vian-chat-header strong span{color:#ffda9d}
.vian-widget .vian-chat-header small{color:#f0d1a4;font-size:10px;letter-spacing:.025em}
.vian-widget .vian-chat-header button{border:1px solid #ffffff35;border-radius:10px;background:#ffffff13;color:white;width:32px;height:32px;display:grid;place-items:center;font-size:22px;flex:none}
.vian-widget .vian-chat-header button:hover{background:#ffffff26}
.vian-widget .vian-chat-hero{background:radial-gradient(circle at 83% 42%,#ffe9bf,#fff4e2 66%,#fff9ef);border-bottom:1px solid #ead7b7;display:flex;align-items:center;gap:15px;padding:16px 14px}
.vian-widget .vian-chat-hero img{flex:none;width:90px;height:90px;object-fit:cover;border-radius:19px;border:1px solid #edcb9b;box-shadow:0 7px 14px #5d3a231c}
.vian-widget .vian-overline{color:#a67b42;font-size:9px;font-weight:900;letter-spacing:.11em}
.vian-widget .vian-chat-hero h2{font-family:Georgia,serif;color:#573526!important;font-size:22px!important;line-height:1.1!important;margin:5px 0!important}
.vian-widget .vian-chat-hero h2 em{color:#b9813e;font-style:italic}
.vian-widget .vian-chat-hero p{margin:0;font-size:11px;color:#806047;line-height:1.5}
.vian-widget .vian-chat-messages{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 13px;display:flex;flex-direction:column;gap:12px;min-height:0;background:#fffcf9}
.vian-widget .vian-line{display:flex}.vian-widget .vian-line.user{justify-content:flex-end}.vian-widget .vian-line.assistant{justify-content:flex-start}
.vian-widget .vian-message{white-space:pre-wrap;overflow-wrap:anywhere;max-width:91%;padding:11px 14px;border-radius:15px;font-size:13px;line-height:1.56;box-shadow:0 2px 7px #4f35200d}
.vian-widget .vian-line.user .vian-message{background:#624332;border-radius:15px 15px 5px 15px;color:white}
.vian-widget .vian-line.assistant .vian-message{background:#fff3df;border:1px solid #f0dbbd;border-radius:15px 15px 15px 5px;color:#573c2d}
.vian-widget .vian-typing{font-style:italic;opacity:.7}
.vian-widget .vian-suggestions{display:flex;gap:7px;overflow-x:auto;padding:10px 13px 9px;border-top:1px solid #f0e3d1;background:#fffbf4;flex:none}
.vian-widget .vian-suggestions button{border:1px solid #e9c99c;color:#7a5431;background:#fff7ea;border-radius:30px;padding:8px 11px;font-size:11px;font-weight:750;white-space:nowrap;flex:none}
.vian-widget .vian-suggestions button:hover{background:#fce6c8}
.vian-widget .vian-chat-form{display:flex;align-items:flex-end;gap:9px;padding:10px 12px;background:#fffcf6;flex:none}
.vian-widget .vian-chat-form textarea{width:100%;min-height:44px;max-height:100px;flex:1;resize:none;padding:12px 13px;border:1px solid #e0ccb3;border-radius:13px;background:#fff;color:#4b3021;font:inherit;line-height:1.35}
.vian-widget .vian-chat-form textarea::placeholder{color:#a38e79}
.vian-widget .vian-send{height:44px;width:44px;flex:none;display:grid;place-items:center;border:0;border-radius:12px;background:#67462d;color:#fff;transition:background .2s}
.vian-widget .vian-send:hover:not(:disabled){background:#946635}.vian-widget .vian-send:disabled{opacity:.4}
.vian-widget .vian-disclaimer{flex:none;padding:0 15px 12px;font-size:10px;color:#9b856e;text-align:center;background:#fffcf6;line-height:1.45}
.vian-widget .vian-greeting{position:absolute;right:0;bottom:84px;width:min(350px,calc(100vw - 26px));min-height:135px;display:flex;align-items:start;gap:11px;background:#fff9ed;color:#573829;border:1px solid #ebcfaa;border-radius:21px;padding:17px 17px 17px 14px;box-shadow:0 15px 42px #4c302438;animation:vian-pop .35s ease both}
.vian-widget .vian-greeting:after{content:"";position:absolute;bottom:-7px;right:45px;width:13px;height:13px;background:#fff9ed;transform:rotate(45deg);border-right:1px solid #ebcfaa;border-bottom:1px solid #ebcfaa}
.vian-widget .vian-greeting-face{flex:none;width:65px;height:65px;object-fit:cover;border-radius:50%;border:2px solid #dfba7f;background:#f6dfbf}
.vian-widget .vian-greeting-text{flex:1;min-width:0;padding-right:8px}
.vian-widget .vian-greeting-text strong{display:block;font-weight:900;font-size:15px}
.vian-widget .vian-greeting-text p{font-size:12px;line-height:1.5;color:#7a614b;margin:6px 0 8px}
.vian-widget .vian-greeting-chat{border:0;background:none;color:#965f2c;font-weight:850;font-size:12px;padding:0;text-decoration:underline;text-underline-offset:3px}
.vian-widget .vian-greeting-dismiss{position:absolute;top:6px;right:8px;border:0;background:transparent;color:#aa8b65;font-size:21px;line-height:1;padding:4px 6px;z-index:2}
.vian-widget .vian-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes vian-pop{from{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:601px){body.vian-has-basket .vian-widget{bottom:94px}}
@media(max-width:600px){
 body.vian-has-basket .vian-widget{bottom:87px}
 .vian-widget{bottom:12px;right:12px}
 .vian-widget .vian-launcher{padding:5px 13px 5px 5px;min-height:51px;gap:8px}
 .vian-widget .vian-launcher-face{width:43px;height:43px}
 .vian-widget .vian-launcher-caption strong{font-size:13px}
 .vian-widget .vian-launcher-caption small{font-size:9px}
 .vian-widget .vian-chat{height:min(640px,calc(100dvh - 30px));width:calc(100vw - 24px);border-radius:18px}
 .vian-widget .vian-greeting{bottom:70px}
 .vian-widget .vian-chat-hero{padding:11px}
 .vian-widget .vian-chat-hero img{width:70px;height:70px}
}
@media(prefers-reduced-motion:reduce){.vian-widget *, .vian-widget *:before,.vian-widget *:after{animation:none!important;transition:none!important}}

/* Keep Vian away from shopping basket buttons and disable him during checkout overlays. */
body.ccl-cart-open .vian-widget,body.ccl-checkout-open .vian-widget{display:none}
body:has(.gr-cart-overlay:not([hidden])) .vian-widget{display:none}
@media(max-width:600px){body.vian-has-basket .vian-widget .vian-chat{height:min(565px,calc(100dvh - 105px))}}
