@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900;1,800&family=Inter:wght@400;500;600;700&display=swap");

:root { --red:#e21b2b; --red-dark:#8d0711; --black:#070707; --panel:#111; --line:#2b2b2b; --muted:#a6a6a6; --white:#f4f1ee; }
* { box-sizing:border-box; }
html { background:var(--black); color:var(--white); scroll-behavior:smooth; }
body { margin:0; font-family:Inter,Arial,sans-serif; background:radial-gradient(circle at 8% 15%,#270609 0,transparent 28%),var(--black); }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
main { min-height:100vh; overflow:hidden; }
.flyer-hero { width:100%;max-width:720px;margin:0 auto;padding:22px 18px 74px;position:relative; }
.flyer-hero:after { content:"";position:absolute;left:-25vw;right:-25vw;bottom:0;height:210px;background:linear-gradient(transparent,var(--black));pointer-events:none; }
.flyer-hero img { display:block;width:100%;height:auto;border:1px solid #262626;box-shadow:0 28px 90px rgba(0,0,0,.72); }
.hero { min-height:570px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px 20px 90px; isolation:isolate; }
.hero-image { position:absolute; inset:0; z-index:-3; background:url("/flyer-union-open.jpeg") center 20%/cover; filter:grayscale(1) contrast(1.2); opacity:.44; }
.hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.12) 50%,rgba(0,0,0,.75)),linear-gradient(0deg,var(--black),transparent 35%,rgba(0,0,0,.3)); }
.brand-mark { width:66px;height:66px;display:grid;place-items:center;margin-bottom:18px;border:7px solid white;border-top-color:var(--red);font:900 0/1 Barlow Condensed;clip-path:polygon(0 0,100% 0,100% 65%,50% 100%,0 65%); }
.eyebrow,.section-kicker { margin:0; font:700 13px/1 Barlow Condensed; letter-spacing:.24em; color:#bbb; }
h1 { margin:8px 0 4px; font:900 clamp(72px,16vw,142px)/.67 Barlow Condensed; letter-spacing:-.045em; transform:skew(-4deg); text-shadow:0 7px 0 rgba(0,0,0,.35); }
h1 span,h1 strong { display:block; }
h1 span { color:#eee; } h1 strong { color:var(--red); }
.date { margin:34px 0 0; font:700 22px/1 Barlow Condensed; letter-spacing:.15em; }
.date b { color:var(--red); }
.capacity { position:relative; z-index:2; max-width:980px;margin:-54px auto 44px;padding:24px;border:1px solid #333;background:rgba(15,15,15,.96);box-shadow:0 20px 60px #000;border-radius:4px; }
.capacity>.section-kicker { text-align:center;margin-bottom:18px;color:#ddd; }
.capacity-grid { display:grid;grid-template-columns:repeat(3,1fr); }
.capacity-item { min-width:0;padding:6px 20px;text-align:center;border-right:1px solid #333; }
.capacity-item:last-child { border:0; }
.capacity-item span,.capacity-item small { display:block;color:#aaa;font-size:12px; }
.capacity-item strong { display:block;margin:5px 0 2px;font:800 28px/1 Barlow Condensed;color:white; }
.capacity-item.full strong { color:var(--red);font-size:21px; }
.capacity-belt { display:block;width:92px;height:66px;object-fit:contain;margin:0 auto 7px;transform:scaleX(1.18);filter:drop-shadow(0 4px 5px rgba(0,0,0,.7)); }
.register-card { max-width:980px;margin:0 auto 50px;border:1px solid #343434;border-left:6px solid var(--red);background:linear-gradient(145deg,#151515,#0b0b0b);padding:38px 42px 36px;box-shadow:0 35px 90px rgba(0,0,0,.5); }
.card-title { margin-bottom:28px; }
.card-title h2,.admin-panel h2 { margin:8px 0 2px;font:800 42px/1 Barlow Condensed;text-transform:uppercase; }
.card-title>p:last-child { color:#aaa;margin:8px 0 0; }
form>label,fieldset { display:block;margin:0 0 27px; }
label>span,legend { display:block;margin-bottom:10px;color:#bbb;font:700 13px/1 Barlow Condensed;letter-spacing:.19em; }
fieldset { border:0;padding:0;min-width:0;width:100%; }
input { width:100%;height:58px;padding:0 18px;border:1px solid #373737;border-radius:3px;background:#1a1a1a;color:white;outline:none;transition:.2s; }
input:focus { border-color:var(--red);box-shadow:0 0 0 3px rgba(226,27,43,.15); }
.category-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0;width:100%; }
.category { position:relative;min-width:0;max-width:100%;min-height:178px;padding:14px 10px;border:1px solid #383838;border-radius:4px;background:#181818;color:white;cursor:pointer;transition:.2s;display:grid;grid-template-rows:70px 42px 34px auto;align-items:center;justify-items:center;overflow:hidden; }
.category:hover,.category.selected { border-color:var(--red);background:#240d0f;transform:translateY(-2px); }
.category.selected:after { content:"✓";position:absolute;right:8px;top:8px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--red);font-size:12px; }
.category:disabled { opacity:.45;cursor:not-allowed;transform:none; }
.category b,.category span,.category em { display:block; }
.category b { font:700 20px/1.02 Barlow Condensed;align-self:center; }
.category span { max-width:100%;color:#999;margin-top:0;font-size:13px;line-height:1.25;white-space:nowrap;align-self:center;text-align:center; }
.category em { color:var(--red);font:800 12px Barlow Condensed;margin-top:6px; }
.belt-image { display:block;width:88px;height:68px;object-fit:contain;margin:0 auto;transform:scaleX(1.18);filter:drop-shadow(0 4px 5px rgba(0,0,0,.65)); }
.belt-principiante,.belt-intermedio { mix-blend-mode:screen; }
.belt-avanzado { transform:scaleX(1.6); }
.two-cols { display:grid;grid-template-columns:1fr 2fr;gap:18px; }
.notice { white-space:pre-line;padding:14px 16px;margin:0 0 20px;border-radius:3px;font-size:14px;line-height:1.5; }
.success { border:1px solid #1e7143;background:#0d2c1d;color:#b9f4d2; }
.error { border:1px solid #81222b;background:#2d0b0e;color:#ffb7bd; }
.submit { width:100%;min-height:62px;border:0;border-radius:3px;background:linear-gradient(#ef2939,#b40b17);color:white;font:800 25px/1 Barlow Condensed;letter-spacing:.12em;cursor:pointer;box-shadow:0 10px 30px rgba(226,27,43,.22); }
.submit:hover { filter:brightness(1.12); }.submit:disabled { opacity:.6;cursor:wait; }.submit.small { min-height:52px;font-size:20px; }
.requirements { display:flex;justify-content:space-between;gap:20px;margin-top:20px;color:#999;font:600 12px/1.4 Barlow Condensed;letter-spacing:.08em; }
.requirements b { color:white; }
footer { max-width:980px;margin:0 auto;padding:0 20px 50px;text-align:center; }
.admin-trigger { padding:13px 18px;border:1px solid #333;background:transparent;color:#888;font:700 12px Barlow Condensed;letter-spacing:.1em;cursor:pointer; }
.admin-panel { margin:20px auto 0;padding:28px;max-width:720px;text-align:left;border:1px solid #333;background:#111; }
.admin-panel form p { color:#999;font-size:14px; }
.admin-panel form input { margin:10px 0 14px; }
.admin-heading { display:flex;justify-content:space-between;align-items:start; }
.close { color:#aaa;background:none;border:0;cursor:pointer; }
.stats { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0; }
.stats div { padding:18px;background:#191919;text-align:center; }
.stats strong,.stats span { display:block; }.stats strong { font:800 34px Barlow Condensed;color:var(--red); }.stats span { color:#aaa;font-size:11px; }
.download { display:block;padding:17px;text-align:center;text-decoration:none;background:#16733d;color:white;font:800 19px Barlow Condensed;letter-spacing:.08em; }
.privacy { max-width:600px;margin:28px auto 0;color:#555;font-size:11px;line-height:1.5; }
@media (max-width:650px) {
  .flyer-hero { padding:0 0 56px; }
  .flyer-hero img { border:0;box-shadow:none; }
  .flyer-hero:after { height:145px; }
  .hero { min-height:470px;padding-top:35px; }.hero-image { background-position:38% 20%; }.brand-mark{width:52px;height:52px;}
  .date{font-size:17px}.capacity{margin:-32px 14px 28px;padding:20px 18px}.capacity-grid{grid-template-columns:1fr}.capacity-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;text-align:left;padding:10px 2px;border-right:0;border-bottom:1px solid #333}.capacity-item:last-child{border-bottom:0}.capacity-belt{grid-column:1;grid-row:1 / span 2;width:58px;height:52px;margin:0 6px 0 0}.capacity-item span{grid-column:2;font-size:13px;min-height:0}.capacity-item strong{grid-column:3;grid-row:1 / span 2;font-size:24px}.capacity-item small{grid-column:2;font-size:11px}.capacity-item.full strong{font-size:18px}
  .register-card{width:auto;max-width:calc(100% - 28px);margin:0 14px 36px;padding:28px 14px;border-left-width:4px}.register-card form{min-width:0;width:100%}.card-title h2{font-size:34px}.category-grid{gap:5px}.category{min-height:178px;padding:10px 2px;grid-template-rows:64px 42px 34px auto}.belt-image{width:68px;height:60px;margin:0}.category b{font-size:16px}.category span{font-size:10.5px;letter-spacing:0}
  .two-cols{grid-template-columns:1fr}.requirements{flex-direction:column;text-align:center;gap:7px}.stats{grid-template-columns:1fr}.admin-panel{padding:20px}
}
