/*
Theme Name: HPR Flagship Signature
Theme URI: https://hybridplanrace.com
Author: HybridPlanRace
Description: Dirección de arte integral para HybridPlanRace: editorial deportiva, comunidad y temporada.
Version: 5.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: hpr
*/

/* =========================
   HPR SIGNATURE DESIGN SYSTEM
   ========================= */
:root{
  --hpr-ivory:#F4F2EC;
  --hpr-paper:#FCFBF8;
  --hpr-white:#FFFFFF;
  --hpr-ink:#15171A;
  --hpr-deep:#172538;
  --hpr-slate:#506071;
  --hpr-muted:#71777F;
  --hpr-line:#DCD9D1;
  --hpr-acid:#C8FF3D;
  --hpr-acid-soft:#EBFFC0;
  --hpr-metal:#B69A63;
  --hpr-danger:#B42318;
  --hpr-r:22px;
  --hpr-r-lg:34px;
  --hpr-shadow:0 18px 55px rgba(21,23,26,.08);
  --hpr-shadow-hover:0 28px 70px rgba(21,23,26,.13);
  --hpr-display:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --hpr-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--hpr-ivory);color:var(--hpr-ink);font-family:var(--hpr-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
::selection{background:var(--hpr-acid);color:var(--hpr-ink)}
.hpr5-wrap{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.hpr5-kicker{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--hpr-slate)}
.hpr5-kicker:before{content:"";width:18px;height:3px;border-radius:3px;background:var(--hpr-acid)}
.hpr5-title{margin:10px 0 0;font-size:clamp(46px,6vw,82px);line-height:.93;letter-spacing:-.065em;font-weight:950}
.hpr5-copy{color:var(--hpr-muted);font-size:17px;line-height:1.65}
.hpr5-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 19px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:900;letter-spacing:.02em;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.hpr5-btn:hover{transform:translateY(-2px)}
.hpr5-btn-primary{background:var(--hpr-acid);color:var(--hpr-ink)}
.hpr5-btn-deep{background:var(--hpr-deep);color:#fff}
.hpr5-btn-outline{background:transparent;border-color:rgba(21,23,26,.18);color:var(--hpr-ink)}
.hpr5-card{background:var(--hpr-paper);border:1px solid rgba(21,23,26,.07);border-radius:var(--hpr-r);box-shadow:var(--hpr-shadow)}
.hpr5-section{padding:88px 0}
.hpr5-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:34px}
.hpr5-section-head>div:first-child{max-width:760px}
.hpr5-section-head .hpr5-copy{max-width:450px;margin:0}

/* HEADER */
.hpr5-header{position:sticky;top:0;z-index:80;background:rgba(244,242,236,.93);border-bottom:1px solid rgba(21,23,26,.07);backdrop-filter:blur(18px)}
.hpr5-header-in{height:78px;display:flex;align-items:center;gap:28px}
.hpr5-brand{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.hpr5-brand-mark{font-size:30px;font-weight:1000;letter-spacing:-.08em}
.hpr5-brand-mark b{color:var(--hpr-acid);font-weight:1000}
.hpr5-brand-word{font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--hpr-slate)}
.hpr5-nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:13px;font-weight:800}
.hpr5-nav a{position:relative;padding:28px 0}
.hpr5-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:19px;height:3px;background:var(--hpr-acid);transition:right .2s}
.hpr5-nav a:hover:after{right:0}
.hpr5-account{display:flex;align-items:center;gap:9px}
.hpr5-account .hpr5-btn{min-height:42px;padding:9px 15px}

