/* ---------- WEATHER BANNER (horizontal scroll, main calendar page) ---------- */
.cuy-weather-banner-wrap{
  margin:0 0 22px; background:#0f2a5c; border-radius:12px; padding:14px 0 10px;
  overflow:hidden;
}
.cuy-weather-banner-title{
  font-family:'Oswald',sans-serif; font-weight:600; font-size:12px; text-transform:uppercase;
  letter-spacing:.4px; color:#9fb8e8; padding:0 18px 10px; display:flex; align-items:center; gap:6px;
}
#cuyWeatherBanner{
  display:flex; gap:12px; overflow-x:auto; padding:0 18px 4px;
  scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
}
#cuyWeatherBanner::-webkit-scrollbar{height:5px;}
#cuyWeatherBanner::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25); border-radius:4px;}

.cuy-weather-card{
  flex:0 0 auto; scroll-snap-align:start; min-width:190px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:10px;
  padding:12px 14px; color:#fff;
}
.cuy-weather-name{font-family:'Oswald',sans-serif; font-weight:600; font-size:13.5px; margin-bottom:2px;}
.cuy-weather-loc{font-size:11px; color:#a9c2ec; margin-bottom:8px;}
.cuy-weather-main{display:flex; align-items:center; gap:14px; margin-bottom:6px;}
.cuy-weather-temp{font-family:'Oswald',sans-serif; font-weight:700; font-size:22px;}
.cuy-weather-wind{font-size:13px; font-weight:600;}
.cuy-weather-sub{font-size:11px; color:#c3d4f0;}
.cuy-weather-unavailable{font-size:12px; color:#c3d4f0; font-style:italic;}

.cuy-weather-source{
  font-size:10.5px; color:#7e9bd6; padding:8px 18px 0; text-align:right;
}
.cuy-weather-source a{color:#a9c2ec;}

/* ---------- FULL WEATHER PAGE ---------- */
.cuy-weather-page-wrap{max-width:1080px; margin:0 auto; padding:0 24px 60px;}
.cuy-weather-page-header{margin:36px 0 24px;}
.cuy-weather-page-title{font-family:'Oswald',sans-serif; font-size:32px; font-weight:700; color:var(--ink); margin:0 0 8px;}
.cuy-weather-page-sub{font-size:15px; color:#5b708a; line-height:1.5;}

#cuyWeatherPageGrid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:16px;
}
#cuyWeatherPageGrid .cuy-weather-card{
  background:#0f2a5c; min-width:0;
}

.cuy-weather-page-footer{
  margin-top:28px; font-size:12.5px; color:#5b708a; text-align:center;
}
.cuy-weather-page-footer a{color:#1130a0; font-weight:600;}

@media (max-width: 640px){
  .cuy-weather-card{min-width:165px; padding:10px 12px;}
  .cuy-weather-temp{font-size:19px;}
}

/* ---------- COMING SOON CARD (Herramientas / future pages) ---------- */
.cuy-comingsoon-card{
  text-align:center; background:#F5FBFE; border:1.5px solid var(--line); border-radius:16px;
  padding:48px 32px; margin:20px 0 40px;
}
.cuy-comingsoon-icon{margin:0 auto 20px; width:90px; height:90px;}
.cuy-comingsoon-icon img{width:100%; height:100%; object-fit:contain;}
.cuy-comingsoon-badge{
  display:inline-block; background:#e7a825; color:#1B2A38; font-family:'Oswald',sans-serif;
  font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.5px;
  padding:6px 18px; border-radius:999px; margin-bottom:16px;
}
.cuy-comingsoon-text{
  max-width:480px; margin:0 auto; font-size:15px; color:#3d5566; line-height:1.6;
}
