/* ==========================================================================
   Prisma Fest — tema de evento (festival / prisma de luz)
   Ámbito: todo bajo .evt-prisma. Fuentes: Syne (display) · Inter (texto)
   ========================================================================== */
.evt-prisma {
  --bg:   #0b0712;
  --bg2:  #130b1f;
  --card: #1a1029;
  --line: rgba(255,255,255,0.10);
  --c1: #ff2e9a;  /* magenta */
  --c2: #7b2ff7;  /* violeta */
  --c3: #20e3ff;  /* cian */
  --text:  #f3eefb;
  --muted: #a99bc4;
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', sans-serif;
}
.evt-prisma h1, .evt-prisma h2, .evt-prisma h3, .evt-prisma .display {
  font-family:'Syne', sans-serif; font-weight:800; letter-spacing:-0.01em; line-height:1; text-transform:none;
}
.evt-prisma .wrap { max-width:1160px; margin:0 auto; padding:0 1.5rem; }
.evt-prisma a { color:inherit; }
.evt-prisma .grad-text { background:linear-gradient(90deg,var(--c1),var(--c2) 45%,var(--c3)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Botones */
.evt-prisma .pbtn { display:inline-flex; align-items:center; gap:.5rem; font-family:'Syne'; font-weight:700; font-size:.95rem; padding:.9rem 1.7rem; border-radius:999px; border:2px solid transparent; cursor:pointer; transition:transform .15s, box-shadow .25s, opacity .2s; white-space:nowrap; }
.evt-prisma .pbtn:hover { transform:translateY(-2px); }
.evt-prisma .pbtn--grad { background:linear-gradient(90deg,var(--c1),var(--c2) 55%,var(--c3)); color:#fff; box-shadow:0 8px 30px rgba(123,47,247,.4); }
.evt-prisma .pbtn--ghost { border-color:rgba(255,255,255,.3); color:#fff; }
.evt-prisma .pbtn--ghost:hover { border-color:var(--c3); color:var(--c3); }
.evt-prisma .pbtn--soon { cursor:default; opacity:.85; }
.evt-prisma .pbtn--soon:hover { transform:none; }

/* HERO con malla de degradados */
.evt-prisma .pf-hero { position:relative; overflow:hidden; padding:7rem 0 6rem; text-align:center;
  background:
    radial-gradient(40% 50% at 15% 20%, rgba(255,46,154,.45), transparent 60%),
    radial-gradient(45% 55% at 85% 25%, rgba(32,227,255,.40), transparent 60%),
    radial-gradient(60% 60% at 50% 100%, rgba(123,47,247,.55), transparent 65%),
    var(--bg); }
.evt-prisma .pf-hero::before { content:""; position:absolute; inset:0; background:url('/assets/img/hero-prisma.jpg') center/cover; opacity:.18; mix-blend-mode:luminosity; }
.evt-prisma .pf-hero__in { position:relative; z-index:2; }
.evt-prisma .pf-kicker { font-family:'Syne'; font-weight:700; letter-spacing:.35em; text-transform:uppercase; font-size:.85rem; color:var(--c3); }
.evt-prisma .pf-hero h1 { font-size:clamp(3.2rem,12vw,8.5rem); margin:.6rem 0; }
.evt-prisma .pf-logo { width:min(560px,80vw); height:auto; margin:.4rem auto .6rem; filter:drop-shadow(0 6px 30px rgba(0,0,0,.45)); }
.evt-prisma .pf-hero .date { display:inline-block; margin-top:.5rem; font-family:'Syne'; font-weight:700; border:1px solid var(--line); border-radius:999px; padding:.5rem 1.3rem; background:rgba(255,255,255,.04); }
.evt-prisma .pf-hero p.lead { color:#e7defb; max-width:560px; margin:1.4rem auto 2rem; font-size:1.15rem; }
.evt-prisma .pf-cta { display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }

/* Secciones */
.evt-prisma .pf-sec { padding:4.5rem 0; }
.evt-prisma .pf-sec--alt { background:var(--bg2); }
.evt-prisma .pf-head { text-align:center; max-width:640px; margin:0 auto 2.8rem; }
.evt-prisma .pf-head .pf-kicker { color:var(--c1); }
.evt-prisma .pf-head h2 { font-size:clamp(2rem,5vw,3.2rem); margin-top:.4rem; }
.evt-prisma .pf-head p { color:var(--muted); margin-top:.7rem; }

/* Line-up */
.evt-prisma .pf-lineup { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.2rem; }
.evt-prisma .pf-art { position:relative; border-radius:16px; overflow:hidden; padding:1px;
  background:linear-gradient(135deg,var(--c1),var(--c2),var(--c3)); }
.evt-prisma .pf-art__in { background:var(--card); border-radius:15px; padding:1.6rem 1.4rem; height:100%; }
.evt-prisma .pf-art .ph { position:relative; overflow:hidden; aspect-ratio:3/4; border-radius:12px; margin-bottom:1rem;
  background:linear-gradient(135deg, rgba(255,46,154,.35), rgba(32,227,255,.3)); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.6); font-family:'Syne'; font-weight:700; }
.evt-prisma .pf-art .ph img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.evt-prisma .pf-art h3 { font-size:1.3rem; }
.evt-prisma .pf-art span { color:var(--muted); font-size:.9rem; }

/* Programa / timeline */
.evt-prisma .pf-prog { max-width:680px; margin:0 auto; }
.evt-prisma .pf-soon { text-align:center; background:rgba(255,255,255,.04); border:1px dashed var(--line); border-radius:14px; padding:1.6rem; color:var(--muted); }
.evt-prisma .pf-soon strong { color:var(--c3); }
.evt-prisma .pf-slot { display:grid; grid-template-columns:90px 1fr; gap:1.2rem; padding:1.1rem 0; border-bottom:1px solid var(--line); align-items:baseline; }
.evt-prisma .pf-slot time { font-family:'Syne'; font-weight:800; font-size:1.2rem; }
.evt-prisma .pf-slot time { color:transparent; background:linear-gradient(90deg,var(--c1),var(--c3)); -webkit-background-clip:text; background-clip:text; }
.evt-prisma .pf-slot h3 { font-size:1.15rem; }
.evt-prisma .pf-slot p { color:var(--muted); font-size:.92rem; margin-top:.2rem; }

/* Info práctica */
.evt-prisma .pf-info { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.2rem; }
.evt-prisma .pf-info div { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:1.6rem; text-align:center; }
.evt-prisma .pf-info b { display:block; font-family:'Syne'; font-weight:800; font-size:1.3rem; margin-bottom:.3rem; }
.evt-prisma .pf-info span { color:var(--muted); font-size:.9rem; }

/* CTA entradas */
.evt-prisma .pf-tickets { text-align:center; padding:5rem 0; position:relative; overflow:hidden;
  background:radial-gradient(60% 120% at 50% 0%, rgba(123,47,247,.4), transparent 60%), var(--bg2); }
.evt-prisma .pf-tickets h2 { font-size:clamp(2.2rem,6vw,3.6rem); }
.evt-prisma .pf-tickets p { color:var(--muted); margin:.8rem auto 1.8rem; max-width:520px; }

/* Formulario de compra */
.evt-prisma .pf-form { max-width:640px; margin:0 auto; text-align:left; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:2rem; }
.evt-prisma .pf-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.evt-prisma .pf-form label { display:block; font-size:.85rem; font-weight:600; color:var(--muted); }
.evt-prisma .pf-form input[type=text], .evt-prisma .pf-form input[type=email], .evt-prisma .pf-form input[type=tel], .evt-prisma .pf-form input[type=date],
.evt-prisma .pf-form select, .evt-prisma .pf-form textarea {
  width:100%; margin-top:.4rem; padding:.8rem .9rem; border-radius:10px; border:1px solid var(--line);
  background:rgba(255,255,255,.04); color:var(--text); font-family:'Inter',sans-serif; font-size:1rem;
}
.evt-prisma .pf-form textarea { resize:vertical; min-height:48px; }
.evt-prisma .pf-form select { appearance:none; cursor:pointer; }
.evt-prisma .pf-form select option { background:#1a1029; color:var(--text); }
.evt-prisma .pf-form input:focus, .evt-prisma .pf-form select:focus, .evt-prisma .pf-form textarea:focus { outline:none; border-color:var(--c2); box-shadow:0 0 0 3px rgba(123,47,247,.25); }
.evt-prisma .pf-full { grid-column:1 / -1; }
.evt-prisma .pf-formhead { font-family:'Syne'; font-weight:700; font-size:1rem; color:var(--c3); margin:1.6rem 0 .4rem; padding-bottom:.4rem; border-bottom:1px solid var(--line); }
.evt-prisma .pf-formhead:first-child { margin-top:0; }
.evt-prisma .pf-opt { color:var(--muted); font-weight:400; font-size:.78rem; }
.evt-prisma .pf-note { font-size:.82rem; color:#ffd0e6; margin-top:.5rem; }
.evt-prisma .pf-minor label { display:block; font-size:.85rem; font-weight:600; color:var(--muted); }
.evt-prisma .pf-check em { color:var(--c1); font-style:normal; font-weight:600; }
.evt-prisma .pf-legal { margin:-.6rem 0 1rem 1.8rem; font-size:.85rem; color:var(--muted); }
.evt-prisma .pf-legal summary { cursor:pointer; color:var(--c3); }
.evt-prisma .pf-legal p { margin:.7rem 0; }
.evt-prisma .pf-cupos { display:inline-block; margin-top:.9rem; background:rgba(32,227,255,.12); border:1px solid rgba(32,227,255,.4); color:#c9f6ff; padding:.4rem 1rem; border-radius:999px; font-size:.9rem; }
.evt-prisma .pf-pricenote { color:var(--muted); font-size:.85rem; margin-top:.3rem; }
.evt-prisma .pf-contact { text-align:center; margin-top:1.6rem; color:var(--muted); }
.evt-prisma .pf-contact a, .evt-prisma .pf-secure a { color:var(--c3); text-decoration:underline; }
.evt-prisma #pf-price small { font-size:.7em; color:var(--c3); font-weight:400; }

/* Colaboradores — se centran, sin huecos vacíos: crece según se añadan logos */
.evt-prisma .pf-sponsors { display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; }
.evt-prisma .pf-sponsor { width:190px; aspect-ratio:3/2; display:grid; place-items:center; background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:14px; color:var(--muted); font-size:.85rem; text-align:center; padding:1.2rem; transition:transform .15s, border-color .2s; }
.evt-prisma .pf-sponsor:hover { transform:translateY(-3px); border-color:var(--c3); }
.evt-prisma .pf-sponsor img { max-width:100%; max-height:100%; object-fit:contain; }
.evt-prisma .pf-sponsor-note { text-align:center; color:var(--muted); margin-top:1.5rem; font-size:.9rem; }
.evt-prisma .pf-sponsor-note a { color:var(--c3); text-decoration:underline; }
.evt-prisma .pf-check { display:flex; align-items:flex-start; gap:.6rem; margin:1.3rem 0; font-size:.9rem; color:var(--text); font-weight:400; }
.evt-prisma .pf-check input { margin-top:.2rem; width:18px; height:18px; accent-color:var(--c1); flex:0 0 auto; }
.evt-prisma .pf-check a { color:var(--c3); text-decoration:underline; }
.evt-prisma .pf-form .pbtn { width:100%; justify-content:center; margin-top:.4rem; }
.evt-prisma .pf-error { background:rgba(255,46,154,.12); border:1px solid rgba(255,46,154,.4); color:#ffd0e6; padding:.8rem 1rem; border-radius:10px; font-size:.9rem; margin-bottom:1rem; }
.evt-prisma .pf-secure { text-align:center; color:var(--muted); font-size:.82rem; margin-top:1rem; }
.evt-prisma .pf-refund { background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:10px; padding:.7rem .9rem; font-size:.85rem; color:var(--muted); margin-bottom:1rem; }
.evt-prisma .pf-refund strong { color:var(--text); }

/* Página de gracias */
.evt-prisma .pf-thanks { text-align:center; max-width:560px; margin:0 auto; }
.evt-prisma .pf-thanks .check { width:84px; height:84px; border-radius:50%; margin:0 auto 1.5rem; display:grid; place-items:center; font-size:2.4rem; background:linear-gradient(135deg,var(--c1),var(--c3)); }
.evt-prisma .pf-thanks .card { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:1.3rem; margin:1.5rem 0; }
.evt-prisma .pf-muted { color:var(--muted); }

@media (max-width:640px){
  .evt-prisma .pf-slot{ grid-template-columns:70px 1fr; gap:.8rem; }
  .evt-prisma .pf-grid{ grid-template-columns:1fr; }
  .evt-prisma .pf-form{ padding:1.4rem; }
}
