.nw-widget {
    font-family: inherit;
    max-width: 700px;
    padding: 20px;
    box-sizing: border-box;
    background: linear-gradient(145deg, #4A4A47, #2C2C2A);
    border-radius: 18px;
    border: 3px solid #ffffff;
}

.nw-hero {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 14px;
}

.nw-hero-card {
    border-radius: 18px;
    padding: 18px 12px 14px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    border: 2px solid #ffffff;
    transition: transform .15s, box-shadow .15s;
    cursor: default;
    position: relative;
    overflow: hidden;
}

.nw-hero-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 50%;
    background: linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 100%);
    border-radius: 16px 16px 0 0;
    pointer-events: none;
}

.nw-hero-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0,0,0,.4);
}

.nw-air   { background: linear-gradient(160deg,#d0e8f8,#E6F1FB); color: #0C447C; box-shadow: 0 3px 8px rgba(55,138,221,.25), inset 0 1px 0 rgba(255,255,255,.6); }
.nw-water { background: linear-gradient(160deg,#063a6e,#042C53); color: #B5D4F4; box-shadow: 0 3px 8px rgba(4,44,83,.5),   inset 0 1px 0 rgba(255,255,255,.15); }
.nw-uv    { background: linear-gradient(160deg,#fdf0d5,#FAEEDA); color: #633806; box-shadow: 0 3px 8px rgba(239,159,39,.25),inset 0 1px 0 rgba(255,255,255,.6); }

.nw-water.water-cold { background: linear-gradient(160deg,#063a6e,#042C53); color: #B5D4F4; }
.nw-water.water-cool { background: linear-gradient(160deg,#1056a0,#0C447C); color: #E6F1FB; }
.nw-water.water-warm { background: linear-gradient(160deg,#0a6652,#085041); color: #E1F5EE; }
.nw-water.water-hot  { background: linear-gradient(160deg,#5c2210,#4A1B0C); color: #FAECE7; }

.nw-uv.uv-low      { background: linear-gradient(160deg,#fdf0d5,#FAEEDA); color: #633806; }
.nw-uv.uv-moderate { background: linear-gradient(160deg,#fde8b0,#f5d680); color: #412402; }
.nw-uv.uv-high     { background: linear-gradient(160deg,#fad5c0,#FAECE7); color: #4A1B0C; }
.nw-uv.uv-veryhigh { background: linear-gradient(160deg,#fac8c8,#FCEBEB); color: #501313; }
.nw-uv.uv-extreme  { background: linear-gradient(160deg,#d8d5fe,#EEEDFE); color: #26215C; }

.nw-label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: .75;
    position: relative;
}

.nw-value {
    font-size: 2.6rem;
    font-weight: 300;
    line-height: 1;
    color: inherit;
    position: relative;
}

.nw-unit {
    font-size: 1rem;
    opacity: .6;
    margin-left: 2px;
}

.nw-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 99px;
    margin-top: 4px;
    letter-spacing: .04em;
    position: relative;
    box-shadow: 0 2px 4px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.25);
}

.nw-air   .nw-badge { background: linear-gradient(160deg,#4e9de8,#378ADD); color: #E6F1FB; }
.nw-water .nw-badge { background: linear-gradient(160deg,#2270c4,#185FA5); color: #E6F1FB; }
.nw-water.water-cool .nw-badge { background: linear-gradient(160deg,#4e9de8,#378ADD); color: #E6F1FB; }
.nw-water.water-warm .nw-badge { background: linear-gradient(160deg,#25b589,#1D9E75); color: #E1F5EE; }
.nw-water.water-hot  .nw-badge { background: linear-gradient(160deg,#e87050,#D85A30); color: #FAECE7; }
.nw-uv    .nw-badge { background: linear-gradient(160deg,#f7b23b,#EF9F27); color: #412402; }
.nw-uv.uv-high     .nw-badge { background: linear-gradient(160deg,#e87050,#D85A30); color: #FAECE7; }
.nw-uv.uv-veryhigh .nw-badge { background: linear-gradient(160deg,#e86060,#E24B4A); color: #FCEBEB; }
.nw-uv.uv-extreme  .nw-badge { background: linear-gradient(160deg,#9990e8,#7F77DD); color: #EEEDFE; }

.nw-details {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    border-top: 2px dashed #5F5E5A;
    padding-top: 14px;
    margin-bottom: 12px;
}

.nw-detail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 4px;
    border-radius: 12px;
    background: linear-gradient(160deg, #474744, #3C3C39);
    text-align: center;
    border: 2.5px solid #5F5E5A;
    transition: transform .15s, border-color .15s, box-shadow .15s;
    cursor: default;
    box-shadow: 0 2px 5px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.07);
}

.nw-detail:hover {
    transform: translateY(-2px);
    border-color: #85B7EB;
    box-shadow: 0 5px 12px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.07);
}

.nw-d-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #85B7EB;
    line-height: 1.3;
}

.nw-d-value {
    font-size: .95rem;
    font-weight: 500;
    color: #E6F1FB;
}

.nw-d-value span {
    font-size: .7rem;
    font-weight: 400;
    color: #aaa;
}

.nw-rain-daily {
    font-size: .65rem;
    color: #85B7EB;
    display: block;
    margin-top: 2px;
}

.nw-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 2px dashed #5F5E5A;
    padding-top: 10px;
    font-size: 12px;
    color: #ffffff;
}

.nw-footer-time {
    font-weight: 700;
    color: #ffffff;
}

.nw-footer-name {
    font-weight: 700;
    color: #85B7EB;
}

@media (max-width: 560px) {
    .nw-widget { padding: 14px 12px; }
    .nw-hero { grid-template-columns: 1fr 1fr; }
    .nw-air { grid-column: 1 / -1; }
    .nw-value { font-size: 2.2rem; }
    .nw-details { grid-template-columns: repeat(3, 1fr); }
    .nw-footer { flex-direction: column; gap: 4px; text-align: center; }
}

@media (max-width: 380px) {
    .nw-details { grid-template-columns: repeat(2, 1fr); }
}