/* HOME HERO */
.hpr5-hero{position:relative;overflow:hidden;background:
 radial-gradient(circle at 78% 12%,rgba(200,255,61,.34),transparent 24rem),
 linear-gradient(132deg,#F9F8F4 0%,#EEEAE1 100%)}
.hpr5-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:58px;padding:86px 0 76px;min-height:650px}
.hpr5-hero h1{margin:16px 0 24px;font-size:clamp(66px,8.3vw,122px);line-height:.8;letter-spacing:-.085em;font-weight:1000;text-transform:uppercase}
.hpr5-hero h1 .line2{display:inline-block;position:relative}
.hpr5-hero h1 .line2:after{content:"";position:absolute;left:2%;right:40%;bottom:-11px;height:11px;background:var(--hpr-acid);border-radius:99px}
.hpr5-hero-lead{max-width:650px;margin-top:30px;font-size:19px;line-height:1.65;color:#555D67}
.hpr5-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hpr5-live-card{position:relative;background:var(--hpr-deep);color:#fff;border-radius:36px;padding:30px;box-shadow:0 34px 90px rgba(23,37,56,.20);overflow:hidden}
.hpr5-live-card:before{content:"HPR";position:absolute;right:-25px;bottom:-66px;font-size:190px;font-weight:1000;letter-spacing:-.1em;color:#fff;opacity:.035}
.hpr5-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--hpr-acid);box-shadow:0 0 0 7px rgba(200,255,61,.12);margin-right:8px}
.hpr5-live-card h2{margin:17px 0 5px;font-size:47px;line-height:.93;letter-spacing:-.055em}
.hpr5-live-card p{color:#C9D0D7}
.hpr5-live-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:24px 0}
.hpr5-live-metric{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08);border-radius:17px;padding:16px}
.hpr5-live-metric b{display:block;color:var(--hpr-acid);font-size:30px;line-height:1}
.hpr5-live-metric span{display:block;margin-top:6px;font-size:10px;font-weight:900;letter-spacing:.12em;color:#BCC5CF}
.hpr5-live-race{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff;color:var(--hpr-ink);border-radius:18px;padding:16px}
.hpr5-live-race strong{display:block}
.hpr5-live-race small{color:var(--hpr-muted)}

/* PROOF STRIP */
.hpr5-proof{background:var(--hpr-deep);color:#fff}
.hpr5-proof-in{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12)}
.hpr5-proof-item{background:var(--hpr-deep);padding:20px 26px}
.hpr5-proof-item b{font-size:22px;color:var(--hpr-acid)}
.hpr5-proof-item span{display:block;margin-top:4px;font-size:10px;letter-spacing:.12em;font-weight:900;color:#BAC3CD}

/* RACES */
.hpr5-race-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hpr5-race{overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.hpr5-race:hover{transform:translateY(-5px);box-shadow:var(--hpr-shadow-hover)}
.hpr5-race-media{height:245px;background:#D7D6D1 center/cover;position:relative}
.hpr5-race-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(20,23,26,.62))}
.hpr5-race-tag{position:absolute;z-index:2;top:15px;left:15px;padding:8px 11px;border-radius:999px;background:var(--hpr-paper);font-size:10px;font-weight:900;letter-spacing:.08em}
.hpr5-race-date{position:absolute;z-index:2;bottom:15px;left:16px;color:#fff;font-weight:950;font-size:15px}
.hpr5-race-body{padding:21px}
.hpr5-race h3{margin:5px 0 7px;font-size:27px;letter-spacing:-.045em;line-height:1}
.hpr5-race-location{font-size:13px;color:var(--hpr-muted)}
.hpr5-race-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0}
.hpr5-race-stat{padding:10px;border-radius:12px;background:#F1EFE9}
.hpr5-race-stat b{display:block;font-size:14px}
.hpr5-race-stat small{font-size:9px;color:var(--hpr-muted);text-transform:uppercase;font-weight:900;letter-spacing:.06em}
.hpr5-race-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--hpr-line);padding-top:14px;font-size:12px;font-weight:850}
.hpr5-heat{display:inline-flex;align-items:center;gap:7px}
.hpr5-heat i{width:7px;height:7px;border-radius:50%;background:var(--hpr-acid);box-shadow:0 0 0 5px rgba(200,255,61,.14)}

/* EDITORIAL BENTO */
.hpr5-bento{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.hpr5-feature{position:relative;min-height:360px;padding:34px;border-radius:32px;overflow:hidden}
.hpr5-feature h3{font-size:48px;line-height:.95;letter-spacing:-.055em;margin:10px 0 15px}
.hpr5-feature.deep{background:var(--hpr-deep);color:#fff}
.hpr5-feature.deep p{color:#CBD2DA}
.hpr5-feature.acid{background:var(--hpr-acid);color:var(--hpr-ink)}
.hpr5-feature-line{position:absolute;right:-25px;bottom:-42px;font-size:160px;font-weight:1000;letter-spacing:-.1em;opacity:.05}
.hpr5-steps{display:grid;gap:8px;margin-top:25px}
.hpr5-step{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 15px;background:rgba(255,255,255,.07);border-radius:13px}
.hpr5-step b{font-size:11px;letter-spacing:.08em}
.hpr5-step span{color:var(--hpr-acid);font-weight:950}

/* COMMUNITY */
.hpr5-community{background:#EAE7DE}
.hpr5-community-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
.hpr5-editorial-card{padding:30px}
.hpr5-editorial-card h3{font-size:40px;letter-spacing:-.05em;margin:8px 0 18px}
.hpr5-fomo-list{display:grid}
.hpr5-fomo-row{display:grid;grid-template-columns:44px 1fr auto;gap:13px;align-items:center;padding:14px 0;border-top:1px solid var(--hpr-line)}
.hpr5-fomo-row:first-child{border-top:0}
.hpr5-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;background:#DAD8D1}
.hpr5-avatar img{width:100%;height:100%;object-fit:cover}
.hpr5-fomo-row small{color:var(--hpr-muted)}
.hpr5-fomo-row em{font-style:normal;font-size:10px;font-weight:900;letter-spacing:.07em;color:var(--hpr-slate)}
.hpr5-joinwall{background:var(--hpr-paper);border-radius:32px;padding:34px;border:1px solid rgba(21,23,26,.06)}
.hpr5-joinwall h3{font-size:53px;line-height:.93;letter-spacing:-.06em;margin:12px 0 16px}
.hpr5-islands{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.hpr5-island{padding:10px 13px;border:1px solid var(--hpr-line);border-radius:999px;font-size:11px;font-weight:900}

/* SINGLE RACE */
.hpr5-race-hero{background:linear-gradient(135deg,#F8F7F2,#EBE8DF);padding:55px 0}
.hpr5-race-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.hpr5-race-hero h1{margin:12px 0 17px;font-size:clamp(52px,6.5vw,86px);line-height:.88;letter-spacing:-.07em}
.hpr5-chips{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}
.hpr5-chip{padding:9px 11px;border-radius:999px;background:#fff;border:1px solid var(--hpr-line);font-size:10px;font-weight:900;letter-spacing:.05em}
.hpr5-cover{height:470px;border-radius:32px;background:#D5D4CE center/cover;box-shadow:var(--hpr-shadow)}
.hpr5-race-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px}
.hpr5-detail{padding:30px;margin-bottom:18px}
.hpr5-detail h2{font-size:34px;letter-spacing:-.045em;margin:7px 0 15px}
.hpr5-sticky{position:sticky;top:104px}
.hpr5-race-fomo{background:var(--hpr-deep);color:#fff;border-radius:28px;padding:27px}
.hpr5-race-fomo .count{font-size:58px;line-height:1;color:var(--hpr-acid);font-weight:1000;letter-spacing:-.06em}
.hpr5-race-fomo p{color:#C6CED7}
.hpr5-race-fomo .hprse-actions{display:grid;grid-template-columns:1fr;margin-top:17px}
.hpr5-race-fomo .hprse-action{border-radius:999px}
.hpr5-official{margin-top:12px;width:100%}

/* ARCHIVE + FILTERS */
.hpr5-catalog-hero{padding:62px 0 30px}
.hpr5-filterbar{display:grid;grid-template-columns:1.3fr repeat(3,1fr) auto;gap:9px;padding:11px;background:#fff;border:1px solid var(--hpr-line);border-radius:20px;margin:22px 0 34px;box-shadow:var(--hpr-shadow)}
.hpr5-filterbar input,.hpr5-filterbar select{width:100%;min-height:44px;border:0;border-radius:12px;background:#F2F0EA;padding:0 12px;color:var(--hpr-ink);outline:none}
.hpr5-filterbar button{border:0;border-radius:12px;background:var(--hpr-deep);color:#fff;padding:0 18px;font-weight:900}

/* SEASON */
.hpr5-season-hero{padding:62px 0 30px}
.hpr5-season-list{display:grid;gap:13px}
.hpr5-season-item{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:20px;padding:21px 22px;background:#fff;border:1px solid rgba(21,23,26,.07);border-radius:20px}
.hpr5-season-date{font-size:20px;font-weight:1000;letter-spacing:-.04em}
.hpr5-season-item h3{margin:3px 0;font-size:24px;letter-spacing:-.04em}
.hpr5-empty{padding:46px;border-radius:28px;background:var(--hpr-deep);color:#fff}
.hpr5-empty p{color:#CBD2D9}

/* PAGE / AUTH PLUGIN UNIFICATION */
.hpr5-page{padding:44px 0 80px}
.page-template-default .entry-content{margin:0}

/* Athlete Suite overrides so it looks native to the theme */
.hpras-wrap{width:min(1240px,calc(100% - 48px))!important;margin:44px auto 84px!important}
.hpras-auth{border-radius:32px!important;box-shadow:var(--hpr-shadow)!important;border:1px solid rgba(21,23,26,.06)!important}
.hpras-auth-visual{background:linear-gradient(150deg,var(--hpr-deep),#26384C)!important}
.hpras-auth-visual:after{background:radial-gradient(circle,rgba(200,255,61,.28),transparent 65%)!important}
.hpras-form{background:var(--hpr-paper)!important}
.hpras-primary{background:var(--hpr-acid)!important;color:var(--hpr-ink)!important}
.hpras-profile-hero,.hpras-public-hero,.hpras-card{background:var(--hpr-paper)!important;border-color:rgba(21,23,26,.07)!important;box-shadow:var(--hpr-shadow)!important}
.hpras-season-card{background:var(--hpr-deep)!important}
.hpras-avatar img{border-color:var(--hpr-acid)!important}
.hpras-mini-stat{background:var(--hpr-deep)!important}
.hpras-mini-stat b{color:var(--hpr-acid)!important}

/* Social Engine overrides */
.hprse-passport{background:linear-gradient(145deg,#FCFBF8,#ECE8DE)!important;border-color:var(--hpr-line)!important;box-shadow:var(--hpr-shadow)!important}
.hprse-pass-stats div{background:var(--hpr-deep)!important}
.hprse-pass-stats b{color:var(--hpr-acid)!important}
.hprse-islands .done{background:var(--hpr-acid)!important;border-color:var(--hpr-acid)!important}
.hprse-feed,.hprse-clubs{background:var(--hpr-paper)!important;box-shadow:none!important;border:0!important}
.hprse-action.active,.hprse-main{background:var(--hpr-acid)!important;color:var(--hpr-ink)!important}
.hprse-fomo{background:var(--hpr-deep)!important}

/* FOOTER */
.hpr5-footer{background:var(--hpr-deep);color:#D1D8E0;padding:58px 0 95px}
.hpr5-footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px}
.hpr5-footer .hpr5-brand-mark{color:#fff}
.hpr5-footer p{color:#B7C0C9;line-height:1.6}
.hpr5-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px}
.hpr5-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:44px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#94A1AE}
.hpr5-mobile-nav{display:none}

/* PERFORMANCE / ACCESSIBILITY */
@supports(content-visibility:auto){
  .hpr5-section:not(:first-of-type),.hpr5-footer{content-visibility:auto;contain-intrinsic-size:1px 700px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* RESPONSIVE */
@media(max-width:980px){
  .hpr5-nav{display:none}
  .hpr5-header-in{height:70px}
  .hpr5-account{margin-left:auto}
  .hpr5-hero-grid,.hpr5-race-hero-grid,.hpr5-race-layout,.hpr5-community-grid{grid-template-columns:1fr}
  .hpr5-hero-grid{padding:64px 0}
  .hpr5-live-card{max-width:680px}
  .hpr5-race-grid{grid-template-columns:1fr 1fr}
  .hpr5-sticky{position:static}
  .hpr5-cover{height:380px}
  .hpr5-filterbar{grid-template-columns:1fr 1fr}
  .hpr5-filterbar button{min-height:44px}
  .hpr5-mobile-nav{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:90;background:rgba(23,37,56,.96);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:10px 6px;justify-content:space-around;backdrop-filter:blur(16px)}
  .hpr5-mobile-nav a{font-size:10px;font-weight:850;text-align:center;line-height:1.3}
  .hpr5-footer{padding-bottom:120px}
}
@media(max-width:680px){
  .hpr5-wrap,.hpras-wrap{width:calc(100% - 24px)!important}
  .hpr5-brand-word{display:none}
  .hpr5-account .hpr5-btn-outline{display:none}
  .hpr5-hero h1{font-size:59px}
  .hpr5-hero-lead{font-size:16px}
  .hpr5-proof-in{grid-template-columns:1fr 1fr}
  .hpr5-race-grid{grid-template-columns:1fr}
  .hpr5-bento{grid-template-columns:1fr}
  .hpr5-feature{min-height:320px}
  .hpr5-section{padding:64px 0}
  .hpr5-section-head{display:block}
  .hpr5-section-head .hpr5-copy{margin-top:15px}
  .hpr5-cover{height:290px}
  .hpr5-filterbar{grid-template-columns:1fr}
  .hpr5-season-item{grid-template-columns:78px 1fr}
  .hpr5-season-item .hpr5-btn{grid-column:1/-1}
  .hpr5-footer-grid{grid-template-columns:1fr}
  .hpr5-footer-bottom{display:grid}
  .hpr5-live-metrics{grid-template-columns:1fr 1fr}
}
