/*
Theme Name: Leones Academy
Theme URI: https://leones-academy.bruno-herrera618739.chatgpt.site
Author: Leones Academy
Description: Tema de bloques para la landing page de Leones Academy. Optimizado para editar textos, botones, horarios y testimonios desde el Editor del sitio.
Version: 1.0.3
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: leones-academy
*/

:root { --black:#080909; --panel:#151515; --white:#f5f1e9; --muted:#b6b0a7; --gold:#c89335; --gold-light:#dda94a; --red:#a60d17; --line:rgba(255,255,255,.13); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:84px; }
body { margin:0; background:var(--black); color:var(--white); font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.wp-site-blocks { padding:0; }
.wp-site-blocks > * { margin-block-start:0; }
.leones-main { margin:0; }
.wp-block-group.shell { max-width:none; }
a { color:inherit; text-decoration:none; }
button,summary,a { -webkit-tap-highlight-color:transparent; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }

.site-header { position:fixed; z-index:50; inset:0 0 auto; background:linear-gradient(180deg,rgba(4,4,4,.96),rgba(4,4,4,.72),transparent); backdrop-filter:blur(6px); }
.header-inner { height:86px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:34px; }
.logo { width:92px; height:74px; display:block; justify-self:start; margin:0; }
.logo img { width:100%!important; height:100%!important; object-fit:contain; filter:drop-shadow(0 4px 16px rgba(0,0,0,.5)); }
.desktop-nav { display:flex; align-items:center; gap:40px; }
.desktop-nav .wp-block-button__link { position:relative; padding:31px 0 22px!important; border:0!important; border-radius:0!important; background:transparent!important; color:#e6e0d8!important; font-size:.78rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.desktop-nav .wp-block-button__link::after { position:absolute; inset:auto 0 14px; height:1px; background:var(--gold); content:""; transform:scaleX(0); transition:transform .2s ease; }
.desktop-nav .wp-block-button__link:hover::after,.desktop-nav .wp-block-button__link:focus-visible::after,.desktop-nav .active .wp-block-button__link::after { transform:scaleX(1); }
.desktop-nav .active .wp-block-button__link { color:var(--gold-light)!important; }
.outline-button,.primary-button,.gold-button { display:inline-flex; align-items:center; justify-content:center; text-transform:uppercase; font-weight:800; letter-spacing:.045em; transition:transform .2s ease,filter .2s ease,background .2s ease; }
.outline-button .wp-block-button__link { min-height:42px; display:flex; align-items:center; justify-content:center; padding:0 21px!important; border:1px solid var(--gold)!important; border-radius:22px!important; background:transparent!important; color:var(--gold-light)!important; font-size:.72rem; }
.outline-button .wp-block-button__link:hover,.outline-button .wp-block-button__link:focus-visible { background:rgba(201,147,53,.12)!important; transform:translateY(-2px); }
.whatsapp { margin-right:9px; font-size:1rem; }
.mobile-menu { display:none; justify-self:end; }

.hero { min-height:755px; position:relative; overflow:hidden; border-bottom:1px solid var(--line); background:radial-gradient(circle at 76% 34%,#28231f 0,#101010 30%,#060707 70%); }
.hero::before { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#070808 0%,rgba(7,8,8,.99) 33%,rgba(7,8,8,.28) 66%,rgba(7,8,8,.15) 100%),radial-gradient(circle at 30% 50%,transparent 0 40%,rgba(0,0,0,.28) 100%); content:""; }
.hero::after { position:absolute; inset:0; z-index:1; background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.015) 0 1px,transparent 1px 5px); mix-blend-mode:screen; content:""; pointer-events:none; }
.hero-photo { position:absolute; z-index:0; top:54px; right:max(calc((100vw - 1600px)/2 - 20px),0px); bottom:0; width:min(62vw,900px); max-width:none!important; margin:0!important; background:url('assets/images/hero-athletes.jpg') center top/cover no-repeat; filter:saturate(.9) contrast(1.08); }
.hero-photo::after { position:absolute; inset:0; background:linear-gradient(90deg,#080909 0%,transparent 26%),linear-gradient(0deg,#080909 0%,transparent 24%); content:""; }
.hero-inner { width:min(1600px,calc(100% - 80px)); min-height:755px; position:relative; z-index:2; display:flex; flex-direction:row; justify-content:flex-start; align-items:center; padding-top:76px; }
.hero-copy { width:min(42%,550px); margin-right:auto; padding:56px 0 46px; }
.kicker { margin:0 0 18px; color:var(--gold); font-size:.65rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif; font-weight:900; text-transform:uppercase; }
h1 { width:116%; margin-bottom:24px; font-size:clamp(4.2rem,6.5vw,6.3rem); line-height:.84; letter-spacing:-.045em; transform:skew(-7deg) scaleX(.86); transform-origin:left center; text-shadow:0 4px 30px rgba(0,0,0,.45); }
.hero-promise { margin-bottom:20px; color:#eee9e0; font-size:clamp(1.35rem,2vw,1.85rem); line-height:1.35; }
.hero-promise strong { color:var(--gold-light); font-weight:500; }
.hero-description { max-width:430px; margin-bottom:28px; color:#c8c1b8; font-size:.95rem; line-height:1.65; }
.primary-button .wp-block-button__link { min-height:52px; display:flex; align-items:center; padding:0 23px!important; border:1px solid #c31a25!important; border-radius:0!important; background:linear-gradient(180deg,#ba1420,#870b13)!important; box-shadow:0 8px 24px rgba(158,7,17,.28); color:white!important; font-size:.72rem; }
.primary-button .wp-block-button__link:hover,.primary-button .wp-block-button__link:focus-visible,.gold-button .wp-block-button__link:hover,.gold-button .wp-block-button__link:focus-visible { transform:translateY(-2px); filter:brightness(1.12); }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:40px; }
.proof-grid .wp-block-column { display:grid; grid-template-columns:38px 1fr; gap:11px; align-items:start; }
.proof-grid p:first-child { color:var(--gold-light); font-size:2rem!important; line-height:1; }
.proof-grid p { margin:0; color:#d8d1c8; font-size:.82rem!important; line-height:1.5; letter-spacing:.035em; text-transform:uppercase; }

.section { padding:54px 0 62px; border-bottom:1px solid var(--line); background-color:var(--black); background-image:radial-gradient(circle at 20% 0%,rgba(202,149,60,.05),transparent 26%),repeating-linear-gradient(120deg,rgba(255,255,255,.012) 0 1px,transparent 1px 5px); }
.section-title { margin-bottom:34px; }
.section-title h2 { width:112%; margin-bottom:9px; font-size:clamp(2.3rem,4vw,3.2rem); line-height:1; letter-spacing:-.035em; transform:skew(-7deg) scaleX(.9); transform-origin:left center; }
.section-title::after { width:58px; height:2px; display:block; background:linear-gradient(90deg,var(--gold-light),var(--red)); content:""; }
.class-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.class-card { min-height:250px; padding:8px 32px 18px; text-align:center; border-left:1px solid var(--line); }
.class-card:last-child { border-right:1px solid var(--line); }
.class-card .class-icon { width:74px; height:74px; margin:0 auto 15px; color:var(--gold-light); font-size:3.7rem!important; line-height:74px; }
.class-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.class-card h3 { margin-bottom:14px; font-size:1.5rem!important; letter-spacing:.02em; }
.class-card > p:not(.class-icon) { margin:0 auto; color:#c8c1b8; font-size:1rem!important; line-height:1.7; }

.schedule-section { min-height:445px; position:relative; overflow:hidden; padding:52px 0 48px; }
.schedule-section::after { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#080909 0%,#080909 43%,rgba(8,9,9,.76) 61%,rgba(8,9,9,.1) 100%); content:""; }
.schedule-photo { position:absolute; z-index:0; inset:0 0 0 50%; max-width:none!important; margin:0!important; background:url('assets/images/schedule-training.jpg') center/cover no-repeat; filter:saturate(.72) contrast(1.1); }
.schedule-inner { position:relative; z-index:2; }
.schedule-content { width:62%; }
.table-wrap { overflow-x:auto; }
.schedule-table { margin:0; }
.schedule-table table { width:100%; border-collapse:collapse; border:1px solid rgba(255,255,255,.12)!important; font-size:.92rem!important; text-transform:uppercase; }
.schedule-table thead { border-bottom:1px solid rgba(210,156,61,.55)!important; }
.schedule-table th,.schedule-table td { padding:14px 12px; border-color:rgba(255,255,255,.12)!important; border-style:solid; border-width:0 1px 1px 0; background:rgba(5,6,6,.18); text-align:left; white-space:nowrap; }
.schedule-table th { color:#d6a448; font-size:.8rem!important; letter-spacing:.055em; }
.schedule-table td { color:#beb8b0; font-size:.9rem!important; }
.location { margin:19px 0 0; color:#a9a29a; font-size:.82rem!important; }
.location span { margin-right:7px; color:var(--gold-light); font-size:1.1rem; }
.location a:hover,.location a:focus-visible { color:var(--white); }

.testimonials-section { padding-bottom:70px; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.testimonial { min-height:235px; position:relative; display:flex; flex-direction:column; padding:24px 24px 20px; border:1px solid rgba(255,255,255,.045); border-radius:3px; background:linear-gradient(145deg,#191919,#101010); box-shadow:0 12px 30px rgba(0,0,0,.18); }
.quote-mark { position:absolute; top:12px; left:18px; color:var(--gold-light); font-family:Georgia,serif; font-size:3.8rem; line-height:1; }
.quote { padding-left:38px; margin-bottom:24px; color:#ddd6cd; font-size:1.02rem!important; line-height:1.7; }
.person { display:flex; align-items:center; gap:13px; margin-top:auto; }
.person figure { flex:0 0 48px; margin:0; }
.person img { width:48px!important; height:48px!important; border:1px solid rgba(206,154,62,.5); border-radius:50%; object-fit:cover; filter:saturate(.76) contrast(1.05); }
.person p { margin:0; }
.person strong { color:var(--gold-light); font-size:.9rem; letter-spacing:.05em; text-transform:uppercase; }
.person .wp-block-group p:last-child { color:#b9b1a8; font-size:.82rem!important; }

.cta-section { position:relative; overflow:hidden; padding:36px 0; background:radial-gradient(circle at 11% 50%,#890b13,transparent 24%),linear-gradient(90deg,#250506,#750b12 43%,#2b0908); }
.cta-section::after { position:absolute; inset:0; background:repeating-linear-gradient(125deg,rgba(255,255,255,.02) 0 1px,transparent 1px 6px); content:""; }
.cta-inner { position:relative; z-index:1; display:grid; grid-template-columns:110px 1fr auto; align-items:center; gap:28px; }
.logo.compact { width:100px; height:88px; }
.cta-copy h2 { width:110%; margin-bottom:8px; font-size:clamp(1.8rem,3vw,2.8rem); line-height:1; letter-spacing:-.03em; transform:skew(-7deg) scaleX(.92); transform-origin:left center; }
.cta-copy p { margin:0; color:#e7d9cf; font-size:.95rem; }
.contact-links { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:14px; }
.contact-links .wp-block-button__link { padding:0 0 3px!important; border:0!important; border-bottom:1px solid rgba(255,255,255,.35)!important; border-radius:0!important; background:transparent!important; color:#f4ded4!important; font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.contact-links .wp-block-button__link:hover,.contact-links .wp-block-button__link:focus-visible { border-color:var(--gold-light)!important; color:white!important; }
.gold-button .wp-block-button__link { min-height:54px; display:flex; align-items:center; padding:0 25px!important; border:1px solid #e6b04b!important; border-radius:7px!important; background:linear-gradient(180deg,#c79537,#966820)!important; box-shadow:0 8px 25px rgba(0,0,0,.22); color:#fff8e7!important; font-size:.72rem; }
.site-footer { padding:18px 0; border-top:1px solid rgba(255,255,255,.08); background:#050606; }
.site-footer p,.site-footer a { margin:0; color:#77736d; font-size:.62rem; letter-spacing:.05em; text-transform:uppercase; }
.fallback-content { min-height:70vh; padding:130px 24px 70px; }

@media (max-width:900px) {
  .shell { width:min(100% - 34px,760px); }
  .header-inner { grid-template-columns:1fr auto; height:76px; }
  .logo { width:78px; height:64px; }
  .desktop-nav,.header-button { display:none; }
  .mobile-menu { display:block; position:relative; }
  .mobile-menu summary { width:42px; height:42px; display:grid; place-content:center; gap:5px; border:1px solid rgba(201,147,53,.5); border-radius:50%; list-style:none; cursor:pointer; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary span { width:17px; height:1px; display:block; background:var(--gold-light); }
  .mobile-menu nav { width:200px; position:absolute; top:52px; right:0; display:grid; padding:12px; border:1px solid var(--line); background:rgba(10,10,10,.97); box-shadow:0 20px 50px #000; }
  .mobile-menu nav a { padding:13px 12px; color:#ddd5ca; font-size:.75rem; text-transform:uppercase; }
  .hero,.hero-inner { min-height:750px; }
  .hero::before { background:linear-gradient(90deg,#070808 0%,rgba(7,8,8,.96) 42%,rgba(7,8,8,.4) 100%),linear-gradient(0deg,#070808 0%,transparent 30%); }
  .hero-photo { right:-135px; width:78vw; }
  .hero-copy { width:64%; }
  .proof-grid { grid-template-columns:1fr; gap:11px; }
  .class-grid { grid-template-columns:repeat(2,1fr); }
  .class-card { padding:22px 24px 28px; border-bottom:1px solid var(--line); }
  .class-card:nth-child(2) { border-right:1px solid var(--line); }
  .schedule-content { width:82%; }
  .schedule-section::after { background:linear-gradient(90deg,#080909 0%,rgba(8,9,9,.95) 65%,rgba(8,9,9,.42) 100%); }
  .testimonial-grid { grid-template-columns:1fr; }
  .testimonial { min-height:200px; }
  .cta-inner { grid-template-columns:88px 1fr; }
  .logo.compact { width:82px; height:72px; }
  .gold-button { grid-column:1/-1; justify-self:stretch; }
}

@media (max-width:600px) {
  .shell { width:min(100% - 28px,520px); }
  html { scroll-padding-top:74px; }
  .hero { min-height:840px; }
  .hero-photo { top:58px; right:-72px; bottom:auto; width:108vw; height:530px; background-position:center top; opacity:.86; }
  .hero-photo::after { background:linear-gradient(0deg,#080909 0%,transparent 58%),linear-gradient(90deg,rgba(8,9,9,.62),transparent 45%); }
  .hero::before { background:linear-gradient(0deg,#070808 0%,#070808 34%,rgba(7,8,8,.1) 72%,rgba(7,8,8,.08) 100%); }
  .hero-inner { min-height:840px; align-items:flex-end; padding-top:70px; }
  .hero-copy { width:100%; padding:0 0 34px; }
  .kicker { margin-bottom:10px; }
  h1 { margin-bottom:15px; font-size:clamp(3.5rem,18vw,5rem); }
  .hero-promise { margin-bottom:11px; font-size:1.2rem; }
  .hero-description { max-width:340px; margin-bottom:19px; font-size:.82rem; }
  .primary-button { width:100%; }
  .proof-grid { display:none; }
  .section { padding:42px 0 48px; }
  .section-title { margin-bottom:25px; }
  .class-grid { grid-template-columns:1fr; }
  .class-card,.class-card:nth-child(2),.class-card:last-child { min-height:auto; display:grid; grid-template-columns:58px 1fr; column-gap:18px; padding:20px 6px; border:0; border-bottom:1px solid var(--line); text-align:left; }
  .class-icon { grid-row:1/3; margin:0; }
  .class-card h3 { margin:5px 0 7px; }
  .class-card p { margin:0; }
  .schedule-section { padding-top:42px; }
  .schedule-photo { inset:0; opacity:.25; }
  .schedule-section::after { background:rgba(8,9,9,.72); }
  .schedule-content { width:100%; }
  table { min-width:610px; }
  .table-wrap { padding-bottom:7px; }
  .testimonial { min-height:215px; }
  .cta-inner { grid-template-columns:1fr; text-align:center; }
  .logo.compact { display:none; }
  .gold-button { grid-column:auto; }
  .site-footer .shell { justify-content:center; text-align:center; }
  .site-footer a { display:none; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; } }
