/* ============================================================
   EJEMPLO DEL ASISTENTE — la sala negra de eternal-studio.es
   (mismos tonos y letras que la web: el oro, solo en detalles)
   ============================================================ */

@font-face{font-family:"Archivo";src:url("fonts/archivo-var-latin.woff2") format("woff2");
  font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";src:url("fonts/archivo-var-latin-ext.woff2") format("woff2");
  font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";src:url("fonts/jetbrains-mono-latin.woff2") format("woff2");
  font-weight:100 800;font-display:swap}

:root{
  --oscuro:#08090B; --oscuro-2:#14161B; --hueso:#E9EBEE; --hueso-2:#A0A6AF; --oro:#C9A24B;
  --linea:rgba(233,235,238,.14); --linea-2:rgba(233,235,238,.07);
  --letra:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --curva:cubic-bezier(.16,1,.3,1);
  --lino:#D8C3A2; --sobre-lino:#17130D;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--oscuro);color:var(--hueso);font:400 16px/1.5 var(--letra);-webkit-font-smoothing:antialiased;overflow:hidden}
[hidden]{display:none!important}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
button,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px}

.boton{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:.65em 1.35em;border-radius:999px;
  background:var(--hueso);color:var(--oscuro);border:1px solid var(--hueso);font-weight:600;text-decoration:none;cursor:pointer;
  transition:background-color .2s,border-color .2s,color .2s}
.boton:hover{background:#fff;border-color:#fff}
.boton-linea{background:transparent;color:var(--hueso);border-color:var(--linea)}
.boton-linea:hover{background:transparent;color:#fff;border-color:var(--oro)}

/* ── 1 · La pantalla que habla ─────────────────────────────── */
.intro{position:fixed;inset:0;z-index:10;background:#000;display:flex;flex-direction:column;justify-content:center;
  padding:max(2rem,env(safe-area-inset-top)) clamp(1.5rem,9vw,10rem) max(4.5rem,calc(env(safe-area-inset-bottom) + 4rem))}
.intro-texto{max-width:62rem}
.frase{margin:0 0 .85em;font-size:clamp(1.55rem,4.3vw,2.9rem);font-weight:500;line-height:1.18;letter-spacing:-.012em;color:var(--hueso);text-wrap:balance}
.frase:empty:not(.escribiendo){display:none}
.frase.escribiendo::after{content:"";display:inline-block;width:.07em;height:.95em;margin-left:.06em;vertical-align:-.1em;background:var(--oro);animation:parpadeo 1s steps(1) infinite}
.intro-pie{margin-top:clamp(1.25rem,4vh,2.5rem);min-height:44px}
.saltar{position:absolute;right:clamp(.75rem,3vw,2rem);bottom:calc(env(safe-area-inset-bottom) + clamp(.75rem,3vw,1.75rem));
  min-height:44px;padding:0 .9rem;background:none;border:0;color:var(--hueso-2);font-size:.9rem;cursor:pointer;
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--linea)}
.saltar:hover{color:var(--hueso)}
.intro-sinjs{color:var(--hueso-2)}
.intro.saliendo{opacity:0;transition:opacity .55s var(--curva)}
/* Centrado cuando cabe y con scroll cuando el formulario no cabe (móvil): sin cortar lo de arriba. */
.intro{overflow-y:auto;justify-content:flex-start}
.intro-texto{margin-top:auto}
.intro-pie{margin-bottom:auto}

/* Su negocio, al acabar las frases */
.negocio{max-width:40rem;animation:entra .5s var(--curva) both}
.negocio-titulo{margin:0 0 1rem;font-size:clamp(1.05rem,2.2vw,1.3rem);color:var(--hueso)}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem}
.campo{display:flex;flex-direction:column;gap:.35rem;font-size:.86rem;color:var(--hueso-2)}
.campo:first-child{grid-column:1 / -1}
.campo small{color:rgba(160,166,175,.7)}
.campo input::-webkit-calendar-picker-indicator{opacity:.5}
.campo input,.campo select{height:46px;padding:0 .9rem;border-radius:12px;border:1px solid var(--linea);background:#0D0F12;color:var(--hueso);font-size:16px}
.campo select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--hueso-2) 50%),linear-gradient(135deg,var(--hueso-2) 50%,transparent 50%);
  background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.2rem}
