/*
 * Enza AI Chatbot — frontend styles
 * Extracted from the Enzo Montana theme source (enzo-with-instagram.html).
 * Scoped under .enza-chat-section so the plugin stays polite on third-party themes.
 */

:root {
  --enza-bg:   #080808;
  --enza-bg2:  #0D0D0D;
  --enza-bg3:  #141414;
  --enza-ink:  #FFFFFF;
  --enza-ink-soft: rgba(255,255,255,.55);
  --enza-ink-dim:  rgba(255,255,255,.28);
  --enza-rule:      rgba(255,255,255,.08);
  --enza-rule-soft: rgba(255,255,255,.04);
  --enza-glass:        rgba(255,255,255,.04);
  --enza-glass-border: rgba(255,255,255,.08);
  --enza-ai-grad: conic-gradient(from 220deg at 50% 50%, #ffffff 0deg, #D6A989 120deg, #ffffff 240deg, #D6A989 360deg);
  --enza-ai-grad-linear: linear-gradient(135deg, #ffffff 0%, #f4e0cf 35%, #D6A989 65%, #ffffff 100%);
}

@keyframes enza-rotate     { to { transform: rotate(360deg); } }
@keyframes enza-pulse      { 50% { transform: scale(1.3); opacity: .7; } }
@keyframes enza-orbSpin    { to { transform: rotate(360deg); } }
@keyframes enza-breath     { 50% { transform: scale(1.05); } }
@keyframes enza-speakPulse { 50% { transform: scale(1.09); } }
@keyframes enza-bubbleIn   { to { opacity:1; transform:none; } }
@keyframes enza-dot        { 0%,60%,100%{opacity:.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);} }
@keyframes enza-typeBlink  { 50%{opacity:0;} }
@keyframes enza-ringPulse  { 0%{transform:scale(.95);opacity:1;}100%{transform:scale(1.22);opacity:0;} }
@keyframes enza-bgFloat    { to { transform: translate(-14px,-10px) scale(1.04); } }
@keyframes enza-auroraSpin { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes enza-meshDrift1 { 0%,100% { transform: translate(0,0) scale(1); } 33% { transform: translate(8vw,4vw) scale(1.1); } 66% { transform: translate(4vw,-6vw) scale(.95); } }
@keyframes enza-meshDrift2 { 0%,100% { transform: translate(0,0) scale(1); } 33% { transform: translate(-6vw,5vw) scale(1.08); } 66% { transform: translate(-10vw,-4vw) scale(.92); } }
@keyframes enza-meshDrift3 { 0%,100% { transform: translate(0,0) scale(1); } 33% { transform: translate(5vw,-5vw) scale(1.12); } 66% { transform: translate(-4vw,-8vw) scale(.96); } }

/* ============================================================ */
/* CHAT SECTION                                                 */
/* ============================================================ */
.enza-chat-section {
  padding: 60px 24px 140px;
  background: var(--enza-bg);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  color: var(--enza-ink);
  font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}
.enza-chat-section *, .enza-chat-section *::before, .enza-chat-section *::after {
  box-sizing: border-box;
}
.enza-chat-section .chat-glow {
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 900px 600px at 50% 0%, rgba(236,72,153,.18) 0%, transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 100%, rgba(152,150,240,.12) 0%, transparent 60%),
    radial-gradient(ellipse 700px 500px at 0% 100%, rgba(254,45,45,.08) 0%, transparent 60%);
}
.enza-chat-section .chat-aurora {
  position:absolute; top:50%; left:50%;
  width:140vmax; height:140vmax;
  transform:translate(-50%,-50%);
  pointer-events:none; z-index:0;
  background: conic-gradient(from 0deg at 50% 50%,
    rgba(236,72,153,0) 0deg,
    rgba(236,72,153,.32) 60deg,
    rgba(255,206,236,.22) 140deg,
    rgba(236,72,153,0) 200deg,
    rgba(152,150,240,.26) 280deg,
    rgba(236,72,153,0) 360deg);
  filter: blur(90px);
  opacity:.6;
  animation: enza-auroraSpin 60s linear infinite;
}
.enza-chat-section .chat-mesh { position:absolute; inset:-10%; pointer-events:none; z-index:0; filter: blur(80px); }
.enza-chat-section .chat-mesh span { position:absolute; display:block; border-radius:50%; will-change: transform; mix-blend-mode: screen; }
.enza-chat-section .chat-mesh .m1 {
  width:54vw; height:54vw; max-width:780px; max-height:780px;
  top:-18%; left:-12%;
  background: radial-gradient(circle at 40% 40%, rgba(236,72,153,.55), rgba(236,72,153,0) 65%);
  animation: enza-meshDrift1 28s ease-in-out infinite;
}
.enza-chat-section .chat-mesh .m2 {
  width:46vw; height:46vw; max-width:680px; max-height:680px;
  top:10%; right:-14%;
  background: radial-gradient(circle at 50% 50%, rgba(152,150,240,.50), rgba(152,150,240,0) 65%);
  animation: enza-meshDrift2 34s ease-in-out infinite;
}
.enza-chat-section .chat-mesh .m3 {
  width:44vw; height:44vw; max-width:640px; max-height:640px;
  bottom:-16%; left:20%;
  background: radial-gradient(circle at 50% 50%, rgba(255,206,236,.45), rgba(255,206,236,0) 65%);
  animation: enza-meshDrift3 40s ease-in-out infinite;
}
.enza-chat-section .chat-mesh .m4 {
  width:38vw; height:38vw; max-width:540px; max-height:540px;
  top:48%; right:22%;
  background: radial-gradient(circle at 50% 50%, rgba(254,45,45,.28), rgba(254,45,45,0) 65%);
  animation: enza-meshDrift2 46s ease-in-out infinite reverse;
}
.enza-chat-section .chat-grid {
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 20%, transparent 80%);
          mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000 20%, transparent 80%);
}
.enza-chat-section .chat-noise {
  position:absolute; inset:0; pointer-events:none; z-index:0;
  opacity:.06; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.enza-chat-section .chat-wrap { max-width:740px; margin:0 auto; position:relative; z-index:1; }

.enza-chat-section .chat-header { text-align:center; margin-bottom:48px; }
.enza-chat-section .chat-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 14px; border-radius:999px;
  background: var(--enza-glass); border:1px solid var(--enza-glass-border);
  font-size:11px; font-weight:500; color: var(--enza-ink-soft);
  letter-spacing:.08em; text-transform:uppercase;
  margin-bottom:22px;
}
.enza-chat-section .chat-eyebrow .e-orb {
  width:16px; height:16px; border-radius:50%;
  background: conic-gradient(from 220deg at 50% 50%, #ffffff 0deg, #D6A989 120deg, #ffffff 240deg, #D6A989 360deg);
  animation: enza-rotate 10s linear infinite;
}
.enza-chat-section .chat-header h2 {
  font-size: clamp(42px,7vw,76px);
  font-weight:700; line-height:.94; letter-spacing:-.045em;
  color:#fff; margin:0 0 16px;
}
.enza-chat-section .chat-header h2 em {
  font-weight:300; font-style:italic;
  background: var(--enza-ai-grad-linear);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.enza-chat-section .chat-header p {
  font-size:17px; color: rgba(255,255,255,.38);
  max-width:440px; margin:0 auto; line-height:1.5;
}

.enza-chat-section .chat-surface {
  position: relative;
  background: linear-gradient(155deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.03) 60%, rgba(255,255,255,.06) 100%);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  padding: 20px 20px 16px;
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  box-shadow:
    0 30px 80px -20px rgba(0,0,0,.55),
    0 2px 0 0 rgba(255,255,255,.06) inset,
    0 -1px 0 0 rgba(255,255,255,.03) inset;
}
.enza-chat-section .chat-surface::before {
  content:''; position:absolute; inset:0;
  border-radius:inherit; pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0) 38%);
  mix-blend-mode: overlay;
}
.enza-chat-section .chat-surface::after {
  content:''; position:absolute; inset:0;
  border-radius:inherit; pointer-events:none;
  padding:1px;
  background: linear-gradient(140deg, rgba(255,255,255,.25), rgba(255,255,255,0) 40%, rgba(255,255,255,.08) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
.enza-chat-section .chat-top {
  display:flex; align-items:center; gap:12px;
  padding:4px 6px 16px;
  border-bottom:1px solid var(--enza-rule);
  margin-bottom:16px;
}
.enza-chat-section .orb-lg {
  width:36px; height:36px; border-radius:50%;
  background: conic-gradient(from 220deg at 50% 50%, #ffffff 0deg, #D6A989 120deg, #ffffff 240deg, #D6A989 360deg);
  box-shadow: 0 0 0 2px var(--enza-bg3), 0 0 0 3px var(--enza-rule), 0 8px 24px -8px rgba(214,169,137,.5);
  animation: enza-rotate 14s linear infinite;
  position:relative; flex-shrink:0;
}
.enza-chat-section .orb-lg::after {
  content:''; position:absolute; inset:4px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.5), transparent 50%);
}
.enza-chat-section .chat-top .who { flex:1; }
.enza-chat-section .chat-top .name { font-size:14px; font-weight:600; letter-spacing:-.01em; color:#fff; }
.enza-chat-section .chat-top .status { font-size:12px; color: var(--enza-ink-dim); display:flex; align-items:center; gap:5px; }
.enza-chat-section .chat-top .status::before { content:''; width:6px; height:6px; border-radius:50%; background:#30D158; }
.enza-chat-section .chat-top .mode-chip {
  font-size:11px; font-weight:500; color: var(--enza-ink-dim);
  padding:4px 10px; border-radius:999px;
  background: var(--enza-glass); border:1px solid var(--enza-rule);
}

.enza-chat-section .stack {
  display:flex; flex-direction:column; gap:10px;
  height: clamp(360px, 55vh, 520px);
  overflow-y:auto;
  padding:4px 2px 8px; scroll-behavior:smooth;
}
.enza-chat-section .stack::-webkit-scrollbar { width:4px; }
.enza-chat-section .stack::-webkit-scrollbar-thumb { background: var(--enza-rule); border-radius:2px; }

.enza-chat-section .msg {
  max-width:86%; padding:12px 16px; border-radius:20px;
  font-size:15px; line-height:1.45; letter-spacing:-.005em;
  opacity:0; transform:translateY(8px);
  animation: enza-bubbleIn .45s cubic-bezier(.2,.7,.2,1) forwards;
}
.enza-chat-section .msg.ai {
  align-self:flex-start;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.88);
  border-bottom-left-radius:6px;
}
.enza-chat-section .msg.user {
  align-self:flex-end;
  background:#fff; color:#000;
  border-bottom-right-radius:6px;
}

.enza-chat-section .typing {
  align-self:flex-start;
  background: rgba(255,255,255,.07);
  padding:14px 18px; border-radius:20px; border-bottom-left-radius:6px;
  display:inline-flex; gap:4px; align-items:center;
  opacity:0; animation: enza-bubbleIn .3s ease forwards;
}
.enza-chat-section .typing span {
  width:7px; height:7px; border-radius:50%;
  background: rgba(255,255,255,.35);
  animation: enza-dot 1.3s ease-in-out infinite;
}
.enza-chat-section .typing span:nth-child(2) { animation-delay:.18s; }
.enza-chat-section .typing span:nth-child(3) { animation-delay:.36s; }

.enza-chat-section .type-cursor {
  display:inline-block; width:2px; height:14px;
  background: rgba(255,255,255,.65);
  vertical-align:-2px; margin-left:2px;
  animation: enza-typeBlink 1.05s steps(1) infinite;
}

.enza-chat-section .options {
  display:flex; flex-direction:column; gap:6px; margin-top:4px;
  align-self:flex-start; max-width:100%;
  opacity:0; animation: enza-bubbleIn .4s ease forwards;
}
.enza-chat-section .opt {
  display:flex; align-items:center; gap:12px; justify-content:space-between;
  padding:12px 16px; border-radius:16px;
  background: var(--enza-bg); border:1px solid var(--enza-rule);
  cursor:pointer; text-align:left;
  font-size:14px; font-weight:500; color: rgba(255,255,255,.8);
  transition: all .2s cubic-bezier(.2,.7,.2,1);
}
.enza-chat-section .opt:hover { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.04); transform:translateY(-1px); }
.enza-chat-section .opt .label { flex:1; }
.enza-chat-section .opt .label b { font-weight:600; display:block; color:#fff; }
.enza-chat-section .opt .label small { color: rgba(255,255,255,.3); font-size:12px; font-weight:400; display:block; margin-top:1px; }
.enza-chat-section .opt .go { font-size:16px; opacity:.25; transition:all .2s; }
.enza-chat-section .opt:hover .go { opacity:.7; transform:translateX(2px); }

.enza-chat-section .final { display:flex; flex-direction:column; gap:8px; margin-top:6px; opacity:0; animation: enza-bubbleIn .4s ease forwards; }
.enza-chat-section .final .row { display:flex; gap:8px; flex-wrap:wrap; }
.enza-chat-section .btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:999px;
  font-size:14px; font-weight:500; letter-spacing:-.005em;
  border:1px solid transparent; cursor:pointer; text-decoration:none;
  transition: all .22s cubic-bezier(.2,.7,.2,1);
}
.enza-chat-section .btn.dark  { background:#fff; color:#000; flex:1; min-width:0; }
.enza-chat-section .btn.dark:hover  { background: rgba(255,255,255,.9); transform:scale(1.02); }
.enza-chat-section .btn.light { background:transparent; color: rgba(255,255,255,.6); border-color: var(--enza-rule); flex:1; min-width:0; }
.enza-chat-section .btn.light:hover { border-color: rgba(255,255,255,.28); color:#fff; }

.enza-chat-section .control-bar {
  margin-top:16px; padding-top:16px;
  border-top:1px solid var(--enza-rule);
  display:flex; align-items:center; gap:10px;
}
.enza-chat-section .talk-btn {
  flex:1;
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 18px 12px 14px; border-radius:999px;
  background:#fff; color:#000; border:none;
  font-size:14px; font-weight:600; letter-spacing:-.01em;
  cursor: pointer;
  transition: all .25s cubic-bezier(.2,.7,.2,1);
}
.enza-chat-section .talk-btn:hover { background: rgba(255,255,255,.9); transform:scale(1.01); }
.enza-chat-section .talk-btn .mic-orb {
  width:22px; height:22px; border-radius:50%;
  background: var(--enza-ai-grad);
  animation: enza-rotate 10s linear infinite;
}
.enza-chat-section .reset-mini {
  background:none; border:none; cursor:pointer;
  color: var(--enza-ink-dim); font-size:12px; padding:8px 12px; border-radius:999px;
  transition:all .2s;
}
.enza-chat-section .reset-mini:hover { color: rgba(255,255,255,.5); background: var(--enza-glass); }

/* ============================================================ */
/* VOICE OVERLAY                                                */
/* ============================================================ */
.voice-overlay {
  position:fixed; inset:0; z-index:9999;
  background: radial-gradient(120% 80% at 50% 40%, #0F0F12 0%, #09090C 60%, #06060A 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:space-between;
  padding: max(48px, env(safe-area-inset-top)) 24px max(40px, env(safe-area-inset-bottom));
  opacity:0; pointer-events:none;
  transform:scale(1.02);
  transition: opacity .45s cubic-bezier(.2,.7,.2,1), transform .45s cubic-bezier(.2,.7,.2,1);
  color:#fff;
  font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}
.voice-overlay::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(600px 400px at 20% 20%, rgba(168,197,255,.07), transparent 60%),
    radial-gradient(500px 400px at 80% 30%, rgba(213,180,255,.06), transparent 60%),
    radial-gradient(600px 500px at 50% 100%, rgba(180,240,232,.05), transparent 60%);
  animation: enza-bgFloat 18s ease-in-out infinite alternate;
}
.voice-overlay.open { opacity:1; pointer-events:auto; transform:scale(1); }
.voice-overlay .voice-head {
  position:relative; z-index:2;
  display:flex; justify-content:space-between; align-items:center;
  width:100%; max-width:720px;
}
.voice-overlay .voice-head .vtitle {
  font-size:13px; font-weight:500; color: var(--enza-ink-dim); letter-spacing:-.005em;
  display:flex; align-items:center; gap:8px;
}
.voice-overlay .voice-head .vtitle .d {
  width:6px; height:6px; border-radius:50%; background:#30D158;
  box-shadow:0 0 0 3px rgba(48,209,88,.15);
  animation: enza-pulse 2.4s ease-in-out infinite;
}
.voice-overlay .close-v {
  width:40px; height:40px; border-radius:50%;
  background: var(--enza-glass); border:1px solid var(--enza-rule);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .2s;
}
.voice-overlay .close-v:hover { background: rgba(255,255,255,.08); }
.voice-overlay .close-v svg { width:16px; height:16px; stroke: rgba(255,255,255,.6); stroke-width:1.8; fill:none; stroke-linecap:round; }

.voice-overlay .voice-stage {
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:40px; position:relative; z-index:2; width:100%;
}
.voice-overlay .voice-orb {
  position:relative; width:240px; height:240px;
  display:flex; align-items:center; justify-content:center;
}
.voice-overlay .voice-orb .core {
  position:absolute; inset:0; border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 45%),
    conic-gradient(from 220deg at 50% 50%,
      #ffffff 0deg,
      #f4e0cf 60deg,
      #D6A989 120deg,
      #f4e0cf 180deg,
      #ffffff 240deg,
      #D6A989 300deg,
      #ffffff 360deg);
  animation: enza-orbSpin 16s linear infinite;
  box-shadow:
    0 30px 80px -20px rgba(214,169,137,.55),
    0 20px 60px -20px rgba(255,255,255,.35),
    inset 0 0 40px rgba(255,255,255,.35),
    inset 0 -20px 40px -10px rgba(214,169,137,.3);
  transition:transform .15s ease-out;
}
.voice-overlay .voice-orb .glow {
  position:absolute; inset:-30px; border-radius:50%;
  background: conic-gradient(from 220deg at 50% 50%, #ffffff 0deg, #D6A989 120deg, #ffffff 240deg, #D6A989 360deg);
  filter:blur(48px); opacity:.38;
  animation: enza-orbSpin 24s linear infinite reverse;
}
.voice-overlay .voice-orb .gloss {
  position:absolute; inset:12px; border-radius:50%; pointer-events:none;
  background: radial-gradient(circle at 32% 28%, rgba(255,255,255,.55) 0%, transparent 42%);
}
.voice-overlay .voice-orb .ring {
  position:absolute; inset:-18px; border-radius:50%;
  border:1px solid rgba(255,255,255,.07);
  transition: transform .12s ease-out, opacity .2s; opacity:.7;
}
.voice-overlay .voice-orb .ring.r2 { inset:-36px; border-color: rgba(255,255,255,.04); }
.voice-overlay .voice-orb .ring.r3 { inset:-56px; border-color: rgba(255,255,255,.025); }
.voice-overlay .voice-orb.idle .core      { animation: enza-orbSpin 16s linear infinite, enza-breath 3.6s ease-in-out infinite; }
.voice-overlay .voice-orb.listening .core { animation: enza-orbSpin 10s linear infinite; }
.voice-overlay .voice-orb.listening .glow { opacity:.75; }
.voice-overlay .voice-orb.speaking .core  { animation: enza-orbSpin 8s linear infinite, enza-speakPulse 1.4s ease-in-out infinite; }
.voice-overlay .voice-orb.speaking .glow  { opacity:.9; }

.voice-overlay .voice-transcript {
  text-align:center; max-width:560px; min-height:64px;
  font-weight:400;
  font-size: clamp(22px,4vw,30px); line-height:1.25; letter-spacing:-.02em;
  color: rgba(255,255,255,.82); padding:0 8px;
}
.voice-overlay .voice-transcript .interim { color: var(--enza-ink-dim); font-style:italic; }
.voice-overlay .voice-transcript .label {
  display:block; font-size:11px; font-weight:500; color: var(--enza-ink-dim);
  letter-spacing:.1em; text-transform:uppercase; margin-bottom:10px;
}

.voice-overlay .voice-ctrls {
  position:relative; z-index:2;
  display:flex; align-items:center; justify-content:center; gap:14px;
  width:100%; max-width:720px;
}
.voice-overlay .vbtn {
  width:64px; height:64px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: var(--enza-glass); border:1px solid var(--enza-rule);
  cursor:pointer; transition:all .2s;
}
.voice-overlay .vbtn:hover { transform:scale(1.05); border-color: rgba(255,255,255,.18); }
.voice-overlay .vbtn svg {
  width:22px; height:22px; stroke: rgba(255,255,255,.65); stroke-width:1.8;
  fill:none; stroke-linecap:round; stroke-linejoin:round;
}
.voice-overlay .vbtn.primary { width:76px; height:76px; background:#fff; border-color:#fff; }
.voice-overlay .vbtn.primary svg { stroke:#000; width:26px; height:26px; }
.voice-overlay .vbtn.primary:hover { background: rgba(255,255,255,.9); }
.voice-overlay .vbtn.primary.listening { background:#FF3B30; border-color:#FF3B30; }
.voice-overlay .vbtn.primary.listening svg { stroke:#fff; }
.voice-overlay .vbtn.primary.listening::before {
  content:''; position:absolute; inset:-6px; border-radius:50%;
  border:2px solid rgba(255,59,48,.38);
  animation: enza-ringPulse 1.2s ease-in-out infinite;
}
.voice-overlay .vbtn .caption {
  position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%);
  font-size:11px; color: var(--enza-ink-dim); letter-spacing:.06em; text-transform:uppercase;
  white-space:nowrap; pointer-events:none;
}
.voice-overlay .voice-foot {
  position:relative; z-index:2; margin-top:50px; text-align:center;
  font-size:12px; color: var(--enza-ink-dim);
}
.voice-overlay .voice-foot b { color: rgba(255,255,255,.45); font-weight:500; }

/* Mobile */
@media (max-width: 480px) {
  .enza-chat-section { padding:60px 16px 100px; }
  .enza-chat-section .chat-surface { padding:16px 14px 12px; border-radius:24px; }
  .enza-chat-section .chat-eyebrow {
    font-size: 9.5px; letter-spacing: .05em;
    padding: 5px 12px; gap: 7px; margin-bottom: 18px; white-space: nowrap;
  }
  .enza-chat-section .chat-eyebrow .e-orb { width: 12px; height: 12px; }
  .enza-chat-section .chat-header { margin-bottom: 36px; }
  .enza-chat-section .msg { font-size:14.5px; padding:11px 14px; }
  .enza-chat-section .opt { padding:11px 14px; font-size:13.5px; }
  .voice-overlay .voice-orb { width:190px; height:190px; }
}
