/* Richie Agent — mobile-first luxury concierge override. Loaded after the verified campaign stylesheet. */
.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; }
.richie-agent-fab { display: inline-flex; align-items: center; gap: .58rem; min-height: 52px; padding: .43rem .72rem .43rem .46rem; border: 1px solid rgba(233,202,125,.72); border-radius: 999px; color: #f8f0dd; background: linear-gradient(135deg, rgba(26,24,19,.96), rgba(8,8,8,.98)); box-shadow: 0 16px 44px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.1); }
.richie-agent-fab:hover { transform: translateY(-2px); border-color: #f0d28d; }
.richie-agent-orbit { position: absolute; inset: -3px; border: 1px solid rgba(233,202,125,.32); border-radius: inherit; pointer-events: none; }
.richie-agent-monogram,.richie-agent-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; border: 1px solid rgba(243,215,148,.74); border-radius: 50%; color: #f5d998; background: radial-gradient(circle at 35% 30%, #3a301e, #0c0b0a 68%); font-family: "Cormorant Garamond", serif; font-size: 1.35rem; font-weight: 600; }
.richie-agent-fab-copy { display: grid; gap: .03rem; min-width: 0; text-align: left; }
.richie-agent-fab-copy strong { font-size: .76rem; letter-spacing: .05em; }
.richie-agent-fab-copy small { color: #b9aa8f; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; }
.richie-agent-presence { width: 8px; height: 8px; border-radius: 50%; background: #71d6a0; box-shadow: 0 0 0 3px rgba(113,214,160,.13), 0 0 12px rgba(113,214,160,.7); }
.richie-agent-panel { width: min(420px, calc(100vw - 24px)); max-height: min(690px, calc(100dvh - 92px)); overflow: hidden; border: 1px solid rgba(232,203,132,.5); border-radius: 22px; color: #f4ead8; background: linear-gradient(160deg, rgba(25,23,18,.99), rgba(8,8,8,.99)); box-shadow: 0 30px 90px rgba(0,0,0,.56); }
.richie-agent-header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .9rem 1rem; border-bottom: 1px solid rgba(232,203,132,.22); background: radial-gradient(circle at 10% 0%, rgba(177,128,46,.18), transparent 45%); }
.richie-agent-identity { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.richie-agent-identity strong { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.24rem; letter-spacing: .03em; }
.richie-agent-identity small { display: flex; align-items: center; gap: .35rem; margin-top: .1rem; color: #c2b398; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.richie-agent-identity small i { width: 6px; height: 6px; border-radius: 50%; background: #71d6a0; box-shadow: 0 0 8px #71d6a0; }
.richie-agent-close { display: grid; place-items: center; width: 44px; min-width: 44px; min-height: 44px; border: 0; border-radius: 50%; color: #f5e8ce; background: transparent; font-size: 1.55rem; }
.richie-agent-close:hover { background: rgba(242,219,166,.12); }
.richie-agent-disclosure,.richie-agent-status,.richie-agent-footer { margin: 0; color: #bdb09c; font-size: .72rem; line-height: 1.5; }
.richie-agent-disclosure { padding: .72rem 1rem .4rem; }
.richie-agent-messages { display: grid; gap: .6rem; min-height: 155px; max-height: 282px; padding: .6rem 1rem .7rem; overflow-y: auto; scrollbar-color: #b88d46 transparent; }
.richie-agent-message .msg-bubble { display: grid; gap: .35rem; border-radius: 15px; }
.richie-agent-message.msg-h .msg-bubble { border: 1px solid rgba(235,210,151,.18); background: rgba(255,255,255,.045); }
.richie-agent-message.msg-u .msg-bubble { background: linear-gradient(135deg, #497d66, #315743); }
.richie-agent-speaker { color: #e8cd8a; font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.richie-agent-message.msg-u .richie-agent-speaker { color: #dcf6e7; }
.richie-agent-message p { margin: 0; line-height: 1.48; }
.richie-agent-action { min-height: 44px; display: inline-flex; align-items: center; width: fit-content; margin-top: .15rem; border: 1px solid rgba(238,208,139,.63); border-radius: 999px; padding: .2rem .72rem; color: #f1d48d; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-decoration: none; }
.richie-agent-action:hover { color: #17140e; background: #f1d48d; }
.richie-agent-prompts { display: flex; gap: .42rem; padding: 0 1rem .75rem; overflow-x: auto; scrollbar-width: none; }
.richie-agent-prompts button { min-height: 44px; flex: 0 0 auto; border: 1px solid rgba(232,203,132,.25); border-radius: 999px; padding: .15rem .7rem; color: #e7d9bd; background: rgba(255,255,255,.035); font-size: .7rem; }
.richie-agent-prompts button:hover { border-color: rgba(232,203,132,.7); background: rgba(196,148,65,.12); }
.richie-agent-form { display: grid; grid-template-columns: 40px minmax(0,1fr) 40px auto; align-items: center; gap: .38rem; margin: 0 .85rem .62rem; padding: .38rem; border: 1px solid rgba(233,206,149,.52); border-radius: 16px; background: #f4efe4; }
.richie-agent-form #chat-input { width: 100%; min-width: 0; min-height: 44px; border: 0; color: #191713; background: transparent; font-size: .82rem; outline: 0; }
.richie-agent-form #chat-input::placeholder { color: #756d60; }
.richie-agent-form .chat-icon-btn { display: grid; place-items: center; width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 12px; color: #423417; background: transparent; }
.richie-agent-form .chat-icon-btn:hover,.richie-agent-form .chat-icon-btn.active { color: #11100e; background: #e3c16e; }
.richie-agent-send { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; min-height: 44px; border: 0; border-radius: 12px; padding: 0 .72rem; color: #17140e; background: linear-gradient(135deg, #f2d98f, #c99843); font-size: .71rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.richie-agent-send:hover { filter: brightness(1.08); }
.richie-agent-send.is-busy { opacity: .72; cursor: wait; }
.richie-agent-status { min-height: 1.1rem; padding: 0 .95rem .55rem; }
.richie-agent-footer { padding: .7rem 1rem; border-top: 1px solid rgba(232,203,132,.16); background: rgba(0,0,0,.19); }
.richie-agent-fab:focus-visible,.richie-agent-panel button:focus-visible,.richie-agent-panel a:focus-visible,.richie-agent-panel input:focus-visible { outline: 3px solid #f2d98f; outline-offset: 3px; }
@media (max-width: 640px) { .richie-agent-fab { min-height: 52px; padding-right: .58rem; } .richie-agent-fab-copy { display: none; } .richie-agent-panel { right: 10px !important; bottom: 84px; left: 10px !important; width: calc(100vw - 20px) !important; max-height: min(640px, calc(100dvh - 104px)); border-radius: 20px; transform: none !important; } .richie-agent-messages { max-height: 236px; } .richie-agent-form { grid-template-columns: 44px minmax(0,1fr) 44px 64px; margin-inline: .65rem; } .richie-agent-send { padding-inline: .38rem; font-size: .66rem; } }
@media (prefers-reduced-motion: reduce) { .richie-agent-fab,.richie-agent-fab:hover { transform: none; transition: none; } }
