/* =========================================================
   AveCaída — Sistema de diseño compartido
   Un único lugar para colores, tipografía y componentes.
   Cualquier página nueva del sitio debe enlazar este archivo
   en vez de duplicar estilos.
   ========================================================= */

:root {
  --bg: #FAF7F0;
  --bg-card: #FFFFFF;
  --ink: #1F2A22;
  --ink-soft: #4A5A4F;
  --primary: #2F4A3D;
  --primary-light: #3E6152;
  --accent: #9A5F17;
  --accent-soft: #F2E2C8;
  --accent-text: #8A5412;
  --moss: #8FAE8B;
  --moss-soft: #E4EDE2;
  --line: #DFD9C8;
  --urgent: #B4573F;
  --urgent-soft: #F3DFD9;
  --radius: 14px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: 'Inter', sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: 'Fraunces', serif; color: var(--primary); line-height: 1.15; }
.mono {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
a { color: inherit; }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }

/* Header */
header.site { padding: 22px 0; border-bottom: 1px solid var(--line); }
header.site .wrap { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.logo { display: flex; align-items: center; gap: 10px; font-family: 'Fraunces', serif; font-weight: 600; font-size: 1.35rem; color: var(--primary); text-decoration: none; }
.logo svg { width: 28px; height: 28px; }
nav.site-nav { display: flex; gap: 24px; flex-wrap: wrap; }
nav.site-nav a { text-decoration: none; color: var(--ink-soft); font-size: 0.95rem; font-weight: 500; transition: color .15s; }
nav.site-nav a:hover, nav.site-nav a:focus-visible { color: var(--primary); }
nav.site-nav a[aria-current="page"] { color: var(--primary); font-weight: 700; border-bottom: 2px solid var(--primary); padding-bottom: 6px; }

/* Menú hamburguesa — solo aparece en móvil */
.nav-toggle {
  display: none;
  background: none; border: 1px solid var(--line); border-radius: 8px;
  padding: 8px 12px; font-size: 1.1rem; cursor: pointer; color: var(--primary);
  font-family: inherit;
}
@media (max-width: 720px) {
  .nav-toggle { display: block; }
  nav.site-nav {
    display: none;
    position: absolute; top: 100%; left: 0; right: 0;
    background: var(--bg-card); border-bottom: 1px solid var(--line);
    flex-direction: column; gap: 0; padding: 8px 0;
    box-shadow: 0 8px 16px rgba(31,42,34,0.08);
    z-index: 50;
  }
  nav.site-nav.open { display: flex; }
  nav.site-nav a { padding: 14px 24px; border-bottom: 1px solid var(--line); }
  nav.site-nav a:last-child { border-bottom: none; }
  header.site .wrap { position: relative; }
}

/* Page head genérico (para páginas internas) */
.page-head { padding: 56px 0 40px; }
.page-head.wrap { padding-left: 24px; padding-right: 24px; }
.page-head p.eyebrow { color: var(--accent); font-weight: 600; margin-bottom: 12px; }
.page-head h1 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); max-width: 26ch; margin-bottom: 14px; }
.page-head p.lede { color: var(--ink-soft); max-width: 60ch; font-size: 1.02rem; }

