:root{--primary:#65172e;--accent:#ef4057;--accent-soft:#ff8ca0;--bg:#fff8f5;--surface:#fff;--surface-2:#fff1f3;--text:#2a1720;--muted:#755e67;--border:#ead4da;--button-text:#fff;--shadow:0 22px 60px rgba(101,23,46,.14);--hero-bg:radial-gradient(circle at 75% 20%,#ffd7de 0,transparent 32%),linear-gradient(135deg,#fffaf8,#fff1f2);--event-gradient:linear-gradient(145deg,#7d1637,#ff6678);--footer:#65172e}
:root[data-theme="premium_dark"]{--primary:#d4af37;--accent:#e6be8a;--accent-soft:#f2d9a5;--bg:#0a0a0a;--surface:#1b1b1b;--surface-2:#2c2c2c;--text:#f5f5f5;--muted:#c6c1b8;--border:rgba(212,175,55,.45);--button-text:#0a0a0a;--shadow:0 22px 70px rgba(0,0,0,.5);--hero-bg:radial-gradient(circle at 80% 18%,rgba(212,175,55,.18),transparent 30%),linear-gradient(135deg,#090909,#151515);--event-gradient:linear-gradient(145deg,#141414,#34302a);--footer:#050505}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--text);background:var(--bg);transition:background .3s,color .3s}a{text-decoration:none;color:inherit}.nav{position:absolute;z-index:2;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px 6vw}.brand img{width:260px;max-width:48vw}.brand span{display:none;font-family:'Playfair Display',serif;font-size:34px;letter-spacing:.08em;color:var(--primary)}[data-theme="premium_dark"] .brand img{display:none}[data-theme="premium_dark"] .brand span{display:block}.nav-links{display:flex;gap:24px;align-items:center;font-weight:600}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:10px 14px;border-radius:999px;cursor:pointer}.btn{border:0;border-radius:999px;padding:14px 22px;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:.22s transform,.22s box-shadow,.22s filter}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn-primary{background:linear-gradient(120deg,var(--primary),var(--accent));color:var(--button-text);box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 32%,transparent)}.hero{min-height:760px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:115px 6vw 75px;position:relative;overflow:hidden;background:var(--hero-bg)}.hero:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--primary));right:-170px;bottom:-200px;opacity:.1}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:800;font-size:13px}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(48px,6.5vw,88px);line-height:.98;margin:16px 0 24px;color:var(--primary);max-width:780px}.hero p{font-size:20px;line-height:1.6;color:var(--muted);max-width:650px}.hero-card{background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(20px);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:34px;padding:32px;max-width:480px;justify-self:end;transform:rotate(2deg)}.hero-card h3{font-size:27px}.hero-visual{height:350px;border-radius:26px;background:linear-gradient(145deg,rgba(0,0,0,.2),rgba(101,23,46,.45)),url('hero-event.jpg') center/cover,var(--event-gradient);display:flex;align-items:end;padding:22px;color:#fff;position:relative}.hero-visual:before{content:"Flechazo Social";font-size:28px;font-weight:800}.section{padding:86px 6vw}.section.alt{background:var(--surface)}.section h2{font-family:'Playfair Display',serif;color:var(--primary);font-size:44px;margin:8px 0 12px}.lead{color:var(--muted);font-size:18px;line-height:1.7}.events{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.event{background:var(--surface);border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);transition:.25s transform,.25s border-color}.event:hover{transform:translateY(-5px);border-color:var(--primary)}.event-img{height:230px;background:var(--event-gradient);background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:22px;color:#fff;font-size:28px;font-family:'Playfair Display',serif}.event-img span{filter:drop-shadow(0 2px 8px #000)}.event-body{padding:24px}.tag{display:inline-block;padding:7px 11px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--primary);font-weight:800;font-size:12px}.event h3{font-size:24px;margin:14px 0 8px}.meta{color:var(--muted);line-height:1.8}.progress{height:10px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin:18px 0 8px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:99px}.event-actions{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.price{font-size:25px;font-weight:800;color:var(--primary)}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}.step{background:var(--surface-2);border:1px solid var(--border);padding:30px;border-radius:22px}.step b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--primary);color:var(--button-text)}.community{display:flex;align-items:center;justify-content:space-between;gap:40px}.community>div{max-width:780px}.footer{padding:45px 6vw;background:var(--footer);color:#fff;border-top:1px solid var(--border)}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px;z-index:10}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:28px;max-width:650px;width:100%;max-height:92vh;overflow:auto;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field input,.field select{border:1px solid var(--border);border-radius:13px;padding:13px;font:inherit;background:var(--bg);color:var(--text)}.checkbox{background:var(--surface-2);padding:13px;border-radius:12px}.close{float:right;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:50%;width:35px;height:35px;cursor:pointer}@media(max-width:900px){.nav-links a,.nav-links .theme-toggle{display:none}.hero{grid-template-columns:1fr;padding-top:130px}.hero-card{justify-self:start;margin-top:35px;transform:none}.events,.how{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.community{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.brand img{width:190px}.brand span{font-size:25px}.nav .btn{padding:11px 14px}.hero{min-height:auto}.section{padding:65px 5vw}.event-actions{align-items:flex-start;gap:14px;flex-direction:column}}
.profile-modal{max-width:900px;max-height:94vh;overflow:auto}.profile-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.profile-head strong{font-size:1.4rem;color:var(--primary)}.profile-progress{height:8px;background:var(--surface-2,#eee);border-radius:20px;overflow:hidden;margin:14px 0 28px}.profile-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));transition:.3s}.profile-question{display:block;padding:20px 0;border-bottom:1px solid var(--border)}.profile-question h4{font-size:1.05rem;margin:0 0 8px}.profile-question sup{color:var(--accent)}.question-help{color:var(--muted);font-size:.92rem;margin:0 0 14px}.profile-question textarea,.profile-question>input{width:100%}.scale-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}.scale-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}.scale-options label{border:1px solid var(--border);padding:12px;text-align:center;border-radius:12px;cursor:pointer}.scale-options label.selected,.choice-grid label.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 25%,transparent);background:color-mix(in srgb,var(--primary) 10%,var(--card))}.scale-options input,.choice-grid input{position:absolute;opacity:0}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-grid label{border:1px solid var(--border);border-radius:12px;padding:13px;cursor:pointer}.consent-list{display:grid;gap:12px}.consent-list label{display:flex;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px}.consent-list small{display:block;color:var(--muted);margin-top:4px}.profile-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.profile-actions span{color:var(--muted);font-size:.9rem}.autosave{text-align:center;color:var(--muted);font-size:.82rem}.profile-notice,.profile-success{padding:12px 16px;border-radius:12px;margin-top:18px;background:#fff4d6;color:#6a4b00}.profile-success{background:#e7f8ee;color:#17643a}@media(max-width:650px){.choice-grid{grid-template-columns:1fr}.profile-actions{flex-wrap:wrap}.profile-actions span{order:3;width:100%;text-align:center}}

/* Branding 1.1 */
.brand{display:flex;align-items:center;min-width:210px}.brand picture{display:block}.brand-logo{display:block;width:min(360px,32vw);max-height:74px;object-fit:contain;object-position:left center}.footer-logo{display:block;width:min(360px,80vw);max-height:95px;object-fit:contain;margin:0 auto 12px}[data-theme="premium_dark"] .footer-logo{filter:none}@media(max-width:760px){.brand{min-width:0}.brand-logo{width:190px;max-height:55px}.footer-logo{width:250px}}

/* Branding 1.2: logo transparente y Flechazo Social editable */
.brand-logo{width:min(320px,29vw);max-height:86px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}.hero-visual{background-image:linear-gradient(145deg,rgba(0,0,0,.2),rgba(101,23,46,.45));background-color:var(--surface-2)}.hero-visual:before{display:none}.hero-visual span{font-size:28px;font-weight:800;text-shadow:0 2px 12px rgba(0,0,0,.75)}.hero-visual.has-image{background-size:cover;background-position:center}.footer-logo{filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}[data-theme="premium_dark"] .brand-logo,[data-theme="premium_dark"] .footer-logo{filter:drop-shadow(0 0 18px rgba(212,175,55,.2))}@media(max-width:760px){.brand-logo{width:205px;max-height:64px}}@media(max-width:520px){.brand-logo{width:170px;max-height:52px}}

/* Branding 1.3 — Logo premium visible en el encabezado */
.nav{
  z-index:20;
  padding:28px 6vw 18px;
  min-height:112px;
}
.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-width:0;
}
.brand img,
[data-theme="premium_dark"] .brand img{
  display:block;
}
[data-theme="premium_dark"] .brand span{
  display:none;
}
.brand-logo,
[data-theme="premium_dark"] .brand-logo{
  width:clamp(235px,25vw,360px);
  height:auto;
  max-height:108px;
  object-fit:contain;
  object-position:left center;
}
[data-theme="premium_dark"] .brand-logo{
  filter:drop-shadow(0 8px 24px rgba(212,175,55,.22));
}
[data-theme="premium_dark"] .nav-links a{
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
[data-theme="premium_dark"] .hero{
  padding-top:155px;
}
@media(max-width:900px){
  .nav{padding:20px 5vw;min-height:92px}
  .brand-logo,[data-theme="premium_dark"] .brand-logo{width:clamp(190px,42vw,255px);max-height:76px}
  [data-theme="premium_dark"] .hero{padding-top:125px}
}
@media(max-width:560px){
  .nav{padding:16px 4.5vw;min-height:80px}
  .brand-logo,[data-theme="premium_dark"] .brand-logo{width:170px;max-height:62px}
  [data-theme="premium_dark"] .hero{padding-top:110px}
}
.payment-choice{margin-top:18px}.payment-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.payment-choice-grid button{padding:18px;text-align:left;border:1px solid rgba(212,175,55,.55);border-radius:14px;background:#202020;color:#fff;cursor:pointer}.payment-choice-grid button:hover{border-color:#edc84b;transform:translateY(-1px)}.payment-choice-grid b,.payment-choice-grid small{display:block}.payment-choice-grid small{margin-top:7px;color:#d3ceca;line-height:1.4}.manual-payment-result{margin-top:18px;padding:18px;border:1px solid rgba(212,175,55,.6);border-radius:14px;background:#202020}.bank-details{display:grid;gap:5px;margin:14px 0;padding:14px;border-radius:10px;background:#111}.bank-details b{color:#edc84b}@media(max-width:760px){.payment-choice-grid{grid-template-columns:1fr}}
.proof-upload{display:flex;gap:12px;align-items:end;justify-content:space-between;margin-top:14px;padding:14px;border:1px dashed rgba(212,175,55,.55);border-radius:12px}.proof-upload label{display:grid;gap:7px}.proof-upload input{max-width:100%}@media(max-width:620px){.proof-upload{align-items:stretch;flex-direction:column}}

/* v1.9 - Preventa visible */
.presale-box{margin:16px 0 4px;padding:14px 15px;border-radius:16px;border:1px solid var(--border);background:var(--surface-2)}
.presale-box.active{border-color:color-mix(in srgb,var(--primary) 70%,var(--border));box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 12%,transparent)}
.presale-label{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--primary);margin-bottom:7px}
.presale-prices{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.presale-prices strong{font-size:30px;line-height:1;color:var(--primary)}.presale-prices span{font-size:14px;color:var(--muted)}.presale-prices span b{text-decoration:none;color:var(--text)}
.presale-box small{display:block;margin-top:7px;color:var(--muted)}.presale-box.ended{opacity:.88}.price-current{color:var(--primary)}

/* Flechazo v1.10 · eventos finalizados */
.past-events{margin-top:78px;padding-top:62px;border-top:1px solid var(--border)}
.event-finished{opacity:.94;filter:saturate(.82)}
.event-finished:hover{transform:none;border-color:var(--border)}
.event-finished .event-img{position:relative;filter:saturate(.72)}
.finished-ribbon{position:absolute!important;top:16px;right:16px;bottom:auto!important;padding:8px 12px;border-radius:999px;background:rgba(8,8,8,.88);border:1px solid color-mix(in srgb,var(--primary) 70%,transparent);color:var(--primary)!important;font-family:'DM Sans',sans-serif!important;font-size:11px!important;font-weight:900;letter-spacing:.08em;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.finished-box{display:grid;gap:5px;margin:16px 0 4px;padding:14px 15px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}
.finished-box b{color:var(--primary)}.finished-box span{color:var(--muted);font-size:14px;line-height:1.45}
.registration-closed{display:inline-flex;align-items:center;padding:11px 15px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:13px;font-weight:800}
.events-empty{grid-column:1/-1;display:grid;gap:5px;padding:26px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--muted)}.events-empty b{color:var(--text);font-size:18px}
