/*
Theme Name: HPR HybridPlanRace V8
Theme URI: https://hybridplanrace.local
Author: HybridPlanRace
Description: Tema deportivo para catálogo, comparación y perfil de carreras híbridas.
Version: 4.2.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: hpr
*/

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

:root {
--hpr-bg: #03050b;
--hpr-panel: #090e17;
--hpr-panel-2: #0d1220;
--hpr-line: #2b3043;
--hpr-text: #f7f5fb;
--hpr-muted: #a9a8b4;
--hpr-purple: #b000ff;
--hpr-violet: #6c00cc;
--hpr-green: #73e476;
--hpr-gold: #f5bf39;
--hpr-radius: 17px;
--hpr-display: 'Barlow Condensed', Impact, sans-serif;
--hpr-body: 'Inter', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--hpr-text); background: radial-gradient(circle at 64% 2%, rgba(112,0,190,.14), transparent 26rem), var(--hpr-bg); font-family: var(--hpr-body); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
.hpr-wrap { width: min(1860px, calc(100% - 48px)); margin-inline: auto; }
.hpr-site-header { position: sticky; top: 0; z-index: 30; background: rgba(3,5,11,.88); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(16px); }
.hpr-header-inner { min-height: 78px; display: flex; align-items: center; gap: 42px; }
.hpr-logo { display:flex; align-items:center; gap:12px; min-width: 250px; }
.hpr-mark { font: italic 800 42px/1 var(--hpr-display); letter-spacing:-3px; }
.hpr-mark span, .hpr-gradient-text { color: transparent; background: linear-gradient(115deg,#fff 0 25%,#c55cff 57%,#7b00ed 100%); -webkit-background-clip:text; background-clip:text; }
.hpr-brand-name { font: 800 25px/1 var(--hpr-display); font-style:italic; }
.hpr-brand-name b { color:#b946ff; }
.hpr-brand-name small { display:block; margin-top:4px; color:#aaa9b1; font:500 10px/1 var(--hpr-body); font-style:normal; letter-spacing:.04em; }
.hpr-nav { display:flex; align-items:center; justify-content:center; gap:54px; flex:1; font:600 19px/1 var(--hpr-display); text-transform:uppercase; }
.hpr-nav a { padding:29px 0 25px; border-bottom:2px solid transparent; color:#ddd9e2; }
.hpr-nav a:hover, .hpr-nav .current-menu-item a { color:#ca63ff; border-color:#b72cff; }
.hpr-tools { display:flex; gap:17px; }
.hpr-icon-button { width:42px; height:42px; display:grid; place-items:center; border:1px solid transparent; border-radius:50%; background:transparent; color:white; cursor:pointer; }
.hpr-icon-button:hover { border-color:#693093; background:#100b1c; }
.hpr-icon { width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.8; }

.hpr-hero { min-height:220px; padding:42px 0 24px; position:relative; overflow:hidden; }
.hpr-hero:after { content:''; position:absolute; right:10%; top:-90px; width:500px; height:300px; background:radial-gradient(ellipse,rgba(142,0,255,.28),transparent 68%); filter:blur(24px); pointer-events:none; }
.hpr-eyebrow { color:#b52aff; text-transform:uppercase; font:700 15px/1 var(--hpr-display); letter-spacing:.08em; }
.hpr-title { margin:0; max-width:820px; font:italic 800 clamp(52px,6vw,92px)/.92 var(--hpr-display); letter-spacing:-.02em; text-transform:uppercase; }
.hpr-subtitle { margin:12px 0 0; font:600 clamp(22px,2vw,34px)/1 var(--hpr-display); text-transform:uppercase; }
.hpr-filterbar { position:relative; z-index:2; display:grid; grid-template-columns:repeat(5,minmax(150px,1fr)) 165px; margin-bottom:24px; border:1px solid var(--hpr-line); border-radius:18px; background:rgba(7,9,17,.88); }
.hpr-filter { min-height:58px; padding:0 18px; display:flex; gap:11px; align-items:center; border-right:1px solid #292b39; }
.hpr-filter select { width:100%; border:0; outline:0; color:#fff; background:transparent; font:600 16px var(--hpr-display); text-transform:uppercase; }
.hpr-filter select option { color:#111; }
.hpr-filter-action { margin:6px; color:white; border:1px solid #8b00de; border-radius:12px; background:linear-gradient(110deg,#391062,#6f00b7); font:700 16px var(--hpr-display); text-transform:uppercase; cursor:pointer; }

.hpr-race-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.hpr-card { min-width:0; overflow:hidden; border:1px solid #35394a; border-radius:var(--hpr-radius); background:linear-gradient(180deg,#0b111d,#080b13); box-shadow:0 18px 50px rgba(0,0,0,.28); transition:.25s ease; }
.hpr-card:hover { transform:translateY(-4px); border-color:#702e9c; box-shadow:0 16px 54px rgba(118,0,199,.2); }
.hpr-card-media { min-height:170px; padding:22px 18px; display:flex; align-items:flex-start; justify-content:center; position:relative; background-size:cover; background-position:center; isolation:isolate; }
.hpr-card-media:after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.05),#09101b 96%); }
.hpr-card-media.no-image { background:radial-gradient(circle at 60% 30%,#26344c,#07101b 65%); }
.hpr-card h3 { margin:0; text-align:center; text-transform:uppercase; font:italic 800 clamp(28px,2.2vw,42px)/.9 var(--hpr-display); text-shadow:0 2px 8px #000; }
.hpr-card-body { padding:0 18px 16px; }
.hpr-meta { display:flex; align-items:center; gap:9px; margin:9px 0; color:#efedf4; font-size:14px; }
.hpr-meta svg { color:#c000ff; flex:none; }
.hpr-card-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:14px 0; text-align:center; }
.hpr-card-stats strong { display:block; color:#c42bff; font:700 21px/1 var(--hpr-display); }
.hpr-card-stats small { display:block; margin-top:4px; font:600 10px/1.1 var(--hpr-display); text-transform:uppercase; }
.hpr-primary { display:flex; min-height:43px; align-items:center; justify-content:center; gap:12px; padding:8px 18px; border:0; border-radius:9px; color:#fff; background:linear-gradient(105deg,#8500d9,#4a008f); font:700 17px var(--hpr-display); text-transform:uppercase; cursor:pointer; }
.hpr-primary:hover { filter:brightness(1.22); }
.hpr-attending { display:flex; align-items:center; justify-content:center; padding-top:13px; color:#eee; font-weight:700; font-size:14px; }
.hpr-avatars { display:flex; margin-right:10px; }
.hpr-avatar-dot { width:30px; height:30px; margin-left:-6px; border:2px solid #090b13; border-radius:50%; background:linear-gradient(145deg,#9e6e63,#292d38); }
.hpr-center-action { display:flex; justify-content:center; margin:18px 0 27px; }
.hpr-outline { min-height:45px; padding:8px 34px; color:#fff; border:1px solid #696779; border-radius:12px; background:#080914; font:700 18px var(--hpr-display); text-transform:uppercase; cursor:pointer; }

.hpr-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding-bottom:44px; }
.hpr-panel { border:1px solid #343448; border-radius:var(--hpr-radius); background:linear-gradient(130deg,#0c111c 56%,rgba(69,5,107,.28)); }
.hpr-panel-pad { padding:24px 28px; }
.hpr-panel-title { display:flex; gap:16px; align-items:center; margin:0 0 4px; font:italic 800 clamp(30px,3vw,48px)/1 var(--hpr-display); text-transform:uppercase; }
.hpr-panel-title svg { width:46px; height:46px; color:#bd12ff; }
.hpr-panel-sub { margin:0 0 17px 62px; font:600 15px var(--hpr-display); text-transform:uppercase; }
.hpr-compare { display:grid; grid-template-columns:1.25fr .8fr; gap:22px; align-items:center; }
.hpr-table { width:100%; border-collapse:collapse; overflow:hidden; border:1px solid #303346; border-radius:12px; font-size:13px; }
.hpr-table th,.hpr-table td { padding:6px 10px; border-bottom:1px solid #252838; text-align:left; }
.hpr-table th { font:700 13px var(--hpr-display); text-transform:uppercase; }
.hpr-radar { width:100%; aspect-ratio:1; display:grid; place-items:center; position:relative; }
.hpr-radar-shape { width:68%; aspect-ratio:1; clip-path:polygon(50% 0,97% 35%,80% 91%,20% 91%,3% 35%); background:linear-gradient(145deg,rgba(208,40,255,.7),rgba(106,46,205,.28)); border:1px solid #d875ff; }
.hpr-coach-box { min-height:138px; padding:20px; border:1px solid #292d3b; border-radius:12px; background:linear-gradient(120deg,#141624,#0b0d16); line-height:1.45; }
.hpr-progress { display:grid; grid-template-columns:1.4fr .8fr; gap:14px; }
.hpr-progress-card { padding:18px; border:1px solid #353046; border-radius:12px; }
.hpr-progress-value { color:#bd30ff; font:800 40px/1 var(--hpr-display); }
.hpr-chat { display:flex; gap:8px; margin-top:14px; }
.hpr-chat input { flex:1; min-width:0; padding:13px 17px; color:#fff; border:1px solid #64218c; border-radius:10px; outline:0; background:#1b1030; }

.hpr-dashboard { display:grid; grid-template-columns:360px minmax(0,1fr) 360px; gap:18px; padding:20px 0 42px; }
.hpr-profile-card { padding:22px; }
.hpr-user { display:flex; gap:18px; align-items:center; }
.hpr-user-photo { width:112px; height:112px; object-fit:cover; border:2px solid #514966; border-radius:50%; background:#202533; }
.hpr-user h1 { margin:0 0 5px; font:700 32px var(--hpr-display); }
.hpr-chip { display:inline-flex; padding:7px 10px; margin-top:10px; border-radius:6px; color:#d799ff; background:#3c1859; font:700 12px var(--hpr-display); text-transform:uppercase; }
.hpr-score { margin-top:20px; padding:22px; border:1px solid #2e3342; border-radius:12px; }
.hpr-score strong { color:#b52aff; font:700 70px/1 var(--hpr-display); }
.hpr-bar { height:9px; margin-top:15px; overflow:hidden; border-radius:10px; background:#2c303c; }
.hpr-bar span { display:block; width:62%; height:100%; background:linear-gradient(90deg,#c326ff,#6633d7); }
.hpr-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:14px; text-align:center; }
.hpr-summary strong { display:block; margin-top:7px; font:700 27px var(--hpr-display); }
.hpr-summary span { font:500 10px var(--hpr-display); text-transform:uppercase; }
.hpr-stack { display:grid; gap:18px; }
.hpr-calendar-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.hpr-mini-card { min-height:115px; padding:17px; border:1px solid #303444; border-radius:12px; background:#0b1019; }
.hpr-mini-card strong { display:block; font:700 19px/1.1 var(--hpr-display); text-transform:uppercase; }
.hpr-mini-card b { display:block; margin-top:12px; color:#bc44ed; font:700 26px var(--hpr-display); }
.hpr-history { width:100%; border-collapse:collapse; font-size:13px; }
.hpr-history th,.hpr-history td { padding:13px 10px; border-bottom:1px solid #252b38; text-align:left; }
.hpr-history th { color:#aaaab3; font:600 12px var(--hpr-display); text-transform:uppercase; }
.hpr-ranking-top { display:grid; grid-template-columns:repeat(3,1fr); align-items:end; gap:9px; margin:28px 0; text-align:center; }
.hpr-podium { padding:15px 5px; border:1px solid #40424e; border-radius:12px; }
.hpr-podium.first { min-height:180px; border-color:#9b7120; }
.hpr-podium strong { display:block; margin-top:7px; font:700 20px var(--hpr-display); }
.hpr-podium b { color:#c45bff; }
.hpr-ranking-list { list-style:none; margin:0; padding:0; }
.hpr-ranking-list li { display:grid; grid-template-columns:30px 1fr auto; gap:10px; padding:12px 8px; border-bottom:1px solid #282c38; }
.hpr-site-footer { padding:30px 0; color:#777a86; border-top:1px solid #20232e; text-align:center; font-size:13px; }
.hpr-empty { padding:50px 20px; grid-column:1/-1; border:1px dashed #3e4050; border-radius:16px; color:#b8b5bf; text-align:center; }

@media (max-width:1350px) {
.hpr-race-grid { grid-template-columns:repeat(3,1fr); }
.hpr-filterbar { grid-template-columns:repeat(3,1fr); }
.hpr-dashboard { grid-template-columns:300px 1fr; }
.hpr-ranking { grid-column:1/-1; }
}
@media (max-width:900px) {
.hpr-wrap { width:min(100% - 28px, 760px); }
.hpr-header-inner { min-height:68px; }
.hpr-logo { min-width:0; }
.hpr-brand-name,.hpr-nav { display:none; }
.hpr-tools { margin-left:auto; }
.hpr-hero { min-height:190px; padding-top:34px; }
.hpr-filterbar { display:flex; overflow-x:auto; }
.hpr-filter { min-width:190px; }
.hpr-filter-action { min-width:130px; }
.hpr-race-grid { grid-template-columns:repeat(2,1fr); }
.hpr-feature-grid,.hpr-compare,.hpr-progress { grid-template-columns:1fr; }
.hpr-dashboard { grid-template-columns:1fr; }
.hpr-calendar-cards { grid-template-columns:repeat(2,1fr); }
.hpr-history { display:block; overflow-x:auto; }
}
@media (max-width:560px) {
.hpr-wrap { width:calc(100% - 20px); }
.hpr-title { font-size:48px; }
.hpr-race-grid { grid-template-columns:1fr; }
.hpr-panel-pad { padding:20px 16px; }
.hpr-panel-sub { margin-left:0; }
.hpr-calendar-cards { grid-template-columns:1fr; }
.hpr-summary { grid-template-columns:repeat(2,1fr); }
}
.hpr-race-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hpr-race-detail-grid .hpr-mini-card small{display:block;color:var(--hpr-muted);text-transform:uppercase;margin-bottom:8px}.hpr-race-detail-grid .hpr-mini-card strong{font-size:18px}@media(max-width:900px){.hpr-race-detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.hpr-race-detail-grid{grid-template-columns:1fr}}

/* V4 — formulario de perfil */
.hpr-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.hpr-profile-fields label{display:grid;gap:7px;color:var(--hpr-muted);font-size:13px;font-weight:600}
.hpr-profile-fields label span{text-transform:uppercase;font-family:var(--hpr-display);letter-spacing:.04em}
.hpr-profile-fields input,.hpr-profile-fields textarea{width:100%;padding:12px 14px;color:#fff;border:1px solid #35394a;border-radius:9px;background:#090e17;outline:none}
.hpr-profile-fields input:focus,.hpr-profile-fields textarea:focus{border-color:#8b00de}
.hpr-profile-fields .wide{grid-column:1/-1}
@media(max-width:700px){.hpr-profile-fields{grid-template-columns:1fr}.hpr-profile-fields .wide{grid-column:auto}}


/* V6 — navegación de tarjetas de carreras */
.hpr-card-link { cursor:pointer; }
.hpr-card-link:focus-visible { outline:2px solid #c45bff; outline-offset:3px; }
.hpr-race-title-link { display:block; }
.hpr-card-actions { display:grid; gap:9px; }
.hpr-card-view { display:flex; min-height:38px; align-items:center; justify-content:center; color:#dca8ff; font:700 14px var(--hpr-display); text-transform:uppercase; }
.hpr-card-view:hover { color:#fff; }

/* V7 — Redes sociales */
.hpr-footer-inner{display:grid;gap:18px;justify-items:center}
.hpr-footer-brand strong{display:block;color:#fff;font:italic 800 24px/1 var(--hpr-display);letter-spacing:-.02em}
.hpr-footer-brand strong span{color:#bd30ff}
.hpr-footer-brand small{display:block;margin-top:7px;color:#8f909c;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.hpr-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.hpr-social-link{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #35394a;border-radius:999px;color:#e9e7ed;background:#090d16;transition:.2s ease}
.hpr-social-link span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 4px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#b000ff,#6c00cc);font:700 10px var(--hpr-body)}
.hpr-social-link b{font:600 12px var(--hpr-body)}
.hpr-social-link:hover{transform:translateY(-2px);border-color:#8f2fc4;background:#130b1e}
.hpr-footer-copy{color:#777a86;font-size:13px}
@media(max-width:560px){.hpr-social-link b{display:none}.hpr-social-link{padding:8px}.hpr-footer-brand{text-align:center}}

/* V8 — Premium product experience */
:root{--hpr-max:1440px;--hpr-glow:rgba(176,0,255,.22)}
body{overflow-x:hidden;background:radial-gradient(circle at 70% -10%,rgba(104,0,204,.16),transparent 34rem),#03050b}
.hpr-wrap{width:min(var(--hpr-max),calc(100% - 48px))}
.hpr-site-header{background:rgba(3,5,11,.72);border-color:rgba(255,255,255,.07);backdrop-filter:blur(20px) saturate(130%)}
.hpr-header-inner{min-height:72px}.hpr-nav{gap:34px;font-size:16px}.hpr-nav a{padding:27px 0 24px}
.hpr-home-hero{position:relative;min-height:720px;display:grid;align-items:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}
.hpr-home-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,#000,transparent 90%);pointer-events:none}
.hpr-orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.28;pointer-events:none}.hpr-orb-one{width:500px;height:500px;background:#7c00ff;right:-120px;top:-110px}.hpr-orb-two{width:300px;height:300px;background:#d44aff;left:40%;bottom:-180px;opacity:.11}
.hpr-home-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.72fr);gap:80px;align-items:center;position:relative;z-index:2;padding:92px 0}
.hpr-live-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(199,91,255,.28);border-radius:999px;background:rgba(119,0,191,.09);font:700 11px var(--hpr-body);letter-spacing:.12em;color:#dca8ff}.hpr-live-pill span{width:7px;height:7px;border-radius:50%;background:#73e476;box-shadow:0 0 0 5px rgba(115,228,118,.09)}
.hpr-home-title{margin:24px 0 20px;font:italic 800 clamp(66px,7.1vw,112px)/.83 var(--hpr-display);letter-spacing:-.045em;text-transform:uppercase}.hpr-home-title span{color:transparent;background:linear-gradient(110deg,#fff 0%,#e5bdff 28%,#bd45ff 58%,#7200e8 100%);-webkit-background-clip:text;background-clip:text}
.hpr-home-lead{max-width:650px;margin:0;color:#b9b8c2;font-size:clamp(17px,1.5vw,21px);line-height:1.55}.hpr-hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px;flex-wrap:wrap}
.hpr-primary-xl{min-height:56px;padding:14px 26px;border-radius:12px;box-shadow:0 14px 40px rgba(122,0,203,.22)}.hpr-ghost-link{display:inline-flex;gap:8px;align-items:center;color:#efedf4;font-weight:700}.hpr-ghost-link:hover{color:#cf80ff}.hpr-ghost-link span{color:#b741f7}
.hpr-trust-row{display:flex;gap:34px;margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);max-width:680px}.hpr-trust-row div{display:grid;gap:3px}.hpr-trust-row strong{font:800 27px var(--hpr-display)}.hpr-trust-row span{color:#85858f;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.hpr-hero-console{position:relative;padding:26px;border:1px solid rgba(255,255,255,.13);border-radius:26px;background:linear-gradient(145deg,rgba(17,21,34,.92),rgba(6,8,15,.82));box-shadow:0 35px 100px rgba(0,0,0,.52),0 0 100px var(--hpr-glow);transform:perspective(900px) rotateY(-4deg);overflow:hidden}.hpr-hero-console:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.045),transparent 35%);pointer-events:none}.hpr-console-top{display:flex;justify-content:space-between;color:#7d7f8c;font-size:10px;letter-spacing:.11em}.hpr-console-top b{color:#73e476}.hpr-console-score{margin:55px 0 34px}.hpr-console-score small{display:block;color:#9d9ca7;font-weight:700;letter-spacing:.12em}.hpr-console-score strong{display:inline-block;margin-top:5px;font:800 94px/.86 var(--hpr-display);letter-spacing:-.045em;background:linear-gradient(120deg,#fff,#c54fff);color:transparent;-webkit-background-clip:text;background-clip:text}.hpr-console-score em{margin-left:12px;color:#73e476;font-style:normal;font-size:13px;font-weight:700}.hpr-console-bars{display:grid;gap:14px}.hpr-console-bars div{display:grid;grid-template-columns:75px 1fr 30px;gap:12px;align-items:center;font-size:10px;color:#8d8d98}.hpr-console-bars i{height:5px;background:#252937;border-radius:9px;overflow:hidden;position:relative}.hpr-console-bars i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:linear-gradient(90deg,#6900d5,#c840ff);border-radius:inherit}.hpr-console-bars b{color:#f7f5fb}.hpr-console-next{margin-top:28px;padding:18px;border:1px solid #2c3040;border-radius:14px;background:#090d16}.hpr-console-next small,.hpr-console-next span{display:block;color:#80818d;font-size:10px}.hpr-console-next strong{display:block;margin:7px 0;font:italic 800 22px var(--hpr-display)}
.hpr-proof-strip{border-bottom:1px solid rgba(255,255,255,.06);background:#060811}.hpr-proof-strip .hpr-wrap{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#888995;font:700 12px var(--hpr-body);letter-spacing:.12em}.hpr-proof-strip i{color:#7e21ac;font-style:normal}
.hpr-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:92px 0 32px}.hpr-section-head h2{margin:6px 0 0;font:italic 800 clamp(40px,4vw,62px)/.95 var(--hpr-display);text-transform:uppercase}.hpr-section-head>a{padding-bottom:8px;color:#b7b5bd;font-size:13px;font-weight:700}.hpr-section-head>a:hover{color:#fff}
.hpr-filterbar-modern{position:sticky;top:82px;z-index:20;box-shadow:0 18px 60px rgba(0,0,0,.25);backdrop-filter:blur(18px)}
.hpr-race-grid-premium{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hpr-race-grid-premium .hpr-card{border-color:rgba(255,255,255,.09);border-radius:22px;background:#090c14}.hpr-race-grid-premium .hpr-card:hover{transform:translateY(-6px);border-color:rgba(199,85,255,.45);box-shadow:0 30px 70px rgba(0,0,0,.38),0 0 55px rgba(126,0,210,.12)}.hpr-race-grid-premium .hpr-card-media{min-height:250px;align-items:flex-end;justify-content:flex-start;padding:24px}.hpr-card-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(1,3,8,.08) 22%,rgba(3,5,11,.92) 100%)}.hpr-race-grid-premium .hpr-card-media:after{display:none}.hpr-race-grid-premium .hpr-card h3{text-align:left;font-size:clamp(32px,3vw,48px);max-width:85%}.hpr-status-badge,.hpr-race-format{position:absolute;top:16px;padding:7px 10px;border-radius:999px;font:700 10px var(--hpr-body);letter-spacing:.06em;text-transform:uppercase}.hpr-status-badge{left:16px;color:#d8ffd9;border:1px solid rgba(115,228,118,.24);background:rgba(39,116,51,.22)}.hpr-race-format{right:16px;color:#e9cbff;border:1px solid rgba(196,69,255,.25);background:rgba(91,20,122,.28)}.hpr-card-meta-row{display:flex;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #222633}.hpr-card-meta-row span{display:flex;gap:7px;align-items:center;color:#aeadb8;font-size:12px}.hpr-card-meta-row svg{width:16px;height:16px;color:#c044ff}.hpr-race-grid-premium .hpr-card-stats{margin:18px 0}.hpr-race-grid-premium .hpr-card-stats strong{font-size:24px}.hpr-race-grid-premium .hpr-primary{width:100%;min-height:46px;border-radius:11px}
.hpr-product-section{margin-top:110px;padding:0 0 110px;border-top:1px solid rgba(255,255,255,.06);background:radial-gradient(circle at 12% 45%,rgba(104,0,204,.12),transparent 28rem)}.hpr-bento{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.hpr-bento-card{min-height:290px;position:relative;padding:30px;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:linear-gradient(145deg,rgba(13,17,29,.92),rgba(7,9,16,.94));overflow:hidden}.hpr-bento-card:after{content:"";position:absolute;width:180px;height:180px;right:-70px;bottom:-90px;border-radius:50%;background:#7000c8;filter:blur(75px);opacity:.16}.hpr-bento-card small{color:#b83cff;font-weight:800;letter-spacing:.12em}.hpr-bento-card h3{max-width:640px;margin:10px 0 12px;font:italic 800 clamp(30px,3vw,48px)/.96 var(--hpr-display);text-transform:uppercase}.hpr-bento-card p{max-width:600px;color:#9999a4;line-height:1.6}.hpr-bento-number{position:absolute;right:25px;top:20px;color:#343644;font:800 54px var(--hpr-display)}.hpr-bento-large{grid-row:span 2;min-height:600px;display:flex;flex-direction:column;justify-content:space-between}.hpr-bento-wide{grid-column:1/-1;min-height:240px;display:flex;align-items:end;justify-content:space-between;gap:30px}.hpr-mini-timeline{display:grid;grid-template-columns:12px 74px 1fr;gap:12px 14px;align-items:center;padding:20px;border:1px solid #292d3b;border-radius:16px;background:#080b12}.hpr-mini-timeline i{width:10px;height:10px;border:2px solid #c343ff;border-radius:50%;box-shadow:0 0 20px #a62eff}.hpr-mini-timeline b{font:800 18px var(--hpr-display);color:#c65aff}.hpr-mini-timeline span{font-size:13px;font-weight:700}.hpr-data-chip,.hpr-ai-pulse{width:84px;height:84px;display:grid;place-items:center;margin-top:35px;border:1px solid #47285d;border-radius:24px;background:radial-gradient(circle,#48115e,#15101e);font:italic 800 30px var(--hpr-display);box-shadow:0 0 45px rgba(170,40,255,.16)}.hpr-ai-pulse{border-radius:50%;font-size:34px;color:#d174ff}
.hpr-final-cta{padding:110px 0;background:linear-gradient(180deg,#05070d,#090411);border-top:1px solid rgba(255,255,255,.06)}.hpr-final-cta-inner{text-align:center}.hpr-final-cta h2{margin:12px auto 16px;font:italic 800 clamp(52px,6vw,90px)/.87 var(--hpr-display);text-transform:uppercase}.hpr-final-cta h2 span{color:#c349ff}.hpr-final-cta p:not(.hpr-eyebrow){color:#9999a4;font-size:17px}.hpr-final-cta-inner>div{display:flex;justify-content:center;gap:26px;align-items:center;margin-top:28px}
.hpr-card,.hpr-primary,.hpr-ghost-link,.hpr-social-link{transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.hpr-hero-console{transform:none}}
@media(max-width:1100px){.hpr-home-hero-grid{grid-template-columns:1fr;gap:45px}.hpr-hero-console{max-width:650px;transform:none}.hpr-race-grid-premium{grid-template-columns:repeat(2,1fr)}.hpr-bento{grid-template-columns:1fr}.hpr-bento-large{grid-row:auto;min-height:520px}.hpr-bento-wide{grid-column:auto}}
@media(max-width:700px){.hpr-wrap{width:calc(100% - 28px)}.hpr-home-hero{min-height:auto}.hpr-home-hero-grid{padding:70px 0 56px}.hpr-home-title{font-size:60px}.hpr-home-lead{font-size:16px}.hpr-trust-row{gap:22px}.hpr-hero-console{padding:20px}.hpr-console-score{margin:35px 0 26px}.hpr-console-score strong{font-size:74px}.hpr-proof-strip .hpr-wrap{overflow:auto;justify-content:flex-start;white-space:nowrap}.hpr-section-head{padding-top:64px;align-items:flex-start;flex-direction:column}.hpr-filterbar-modern{top:70px}.hpr-race-grid-premium{grid-template-columns:1fr}.hpr-bento-card{padding:24px}.hpr-bento-large{min-height:auto;gap:40px}.hpr-bento-wide{align-items:flex-start;flex-direction:column}.hpr-final-cta{padding:80px 0}.hpr-final-cta-inner>div{flex-direction:column}.hpr-final-cta h2{font-size:54px}}
/* FLAGSHIP — premium Mediterranean performance layer */
:root{--hpr-paper:#f6f5f1;--hpr-midnight:#101218;--hpr-electric:#c7ff35;--hpr-graphite:#20232b}
.hpr-primary{background:var(--hpr-electric)!important;color:#101218!important;border-color:var(--hpr-electric)!important;box-shadow:0 10px 34px rgba(199,255,53,.18)}
.hpr-home-hero{background:radial-gradient(circle at 82% 12%,rgba(199,255,53,.13),transparent 28%),#101218!important}
.hpr-home-title span,.hpr-gradient-text{background:none!important;color:var(--hpr-electric)!important;-webkit-text-fill-color:var(--hpr-electric)!important}
.hpr-live-pill span,.hpr-ai-pulse{background:var(--hpr-electric)!important;color:#101218!important}
.hpr-proof-strip{background:var(--hpr-electric)!important;color:#101218!important}
.hpr-card{border-radius:24px!important;overflow:hidden;box-shadow:0 18px 60px rgba(16,18,24,.11)!important}
.hpr-card:hover{transform:translateY(-6px)}
.hpr-status-badge{background:var(--hpr-electric)!important;color:#101218!important}
.hpr-final-cta{background:#101218!important}
.hpr-season-flagship{padding:80px 0;min-height:70vh}.hpr-season-list{display:grid;gap:14px}.hpr-season-item{background:#fff;border:1px solid #e5e4de;border-radius:22px;padding:20px;display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:center}.hpr-season-date{font-weight:900;font-size:18px}.hpr-community-box{background:#101218;color:#fff;border-radius:24px;padding:26px;margin:24px 0}.hpr-community-count{font-size:52px;font-weight:1000;color:var(--hpr-electric);line-height:1}.hpr-compete-flag{width:100%;font-size:16px;padding:16px}.hpr-single-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
@media(max-width:700px){.hpr-season-item{grid-template-columns:1fr}.hpr-season-item .hpr-primary{width:100%}}


/* HPR 4.0 — social modules integrated in normal document flow */
.hpr-community-zone{padding:92px 0;background:#ecece6}
.hpr-community-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
.hpr-community-grid .hprse-feed,.hpr-community-grid .hprse-clubs{height:100%}
@media(max-width:900px){.hpr-community-grid{grid-template-columns:1fr}}


/* =========================================================
   HPR 4.1 — LIGHT PERFORMANCE
   Premium Mediterranean / sports-tech direction
   ========================================================= */
:root{
  --ink:#17191d;
  --graph:#27303d;
  --paper:#f5f4ef;
  --white:#ffffff;
  --muted:#70757d;
  --line:#deddd7;
  --electric:#c6ff32;
  --electric2:#a8e900;
  --deep:#182538;
  --radius:24px;
  --shadow:0 14px 42px rgba(23,25,29,.09);
}
body{background:var(--paper);color:var(--ink)}
.site-header{background:rgba(245,244,239,.94);border-bottom:1px solid rgba(23,25,29,.08)}
.brand i{color:var(--electric2)}
.btn-dark{background:var(--deep);color:#fff}
.btn-primary{background:var(--electric);color:var(--ink);box-shadow:none}

/* Hero: light editorial instead of black wall */
.hero{
  background:
    radial-gradient(circle at 88% 10%,rgba(198,255,50,.28),transparent 27%),
    linear-gradient(135deg,#f8f7f2 0%,#f1f0e9 100%);
  color:var(--ink);
  min-height:640px;
}
.hero:after{
  width:520px;height:520px;right:-220px;top:250px;
  background:radial-gradient(circle,rgba(24,37,56,.08),transparent 66%);
}
.hero p{color:#5f646c}
.hero h1 span{color:var(--ink);position:relative}
.hero h1 span:after{
  content:"";display:block;width:34%;height:10px;background:var(--electric);
  border-radius:999px;margin-top:14px
}
.hero .btn-ghost{border:1px solid rgba(23,25,29,.16);color:var(--ink);background:rgba(255,255,255,.55)}
.hero-card{
  background:var(--deep);color:#fff;border:1px solid rgba(255,255,255,.1);
  box-shadow:0 26px 70px rgba(24,37,56,.18)
}
.hero-card p{color:#cbd0d6}
.hero-card .lime{color:var(--electric)}
.trust{background:#fff}
.race-card,.panel,.detail-card,.season-item{box-shadow:var(--shadow)}
.race-card{border:1px solid rgba(23,25,29,.05)}
.race-card:hover{transform:translateY(-4px)}
.panel.dark,.social-proof,.single-hero,.profile-hero{background:var(--deep)}
.panel.lime{background:var(--electric);color:var(--ink)}
.footer{background:var(--deep)}
.attend-box{background:var(--deep)}
.stat{background:#f4f3ee}

/* Community gets a clean editorial surface */
.hpr-community-zone{background:#efeee8}
.hpr-community-grid .hprse-feed,
.hpr-community-grid .hprse-clubs{border:1px solid rgba(23,25,29,.06);box-shadow:var(--shadow)}

/* Performance: avoid rendering below-fold sections until needed */
@supports (content-visibility:auto){
  .section:not(:first-of-type),
  .hpr-community-zone,
  .footer{content-visibility:auto;contain-intrinsic-size:1px 720px}
}

/* Reduce costly effects on mobile */
@media(max-width:900px){
  .site-header{backdrop-filter:none}
  .hero{min-height:auto}
  .hero-card{box-shadow:0 16px 40px rgba(24,37,56,.14)}
  .race-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* HPR 4.2 — account navigation */
.hpr-account-zone{display:flex;align-items:center;gap:10px;margin-left:10px}
.hpr-login-link{font-size:12px;font-weight:900;letter-spacing:.06em}
.hpr-join-link{display:inline-flex;align-items:center;background:var(--electric);color:var(--ink);padding:11px 15px;border-radius:999px;font-size:12px;font-weight:1000}
@media(max-width:900px){.hpr-account-zone{margin-left:auto}.hpr-login-link{display:none}.hpr-join-link{padding:10px 12px}}
