:root{
  --blue:#0b61d8;
  --blue-2:#2298e9;
  --blue-3:#074bb2;
  --ink:#0f1b35;
  --muted:#66738a;
  --soft:#f5f8fc;
  --line:#dfe7f2;
  --card:#ffffff;
  --danger:#fa3d4d;
  --sun:#ffb41f;
  --rain:#1e93ff;
  --green:#17a35b;
  --shadow:0 16px 45px rgba(22,38,66,.10);
  --soft-shadow:0 8px 24px rgba(22,38,66,.075);
  --radius:18px;
  --max:1448px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#f8fbff 0%,#f3f7fc 100%);color:var(--ink);font-size:15px;line-height:1.45}
a{color:inherit;text-decoration:none}button,input{font:inherit}.page-shell{max-width:var(--max);margin:0 auto;padding:0 20px 26px}.cm-header{background:#fff;border-bottom:1px solid #edf2f8}.cm-header-inner{max-width:var(--max);height:74px;margin:0 auto;display:grid;grid-template-columns:320px minmax(330px,1fr) auto 56px;align-items:center;gap:22px;padding:0 20px}.cm-logo{display:flex;align-items:center;gap:11px;min-width:0}.cm-logo-mark{width:74px;height:50px;position:relative;display:inline-block}.cm-logo-mark:before{content:"";position:absolute;left:12px;top:2px;width:30px;height:30px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 6px rgba(255,180,31,.16)}.cm-logo-mark:after{content:"";position:absolute;left:2px;bottom:8px;width:62px;height:28px;border:6px solid #338dde;border-top:0;border-radius:0 0 28px 28px;transform:skewX(-10deg)}.cm-logo-mark span{position:absolute;left:19px;bottom:14px;width:44px;height:20px;border-bottom:7px solid #0f6dc9;border-radius:0 0 28px 28px}.cm-logo-text strong{display:inline-block;font-size:30px;letter-spacing:-1.1px;color:#2b95de}.cm-logo-text em{font-style:normal;font-size:30px;font-weight:800;color:#0e1c35}.cm-logo-text small{display:block;margin-top:-6px;color:#718096;font-weight:600;font-size:13px;letter-spacing:.02em}.cm-search{position:relative}.cm-search input{width:100%;height:50px;border:1px solid #d9e3ef;border-radius:999px;background:#fff;padding:0 56px 0 58px;font-size:16px;color:var(--ink);box-shadow:inset 0 1px 0 rgba(18,35,66,.03),0 3px 14px rgba(22,38,66,.04);outline:0}.cm-search input:focus{border-color:#82b9ef;box-shadow:0 0 0 4px rgba(34,152,233,.13)}.search-ico{position:absolute;left:22px;top:50%;transform:translateY(-50%);font-size:28px;color:#4b5f7c;line-height:1}.geo-btn{position:absolute;right:8px;top:7px;width:36px;height:36px;border:0;background:#f3f7fc;border-radius:50%;color:#193b75;font-weight:800;cursor:pointer}.search-results{position:absolute;top:58px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;z-index:90}.search-results a,.search-empty{display:flex;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid #eef3f8}.search-results a:hover{background:#f4f9ff}.search-results span{color:var(--muted);font-size:13px}.quick-links{display:flex;gap:20px;color:#004aa8;font-weight:750;white-space:nowrap}.quick-links a:hover{color:var(--blue-2)}.unit-switch{height:44px;min-width:54px;border:1px solid #d9e3ef;background:#fff;border-radius:12px;color:#144178;font-weight:800;box-shadow:0 4px 14px rgba(22,38,66,.05);cursor:pointer}.blue-nav{max-width:var(--max);height:50px;margin:10px auto 18px;padding:0 20px;display:flex;align-items:stretch;gap:0}.blue-nav a{position:relative;display:flex;align-items:center;justify-content:center;min-width:112px;padding:0 22px;color:#fff;font-weight:800;background:linear-gradient(180deg,#279cef,#0e73d4);border-right:1px solid rgba(255,255,255,.18)}.blue-nav a:first-child{border-radius:10px 0 0 10px}.blue-nav a:last-child{border-radius:0 10px 10px 0;border-right:0}.blue-nav a.active{background:linear-gradient(180deg,#0c67d5,#074bb2)}.blue-nav a.active:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #074bb2}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:18px;align-items:start}.map-card,.side-card,.feature-card,.forecast-panel,.module-card,.now-card{background:var(--card);border:1px solid #e3ebf6;border-radius:var(--radius);box-shadow:var(--soft-shadow)}.map-card{overflow:hidden}.day-strip{height:58px;display:flex;align-items:stretch;overflow-x:auto;border-bottom:1px solid #e6edf7;background:#fff}.day-strip button{appearance:none;border:0;background:#fff;min-width:122px;padding:10px 12px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#16233d;font-weight:850;cursor:pointer;border-right:1px solid #eff4fa;position:relative}.day-strip button small{color:#657189;font-size:12px;font-weight:750;text-transform:uppercase}.day-strip button.active{color:var(--blue)}.day-strip button.active:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:3px;border-radius:3px;background:var(--blue)}.spain-map-shell{position:relative;min-height:540px;background:radial-gradient(circle at 70% 20%,#eef9ff 0,#dff0ff 28%,#d9edff 48%,#f6fbff 100%);overflow:hidden}.spain-map-svg{position:absolute;inset:0;width:100%;height:100%}.map-land{fill:url(#land);stroke:#8192a6;stroke-width:1.6}.island{fill:url(#land);stroke:#8192a6;stroke-width:1.4}.map-line{fill:none;stroke:#b6c4d5;stroke-width:1;opacity:.62}.map-markers{position:absolute;inset:0}.map-marker{position:absolute;transform:translate(-50%,-50%);display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;gap:0 2px;min-width:82px;text-align:center;color:#0a1430;transition:.16s;z-index:3}.marker-icon{font-size:31px;line-height:1;filter:drop-shadow(0 2px 0 #fff)}.marker-temp{font-weight:900;font-size:17px;text-shadow:0 2px 0 #fff}.marker-name{grid-column:1/3;font-size:13px;font-weight:800;line-height:1.05;text-shadow:0 2px 0 #fff;background:rgba(255,255,255,.66);border-radius:8px;padding:0 3px;justify-self:center}.map-marker:hover{z-index:20;transform:translate(-50%,-50%) scale(1.1)}.zoom-controls{position:absolute;z-index:5;left:14px;top:20px;display:grid;overflow:hidden;border-radius:10px;box-shadow:var(--soft-shadow)}.zoom-controls button{width:38px;height:38px;border:0;background:#fff;font-size:22px;font-weight:850;color:#13213c;border-bottom:1px solid #edf2f7}.zoom-controls button:last-child{border-bottom:0}.canary-inset{position:absolute;right:12px;bottom:12px;width:226px;height:138px;border:2px solid rgba(255,255,255,.85);border-radius:16px;background:rgba(208,237,255,.72);box-shadow:inset 0 0 0 1px rgba(12,83,151,.08);display:flex;align-items:center;justify-content:center;gap:10px;color:#17436d;font-weight:900}.mini-isle{width:18px;height:9px;background:#effbdd;border:1px solid #8fa1b7;border-radius:50%;transform:rotate(-20deg)}.radar-btn{position:absolute;right:250px;bottom:22px;background:#fff;border:1px solid #d8e4f2;border-radius:12px;padding:10px 16px;color:#1158b9;font-weight:850;box-shadow:var(--soft-shadow)}.right-stack{display:grid;gap:14px}.city-summary-card{padding:18px;position:relative}.favorite{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#8fa0b7;font-size:26px;cursor:pointer}.now-card h1{margin:0 0 12px;font-size:25px;letter-spacing:-.02em}.now-main{display:flex;align-items:center;gap:18px;margin-bottom:16px}.big-symbol{font-size:64px;line-height:1}.now-main strong{display:block;font-size:60px;line-height:.9;letter-spacing:-2px}.now-main span{display:block;font-weight:800;margin-top:3px}.now-main small{color:#56647b}.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px 0;border-top:1px solid #edf2f8;border-bottom:1px solid #edf2f8}.metrics-row div{text-align:center}.metrics-row span,.metrics-row small{display:block;color:#69758c;font-size:12px}.metrics-row b{display:block;margin-top:4px;font-size:14px}.summary-text{margin:12px 0 0;color:#526078}.side-card{padding:18px}.side-card h2{font-size:18px;margin:0 0 12px;color:#0e3d8d}.hour-mini-row{display:flex;gap:8px;overflow-x:auto}.hour-mini-row div{min-width:58px;text-align:center}.hour-mini-row span{display:block;color:#657189;font-size:12px}.hour-mini-row b{display:block;font-size:28px;line-height:1.15;margin:5px 0}.hour-mini-row strong{display:block;font-size:15px}.more-link{display:inline-block;color:#075bc8;font-weight:850;margin-top:12px}.card-head{display:flex;justify-content:space-between;align-items:center}.card-head span{background:#ffe2e7;color:#e51e37;padding:5px 10px;border-radius:8px;font-weight:850;font-size:12px}.alerts-card article{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;border:1px solid #edf2f8;border-radius:13px;padding:10px;margin-top:8px}.alerts-card article>b{width:38px;height:38px;display:grid;place-items:center;background:#ffb31c;border-radius:12px;font-size:20px}.alerts-card p{margin:0}.alerts-card small{display:block;color:#657189}.alerts-card em{font-style:normal;font-size:12px;color:#556277;text-align:right}.feature-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1.05fr;gap:16px;margin-top:20px}.feature-card,.module-card{padding:16px;overflow:hidden}.feature-card h2,.module-card h2{font-size:18px;margin:0 0 12px;color:#0e3d8d}.feature-card a,.module-card a,.side-list{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #edf2f8;font-weight:750}.feature-card a span,.module-card a span{min-width:0}.feature-card b,.module-card b{font-size:22px}.feature-card strong,.module-card strong{font-weight:900}.feature-card em,.module-card em{font-style:normal;color:#209352;font-weight:850}.list-card a:first-of-type{margin-top:2px}.photo-strip{height:54px;margin:-16px -16px 12px;border-radius:18px 18px 0 0;background-size:cover;background-position:center}.beach-photo{background:linear-gradient(135deg,rgba(6,92,170,.35),rgba(255,206,87,.25)),radial-gradient(circle at 25% 80%,#ead09c 0 12%,transparent 13%),linear-gradient(170deg,#86d5ff 0 47%,#43a0d7 48% 56%,#efcf9b 57%)}.surf-photo{background:linear-gradient(135deg,rgba(4,38,78,.1),rgba(4,38,78,.35)),radial-gradient(ellipse at 34% 45%,#ffffff 0 15%,#4fc3ee 16% 24%,transparent 25%),linear-gradient(150deg,#1687bd,#074d8d 52%,#dff5ff 53%)}.camino-photo{background:linear-gradient(135deg,rgba(38,88,45,.15),rgba(29,103,171,.18)),radial-gradient(circle at 78% 18%,#f8faf5 0 7%,transparent 8%),linear-gradient(165deg,#a6d4ff 0 38%,#5da270 39% 70%,#d7b56d 71%)}.email-card{background:linear-gradient(180deg,#eef8ff,#fff)}.email-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#3198e9;color:#fff;font-size:25px;margin-bottom:8px}.email-card p{color:#66738a;margin:0 0 12px}.email-card input{width:100%;height:42px;border:1px solid #d5e1ee;border-radius:9px;padding:0 13px;margin-bottom:9px}.email-card button,.premium-card button{width:100%;height:42px;border:0;border-radius:9px;background:linear-gradient(180deg,#075fd3,#064eb9);color:#fff;font-weight:900;cursor:pointer}.email-card small{display:block;text-align:center;color:#7d8899;margin-top:8px}.cm-footer{max-width:var(--max);margin:24px auto 0;padding:12px 20px 22px;display:flex;align-items:center;gap:22px;color:#526078;font-size:13px}.cm-footer a{color:#526078}.cm-footer .socials{margin-left:auto}.weather-hero{position:relative;min-height:226px;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:26px 52px 26px 24px;color:#fff;box-shadow:var(--soft-shadow);background:#7892aa}.hero-rainy{background:linear-gradient(90deg,rgba(30,50,73,.75),rgba(60,94,121,.36)),radial-gradient(circle at 82% 68%,rgba(127,169,189,.7) 0 10%,transparent 11%),linear-gradient(180deg,#6d8196,#95aebe 58%,#4d6f87)}.hero-cloudy{background:linear-gradient(90deg,rgba(30,50,73,.72),rgba(60,94,121,.22)),radial-gradient(circle at 35% 20%,rgba(255,255,255,.42),transparent 22%),linear-gradient(180deg,#8299ad,#b8c6d2)}.hero-sunny{background:linear-gradient(90deg,rgba(8,66,125,.52),rgba(10,123,199,.16)),linear-gradient(180deg,#77c9ff,#d4f2ff)}.hero-rainy:after{content:"";position:absolute;inset:-30px;background:repeating-linear-gradient(100deg,rgba(255,255,255,.30) 0 1px,transparent 1px 28px);opacity:.44;animation:rainMove 10s linear infinite}@keyframes rainMove{to{transform:translate(-80px,80px)}}.hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,30,48,.20),transparent 52%)}.hero-content{position:relative;z-index:2;max-width:920px}.breadcrumb{margin:0 0 8px;font-weight:800;color:rgba(255,255,255,.9)}.weather-hero h1{font-size:36px;line-height:1.1;margin:0 0 12px;letter-spacing:-.6px;text-shadow:0 3px 20px rgba(0,0,0,.22)}.hero-time{font-size:16px;font-weight:750;margin:0 0 20px;color:rgba(255,255,255,.95)}.hero-metrics{display:flex;gap:22px;flex-wrap:wrap}.hero-metrics span{font-size:13px;line-height:1.25;color:rgba(255,255,255,.9)}.hero-metrics b{font-size:14px;color:#fff}.hero-now-card{position:relative;z-index:2;width:218px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:18px;color:#0e1c35;text-align:center;overflow:hidden;box-shadow:0 18px 45px rgba(15,29,56,.18)}.hero-symbol{font-size:60px;margin-top:18px}.hero-now-card strong{display:block;font-size:58px;line-height:.95}.hero-now-card>span{display:block;color:#5f6b80;margin:4px 0 16px}.hero-wind{padding:14px;background:#f4f7fb;color:#425067}.hero-wind b{color:#0e1c35}.sub-tabs{height:44px;display:flex;gap:0;align-items:stretch;overflow-x:auto;margin-bottom:14px;background:rgba(255,255,255,.72);border-radius:0 0 14px 14px}.sub-tabs a{min-width:80px;display:flex;align-items:center;justify-content:center;color:#536178;border-bottom:3px solid transparent;font-weight:800;font-size:13px}.sub-tabs a.active,.sub-tabs a.selected{color:var(--blue)}.sub-tabs a.selected{border-bottom-color:var(--blue)}.city-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.main-column{min-width:0}.forecast-panel{padding:16px 16px 18px}.forecast-panel h2{margin:0 0 10px;color:#0e1c35;font-size:22px}.forecast-table-wrap{overflow-x:auto;border:1px solid #e8eff8;border-radius:12px;background:#fff}.forecast-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}.forecast-table th,.forecast-table td{text-align:center;padding:8px 6px;border-bottom:1px solid #eef3f8;font-size:13px}.forecast-table th:first-child,.forecast-table td:first-child{width:118px;text-align:left;font-weight:850;color:#23324d;background:#fff;position:sticky;left:0;z-index:3}.forecast-table th{font-size:13px}.forecast-table th b{display:block;color:#1f2b44}.forecast-table th small{display:block;color:#66738a;font-size:10px;margin-top:2px}.icons-row td span{font-size:27px}.max-temp{color:#ef233c!important;font-weight:900;font-size:16px!important}.min-temp{color:#075bd3!important;font-weight:900;font-size:16px!important}.chart-row td{padding:0 6px}.trend-chart{height:74px}.trend-chart svg{display:block;width:100%;height:74px}.gridline{stroke:#e7edf5;stroke-width:1}.line-max,.line-min{fill:none;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.line-max{stroke:#ff4658}.line-min{stroke:#1667e9}.wind-dir{display:block;font-size:20px;transform:rotate(var(--deg));color:#44617c}.rain-cell{color:#075bd3!important;font-weight:850}.center-button{display:block;max-width:350px;margin:10px auto 0;text-align:center;border:1px solid #d9e3ef;border-radius:9px;padding:10px 14px;color:#075bc8;font-weight:850;background:#fff}.lower-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}.module-card .city-hours{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.city-hours div{min-width:0}.city-hours small{display:block;color:#607089;font-size:11px;line-height:1.25}.city-sidebar{display:grid;gap:14px;align-content:start}.premium-card{text-align:center;background:linear-gradient(180deg,#fff,#f4f9ff)}.crown{font-size:44px;color:#ffb51f}.premium-card p{color:#66738a}.side-list{grid-template-columns:1fr auto}.side-list small{display:block;color:#7b8798;font-weight:650}.air-card p{display:flex;gap:8px;align-items:center;margin:0 0 6px}.green-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#26b05a}.air-card small{color:#66738a}.alert-box,.not-found{max-width:900px;margin:30px auto;background:#fff4e5;border:1px solid #ffdca4;color:#7a4200;border-radius:18px;padding:18px}.not-found{color:var(--ink);background:#fff}.not-found a{color:var(--blue);font-weight:900}@media(max-width:1180px){.cm-header-inner{grid-template-columns:280px minmax(260px,1fr) auto 54px;gap:14px}.quick-links{gap:12px}.home-layout,.city-layout{grid-template-columns:1fr}.right-stack{grid-template-columns:repeat(3,1fr)}.feature-row{grid-template-columns:repeat(2,1fr)}.city-sidebar{grid-template-columns:repeat(2,1fr)}.lower-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.cm-header-inner{height:auto;grid-template-columns:1fr auto;padding:12px 16px}.cm-logo{grid-column:1/2}.unit-switch{grid-column:2/3}.cm-search{grid-column:1/3;grid-row:2}.quick-links{grid-column:1/3;overflow-x:auto;padding-bottom:2px}.blue-nav{padding:0 16px;overflow-x:auto;justify-content:flex-start}.blue-nav a{min-width:104px}.page-shell{padding:0 14px}.home-layout{gap:12px}.spain-map-shell{min-height:510px}.marker-name{font-size:11px}.marker-icon{font-size:25px}.marker-temp{font-size:15px}.right-stack{grid-template-columns:1fr}.feature-row,.lower-grid,.city-sidebar{grid-template-columns:1fr}.weather-hero{flex-direction:column;align-items:flex-start;padding:22px}.hero-now-card{width:100%;max-width:320px}.weather-hero h1{font-size:30px}.hero-metrics{gap:14px}.cm-footer{flex-wrap:wrap}.cm-footer .socials{margin-left:0}.canary-inset{width:150px;height:90px}.radar-btn{right:178px}}@media(max-width:560px){.cm-logo-text strong,.cm-logo-text em{font-size:26px}.cm-logo-mark{width:60px}.spain-map-shell{min-height:430px}.map-marker{min-width:50px}.marker-name{display:none}.marker-icon{font-size:23px}.marker-temp{font-size:14px}.canary-inset{display:none}.radar-btn{right:12px}.day-strip button{min-width:96px}.now-main strong{font-size:48px}.metrics-row{grid-template-columns:repeat(2,1fr)}.forecast-panel{padding:12px}.weather-hero h1{font-size:26px}.hero-metrics span{width:45%}.sub-tabs a{min-width:74px}.module-card .city-hours{grid-template-columns:repeat(3,1fr)}}


/* Expanded modules: beaches, surf, Camino, alerts, radar */
.module-page{padding-top:18px}.section-hero{border-radius:18px;padding:28px 32px;margin-bottom:18px;background:linear-gradient(135deg,#0b61d8,#35a6ef);color:#fff;box-shadow:var(--soft-shadow);overflow:hidden}.section-hero h1{margin:0 0 8px;font-size:36px;letter-spacing:-.6px}.section-hero p{margin:0;max-width:880px;color:rgba(255,255,255,.92);font-weight:650}.small-hero{background:linear-gradient(135deg,#0b61d8,#4fb6e8)}.beach-hero{background:linear-gradient(135deg,#0587d1,#62c9ff 55%,#ffd276)}.surf-hero{background:linear-gradient(135deg,#013b72,#0787c7 58%,#bff2ff)}.camino-hero{background:linear-gradient(135deg,#287a4e,#79b45c 58%,#d2aa5a)}.alerts-hero{background:linear-gradient(135deg,#c72735,#ff9c2b)}.radar-hero{background:linear-gradient(135deg,#183a72,#3da3ff)}.listing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.listing-card{display:block;min-height:178px;padding:18px;position:relative;transition:.18s transform,.18s box-shadow}.listing-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.listing-card h2{font-size:20px;margin:8px 0 4px;color:#0e3d8d}.listing-card p{color:#66738a;margin:0 0 14px}.badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#e8f3ff;color:#075bc8;font-weight:900;font-size:12px}.listing-weather{display:flex;align-items:center;gap:11px;margin-top:auto}.listing-weather b{font-size:32px}.listing-weather strong{font-size:28px}.listing-weather small{color:#66738a;font-weight:750}.content-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.mini-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.mini-table span{background:#f5f8fc;border:1px solid #e7eef8;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{padding:12px 10px;border-bottom:1px solid #edf2f8;text-align:left}.data-table th{color:#0e3d8d;background:#f7fbff}.notice-card{border:1px solid #cfe0f4;background:#f5faff;color:#17406f;border-radius:16px;padding:14px 16px;margin:0 0 16px;font-weight:700}.notice-card code{background:#e5f0fb;padding:2px 5px;border-radius:5px}.alerts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.alert-item{padding:18px;border-left:6px solid #ffc020}.alert-item.level-naranja{border-left-color:#ff7b00}.alert-item.level-rojo{border-left-color:#ec1b2e}.alert-item b{display:inline-block;padding:5px 10px;border-radius:999px;background:#fff1c8;color:#7e5200;font-size:12px}.alert-item h2{margin:12px 0 6px;color:#0e1c35}.radar-panel{display:grid;grid-template-columns:1fr 300px;gap:18px;padding:18px}.radar-panel aside{border-left:1px solid #e4edf8;padding-left:18px}.radar-panel aside a{display:block;padding:10px 0;border-bottom:1px solid #edf2f8;color:#075bc8;font-weight:850}.radar-map-demo{height:520px;border-radius:18px;background:radial-gradient(circle at 45% 45%,#eaf7d9 0 30%,transparent 31%),linear-gradient(140deg,#a9ddff,#eaf7ff);position:relative;overflow:hidden;display:grid;place-items:center;color:#0e3d8d;font-size:28px}.rain-zone{position:absolute;border-radius:50%;filter:blur(8px);opacity:.62;background:#1775ff}.z1{width:180px;height:120px;left:18%;top:22%}.z2{width:260px;height:170px;right:12%;top:42%;background:#0bb4ff}.z3{width:130px;height:95px;left:48%;bottom:18%;background:#004de6}.full-map-card{padding:0 0 12px}.route-grid .listing-card{min-height:205px}.seo-text{padding:20px;margin-top:18px}.seo-text h2{margin-top:0;color:#0e3d8d}@media(max-width:1180px){.listing-grid{grid-template-columns:repeat(3,1fr)}.alerts-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.listing-grid,.alerts-grid,.content-two-col,.radar-panel{grid-template-columns:1fr}.radar-panel aside{border-left:0;border-top:1px solid #e4edf8;padding-left:0;padding-top:12px}.section-hero h1{font-size:28px}.radar-map-demo{height:360px}}

/* =========================================================
   City weather page: pixel-style implementation from mockup
   ========================================================= */
:root{
  --cm-blue:#095bd7;
  --cm-blue2:#2c98e8;
  --cm-ink:#14213a;
  --cm-muted:#66758c;
  --cm-border:#e2eaf4;
  --cm-shadow:0 12px 30px rgba(28,55,91,.09);
  --cm-soft:0 6px 20px rgba(24,54,93,.08);
}
html,body{font-family:"Nunito Sans", "Inter", "Segoe UI", Arial, sans-serif;color:var(--cm-ink);background:#f7faff;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;}
a{text-decoration:none}.cm-header{background:#fff;border-bottom:0;box-shadow:none}.cm-header-inner{max-width:1448px;margin:0 auto;height:76px;padding:0 20px;display:grid;grid-template-columns:292px minmax(360px,496px) 1fr 56px;gap:22px;align-items:center}.cm-logo-image{display:block;width:268px;height:70px}.cm-logo-image img{display:block;width:268px;height:70px;object-fit:contain}.cm-logo-mark,.cm-logo-text{display:none!important}.cm-search{height:42px;border:1px solid #d9e3f0;border-radius:26px;background:#fff;box-shadow:inset 0 2px 4px rgba(29,55,88,.04);display:flex;align-items:center;padding:0 12px 0 18px;position:relative}.cm-search .search-ico{font-size:25px;color:#59718f;line-height:1;margin-right:10px;font-weight:700}.cm-search input{font-family:inherit;font-size:16px;font-weight:700;color:#758197;background:transparent;border:0;outline:none;flex:1;min-width:0}.cm-search input::placeholder{color:#828ca0;opacity:1}.geo-btn{width:31px;height:31px;border-radius:50%;border:0;background:#eef5ff;color:#0e3d8d;font-weight:900;font-size:17px}.quick-links{display:flex;justify-content:flex-end;gap:24px;align-items:center;white-space:nowrap}.quick-links a{color:#0755c6;font-size:14px;font-weight:900}.unit-switch{height:38px;width:56px;border:1px solid #d8e2ef;background:#fff;border-radius:9px;color:#0b51be;font-weight:900;font-family:inherit;font-size:15px}.blue-nav{max-width:1408px;margin:0 auto 18px;height:42px;border-radius:7px;background:linear-gradient(90deg,#0758d1 0%,#239aeb 100%);display:grid;grid-template-columns:repeat(10,1fr);padding:0;overflow:visible;box-shadow:0 8px 18px rgba(8,94,204,.16)}.blue-nav a{position:relative;height:42px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:14px;border-radius:7px;transition:.15s}.blue-nav a:hover{background:rgba(255,255,255,.12)}.blue-nav a.active{background:#074bbd;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}.blue-nav a.active:after{content:"";position:absolute;bottom:-8px;left:50%;margin-left:-8px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #074bbd}.page-shell.city-page{max-width:1408px;margin:0 auto 0;padding:0 0 22px}.weather-hero{height:226px;min-height:226px;border-radius:13px;overflow:hidden;margin:0;position:relative;padding:22px 52px 22px 20px;background:#7e9eba url('/assets/img/hero-san-sebastian.webp') center center/cover no-repeat!important;color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--cm-soft)}.weather-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,57,91,.68),rgba(54,88,118,.45) 48%,rgba(205,222,235,.18));z-index:0}.weather-hero .hero-overlay{position:absolute;inset:0;background-image:linear-gradient(115deg,transparent 0 46%,rgba(255,255,255,.16) 47%,transparent 48%);background-size:34px 100%;opacity:.18;z-index:1;pointer-events:none}.hero-content,.hero-now-card{position:relative;z-index:2}.hero-content{max-width:940px}.breadcrumb{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:14px;line-height:1;font-weight:900;color:rgba(255,255,255,.92)}.breadcrumb svg,.hero-time svg,.hero-metrics svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.weather-hero h1{font-size:35px;line-height:1.08;font-weight:900;letter-spacing:-.8px;margin:0 0 13px;color:#fff;text-shadow:0 6px 22px rgba(0,0,0,.22)}.hero-time{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:800;margin:0 0 23px;color:rgba(255,255,255,.96)}.hero-time svg{width:18px;height:18px}.hero-metrics{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.hero-metrics span{font-size:12px;line-height:1.16;font-weight:700;color:#eff6ff;min-width:78px;position:relative;padding-left:27px}.hero-metrics span svg{position:absolute;left:0;top:2px;width:22px;height:22px;color:#eff6ff}.hero-metrics span:nth-child(5) svg{color:#ffc02e}.hero-metrics b{display:block;font-size:14px;font-weight:900;color:#fff;margin-top:2px}.hero-now-card{width:220px;height:174px;background:rgba(255,255,255,.93);border:1px solid rgba(255,255,255,.72);border-radius:18px;color:#0a1730;box-shadow:0 14px 38px rgba(25,43,65,.17);display:grid;grid-template-columns:84px 1fr;grid-template-rows:104px 70px;overflow:hidden;text-align:left}.hero-symbol{grid-column:1/2;grid-row:1/2;display:grid;place-items:center}.hero-now-card strong{grid-column:2/3;grid-row:1/2;align-self:center;font-size:52px;font-weight:900;letter-spacing:-2px;line-height:.88;color:#090d18}.hero-now-card>span{grid-column:2/3;grid-row:1/2;align-self:end;margin:0 0 21px;color:#66718b;font-size:14px;font-weight:800}.hero-wind{grid-column:1/3;grid-row:2/3;background:#f3f6fa;color:#233451;padding:14px 0 0 75px;font-size:14px;font-weight:800;position:relative}.hero-wind:before{content:"←";position:absolute;left:33px;top:22px;font-size:28px;color:#445e81}.hero-wind b{display:block;color:#1e385e;font-weight:900}.sub-tabs{height:44px;margin:0 0 0;background:transparent;display:flex;align-items:stretch;overflow:visible;border-radius:0;gap:0}.sub-tabs a{height:44px;min-width:74px;padding:0 13px;display:flex;align-items:center;justify-content:center;background:#fff;border-right:1px solid #edf2f8;color:#61708a;font-size:12px;font-weight:800;border-bottom:0;box-shadow:0 3px 13px rgba(35,67,107,.04)}.sub-tabs a:first-child{border-radius:15px 0 0 15px}.sub-tabs a:last-child{border-radius:0 15px 15px 0}.sub-tabs a.active,.sub-tabs a.selected{color:#064fbc}.sub-tabs a.selected{box-shadow:inset 0 -3px 0 #0b5bd3,0 3px 13px rgba(35,67,107,.04)}.city-layout{margin-top:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.main-column{min-width:0}.forecast-panel,.side-card,.module-card,.feature-card{background:#fff;border:1px solid var(--cm-border);border-radius:13px;box-shadow:var(--cm-soft)}.forecast-panel{padding:15px 16px 12px}.forecast-panel h2{margin:0 0 8px;font-size:18px;letter-spacing:-.2px;color:#15233d;font-weight:900}.forecast-table-wrap{border:1px solid #e8eef6;border-radius:8px;background:#fff;overflow-x:auto}.forecast-table{min-width:1025px;width:100%;border-collapse:collapse;table-layout:fixed}.forecast-table th,.forecast-table td{border-bottom:0;padding:5px 4px;text-align:center;vertical-align:middle;font-size:12px}.forecast-table th:first-child,.forecast-table td:first-child{width:116px;text-align:left;font-size:12px;font-weight:900;color:#263653;background:#fff;position:sticky;left:0;z-index:3}.forecast-table thead th{height:43px;font-size:12px;color:#1d2b45}.forecast-table th b{display:block;font-size:13px;font-weight:900;color:#1d2b45}.forecast-table th small{display:block;font-size:9px;color:#61708a;font-weight:900;text-transform:uppercase;line-height:1.1}.icons-row td{height:46px;padding-top:0}.max-temp,.min-temp{font-size:15px!important;font-weight:900!important;padding:3px 4px!important}.max-temp{color:#f1293f!important}.min-temp{color:#075fd6!important}.chart-row td{padding:0 4px!important;height:64px}.trend-chart{height:56px}.trend-chart svg{height:56px;width:100%;display:block}.line-max,.line-min{stroke-width:3}.line-max{stroke:#ff2b41}.line-min{stroke:#1462e8}.gridline{stroke:#e7edf6;stroke-width:1}.forecast-table small{display:block;color:#2b3d5b;font-weight:800}.wind-dir{font-size:20px;display:block;color:#355270;transform:rotate(var(--deg));line-height:1}.rain-cell{color:#075bd3!important;font-weight:900}.center-button{height:30px;line-height:30px;padding:0 18px;max-width:300px;margin:7px auto 0;border:1px solid #dce6f2;border-radius:7px;background:#fff;color:#075bc8;font-weight:900;font-size:12px;box-shadow:none}.lower-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}.module-card{padding:14px 14px 12px;min-height:210px;overflow:hidden}.module-card h2,.side-card h2,.feature-card h2{font-size:15px;color:#064db5;font-weight:900;margin:0 0 10px}.module-card a,.side-card a{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;min-height:27px;border-bottom:1px solid #edf2f8;color:#1e3355;font-weight:900;font-size:13px}.module-card a:last-child,.side-card a:last-child{border-bottom:0}.module-card a span,.side-card a span{min-width:0}.module-card a strong,.side-card a strong{font-size:13px;font-weight:900;color:#1d2b45}.module-card a em{font-style:normal;color:#35a254;font-weight:900}.module-card .more-link,.side-card .more-link{display:inline-flex!important;grid-template-columns:none;border-bottom:0;margin-top:10px;color:#075bc8;font-weight:900;font-size:13px}.photo-strip{height:58px;margin:-14px -14px 12px;border-radius:13px 13px 0 0;background-size:cover;background-position:center}.beach-photo{background-image:url('/assets/img/card-beach.webp')}.surf-photo{background-image:url('/assets/img/card-surf.webp')}.camino-photo{background-image:url('/assets/img/card-camino.webp')}.module-card .city-hours{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.city-hours div{text-align:center;min-width:0}.city-hours span{display:block;color:#40506c;font-size:11px;font-weight:900;margin-bottom:5px}.city-hours strong{display:block;color:#10233f;font-size:16px;font-weight:900;margin-top:1px}.city-hours small{display:block;font-size:9px;line-height:1.25;color:#5c7190;font-weight:700}.city-sidebar{display:grid;gap:14px;align-content:start}.side-card,.feature-card{padding:15px 16px}.premium-card{min-height:126px;display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto auto;gap:2px 13px;background:#fff}.premium-card .crown{grid-row:1/4;width:56px;height:56px;border-radius:0;display:grid;place-items:center}.premium-card .crown svg{width:48px;height:48px;fill:#ffbd1d;stroke:#ffbd1d;stroke-width:1.4}.premium-card h2{margin-top:2px;color:#0753bf}.premium-card p{font-size:12px;line-height:1.25;margin:0 0 10px;color:#60708a;font-weight:700}.premium-card button{grid-column:2/3;height:29px;border:0;border-radius:5px;background:linear-gradient(180deg,#075fd6,#074dbb);color:#fff;font-family:inherit;font-weight:900;font-size:12px}.side-list{grid-template-columns:1fr auto!important}.side-list small{display:block;color:#78869a;font-size:11px;font-weight:700}.side-list b{display:flex;align-items:center;gap:5px;color:#1a2b47;font-size:13px}.air-card p{display:flex;gap:8px;align-items:center;margin:0 0 6px;font-size:13px}.green-dot{width:13px;height:13px;border-radius:50%;background:#2bb24a;display:inline-block}.air-card p strong{font-weight:900}.air-card p span{margin-left:auto;color:#58708e;font-weight:800}.air-card small{display:block;color:#65758e;font-size:12px;line-height:1.35;font-weight:700}.email-card{background:linear-gradient(135deg,#eef8ff,#fff);text-align:left}.email-card .email-icon{width:46px;height:46px;border-radius:50%;background:#39a3ef;color:#fff;display:grid;place-items:center;float:left;margin:0 13px 8px 0}.email-card .email-icon svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8}.email-card h2{font-size:18px;color:#0b54bf;margin:2px 0 6px}.email-card p{font-size:13px;color:#5f708a;font-weight:700;line-height:1.34;margin:0 0 13px}.email-card input{width:100%;height:34px;border:1px solid #d7e2ef;border-radius:6px;padding:0 12px;font-family:inherit;font-weight:700;margin-bottom:9px;background:#fff}.email-card button{width:100%;height:32px;border:0;border-radius:6px;background:linear-gradient(180deg,#075fd6,#074dbb);color:#fff;font-weight:900;font-family:inherit}.email-card small{display:block;text-align:center;margin-top:7px;color:#687992;font-size:11px}.cm-footer{max-width:1408px;margin:8px auto 0;height:48px;padding:0 0;display:flex;align-items:center;gap:22px;color:#566782;font-weight:700;font-size:12px}.cm-footer a{color:#566782}.cm-footer .socials{margin-left:auto;color:#334866;font-weight:800}.cm-wx{display:inline-grid;place-items:center;vertical-align:middle;line-height:1}.cm-wx svg{display:block;overflow:visible}.cm-wx-tiny svg{width:23px;height:23px}.cm-wx-mini svg{width:30px;height:30px}.cm-wx-table svg{width:34px;height:34px}.cm-wx-hero svg{width:78px;height:78px}.sun-core{fill:#ffbd27}.sun-rays path{stroke:#ffbd27;stroke-width:5;stroke-linecap:round}.sun-rays.small path{stroke-width:4}.cloud path{fill:#cfd5df;stroke:#99a6ba;stroke-width:1.7}.drops path{stroke:#39a7ff;stroke-width:5.5;stroke-linecap:round}.snow circle{fill:#7bc8ff}.bolt{fill:#ffb31f;stroke:#d98900;stroke-width:.6}.mist path{stroke:#7cc9ea;stroke-width:5;stroke-linecap:round}.hero-now-card .cloud path{fill:#c4c9d2;stroke:#a4acbb;stroke-width:1.4}.hero-now-card .drops path{stroke-width:5}.module-card b .cm-wx,.side-list b .cm-wx{display:inline-grid}.feature-card:after,.side-card:after,.module-card:after{content:"";display:block;clear:both}@media(max-width:1180px){.cm-header-inner{grid-template-columns:270px minmax(300px,1fr) auto 56px}.blue-nav,.page-shell.city-page,.cm-footer{margin-left:16px;margin-right:16px}.city-layout{grid-template-columns:1fr}.city-sidebar{grid-template-columns:repeat(2,1fr)}.lower-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.cm-header-inner{grid-template-columns:1fr 56px;height:auto;gap:10px;padding:10px 16px}.cm-logo-image,.cm-logo-image img{width:236px;height:auto}.cm-search{grid-column:1/3}.quick-links{grid-column:1/3;justify-content:flex-start;overflow-x:auto}.blue-nav{display:flex;overflow-x:auto;height:42px}.blue-nav a{min-width:105px}.weather-hero{height:auto;min-height:0;display:block;padding:22px}.hero-now-card{margin-top:18px;width:100%;max-width:230px}.weather-hero h1{font-size:29px}.sub-tabs{overflow-x:auto}.city-sidebar,.lower-grid{grid-template-columns:1fr}.page-shell.city-page{margin-left:14px;margin-right:14px}.cm-footer{height:auto;min-height:48px;flex-wrap:wrap;padding-bottom:12px}.cm-footer .socials{margin-left:0}.hero-metrics{gap:14px}.hero-metrics span{min-width:130px}.forecast-panel{padding:12px}}@media(max-width:560px){.cm-header-inner{padding-left:12px;padding-right:12px}.cm-logo-image,.cm-logo-image img{width:220px}.weather-hero{border-radius:11px}.weather-hero h1{font-size:25px}.hero-metrics span{width:100%;min-width:0}.hero-now-card{max-width:none}.forecast-table{min-width:950px}.module-card .city-hours{grid-template-columns:repeat(3,1fr)}}

/* Asset-based mockup icons + larger typography update */
body{
  font-size:17px!important;
  line-height:1.5!important;
}
.cm-ui-icon{
  display:inline-block;
  width:22px;
  height:22px;
  object-fit:contain;
  vertical-align:-5px;
}
.search-ico{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  margin-right:12px!important;
  font-size:0!important;
}
.search-ico .cm-ui-icon{width:24px;height:24px;vertical-align:0}
.geo-btn{display:inline-flex;align-items:center;justify-content:center;font-size:0!important}
.geo-btn .cm-ui-icon{width:26px;height:26px;vertical-align:0}
.cm-logo-image{width:286px!important;height:74px!important}
.cm-logo-image img{width:286px!important;height:74px!important;object-fit:contain!important}
.cm-header-inner{grid-template-columns:310px minmax(390px,520px) 1fr 60px!important;height:82px!important}
.cm-search{height:48px!important}
.cm-search input{font-size:18px!important;font-weight:800!important}
.quick-links a{font-size:16px!important}
.unit-switch{height:42px!important;width:60px!important;font-size:17px!important}
.blue-nav{height:48px!important;margin-bottom:20px!important}
.blue-nav a{height:48px!important;font-size:16px!important}
.weather-hero{height:246px!important;min-height:246px!important;padding:26px 56px 26px 24px!important}
.weather-hero h1{font-size:40px!important;line-height:1.08!important;letter-spacing:-1px!important}
.breadcrumb{font-size:16px!important;margin-bottom:13px!important}
.hero-time{font-size:18px!important;margin-bottom:24px!important}
.hero-metrics span{font-size:14px!important;min-width:92px!important;padding-left:31px!important}
.hero-metrics b{font-size:16px!important}
.breadcrumb .cm-ui-icon,
.hero-time .cm-ui-icon{width:22px;height:22px;vertical-align:-5px;filter:brightness(0) invert(1)}
.hero-metrics .cm-ui-icon{position:absolute;left:0;top:0;width:26px;height:26px;object-fit:contain;filter:brightness(0) invert(1)}
.hero-metrics span:nth-child(5) .cm-ui-icon{filter:none}
.hero-now-card{width:232px!important;height:184px!important;grid-template-columns:92px 1fr!important;grid-template-rows:110px 74px!important}
.hero-now-card strong{font-size:58px!important}
.hero-now-card>span{font-size:15px!important;margin-bottom:24px!important}
.hero-wind{font-size:15px!important;padding-top:15px!important}
.sub-tabs{height:48px!important}
.sub-tabs a{height:48px!important;min-width:82px!important;font-size:14px!important;padding:0 16px!important}
.city-layout{grid-template-columns:minmax(0,1fr) 320px!important;gap:18px!important}
.forecast-panel{padding:18px 18px 14px!important}
.forecast-panel h2{font-size:22px!important;margin-bottom:10px!important}
.forecast-table{min-width:1120px!important}
.forecast-table th,.forecast-table td{font-size:14px!important;padding:6px 5px!important}
.forecast-table th:first-child,.forecast-table td:first-child{width:126px!important;font-size:14px!important}
.forecast-table thead th{height:50px!important;font-size:14px!important}
.forecast-table th b{font-size:15px!important}
.forecast-table th small{font-size:10px!important}
.icons-row td{height:58px!important}
.max-temp,.min-temp{font-size:18px!important}
.wind-dir{font-size:24px!important}
.forecast-table small{font-size:13px!important}
.center-button{height:36px!important;line-height:36px!important;font-size:14px!important;max-width:350px!important}
.module-card{padding:17px 17px 14px!important;min-height:230px!important}
.module-card h2,.side-card h2,.feature-card h2{font-size:18px!important}
.module-card a,.side-card a{font-size:15px!important;min-height:32px!important}
.module-card a strong,.side-card a strong{font-size:15px!important}
.module-card .more-link,.side-card .more-link{font-size:15px!important}
.photo-strip{height:68px!important;margin:-17px -17px 14px!important}
.city-hours span{font-size:13px!important}
.city-hours strong{font-size:18px!important}
.city-hours small{font-size:11px!important}
.side-card,.feature-card{padding:18px 18px!important}
.premium-card p,.email-card p,.air-card small{font-size:14px!important}
.premium-card button,.email-card button{font-size:14px!important;height:34px!important}
.email-card input{height:38px!important;font-size:15px!important}
.cm-footer{font-size:14px!important;height:54px!important}
.cm-footer .socials{display:flex;align-items:center;gap:10px;margin-left:auto}
.cm-footer .socials .cm-ui-icon{width:24px;height:24px;vertical-align:0}
.premium-card .crown .cm-ui-icon{width:54px;height:54px}
.email-card .email-icon .cm-ui-icon{width:30px;height:30px;filter:none;vertical-align:0}
.cm-wx{display:inline-grid!important;place-items:center!important;vertical-align:middle!important;line-height:1!important}
.cm-wx img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;filter:none!important}
.cm-wx-tiny{width:28px!important;height:28px!important}
.cm-wx-mini{width:36px!important;height:36px!important}
.cm-wx-table{width:42px!important;height:42px!important}
.cm-wx-hero{width:88px!important;height:88px!important}
.module-card b .cm-wx,.side-list b .cm-wx{margin-right:4px}
.green-dot{
  background-image:url('/assets/img/icons/ui/green-dot.png')!important;
  background-size:cover!important;
  background-color:transparent!important;
}

@media(max-width:1180px){
  .city-layout{grid-template-columns:1fr!important}
  .cm-header-inner{grid-template-columns:286px minmax(300px,1fr) auto 60px!important}
}
@media(max-width:850px){
  .cm-header-inner{grid-template-columns:1fr 60px!important;height:auto!important}
  .cm-logo-image,.cm-logo-image img{width:260px!important;height:auto!important}
  .weather-hero{height:auto!important;min-height:0!important}
  .weather-hero h1{font-size:32px!important}
  .city-sidebar,.lower-grid{grid-template-columns:1fr!important}
  .blue-nav{height:46px!important}
  .blue-nav a{height:46px!important;font-size:15px!important}
}
@media(max-width:560px){
  body{font-size:16px!important}
  .cm-logo-image,.cm-logo-image img{width:238px!important}
  .weather-hero h1{font-size:28px!important}
  .forecast-table{min-width:1040px!important}
  .cm-wx-hero{width:80px!important;height:80px!important}
}
.map-marker .marker-icon{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;filter:drop-shadow(0 2px 0 #fff)}
.map-marker .marker-icon img{width:38px!important;height:38px!important;object-fit:contain!important;display:block!important}
.big-symbol{font-size:0!important;width:96px;height:96px;display:grid;place-items:center}
.alerts-card article>b{font-size:0!important;background:#fff!important;border:1px solid #edf2f8!important}
.alerts-card article>b .cm-wx{width:30px!important;height:30px!important}
.alerts-card article>b .cm-ui-icon{width:30px!important;height:30px!important}
.radar-btn{display:inline-flex;align-items:center;gap:7px;font-size:15px!important}
.radar-btn .cm-ui-icon{width:20px;height:20px;vertical-align:0}

/* --- Fix pass: menu geometry, working anchors, search, hero card, no 14-day scroll --- */
:root{--max:1880px!important;--nav-h:58px;}
body{font-family:'Nunito Sans',Inter,Segoe UI,Roboto,Arial,sans-serif!important;font-size:18px!important;}
.page-shell{max-width:var(--max)!important;width:calc(100% - 48px)!important;padding-left:0!important;padding-right:0!important;}
.page-shell.city-page{max-width:var(--max)!important;width:calc(100% - 48px)!important;margin-left:auto!important;margin-right:auto!important;}
.cm-header-inner{max-width:var(--max)!important;width:calc(100% - 48px)!important;grid-template-columns:300px minmax(360px,560px) minmax(290px,1fr) 62px!important;gap:24px!important;padding:0!important;height:86px!important;}
.cm-logo-image{height:78px!important;width:292px!important;overflow:hidden;display:flex!important;align-items:center!important;}
.cm-logo-image img{width:292px!important;height:78px!important;object-fit:contain!important;object-position:left center!important;}
.quick-links{justify-content:flex-end!important;align-items:center!important;gap:24px!important;min-width:0!important;}
.quick-links a{font-size:17px!important;line-height:1!important;}
.unit-switch{justify-self:end!important;}
.cm-search{height:56px!important;display:flex!important;align-items:center!important;position:relative!important;}
.cm-search input{height:56px!important;border-radius:999px!important;padding-left:64px!important;padding-right:64px!important;font-size:20px!important;font-weight:800!important;box-shadow:0 8px 24px rgba(22,38,66,.06), inset 0 1px 0 rgba(255,255,255,.7)!important;}
.search-ico{position:absolute!important;left:24px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;width:28px!important;height:28px!important;z-index:2!important;}
.search-ico .cm-ui-icon{width:28px!important;height:28px!important;}
.geo-btn{right:9px!important;top:50%!important;transform:translateY(-50%)!important;width:42px!important;height:42px!important;background:#f0f5fb!important;}
.search-results{top:64px!important;z-index:999!important;}
.blue-nav{max-width:var(--max)!important;width:calc(100% - 48px)!important;margin:10px auto 22px!important;padding:0!important;height:var(--nav-h)!important;display:grid!important;grid-template-columns:repeat(10,1fr)!important;align-items:stretch!important;gap:0!important;border-radius:10px!important;overflow:visible!important;box-shadow:0 10px 26px rgba(12,95,200,.12)!important;}
.blue-nav a{min-width:0!important;width:auto!important;height:var(--nav-h)!important;padding:0 12px!important;font-size:20px!important;line-height:1!important;font-weight:900!important;border-right:1px solid rgba(255,255,255,.18)!important;border-left:1px solid rgba(0,0,0,.03)!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;}
.blue-nav a:first-child{border-radius:10px 0 0 10px!important;}
.blue-nav a:last-child{border-radius:0 10px 10px 0!important;border-right:0!important;}
.blue-nav a.active:after{bottom:-8px!important;border-left-width:9px!important;border-right-width:9px!important;border-top-width:9px!important;}
.weather-hero{height:270px!important;min-height:270px!important;padding:28px 36px!important;border-radius:16px!important;background-size:cover!important;background-position:center!important;}
.weather-hero h1{font-size:44px!important;line-height:1.06!important;max-width:980px!important;}
.hero-metrics{display:flex!important;align-items:flex-start!important;gap:34px!important;flex-wrap:wrap!important;}
.hero-metrics span{min-width:118px!important;font-size:15px!important;line-height:1.15!important;}
.hero-now-card{width:270px!important;height:206px!important;border-radius:20px!important;padding:0!important;display:grid!important;grid-template-columns:104px 1fr!important;grid-template-rows:126px 80px!important;overflow:hidden!important;align-self:center!important;}
.hero-symbol{grid-column:1!important;grid-row:1!important;align-self:center!important;justify-self:center!important;}
.hero-now-card strong{grid-column:2!important;grid-row:1!important;align-self:start!important;justify-self:start!important;margin-top:30px!important;font-size:64px!important;line-height:.78!important;letter-spacing:-3px!important;white-space:nowrap!important;}
.hero-now-card>span{grid-column:2!important;grid-row:1!important;align-self:end!important;justify-self:start!important;margin:0 0 30px 0!important;font-size:17px!important;font-weight:900!important;color:#66718a!important;white-space:nowrap!important;}
.hero-wind{grid-column:1/3!important;grid-row:2!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;padding:0!important;margin:0!important;background:#f3f6fb!important;font-size:17px!important;line-height:1.35!important;text-align:left!important;color:#263859!important;}
.hero-wind b{font-size:20px!important;white-space:nowrap!important;}
.cm-wx-hero{width:90px!important;height:90px!important;}
.sub-tabs{height:58px!important;display:flex!important;align-items:stretch!important;gap:0!important;max-width:100%!important;overflow-x:auto!important;background:#fff!important;border:1px solid #e2eaf5!important;border-top:0!important;border-radius:0 0 20px 20px!important;box-shadow:0 10px 24px rgba(22,38,66,.045)!important;margin-bottom:24px!important;}
.sub-tabs a{height:58px!important;min-width:120px!important;padding:0 24px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;font-weight:900!important;color:#65738a!important;border-right:1px solid #e6eef8!important;position:relative!important;white-space:nowrap!important;}
.sub-tabs a.active,.sub-tabs a.selected{color:#1056c4!important;background:#fff!important;}
.sub-tabs a.active:after,.sub-tabs a.selected:after{content:""!important;position:absolute!important;left:18px!important;right:18px!important;bottom:0!important;height:4px!important;border-radius:4px!important;background:#1e62d6!important;}
.anchor-target{display:block;position:relative;top:-110px;height:0;visibility:hidden;}
.city-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 320px!important;gap:20px!important;align-items:start!important;}
.main-column{min-width:0!important;}
.forecast-panel{padding:26px 28px 22px!important;border-radius:18px!important;overflow:visible!important;}
.forecast-panel h2{font-size:30px!important;line-height:1.1!important;margin:0 0 22px!important;}
.forecast-table-wrap{width:100%!important;max-width:100%!important;overflow:visible!important;}
.forecast-table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-spacing:0!important;border-collapse:separate!important;}
.forecast-table th,.forecast-table td{padding:7px 3px!important;text-align:center!important;vertical-align:middle!important;font-size:16px!important;line-height:1.15!important;white-space:normal!important;}
.forecast-table th:first-child,.forecast-table td:first-child{width:130px!important;text-align:left!important;font-size:17px!important;font-weight:900!important;padding-left:0!important;color:#13213c!important;}
.forecast-table thead th{height:58px!important;}
.forecast-table th b{font-size:18px!important;display:block!important;}
.forecast-table th small{font-size:12px!important;line-height:1.1!important;display:block!important;color:#66738a!important;}
.icons-row td{height:66px!important;}
.cm-wx-table{width:48px!important;height:48px!important;}
.max-temp,.min-temp{font-size:19px!important;font-weight:900!important;}
.trend-chart{height:72px!important;width:100%!important;min-width:0!important;}
.chart-row td{padding-top:0!important;padding-bottom:0!important;}
.wind-dir{font-size:28px!important;display:block!important;margin:0 auto 2px!important;line-height:1!important;}
.rain-cell{font-weight:900!important;color:#145ad0!important;}
.center-button{height:48px!important;line-height:46px!important;font-size:19px!important;max-width:560px!important;margin:20px auto 0!important;border-radius:11px!important;}
.lower-grid{grid-template-columns:1fr 1fr 1fr 1fr!important;gap:18px!important;margin-top:20px!important;}
.module-card{min-height:250px!important;border-radius:16px!important;}
.module-card h2,.side-card h2,.feature-card h2{font-size:20px!important;}
.module-card a,.feature-card a,.side-list{font-size:16px!important;}
.side-card,.feature-card{border-radius:16px!important;}
.detail-days,.month-panel{margin-top:20px!important;}
.detail-day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;}
.detail-day-card{border:1px solid #e2eaf5;background:#fff;border-radius:14px;padding:14px;min-height:160px;box-shadow:0 8px 18px rgba(22,38,66,.04);}
.detail-day-card strong{display:block;font-size:17px;color:#13213c;}
.detail-day-card small{display:block;color:#66738a;font-size:12px;font-weight:900;text-transform:uppercase;}
.detail-day-card p{margin:5px 0 0;font-size:14px;color:#50617c;line-height:1.25;}
.month-panel p{margin:0 0 16px;color:#53647e;font-size:17px;}
.month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.month-grid div{background:#f6f9fd;border:1px solid #e2eaf5;border-radius:14px;padding:16px;}
.month-grid strong{display:block;color:#0e3d8d;font-size:17px;margin-bottom:4px;}
.month-grid span{font-weight:900;font-size:18px;}
.cm-footer{max-width:var(--max)!important;width:calc(100% - 48px)!important;margin-left:auto!important;margin-right:auto!important;}
.table-scroll{overflow-x:auto;}
@media (max-width:1380px){
  .city-layout{grid-template-columns:1fr!important;}
  .city-sidebar{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:18px!important;}
  .forecast-table th:first-child,.forecast-table td:first-child{width:118px!important;}
  .forecast-table th,.forecast-table td{font-size:15px!important;}
  .forecast-table th b{font-size:16px!important;}
  .detail-day-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:950px){
  .page-shell,.page-shell.city-page,.cm-header-inner,.blue-nav,.cm-footer{width:calc(100% - 28px)!important;}
  .cm-header-inner{grid-template-columns:1fr 62px!important;height:auto!important;padding:12px 0!important;}
  .cm-logo-image{grid-column:1/3!important;width:260px!important;height:auto!important;}
  .cm-search{grid-column:1/3!important;width:100%!important;}
  .quick-links{grid-column:1/3!important;justify-content:flex-start!important;overflow-x:auto!important;}
  .blue-nav{display:flex!important;overflow-x:auto!important;height:50px!important;}
  .blue-nav a{min-width:115px!important;height:50px!important;font-size:16px!important;}
  .weather-hero{height:auto!important;min-height:0!important;}
  .hero-now-card{margin-top:18px!important;}
  .sub-tabs a{min-width:104px!important;font-size:16px!important;padding:0 16px!important;}
  .forecast-table-wrap{overflow-x:auto!important;}
  .forecast-table{min-width:980px!important;}
  .lower-grid,.city-sidebar{grid-template-columns:1fr!important;}
  .detail-day-grid,.month-grid{grid-template-columns:1fr!important;}
}



/* === Fix pack: menus, search, forecast tabs, desktop no-scroll === */
:root{--max:1680px}
html,body{overflow-x:hidden}
.cm-header-inner{grid-template-columns:330px minmax(420px,1fr) auto 64px;gap:24px}
.cm-search{height:54px;display:flex;align-items:center}
.cm-search input{
  height:54px !important;
  border-radius:999px !important;
  padding-left:64px !important;
  padding-right:62px !important;
  font-size:18px !important;
  font-weight:750;
  line-height:54px;
}
.search-ico{left:24px !important;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.search-ico img{width:28px;height:28px;object-fit:contain}
.geo-btn{right:9px !important;top:50% !important;transform:translateY(-50%);width:40px !important;height:40px !important;display:flex;align-items:center;justify-content:center}
.geo-btn img{width:25px;height:25px;object-fit:contain}

.blue-nav{
  max-width:calc(var(--max) - 40px) !important;
  height:54px !important;
  margin:10px auto 20px !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(10,1fr) !important;
  align-items:stretch !important;
  gap:0 !important;
  border-radius:11px !important;
  overflow:visible !important;
  box-shadow:0 7px 18px rgba(12,75,160,.12);
}
.blue-nav a{
  min-width:0 !important;
  height:54px !important;
  padding:0 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1 !important;
  background:linear-gradient(180deg,#39a5f3 0%,#1679d9 100%) !important;
  border-right:1px solid rgba(255,255,255,.18) !important;
  border-left:1px solid rgba(0,52,130,.10) !important;
  color:#fff !important;
  white-space:nowrap !important;
}
.blue-nav a:first-child{border-radius:11px 0 0 11px !important;border-left:0 !important}
.blue-nav a:last-child{border-radius:0 11px 11px 0 !important;border-right:0 !important}
.blue-nav a.active{background:linear-gradient(180deg,#1f66cf 0%,#0a49b4 100%) !important}
.blue-nav a.active:after{bottom:-8px !important;border-left-width:9px !important;border-right-width:9px !important;border-top-width:9px !important;border-top-color:#0a49b4 !important}

.weather-hero{margin-top:0}
.sub-tabs{
  margin:18px 0 22px !important;
  height:64px !important;
  min-height:64px !important;
  display:flex !important;
  align-items:stretch !important;
  overflow:hidden !important;
  border-radius:0 0 18px 18px !important;
  background:#fff !important;
  border:1px solid #e4ebf5 !important;
  box-shadow:0 8px 22px rgba(20,38,66,.06);
}
.sub-tabs a{
  flex:0 0 auto !important;
  min-width:118px !important;
  height:64px !important;
  padding:0 24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:19px !important;
  font-weight:900 !important;
  color:#65738b !important;
  border-right:1px solid #edf2f8 !important;
  position:relative;
  white-space:nowrap !important;
}
.sub-tabs a.active,.sub-tabs a.selected{color:#1559c8 !important;background:#fff !important}
.sub-tabs a.active:after,.sub-tabs a.selected:after{
  content:"";
  position:absolute;
  left:22px;right:22px;bottom:0;height:4px;
  border-radius:4px 4px 0 0;
  background:#1d63df;
}

.city-layout{grid-template-columns:minmax(0,1fr) 330px !important;gap:18px !important}
.forecast-panel{scroll-margin-top:110px}
.forecast-panel h2{font-size:28px !important;margin-bottom:18px !important}
.forecast-table-wrap{
  overflow:visible !important;
  max-width:100% !important;
  padding-bottom:0 !important;
}
.forecast-table{
  width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
}
.forecast-table th:first-child,.forecast-table td:first-child{width:170px !important}
.forecast-table th:not(:first-child),.forecast-table td:not(:first-child){
  width:auto !important;
  padding-left:5px !important;
  padding-right:5px !important;
  font-size:16px !important;
}
.forecast-table thead th b{font-size:18px !important}
.forecast-table thead th small{font-size:12px !important}
.forecast-table .cm-wx-table img{max-width:42px !important;max-height:42px !important}
.forecast-table .max-temp,.forecast-table .min-temp{font-size:18px !important}
.forecast-table .wind-dir{font-size:30px !important}
.forecast-day.is-hidden{display:none !important}
.forecast-table[data-days="7"] .chart-row td:last-child,
.forecast-table[data-days="10"] .chart-row td:last-child{opacity:.95}
.center-button{min-width:420px;max-width:520px;height:54px;font-size:18px !important;display:flex;align-items:center;justify-content:center;margin:20px auto 0 !important}

@media (max-width:1100px){
  .cm-header-inner{grid-template-columns:1fr; height:auto; padding:14px 18px; gap:12px}
  .quick-links,.unit-switch{display:none}
  .blue-nav{display:flex !important;overflow-x:auto !important;padding:0 12px !important;border-radius:0 !important;max-width:100% !important}
  .blue-nav a{min-width:120px !important;font-size:17px !important}
  .sub-tabs{overflow-x:auto !important;overflow-y:hidden !important;border-radius:14px !important}
  .forecast-table-wrap{overflow-x:auto !important}
  .forecast-table{min-width:980px !important}
}

.beach-index{padding:22px;margin:0 0 22px}
.region-pill-grid{display:flex;flex-wrap:wrap;gap:10px}
.region-pill-grid a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#f2f7ff;border:1px solid #dce9fb;color:#1455b6;font-weight:900}
.region-pill-grid a span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;background:#fff;color:#66738a;font-size:13px}
.beach-region{margin:28px 0 34px}
.beach-region h2{font-size:28px;margin:0 0 15px}
.beach-listing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.beach-listing-card h3{font-size:20px;margin:10px 0 6px}
.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}
.tag-row span{font-size:12px;font-weight:900;color:#507099;background:#f4f8fd;border:1px solid #e5edf7;border-radius:999px;padding:4px 8px}
@media (max-width:1200px){.beach-listing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.beach-listing-grid{grid-template-columns:1fr}.region-pill-grid a{font-size:14px}}

body{font-family:'Nunito Sans',Inter,Segoe UI,Roboto,Arial,sans-serif !important}

/* Live radar, air quality, pollen, tides and surf upgrades */
.blue-nav a{flex:1 1 0;min-width:88px;padding:0 12px;white-space:nowrap}.blue-nav{overflow:visible}.environment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0}.env-card{background:#fff;border:1px solid #e3ebf6;border-radius:18px;box-shadow:var(--soft-shadow);padding:18px;position:relative;overflow:hidden}.env-card:before{content:"";position:absolute;right:-28px;top:-28px;width:110px;height:110px;border-radius:50%;background:rgba(49,149,233,.10)}.env-icon{font-size:32px;margin-bottom:4px}.env-card h2{font-size:18px;margin:0 0 8px;color:#0e3d8d}.env-card strong{display:block;font-size:25px;color:#111e35}.env-card p{color:#66738a;margin:6px 0 12px}.env-card a{color:#075bc8;font-weight:900}.aqi-good .green-dot,.aqi-good .air-score{background:#26b05a}.aqi-fair .air-score{background:#8fca42}.aqi-moderate .air-score{background:#f0b52a}.aqi-poor .air-score{background:#f27922}.aqi-very-poor .air-score{background:#b849cc}.aqi-extreme .air-score{background:#9c1b2f}.air-hero{background:linear-gradient(135deg,#136bc9,#43c49f)}.pollen-hero{background:linear-gradient(135deg,#34833f,#94c957 58%,#ffe08a)}.air-list-grid,.pollen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.air-city-card,.pollen-city-card{padding:18px;display:flex;gap:16px;align-items:flex-start}.air-city-card h2,.pollen-city-card h2{margin:0 0 4px;color:#0e3d8d}.air-city-card p,.pollen-city-card p{margin:6px 0;color:#66738a}.air-score{width:74px;height:74px;border-radius:22px;color:#fff;display:grid;place-items:center;align-content:center;box-shadow:0 10px 22px rgba(20,55,95,.16)}.air-score span{font-size:28px;font-weight:900;line-height:1}.air-score small{font-size:12px;font-weight:900}.pollen-city-card{display:block}.pollen-city-card strong{font-size:24px;color:#1d6f34}.pollen-bars{display:grid;gap:6px;margin-top:12px}.pollen-bars span{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eef3f8;padding-bottom:6px}.pollen-bars b{color:#24324a}.pollen-bars em{font-style:normal;color:#607089}.alert-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px;margin-bottom:16px}.alert-summary div{border-radius:16px;background:#f7fbff;border:1px solid #e4edf8;padding:16px;text-align:center}.alert-summary strong{display:block;font-size:34px;color:#0e3d8d}.alert-summary span{color:#657189;font-weight:800}.level-rojo{border-left-color:#ec1b2e!important}.level-rojo b{background:#ffe3e7!important;color:#96101f!important}.level-naranja b{background:#ffe7ce!important;color:#914500!important}.radar-live{overflow:hidden}.radar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #e4edf8}.radar-toolbar strong{display:block;font-size:20px;color:#0e3d8d}.radar-toolbar span{display:block;color:#66738a;font-weight:800}.radar-buttons{display:flex;gap:8px}.radar-buttons button{border:1px solid #d4e1ef;background:#fff;color:#0a50b5;border-radius:12px;width:40px;height:38px;font-weight:900;cursor:pointer}.rain-radar-map{height:590px;background:#eaf7ff}.radar-note{padding:10px 16px;margin:0;color:#657189;font-weight:750}.radar-explain{padding:12px 0}.radar-explain h2{margin-top:0;color:#0e3d8d}.tide-table span em,.mini-table span em{font-style:normal;color:#607089;font-weight:800}.data-note{display:block;margin-top:10px;color:#7a8799;font-weight:700}.surf-condition-grid{display:grid;grid-template-columns:330px 1fr;gap:16px;margin:16px 0}.surf-score-card{padding:18px;text-align:center}.surf-score-card h2{margin-top:0;color:#0e3d8d}.score-circle{width:130px;height:130px;margin:8px auto 12px;border-radius:50%;background:linear-gradient(135deg,#0a72d9,#4bc0ee);color:#fff;display:grid;place-items:center;align-content:center;box-shadow:0 14px 26px rgba(27,104,184,.20)}.score-circle strong{font-size:42px;line-height:1}.score-circle span{font-weight:900}.card{background:#fff;border:1px solid #e3ebf6;border-radius:var(--radius);box-shadow:var(--soft-shadow);padding:18px}.card h2{color:#0e3d8d}.weather-hero .hero-metrics span{min-width:112px}@media(max-width:1180px){.environment-grid,.air-list-grid,.pollen-grid{grid-template-columns:repeat(2,1fr)}.blue-nav{overflow-x:auto}.blue-nav a{flex:0 0 auto;min-width:104px}}@media(max-width:850px){.environment-grid,.air-list-grid,.pollen-grid,.surf-condition-grid{grid-template-columns:1fr}.rain-radar-map{height:420px}.radar-toolbar{align-items:flex-start;flex-direction:column}.alert-summary{grid-template-columns:1fr}.air-city-card{display:block}.air-score{margin-bottom:12px}.blue-nav a{min-width:100px}}@media(max-width:560px){.rain-radar-map{height:350px}.env-card strong{font-size:22px}.weather-hero .hero-metrics span{width:100%}}

/* === Homepage exact mockup: static Spain weather map === */
body{font-family:'Nunito Sans',Inter,Segoe UI,Roboto,Arial,sans-serif!important;background:#f7fbff!important;}
.home-page{max-width:1448px!important;padding:0 23px 24px!important;}
.home-layout{grid-template-columns:minmax(0,1005px) 392px!important;gap:16px!important;align-items:start!important;}
.home-page .map-card{border-radius:10px!important;box-shadow:0 6px 20px rgba(29,56,92,.08)!important;border:1px solid #e0e8f3!important;overflow:hidden!important;background:#fff!important;}
.home-day-strip{height:56px!important;overflow:hidden!important;background:#fff!important;border-bottom:1px solid #dfe8f3!important;display:grid!important;grid-template-columns:repeat(7,1fr) 44px!important;}
.home-day-strip a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;color:#18233b!important;font-size:15px!important;font-weight:900!important;border-right:1px solid #e8eef6!important;position:relative!important;min-width:0!important;}
.home-day-strip a small{font-size:12px!important;font-weight:900!important;color:#4d5a72!important;line-height:1;text-transform:uppercase!important;}
.home-day-strip a.active{color:#075bc8!important;background:#fff!important;}
.home-day-strip a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#2d7df0;border-radius:3px 3px 0 0;}
.home-day-strip a.next-day{font-size:34px!important;color:#0c1f43!important;line-height:1;border-right:0!important;}
.home-static-map{min-height:0!important;height:auto!important;position:relative!important;background:#e9f6ff!important;overflow:hidden!important;border-radius:0 0 10px 10px!important;}
.home-static-map .home-map-image{display:block!important;width:100%!important;height:auto!important;min-height:536px!important;object-fit:cover!important;object-position:center center!important;}
.home-static-map .spain-map-svg,.home-static-map .map-markers,.home-static-map .zoom-controls,.home-static-map .canary-inset,.home-static-map .radar-btn{display:none!important;}
.home-map-hotspots{position:absolute;inset:0;z-index:10;}
.home-map-hotspots a{position:absolute;width:74px;height:52px;transform:translate(-50%,-50%);border-radius:40px;outline:none;}
.home-map-hotspots a:hover{box-shadow:0 0 0 4px rgba(14,115,212,.16);background:rgba(255,255,255,.12);}
.home-page .right-stack{gap:14px!important;}
.home-page .city-summary-card{border-radius:12px!important;padding:18px 18px 16px!important;border:1px solid #e1e9f4!important;box-shadow:0 5px 18px rgba(35,55,90,.08)!important;}
.home-page .now-card h1{font-size:28px!important;line-height:1.05!important;margin-bottom:16px!important;}
.home-page .now-main{gap:18px!important;margin-bottom:14px!important;}
.home-page .big-symbol{width:82px!important;height:82px!important;display:flex;align-items:center;justify-content:center;}
.home-page .big-symbol svg,.home-page .big-symbol img{width:82px!important;height:82px!important;}
.home-page .now-main strong{font-size:58px!important;font-weight:900!important;letter-spacing:-2px!important;color:#030716!important;}
.home-page .now-main span{font-size:18px!important;font-weight:900!important;color:#0f1b35!important;}
.home-page .metrics-row{grid-template-columns:repeat(4,1fr)!important;gap:6px!important;padding:13px 0!important;}
.home-page .metrics-row span{font-size:12px!important;color:#66738a!important;}
.home-page .metrics-row b{font-size:14px!important;color:#0f1b35!important;}
.home-page .summary-text{font-size:14px!important;line-height:1.35!important;color:#586982!important;}
.home-page .side-card{border-radius:12px!important;padding:17px 16px!important;box-shadow:0 5px 18px rgba(35,55,90,.08)!important;}
.home-page .side-card h2{font-size:18px!important;color:#0b3d88!important;margin-bottom:12px!important;}
.home-page .feature-row{grid-template-columns:270px 270px 270px 270px 1fr!important;gap:16px!important;margin-top:20px!important;}
.home-page .feature-card{border-radius:12px!important;min-height:188px!important;padding:16px!important;border:1px solid #e1e9f4!important;box-shadow:0 5px 18px rgba(35,55,90,.07)!important;background:#fff!important;}
.home-page .feature-card h2{font-size:17px!important;color:#0b3d88!important;margin:0 0 12px!important;}
.home-page .feature-card a{font-size:14px!important;padding:7px 0!important;}
.home-page .photo-strip{height:58px!important;margin:-16px -16px 13px!important;background-size:cover!important;background-position:center!important;}
.home-page .email-card{background:linear-gradient(135deg,#ecf7ff,#f7fbff)!important;text-align:left!important;}
.home-page .email-card input{height:42px!important;border:1px solid #d5e1ef!important;border-radius:7px!important;padding:0 12px!important;width:100%;margin:10px 0 10px!important;font-size:14px!important;}
.home-page .email-card button{height:42px!important;border:0;border-radius:7px!important;background:linear-gradient(180deg,#0c70dd,#074bb2)!important;color:#fff!important;font-weight:900!important;width:100%;}
@media (max-width:1180px){
  .home-layout{grid-template-columns:1fr!important;}
  .home-page .feature-row{grid-template-columns:repeat(2,1fr)!important;}
  .home-static-map .home-map-image{min-height:0!important;}
}
@media (max-width:680px){
  .home-page{padding:0 10px 18px!important;}
  .home-day-strip{display:flex!important;overflow-x:auto!important;}
  .home-day-strip a{min-width:106px!important;}
  .home-static-map{overflow:auto!important;}
  .home-static-map .home-map-image{width:970px!important;max-width:none!important;}
  .home-page .feature-row{grid-template-columns:1fr!important;}
  .home-page .right-stack{grid-template-columns:1fr!important;}
}


/* === FINAL FIX: menu, city sub-tabs and homepage layout === */
.cm-header{overflow:visible!important;}
.cm-header-inner{overflow:visible!important;}
.blue-nav{
  max-width:var(--max)!important;
  width:calc(100% - 40px)!important;
  height:54px!important;
  margin:10px auto 20px!important;
  padding:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:0!important;
  border-radius:10px!important;
  overflow:visible!important;
  background:linear-gradient(180deg,#2497ed,#0c73d5)!important;
  box-shadow:0 9px 24px rgba(12,95,200,.10)!important;
}
.blue-nav a{
  flex:1 1 0!important;
  min-width:0!important;
  height:54px!important;
  padding:0 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1!important;
  background:linear-gradient(180deg,#379bef,#1778d8)!important;
  border-right:1px solid rgba(255,255,255,.16)!important;
  border-left:1px solid rgba(0,0,0,.035)!important;
  position:relative!important;
  border-bottom:0!important;
}
.blue-nav a:first-child{border-radius:10px 0 0 10px!important;}
.blue-nav a:last-child{border-radius:0 10px 10px 0!important;border-right:0!important;}
.blue-nav a.active{background:linear-gradient(180deg,#175fd0,#0c47af)!important;}
.blue-nav a.active:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-8px!important;
  transform:translateX(-50%)!important;
  width:0!important;height:0!important;
  border-left:9px solid transparent!important;
  border-right:9px solid transparent!important;
  border-top:9px solid #0c47af!important;
  border-bottom:0!important;
  z-index:8!important;
}

.city-page .sub-tabs{
  height:58px!important;
  margin:12px 0 22px!important;
  display:flex!important;
  align-items:stretch!important;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
  background:#fff!important;
  border:1px solid #e2eaf5!important;
  border-radius:0 0 18px 18px!important;
  box-shadow:0 10px 24px rgba(22,38,66,.045)!important;
}
.city-page .sub-tabs a{
  flex:1 1 0!important;
  min-width:0!important;
  height:58px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:17px!important;
  font-weight:900!important;
  color:#65738a!important;
  border-right:1px solid #e6eef8!important;
  border-bottom:0!important;
  position:relative!important;
  white-space:nowrap!important;
}
.city-page .sub-tabs a:last-child{border-right:0!important;}
.city-page .sub-tabs a.active,.city-page .sub-tabs a.selected{color:#1056c4!important;background:#fff!important;}
.city-page .sub-tabs a.active:after,.city-page .sub-tabs a.selected:after{
  content:""!important;
  position:absolute!important;
  left:22px!important;right:22px!important;bottom:0!important;
  height:4px!important;border-radius:4px!important;background:#1e62d6!important;
}

.home-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1005px) 392px!important;
  gap:16px!important;
  align-items:start!important;
}
.home-layout>.map-card{grid-column:1!important;grid-row:1!important;}
.home-layout>.right-stack{grid-column:2!important;grid-row:1!important;display:grid!important;gap:14px!important;align-content:start!important;}
.home-page .feature-row{display:grid!important;grid-template-columns:270px 270px 270px 270px minmax(240px,1fr)!important;gap:16px!important;margin-top:20px!important;align-items:stretch!important;}
.home-page .feature-card{min-height:188px!important;}
.home-page .map-card + .right-stack .now-card{margin:0!important;}

@media (max-width:1180px){
  .blue-nav{width:calc(100% - 28px)!important;overflow-x:auto!important;overflow-y:visible!important;}
  .blue-nav a{flex:0 0 118px!important;min-width:118px!important;font-size:16px!important;}
  .home-layout{grid-template-columns:1fr!important;}
  .home-layout>.map-card,.home-layout>.right-stack{grid-column:1!important;grid-row:auto!important;}
  .home-layout>.right-stack{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .home-page .feature-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .city-page .sub-tabs{overflow-x:auto!important;}
  .city-page .sub-tabs a{flex:0 0 110px!important;min-width:110px!important;}
}
@media (max-width:680px){
  .blue-nav{width:100%!important;border-radius:0!important;margin:8px 0 16px!important;}
  .blue-nav a:first-child,.blue-nav a:last-child{border-radius:0!important;}
  .home-layout>.right-stack{grid-template-columns:1fr!important;}
  .home-page .feature-row{grid-template-columns:1fr!important;}
}

/* === FINAL HOME/CITY ALIGNMENT FIX 2026-05-12 === */
@media (min-width:1181px){
  body{overflow-x:hidden!important;}
  .cm-header-inner,
  .blue-nav,
  .cm-footer{max-width:none!important;width:calc(100% - 56px)!important;margin-left:auto!important;margin-right:auto!important;}
  .page-shell.home-page{max-width:none!important;width:calc(100% - 56px)!important;padding-left:0!important;padding-right:0!important;}
  .blue-nav{height:54px!important;padding:0!important;display:flex!important;flex-wrap:nowrap!important;overflow:visible!important;}
  .blue-nav a{flex:1 1 0!important;min-width:0!important;max-width:none!important;font-size:18px!important;padding:0 8px!important;}
  .blue-nav a:before{display:none!important;content:none!important;}
  .blue-nav a.active:after{bottom:-8px!important;z-index:20!important;}
  .home-layout{grid-template-columns:minmax(0,1fr) 414px!important;gap:18px!important;margin-top:0!important;}
  .home-page .map-card{min-height:0!important;}
  .home-page .home-static-map{height:668px!important;min-height:0!important;}
  .home-page .home-map-image{width:100%!important;height:668px!important;display:block!important;object-fit:cover!important;object-position:center center!important;}
  .home-page .right-stack{gap:14px!important;}
  .home-page .right-stack .city-summary-card{padding:18px!important;min-height:250px!important;}
  .home-page .right-stack .side-card{padding:16px!important;}
  .home-page .right-stack .alerts-card article{padding:9px!important;}
  .home-page .feature-row{margin-top:18px!important;grid-template-columns:1fr 1.08fr 1.08fr 1.08fr 1.05fr!important;}
}

/* one clean underline in city subnav */
.city-page .sub-tabs{margin-top:14px!important;overflow:hidden!important;}
.city-page .sub-tabs a{border-bottom:0!important;box-shadow:none!important;}
.city-page .sub-tabs a.active,
.city-page .sub-tabs a.selected{box-shadow:none!important;border-bottom:0!important;}
.city-page .sub-tabs a.active:after,
.city-page .sub-tabs a.selected:after{left:24px!important;right:24px!important;bottom:0!important;height:4px!important;border-radius:4px 4px 0 0!important;background:#1d62d6!important;box-shadow:none!important;}

/* fix hero temperature card text overlap */
.hero-now-card{display:grid!important;grid-template-columns:106px 1fr!important;grid-template-rows:78px 34px 1fr!important;align-items:stretch!important;}
.hero-now-card .hero-symbol{grid-column:1!important;grid-row:1 / 3!important;align-self:center!important;justify-self:center!important;margin:0!important;}
.hero-now-card strong{grid-column:2!important;grid-row:1!important;align-self:end!important;justify-self:start!important;margin:0 0 0 0!important;font-size:60px!important;line-height:.88!important;letter-spacing:-3px!important;white-space:nowrap!important;}
.hero-now-card>span{grid-column:2!important;grid-row:2!important;align-self:start!important;justify-self:start!important;margin:0!important;font-size:16px!important;line-height:1.05!important;font-weight:900!important;color:#66718a!important;white-space:nowrap!important;}
.hero-now-card .hero-wind{grid-column:1 / 3!important;grid-row:3!important;align-self:stretch!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;padding:10px!important;line-height:1.35!important;}

/* additional popular cities block */
.popular-cities-section{margin:22px 0 0;background:#fff;border:1px solid #e3ebf6;border-radius:18px;box-shadow:0 8px 24px rgba(22,38,66,.075);padding:18px;}
.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px;}
.section-title-row h2{margin:0 0 4px;color:#0e3d8d;font-size:22px;letter-spacing:-.02em;}
.section-title-row p{margin:0;color:#66738a;font-weight:700;max-width:850px;}
.section-title-row>a{color:#075bc8;font-weight:900;white-space:nowrap;}
.popular-cities-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;}
.popular-city-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 8px;align-items:center;border:1px solid #e7eef8;background:#f9fcff;border-radius:14px;padding:11px 12px;min-height:72px;transition:.16s ease;}
.popular-city-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(22,38,66,.08);border-color:#cfe2f7;background:#fff;}
.popular-city-card .pc-name{font-weight:900;color:#12213d;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.popular-city-card .pc-icon{grid-column:2;grid-row:1 / 3;width:30px;height:30px;display:grid;place-items:center;}
.popular-city-card strong{font-size:19px;color:#0e1c35;line-height:1;}
.popular-city-card small{grid-column:1 / 3;color:#66738a;font-size:12px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

@media (max-width:1500px){
  .popular-cities-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
}
@media (max-width:1180px){
  .popular-cities-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-shell.home-page{width:calc(100% - 28px)!important;padding-left:0!important;padding-right:0!important;}
  .home-page .home-static-map{height:auto!important;min-height:0!important;}
  .home-page .home-map-image{height:auto!important;object-fit:contain!important;}
}
@media (max-width:680px){
  .popular-cities-grid{grid-template-columns:1fr;}
  .section-title-row{display:block;}
}

/* Hotfix: homepage map click areas and selected city outline */
.home-map-hotspots a.home-city-hotspot{
  position:absolute!important;
  width:88px!important;
  height:62px!important;
  transform:translate(-50%,-50%)!important;
  border-radius:999px!important;
  outline:none!important;
  border:2px solid transparent!important;
  background:rgba(255,255,255,0)!important;
  transition:background .14s ease, box-shadow .14s ease, border-color .14s ease, transform .14s ease!important;
}
.home-map-hotspots a.home-city-hotspot:hover,
.home-map-hotspots a.home-city-hotspot:focus-visible,
.home-map-hotspots a.home-city-hotspot.is-selected{
  background:rgba(255,255,255,.34)!important;
  border-color:#0b63d1!important;
  box-shadow:0 0 0 4px rgba(13,108,218,.18),0 8px 22px rgba(10,49,104,.16)!important;
  transform:translate(-50%,-50%) scale(1.04)!important;
}
.home-map-hotspots a.home-city-hotspot:active{
  border-color:#003f96!important;
  box-shadow:0 0 0 5px rgba(0,63,150,.24)!important;
}
.home-map-hotspots a.home-city-hotspot.is-extra{
  width:auto!important;
  min-width:92px!important;
  height:34px!important;
  padding:0 9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#0e3d8d!important;
  font-weight:900!important;
  font-size:13px!important;
  background:rgba(255,255,255,.78)!important;
  border-color:rgba(11,99,209,.28)!important;
  text-shadow:0 1px 0 #fff!important;
}
.home-map-hotspots a.home-city-hotspot.is-extra:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#0b63d1;
  margin-right:6px;
  box-shadow:0 0 0 3px rgba(11,99,209,.13);
}
.home-map-hotspots a.home-city-hotspot span{pointer-events:none;}
.hero-png{width:82px!important;height:82px!important;object-fit:contain!important;display:block!important;}
.compact-popular-card .compact-note{margin:0 0 10px;color:#66738a;font-size:13px;line-height:1.35;}
.compact-city-list{display:grid;gap:7px;}
.compact-city-list a{display:grid;grid-template-columns:1fr 28px 42px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eef3f8;font-weight:850;}
.compact-city-list a:last-child{border-bottom:0;}
.compact-city-list b{line-height:1;text-align:center;}
.compact-city-list strong{text-align:right;color:#10203d;}
.main-city-link{margin-top:8px!important;}
@media(max-width:1180px){.compact-popular-card{grid-column:1/-1}.compact-city-list{grid-template-columns:repeat(3,1fr);gap:4px 14px}.compact-city-list a{grid-template-columns:1fr 28px 38px}}
@media(max-width:640px){.compact-city-list{grid-template-columns:1fr}.home-map-hotspots a.home-city-hotspot{width:58px!important;height:44px!important}.home-map-hotspots a.home-city-hotspot.is-extra{min-width:78px!important;font-size:11px!important}}

/* === FINAL FIX: homepage map layout, day tabs, hotspots, hero temp card === */
@media (min-width:1181px){
  .home-layout{
    grid-template-columns:minmax(0,1fr) 414px!important;
    gap:18px!important;
    align-items:start!important;
  }
  .home-left-column{display:grid!important;gap:14px!important;min-width:0!important;align-content:start!important;grid-column:1!important;grid-row:1!important;}
  .home-layout>.right-stack{grid-column:2!important;grid-row:1!important;align-content:start!important;}
  .home-layout>.map-card{grid-column:auto!important;grid-row:auto!important;}
  .home-left-column>.map-card{grid-column:auto!important;grid-row:auto!important;}
  .home-left-column>.popular-cities-section{grid-column:auto!important;grid-row:auto!important;margin-top:0!important;}
  .home-page .home-static-map{height:590px!important;min-height:0!important;overflow:hidden!important;background:#e9f6ff!important;}
  .home-page .home-map-image{width:100%!important;height:590px!important;object-fit:cover!important;object-position:center center!important;image-rendering:auto!important;}
  .home-page .feature-row{margin-top:18px!important;}
}
@media (max-width:1180px){
  .home-left-column{display:grid!important;gap:12px!important;min-width:0!important;}
  .home-layout>.right-stack{grid-column:1!important;grid-row:auto!important;}
}

/* clean day selector: no scroll, no double underline, enough room for 19 MAY */
.home-day-strip{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(104px,1fr)) 44px!important;
  overflow:hidden!important;
  height:58px!important;
  margin-bottom:0!important;
  border-bottom:1px solid #dfe8f3!important;
}
.home-day-strip a{
  min-width:0!important;
  width:auto!important;
  box-shadow:none!important;
  border-bottom:0!important;
  text-align:center!important;
  line-height:1.05!important;
}
.home-day-strip a span{display:block!important;white-space:nowrap!important;}
.home-day-strip a small{display:block!important;white-space:nowrap!important;font-size:12px!important;}
.home-day-strip a:before{content:none!important;display:none!important;}
.home-day-strip a.active{box-shadow:none!important;border-bottom:0!important;}
.home-day-strip a.active:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:3px!important;
  border-radius:3px 3px 0 0!important;
  background:#2d7df0!important;
  box-shadow:none!important;
}
.home-day-strip a.next-day{font-size:30px!important;min-width:44px!important;width:44px!important;padding:0!important;}
.home-static-map{border-top:0!important;margin-top:0!important;}

/* precise invisible hotspots: click/hover near each city without ugly large ovals */
.home-map-hotspots a.home-city-hotspot{
  width:42px!important;
  height:42px!important;
  padding:0!important;
  border-radius:50%!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
  transform:translate(-50%,-50%)!important;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease!important;
}
.home-map-hotspots a.home-city-hotspot:hover,
.home-map-hotspots a.home-city-hotspot:focus-visible,
.home-map-hotspots a.home-city-hotspot.is-selected{
  background:rgba(255,255,255,.42)!important;
  box-shadow:0 0 0 3px rgba(21,98,210,.88),0 0 0 8px rgba(21,98,210,.16)!important;
  transform:translate(-50%,-50%) scale(1.08)!important;
}
.home-map-hotspots a.home-city-hotspot:active{
  box-shadow:0 0 0 3px rgba(0,66,154,.95),0 0 0 9px rgba(0,66,154,.22)!important;
}
.home-map-hotspots a.home-city-hotspot.is-extra{
  width:auto!important;
  min-width:86px!important;
  height:30px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 1px 7px rgba(21,57,98,.12)!important;
  color:#0e3d8d!important;
  font-weight:900!important;
  font-size:12px!important;
}
.home-map-hotspots a.home-city-hotspot.is-extra:hover,
.home-map-hotspots a.home-city-hotspot.is-extra:focus-visible,
.home-map-hotspots a.home-city-hotspot.is-extra.is-selected{
  background:#fff!important;
  box-shadow:0 0 0 2px rgba(21,98,210,.85),0 0 0 7px rgba(21,98,210,.14),0 7px 18px rgba(21,57,98,.16)!important;
}
.home-map-hotspots a.home-city-hotspot.is-extra:before{width:7px!important;height:7px!important;margin-right:5px!important;}

/* city hero weather card: prevent Sensación text from colliding with temperature */
.hero-now-card{
  width:278px!important;
  height:204px!important;
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  grid-template-rows:82px 34px 88px!important;
  overflow:hidden!important;
}
.hero-now-card .hero-symbol{
  grid-column:1!important;
  grid-row:1 / 3!important;
  align-self:center!important;
  justify-self:center!important;
}
.hero-now-card .hero-symbol svg,
.hero-now-card .hero-symbol img{max-width:82px!important;max-height:82px!important;}
.hero-now-card strong{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  justify-self:start!important;
  margin:0!important;
  font-size:58px!important;
  line-height:.88!important;
  letter-spacing:-3px!important;
  white-space:nowrap!important;
}
.hero-now-card>span{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  justify-self:start!important;
  margin:1px 0 0 0!important;
  font-size:17px!important;
  line-height:1.1!important;
  font-weight:900!important;
  color:#65718a!important;
  white-space:nowrap!important;
}
.hero-now-card .hero-wind{
  grid-column:1 / 3!important;
  grid-row:3!important;
  min-height:0!important;
}
@media(max-width:560px){
  .home-day-strip{display:flex!important;overflow-x:auto!important;}
  .home-day-strip a{min-width:96px!important;}
  .hero-now-card{width:100%!important;max-width:278px!important;}
}


/* === FINAL 2026-05-12: map visibility, simpler hotspots, tablet/mobile layout, footer languages === */
@media (min-width:1181px){
  .page-shell.home-page{max-width:1540px!important;padding-left:20px!important;padding-right:20px!important;}
  .home-layout{grid-template-columns:minmax(0,1fr) 392px!important;gap:18px!important;align-items:start!important;}
  .home-left-column{display:flex!important;flex-direction:column!important;gap:14px!important;min-width:0!important;}
  .home-left-column>.popular-cities-section{margin-top:0!important;}
  .home-page .home-static-map{height:auto!important;min-height:0!important;overflow:hidden!important;background:#e9f6ff!important;}
  .home-page .home-map-image{display:block!important;width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important;object-position:center top!important;}
}
.home-day-strip{grid-template-columns:repeat(8,minmax(116px,1fr)) 48px!important;height:60px!important;overflow:hidden!important;}
.home-day-strip a{padding:8px 8px!important;}
.home-day-strip a small{font-size:13px!important;line-height:1.1!important;}
.home-day-strip a.next-day{width:48px!important;min-width:48px!important;}
.home-map-hotspots{position:absolute!important;inset:0!important;z-index:15!important;}
.home-map-hotspots a.home-city-hotspot{
  width:76px!important;height:56px!important;border-radius:16px!important;background:rgba(255,255,255,0.01)!important;
  border:1px solid transparent!important;box-shadow:none!important;transform:translate(-50%,-50%)!important;cursor:pointer!important;
}
.home-map-hotspots a.home-city-hotspot:hover,
.home-map-hotspots a.home-city-hotspot:focus-visible,
.home-map-hotspots a.home-city-hotspot.is-selected{
  background:rgba(255,255,255,.20)!important;border-color:#1f73dd!important;
  box-shadow:0 0 0 3px rgba(31,115,221,.20),0 4px 13px rgba(17,69,130,.13)!important;
  transform:translate(-50%,-50%) scale(1.03)!important;
}
.home-map-hotspots a.home-city-hotspot.is-extra{width:92px!important;height:60px!important;min-width:0!important;padding:0!important;background:transparent!important;border-radius:14px!important;color:#0d2349!important;box-shadow:none!important;}
.home-map-hotspots a.home-city-hotspot.is-extra:before{display:none!important;content:none!important;}
.home-map-hotspots a.home-city-hotspot .extra-marker{display:grid!important;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;justify-content:center;gap:0 3px;pointer-events:none!important;text-align:center;filter:drop-shadow(0 2px 0 #fff);}
.home-map-hotspots a.home-city-hotspot .extra-marker .cm-wx{grid-row:1;grid-column:1;}
.home-map-hotspots a.home-city-hotspot .extra-marker b{grid-row:1;grid-column:2;font-size:18px;font-weight:900;color:#11192f;text-shadow:0 2px 0 #fff;}
.home-map-hotspots a.home-city-hotspot .extra-marker em{grid-row:2;grid-column:1 / 3;font-style:normal;font-size:13px;font-weight:900;color:#11192f;text-shadow:0 2px 0 #fff;background:rgba(255,255,255,.70);border-radius:7px;padding:0 3px;}
.home-map-hotspots a.home-city-hotspot.is-extra:hover .extra-marker em{background:#fff;}
.popular-cities-section{margin-top:0!important;}
.footer-language{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.footer-language strong{color:#334866;}
.footer-language a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:24px;padding:0 7px;border:1px solid #dce6f2;border-radius:999px;background:#fff;color:#0d57bd!important;font-weight:900;}
.footer-language a.active{background:#105dca;color:#fff!important;border-color:#105dca;}
@media(max-width:1320px){
  .city-layout{grid-template-columns:1fr!important;}
  .city-sidebar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
  .city-sidebar .side-card,.city-sidebar .feature-card{min-width:0!important;}
  .lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .premium-card{min-height:0!important;}
}
@media(max-width:1180px){
  .home-layout{grid-template-columns:1fr!important;}
  .home-left-column{display:flex!important;flex-direction:column!important;gap:12px!important;min-width:0!important;}
  .home-page .right-stack{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .home-page .right-stack .compact-popular-card,.home-page .right-stack .alerts-card{grid-column:auto!important;}
  .home-page .home-static-map{height:auto!important;overflow:hidden!important;}
  .home-page .home-map-image{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center top!important;}
}
@media(max-width:760px){
  .cm-header-inner{grid-template-columns:1fr!important;gap:10px!important;}
  .cm-logo-image,.cm-logo-image img{width:230px!important;max-width:100%!important;}
  .cm-search{grid-column:auto!important;}
  .quick-links{display:none!important;}
  .unit-switch{position:absolute;right:12px;top:12px;height:38px!important;min-width:48px!important;}
  .blue-nav{height:46px!important;overflow-x:auto!important;margin-left:0!important;margin-right:0!important;padding:0 8px!important;border-radius:0!important;scroll-snap-type:x proximity;}
  .blue-nav a{min-width:102px!important;padding:0 14px!important;font-size:15px!important;scroll-snap-align:start;}
  .blue-nav a:nth-child(n+7){display:none!important;}
  .home-day-strip{display:flex!important;overflow-x:auto!important;height:58px!important;}
  .home-day-strip a{min-width:108px!important;flex:0 0 108px!important;}
  .home-day-strip a.next-day{min-width:44px!important;flex-basis:44px!important;}
  .home-map-hotspots{display:none!important;}
  .home-static-map{overflow:hidden!important;border-radius:0 0 12px 12px!important;}
  .home-map-image{width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important;}
  .home-page .right-stack{grid-template-columns:1fr!important;}
  .popular-cities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .feature-row{grid-template-columns:1fr!important;}
  .city-sidebar{grid-template-columns:1fr!important;}
  .lower-grid{grid-template-columns:1fr!important;}
  .weather-hero{margin-left:0!important;margin-right:0!important;padding:18px!important;}
  .weather-hero h1{font-size:34px!important;line-height:1.08!important;}
  .hero-metrics{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
  .hero-now-card{position:relative!important;right:auto!important;top:auto!important;margin-top:18px!important;width:100%!important;max-width:360px!important;}
  .sub-tabs{overflow-x:auto!important;overflow-y:hidden!important;display:flex!important;}
  .sub-tabs a{flex:0 0 112px!important;min-width:112px!important;font-size:16px!important;}
}
@media(max-width:520px){
  .page-shell{padding-left:10px!important;padding-right:10px!important;}
  .popular-cities-grid{grid-template-columns:1fr!important;}
  .weather-hero h1{font-size:28px!important;}
  .hero-metrics{grid-template-columns:1fr!important;}
  .forecast-panel{border-radius:14px!important;padding:14px!important;}
  .forecast-table-wrap{overflow-x:auto!important;}
  .cm-footer{padding:14px!important;gap:10px!important;}
}


/* === FINAL FIX: cleaner home map, tabs, mobile forecast, no horizontal menu scroll === */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.home-page.page-shell{max-width:1760px!important;width:calc(100% - 36px)!important;padding-left:0!important;padding-right:0!important;}
.home-page .home-layout{grid-template-columns:minmax(0,1fr) 400px!important;align-items:start!important;gap:18px!important;}
.home-left-column{min-width:0!important;}
.home-page .map-card{border-radius:16px!important;overflow:hidden!important;margin:0!important;}
.home-page .home-day-strip{display:grid!important;grid-template-columns:repeat(8,minmax(112px,1fr)) 48px!important;height:60px!important;overflow:hidden!important;border-bottom:1px solid #e4ebf5!important;box-shadow:none!important;}
.home-page .home-day-strip a{min-width:0!important;position:relative!important;border-bottom:0!important;box-shadow:none!important;text-decoration:none!important;}
.home-page .home-day-strip a.active{border-bottom:0!important;box-shadow:none!important;}
.home-page .home-day-strip a.active:before{content:none!important;display:none!important;}
.home-page .home-day-strip a.active:after{content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:3px!important;border-radius:0!important;background:#2b77ed!important;box-shadow:none!important;}
.home-page .home-static-map{height:auto!important;min-height:0!important;overflow:hidden!important;background:#d9f0ff!important;border-top:0!important;margin-top:0!important;}
.home-page .home-map-image{display:block!important;width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important;object-position:left top!important;image-rendering:auto!important;}
.home-map-hotspots{position:absolute!important;inset:0!important;z-index:15!important;}
.home-map-hotspots a.home-city-hotspot{position:absolute!important;display:block!important;width:124px!important;height:82px!important;transform:translate(-50%,-50%)!important;border:2px solid transparent!important;border-radius:16px!important;background:transparent!important;box-shadow:none!important;outline:none!important;transition:border-color .12s ease, background .12s ease, box-shadow .12s ease!important;}
.home-map-hotspots a.home-city-hotspot:hover,
.home-map-hotspots a.home-city-hotspot:focus-visible,
.home-map-hotspots a.home-city-hotspot.is-selected{border-color:#2d75de!important;background:rgba(255,255,255,.18)!important;box-shadow:0 0 0 3px rgba(45,117,222,.18),0 10px 22px rgba(8,43,92,.12)!important;z-index:40!important;}
.home-map-hotspots a.home-city-hotspot:active{transform:translate(-50%,-50%) scale(.98)!important;}
.home-map-hotspots a.home-city-hotspot:after{content:attr(title)!important;position:absolute!important;left:50%!important;top:-30px!important;transform:translateX(-50%)!important;background:#fff!important;color:#0f3e91!important;border:1px solid #cfe0f4!important;border-radius:999px!important;padding:4px 10px!important;font-size:13px!important;font-weight:900!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important;box-shadow:0 6px 16px rgba(22,38,66,.12)!important;}
.home-map-hotspots a.home-city-hotspot:hover:after,
.home-map-hotspots a.home-city-hotspot:focus-visible:after{opacity:1!important;}
.mobile-map-city-links{display:none;}
.popular-cities-section{margin-top:18px!important;}
.city-page .sub-tabs a.active:before,.city-page .sub-tabs a.selected:before{display:none!important;content:none!important;}
.city-page .sub-tabs a.active,.city-page .sub-tabs a.selected{border-bottom:0!important;box-shadow:none!important;}
.mobile-daily-forecast{display:none;}
.center-button{white-space:normal!important;text-align:center!important;padding-left:18px!important;padding-right:18px!important;}
@media(max-width:1200px){
  .home-page .home-layout{grid-template-columns:1fr!important;}
  .home-page .right-stack{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:760px){
  .page-shell,.page-shell.city-page,.home-page.page-shell,.cm-header-inner,.blue-nav,.cm-footer{width:calc(100% - 20px)!important;max-width:none!important;}
  .blue-nav{display:grid!important;grid-template-columns:repeat(3,1fr)!important;height:auto!important;overflow:visible!important;border-radius:10px!important;margin-top:8px!important;margin-bottom:14px!important;}
  .blue-nav a{min-width:0!important;width:auto!important;height:44px!important;font-size:14px!important;padding:0 6px!important;border-bottom:1px solid rgba(255,255,255,.14)!important;}
  .blue-nav a:first-child,.blue-nav a:last-child{border-radius:0!important;}
  .blue-nav a:nth-child(1){border-radius:10px 0 0 0!important;}
  .blue-nav a:nth-child(3){border-radius:0 10px 0 0!important;}
  .blue-nav a:nth-last-child(1){border-radius:0 0 10px 0!important;}
  .blue-nav a:nth-last-child(3){border-radius:0 0 0 10px!important;}
  .blue-nav a.active:after{display:none!important;}
  .home-page .home-day-strip{grid-template-columns:repeat(4,1fr)!important;height:auto!important;}
  .home-page .home-day-strip a{min-height:54px!important;display:none!important;}
  .home-page .home-day-strip a:nth-child(-n+4),.home-page .home-day-strip a.next-day{display:flex!important;}
  .home-page .home-day-strip a.next-day{width:auto!important;min-width:0!important;}
  .home-map-hotspots{display:none!important;}
  .mobile-map-city-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;background:#fff;border-top:1px solid #e4ebf5;}
  .mobile-map-city-links a{display:flex;justify-content:space-between;align-items:center;border:1px solid #e4ebf5;border-radius:12px;padding:10px 11px;font-weight:900;color:#0f3e91;background:#f8fbff;}
  .home-page .right-stack{grid-template-columns:1fr!important;}
  .home-page .feature-row{grid-template-columns:1fr!important;}
  .city-page .sub-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;height:auto!important;overflow:visible!important;border-radius:14px!important;margin-bottom:16px!important;}
  .city-page .sub-tabs a{min-width:0!important;width:auto!important;height:46px!important;padding:0 4px!important;font-size:14px!important;border-bottom:1px solid #e6eef8!important;}
  .city-page .sub-tabs a.active:after,.city-page .sub-tabs a.selected:after{display:none!important;}
  .forecast-table-wrap{display:none!important;}
  .mobile-daily-forecast{display:grid!important;gap:10px;margin-top:6px;}
  .mobile-day-row{display:grid;grid-template-columns:minmax(82px,1fr) 54px 72px;gap:8px;align-items:center;border:1px solid #e4ebf5;border-radius:14px;padding:10px 12px;background:#fff;text-decoration:none;color:#14213d;}
  .mobile-day-row strong{display:block;font-size:17px;font-weight:900;}
  .mobile-day-row small{display:block;color:#66738a;font-size:12px;font-weight:900;text-transform:uppercase;}
  .mobile-day-icon .cm-wx{width:44px!important;height:44px!important;}
  .mobile-day-temps{display:flex;gap:8px;align-items:baseline;justify-content:flex-end;}
  .mobile-day-temps b{color:#e23845;font-size:20px;}
  .mobile-day-temps em{color:#145bd6;font-style:normal;font-weight:900;font-size:17px;}
  .mobile-day-meta{grid-column:1/4;display:flex;justify-content:space-between;gap:8px;color:#61708a;font-weight:800;font-size:13px;border-top:1px solid #eef3f9;padding-top:8px;}
  .center-button{font-size:16px!important;line-height:1.25!important;height:auto!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
}
@media(max-width:430px){
  .blue-nav,.city-page .sub-tabs{grid-template-columns:repeat(2,1fr)!important;}
  .mobile-map-city-links{grid-template-columns:1fr!important;}
  .weather-hero h1{font-size:24px!important;}
  .forecast-panel h2{font-size:25px!important;}
}


/* === map search + final map/mobile fixes === */
.cm-search input{padding-right:104px!important;}
.map-search-inline-btn{position:absolute;right:48px;top:7px;width:36px;height:36px;border:0;border-radius:50%;display:grid;place-items:center;background:#eef5ff;color:#113a78;font-weight:900;font-size:20px;box-shadow:inset 0 0 0 1px #d9e8fb;z-index:3;}
.map-search-inline-btn:hover{background:#dfeeff;color:#075bc8;}
.home-left-column{gap:10px!important;}
.home-map-search-teaser{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid #e3ebf6;border-radius:18px;box-shadow:0 8px 24px rgba(22,38,66,.075);padding:16px 18px;margin:0!important;}
.home-map-search-teaser h2{margin:0 0 4px;color:#0e3d8d;font-size:20px;}
.home-map-search-teaser p{margin:0;color:#66738a;font-weight:750;}
.teaser-map-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border-radius:12px;background:#105dca;color:#fff!important;font-weight:900;white-space:nowrap;}
.home-page .map-card{margin-left:0!important;}
.home-page .home-static-map{display:block!important;line-height:0!important;}
.home-page .home-map-image{display:block!important;margin:0!important;}
.home-page .home-layout{align-items:start!important;}
.home-page .home-left-column>.popular-cities-section{margin-top:0!important;}
.home-day-strip{box-shadow:none!important;border-bottom:0!important;}
.home-day-strip a{border-bottom:0!important;box-shadow:none!important;}
.home-day-strip a.active{border-bottom:0!important;box-shadow:none!important;}
.home-day-strip a.active:before{content:none!important;display:none!important;}
.home-day-strip a.active:after{height:3px!important;left:0!important;right:0!important;bottom:0!important;background:#2d7df0!important;box-shadow:none!important;}
.home-static-map:before,.home-static-map:after{content:none!important;display:none!important;}
.home-map-hotspots a.home-city-hotspot{width:104px!important;height:76px!important;border-radius:16px!important;background:rgba(255,255,255,0)!important;border:1px solid transparent!important;}
.home-map-hotspots a.home-city-hotspot:hover,.home-map-hotspots a.home-city-hotspot:focus-visible,.home-map-hotspots a.home-city-hotspot.is-selected{background:rgba(255,255,255,.16)!important;border-color:rgba(15,91,201,.75)!important;box-shadow:0 0 0 3px rgba(15,91,201,.22)!important;}
.mobile-map-cta{display:none;}
.map-search-page{max-width:1460px!important;}
.map-search-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;background:#fff;border:1px solid #e2ebf6;border-radius:20px;padding:20px;box-shadow:0 8px 24px rgba(22,38,66,.075);}
.map-search-hero h1{margin:0 0 6px;color:#12213d;font-size:34px;line-height:1.05;}
.map-search-hero p{margin:0;color:#65738b;font-weight:750;}
.visual-map-search{position:relative;display:grid;grid-template-columns:auto minmax(220px,420px) auto;align-items:center;gap:10px;min-width:520px;background:#f7fbff;border:1px solid #dce8f5;border-radius:999px;padding:8px 8px 8px 18px;}
.visual-map-search .cm-ui-icon{width:26px;height:26px;}
.visual-map-search input{border:0;background:transparent;outline:0;font-weight:800;color:#12213d;}
.visual-map-search button{border:0;border-radius:999px;background:#105dca;color:#fff;font-weight:900;padding:10px 18px;}
.visual-map-card{display:grid;grid-template-columns:520px minmax(400px,1fr);min-height:650px;background:#fff;border:1px solid #e2ebf6;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(22,38,66,.10);}
.visual-map-list{background:#f6f9fd;border-right:1px solid #e2ebf6;display:flex;flex-direction:column;min-width:0;}
.visual-map-list-head{display:flex;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e2ebf6;color:#66738a;}
.visual-map-list-head strong{color:#12213d;font-size:20px;}
.visual-map-results{overflow:auto;max-height:590px;}
.visual-result-row{display:grid;grid-template-columns:28px minmax(0,1fr) 72px 72px 72px 72px;gap:10px;align-items:center;padding:13px 18px;border-bottom:1px solid #e8eef6;color:#66738a;font-weight:750;}
.visual-result-row:hover{background:#fff;color:#0d57bd;}
.visual-result-row .loc{display:flex;flex-direction:column;min-width:0;}
.visual-result-row b{color:#12213d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.visual-result-row small{color:#728098;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.visual-map-pane,#visualMap{min-height:650px;width:100%;}
.visual-empty{padding:18px;color:#65738a;font-weight:800;}
@media(max-width:1180px){.visual-map-card{grid-template-columns:1fr;}.visual-map-pane,#visualMap{min-height:460px;}.visual-map-list{border-right:0;border-bottom:1px solid #e2ebf6;}.visual-map-results{max-height:360px;}.map-search-hero{display:block}.visual-map-search{margin-top:14px;min-width:0;grid-template-columns:auto 1fr auto;}.home-map-search-teaser{display:block}.teaser-map-button{margin-top:12px;width:100%;}}
@media(max-width:760px){.map-search-inline-btn{right:50px}.map-search-page{padding:0 10px!important;}.map-search-hero{padding:16px}.map-search-hero h1{font-size:26px}.visual-map-search{grid-template-columns:auto 1fr;gap:8px;border-radius:18px}.visual-map-search button{grid-column:1/3;width:100%;}.visual-result-row{grid-template-columns:24px 1fr 56px;}.visual-result-row span:nth-child(n+4){display:none}.visual-map-pane,#visualMap{min-height:390px}.mobile-map-cta{display:block;margin:10px 0 0}.mobile-map-cta a{display:block;text-align:center;background:#105dca;color:#fff!important;border-radius:12px;padding:11px;font-weight:900}.home-map-hotspots{display:none!important}.home-day-strip{display:grid!important;grid-template-columns:repeat(4,1fr)!important;height:auto!important;overflow:visible!important;}.home-day-strip a{min-width:0!important;flex:auto!important;padding:9px 6px!important;font-size:14px!important}.home-day-strip a:nth-of-type(n+5):not(.next-day){display:none!important}.home-day-strip a.next-day{display:flex!important;width:auto!important;min-width:0!important}.forecast-table-wrap{overflow:visible!important}.forecast-table{display:none!important}.forecast-mobile-list{display:grid!important;gap:10px!important}.mobile-day-row{grid-template-columns:1fr 46px auto!important;border:1px solid #e7eef8!important;border-radius:14px!important;padding:12px!important;background:#fff!important}.center-button{white-space:normal!important;text-align:center!important;font-size:17px!important;line-height:1.25!important;padding:13px 12px!important}.sub-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;overflow:visible!important}.sub-tabs a{min-width:0!important;font-size:14px!important;padding:10px 4px!important}.blue-nav{display:grid!important;grid-template-columns:repeat(3,1fr)!important;height:auto!important;overflow:visible!important;padding:0 8px!important}.blue-nav a{min-width:0!important;height:44px!important;font-size:14px!important;padding:0 6px!important}.blue-nav a:nth-child(n+7){display:none!important}}


/* === PATCH: search, home blocks, localized routes, visual map fixes === */
.cm-search{display:flex!important;align-items:center!important;position:relative!important;}
.cm-search input{height:52px!important;padding-left:58px!important;padding-right:112px!important;line-height:52px!important;}
.cm-search .search-ico{left:22px!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;}
.cm-search .search-ico .cm-ui-icon{width:27px!important;height:27px!important;display:block!important;}
.cm-search .geo-btn,.cm-search .map-search-inline-btn{top:50%!important;transform:translateY(-50%)!important;width:38px!important;height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;}
.cm-search .map-search-inline-btn{right:52px!important;}
.cm-search .geo-btn{right:9px!important;}
.cm-search .geo-btn .cm-ui-icon{width:21px!important;height:21px!important;display:block!important;}
.map-search-inline-btn{font-size:19px!important;line-height:1!important;text-decoration:none!important;}
.home-page .home-left-column{display:flex!important;flex-direction:column!important;gap:12px!important;align-content:start!important;}
.home-page .home-left-column>.map-card{order:1!important;}
.home-page .home-left-column>.popular-cities-section{order:2!important;margin-top:0!important;}
.home-page .home-left-column>.home-map-search-teaser{order:3!important;margin-top:0!important;}
.home-page .map-card{margin-bottom:0!important;}
.home-page .home-static-map{margin-bottom:0!important;}
.home-page .right-stack .compact-popular-card{display:none!important;}
.popular-cities-section .section-title-row{align-items:flex-start!important;gap:14px!important;}
.popular-cities-section .section-title-row p{max-width:820px!important;}
.popular-cities-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important;}
.popular-city-card{min-width:0!important;}
.popular-city-card .pc-name{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;max-width:100%!important;}
.home-map-search-teaser{margin-top:0!important;}
.visual-map-card{width:100%!important;max-width:100%!important;}
.visual-map-search input{min-width:0!important;}
@media(max-width:1450px){.popular-cities-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media(max-width:900px){.popular-cities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.home-map-search-teaser{display:block!important}.teaser-map-button{margin-top:12px!important;}}
@media(max-width:760px){
  .cm-search input{padding-right:104px!important;}
  .cm-search .map-search-inline-btn{right:50px!important;}
  .cm-search .geo-btn{right:8px!important;}
  .popular-cities-grid{grid-template-columns:1fr!important;}
  .map-search-hero{display:block!important;}
  .visual-map-card{grid-template-columns:1fr!important;}
  .visual-map-list{order:2!important;}
  .visual-map-pane{order:1!important;}
}

/* === FINAL PATCH: balanced homepage layout, map teaser, adaptive hero backgrounds === */
:root{--site-max-final:1740px;}
.cm-header-inner,
.blue-nav,
.page-shell.home-page,
.page-shell.city-page,
.cm-footer{
  max-width:var(--site-max-final)!important;
  width:min(calc(100% - 48px), var(--site-max-final))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
.cm-header-inner{padding-left:0!important;padding-right:0!important;}
.blue-nav{padding:0!important;overflow:visible!important;}
.home-page .home-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 400px!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
  margin:0!important;
}
.home-page .home-left-column{min-width:0!important;display:flex!important;flex-direction:column!important;gap:14px!important;}
.home-page .map-card{width:100%!important;margin:0!important;min-height:0!important;}
.home-page .home-static-map{width:100%!important;overflow:hidden!important;background:#dcefff!important;}
.home-page .home-map-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center top!important;
}
.home-page .popular-cities-section,
.home-page .home-map-search-teaser{width:100%!important;box-sizing:border-box!important;margin:0!important;}
.home-map-search-teaser{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:18px 20px!important;
}
.home-map-search-teaser>div{min-width:0!important;}
.home-map-search-teaser h2{
  font-size:22px!important;
  line-height:1.18!important;
  margin:0 0 6px!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.home-map-search-teaser p{
  font-size:17px!important;
  line-height:1.35!important;
  max-width:900px!important;
  margin:0!important;
  white-space:normal!important;
  word-break:normal!important;
}
.teaser-map-button{white-space:nowrap!important;min-width:max-content!important;}
.home-page .right-stack{min-width:0!important;width:100%!important;}
.home-page .feature-row{width:100%!important;box-sizing:border-box!important;margin-top:18px!important;}
/* weather hero backgrounds by current weather code */
.weather-hero{background-image:linear-gradient(90deg,rgba(15,30,55,.68),rgba(15,30,55,.28)),url('/assets/img/hero-cloudy.webp')!important;background-size:cover!important;background-position:center!important;}
.weather-hero.hero-sunny{background-image:linear-gradient(90deg,rgba(15,45,75,.48),rgba(15,45,75,.12)),url('/assets/img/hero-sunny.webp')!important;}
.weather-hero.hero-cloudy{background-image:linear-gradient(90deg,rgba(15,30,55,.62),rgba(15,30,55,.24)),url('/assets/img/hero-cloudy.webp')!important;}
.weather-hero.hero-rainy{background-image:linear-gradient(90deg,rgba(10,24,45,.72),rgba(10,24,45,.30)),url('/assets/img/hero-rainy.webp')!important;}
.weather-hero.hero-storm{background-image:linear-gradient(90deg,rgba(8,18,35,.78),rgba(8,18,35,.34)),url('/assets/img/hero-storm.webp')!important;}
.weather-hero.hero-snow{background-image:linear-gradient(90deg,rgba(20,40,60,.56),rgba(20,40,60,.20)),url('/assets/img/hero-snow.webp')!important;}
.weather-hero.hero-fog{background-image:linear-gradient(90deg,rgba(30,45,60,.58),rgba(30,45,60,.20)),url('/assets/img/hero-fog.webp')!important;}
.weather-hero .hero-overlay{display:none!important;}
/* make the header search buttons line up evenly */
.cm-search{position:relative!important;}
.cm-search input{padding-right:118px!important;}
.cm-search .map-search-inline-btn,
.cm-search .geo-btn{top:50%!important;transform:translateY(-50%)!important;}
.cm-search .map-search-inline-btn{right:56px!important;}
.cm-search .geo-btn{right:10px!important;}
@media(max-width:1450px){
  .home-page .home-layout{grid-template-columns:minmax(0,1fr) 360px!important;}
  .home-map-search-teaser{grid-template-columns:1fr!important;}
  .teaser-map-button{width:100%!important;}
}
@media(max-width:1100px){
  .home-page .home-layout{grid-template-columns:1fr!important;}
  .home-page .right-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .cm-header-inner,
  .blue-nav,
  .page-shell.home-page,
  .page-shell.city-page,
  .cm-footer{width:calc(100% - 20px)!important;max-width:none!important;}
  .home-page .right-stack{grid-template-columns:1fr!important;}
  .home-map-search-teaser{padding:16px!important;display:block!important;}
  .home-map-search-teaser h2{font-size:22px!important;line-height:1.22!important;}
  .home-map-search-teaser p{font-size:16px!important;line-height:1.38!important;}
  .teaser-map-button{width:100%!important;min-width:0!important;margin-top:14px!important;white-space:normal!important;text-align:center!important;}
  .weather-hero{background-position:center!important;}
}

/* === PATCH 2026-05-12: robust search, stable desktop widths, header icons === */
:root{--cm-container-max:1740px;--cm-page-gutter:24px;}
.cm-header-inner,
.blue-nav,
.page-shell.home-page,
.page-shell.city-page,
.map-search-page,
.cm-footer{
  width:min(calc(100% - (var(--cm-page-gutter) * 2)), var(--cm-container-max))!important;
  max-width:var(--cm-container-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.cm-header-inner,.blue-nav,.page-shell.home-page,.page-shell.city-page,.map-search-page,.cm-footer{padding-left:0!important;padding-right:0!important;}
.blue-nav{overflow:hidden!important;border-radius:10px!important;}
.blue-nav a{min-width:0!important;flex:1 1 0!important;}
.home-page .home-layout{grid-template-columns:minmax(0,1fr) 400px!important;gap:18px!important;width:100%!important;}
.home-page .home-left-column{min-width:0!important;width:100%!important;gap:14px!important;}
.home-page .map-card,.home-page .popular-cities-section,.home-page .home-map-search-teaser{width:100%!important;max-width:100%!important;}
.home-page .popular-cities-section{order:2!important;margin:0!important;}
.home-page .home-map-search-teaser{order:3!important;margin:0!important;}
.home-page .feature-row{width:100%!important;max-width:100%!important;}
.cm-search{position:relative!important;display:block!important;}
.cm-search input{height:52px!important;padding:0 122px 0 58px!important;line-height:52px!important;}
.cm-search .search-ico{position:absolute!important;left:22px!important;top:50%!important;transform:translateY(-50%)!important;width:28px!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.cm-search .search-ico .cm-ui-icon{width:27px!important;height:27px!important;display:block!important;}
.cm-search .map-search-inline-btn,
.cm-search .geo-btn{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:38px!important;height:38px!important;margin:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;}
.cm-search .map-search-inline-btn{right:58px!important;background:#eef5ff!important;box-shadow:inset 0 0 0 1px #d9e8fb!important;color:#0e3d8d!important;font-size:18px!important;text-decoration:none!important;}
.cm-search .geo-btn{right:10px!important;border:0!important;background:#eef5ff!important;box-shadow:inset 0 0 0 1px #d9e8fb!important;}
.cm-search .geo-btn .cm-ui-icon{width:21px!important;height:21px!important;display:block!important;}
.search-results{z-index:999!important;}
.home-map-search-teaser{grid-template-columns:minmax(0,1fr) auto!important;}
.home-map-search-teaser h2,.home-map-search-teaser p{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
.teaser-map-button{white-space:nowrap!important;}
.visual-map-card{grid-template-columns:minmax(360px,520px) minmax(0,1fr)!important;}
.visual-result-row{grid-template-columns:30px minmax(0,1fr) 70px 72px 72px 72px!important;}
.visual-result-row .loc b,.visual-result-row .loc small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
@media(max-width:1250px){
  .home-page .home-layout{grid-template-columns:1fr!important;}
  .home-page .right-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .visual-map-card{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  :root{--cm-page-gutter:10px;}
  .cm-header-inner,.blue-nav,.page-shell.home-page,.page-shell.city-page,.map-search-page,.cm-footer{width:calc(100% - 20px)!important;}
  .cm-header-inner{grid-template-columns:1fr!important;height:auto!important;padding-top:10px!important;padding-bottom:10px!important;}
  .quick-links{display:flex!important;overflow-x:auto!important;gap:14px!important;white-space:nowrap!important;padding-bottom:4px!important;}
  .unit-switch{justify-self:start!important;}
  .home-page .right-stack{grid-template-columns:1fr!important;}
  .home-map-search-teaser{display:block!important;padding:16px!important;}
  .teaser-map-button{display:block!important;width:100%!important;min-width:0!important;margin-top:12px!important;white-space:normal!important;text-align:center!important;}
  .visual-map-card{grid-template-columns:1fr!important;}
  .visual-map-list{order:2!important;}
  .visual-map-pane{order:1!important;}
  .visual-result-row{grid-template-columns:28px minmax(0,1fr) 66px!important;}
  .visual-result-row span:nth-child(n+4){display:none!important;}
}

/* === PATCH 2026-05-12B: final home layout, nav cleanup, footer icons === */
.home-page .home-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 400px!important;
  gap:18px!important;
  align-items:start!important;
}
.home-page .home-left-column{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  min-width:0!important;
}
.home-page .home-left-column > .map-card{order:1!important;margin:0!important;}
.home-page .home-left-column > .popular-cities-section{order:2!important;margin:0!important;}
.home-page .home-left-column > .home-map-search-teaser{order:3!important;margin:0!important;}
.home-page .popular-cities-section,
.home-page .home-map-search-teaser,
.home-page .feature-row{box-sizing:border-box!important;max-width:100%!important;width:100%!important;}
.home-page .home-map-search-teaser{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:18px 20px!important;
}
.home-page .home-map-search-teaser h2,
.home-page .home-map-search-teaser p{max-width:none!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
.home-page .home-map-search-teaser .teaser-map-button{white-space:nowrap!important;justify-self:end!important;}
.home-page .right-stack{min-width:0!important;width:100%!important;}
.home-page .feature-row{margin-top:18px!important;}
.cm-footer{
  height:auto!important;
  min-height:56px!important;
  padding:12px 0!important;
  overflow:visible!important;
  line-height:1.35!important;
}
.cm-footer .socials{display:flex!important;align-items:center!important;gap:12px!important;overflow:visible!important;line-height:1!important;}
.cm-footer .socials .cm-ui-icon,
.cm-footer .socials svg{width:25px!important;height:25px!important;display:block!important;overflow:visible!important;flex:0 0 auto!important;}
.cm-footer .footer-language{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;}
.blue-nav{height:54px!important;}
.blue-nav a{min-width:0!important;flex:1 1 0!important;}
@media(max-width:1250px){
  .home-page .home-layout{grid-template-columns:1fr!important;}
  .home-page .right-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .home-page .right-stack{grid-template-columns:1fr!important;}
  .home-page .home-map-search-teaser{display:block!important;padding:16px!important;}
  .home-page .home-map-search-teaser h2{font-size:24px!important;line-height:1.18!important;margin-bottom:8px!important;}
  .home-page .home-map-search-teaser p{font-size:16px!important;line-height:1.35!important;}
  .home-page .home-map-search-teaser .teaser-map-button{display:block!important;width:100%!important;min-width:0!important;margin-top:12px!important;text-align:center!important;white-space:normal!important;}
  .cm-footer{display:flex!important;flex-wrap:wrap!important;gap:12px!important;padding:14px 0!important;}
}

/* === PATCH 2026-05-12C: final nav/restored thematic links, radar/map stability, right gutter === */
html,body{overflow-x:hidden!important;}
.cm-header-inner,.blue-nav,.page-shell.home-page,.page-shell.city-page,.module-page,.map-search-page,.cm-footer{
  width:min(calc(100% - 48px), 1740px)!important;
  max-width:1740px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.blue-nav{padding:0!important;display:flex!important;gap:0!important;overflow:hidden!important;border-radius:10px!important;margin-top:10px!important;margin-bottom:18px!important;}
.blue-nav a{flex:1 1 0!important;min-width:0!important;padding:0 10px!important;font-size:16px!important;text-align:center!important;white-space:nowrap!important;}
@media(max-width:1320px){.blue-nav a{font-size:15px!important;padding:0 8px!important;}}
@media(max-width:900px){.blue-nav{overflow-x:auto!important;scrollbar-width:none!important}.blue-nav::-webkit-scrollbar{display:none!important}.blue-nav a{flex:0 0 auto!important;min-width:118px!important}}
.home-page .home-layout{grid-template-columns:minmax(0,1fr) 400px!important;gap:18px!important;align-items:start!important;width:100%!important;}
.home-page .right-stack{width:100%!important;max-width:400px!important;justify-self:stretch!important;min-width:0!important;}
.home-page .right-stack .side-card,.home-page .right-stack .now-card{width:100%!important;box-sizing:border-box!important;}
.home-page .home-left-column{display:flex!important;flex-direction:column!important;gap:14px!important;min-width:0!important;}
.home-page .home-left-column>.map-card{order:1!important;margin:0!important;}
.home-page .home-left-column>.popular-cities-section{order:2!important;margin:0!important;}
.home-page .home-left-column>.home-map-search-teaser{order:3!important;margin:0!important;}
.home-map-search-teaser{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;padding:18px 20px!important;}
.home-map-search-teaser h2{font-size:24px!important;line-height:1.18!important;margin:0 0 6px!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
.home-map-search-teaser p{font-size:17px!important;line-height:1.35!important;margin:0!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
.home-map-search-teaser .teaser-map-button{white-space:nowrap!important;justify-self:end!important;}
.cm-footer .socials{padding:4px 0!important;min-height:28px!important;}
.cm-footer .socials .cm-ui-icon{width:24px!important;height:24px!important;object-fit:contain!important;display:inline-block!important;vertical-align:middle!important;}
.clean-static-map .home-map-image,.map-page-clean .home-map-image{display:block!important;width:100%!important;height:auto!important;}
.static-day-strip a{appearance:none;border:0;background:#fff;min-width:150px;padding:10px 12px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#16233d;font-weight:850;cursor:pointer;border-right:1px solid #eff4fa;position:relative;}
.static-day-strip a small{color:#657189;font-size:12px;font-weight:750;text-transform:uppercase;}
.static-day-strip a.active{color:var(--blue);}
.static-day-strip a.active:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:3px;border-radius:3px;background:var(--blue);}
.static-map-page{min-height:0!important;background:#ddecf8!important;}
.static-map-page .radar-btn{position:absolute!important;right:22px!important;bottom:22px!important;z-index:6!important;}
.radar-live{overflow:hidden!important;padding:0!important;}
.rain-radar-map{min-height:560px!important;isolation:isolate;}
.radar-note{background:#fff!important;border-top:1px solid #e6edf7!important;}
@media(max-width:1250px){
  .home-page .home-layout{grid-template-columns:1fr!important;}
  .home-page .right-stack{max-width:none!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .cm-header-inner,.blue-nav,.page-shell.home-page,.page-shell.city-page,.module-page,.map-search-page,.cm-footer{width:calc(100% - 20px)!important;}
  .home-page .right-stack{grid-template-columns:1fr!important;}
  .home-map-search-teaser{display:block!important;padding:16px!important;}
  .home-map-search-teaser .teaser-map-button{display:block!important;width:100%!important;margin-top:12px!important;white-space:normal!important;text-align:center!important;}
  .rain-radar-map{min-height:420px!important;}
}


/* === PATCH 2026-05-12D: unified nav, radar temperatures, favorites, right gutter === */
.cm-header-inner,
.blue-nav,
.page-shell.home-page,
.page-shell.city-page,
.module-page,
.map-search-page,
.cm-footer{
  width:min(calc(100% - 48px),1740px)!important;
  max-width:1740px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
.home-page .home-layout{
  width:100%!important;
  max-width:100%!important;
  grid-template-columns:minmax(0,calc(100% - 418px)) 400px!important;
  gap:18px!important;
  box-sizing:border-box!important;
}
.home-page .right-stack{
  width:100%!important;
  max-width:400px!important;
  justify-self:end!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.home-page .right-stack>*{max-width:100%!important;box-sizing:border-box!important;}
.favorite{line-height:1!important;transition:transform .15s ease,color .15s ease!important;}
.favorite:hover{transform:scale(1.08)!important;color:#1d62d6!important;}
.favorite.is-active{color:#f4b22f!important;text-shadow:0 1px 0 rgba(0,0,0,.08)!important;}
.radar-city-strip{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
  padding:12px 16px!important;
  border-top:1px solid #edf3f9!important;
  background:#fbfdff!important;
}
.radar-city-strip a{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  min-height:44px!important;
  border:1px solid #e4edf8!important;
  border-radius:12px!important;
  padding:7px 10px!important;
  background:#fff!important;
  color:#10203d!important;
}
.radar-city-strip b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:13px!important;}
.radar-city-strip strong{font-size:18px!important;color:#0e3d8d!important;}
.radar-temp-marker{background:transparent!important;border:0!important;}
.radar-temp-marker a{
  display:grid!important;
  justify-items:center!important;
  line-height:1!important;
  text-decoration:none!important;
  color:#0a1430!important;
  text-shadow:0 1px 0 #fff,0 -1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff!important;
}
.radar-temp-marker span{font-weight:900!important;font-size:18px!important;}
.radar-temp-marker small{font-size:11px!important;font-weight:900!important;background:rgba(255,255,255,.78)!important;border-radius:8px!important;padding:1px 5px!important;white-space:nowrap!important;}
@media(max-width:1250px){
  .home-page .home-layout{grid-template-columns:1fr!important;}
  .home-page .right-stack{max-width:none!important;justify-self:stretch!important;}
  .radar-city-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .cm-header-inner,.blue-nav,.page-shell.home-page,.page-shell.city-page,.module-page,.map-search-page,.cm-footer{width:calc(100% - 20px)!important;}
  .radar-city-strip{grid-template-columns:1fr 1fr!important;padding:10px!important;}
  .blue-nav a{min-width:122px!important;}
}

/* Fix city forecast tabs: hide rows/cards when switching Ayer/Ahora/Hoy/Mañana/7/10/14/Mes */
.forecast-table tr.is-hidden{display:none!important;}
.mobile-day-row.is-hidden{display:none!important;}


/* === PATCH 2026-05-12E: compact one-day city forecast and radar city weather icons === */
.city-page .forecast-panel[data-days="1"]{padding-bottom:26px!important;}
.city-page .forecast-panel[data-days="1"] .forecast-title{ text-align:left!important; margin-bottom:18px!important; }
.city-page .forecast-panel[data-days="1"] .forecast-table-wrap{ display:flex!important; justify-content:center!important; overflow:visible!important; }
.city-page .forecast-panel[data-days="1"] .forecast-table{ width:min(680px,100%)!important; min-width:0!important; max-width:680px!important; table-layout:auto!important; margin:0 auto!important; border:1px solid #e4edf8!important; border-radius:16px!important; overflow:hidden!important; }
.city-page .forecast-panel[data-days="1"] .forecast-table th:first-child,.city-page .forecast-panel[data-days="1"] .forecast-table td:first-child{ width:260px!important; min-width:220px!important; padding-left:18px!important; text-align:left!important; }
.city-page .forecast-panel[data-days="1"] .forecast-table th:not(:first-child),.city-page .forecast-panel[data-days="1"] .forecast-table td:not(:first-child){ width:210px!important; min-width:180px!important; text-align:center!important; }
.city-page .forecast-panel[data-days="1"] .forecast-table tr{ display:table-row!important; }
.city-page .forecast-panel[data-days="1"] .forecast-table tr.is-hidden,.city-page .forecast-panel[data-days="1"] .forecast-table .chart-row{ display:none!important; }
.city-page .forecast-panel[data-days="1"] .forecast-table .forecast-day.is-hidden{display:none!important;}
.city-page .forecast-panel[data-days="1"] .center-button{max-width:680px!important;margin-top:22px!important;}
.city-page .sub-tabs a.active:after{display:block!important;}
.city-page .sub-tabs a:not(.active):after{display:none!important;content:none!important;}
.radar-temp-marker a{grid-template-columns:30px auto!important;grid-template-rows:auto auto!important;column-gap:2px!important;align-items:center!important;justify-items:center!important;min-width:84px!important;}
.radar-temp-marker img{grid-row:1/3!important;width:28px!important;height:28px!important;object-fit:contain!important;filter:drop-shadow(0 1px 0 #fff)!important;}
.radar-temp-marker span{font-size:18px!important;line-height:1!important;}
.radar-temp-marker small{grid-column:1/3!important;margin-top:1px!important;max-width:92px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
@media(max-width:760px){.city-page .forecast-panel[data-days="1"] .forecast-table-wrap{display:none!important;}.city-page .forecast-panel[data-days="1"] .mobile-daily-forecast{display:grid!important;}}


/* === PATCH F: hourly today/tomorrow views, IP city quick link, cleaner radar map === */
.quick-links .geo-quick-link{
  display:inline-flex!important;align-items:center!important;gap:6px!important;padding:5px 9px!important;border:1px solid #dbe8f6!important;border-radius:999px!important;background:#f7fbff!important;color:#083e92!important;max-width:190px!important;overflow:hidden!important;
}
.quick-links .geo-quick-link>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.quick-weather{display:inline-flex!important;align-items:center!important;gap:3px!important;font-size:12px!important;}
.quick-weather .cm-wx{width:20px!important;height:20px!important;}
.quick-weather b{font-size:13px!important;color:#0d1d38!important;}
.hourly-day-view{margin-top:6px;}
.hourly-day-panel h3{font-size:22px;margin:0 0 14px;color:#0d3b87;}
.hourly-day-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;}
.hourly-day-card{border:1px solid #e4edf8;border-radius:16px;background:#fff;padding:13px;box-shadow:0 8px 20px rgba(21,49,95,.05);display:grid;gap:7px;min-width:0;}
.hourly-day-card>strong{font-size:16px;color:#15233d;}
.hourly-day-icon .cm-wx{width:38px;height:38px;}
.hourly-day-card>b{font-size:24px;color:#0b1a35;line-height:1;}
.hourly-day-card>small{font-weight:800;color:#68758c;min-height:34px;line-height:1.15;}
.hourly-day-card dl{display:grid;gap:5px;margin:4px 0 0;}
.hourly-day-card dl div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #eef3f8;padding-top:5px;}
.hourly-day-card dt{font-size:12px;color:#68758c;font-weight:700;}
.hourly-day-card dd{margin:0;font-size:12px;color:#15233d;font-weight:900;text-align:right;}
.forecast-table-wrap[hidden],.hourly-day-view[hidden],.center-button[hidden]{display:none!important;}
.radar-temp-marker.compact-radar-marker{background:transparent!important;border:0!important;}
.radar-temp-marker.compact-radar-marker a{display:grid!important;grid-template-columns:24px auto!important;grid-template-rows:auto!important;align-items:center!important;justify-content:center!important;gap:2px!important;min-width:54px!important;padding:2px 5px!important;border-radius:999px!important;background:rgba(255,255,255,.72)!important;box-shadow:0 2px 8px rgba(19,45,84,.12)!important;color:#061533!important;text-shadow:none!important;}
.radar-temp-marker.compact-radar-marker img{width:24px!important;height:24px!important;object-fit:contain!important;filter:none!important;}
.radar-temp-marker.compact-radar-marker span{font-size:16px!important;font-weight:950!important;line-height:1!important;}
.radar-temp-marker.compact-radar-marker small{display:none!important;}
.radar-temp-marker.compact-radar-marker:hover a{background:#fff!important;transform:scale(1.06);}
.radar-temp-marker.compact-radar-marker:hover small{display:block!important;grid-column:1/3!important;position:absolute!important;top:30px!important;left:50%!important;transform:translateX(-50%)!important;max-width:130px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;background:#fff!important;border:1px solid #dbe8f6!important;border-radius:8px!important;padding:2px 6px!important;box-shadow:0 4px 10px rgba(0,0,0,.12)!important;}
@media(max-width:1100px){.hourly-day-grid{grid-template-columns:repeat(3,minmax(130px,1fr));}.quick-links .geo-quick-link{max-width:130px!important;}}
@media(max-width:760px){.hourly-day-grid{grid-template-columns:1fr!important;}.hourly-day-card{grid-template-columns:54px 1fr auto;align-items:center;}.hourly-day-card dl{grid-column:1/4;}.hourly-day-card>small{min-height:0;}.quick-links .geo-quick-link{display:none!important;}}


/* === PATCH G: persistent visitor city layout, MeteoYa logo, right column width fix === */
.cm-logo-image{width:286px!important;height:74px!important;display:flex!important;align-items:center!important;overflow:visible!important;}
.cm-logo-image img{width:286px!important;height:74px!important;object-fit:contain!important;object-position:left center!important;}
.home-page .home-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(340px,400px)!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.home-page .right-stack{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  width:100%!important;
  max-width:400px!important;
  min-width:0!important;
  justify-self:stretch!important;
  align-self:start!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.home-page .right-stack>.side-card,
.home-page .right-stack>.now-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.home-page .home-map-search-teaser{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(230px,auto)!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.home-page .home-map-search-teaser h2,
.home-page .home-map-search-teaser p{max-width:100%!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
.quick-links .geo-quick-link{order:-1!important;}
@media(max-width:1250px){
  .home-page .home-layout{grid-template-columns:1fr!important;}
  .home-page .right-stack{max-width:none!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:980px){
  .home-page .right-stack{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  .cm-logo-image,.cm-logo-image img{width:238px!important;height:auto!important;}
  .home-page .home-map-search-teaser{display:block!important;padding:18px!important;}
  .home-page .home-map-search-teaser .teaser-map-button{width:100%!important;margin-top:14px!important;white-space:normal!important;}
}

/* 2026-05-12j: real empty map + dynamic weather markers on homepage */
.home-live-map-shell{
  position:relative!important;
  width:100%!important;
  height:620px!important;
  min-height:620px!important;
  overflow:hidden!important;
  border-radius:0 0 14px 14px!important;
  background:#d9effb!important;
}
#homeLiveWeatherMap{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:1!important;
  background:#d9effb!important;
}
.home-live-map-shell .leaflet-container{
  font-family:'Nunito Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  background:#d9effb!important;
}
.home-live-map-shell .leaflet-control-zoom{
  border:0!important;
  box-shadow:0 4px 16px rgba(8,27,64,.15)!important;
}
.home-live-map-shell .leaflet-control-zoom a{
  color:#071732!important;
  font-weight:900!important;
}
.home-radar-button{
  position:absolute!important;
  right:18px!important;
  bottom:18px!important;
  z-index:450!important;
  background:#fff!important;
  color:#1056bd!important;
  border:1px solid #d8e4f5!important;
  border-radius:12px!important;
  padding:10px 16px!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 8px 20px rgba(11,40,84,.15)!important;
}
.home-leaflet-divicon{
  border:0!important;
  background:transparent!important;
}
.home-map-weather-marker{
  display:grid!important;
  grid-template-columns:auto auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0 4px!important;
  width:98px!important;
  min-height:68px!important;
  padding:2px!important;
  pointer-events:auto!important;
  transform:translateZ(0)!important;
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.95)) drop-shadow(0 4px 5px rgba(18,32,58,.18))!important;
}
.home-map-weather-marker img{
  grid-column:1!important;
  grid-row:1!important;
  width:38px!important;
  height:38px!important;
  object-fit:contain!important;
}
.home-map-weather-marker strong{
  grid-column:2!important;
  grid-row:1!important;
  color:#07162f!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.04em!important;
  text-shadow:0 2px 0 #fff,0 0 8px #fff!important;
}
.home-map-weather-marker span{
  grid-column:1 / 3!important;
  grid-row:2!important;
  display:block!important;
  justify-self:center!important;
  max-width:95px!important;
  color:#07162f!important;
  font-size:12px!important;
  line-height:1.02!important;
  font-weight:1000!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  background:rgba(255,255,255,.72)!important;
  border-radius:7px!important;
  padding:1px 4px!important;
  text-shadow:0 1px 0 #fff!important;
}
.home-leaflet-divicon.is-selected .home-map-weather-marker,
.home-map-weather-marker:hover{
  background:rgba(255,255,255,.82)!important;
  border-radius:12px!important;
  box-shadow:0 0 0 2px rgba(42,109,219,.45),0 10px 26px rgba(13,64,145,.18)!important;
}
.home-live-map-shell .mobile-map-city-links{display:none!important;}
@media(max-width:760px){
  .home-live-map-shell{height:420px!important;min-height:420px!important;border-radius:0 0 14px 14px!important;}
  .home-map-weather-marker{width:78px!important;min-height:58px!important;}
  .home-map-weather-marker img{width:30px!important;height:30px!important;}
  .home-map-weather-marker strong{font-size:20px!important;}
  .home-map-weather-marker span{font-size:10px!important;max-width:76px!important;}
  .home-radar-button{right:12px!important;bottom:12px!important;padding:8px 12px!important;font-size:14px!important;}
}

/* === MAP DECLUTTER PATCH 2026-05-12 === */
.home-live-map-shell #homeLiveWeatherMap{min-height:650px;}
.home-map-weather-marker{
  width:88px!important;
  min-height:62px!important;
  padding:3px 5px 4px!important;
  gap:0!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 6px 18px rgba(13,36,72,.13)!important;
}
.home-map-weather-marker img{width:34px!important;height:34px!important;object-fit:contain!important;}
.home-map-weather-marker strong{font-size:25px!important;line-height:1!important;text-shadow:0 1px 0 #fff!important;}
.home-map-weather-marker span{font-size:11px!important;line-height:1.05!important;max-width:84px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;background:rgba(255,255,255,.82)!important;border-radius:999px!important;padding:1px 5px!important;}
.home-map-weather-marker--compact{
  width:58px!important;min-height:40px!important;padding:2px 3px!important;
  display:grid!important;grid-template-columns:24px auto!important;grid-template-rows:auto!important;align-items:center!important;justify-content:center!important;gap:1px!important;
  border-radius:999px!important;background:rgba(255,255,255,.78)!important;
}
.home-map-weather-marker--compact img{width:24px!important;height:24px!important;grid-column:1!important;grid-row:1!important;}
.home-map-weather-marker--compact strong{font-size:20px!important;grid-column:2!important;grid-row:1!important;}
.home-map-weather-marker--compact span{display:none!important;}
.home-leaflet-divicon.is-selected .home-map-weather-marker,
.home-map-weather-marker:hover{background:#fff!important;outline:3px solid rgba(43,119,224,.55)!important;z-index:999!important;}
.home-leaflet-divicon.is-selected .home-map-weather-marker--compact span,
.home-map-weather-marker--compact:hover span{
  display:block!important;position:absolute!important;left:50%!important;top:34px!important;transform:translateX(-50%)!important;max-width:132px!important;white-space:nowrap!important;background:#fff!important;border:1px solid #d8e5f6!important;border-radius:999px!important;padding:2px 7px!important;box-shadow:0 4px 12px rgba(0,0,0,.13)!important;
}
.radar-temp-marker.clean-radar-marker{background:transparent!important;border:0!important;}
.radar-temp-marker.clean-radar-marker a{
  display:grid!important;grid-template-columns:22px auto!important;align-items:center!important;gap:1px!important;min-width:48px!important;
  padding:2px 5px!important;border-radius:999px!important;background:rgba(255,255,255,.74)!important;box-shadow:0 2px 8px rgba(19,45,84,.12)!important;color:#071835!important;text-shadow:none!important;
}
.radar-temp-marker.clean-radar-marker img{width:22px!important;height:22px!important;object-fit:contain!important;filter:none!important;}
.radar-temp-marker.clean-radar-marker span{font-size:16px!important;font-weight:950!important;line-height:1!important;}
.radar-temp-marker.clean-radar-marker small{display:none!important;}
.radar-temp-marker.clean-radar-marker:hover a{background:#fff!important;transform:scale(1.08);outline:2px solid rgba(43,119,224,.42)!important;}
.radar-temp-marker.clean-radar-marker:hover small{display:block!important;grid-column:1/3!important;position:absolute!important;top:28px!important;left:50%!important;transform:translateX(-50%)!important;max-width:136px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;background:#fff!important;border:1px solid #dbe8f6!important;border-radius:8px!important;padding:2px 6px!important;box-shadow:0 4px 10px rgba(0,0,0,.12)!important;}
@media(max-width:850px){.home-live-map-shell #homeLiveWeatherMap{min-height:460px;}.home-map-weather-marker--compact{transform:scale(.92);}}


/* SEO expansion: ski resorts and regional weather pages */
.ski-hero{background:linear-gradient(135deg,#0c4f9f,#5ab7f0 58%,#f5fbff)}
.region-hero{background:linear-gradient(135deg,#074db2,#31a3ef 60%,#8bd6ff)}
.seo-intro-card{margin:14px 0 18px;padding:16px 20px;color:#55647c;font-size:16px;line-height:1.5}
.seo-intro-card p{margin:0}.seo-intro-card strong{color:#0e3d8d}
.ski-card .tag-row,.listing-card .tag-row{margin:10px 0 14px}.forecast-simple-card{margin-top:16px}.ski-now{margin-bottom:16px}.region-city-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:8px}.region-city-grid .listing-card{min-height:132px}.region-city-grid small{color:#66738a;font-weight:750}
@media(max-width:1180px){.region-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.region-city-grid{grid-template-columns:1fr}.seo-intro-card{font-size:14px;padding:13px 14px}}

/* Data-driven SEO weather analysis block */
.seo-analysis-card{margin:0 0 18px;padding:22px 24px;background:#fff;border:1px solid #dbe7f5;border-radius:22px;box-shadow:0 12px 30px rgba(24,54,98,.06)}
.seo-analysis-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.seo-analysis-head h2{margin:4px 0 0;color:#0e1c35;font-size:26px;line-height:1.18;letter-spacing:-.25px}
.seo-analysis-head a{white-space:nowrap;color:#1559c7;font-weight:900;padding-top:8px}.section-kicker{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#edf5ff;color:#1559c7;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.seo-analysis-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.seo-analysis-grid article{border:1px solid #e4edf8;background:#f8fbff;border-radius:18px;padding:16px}.seo-analysis-grid strong{display:block;color:#071126;font-size:32px;line-height:1;font-weight:950}.seo-analysis-grid span{display:block;color:#0e3d8d;font-weight:900;margin:7px 0}.seo-analysis-grid p{margin:0;color:#5f6c82;font-size:14px;line-height:1.45;font-weight:700}.astro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.astro-grid>div{border:1px solid #e4edf8;border-radius:18px;padding:15px;background:#fff}.astro-grid b{display:block;color:#0e3d8d;font-size:16px;margin-bottom:6px}.astro-grid p{margin:0;color:#5f6c82;font-weight:700;line-height:1.45}
@media(max-width:1080px){.seo-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.astro-grid{grid-template-columns:1fr}}
@media(max-width:640px){.seo-analysis-card{padding:16px}.seo-analysis-head{display:block}.seo-analysis-head h2{font-size:21px}.seo-analysis-head a{display:inline-block;margin-top:8px}.seo-analysis-grid{grid-template-columns:1fr}.seo-analysis-grid strong{font-size:28px}}


/* === PATCH: compact city analysis, daily text summary, sun/moon cards, improved temp chart === */
.city-today-summary{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start;margin:12px 0 18px;padding:16px 18px;border:1px solid #dce8f6;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 8px 22px rgba(22,38,66,.055)}
.city-today-summary .today-summary-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#f0f7ff;border:1px solid #dfeaf7}
.city-today-summary h2{margin:0 0 5px;font-size:19px;line-height:1.22;color:#0e3d8d;letter-spacing:-.02em}
.city-today-summary p{margin:0;color:#4d5d76;font-size:15px;line-height:1.45;font-weight:700}
.seo-analysis-card-compact{margin:16px 0 18px!important;padding:16px 18px!important;border-radius:18px!important;box-shadow:0 8px 22px rgba(24,54,98,.045)!important;background:#fbfdff!important}
.seo-analysis-card-compact .seo-analysis-head{margin-bottom:12px!important;align-items:center!important}
.seo-analysis-card-compact .seo-analysis-head h2{margin:0!important;font-size:20px!important;line-height:1.22!important;color:#0e3d8d!important}
.seo-analysis-card-compact .seo-analysis-head a{font-size:14px!important;padding-top:0!important}
.seo-analysis-card-compact .seo-analysis-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.seo-analysis-card-compact .seo-analysis-grid article{padding:12px!important;border-radius:14px!important;background:#fff!important}
.seo-analysis-card-compact .seo-analysis-grid strong{font-size:25px!important}
.seo-analysis-card-compact .seo-analysis-grid span{font-size:13px!important;margin:5px 0!important}
.seo-analysis-card-compact .seo-analysis-grid p{font-size:12px!important;line-height:1.35!important;font-weight:650!important;color:#61708a!important}
.astro-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:10px!important}
.astro-card{display:grid!important;grid-template-columns:38px 1fr!important;grid-template-rows:auto auto!important;gap:2px 10px!important;align-items:start!important;padding:12px!important;border-radius:15px!important;background:#fff!important}
.astro-card .astro-icon{grid-row:1/3;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:21px;background:#eef6ff;border:1px solid #dce9f8}
.astro-card.sun-card .astro-icon,.astro-card.daylight-card .astro-icon{background:#fff8e4;border-color:#f5df9d}
.astro-card.moon-card .astro-icon{background:#f0f3ff;border-color:#dbe2ff}
.astro-card b{margin:0!important;font-size:14px!important;line-height:1.2!important;color:#0e3d8d!important}
.astro-card p{margin:0!important;font-size:12px!important;line-height:1.36!important;color:#61708a!important;font-weight:650!important}
.forecast-table .chart-row td{padding-top:10px!important;padding-bottom:10px!important;vertical-align:middle!important}
.trend-chart{height:224px!important;width:100%!important;min-width:760px!important}
.trend-chart svg.meteoblue-temp-chart{width:100%;height:224px;display:block}
.meteoblue-temp-chart .mb-bg{fill:#f9fbfe;stroke:#d6e1ee;stroke-width:1}
.meteoblue-temp-chart .mb-grid{stroke:#1b2637;stroke-width:1.1;opacity:.62}
.meteoblue-temp-chart .mb-vgrid{stroke:#1b2637;stroke-width:1;opacity:.42}
.meteoblue-temp-chart .mb-y{fill:#17243b;font-size:14px;font-weight:800}
.meteoblue-temp-chart .mb-day{fill:#0e3d8d;font-size:15px;font-weight:850}.meteoblue-temp-chart .mb-day.weekend{fill:#df2c2c}
.meteoblue-temp-chart .mb-title{fill:#0e3d8d;font-size:15px;font-weight:850}
.meteoblue-temp-chart .mb-band-max{fill:#94e58a;opacity:.62}.meteoblue-temp-chart .mb-band-min{fill:#82aeea;opacity:.62}
.meteoblue-temp-chart .mb-line-max{fill:none;stroke:#ff343d;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.meteoblue-temp-chart .mb-line-min{fill:none;stroke:#3e83e8;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1080px){.seo-analysis-card-compact .seo-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.astro-grid-compact{grid-template-columns:1fr!important}.trend-chart{min-width:700px!important}}
@media(max-width:640px){.city-today-summary{grid-template-columns:44px 1fr;padding:13px}.city-today-summary .today-summary-icon{width:42px;height:42px}.city-today-summary h2{font-size:17px}.city-today-summary p{font-size:14px}.seo-analysis-card-compact .seo-analysis-grid{grid-template-columns:1fr!important}.seo-analysis-card-compact .seo-analysis-head{display:block!important}.astro-card{grid-template-columns:34px 1fr!important}.trend-chart{min-width:620px!important;height:210px!important}.trend-chart svg.meteoblue-temp-chart{height:210px!important}}

/* === PATCH H: original full-width temperature chart + remove SEO intro === */
.city-page .forecast-table .chart-row td{
  padding-top:12px!important;
  padding-bottom:14px!important;
  vertical-align:middle!important;
}
.city-page .forecast-table .chart-row td:first-child{
  vertical-align:middle!important;
  white-space:normal!important;
}
.city-page .forecast-table .chart-row td:nth-child(2){
  padding-left:6px!important;
  padding-right:6px!important;
}
.city-page .trend-chart{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:238px!important;
  display:block!important;
  overflow:visible!important;
}
.city-page .trend-chart svg.sin-temp-chart{
  width:100%!important;
  height:238px!important;
  display:block!important;
}
.sin-temp-chart .stc-bg{fill:#fbfdff;stroke:#d9e4f1;stroke-width:1.2}
.sin-temp-chart .stc-col{fill:#f3f8fd;opacity:.72}
.sin-temp-chart .stc-grid{stroke:#718197;stroke-width:1;opacity:.38}
.sin-temp-chart .stc-vgrid{stroke:#8c9aaf;stroke-width:.9;opacity:.32}
.sin-temp-chart .stc-y{fill:#17243b;font-size:15px;font-weight:850}
.sin-temp-chart .stc-day{fill:#0e3d8d;font-size:16px;font-weight:900}
.sin-temp-chart .stc-day.weekend{fill:#d93636}
.sin-temp-chart .stc-band-max{fill:#ffb15a;opacity:.26}
.sin-temp-chart .stc-band-min{fill:#73a8f2;opacity:.30}
.sin-temp-chart .stc-line-max{fill:none;stroke:#ff4a43;stroke-width:4.4;stroke-linecap:round;stroke-linejoin:round}
.sin-temp-chart .stc-line-min{fill:none;stroke:#347bf0;stroke-width:4.4;stroke-linecap:round;stroke-linejoin:round}
.sin-temp-chart .stc-dot-max{fill:#ff4a43;stroke:#fff;stroke-width:2}
.sin-temp-chart .stc-dot-min{fill:#347bf0;stroke:#fff;stroke-width:2}
.sin-temp-chart .stc-legend text{fill:#61708a;font-size:13px;font-weight:800}
.sin-temp-chart .stc-legend .stc-line-max,.sin-temp-chart .stc-legend .stc-line-min{stroke-width:4}
@media(max-width:1080px){
  .city-page .trend-chart{min-width:820px!important;height:225px!important;}
  .city-page .trend-chart svg.sin-temp-chart{height:225px!important;}
}
@media(max-width:640px){
  .city-page .trend-chart{min-width:720px!important;height:210px!important;}
  .city-page .trend-chart svg.sin-temp-chart{height:210px!important;}
}

/* 2026-05 service pages + header priority fixes */
.service-page{padding-top:12px!important;}
.service-card{background:#fff;border:1px solid #e3ebf6;border-radius:20px;box-shadow:0 10px 28px rgba(22,38,66,.07);padding:28px;max-width:900px;margin:0 auto 28px;}
.service-card h1{margin:0 0 14px;font-size:34px;line-height:1.1;color:#12213d;}
.service-card p{font-size:18px;line-height:1.55;color:#5f6d83;margin:0 0 14px;}
.service-card .service-updated{font-size:14px;color:#7b8798;margin-top:22px;}
.quick-links{min-width:0;overflow:hidden;align-items:center;}
.quick-links a{flex:0 0 auto;}
.quick-links .geo-quick-link{order:-10;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;background:#eef5ff;border:1px solid #d9e8fb;border-radius:999px;max-width:210px;overflow:hidden;}
.quick-links .geo-quick-link>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.quick-weather{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-size:13px;}
.quick-weather .cm-wx{width:20px;height:20px;}
.quick-weather b{font-size:13px;}
@media(max-width:1380px){
  .cm-header-inner{grid-template-columns:285px minmax(300px,1fr) minmax(160px,auto) 54px!important;gap:12px!important;}
  body.has-visitor-place .quick-links a:not(.geo-quick-link){display:none!important;}
}
@media(max-width:1180px){
  .cm-header-inner{grid-template-columns:1fr!important;height:auto!important;padding-top:10px!important;padding-bottom:10px!important;}
  .quick-links{display:flex!important;max-width:100%;overflow-x:auto!important;padding-bottom:4px;}
  body.has-visitor-place .quick-links .geo-quick-link{display:inline-flex!important;}
}

/* === FINAL PATCH: tablet header, sidebar hourly card, safer radar marker density === */
@media (min-width: 861px) and (max-width: 1180px){
  .cm-header-inner{
    grid-template-columns:minmax(220px,270px) minmax(320px,1fr) minmax(120px,auto) 54px!important;
    height:74px!important;
    padding:0 20px!important;
    gap:12px!important;
  }
  .cm-logo-image{width:260px!important;height:70px!important;}
  .cm-logo-image img{width:260px!important;height:70px!important;}
  .cm-search input{height:46px!important;font-size:15px!important;padding-left:52px!important;padding-right:96px!important;}
  .search-ico{left:18px!important;}
  .geo-btn{right:8px!important;top:5px!important;width:36px!important;height:36px!important;}
  .map-search-inline-btn{right:50px!important;top:5px!important;width:36px!important;height:36px!important;}
  .quick-links{display:flex!important;align-items:center!important;gap:8px!important;overflow:visible!important;padding:0!important;min-width:0!important;}
  body.has-visitor-place .quick-links a:not(.geo-quick-link){display:none!important;}
  body.has-visitor-place .quick-links .geo-quick-link{display:inline-flex!important;max-width:145px!important;}
}
@media (max-width: 860px){
  .cm-header-inner{grid-template-columns:1fr!important;height:auto!important;padding-top:10px!important;padding-bottom:10px!important;}
  .quick-links{display:flex!important;max-width:100%;overflow-x:auto!important;padding-bottom:4px!important;}
}
.city-sidebar .city-hourly-card .hour-mini-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;}
.city-sidebar .city-hourly-card .hour-mini-row div{min-width:0!important;background:#f8fbff;border:1px solid #e8f0fa;border-radius:12px;padding:8px 6px;}
.city-sidebar .city-hourly-card .hour-mini-row small{display:block;font-size:11px;line-height:1.25;color:#66738a;font-weight:700;}
@media(max-width:1180px){.city-sidebar .city-hourly-card .hour-mini-row{grid-template-columns:repeat(6,minmax(0,1fr))!important;}}
@media(max-width:640px){.city-sidebar .city-hourly-card .hour-mini-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
