:root{
  --yellow:#F4C430;
  --blue:#3FC1E0;
  --red:#E2483E;
  --green:#2E9E5B;
  --ink:#20242B;
  --navy:#132A4A;
  --bg-soft:#F6F8FA;
  --line:#E7EBEE;
  --display:'Fredoka', sans-serif;
  --body:'Inter', sans-serif;
}
body{font-family:var(--body); color:var(--ink);}
h1,h2,h3,h4,.font-display{font-family:var(--display); font-weight:600;}

.stripes{display:flex; height:6px;}
.stripes span{flex:1;}
.stripes .y{background:var(--yellow);}
.stripes .b{background:var(--blue);}
.stripes .r{background:var(--red);}
.stripes .g{background:var(--green);}

.btn-brand{background:var(--red); color:#fff; border:none; font-weight:600; border-radius:100px; padding:.65rem 1.4rem;}
.btn-brand:hover{background:#C63A31; color:#fff;}
.btn-yellow{background:var(--yellow); color:#5B3E00; border:none; font-weight:600; border-radius:100px; padding:.65rem 1.4rem;}
.btn-yellow:hover{background:#E0B429; color:#5B3E00;}

.kicker{display:inline-flex; align-items:center; gap:8px; font-size:.8rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--red); margin-bottom:.5rem;}

.hero-photo{width:100%; overflow:hidden;}
.hero-photo img{width:100%; height:auto; display:block;}
.banner-pagina{border-radius:20px; overflow:hidden;}
.banner-pagina img{width:100%; height:auto; display:block;}
.mapa-sede{height:220px; border-radius:12px; overflow:hidden;}
.hero-cta-bar{background:var(--ink); color:#fff;}
.hero-cta-bar p{color:#C9CDD3;}

.station-card{background:#fff; border:1px solid var(--line); border-radius:18px; padding:1.6rem 1.4rem; height:100%; position:relative;}
.station-card .bar{position:absolute; top:0; left:22px; right:22px; height:5px; border-radius:0 0 6px 6px;}
.station-card .icon-chip{width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin:1rem 0; color:#fff;}

.req-card{border:1px solid var(--line); border-radius:16px; padding:1.3rem;}
.req-card .icon{width:26px; height:26px; color:var(--red);}

.sede-card{background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.18); border-radius:16px; padding:1.5rem; color:#fff;}
.sedes-section{background:var(--ink); border-radius:26px;}

.carousel-item-link{display:none;}
.carousel-slot img{height:64px; max-width:100%; object-fit:contain;}
.carousel-slot .mono{width:64px; height:64px; margin:0 auto; border-radius:14px; display:flex; align-items:center; justify-content:center; color:#fff; background:var(--red); font-family:var(--display); font-weight:600; font-size:20px;}
.carousel-slot h4{font-size:1.05rem; margin-top:.6rem;}
.carousel-enlace-dot{width:8px; height:8px; border-radius:50%; border:none; padding:0; background:var(--line);}
.carousel-enlace-dot.active{background:var(--red); width:20px; border-radius:4px;}

footer{background:var(--navy); color:#fff;}
footer .text-muted{color:#A9B4C4 !important;}
footer hr{border-color:rgba(255,255,255,.15); opacity:1;}
footer a.social{width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.25); color:#fff; display:flex; align-items:center; justify-content:center;}
footer a.social:hover{background:rgba(255,255,255,.08);}

.whatsapp-widget{position:fixed; right:20px; bottom:20px; z-index:1050;}
.whatsapp-btn{width:58px; height:58px; border-radius:50%; background:#25D366; border:none; color:#fff; font-size:1.6rem; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(0,0,0,.22); cursor:pointer;}
.whatsapp-btn:hover{background:#1EBE57;}
.whatsapp-panel{position:absolute; bottom:70px; right:0; width:230px; background:#fff; border-radius:14px; box-shadow:0 12px 32px rgba(0,0,0,.18); padding:10px; margin-bottom:4px;}
.whatsapp-panel-header{font-size:.78rem; font-weight:600; color:var(--ink); padding:6px 8px 8px;}
.whatsapp-panel-item{display:flex; align-items:center; gap:8px; padding:9px 8px; border-radius:8px; text-decoration:none; color:var(--ink); font-size:.9rem;}
.whatsapp-panel-item:hover{background:var(--bg-soft);}
.whatsapp-panel-item i{color:#25D366; font-size:1.15rem;}
