/* 01 · Variables, tipografía y estructura general. Cambia la paleta aquí. */
:root {
  --ink:#274a5b; --muted:#58707a; --blue:#1762a0; --green:#258c76;
  --yellow:#ffdb59; --cream:#fffef8; --mint:#e2f8f2; --line:#cde3dc;
  --surface:#fff; --danger:#963d38; --radius:22px; --shadow:0 5px 0 #d3e7df70,0 12px 30px #327c7b09;
  color:var(--ink); background:#effbf8; font:16px/1.6 'Trebuchet MS','Segoe UI',sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:26px}
body{margin:0;min-width:320px;min-height:100dvh;background:radial-gradient(ellipse at 5% 18%,#fff9df99,transparent 34%),radial-gradient(ellipse at 95% 64%,#c7f2ee90,transparent 36%),#effbf8;color:var(--ink)}
main{width:100%;max-width:1240px;margin:auto;padding:0 28px 64px;min-width:0}
h1,h2,h3,h4{color:var(--blue);font-weight:800;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}
h1{font-size:clamp(2rem,4vw,3.1rem);margin:8px 0 16px}
h2{font-size:1.65rem;margin:24px 0 18px}h3{font-size:1.2rem;margin:0 0 12px}
p{margin:12px 0;overflow-wrap:anywhere}small,.hint{color:var(--muted);font-size:.86rem;line-height:1.55}
a{color:#196f83;text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}a:hover{color:#125b62}
img,svg{vertical-align:middle}img{max-width:100%}
button,input,select,textarea{font:inherit;touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent }
button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #2483ac;outline-offset:4px}
::selection{background:#ffe68b;color:#25475d}
.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.15em;color:var(--green);text-transform:uppercase}
.intro,.visitor-heading{position:relative;overflow:hidden;background:linear-gradient(110deg,#e0f6f4,#fafff8 65%,#fff4d9);border:2px solid #fff;border-radius:26px 26px 48px 26px;box-shadow:var(--shadow);padding:30px 34px;margin:38px 0 28px}
.intro::after,.visitor-heading::after{content:'✦';position:absolute;right:22px;top:-18px;font-size:110px;color:#dfb43e24;pointer-events:none}
.intro>p:not(.eyebrow),.visitor-heading p:not(.eyebrow){max-width:740px;color:var(--muted)}
.section-title,.events-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.section-title h2{margin-top:12px}
.section-title>span{font-size:.82rem;color:var(--muted)}
.text-small{font-size:.85rem}.total-amount{font-weight:800;font-size:1.2rem;margin-bottom:0}
@media(max-width:600px){main{padding:0 16px 40px}.intro,.visitor-heading{padding:24px 22px;margin-top:28px;border-radius:22px 22px 36px 22px}h2{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* =========================================
   COMPORTAMIENTO NATIVO DE APP (MÓVIL)
   ========================================= */
body {
  -webkit-tap-highlight-color: transparent; /* Quita el destello azul al tocar botones */
  -webkit-user-select: none; /* Evita selección de texto accidental al deslizar */
  user-select: none; 
  overscroll-behavior-y: none; /* Evita el rebote (pull-to-refresh) blanco del navegador */
}

/* Permitir selección de texto solo en inputs y áreas de escritura */
input, textarea {
  -webkit-user-select: auto;
  user-select: auto;
}

/* Ocultar barra de scroll para un look limpio en tarjetas horizontales */
::-webkit-scrollbar {
  display: none;
}
* {
  scrollbar-width: none;
}