/* LigaBJJ v3 — sistema de diseño para subpáginas (eventos, guías)
   Derivado del rediseño de la home (index3): navy #0E1930, rojo #DC2626,
   Barlow Condensed para títulos, bandas claras alternadas. */
:root{
  --bg-dark:#0E1930; --surface:#16243E; --border-dark:#2B3D5F;
  --text:#F1F5F9; --text-muted:#9FB0C7;
  --l-bg:#F6F8FC; --l-bg-2:#EDF1F7; --l-card:#FFFFFF; --l-border:#DDE4EE;
  --ink:#0F172A; --ink-muted:#4B5B72;
  --accent:#DC2626; --accent-hover:#EF4444; --gold:#F59E0B; --gold-ink:#B45309;
  --radius:14px;
  --font-head:'Barlow Condensed','Barlow Condensed Fallback',system-ui,sans-serif;
  --font-body:'Barlow','Barlow Fallback',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:#fff;color:var(--ink);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:#B91C1C;text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
a,button{touch-action:manipulation}
.container{max-width:1160px;margin:0 auto;padding:0 24px}

/* ===== Header ===== */
.v3-header{position:sticky;top:0;z-index:100;background:rgba(14,25,48,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(43,61,95,.6)}
.v3-header .container{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.v3-brand img{height:34px;width:auto;display:block}
.v3-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.v3-nav a{font-family:var(--font-head);font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;padding:8px 2px;min-height:44px;display:inline-flex;align-items:center;transition:color .15s ease}
.v3-nav a:hover{color:var(--text)}
.v3-nav .v3-cta{background:var(--accent);color:#fff;padding:8px 16px;border-radius:8px;transition:background .15s ease}
.v3-nav .v3-cta:hover{background:var(--accent-hover);color:#fff}
.v3-lang{display:inline-flex;gap:2px;background:rgba(22,36,62,.7);border:1px solid var(--border-dark);border-radius:8px;padding:3px}
.v3-lang button{background:none;border:none;color:var(--text-muted);font-family:var(--font-head);font-weight:700;font-size:13px;letter-spacing:.06em;padding:8px 11px;min-height:40px;border-radius:6px;cursor:pointer;transition:color .15s ease,background .15s ease}
.v3-lang button:hover{color:var(--text)}
.v3-lang button.is-active{background:var(--accent);color:#fff}
.v3-menu-btn{display:none;background:none;border:1px solid var(--border-dark);color:var(--text);width:44px;height:44px;border-radius:8px;font-size:20px;line-height:1;cursor:pointer}
/* Mobile: collapse the nav behind a hamburger, matching the home page. */
@media(max-width:860px){
  .v3-header .container{flex-wrap:nowrap}
  .v3-menu-btn{display:grid;place-items:center}
  .v3-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border-bottom:1px solid var(--border-dark);padding:8px 24px 16px}
  .v3-nav.open{display:flex}
  .v3-nav a{padding:14px 4px;border-bottom:1px solid rgba(43,61,95,.4)}
  .v3-nav .v3-cta{margin-top:12px;justify-content:center;border-bottom:none}
  .v3-lang{align-self:flex-start;margin-top:12px}
  .v3-lang button{min-height:44px;padding:10px 18px;font-size:15px}
}

/* ===== Breadcrumb ===== */
.lp-breadcrumb{font-size:13px;color:var(--ink-muted);padding:14px 0}
.lp-breadcrumb a{color:var(--ink-muted)}

/* ===== Hero (lp-* eventos, g-* guías) ===== */
.lp-hero,.g-hero{position:relative;overflow:hidden;background:radial-gradient(900px 420px at 75% -10%,rgba(220,38,38,.28),transparent 60%),linear-gradient(135deg,#0B1326 0%,var(--bg-dark) 70%);color:var(--text);padding:64px 0 58px;text-align:center}
.lp-hero:after,.g-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(239,68,68,.6),transparent)}
.lp-hero img{max-width:120px;margin:0 auto 20px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.45))}
/* Hero partido con afiche protagonista (evento activo) */
.lp-hero-split{text-align:left;padding:56px 0 52px}
.lp-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center}
.lp-hero-split .lp-hero-media img{max-width:100%;width:min(430px,100%);margin:0 0 0 auto;border-radius:20px;box-shadow:0 26px 64px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06);filter:none;display:block}
.lp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.lp-hero-actions .lp-btn{margin-left:0}
@media(max-width:860px){
  .lp-hero-split{text-align:center;padding:40px 0 44px}
  .lp-hero-grid{grid-template-columns:1fr;gap:28px}
  .lp-hero-media{order:-1}
  .lp-hero-split .lp-hero-media img{width:min(300px,78vw);margin:0 auto}
  .lp-hero-actions{justify-content:center}
}
.lp-hero h1,.g-hero h1{font-family:var(--font-head);font-weight:800;text-transform:uppercase;color:#fff;font-size:clamp(32px,5.5vw,52px);line-height:1.02;margin:0 0 12px}
.lp-claim,.g-kicker{font-family:var(--font-head);color:var(--gold);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:14px;margin-bottom:12px}
.lp-meta{font-size:17px;color:var(--text-muted);margin-bottom:26px}
.lp-btn,.g-btn{display:inline-block;background:var(--accent);color:#fff !important;padding:14px 32px;border-radius:10px;font-family:var(--font-head);font-weight:700;font-size:17px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .15s ease,transform .15s ease}
.lp-btn:hover,.g-btn:hover{background:var(--accent-hover);transform:translateY(-2px)}
.lp-btn:active,.g-btn:active{transform:scaleX(1.03) scaleY(.95)}
.lp-btn.secondary{background:transparent;border:2px solid rgba(255,255,255,.4);margin-left:8px}
.lp-btn.secondary:hover{border-color:#fff;background:transparent}
.lp-btn.hotel{background:transparent;border:2px solid var(--gold);color:var(--gold) !important;display:inline-flex;align-items:center;gap:9px;margin-left:8px}
.lp-btn.hotel:hover{background:var(--gold);color:#0B1326 !important;border-color:var(--gold)}
.lp-btn.hotel svg{flex:none}
#hotel-sede,#la-sede{scroll-margin-top:80px}
@media(max-width:600px){.lp-btn.hotel{margin-left:0}}

/* ===== Secciones — bandas claras alternadas ===== */
.lp-section,.g-section{padding:56px 0}
.lp-section.alt,.g-section.alt{background:var(--l-bg);border-block:1px solid var(--l-border)}
.lp-section h2,.g-section h2{font-family:var(--font-head);font-weight:800;text-transform:uppercase;font-size:clamp(26px,3.4vw,36px);line-height:1.05;color:var(--ink);margin:0 0 12px}
.lp-section h3,.g-body h3{font-family:var(--font-head);font-weight:700;text-transform:uppercase;font-size:21px;color:var(--ink);margin:26px 0 8px}
.lp-lead{font-size:18px;color:var(--ink-muted);max-width:760px;margin-bottom:14px}
.lp-section p,.g-body p,.g-body li{color:#334155}
.g-body{max-width:780px;margin:0 auto}
.g-body p,.g-body li{font-size:17px;line-height:1.7}
.g-body ul,.g-body ol{padding-left:22px;margin:10px 0 18px}

/* ===== TL;DR (guías) — mismo lenguaje que el answer-first de la home ===== */
.g-tldr{background:var(--l-card);border:1px solid var(--l-border);border-left:4px solid var(--accent);border-radius:var(--radius);padding:20px 24px;max-width:780px;margin:0 auto 18px;box-shadow:0 3px 14px rgba(15,23,42,.06);font-size:16.5px;line-height:1.7;color:#334155}
.g-tldr strong{color:var(--ink)}

/* ===== Tablas ===== */
.table,.lp-table,.g-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--l-card);border:1px solid var(--l-border);border-radius:12px;overflow:hidden;box-shadow:0 3px 14px rgba(15,23,42,.06);margin:16px 0}
.lp-table{max-width:560px}
.g-table{max-width:780px;margin:18px auto}
.table th,.table td{padding:12px 16px;text-align:left;font-size:15px;border-bottom:1px solid var(--l-border)}
.table tr:last-child th,.table tr:last-child td{border-bottom:none}
.table thead th{background:var(--bg-dark);color:#fff;font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:13.5px;border-bottom:none}
.table tbody th{background:var(--l-bg);color:var(--ink);font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:13.5px}

/* ===== Hotel sede ===== */
.lp-hotel{background:#EAF0F8;border-block:1px solid var(--l-border)}
.lp-hotel-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center;margin-top:8px}
@media(max-width:820px){.lp-hotel-grid{grid-template-columns:1fr;gap:22px}}
.lp-hotel-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.lp-hotel-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;background:#dbe4f0;box-shadow:0 4px 16px rgba(15,23,42,.12);display:block}
.lp-hotel-gallery img:first-child{grid-column:1 / -1;aspect-ratio:2 / 1}
.lp-hotel-info h3{font-family:var(--font-head);font-weight:800;text-transform:uppercase;font-size:24px;color:var(--ink);margin:0 0 12px}
.lp-hotel-info ul{list-style:none;padding:0;margin:0 0 22px}
.lp-hotel-info li{position:relative;padding:7px 0 7px 26px;font-size:15.5px;color:#334155;line-height:1.5}
.lp-hotel-info li::before{content:"";position:absolute;left:0;top:14px;width:14px;height:2px;background:var(--accent)}

/* ===== Relacionados (guías) ===== */
.g-related{max-width:780px;margin:0 auto;font-size:15px;color:var(--ink-muted)}

/* ===== Footer ===== */
.v3-footer{background:var(--surface);color:var(--text-muted);padding:36px 0;text-align:center;font-size:14px;border-top:1px solid var(--border-dark)}
.v3-footer a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.v3-footer p{margin:6px 0}
.v3-footer .v3-tagline{color:var(--text);font-weight:600}

@media(max-width:600px){
  .lp-section,.g-section{padding:44px 0}
  .lp-btn.secondary{margin:10px 0 0;display:block}
  .lp-hero,.g-hero{padding:48px 0 44px}
}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