/* Botones */
.btn {
  display: inline-block;
  background: var(--accent);
  color: #fff;
  font-weight: 600;
  padding: 13px 26px;
  border-radius: 8px;
  text-decoration: none;
  font-size: 0.95rem;
  white-space: nowrap;
  border: none;
  cursor: pointer;
  font-family: inherit;
}
.btn:hover, .btn:focus-visible { background: #B67B2E; }
.btn.btn-outline {
  background: transparent;
  color: var(--primary);
  border: 1.5px solid var(--primary);
}
.btn.btn-outline:hover, .btn.btn-outline:focus-visible { background: var(--moss-soft); }
.btn.btn-urgent { background: var(--urgent); }
.btn.btn-urgent:hover, .btn.btn-urgent:focus-visible { background: #9A4530; }

/* Tarjetas genéricas */
.card {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px;
}

/* Cajas de aviso (legal / sanitario / urgencia) */
.aviso-box {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-left: 4px solid var(--urgent);
  border-radius: var(--radius);
  padding: 28px 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.aviso-box .aviso-item .mono { color: var(--urgent); display: block; margin-bottom: 8px; }
.aviso-box .aviso-item p { color: var(--ink-soft); font-size: 0.92rem; line-height: 1.6; }
.aviso-box .aviso-item strong { color: var(--ink); }
@media (max-width: 700px) { .aviso-box { grid-template-columns: 1fr; } }

/* Ficha de campo (componente insignia, usado en varias páginas) */
.ficha {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  max-width: 640px;
  overflow: hidden;
  position: relative;
}
.ficha-tab {
  position: absolute; top: 0; right: 28px;
  background: var(--accent); color: #fff;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 0 0 6px 6px;
}
.ficha-body { padding: 32px; }
.ficha-head { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1px dashed var(--line); padding-bottom: 18px; margin-bottom: 18px; flex-wrap: wrap; gap: 10px; }
.ficha-head h3 { font-size: 1.4rem; font-weight: 600; }
.ficha-head .sci { font-style: italic; color: var(--ink-soft); font-size: 0.92rem; margin-top: 2px; }
.ficha-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.tag {
  font-family: 'IBM Plex Mono', monospace; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.04em;
  background: var(--moss-soft); color: var(--primary); padding: 4px 9px; border-radius: 20px;
}
.tag.tag-urgent { background: var(--urgent-soft); color: #8F3E2A; }
.ficha-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; }
.ficha-field .mono { color: var(--ink-soft); margin-bottom: 4px; display: block; }
.ficha-field .val { font-size: 0.95rem; color: var(--ink); }
@media (max-width: 560px) { .ficha-grid { grid-template-columns: 1fr; } }

/* Espaciado en móvil — el panel reubicado (CRAS / guía de especies) necesita
   su propio aire cuando se inserta justo debajo de la tarjeta tocada */
@media (max-width: 860px) {
  .wrap { padding: 0 20px; }
  .panel, .detail-panel {
    margin-top: 16px;
    margin-bottom: 24px;
    position: static !important; /* anula el sticky de escritorio en móvil */
  }
  .aviso-box, .ficha-body, .card { padding: 22px 20px; }
}

/* Footer */
footer.site { padding: 40px 0; border-top: 1px solid var(--line); }
footer.site .wrap { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
footer.site .foot-row { display: flex; justify-content: space-between; width: 100%; flex-wrap: wrap; gap: 8px; }
footer.site p { color: var(--ink-soft); font-size: 0.85rem; }
footer.site .disclaimer { max-width: 70ch; font-size: 0.82rem; color: var(--ink-soft); margin-top: 10px; }

footer.site .foot-links { margin-top: 10px; font-size: 0.85rem; }
footer.site .foot-links a { color: var(--ink-soft); }
footer.site .foot-links a:hover, footer.site .foot-links a:focus-visible { color: var(--primary); }

/* Utilidades */
.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;
}
.skip-link {
  position: absolute; left: -9999px; top: 0; background: var(--primary); color: #fff;
  padding: 10px 16px; z-index: 100; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; }

/* Fondo decorativo: aves dibujadas con línea suave, ancladas a los bordes de la ventana,
   en la parte superior de cada página. Cada página elige su composición según su contenido. */
body { position: relative; overflow-x: hidden; }
body::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 900px;
  background-repeat: no-repeat; background-size: auto 1500px, auto 1500px;
  background-position: left top, right top;
  -webkit-mask-image: linear-gradient(#000 70%, transparent);
  mask-image: linear-gradient(#000 70%, transparent);
  pointer-events: none; z-index: 0;
}
body > main, body > section, body > footer,
body > div:not(.skip-link):not(.lightbox-overlay) { position: relative; z-index: 1; }
body > header.site { position: relative; z-index: 10; }
@media (max-width: 1100px) { body::before { height: 700px; background-size: auto 1000px, auto 1000px; opacity: .8; } }
@media (max-width: 700px) { body::before { height: 520px; background-size: auto 620px, auto 620px; opacity: .45; } }
body::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.2%22%3E %3Cpath d=%22M-20 520C80 480 200 540 320 470C400 424 460 440 520 420%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(90 500) rotate(-35) scale(2.2)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(200 520) rotate(15) scale(2.0)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(300 480) rotate(-30) scale(1.8)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cg opacity=%220.28%22%3E %3Cpath transform=%22translate(390 440) rotate(20) scale(2.0)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%23E8C25A%22/%3E %3C/g%3E %3Cg opacity=%220.32%22%3E %3Cg transform=%22translate(-90 120) scale(1.5 1.5)%22 stroke=%22%23E8C25A%22%3E %3Cpath d=%22M252 60C246 36 224 24 202 32C178 42 170 66 166 84C158 120 126 150 98 186C78 212 52 236 20 254C54 266 90 262 118 246C150 242 190 232 220 204C246 178 256 142 250 108C250 100 251 95 250 90%22/%3E %3Cpath d=%22M252 60L286 74L250 90%22/%3E %3Cpath d=%22M226 62m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0%22 fill=%22%23E8C25A%22/%3E %3Cpath d=%22M186 124C220 140 218 184 188 206C168 220 134 220 112 206C130 174 154 140 186 124%22/%3E %3Cpath d=%22M150 192C164 178 178 168 194 160%22/%3E %3Cpath d=%22M168 238L166 262M196 232L196 262M154 264L178 264M186 264L210 264%22/%3E %3Cpath d=%22M110 276C150 268 220 272 270 268%22/%3E %3C/g%3E %3C/g%3E %3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(60 120) scale(1.6)%22 stroke=%22%237C9A84%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%237C9A84%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M540 60C440 30 340 100 230 70%22 stroke=%22%2378A0C8%22 stroke-width=%2226%22 opacity=%220.11%22/%3E %3Cpath d=%22M540 560C440 520 360 590 250 550%22 stroke=%22%23E8C25A%22 stroke-width=%2230%22 opacity=%220.13%22/%3E %3C/svg%3E"); }
body:has(.hero)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cpath d=%22M-20 300C120 250 260 330 400 280%22 stroke=%22%23E8C25A%22 stroke-width=%2234%22 opacity=%220.14%22/%3E %3Cpath d=%22M-20 640C140 590 300 690 440 640%22 stroke=%22%237C9A84%22 stroke-width=%2228%22 opacity=%220.11%22/%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(-110 150) scale(1.9 1.9)%22 stroke=%22%237C9A84%22%3E %3Cpath d=%22M252 60C246 36 224 24 202 32C178 42 170 66 166 84C158 120 126 150 98 186C78 212 52 236 20 254C54 266 90 262 118 246C150 242 190 232 220 204C246 178 256 142 250 108C250 100 251 95 250 90%22/%3E %3Cpath d=%22M252 60L286 74L250 90%22/%3E %3Cpath d=%22M226 62m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0%22 fill=%22%237C9A84%22/%3E %3Cpath d=%22M186 124C220 140 218 184 188 206C168 220 134 220 112 206C130 174 154 140 186 124%22/%3E %3Cpath d=%22M150 192C164 178 178 168 194 160%22/%3E %3Cpath d=%22M168 238L166 262M196 232L196 262M154 264L178 264M186 264L210 264%22/%3E %3Cpath d=%22M110 276C150 268 220 272 270 268%22/%3E %3C/g%3E %3C/g%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(250 620) rotate(-30) scale(2.2)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(330 680) rotate(15) scale(1.7)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cpath d=%22M540 40C440 110 340 140 200 120%22 stroke=%22%2378A0C8%22 stroke-width=%2226%22 opacity=%220.12%22/%3E %3Cpath d=%22M540 330C420 280 300 360 160 300%22 stroke=%22%23E8C25A%22 stroke-width=%2234%22 opacity=%220.14%22/%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(40 -20) scale(1.8)%22 stroke=%22%2378A0C8%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%2378A0C8%22/%3E %3C/g%3E %3C/g%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(510.0 380) scale(-1.5 1.5)%22 stroke=%22%23DE9F52%22%3E %3Cpath d=%22M252 60C246 36 224 24 202 32C178 42 170 66 166 84C158 120 126 150 98 186C78 212 52 236 20 254C54 266 90 262 118 246C150 242 190 232 220 204C246 178 256 142 250 108C250 100 251 95 250 90%22/%3E %3Cpath d=%22M252 60L286 74L250 90%22/%3E %3Cpath d=%22M226 62m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0%22 fill=%22%23DE9F52%22/%3E %3Cpath d=%22M186 124C220 140 218 184 188 206C168 220 134 220 112 206C130 174 154 140 186 124%22/%3E %3Cpath d=%22M150 192C164 178 178 168 194 160%22/%3E %3Cpath d=%22M168 238L166 262M196 232L196 262M154 264L178 264M186 264L210 264%22/%3E %3Cpath d=%22M110 276C150 268 220 272 270 268%22/%3E %3C/g%3E %3C/g%3E %3C/svg%3E"); }
body:has(.species-list)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(-60 60) scale(2.0)%22 stroke=%22%237C9A84%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%237C9A84%22/%3E %3C/g%3E %3C/g%3E %3Cg opacity=%220.24%22%3E %3Cg transform=%22translate(200 440) scale(1.0)%22 stroke=%22%2378A0C8%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%2378A0C8%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M-20 560C100 520 220 600 330 560%22 stroke=%22%23E8C25A%22 stroke-width=%2230%22 opacity=%220.13%22/%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(150 380) rotate(-20) scale(1.8)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(580.0 250) scale(-1.6 1.6)%22 stroke=%22%2378A0C8%22%3E %3Cpath d=%22M252 60C246 36 224 24 202 32C178 42 170 66 166 84C158 120 126 150 98 186C78 212 52 236 20 254C54 266 90 262 118 246C150 242 190 232 220 204C246 178 256 142 250 108C250 100 251 95 250 90%22/%3E %3Cpath d=%22M252 60L286 74L250 90%22/%3E %3Cpath d=%22M226 62m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0%22 fill=%22%2378A0C8%22/%3E %3Cpath d=%22M186 124C220 140 218 184 188 206C168 220 134 220 112 206C130 174 154 140 186 124%22/%3E %3Cpath d=%22M150 192C164 178 178 168 194 160%22/%3E %3Cpath d=%22M168 238L166 262M196 232L196 262M154 264L178 264M186 264L210 264%22/%3E %3Cpath d=%22M110 276C150 268 220 272 270 268%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M540 120C440 80 340 150 220 110%22 stroke=%22%237C9A84%22 stroke-width=%2226%22 opacity=%220.11%22/%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(120 640) rotate(25) scale(2.0)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%23DE9F52%22/%3E %3C/g%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(200 700) rotate(-10) scale(1.6)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%23DE9F52%22/%3E %3C/g%3E %3C/svg%3E"); }
body:has(#quiz)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(-100 120) scale(1.8 1.8)%22 stroke=%22%23DE9F52%22%3E %3Cpath d=%22M252 60C246 36 224 24 202 32C178 42 170 66 166 84C158 120 126 150 98 186C78 212 52 236 20 254C54 266 90 262 118 246C150 242 190 232 220 204C246 178 256 142 250 108C250 100 251 95 250 90%22/%3E %3Cpath d=%22M252 60L286 74L250 90%22/%3E %3Cpath d=%22M226 62m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0%22 fill=%22%23DE9F52%22/%3E %3Cpath d=%22M186 124C220 140 218 184 188 206C168 220 134 220 112 206C130 174 154 140 186 124%22/%3E %3Cpath d=%22M150 192C164 178 178 168 194 160%22/%3E %3Cpath d=%22M168 238L166 262M196 232L196 262M154 264L178 264M186 264L210 264%22/%3E %3Cpath d=%22M110 276C150 268 220 272 270 268%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M-20 520C120 470 240 560 360 500%22 stroke=%22%23E8C25A%22 stroke-width=%2232%22 opacity=%220.14%22/%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(230 600) rotate(-25) scale(2.0)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(100 160) scale(1.5)%22 stroke=%22%237C9A84%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%237C9A84%22/%3E %3C/g%3E %3C/g%3E %3Cg opacity=%220.18%22%3E %3Cpath d=%22M540 480C420 460 320 520 200 500C120 490 80 520 20 540%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(320 470) rotate(-30) scale(2.2)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(200 500) rotate(20) scale(1.8)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cpath d=%22M540 60C460 20 380 80 300 50%22 stroke=%22%2378A0C8%22 stroke-width=%2224%22 opacity=%220.11%22/%3E %3C/svg%3E"); }
body:has(.page-head[style*="padding-left:0"])::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.26%22%3E %3Cg transform=%22translate(-50 100) scale(1.9)%22 stroke=%22%23C9795F%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%23C9795F%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M-20 560C100 510 240 600 340 540%22 stroke=%22%23DE9F52%22 stroke-width=%2230%22 opacity=%220.14%22/%3E %3Cg opacity=%220.18%22%3E %3Cpath transform=%22translate(200 640) rotate(-20) scale(1.8)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%23C9795F%22/%3E %3C/g%3E %3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(590.0 300) scale(-1.5 1.5)%22 stroke=%22%23DE9F52%22%3E %3Cpath d=%22M252 60C246 36 224 24 202 32C178 42 170 66 166 84C158 120 126 150 98 186C78 212 52 236 20 254C54 266 90 262 118 246C150 242 190 232 220 204C246 178 256 142 250 108C250 100 251 95 250 90%22/%3E %3Cpath d=%22M252 60L286 74L250 90%22/%3E %3Cpath d=%22M226 62m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0%22 fill=%22%23DE9F52%22/%3E %3Cpath d=%22M186 124C220 140 218 184 188 206C168 220 134 220 112 206C130 174 154 140 186 124%22/%3E %3Cpath d=%22M150 192C164 178 178 168 194 160%22/%3E %3Cpath d=%22M168 238L166 262M196 232L196 262M154 264L178 264M186 264L210 264%22/%3E %3Cpath d=%22M110 276C150 268 220 272 270 268%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M540 180C440 140 340 220 220 170%22 stroke=%22%23E8C25A%22 stroke-width=%2230%22 opacity=%220.14%22/%3E %3Cpath d=%22M540 700C440 660 360 720 260 690%22 stroke=%22%23C9795F%22 stroke-width=%2224%22 opacity=%220.1%22/%3E %3C/svg%3E"); }
body:has(.mapa-card)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(-40 60) scale(1.3)%22 stroke=%22%2378A0C8%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%2378A0C8%22/%3E %3C/g%3E %3C/g%3E %3Cg opacity=%220.22%22%3E %3Cg transform=%22translate(230 330) scale(0.8)%22 stroke=%22%2378A0C8%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%2378A0C8%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M-20 580C100 540 220 620 330 570%22 stroke=%22%237C9A84%22 stroke-width=%2228%22 opacity=%220.12%22/%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(120 470) rotate(-20) scale(1.8)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(600.0 140) scale(-1.7 1.7)%22 stroke=%22%237C9A84%22%3E %3Cpath d=%22M252 60C246 36 224 24 202 32C178 42 170 66 166 84C158 120 126 150 98 186C78 212 52 236 20 254C54 266 90 262 118 246C150 242 190 232 220 204C246 178 256 142 250 108C250 100 251 95 250 90%22/%3E %3Cpath d=%22M252 60L286 74L250 90%22/%3E %3Cpath d=%22M226 62m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0%22 fill=%22%237C9A84%22/%3E %3Cpath d=%22M186 124C220 140 218 184 188 206C168 220 134 220 112 206C130 174 154 140 186 124%22/%3E %3Cpath d=%22M150 192C164 178 178 168 194 160%22/%3E %3Cpath d=%22M168 238L166 262M196 232L196 262M154 264L178 264M186 264L210 264%22/%3E %3Cpath d=%22M110 276C150 268 220 272 270 268%22/%3E %3C/g%3E %3C/g%3E %3Cg opacity=%220.18%22%3E %3Cpath d=%22M540 560C440 540 340 600 220 580%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(300 550) rotate(-30) scale(2.0)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(220 590) rotate(20) scale(1.6)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3Cpath d=%22M540 60C440 30 360 90 260 60%22 stroke=%22%23E8C25A%22 stroke-width=%2226%22 opacity=%220.13%22/%3E %3C/svg%3E"); }
body:has(.chat-wrap)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(-100 200) scale(1.7 1.7)%22 stroke=%22%2378A0C8%22%3E %3Cpath d=%22M252 60C246 36 224 24 202 32C178 42 170 66 166 84C158 120 126 150 98 186C78 212 52 236 20 254C54 266 90 262 118 246C150 242 190 232 220 204C246 178 256 142 250 108C250 100 251 95 250 90%22/%3E %3Cpath d=%22M252 60L286 74L250 90%22/%3E %3Cpath d=%22M226 62m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0%22 fill=%22%2378A0C8%22/%3E %3Cpath d=%22M186 124C220 140 218 184 188 206C168 220 134 220 112 206C130 174 154 140 186 124%22/%3E %3Cpath d=%22M150 192C164 178 178 168 194 160%22/%3E %3Cpath d=%22M168 238L166 262M196 232L196 262M154 264L178 264M186 264L210 264%22/%3E %3Cpath d=%22M110 276C150 268 220 272 270 268%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M-20 100C100 60 220 140 320 90%22 stroke=%22%23E8C25A%22 stroke-width=%2228%22 opacity=%220.13%22/%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(200 640) rotate(-20) scale(1.8)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%2378A0C8%22/%3E %3C/g%3E %3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(60 40) scale(1.7)%22 stroke=%22%23DE9F52%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%23DE9F52%22/%3E %3C/g%3E %3C/g%3E %3Cg opacity=%220.22%22%3E %3Cg transform=%22translate(300 420) scale(0.8)%22 stroke=%22%237C9A84%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%237C9A84%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M540 600C440 560 340 640 220 590%22 stroke=%22%237C9A84%22 stroke-width=%2228%22 opacity=%220.11%22/%3E %3C/svg%3E"); }
body:has(main[style*="max-width:700px"])::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(-70 140) scale(2.0)%22 stroke=%22%23DE9F52%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%23DE9F52%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M-20 560C100 520 240 600 340 550%22 stroke=%22%237C9A84%22 stroke-width=%2230%22 opacity=%220.12%22/%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(180 470) rotate(-25) scale(1.8)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%23DE9F52%22/%3E %3C/g%3E %3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(590.0 320) scale(-1.7 1.7)%22 stroke=%22%237C9A84%22%3E %3Cpath d=%22M252 60C246 36 224 24 202 32C178 42 170 66 166 84C158 120 126 150 98 186C78 212 52 236 20 254C54 266 90 262 118 246C150 242 190 232 220 204C246 178 256 142 250 108C250 100 251 95 250 90%22/%3E %3Cpath d=%22M252 60L286 74L250 90%22/%3E %3Cpath d=%22M226 62m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0%22 fill=%22%237C9A84%22/%3E %3Cpath d=%22M186 124C220 140 218 184 188 206C168 220 134 220 112 206C130 174 154 140 186 124%22/%3E %3Cpath d=%22M150 192C164 178 178 168 194 160%22/%3E %3Cpath d=%22M168 238L166 262M196 232L196 262M154 264L178 264M186 264L210 264%22/%3E %3Cpath d=%22M110 276C150 268 220 272 270 268%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M540 140C440 100 340 180 230 130%22 stroke=%22%23E8C25A%22 stroke-width=%2232%22 opacity=%220.14%22/%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(150 260) rotate(-20) scale(1.6)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3C/svg%3E"); }
body:has(.esp-wrap)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(-90 140) scale(1.5 1.5)%22 stroke=%22%237C9A84%22%3E %3Cpath d=%22M252 60C246 36 224 24 202 32C178 42 170 66 166 84C158 120 126 150 98 186C78 212 52 236 20 254C54 266 90 262 118 246C150 242 190 232 220 204C246 178 256 142 250 108C250 100 251 95 250 90%22/%3E %3Cpath d=%22M252 60L286 74L250 90%22/%3E %3Cpath d=%22M226 62m-3.5 0a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0%22 fill=%22%237C9A84%22/%3E %3Cpath d=%22M186 124C220 140 218 184 188 206C168 220 134 220 112 206C130 174 154 140 186 124%22/%3E %3Cpath d=%22M150 192C164 178 178 168 194 160%22/%3E %3Cpath d=%22M168 238L166 262M196 232L196 262M154 264L178 264M186 264L210 264%22/%3E %3Cpath d=%22M110 276C150 268 220 272 270 268%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M-20 520C100 480 220 560 320 510%22 stroke=%22%23E8C25A%22 stroke-width=%2228%22 opacity=%220.13%22/%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(160 430) rotate(-25) scale(1.7)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 -40 520 1500%22 fill=%22none%22 stroke-width=%229%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E %3Cg opacity=%220.28%22%3E %3Cg transform=%22translate(60 60) scale(1.3)%22 stroke=%22%2378A0C8%22%3E %3Cpath d=%22M196 96C186 58 150 24 96 10C118 44 128 92 172 112%22/%3E %3Cpath d=%22M182 124C170 160 140 186 98 198C142 198 182 172 204 136%22/%3E %3Cpath d=%22M248 98C228 82 190 88 160 102C140 112 122 124 106 134C124 130 146 130 170 126C206 124 238 116 248 98%22/%3E %3Cpath d=%22M106 134C84 137 58 143 38 154M106 134C92 148 78 166 62 184%22/%3E %3Cpath d=%22M248 98L270 104%22/%3E %3Cpath d=%22M232 97m-2.5 0a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0 -5 0%22 fill=%22%2378A0C8%22/%3E %3C/g%3E %3C/g%3E %3Cpath d=%22M540 500C440 470 340 540 230 500%22 stroke=%22%237C9A84%22 stroke-width=%2226%22 opacity=%220.11%22/%3E %3Cg opacity=%220.2%22%3E %3Cpath transform=%22translate(330 440) rotate(-30) scale(1.7)%22 d=%22M0 0C10-12 26-12 36 0C26 12 10 12 0 0M0 0L36 0%22 stroke=%22%237C9A84%22/%3E %3C/g%3E %3C/svg%3E"); }

/* Chat: el campo de texto no debe empujar el botón "Enviar" fuera de la pantalla en móvil */
.chat-input-row input { min-width: 0; }
.chat-input-row button, .chat-input-row .btn { flex: none; }
