
:root{
  --blue:#075fff; --cyan:#10d8ff; --dark:#05070d; --ink:#071127; --line:#e4ebf5;
  --card:#ffffff; --deep:#06111f; --soft:#f6f9ff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1340px,94%);margin:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:#050505;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.nav-wrap{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;min-width:320px}
.brand img{width:72px;height:58px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.6))}
.brand strong{display:block;font-size:16px;letter-spacing:.02em;text-transform:uppercase;line-height:1.05}
.brand span{display:block;font-size:18px;font-weight:900;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:2px;flex-wrap:wrap;justify-content:flex-end}
.main-nav a{padding:27px 12px 21px;color:#fff;border-bottom:4px solid transparent;font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.025em;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
.main-nav a:hover,.main-nav a.active{border-bottom-color:#0b8fff;color:#eaf7ff}
.search-icon{font-size:34px;line-height:1}

/* Portada aprobada exacta */
.approved-hero{position:relative;max-width:1448px;margin:0 auto;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.03)}
.approved-hero img.bg{width:100%;height:auto}
.hotspot{position:absolute;z-index:8;border-radius:8px;display:block}
.hotspot:focus{outline:3px solid var(--cyan)}
.hs-inicio{left:32%;top:2.2%;width:5.2%;height:3.8%}.hs-corporacion{left:39%;top:2.2%;width:8.2%;height:3.8%}.hs-identidad{left:48.6%;top:2.2%;width:7.2%;height:3.8%}.hs-nichos{left:57%;top:2.2%;width:5.6%;height:3.8%}.hs-sedes{left:64.4%;top:2.2%;width:5.2%;height:3.8%}.hs-registro{left:71%;top:2.2%;width:6.6%;height:3.8%}.hs-alianzas{left:79%;top:2.2%;width:6.8%;height:3.8%}.hs-noticias{left:87.2%;top:2.2%;width:5.8%;height:3.8%}.hs-contacto{left:93.4%;top:2.2%;width:5.2%;height:3.8%}
.hs-nicho1{left:15%;top:31%;width:13%;height:8%}.hs-nicho2{left:29%;top:31%;width:13%;height:8%}.hs-nicho3{left:43%;top:31%;width:13%;height:8%}.hs-nicho4{left:57%;top:31%;width:13%;height:8%}.hs-nicho5{left:71%;top:31%;width:14%;height:8%}
.hs-video{left:30%;top:41%;width:38%;height:22%}.hs-voley{left:5%;top:46%;width:18%;height:18%}.hs-basket{left:76%;top:46%;width:18%;height:18%}
.hs-inscribe{left:14.2%;top:68.2%;width:9.5%;height:7%}.hs-wa{left:24%;top:68.2%;width:9.5%;height:7%}.hs-pre{left:34%;top:68.2%;width:9.5%;height:7%}.hs-confirmar{left:44.2%;top:68.2%;width:9.5%;height:7%}.hs-pago1{left:54.5%;top:68.2%;width:9.5%;height:7%}.hs-pago2{left:64.7%;top:68.2%;width:9.5%;height:7%}.hs-torneos{left:75%;top:68.2%;width:9.5%;height:7%}.hs-alianzas-row{left:20%;top:77%;width:56%;height:11%}.hs-home{left:4%;top:82%;width:9%;height:6%}.hs-hura{left:82%;top:76%;width:15%;height:13%}
.bottom-chalk{background:linear-gradient(180deg,#fff 0%,#f7fbff 38%,#edf5ff 100%);border-top:1px solid #edf3fb}

/* Botones reales para páginas internas */
.button,.pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;background:linear-gradient(180deg,#0b63d8,#062b61);color:#fff;font-weight:900;text-transform:uppercase;padding:13px 18px;cursor:pointer;box-shadow:0 8px 18px rgba(0,60,140,.2)}
.button.alt{background:#09244b}.button.danger{background:#a3192a}

/* Sections */
.section{padding:58px 0;background:#fff}
.section.compact{padding:34px 0}
.section.dark{background:linear-gradient(180deg,#06111f,#02070f);color:#fff}
.section h1,.section h2{font-size:42px;line-height:1.08;margin:0 0 22px;text-transform:uppercase;text-rendering:geometricPrecision}
.section p,.section li{font-size:18px;line-height:1.65}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 18px rgba(15,33,64,.1)}
.dark .card{background:rgba(255,255,255,.055);border-color:rgba(80,174,255,.25);color:#fff}
.card h3{font-size:23px;margin:0 0 12px;text-transform:uppercase}
.alert{padding:15px 16px;border-radius:14px;background:#eef6ff;border:1px solid #cfe4ff;color:#08244b;font-weight:700;margin:16px 0}

/* Sedes compactas en botón azul */
.sedes-blue{background:linear-gradient(135deg,#07306b,#0a63dd);border-radius:18px;color:#fff;padding:20px 24px;box-shadow:0 12px 24px rgba(0,60,140,.25);display:grid;grid-template-columns:230px 1fr 1fr 1fr;gap:18px;align-items:center}
.sedes-blue h2{font-size:29px!important;margin:0!important}
.sedes-blue strong{display:block;font-size:16px;text-transform:uppercase;margin-bottom:6px}
.sedes-blue p{font-size:14.5px!important;line-height:1.35!important;margin:0!important;color:#f1f8ff}

/* Servicios */
.service-hero-img{border-radius:0;overflow:hidden;background:#06111f}
.service-hero-img img{width:100%}
.services-cards .card img{height:180px;width:100%;object-fit:cover;border-radius:14px;margin-bottom:14px}

/* Nichos */
.nichos-hero{background:linear-gradient(180deg,#06111f,#02070f);color:#fff;position:relative;overflow:hidden}
.nichos-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(0,127,255,.38),transparent 36%)}
.nichos-hero .container{position:relative;z-index:1}
.nichos-title{font-size:74px!important}.nicho-word{color:#0b7cff}
.nicho-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:28px}
.nicho-card{padding:26px 18px;border-radius:18px;background:rgba(3,18,40,.78);border:1px solid rgba(21,150,255,.55);text-align:center;box-shadow:0 0 26px rgba(0,115,255,.18);color:#fff}
.nicho-card .nicho-icon{font-size:68px;margin-bottom:16px}.nicho-card h3{font-size:21px}.nicho-card p{font-size:15px}

/* Aliados */
.allies-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ally{text-align:center;padding:13px!important}
.ally img{height:72px;width:100%;object-fit:contain;background:#fff;border-radius:12px;padding:6px}
.ally h3{font-size:13px!important;line-height:1.15!important;margin-top:8px!important}

/* Registro deportistas */
.registry-hero img{width:100%}
.filters{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 22px}
.filter-btn{padding:12px 18px;border:1px solid #d3e0f3;border-radius:10px;background:#fff;color:#08244b;font-weight:900;cursor:pointer}
.filter-btn.active{background:#0b63d8;color:#fff}
.athlete-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.athlete-card{display:grid;grid-template-columns:115px 1fr;gap:14px;align-items:center;background:#fff;border:1px solid #dce7f6;border-radius:16px;padding:12px;box-shadow:0 8px 18px rgba(15,33,64,.08)}
.athlete-card img{width:115px;height:135px;object-fit:cover;border-radius:12px;background:#eef4fb}
.athlete-card h3{margin:0 0 6px;font-size:19px}
.athlete-card p{font-size:14px!important;line-height:1.35!important;margin:0;color:#33415c;font-weight:700}
.doc-badge{display:inline-block;margin-top:6px;font-size:12px;background:#eef6ff;color:#0b63d8;border-radius:999px;padding:4px 7px;font-weight:900}
.admin-box{padding:22px;border-radius:18px;background:#f7fbff;border:1px solid #d7e8ff;margin:20px 0}
.hidden{display:none!important}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:900;text-transform:uppercase;font-size:13px}
.field input,.field select,.field textarea{padding:12px;border:1px solid #c9d8ed;border-radius:10px;font-size:16px;background:#fff}
.list-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #dce7f6;border-radius:12px;padding:10px;margin-top:10px}

/* HURA Bot */
.home-float{position:fixed;left:22px;bottom:18px;z-index:900;display:flex;align-items:center;gap:10px;background:#071127;color:#fff;border:1px solid rgba(45,160,255,.45);border-radius:12px;padding:13px 18px;font-size:17px;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.28)}
.hura-bot-launcher{position:fixed;right:20px;bottom:18px;z-index:9999;display:flex;align-items:flex-end;cursor:pointer;animation:huraFloat 4s ease-in-out infinite}
.hura-bot-launcher img{width:154px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.25))}
.hura-bot-bubble{background:#095fe8;color:#fff;padding:12px 14px;border-radius:16px 16px 4px 16px;box-shadow:0 8px 18px rgba(0,75,200,.28);margin-right:-12px;margin-bottom:25px;max-width:148px}
.hura-bot-bubble strong{font-size:16px;display:block}.hura-bot-bubble small{font-size:12px;display:block;line-height:1.2}
.hura-online{position:absolute;right:10px;bottom:40px;width:18px;height:18px;border-radius:50%;background:#21d450;border:3px solid #fff}
.hura-panel{position:fixed;right:24px;bottom:190px;z-index:10000;width:min(410px,calc(100vw - 32px));height:min(610px,calc(100vh - 220px));background:#061225;color:#fff;border:1px solid rgba(30,162,255,.4);border-radius:22px;box-shadow:0 24px 60px rgba(0,0,0,.42);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}
.hura-panel.hidden{display:none}.hura-head{display:flex;gap:12px;align-items:center;padding:14px;background:linear-gradient(135deg,#082a58,#061225);border-bottom:1px solid rgba(30,162,255,.2)}
.hura-head img{width:64px;height:64px;object-fit:contain;border-radius:50%}.hura-head h3{margin:0}.hura-close{margin-left:auto;background:transparent;color:#fff;border:0;font-size:28px;cursor:pointer}.hura-messages{padding:15px;overflow-y:auto}.msg{max-width:88%;padding:12px 14px;border-radius:16px;margin:0 0 10px;font-size:15px;line-height:1.45}.msg.bot{background:#0b2b57;border-bottom-left-radius:4px}.msg.user{background:#0b63d8;margin-left:auto;border-bottom-right-radius:4px}.hura-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 10px}.hura-quick button{border:1px solid rgba(30,162,255,.3);background:#092044;color:#fff;border-radius:999px;padding:9px 11px;font-weight:800;cursor:pointer}.hura-policy-note{font-size:12px;color:#b9ddff;padding:0 12px 10px}.hura-input{display:grid;grid-template-columns:1fr 46px 46px;gap:8px;padding:12px;border-top:1px solid rgba(30,162,255,.2)}.hura-input input{border:1px solid rgba(30,162,255,.3);background:#091a32;color:#fff;border-radius:12px;padding:12px;color:#fff}.hura-input button{border:0;background:#0b63d8;color:#fff;border-radius:12px;font-weight:900;cursor:pointer}
@keyframes huraFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.site-footer{padding:34px 0;background:#050505;color:#fff}.footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

@media(max-width:1100px){
  .sedes-blue{grid-template-columns:1fr}.grid-3,.grid-4,.grid-5,.allies-grid,.nicho-cards,.athlete-grid{grid-template-columns:repeat(2,1fr)}
  .brand{min-width:auto}.main-nav a{font-size:13px;padding:12px}
}
@media(max-width:720px){
  .nav-wrap{flex-direction:column;align-items:flex-start}.grid-2,.grid-3,.grid-4,.grid-5,.allies-grid,.nicho-cards,.athlete-grid,.form-grid{grid-template-columns:1fr}
  .section h1,.section h2{font-size:31px}.hura-bot-launcher img{width:116px}.hura-bot-bubble{display:none}.hura-panel{right:8px;bottom:138px}.home-float{left:10px;bottom:10px}.athlete-card{grid-template-columns:1fr}.athlete-card img{width:100%;height:230px}
}
