.meteo-header{background:linear-gradient(135deg,#181818,#2a2a2a);padding:3rem 1.5rem;border-radius:8px;box-shadow:0 5px 20px rgb(0 0 0 / .15);margin-bottom:2rem;text-align:center;color:#fff;position:relative;overflow:hidden}.meteo-header::after{content:'';position:absolute;top:-50px;right:-50px;width:150px;height:150px;background:radial-gradient(circle,rgb(198 45 3 / .3) 0%,#fff0 70%);z-index:0}.meteo-title{font-size:2.5rem;font-weight:900;color:#ffffff!important;margin-bottom:.5rem;position:relative;z-index:1;letter-spacing:1px}.meteo-subtitle{font-size:1.1rem;opacity:.8;margin-bottom:2rem;position:relative;z-index:1}.meteo-search-box{max-width:600px;margin:0 auto;position:relative;z-index:2}.meteo-search-input-wrapper{position:relative;display:flex;align-items:center;background:#fff;border-radius:30px;padding:.5rem 1.5rem;box-shadow:0 4px 15px rgb(0 0 0 / .2)}.meteo-search-input-wrapper .search-icon{stroke:#666;margin-right:10px}#meteo-search-input{flex:1;border:none;background:#fff0;font-size:1.1rem;color:#333;padding:.5rem 0;margin:0}#meteo-search-input:focus{outline:none;box-shadow:none}#meteo-search-clear{background:#eee;border:none;width:24px;height:24px;border-radius:50%;color:#666;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}#meteo-search-clear:hover{background:#ddd}.meteo-search-results{position:absolute;top:100%;left:0;right:0;margin-top:10px;background:#fff;border-radius:8px;box-shadow:0 10px 30px rgb(0 0 0 / .2);list-style:none;padding:0;max-height:250px;overflow-y:auto;text-align:left;color:#333}.meteo-search-results li{padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background 0.2s}.meteo-search-results li:hover{background:#f8f9fa;color:var(--color-primary,#c62d03)}.meteo-search-results li.no-results{color:#999;cursor:default}.meteo-search-results li.no-results:hover{background:#fff;color:#999}.meteo-detail-header{margin-bottom:1.5rem}.detail-city-name{font-size:2.5rem;font-weight:800;color:var(--color-text,#111);margin:0;line-height:1.1}.detail-city-country{font-size:1.2rem;color:#666;text-transform:uppercase;letter-spacing:1px}.meteo-current-conditions{display:flex;flex-wrap:wrap;background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e0e0e0;border-radius:12px;padding:2rem;margin-bottom:3rem;align-items:center;gap:2rem}.condition-main{display:flex;align-items:center;gap:1.5rem}.condition-icon{font-size:5rem;line-height:1}.condition-temp{font-size:6rem;font-weight:900;line-height:1;color:var(--color-text,#111);display:flex;align-items:flex-start}.condition-temp .degree{font-size:3rem;margin-top:.5rem;color:var(--color-primary,#c62d03)}.condition-details{flex:1;min-width:250px}.condition-desc{font-size:1.5rem;font-weight:700;margin:0 0 1rem 0;color:#444}.condition-meta{display:flex;gap:2rem}.meta-item{display:flex;flex-direction:column}.meta-label{font-size:.85rem;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.meta-value{font-size:1.2rem;font-weight:700;color:#333}.forecast-title{font-size:1.5rem;font-weight:800;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #eee;color:#111}.meteo-forecast-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.forecast-day-card{background:#fff;border:1px solid #eee;border-radius:8px;padding:1.5rem 1rem;text-align:center;transition:transform 0.2s,box-shadow 0.2s}.forecast-day-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgb(0 0 0 / .05);border-color:#ddd}.forecast-day-card.today{background:var(--color-primary,#c62d03);color:#fff;border-color:var(--color-primary,#c62d03)}.forecast-day-card.today .f-temps span{color:#fff}.forecast-day-card.today .f-temps .f-min{opacity:.8}.f-day{font-weight:700;font-size:1rem;margin-bottom:.5rem;text-transform:capitalize}.f-icon{font-size:2.5rem;margin:1rem 0}.f-temps{display:flex;flex-direction:column;gap:.2rem}.f-max{font-weight:800;font-size:1.2rem;color:#111}.f-min{font-weight:500;color:#888;font-size:.95rem}.meteo-top-cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.top-city-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;display:grid;grid-template-areas:"name weather" "country weather";grid-template-columns:1fr auto;align-items:center;cursor:pointer;transition:all 0.2s}.top-city-card:hover{border-color:var(--color-primary,#c62d03);box-shadow:0 8px 20px rgb(198 45 3 / .1)}.top-city-name{grid-area:name;font-size:1.4rem;font-weight:800;color:#111;line-height:1.2}.top-city-country{grid-area:country;font-size:.85rem;color:#777;text-transform:uppercase;margin-top:4px}.top-city-weather{grid-area:weather;display:flex;align-items:center;gap:10px}.top-city-icon{font-size:2rem}.top-city-temp{font-size:2.2rem;font-weight:900;color:var(--color-primary,#c62d03)}.meteo-loading{grid-column:1 / -1;text-align:center;padding:3rem;color:#666;font-style:italic}@media screen and (max-width:768px){.meteo-header{padding:2rem 1rem}.meteo-title{font-size:1.8rem}.condition-temp{font-size:4rem}.condition-icon{font-size:3.5rem}.meteo-current-conditions{flex-direction:column;text-align:center;padding:1.5rem}.condition-meta{justify-content:center;width:100%}}body.dark-mode .meteo-search-input-wrapper{background:#222;border:1px solid #444}body.dark-mode #meteo-search-input{color:#fff}body.dark-mode .meteo-search-results{background:#222;border:1px solid #444;color:#fff}body.dark-mode .meteo-search-results li{border-bottom-color:#333}body.dark-mode .meteo-search-results li:hover{background:#333}body.dark-mode .detail-city-name,body.dark-mode .forecast-title,body.dark-mode .top-city-name{color:#fff}body.dark-mode .meteo-current-conditions{background:#1a1a1a;border-color:#333}body.dark-mode .condition-temp{color:#fff}body.dark-mode .condition-desc{color:#ddd}body.dark-mode .meta-value{color:#eee}body.dark-mode .forecast-day-card{background:#1a1a1a;border-color:#333}body.dark-mode .forecast-day-card:hover{border-color:#555}body.dark-mode .f-max{color:#fff}body.dark-mode .top-city-card{background:#1a1a1a;border-color:#333}body.dark-mode .top-city-card:hover{border-color:var(--color-primary,#c62d03)}