.weather-hero{
padding:100px 20px 40px;
text-align:center;
position:relative;
overflow:hidden;
transition:all 0.6s ease;
}

/* overlay cinematic */
.weather-hero::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to bottom,rgba(0,0,0,0.2),rgba(0,0,0,0.6));
pointer-events:none;
}

/* ================= BASE ================= */

.weather-container{
max-width:1100px;
margin:auto;
padding:20px;
}



.weather-current{
background:rgba(255,255,255,0.05);
backdrop-filter:blur(10px);
border-radius:16px;
padding:30px;
font-size:20px;
margin-bottom:30px;
text-align:center;
}

.weather-scroll{
display:flex;
gap:15px;
overflow-x:auto;
padding-bottom:10px;
-webkit-overflow-scrolling: touch;
scroll-snap-type:x mandatory;
}

/* hide scrollbar mobile */
.weather-scroll::-webkit-scrollbar{
display:none;
}

.weather-card{
min-width:140px;
background:rgba(255,255,255,0.05);
padding:15px;
border-radius:12px;
text-align:center;
transition:0.3s;
scroll-snap-align:start;
}

.weather-card:hover{
transform:translateY(-5px);
background:rgba(255,255,255,0.1);
}

.weather-history{
margin-top:20px;
}

.weather-row{
display:flex;
justify-content:space-between;
padding:10px 0;
border-bottom:1px solid rgba(255,255,255,0.05);
}

/* ================= SUNNY ================= */

.weather-hero.sunny{
background:linear-gradient(180deg,#8fd3b6,#0f1f18);
}

.weather-hero.sunny::before{
content:"";
position:absolute;
top:-100px;
left:50%;
width:400px;
height:400px;
background:radial-gradient(circle,rgba(255,255,200,0.25),transparent 70%);
transform:translateX(-50%);
animation:sunGlow 6s ease-in-out infinite alternate;
}

@keyframes sunGlow{
0%{transform:translateX(-50%) scale(1);}
100%{transform:translateX(-50%) scale(1.2);}
}

/* ================= CLOUD ================= */

.weather-hero.cloud{
background:url('/img/cloud/san-may-dinh-mau-son-01.jpg') center/cover no-repeat;
}

.weather-hero.cloud::before{
content:"";
position:absolute;
inset:0;
background:url('/img/cloud/san-may-dinh-mau-son-02.jpg') repeat-x;
opacity:0.2;
animation:cloudMove 60s linear infinite;
}

@keyframes cloudMove{
0%{background-position:0 0;}
100%{background-position:2000px 0;}
}

/* ================= FOG ================= */

.weather-hero.fog{
background:
linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.6)),
url('/img/cloud/san-may-dinh-mau-son-02.jpg') center/cover;
}

.weather-hero.fog::before{
content:"";
position:absolute;
inset:0;
background:rgba(255,255,255,0.05);
backdrop-filter:blur(8px);
animation:fogMove 10s ease-in-out infinite alternate;
}

@keyframes fogMove{
0%{opacity:0.2;}
100%{opacity:0.4;}
}

/* ================= RAIN ================= */

.weather-hero.rain{
background:linear-gradient(180deg,#1d3557,#0f1f18);
}

body.rain-effect::before{
content:"";
position:fixed;
inset:0;
background:repeating-linear-gradient(
to bottom,
rgba(255,255,255,0.1) 0px,
rgba(255,255,255,0.1) 2px,
transparent 2px,
transparent 6px
);
animation:rainFall 0.5s linear infinite;
pointer-events:none;
z-index:1;
}

@keyframes rainFall{
0%{transform:translateY(-10px);}
100%{transform:translateY(10px);}
}

/* ================= SNOW ================= */

.weather-hero.snow{
background:linear-gradient(180deg,#6c757d,#0f1f18);
}

/* ================= RECOMMEND ================= */

.weather-recommend{
margin:20px 0;
padding:20px;
border-radius:16px;
background:rgba(255,255,255,0.05);
backdrop-filter:blur(10px);
font-size:16px;
line-height:1.6;
}

.weather-recommend.good{border-left:4px solid #28a745;}
.weather-recommend.warn{border-left:4px solid #ffc107;}
.weather-recommend.bad{border-left:4px solid #dc3545;}

/* ================= AI BOX ================= */

.ai-box{
padding:20px;
border-radius:16px;
background:linear-gradient(135deg, rgba(0,255,200,0.05), rgba(255,255,255,0.05));
border:1px solid rgba(255,255,255,0.1);
}

.ai-head{font-size:13px;opacity:0.6;margin-bottom:5px;}
.ai-thinking{font-size:12px;opacity:0.4;margin-bottom:10px;font-style:italic;}
.ai-score{font-size:42px;font-weight:bold;}
.ai-decision{font-size:18px;margin:5px 0 10px;font-weight:bold;}
.ai-desc{opacity:0.85;line-height:1.6;}
.ai-insight{margin-top:10px;opacity:0.9;}
.ai-action{margin-top:12px;font-weight:bold;}




/* ================= MOBILE CLEAN ================= */

@media (max-width:768px){

/* HERO */
.weather-hero{
padding:70px 15px 20px;
text-align:left;
}

.weather-hero h1{
font-size:22px;
}

.weather-hero p{
font-size:13px;
opacity:0.8;
}

/* CONTAINER */
.weather-container{
padding:12px;
}

/* CURRENT */
.weather-current{
padding:18px 12px;
border-radius:12px;
font-size:16px;
}

.weather-current div:first-child{
font-size:28px !important;
margin-bottom:5px;
}

/* AI BOX */
.ai-box{
padding:15px;
border-radius:12px;
}

.ai-score{
font-size:30px;
}

.ai-decision{
font-size:15px;
}

.ai-desc,
.ai-insight,
.ai-action{
font-size:13px;
}

/* FORECAST */
.weather-scroll{
gap:10px;
padding-bottom:5px;
}

.weather-card{
min-width:105px;
padding:10px;
border-radius:10px;
font-size:13px;
}

/* HISTORY */
.weather-row{
flex-direction:column;
align-items:flex-start;
gap:5px;
font-size:13px;
}

/* TITLE */
h3{
font-size:15px;
margin-top:18px;
margin-bottom:10px;
}

}