/* Rishit Fine Arts — Art Assistant (chat) */
.rfa-chat{--red:#b90808;--red2:#8f0606;--ink:#151515;--cream:#fffaf0;--line:#eadfc6;--gold:#c9a45c;font-family:"Sora",system-ui,sans-serif}
.rfa-chat [hidden]{display:none!important}
.rfa-chat__panel{position:fixed;left:22px;bottom:22px;z-index:120;width:min(390px,calc(100vw - 44px));height:min(620px,calc(100vh - 44px));display:flex;flex-direction:column;
  background:var(--cream);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(40,22,4,.32);animation:rfaChatIn .35s cubic-bezier(.2,.8,.2,1) both}
@keyframes rfaChatIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.rfa-chat__log{position:relative;flex:1;overflow-y:auto;padding:16px 14px 6px;display:flex;flex-direction:column;gap:10px;
  background:radial-gradient(120% 60% at 50% 0%,#fffdf6,#f6ecd8)}
.rfa-chat__msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.55;animation:rfaChatIn .25s ease both;overflow-wrap:anywhere}
.rfa-chat__msg p{margin:0}
.rfa-chat__msg--bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px;color:#2c2620}
.rfa-chat__msg--bot.is-ok{background:#eef8f0;border-color:#b9dcc4;color:#16502c}
.rfa-chat__msg--user{align-self:flex-end;background:var(--red);color:#fff;border-bottom-right-radius:4px}
.rfa-chat__cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.rfa-chat__card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fffaf0;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.rfa-chat__card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(90,60,10,.15)}
.rfa-chat__card-img{display:block;padding:5px;background:linear-gradient(135deg,#f6db92,#c8922c 50%,#f3d27f)}
.rfa-chat__card-img img{display:block;width:100%;height:84px;object-fit:cover;background:#fff}
.rfa-chat__card-txt{padding:6px 8px 8px}
.rfa-chat__card-txt b{display:block;font-size:12.5px;font-weight:600;line-height:1.3}
.rfa-chat__card-txt small{display:block;font-size:11px;color:#7a6d5c;margin-top:2px}
.rfa-chat__links{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.rfa-chat__link{color:var(--red);font-weight:600;font-size:13px;text-decoration:none;border-bottom:1px solid transparent;align-self:flex-start}
.rfa-chat__link:hover{border-bottom-color:var(--red)}
.rfa-chat__chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px 10px;background:#f6ecd8;max-height:132px;overflow-y:auto}
.rfa-chat__chips:empty{display:none}
.rfa-chat__chip{border:1px solid #d6c7aa;background-color:#fff;color:var(--ink);border-radius:18px;padding:7px 12px;font:600 12px "Sora",sans-serif;cursor:pointer;transition:all .2s}
.rfa-chat__form{display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid var(--line)}
.rfa-chat__form input{flex:1;min-width:0;border:1px solid #dccfb5;border-radius:22px;padding:10px 14px;font:14px "Sora",sans-serif;background:#fffdf8;-webkit-user-select:text;user-select:text}
.rfa-chat__form input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(185,8,8,.12)}
.rfa-chat__form button{width:42px;height:42px;flex:none;border:0;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;cursor:pointer}
.rfa-chat__form button svg{width:19px;height:19px}
.rfa-chat__form button:hover{background:var(--red2)}
.rfa-chat__foot{padding:6px 12px 9px;background:#fff;font-size:11px;color:#8a7d6c;text-align:center}
.rfa-chat__foot a{color:#8a7d6c}
.rfa-chat__msg,.rfa-chat__msg *{-webkit-user-select:text;user-select:text}
body:has(.main-nav.open) .rfa-chat{display:none}
@media(prefers-reduced-motion:reduce){.rfa-chat *{animation:none!important;transition:none!important}}
@media print{.rfa-chat{display:none!important}}


/* =====================================================================
   v47 — "painter's brush" presentation
   ===================================================================== */
.rfa-chat{--ease:cubic-bezier(.65,.02,.25,1);--paint-in:1.15s}

/* ---- launcher: a brush that paints "Ask Rishit" onto the page ---- */
.rfa-chat__launcher{position:fixed;left:14px;bottom:10px;z-index:90;width:236px;height:118px;padding:0;border:0;background:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent;filter:drop-shadow(0 10px 16px rgba(110,8,8,.28));transform-origin:0 100%}
.rfa-chat__launcher:focus-visible{outline:none}
.rfa-chat__launcher:focus-visible .rfa-chat__canvas{outline:3px solid #d4af37;outline-offset:4px;border-radius:30px}
.rfa-chat.is-open .rfa-chat__launcher{display:none}
.rfa-chat__canvas{position:absolute;left:0;bottom:8px;width:196px;height:60px;display:block;
  clip-path:inset(0 100% 0 0);animation:rfaPaintIn var(--paint-in) var(--ease) 1s forwards}
.rfa-stroke{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rfa-chat__shine{position:absolute;inset:6px 8px;border-radius:30px;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(105deg,transparent 35%,rgba(255,222,150,.55) 48%,transparent 60%) no-repeat;background-size:250% 100%;background-position:130% 0;
  animation:rfaShine 7.5s ease-in-out 3.2s infinite}
.rfa-chat__label{position:absolute;inset:0 22px 0 18px;display:flex;align-items:center;justify-content:center;gap:8px;
  color:#fff;font:500 19px/1 "Playfair Display",Georgia,serif;letter-spacing:.02em;text-shadow:0 1px 1px rgba(60,0,0,.45);
  opacity:0;transform:translateX(-8px);animation:rfaLabelIn .6s ease 1.95s forwards}
.rfa-chat__label i{font-style:normal;font-size:13px;color:#ffd98a;animation:rfaTwinkle 3.2s ease-in-out 2.6s infinite}
.rfa-chat__brushwrap{position:absolute;left:170px;bottom:34px;width:32px;height:112px;transform-origin:50% 100%;
  transform:rotate(38deg);opacity:0;animation:rfaBrushIn var(--paint-in) var(--ease) 1s forwards, rfaBrushIdle 8s ease-in-out 4.2s infinite}
.rfa-brush{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(-2px 4px 3px rgba(40,20,5,.35));transform-origin:50% 100%}
.rfa-chat:not(.is-painted) .rfa-chat__brushwrap .rfa-brush{animation:rfaBrushScrub .38s ease-in-out 1s 3}
.rfa-brush__drop{transform-box:fill-box;transform-origin:50% 0;animation:rfaDrip 8s ease-in 5s infinite;opacity:0}
.rfa-chat__launcher:hover .rfa-chat__brushwrap,.rfa-chat__launcher:focus-visible .rfa-chat__brushwrap{opacity:1;animation:rfaBrushHover .9s var(--ease) both}
.rfa-chat__launcher:hover .rfa-chat__canvas{filter:brightness(1.08) saturate(1.1)}
.rfa-chat__launcher:hover .rfa-chat__shine{animation:rfaShine 1.1s ease-out both}
.rfa-chat__launcher:active .rfa-chat__canvas{transform:scale(.98)}
/* returning within the same visit: already painted, no intro */
.rfa-chat.is-painted .rfa-chat__canvas{animation:none;clip-path:none}
.rfa-chat.is-painted .rfa-chat__label{animation:none;opacity:1;transform:none}
.rfa-chat.is-painted .rfa-chat__brushwrap{opacity:1;animation:rfaBrushIdle 8s ease-in-out 2s infinite}
.rfa-chat.has-teaser:not(.is-open) .rfa-chat__brushwrap{opacity:1;animation:rfaBrushWave 1.6s ease-in-out 2}
.rfa-chat.has-teaser .rfa-chat__canvas{clip-path:none;animation:none}
.rfa-chat.has-teaser .rfa-chat__label{opacity:1;transform:none;animation:none}

@keyframes rfaPaintIn{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes rfaBrushIn{0%{opacity:0;transform:translateX(-186px) rotate(46deg)}6%{opacity:1}100%{opacity:1;transform:translateX(0) rotate(38deg)}}
@keyframes rfaBrushScrub{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(-6deg)}50%{transform:translateY(2px) rotate(4deg)}75%{transform:translateY(-2px) rotate(-4deg)}}
@keyframes rfaLabelIn{to{opacity:1;transform:none}}
@keyframes rfaBrushIdle{0%,82%,100%{transform:rotate(38deg)}86%{transform:translate(-5px,-9px) rotate(26deg)}90%{transform:translate(2px,1px) rotate(44deg)}94%{transform:translate(-2px,-3px) rotate(33deg)}}
@keyframes rfaBrushHover{0%{transform:rotate(38deg)}35%{transform:translate(-14px,-12px) rotate(18deg)}65%{transform:translate(4px,-4px) rotate(46deg)}100%{transform:translate(0,-5px) rotate(32deg)}}
@keyframes rfaBrushWave{0%,100%{transform:rotate(38deg)}25%{transform:translate(-6px,-10px) rotate(22deg)}50%{transform:rotate(44deg)}75%{transform:translate(-3px,-6px) rotate(28deg)}}
@keyframes rfaShine{0%{background-position:130% 0}40%,100%{background-position:-60% 0}}
@keyframes rfaTwinkle{0%,100%{opacity:.55;transform:scale(.85) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}
@keyframes rfaDrip{0%,70%{opacity:0;transform:translateY(0) scale(1)}74%{opacity:1}92%{opacity:1;transform:translateY(9px) scale(.8,1.25)}100%{opacity:0;transform:translateY(16px) scale(.4)}}

/* ---- greeting card, painted in from the brush ---- */
.rfa-chat__teaser{position:fixed;left:22px;bottom:146px;z-index:91;width:min(336px,calc(100vw - 44px));
  background:linear-gradient(#fffdf6,#fbf3e2);border:1px solid #e3cf9f;border-radius:18px 18px 18px 4px;padding:18px 20px 18px;
  box-shadow:0 0 0 4px #fffaf0,0 0 0 5px #d9bd7c,0 24px 60px rgba(60,35,5,.25);
  animation:rfaCardPaint .9s var(--ease) both}
.rfa-chat__teaser::after{content:"";position:absolute;left:34px;bottom:-11px;width:20px;height:20px;background:#fbf3e2;border-right:1px solid #e3cf9f;border-bottom:1px solid #e3cf9f;transform:rotate(45deg);border-bottom-right-radius:4px}
.rfa-chat__teaser p{margin:12px 0 16px;font-size:14px;line-height:1.6;color:#3a332c;opacity:0;animation:rfaFadeUp .5s ease .55s forwards}
.rfa-chat__teaser-head{display:flex}
.rfa-chat__teaser-title{position:relative;font:500 18px/1.2 "Playfair Display",Georgia,serif;color:#1d1813;padding-bottom:6px}
.rfa-chat__teaser-title svg{position:absolute;left:-2px;right:-6px;bottom:-4px;width:calc(100% + 8px);height:10px;overflow:visible}
.rfa-chat__teaser-title path{fill:none;stroke:#b90808;stroke-width:4;stroke-linecap:round;stroke-dasharray:220;stroke-dashoffset:220;animation:rfaDraw .8s var(--ease) .45s forwards}
.rfa-chat__teaser-x{position:absolute;right:10px;top:8px;border:0;background:none;font-size:20px;line-height:1;color:#8a7d6c;cursor:pointer;padding:4px 6px;border-radius:50%}
.rfa-chat__teaser-x:hover{color:#b90808}
.rfa-chat__teaser-actions{display:flex;gap:8px;flex-wrap:wrap;opacity:0;animation:rfaFadeUp .5s ease .75s forwards}
@keyframes rfaCardPaint{0%{clip-path:inset(0 100% 0 0 round 18px);transform:translateY(8px)}100%{clip-path:inset(-20px -20px -20px -20px);transform:none}}
@keyframes rfaDraw{to{stroke-dashoffset:0}}
@keyframes rfaFadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* paint-sweep hover for all buttons in the widget */
.rfa-chat__btn{border:1px solid #d6c7aa;border-radius:22px;padding:9px 15px;font:600 12.5px "Sora",sans-serif;color:#151515;cursor:pointer}
.rfa-chat__btn,.rfa-chat__chip,.rfa-chat__btn--red,.rfa-chat__chip.is-primary{background-color:#fff;background-image:linear-gradient(90deg,#b90808 0 50%,#fff 50% 100%);background-size:205% 100%;background-position:100% 0;background-repeat:no-repeat;
  transition:background-position .45s var(--ease),color .3s ease,border-color .3s ease,transform .25s ease}
.rfa-chat__btn:hover,.rfa-chat__chip:hover{background-position:0 0;color:#fff;border-color:#b90808;transform:translateY(-1px)}
.rfa-chat__btn--red,.rfa-chat__chip.is-primary{background-color:#b90808;background-image:linear-gradient(90deg,#6e0404 0 50%,#b90808 50% 100%);color:#fff;border-color:#b90808}
.rfa-chat__btn--red:hover,.rfa-chat__chip.is-primary:hover{color:#fff;border-color:#6e0404}

/* ---- panel: revealed by a sweeping brush ---- */
.rfa-chat__panel{left:22px;bottom:22px;border:0;border-radius:20px;
  box-shadow:0 0 0 1px #e3cf9f,0 0 0 5px #fffaf0,0 0 0 6px #d4b26a,0 36px 90px rgba(40,22,4,.35);animation:none}
.rfa-chat__panel.is-revealing{animation:rfaPanelPaint .85s var(--ease) both}
.rfa-chat.is-restored .rfa-chat__panel{animation:none}
@keyframes rfaPanelPaint{0%{clip-path:inset(0 100% 0 0 round 20px)}100%{clip-path:inset(-10px -10px -10px -10px round 20px)}}
.rfa-chat__defs{position:absolute;width:0;height:0;overflow:hidden}
.rfa-chat__sweep{position:absolute;top:-8%;bottom:-8%;left:0;width:90px;z-index:20;pointer-events:none;opacity:0;transform:translateX(-60px)}
.rfa-chat__panel.is-revealing .rfa-chat__sweep{animation:rfaSweep .85s var(--ease) both}
.rfa-chat__sweep-trail{position:absolute;top:0;bottom:0;left:0;width:60px;
  background:linear-gradient(90deg,rgba(185,8,8,0),rgba(185,8,8,.55) 70%,rgba(230,40,40,.85));filter:blur(2px);
  -webkit-mask:repeating-linear-gradient(0deg,#000 0 7px,rgba(0,0,0,.55) 7px 9px,#000 9px 14px,rgba(0,0,0,.3) 14px 16px);
          mask:repeating-linear-gradient(0deg,#000 0 7px,rgba(0,0,0,.55) 7px 9px,#000 9px 14px,rgba(0,0,0,.3) 14px 16px)}
.rfa-brush--sweep{position:absolute;right:4px;top:36%;width:34px;height:120px;transform:rotate(18deg);transform-origin:50% 100%}
@keyframes rfaSweep{0%{opacity:1;transform:translateX(-90px)}85%{opacity:1}100%{opacity:0;transform:translateX(calc(min(390px,100vw - 44px) - 90px))}}
@media(max-width:640px){@keyframes rfaSweep{0%{opacity:1;transform:translateX(-90px)}85%{opacity:1}100%{opacity:0;transform:translateX(calc(100vw - 90px))}}}

.rfa-chat__head{position:relative;display:flex;align-items:center;gap:12px;padding:14px 12px 14px 14px;color:#fff;overflow:hidden;
  background:radial-gradient(120% 140% at 0% 0%,#3a2a1d 0%,#1a1410 55%,#120e0b 100%)}
.rfa-chat__head::before{content:"";position:absolute;inset:0;opacity:.18;pointer-events:none;
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 1px,transparent 1px 4px)}
.rfa-chat__head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#8a5d15,#f6db92,#c8922c,#f3d27f,#8a5d15)}
.rfa-chat__avatar{position:relative;flex:none;width:44px;height:44px;border-radius:50%;padding:3px;background:conic-gradient(from 20deg,#f6db92,#b8862b,#fbeab8,#9a6b1c,#f6db92)}
.rfa-chat__avatar img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
.rfa-chat__title{position:relative;flex:1;min-width:0;padding:2px 0}
.rfa-chat__headstroke{position:absolute;left:-10px;top:-1px;width:196px;height:32px;opacity:.95;z-index:0;clip-path:inset(0 100% 0 0)}
.rfa-chat__panel.is-revealing .rfa-chat__headstroke{animation:rfaPaintIn .7s var(--ease) .55s forwards}
.rfa-chat.is-restored .rfa-chat__headstroke,.rfa-chat__panel:not(.is-revealing) .rfa-chat__headstroke{clip-path:none}
.rfa-chat__title strong{position:relative;z-index:1;display:block;font:500 17px/1.25 "Playfair Display",Georgia,serif;letter-spacing:.01em}
.rfa-chat__title span{position:relative;z-index:1;display:block;font-size:11.5px;color:#e6d4ae;margin-top:5px}
.rfa-chat__icon{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;border:1px solid rgba(246,219,146,.35);background:transparent;color:#fff;font-size:18px;line-height:1;cursor:pointer;transition:background .25s,transform .3s}
.rfa-chat__icon:hover{background:rgba(246,219,146,.15);transform:rotate(-12deg)}

/* canvas-paper conversation */
.rfa-chat__log{background:radial-gradient(130% 70% at 50% 0%,#fffdf7,#f5ead3),#f5ead3}
.rfa-chat__log::before{content:"";position:sticky;top:0;display:block;height:0;box-shadow:0 0 18px 10px rgba(255,250,238,.9)}
.rfa-chat__msg--bot{position:relative;border:1px solid #eadcbd;box-shadow:0 1px 0 #fff inset,0 4px 12px rgba(90,60,10,.06)}
.rfa-chat__msg--bot::before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;border-radius:2px;background:linear-gradient(#f6db92,#c8922c)}
.rfa-chat__msg--user{background:linear-gradient(135deg,#d11a1f,#a1070b);box-shadow:0 6px 14px rgba(140,8,8,.22)}
.rfa-chat__msg{animation:none}
.rfa-chat__msg.is-new{animation:rfaMsgPaint .55s var(--ease) both}
.rfa-chat__msg--user.is-new{animation-name:rfaMsgPaintR}
@keyframes rfaMsgPaint{0%{clip-path:inset(0 100% 0 0 round 14px);transform:translateY(6px)}100%{clip-path:inset(-4px -4px -4px -4px round 14px);transform:none}}
@keyframes rfaMsgPaintR{0%{clip-path:inset(0 0 0 100% round 14px);transform:translateY(6px)}100%{clip-path:inset(-4px -4px -4px -4px round 14px);transform:none}}
.rfa-chat__card-img{overflow:hidden}
.rfa-chat__card-img img{transition:transform .6s var(--ease)}
.rfa-chat__card:hover .rfa-chat__card-img img{transform:scale(1.06)}

/* "painting a reply…" */
.rfa-chat__typing{display:flex;align-items:center;gap:10px;padding:10px 14px}
.rfa-chat__typing em{font:italic 400 13px "Playfair Display",Georgia,serif;color:#8a7760}
.rfa-chat__dabs{display:flex;gap:5px}
.rfa-chat__dabs i{width:10px;height:10px;border-radius:50% 45% 55% 40%;background:#b90808;transform:scale(0);animation:rfaDab 1.2s var(--ease) infinite}
.rfa-chat__dabs i:nth-child(2){background:#d4a543;animation-delay:.16s}
.rfa-chat__dabs i:nth-child(3){background:#2b221a;animation-delay:.32s}
@keyframes rfaDab{0%{transform:scale(0) rotate(0)}35%{transform:scale(1.15,.9) rotate(20deg)}60%,80%{transform:scale(1) rotate(10deg)}100%{transform:scale(0) rotate(40deg)}}

.rfa-chat__form button{transition:background .25s,transform .35s var(--ease)}
.rfa-chat__form button:hover{transform:rotate(-18deg) scale(1.06)}

/* v48 — picture picker: framed artwork tiles, selection tray, zoom view */
.rfa-chat__msg:has(.rfa-chat__works){max-width:100%;width:100%}
.rfa-chat__works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.rfa-chat__work{position:relative;margin:0;display:flex;flex-direction:column;background:#fffdf8;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s;animation:rfaTileIn .5s cubic-bezier(.2,.8,.2,1) both}
.rfa-chat__work:nth-child(2){animation-delay:.06s}.rfa-chat__work:nth-child(3){animation-delay:.12s}.rfa-chat__work:nth-child(4){animation-delay:.18s}
.rfa-chat__work:nth-child(5){animation-delay:.24s}.rfa-chat__work:nth-child(6){animation-delay:.3s}
@keyframes rfaTileIn{from{opacity:0;transform:translateY(10px) scale(.97);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
.rfa-chat__work:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(90,60,10,.18)}
.rfa-chat__work.is-picked{border-color:var(--red);box-shadow:0 0 0 2px var(--red),0 10px 22px rgba(185,8,8,.18)}
.rfa-chat__work-img{position:relative;display:block;padding:6px;border:0;cursor:zoom-in;background:linear-gradient(135deg,#f6db92,#c8922c 50%,#f3d27f);overflow:hidden}
.rfa-chat__work-img img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#fff;box-shadow:inset 0 0 0 3px #fff;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.rfa-chat__work:hover .rfa-chat__work-img img{transform:scale(1.07)}
.rfa-chat__tick{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;
  font-size:14px;font-weight:700;box-shadow:0 3px 8px rgba(0,0,0,.3);transform:scale(0) rotate(-40deg);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.rfa-chat__work.is-picked .rfa-chat__tick{transform:scale(1) rotate(0)}
.rfa-chat__work figcaption{padding:7px 9px 4px;flex:1}
.rfa-chat__work figcaption b{display:block;font-size:12.5px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rfa-chat__work figcaption small{display:block;font-size:10.5px;color:#7a6d5c;margin-top:2px;line-height:1.35}
.rfa-chat__pick{margin:4px 8px 9px;border:1px solid var(--red);border-radius:18px;padding:6px 8px;font:600 11.5px "Sora",sans-serif;cursor:pointer;color:var(--red);
  background-color:#fff;background-image:linear-gradient(90deg,var(--red) 0 50%,#fff 50% 100%);background-size:205% 100%;background-position:100% 0;background-repeat:no-repeat;
  transition:background-position .45s cubic-bezier(.2,.8,.2,1),color .3s}
.rfa-chat__pick:hover,.rfa-chat__pick[aria-pressed="true"]{background-position:0 0;color:#fff}
.rfa-chat__tray{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#151515;color:#f3e3bd;font-size:12px;animation:rfaChatIn .3s ease both}
.rfa-chat__tray [data-tray-text]{flex:1;font-weight:600;letter-spacing:.2px}
.rfa-chat__tray-pics{display:flex}
.rfa-chat__tray-pics img{width:28px;height:28px;object-fit:cover;border:2px solid #d9c089;border-radius:4px;margin-left:-8px;background:#fff}
.rfa-chat__tray-pics img:first-child{margin-left:0}
.rfa-chat__tray-btn{border:1px solid #6b5a3a;background:transparent;color:#f3e3bd;border-radius:16px;padding:5px 11px;font:600 11.5px "Sora",sans-serif;cursor:pointer}
.rfa-chat__tray-btn.is-red{background:var(--red);border-color:var(--red);color:#fff}
.rfa-chat__tray-btn:hover{filter:brightness(1.15)}
.rfa-chat__zoom{position:absolute;inset:0;z-index:5;background:rgba(21,16,10,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 20px 20px;gap:14px}
.rfa-chat__zoom.is-in{animation:rfaChatIn .3s ease both}
.rfa-chat__zoom-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;border:1px solid #6b5a3a;background:transparent;color:#fff;font-size:22px;cursor:pointer}
.rfa-chat__zoom-frame{padding:10px;background:linear-gradient(135deg,#f6db92,#c8922c 50%,#f3d27f);box-shadow:0 20px 50px rgba(0,0,0,.55);max-height:58%;display:flex}
.rfa-chat__zoom-frame img{display:block;max-width:100%;max-height:100%;object-fit:contain;background:#fff;border:4px solid #fff}
.rfa-chat__zoom-info{text-align:center;color:#f3e3bd;max-width:100%}
.rfa-chat__zoom-info b{display:block;font:500 19px "Playfair Display",Georgia,serif;color:#fff}
.rfa-chat__zoom-info em{display:block;font:italic 13px Georgia,serif;color:#e0a4a4;margin:2px 0 6px}
.rfa-chat__zoom-info small{display:block;font-size:11.5px;color:#bfb29a;line-height:1.5}
.rfa-chat__zoom-act{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}
.rfa-chat__zoom-act .rfa-chat__btn{text-decoration:none}

body.drawer-open .rfa-chat__launcher,body.drawer-open .rfa-chat__teaser{display:none}
@media(max-width:640px){
  .rfa-chat__launcher{left:6px;bottom:4px;transform:scale(.8)}
  .rfa-chat__teaser{left:14px;bottom:124px}
  .rfa-chat__panel{left:0;right:0;bottom:0;width:100%;height:100dvh;max-height:none;border-radius:0;box-shadow:none}
  body:has(.rfa-chat.is-open){overflow:hidden}
}
@media(max-width:360px){.rfa-chat__launcher{transform:scale(.7)}}
@media(prefers-reduced-motion:reduce){
  .rfa-chat *,.rfa-chat *::before,.rfa-chat *::after{animation:none!important;transition:none!important}
  .rfa-chat__canvas,.rfa-chat__headstroke{clip-path:none!important}
  .rfa-chat__label,.rfa-chat__teaser p,.rfa-chat__teaser-actions{opacity:1!important;transform:none!important}
  .rfa-chat__brushwrap{opacity:1!important}
  .rfa-chat__teaser-title path{stroke-dashoffset:0!important}
  .rfa-chat__sweep{display:none}
}

/* v48 — very narrow phones (fold, 280–340 px) and phones in landscape */
@media(max-width:340px){
  .rfa-chat__title span{display:none}
  .rfa-chat__title strong{font-size:17px}
  .rfa-chat__works{gap:7px}
  .rfa-chat__work figcaption small{display:none}
}
@media(max-height:520px) and (orientation:landscape){
  .rfa-chat__panel{top:8px;bottom:8px;height:auto;width:min(560px,calc(100vw - 24px));left:12px}
  .rfa-chat__head{padding-top:6px;padding-bottom:6px}
  .rfa-chat__title span,.rfa-chat__foot{display:none}
  .rfa-chat__chips{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-height:none;padding:6px 10px}
  .rfa-chat__chip{flex:none}
  .rfa-chat__works{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rfa-chat__zoom{flex-direction:row;padding:44px 16px 12px}
  .rfa-chat__zoom-frame{max-height:100%;max-width:55%}
}

/* v49: "Ask the Gallery Assistant" in the artwork preview */
.artwork-preview-ask{width:100%;min-height:46px;margin-top:10px;font:normal 500 14px/22px "Roboto",sans-serif;cursor:pointer}

/* ===== v53.2: phones — the Assistant opens as a bottom sheet over a dimmed page (not full screen) ===== */
@media(max-width:640px){
  .rfa-chat.is-open::before{content:"";position:fixed;inset:0;z-index:119;background:rgba(24,12,6,.46);
    -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:rfaDim .3s ease both}
  @keyframes rfaDim{from{opacity:0}to{opacity:1}}
  .rfa-chat__panel{left:0;right:0;bottom:0;top:auto;width:100%;height:min(84dvh,700px);max-height:calc(100dvh - 56px);
    border-radius:22px 22px 0 0;border:0;border-top:1px solid rgba(212,175,55,.55);
    box-shadow:0 -18px 50px rgba(30,12,4,.35);animation:rfaSheetIn .38s cubic-bezier(.2,.85,.25,1) both;touch-action:pan-y}
  @keyframes rfaSheetIn{from{transform:translateY(100%)}to{transform:none}}
  .rfa-chat__panel.is-dragging{animation:none;transition:none}
  .rfa-chat__panel.is-settling{transition:transform .25s ease}
  /* grab handle */
  .rfa-chat__head:before{content:"";position:absolute;left:50%;top:7px;width:42px;height:4px;margin-left:-21px;border-radius:4px;background:rgba(246,219,146,.55);z-index:3}
  .rfa-chat__head{padding:20px 12px 12px 14px;gap:10px;touch-action:none}
  .rfa-chat__avatar{width:40px;height:40px}
  .rfa-chat__title strong{font-size:17px}
  .rfa-chat__title span{font-size:11.5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rfa-chat__headstroke{width:170px;height:28px;top:-2px}
  .rfa-chat__icon{width:36px;height:36px}
  .rfa-chat__log{padding:14px 12px 8px}
  .rfa-chat__msg{font-size:14px;max-width:90%}
  /* quick options: one swipeable row instead of four stacked rows */
  .rfa-chat__chips{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-height:none;padding:9px 12px 10px;gap:7px;
    scroll-snap-type:x proximity;scroll-padding-inline:12px;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .rfa-chat__chips::-webkit-scrollbar{display:none}
  .rfa-chat__chip{flex:none;scroll-snap-align:start;padding:8px 13px;font-size:12.5px;white-space:nowrap}
  .rfa-chat__form{padding:9px 12px}
  .rfa-chat__form input{font-size:16px;padding:10px 14px}   /* 16px: phones do not zoom into the box */
  .rfa-chat__foot{padding:4px 12px calc(8px + env(safe-area-inset-bottom));font-size:10.5px}
}
@media(max-width:640px) and (max-height:520px){
  .rfa-chat__panel{height:calc(100dvh - 24px);max-height:none}
}
@media(max-height:520px) and (orientation:landscape){
  .rfa-chat.is-open::before{content:"";position:fixed;inset:0;z-index:119;background:rgba(24,12,6,.4);animation:rfaDim .3s ease both}
  @keyframes rfaDim{from{opacity:0}to{opacity:1}}
}
body:has(.rfa-chat.is-open) .floating-whatsapp,body:has(.rfa-chat.is-open) .scroll-top{opacity:0!important;pointer-events:none!important}

/* ===== v53.3: livelier Assistant on phones ===== */
/* options pop in one after another; press feedback */
.rfa-chat__chip{animation:rfaChipPop .38s cubic-bezier(.2,1.3,.4,1) backwards;animation-delay:calc(var(--i,0) * 55ms + 60ms);position:relative;overflow:hidden}
@keyframes rfaChipPop{from{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}
.rfa-chat__chip:active{transform:scale(.95)}
/* artwork / artist cards rise in a cascade */
.rfa-chat__msg.is-new .rfa-chat__card,.rfa-chat__msg.is-new .rfa-chat__work{animation:rfaCardUp .45s cubic-bezier(.2,.8,.2,1) backwards}
.rfa-chat__msg.is-new .rfa-chat__card:nth-child(2),.rfa-chat__msg.is-new .rfa-chat__work:nth-child(2){animation-delay:.08s}
.rfa-chat__msg.is-new .rfa-chat__card:nth-child(3),.rfa-chat__msg.is-new .rfa-chat__work:nth-child(3){animation-delay:.16s}
.rfa-chat__msg.is-new .rfa-chat__card:nth-child(4),.rfa-chat__msg.is-new .rfa-chat__work:nth-child(4){animation-delay:.24s}
.rfa-chat__msg.is-new .rfa-chat__card:nth-child(n+5),.rfa-chat__msg.is-new .rfa-chat__work:nth-child(n+5){animation-delay:.3s}
@keyframes rfaCardUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rfa-chat__card:active,.rfa-chat__work:active{transform:scale(.97)}
/* "online" dot in the header */
.rfa-chat__title span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#3ddc84;vertical-align:1px;box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:rfaOnline 2.2s ease-out infinite}
@keyframes rfaOnline{0%{box-shadow:0 0 0 0 rgba(61,220,132,.55)}70%{box-shadow:0 0 0 7px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
/* avatar's gold ring turns once as the Assistant opens */
.rfa-chat.is-open:not(.is-restored) .rfa-chat__avatar{animation:rfaRing 1s cubic-bezier(.3,.7,.3,1) .15s both}
@keyframes rfaRing{from{transform:rotate(-200deg) scale(.7);opacity:0}to{transform:none;opacity:1}}
/* send button wakes up while you type and flies off when you send */
.rfa-chat.has-text .rfa-chat__form button{animation:rfaReady 1.6s ease-in-out infinite}
@keyframes rfaReady{0%,100%{box-shadow:0 0 0 0 rgba(185,8,8,.35)}50%{box-shadow:0 0 0 6px rgba(185,8,8,0)}}
.rfa-chat__form button.is-sent svg{animation:rfaFly .45s ease both}
@keyframes rfaFly{0%{transform:none}45%{transform:translate(10px,-8px) rotate(-12deg);opacity:0}55%{transform:translate(-10px,8px);opacity:0}100%{transform:none;opacity:1}}
/* your own message lands with a small bounce */
.rfa-chat__msg--user.is-new{animation:rfaMine .32s cubic-bezier(.2,1.4,.4,1) both;transform-origin:100% 100%}
@keyframes rfaMine{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .rfa-chat__chip,.rfa-chat__msg.is-new .rfa-chat__card,.rfa-chat__msg.is-new .rfa-chat__work,.rfa-chat__title span:before,.rfa-chat__avatar,.rfa-chat__form button,.rfa-chat__form button svg,.rfa-chat__msg--user{animation:none!important}
}
