/* Clima: card integrado ao roteiro, mobile-first */
.weather-panel{margin:15px 0 5px;padding:17px 18px 14px;border:1px solid #d8e9f8;border-radius:16px;background:linear-gradient(135deg,#f1f9ff 0%,#f7fcff 65%,#fff 100%);color:#163c66;box-shadow:0 4px 20px rgba(17,71,123,.045)}
.weather-panel-heading,.weather-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.weather-panel-title{justify-content:flex-start}.weather-panel-title>span{font-size:25px;line-height:1}
.weather-panel-title strong{display:block;font-size:14px;font-weight:850}.weather-panel-title small{display:block;color:#6886a3;font-size:10.5px;margin-top:2px}
.weather-refresh{flex-shrink:0;font-size:10px!important;min-height:33px!important;padding:5px 10px!important}
.weather-loading{color:#5d7b99;font-size:12px;padding:10px 0 0}
.weather-forecast-main{display:flex;align-items:center;gap:12px;margin:19px 0 16px}
.weather-icon{font-size:39px;line-height:1.1;flex-shrink:0}
.weather-condition{flex:1;min-width:0}.weather-condition strong{display:block;font-size:17px;line-height:1.25;color:#163a61}.weather-condition span{display:block;color:#708ca7;font-size:11px;margin-top:4px}
.weather-temps{text-align:right;min-width:70px}.weather-temps strong{font-size:37px;font-weight:900;letter-spacing:-1.7px;line-height:1;color:#194e7d}.weather-temps span{display:block;color:#718aa1;font-size:10px;margin-top:4px}
.weather-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.weather-metrics>div{background:#fff;border-radius:10px;padding:10px 8px;border:1px solid #e1edf7;min-width:0}.weather-metrics span{display:block;color:#718da3;font-size:10px;line-height:1.4}.weather-metrics strong{font-size:17px;color:#1d537f;margin-top:5px;display:block}
.weather-hourly{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.weather-hour{text-align:center;border-radius:9px;background:#e8f4ff;padding:8px 4px}.weather-hour span,.weather-hour small{display:block;color:#557996;font-size:10px}.weather-hour b{display:block;color:#194977;font-size:12px;padding:5px 0}
.weather-tip{margin-top:12px;font-size:11.5px;line-height:1.55;color:#2a678e;font-weight:700}
.weather-caution{margin-top:9px;font-size:11px;line-height:1.55;color:#9b6a21;background:#fff8e7;padding:9px;border-radius:9px}
.weather-footer{margin-top:12px;padding-top:9px;border-top:1px solid #dceaf6;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:9.5px;color:#7691a9}.weather-footer a{color:#367eb4;text-decoration:underline}
.weather-unavailable{display:flex;align-items:flex-start;gap:11px;padding:17px 1px 4px}.weather-large-icon{font-size:27px}.weather-unavailable strong{font-size:13px;color:#285476}.weather-unavailable p{font-size:11.5px;line-height:1.65;color:#6c889f;margin-top:5px}
@media(max-width:540px){.weather-panel{padding:13px 12px}.weather-panel-heading{gap:6px}.weather-panel-title small{font-size:9px}.weather-refresh{font-size:9px!important;padding:5px 8px!important}.weather-condition strong{font-size:15px}.weather-icon{font-size:31px}.weather-temps strong{font-size:32px}.weather-forecast-main{gap:8px}.weather-metrics{gap:4px}.weather-metrics>div{padding:9px 6px}.weather-metrics span{font-size:9px}.weather-metrics strong{font-size:15px}.weather-hour b{font-size:11px}.weather-hour small{font-size:9px}}
@media print{.weather-refresh{display:none!important}.weather-panel{break-inside:avoid;box-shadow:none}}