.campo input:focus,.campo select:focus{outline:none;border-color:var(--oro)}
.negocio-error{margin:.8rem 0 0;color:#E8A2A2;font-size:.9rem}
.negocio-botones{margin-top:1.1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem}
.negocio-botones .boton:disabled{opacity:.6;cursor:wait}
.enlace-claro{min-height:44px;padding:0;background:none;border:0;color:var(--hueso-2);font-size:.92rem;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--linea)}
.enlace-claro:hover{color:var(--hueso)}
.negocio-nota{margin:.9rem 0 0;color:rgba(160,166,175,.75);font-size:.8rem}
.nota-negocio{margin:0;padding:.45rem clamp(1rem,3vw,2rem);font-size:.8rem;color:var(--hueso-2);border-bottom:1px solid var(--linea-2)}
@media (max-width:600px){.campos{grid-template-columns:1fr}}
@keyframes parpadeo{50%{opacity:0}}

/* ── 2 · El ejemplo ────────────────────────────────────────── */
.ejemplo{height:100vh;height:100dvh;display:flex;flex-direction:column}
.cabecera{display:flex;align-items:center;gap:1rem;padding:.7rem clamp(1rem,3vw,2rem);border-bottom:1px solid var(--linea-2)}
.marca{margin:0;display:flex;align-items:center;gap:.6rem;min-width:0;flex:1}
.marca b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marca-sello,.tel-avatar{flex:none;display:grid;place-items:center;border-radius:50%;background:var(--lino);color:var(--sobre-lino);font-weight:700}
.marca-sello{width:30px;height:30px;font-size:.7rem}
.etiqueta{flex:none;font-family:var(--mono);font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;color:var(--oro);
  border:1px solid rgba(201,162,75,.38);border-radius:999px;padding:.18em .6em}
.quedan{margin:0;font-family:var(--mono);font-size:.76rem;color:var(--hueso-2);white-space:nowrap}
.cta{min-height:40px;padding:.45em 1.1em;font-size:.9rem}

.pestanas{display:none}
.lados{flex:1;min-height:0;display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr);gap:clamp(1rem,2.5vw,2rem);
  padding:clamp(.9rem,2.2vw,1.5rem) clamp(1rem,3vw,2rem) clamp(.9rem,2.2vw,1.5rem)}
.lado{min-height:0;display:flex;flex-direction:column}
.lado-cab{margin-bottom:.8rem}
.lado-titulo{margin:0;font-size:1.02rem;font-weight:600;letter-spacing:-.005em}
.lado-sub{margin:.15rem 0 0;color:var(--hueso-2);font-size:.88rem;line-height:1.4}

/* El móvil del cliente */
.tel{flex:1;min-height:0;display:flex;flex-direction:column;background:#0D0F12;border:1px solid var(--linea);border-radius:28px;overflow:hidden;
  box-shadow:0 30px 80px -40px rgba(0,0,0,.9)}
