@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&display=swap');

:root{
  --brand:#6ec62f;
  --bg:#f7f7f7;
  --text:#333;
}

*{box-sizing:border-box}
body{margin:0;font-family:'Montserrat',sans-serif;background:var(--bg);color:var(--text)}

/* Header */
header{background:#000;padding:1rem}
nav{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;gap:1rem}
.logo-img{height:80px;width:auto;display:block}
@media (max-width:768px){.logo-img{height:56px}}

.menu{list-style:none;display:flex;gap:1rem;margin:0;padding:0}
.menu a{color:#fff;text-decoration:none;transition:color .2s}
.menu a:hover{color:var(--brand)}

/* === Burger 4 barras alineadas + vúmetro horizontal + X verde centrada === */
.burger{
  display:inline-flex;
  flex-direction: column;           /* apila verticalmente las barras */
  align-items:center;
  justify-content:center;
  width:44px;height:44px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:8px;
  background:transparent;
  cursor:pointer;
  position:relative;
  z-index:1001;
}
.burger span{
  display:block;
  width:22px;
  height:2px;
  margin:4px 0;                     /* separación entre barras */
  background:#fff;
  border-radius:2px;
  transition:
    transform .25s ease,
    opacity .2s ease,
    background-color .25s ease,
    width .25s ease;
  transform-origin:center;
}

/* Vúmetro horizontal (cerrado) */
@keyframes vuPulseX {
  0%   { transform: scaleX(1); }
  25%  { transform: scaleX(1.5); }
  50%  { transform: scaleX(0.7); }
  75%  { transform: scaleX(1.2); }
  100% { transform: scaleX(1); }
}
.burger:not(.open) span{
  animation: vuPulseX 900ms infinite ease-in-out;
}
.burger:not(.open) span:nth-child(1){ animation-delay: 0ms; }
.burger:not(.open) span:nth-child(2){ animation-delay: 150ms; }
.burger:not(.open) span:nth-child(3){ animation-delay: 300ms; }
.burger:not(.open) span:nth-child(4){ animation-delay: 450ms; }

@media (prefers-reduced-motion: reduce){
  .burger:not(.open) span{ animation:none; }
}

/* Abierto: pausamos animación y formamos X VERDE centrada */
.burger.open span{ animation:none; }

.burger.open span:nth-child(2),
.burger.open span:nth-child(3){
  opacity:0;                         /* ocultar barras centrales */
}

.burger.open{
  position:relative;
}
.burger.open span:nth-child(1),
.burger.open span:nth-child(4){
  position:absolute;
  left:50%;
  top:50%;
  width:22px;
  background: var(--brand);          /* #6ec62f */
  margin:0;
  transform-origin:center;
}
.burger.open span:nth-child(1){
  transform: translate(-50%, -50%) rotate(45deg);
}
.burger.open span:nth-child(4){
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* Menú móvil con blur */
@media (max-width:900px){
  nav{position:relative}
  .menu{
    position:absolute;top:64px;left:16px;right:16px;
    background:rgba(15,15,15,0.85);backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.08);border-radius:12px;
    box-shadow:0 8px 30px rgba(0,0,0,.35);
    padding:.5rem;display:flex;flex-direction:column;gap:.25rem;
    transform-origin:top center;transform:scaleY(.9);
    opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease;z-index:1000
  }
  .menu a{display:block;padding:.5rem .75rem}
  .menu.open{transform:scaleY(1);opacity:1;pointer-events:auto}
}

/* Hero */
.hero{position:relative;width:100%;height:70vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(4px);z-index:-1}
.hero-texto{text-align:center;color:#fff;text-shadow:0 0 10px rgba(0,0,0,.7)}
.hero-texto .btn{display:inline-block;margin-top:1rem;background:#000;border:1px solid var(--brand);color:#fff;padding:.75rem 1rem;border-radius:8px;text-decoration:none;transition:background .2s,color .2s}
.hero-texto .btn:hover{background:var(--brand);color:#000}

/* Card contenido */
main .contenido{max-width:1000px;margin:2rem auto;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
figure.wide{margin:1rem 0}
figure.wide img{width:100%;height:auto;border-radius:10px}

/* Footer */
footer{background:#000;color:#fff;text-align:center;padding:1rem 0;margin-top:2rem}
.redes{margin-top:.5rem}
.redes a{color:#fff;margin:0 .5rem;font-size:1.2rem;transition:color .2s}
.redes a:hover{color:var(--brand)}
.legal-links a{color:#fff;text-decoration:none}
.legal-links a:hover{color:var(--brand)}

/* Cookies banner */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;display:none;background:rgba(0,0,0,.95);color:#fff;padding:1rem;border-top:2px solid var(--brand);z-index:2000}
.cookie-banner.show{display:block}
.cookie-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.cookie-actions button{border:none;padding:.6rem .8rem;border-radius:8px;cursor:pointer}
.btn-accept{background:var(--brand);color:#000}
.btn-reject{background:#222;color:#fff;border:1px solid #333}
.btn-settings{background:transparent;border:1px solid #555;color:#fff}
.cookie-prefs{display:none;margin-top:.5rem}
.cookie-prefs.show{display:block}
.muted{opacity:.8;font-size:.9rem}

/* Form */
form{display:flex;flex-direction:column;gap:1rem}
form input,form textarea{padding:.6rem;border:1px solid #ccc;border-radius:6px;font-size:1rem}
form label{font-weight:600}
form button[type=submit]{background:#000;color:#fff;border:none;padding:.8rem;border-radius:8px;cursor:pointer;transition:background .2s}
form button[type=submit]:hover{background:var(--brand);color:#000}
.highlight-error{outline:2px solid #e74c3c;box-shadow:0 0 0 4px rgba(231,76,60,.15)}
.toast{position:fixed;right:16px;bottom:16px;min-width:240px;max-width:340px;background:#111;color:#fff;border:1px solid #333;border-radius:10px;padding:.8rem 1rem;display:none;z-index:3000}
.toast.show{display:block}
.toast.success{border-color:#2ecc71}
.toast.error{border-color:#e74c3c}
.toast .close{background:transparent;border:none;color:#fff;font-size:20px;line-height:1;position:absolute;right:10px;top:6px;cursor:pointer}
.toast .title{font-weight:700;display:block;margin-bottom:.25rem}

/* Ocultar hamburguesa en escritorio */
.burger { display: none; }

@media (max-width: 900px) {
  .burger { display: inline-flex; }
}
/* Imágenes responsive en Eventos */
.evento figure { margin: 0 0 1.25rem; }
.evento img{
  display:block;
  width:100%;
  height:auto;            /* mantiene proporciones */
  border-radius:10px;
  object-fit:cover;       /* por si el contenedor limita */
  /* opcional: fija relación si quieres recorte uniforme */
  /* aspect-ratio: 16 / 9; */
  /* max-height: 60vh; */
}
