/* Concierge Patrimonial — Conversas (cotidiano com a Concierge)
 * Chat com auto-play + auto-scroll interno + loop infinito.
 * Carregado APENAS em /index.html. Classes prefixadas .cv-* pra evitar conflito.
 */

:root{
  --cv-marrom-md:#1a1108;
  --cv-marrom-dp:#100a05;
  --cv-ease-out:cubic-bezier(0.16,1,0.3,1);
}

/* Full-width pra cobrir laterais do body marfim. Filhos limitam max-width pra 920px centralizado. */
.cv-section{position:relative;z-index:1;padding:120px 24px 140px;background:var(--marrom-dk)}
.cv-section::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 320'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.35' numOctaves='3' seed='14' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.808  0 0 0 0 0.616  0 0 0 0 0.384  0 0 0 0.32 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:320px 320px;mix-blend-mode:overlay;opacity:.18;pointer-events:none}
.cv-section>*{position:relative;z-index:1;max-width:920px;margin-left:auto;margin-right:auto}

/* HEADER */
.cv-head{text-align:center;margin-bottom:72px}
.cv-tag{display:inline-flex;align-items:center;gap:14px;font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--dourado);margin-bottom:24px}
.cv-tag::before,.cv-tag::after{content:'';display:inline-block;width:36px;height:1px;background:var(--dourado);opacity:.5}
.cv-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.6vw,72px);line-height:1.05;color:var(--marfim);letter-spacing:-.02em;margin:0;max-width:880px;margin-left:auto;margin-right:auto}
.cv-head h2 em{font-style:italic;color:var(--dourado)}

/* JANELA fixa com fade nos extremos */
.cv-window{position:relative;height:560px;overflow:hidden;border:1px solid rgba(206,157,98,.22);background:rgba(16,10,5,.45);margin-top:32px}
.cv-window::before,.cv-window::after{content:'';position:absolute;left:0;right:0;height:60px;pointer-events:none;z-index:5}
.cv-window::before{top:0;background:linear-gradient(180deg,rgba(34,23,16,1),transparent)}
.cv-window::after{bottom:0;background:linear-gradient(0deg,rgba(34,23,16,1),transparent)}
.cv-chat{position:relative;display:flex;flex-direction:column;gap:22px;padding:40px 36px;overflow-y:auto;height:100%;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}
.cv-chat::-webkit-scrollbar{display:none}

/* BOLHAS — começam display:none, JS monta uma por vez */
.cv-msg{display:none;position:relative;max-width:78%;padding:18px 22px 22px;font-family:var(--serif);font-size:16px;line-height:1.5;opacity:0;transform:translateY(12px);transition:opacity .55s var(--cv-ease-out),transform .55s var(--cv-ease-out);border-radius:14px}
.cv-msg.is-mounted{display:block}
.cv-msg.is-visible{opacity:1;transform:translateY(0)}

/* Cliente — esquerda, escuro */
.cv-msg--client{align-self:flex-start;background:rgba(22,18,14,.55);border:1px solid rgba(206,157,98,.18);color:var(--marfim);border-bottom-left-radius:4px}

/* Concierge — direita, dourada */
.cv-msg--concierge{align-self:flex-end;background:var(--dourado-lt);color:var(--marrom-dk);border-bottom-right-radius:4px}

/* Timestamp */
.cv-time{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;margin-top:6px;opacity:.5}
.cv-msg--client .cv-time{color:rgba(232,230,223,.55)}
.cv-msg--concierge .cv-time{color:rgba(54,40,22,.55)}

@media(max-width:640px){
  .cv-section{padding:80px 16px 100px}
  .cv-head h2{font-size:clamp(32px,8vw,46px)}
  .cv-window{height:480px}
  .cv-chat{padding:32px 20px}
  .cv-msg{max-width:90%;font-size:15px}
}

@media(prefers-reduced-motion:reduce){
  .cv-msg.is-mounted{opacity:1;transform:none;transition:none}
}