.tel-cab{display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;background:#15181D;border-bottom:1px solid var(--linea-2)}
.tel-avatar{width:36px;height:36px;font-size:.76rem}
.tel-nombre{margin:0;display:flex;flex-direction:column;line-height:1.2}
.tel-nombre small{color:var(--hueso-2);font-size:.74rem}
.chat{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;list-style:none;margin:0;padding:1rem .8rem;display:flex;flex-direction:column;gap:.4rem}
.chat-vacio{margin:auto;padding:0 1rem;text-align:center;color:var(--hueso-2);font-size:.88rem;line-height:1.45;max-width:17rem}
.burbuja{max-width:84%;padding:.45rem .72rem .3rem;border-radius:14px;font-size:.93rem;line-height:1.42;white-space:pre-wrap;overflow-wrap:anywhere;
  animation:entra .35s var(--curva) both}
.burbuja.cliente{align-self:flex-end;background:#2B2619;border-bottom-right-radius:4px}
.burbuja.negocio{align-self:flex-start;background:#1C1F25;border-bottom-left-radius:4px}
.hora{display:block;text-align:right;margin-top:.1rem;font-family:var(--mono);font-size:.6rem;color:rgba(233,235,238,.45)}
.puntos{padding:.7rem .8rem}
.puntos i{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:var(--hueso-2);animation:salto 1.2s infinite var(--curva)}
.puntos i:nth-child(2){animation-delay:.15s}
.puntos i:nth-child(3){animation-delay:.3s}
.fin-ejemplo{align-self:stretch;margin-top:.5rem;padding:.8rem .9rem;border:1px solid rgba(201,162,75,.35);border-radius:14px;text-align:center;font-size:.88rem;color:var(--hueso-2)}
.fin-ejemplo a{display:inline-block;margin-top:.35rem;color:var(--hueso);font-weight:600;text-underline-offset:3px}
@keyframes entra{from{opacity:0;transform:translateY(6px)}}
@keyframes salto{0%,60%,100%{transform:none;opacity:.45}30%{transform:translateY(-4px);opacity:1}}

.sugerencias{display:flex;gap:.4rem;overflow-x:auto;padding:0 .8rem .6rem;scrollbar-width:none}
.sugerencias::-webkit-scrollbar{display:none}
.sugerencia{flex:none;min-height:36px;padding:0 .8rem;background:transparent;border:1px solid var(--linea);border-radius:999px;font-size:.82rem;cursor:pointer;white-space:nowrap}
.sugerencia:hover{border-color:var(--oro)}
.escribir{display:flex;gap:.5rem;padding:.55rem .65rem;background:#15181D;border-top:1px solid var(--linea-2)}
.escribir input{flex:1;min-width:0;height:44px;padding:0 1rem;border-radius:999px;border:1px solid var(--linea);background:#0D0F12;color:var(--hueso);font-size:16px}
.escribir input::placeholder{color:rgba(233,235,238,.42)}
.escribir input:disabled{opacity:.55}
.enviar{flex:none;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--hueso);color:var(--oscuro);cursor:pointer}
.enviar:disabled{opacity:.35;cursor:default}
.nota{margin:.6rem .3rem 0;color:var(--hueso-2);font-size:.76rem}

/* El panel del dueño */
.marco{flex:1;min-height:0;border:1px solid var(--linea);border-radius:16px;overflow:hidden;background:#111214}
.marco iframe{display:block;width:100%;height:100%;border:0}

/* ── 3 · Avisos ─────────────────────────────────────────────── */
.aviso{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1.25rem;background:rgba(8,9,11,.84);backdrop-filter:blur(6px)}
.aviso-caja{width:min(30rem,100%);padding:1.8rem 1.5rem;background:var(--oscuro-2);border:1px solid var(--linea);border-radius:18px;text-align:center}
.aviso-titulo{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:-.005em}
.aviso-texto{margin:.5rem 0 0;color:var(--hueso-2);line-height:1.45}
.aviso-botones{margin-top:1.3rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.cargando{display:block;width:28px;height:28px;margin:0 auto 1rem;border-radius:50%;border:2px solid var(--linea);border-top-color:var(--oro);animation:gira .9s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

/* ── Móvil y tableta: una cosa cada vez ────────────────────── */
@media (max-width:900px){
  .cabecera{flex-wrap:wrap;gap:.3rem .75rem;padding:.55rem 1rem}
  .marca{flex-basis:100%}
  .etiqueta{display:none}
  .quedan{flex:1}
  .cta{min-height:36px;padding:.3em .9em;font-size:.8rem}
  .pestanas{display:flex;padding:.2rem .6rem 0;border-bottom:1px solid var(--linea-2)}
  .pestanas button{position:relative;flex:1;min-height:44px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;
    color:var(--hueso-2);font-size:.9rem;font-weight:600;cursor:pointer}
  .pestanas button[aria-selected="true"]{color:var(--hueso);border-bottom-color:var(--oro)}
  .nuevo{position:absolute;top:11px;margin-left:5px;width:7px;height:7px;border-radius:50%;background:var(--oro)}
  .lados{display:block;padding:.65rem .75rem calc(.65rem + env(safe-area-inset-bottom))}
  .lado{height:100%}
  .lado-oculto{display:none}
  .lado-cab{display:none}
  .tel{border-radius:20px}
  .nota{text-align:center}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
