.hfw-weather{max-width:1200px;width:100%;min-width:0;margin:28px auto 45px;padding:0 15px;box-sizing:border-box;color:#555;font:16px/1.5 "Myriad Pro Regular","Myriad Pro",Arial,sans-serif}
.hfw-weather *,dialog.hfw-dialog *{box-sizing:border-box}
.hfw-weather [hidden],dialog.hfw-dialog [hidden]{display:none!important}
.hfw-weather h1,.hfw-weather h2,.hfw-weather h3,dialog.hfw-dialog h2{font-family:inherit!important;font-style:normal!important;letter-spacing:0!important;text-shadow:none!important}
.hfw-weather h1{margin:0 0 20px;color:#39c!important;font-size:28px!important;line-height:1.2!important;font-weight:400!important;text-transform:uppercase!important;border-bottom:1px solid #39c;padding-bottom:9px}
.hfw-weather h2{margin:0 0 12px!important;color:#39c!important;font-size:24px!important;line-height:1.2!important;font-weight:400!important;text-transform:none!important}
.hfw-weather h3{margin:0 0 9px!important;color:#555!important;font-size:18px!important;line-height:1.25!important;font-weight:600!important;text-transform:none!important}
.hfw-weather p{margin:0 0 14px;font:inherit;color:inherit}
.hfw-weather a,dialog.hfw-dialog a{color:#247caa;text-decoration:underline;text-underline-offset:2px}
.hfw-weather a:hover,dialog.hfw-dialog a:hover{color:#1a5d81}
.hfw-weather .hfw-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:26px;align-items:start;margin:22px 0 26px}
.hfw-weather .hfw-panel{min-width:0;margin:0 0 26px;padding:20px;border:1px solid #d7e2e7;border-radius:3px;background:#fff;box-shadow:0 1px 4px rgb(26 66 88 / 6%)}
.hfw-weather .hfw-layout>.hfw-panel{margin-bottom:0}
.hfw-weather .hfw-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px 14px}
.hfw-weather .hfw-panel-heading>h2{flex:1 1 220px}
.hfw-weather .hfw-embed{display:block;width:100%;max-width:100%;height:560px;margin:12px 0;border:1px solid #d7e2e7;border-radius:2px;background:#f4f8fa}
.hfw-weather .hfw-panel:has(>.hfw-embed)>.hfw-embed{height:560px}
.hfw-weather .hfw-sites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.hfw-weather .hfw-site{min-width:0;display:flex;flex-direction:column;align-items:stretch;padding:14px;border:1px solid #dbe5e9;border-top:3px solid #39c;border-radius:2px;background:#f8fbfc}
.hfw-weather .hfw-site>button img{display:block;width:100%;height:150px;max-width:100%;object-fit:contain;background:#fff}
.hfw-weather .hfw-site-status{font-size:14px!important;line-height:1.4!important;color:#586c77!important;margin:4px 0 12px!important;overflow-wrap:anywhere}
.hfw-weather .hfw-site>a:last-child{margin-top:auto;font-size:14px;line-height:1.4}
.hfw-weather .hfw-site button[data-hfw-open]{margin:0 0 10px}
.hfw-weather button[data-hfw-open],dialog.hfw-dialog .hfw-dialog-close{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;max-width:100%;margin:5px 0 9px;padding:9px 15px;border:1px solid #3287b2;border-radius:3px;background:#fff;color:#247caa!important;box-shadow:none;font:400 15px/1.3 "Myriad Pro Regular","Myriad Pro",Arial,sans-serif!important;text-align:center;text-transform:none!important;text-shadow:none!important;letter-spacing:0!important;cursor:pointer;white-space:normal}
.hfw-weather button[data-hfw-open]:hover,dialog.hfw-dialog .hfw-dialog-close:hover{background:#edf6fa;border-color:#247caa}
.hfw-weather button[data-hfw-open]:has(img){display:block;padding:0;border:1px solid #d7e2e7;background:#fff;width:100%}
.hfw-weather :is(a,button):focus-visible,dialog.hfw-dialog :is(a,button):focus-visible{outline:3px solid #1d7199;outline-offset:3px}
html.hfw-modal-open,body.hfw-modal-open{overflow:hidden!important;overscroll-behavior:none}
dialog.hfw-dialog{position:fixed;inset:0;width:min(1180px,calc(100vw - 32px));max-width:none;height:auto;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #b8cdd8;border-radius:4px;background:#fff;color:#555;box-shadow:0 12px 50px rgb(0 0 0 / 25%);font:16px/1.5 "Myriad Pro Regular","Myriad Pro",Arial,sans-serif;overflow:auto;overscroll-behavior:contain}
dialog.hfw-dialog:not([open]){display:none}
dialog.hfw-dialog::backdrop{background:rgb(20 35 44 / 65%)}
dialog.hfw-dialog .hfw-dialog-close{position:sticky;top:10px;z-index:2;display:flex;width:max-content;margin:10px 12px 0 auto;background:#fff;box-shadow:0 1px 5px rgb(0 0 0 / 10%)}
dialog.hfw-dialog .hfw-dialog-content{min-width:0;padding:12px 20px 20px}
dialog.hfw-dialog h2{margin:0 0 12px!important;color:#39c!important;font-size:24px!important;line-height:1.25!important;font-weight:400!important;text-transform:none!important}
dialog.hfw-dialog .hfw-dialog-content>img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
dialog.hfw-dialog .hfw-dialog-content iframe{display:block;width:100%;height:75vh;height:75dvh;min-height:350px;max-height:calc(100dvh - 150px);margin-top:12px;border:1px solid #d7e2e7;background:#f4f8fa}
dialog.hfw-dialog .hfw-dialog-link{display:inline-block;margin:0 0 10px;font-size:15px}
@media(max-width:1000px){.hfw-weather .hfw-layout{grid-template-columns:minmax(0,1fr);gap:24px}.hfw-weather .hfw-sites-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.hfw-weather .hfw-sites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hfw-weather .hfw-panel{padding:16px}.hfw-weather .hfw-embed,.hfw-weather .hfw-panel:has(>.hfw-embed)>.hfw-embed{height:480px}}
@media(max-width:480px){.hfw-weather{padding:0 12px;margin-top:20px}.hfw-weather h1{font-size:25px!important}.hfw-weather h2,dialog.hfw-dialog h2{font-size:22px!important}.hfw-weather .hfw-layout{gap:20px}.hfw-weather .hfw-panel{padding:13px}.hfw-weather .hfw-sites-grid{grid-template-columns:minmax(0,1fr);gap:12px}.hfw-weather .hfw-site{padding:14px}.hfw-weather .hfw-embed,.hfw-weather .hfw-panel:has(>.hfw-embed)>.hfw-embed{height:440px}dialog.hfw-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}dialog.hfw-dialog .hfw-dialog-content{padding:12px}dialog.hfw-dialog .hfw-dialog-content iframe{height:68vh;height:68dvh;min-height:300px;max-height:none}}
@media(prefers-reduced-motion:no-preference){.hfw-weather button[data-hfw-open],dialog.hfw-dialog .hfw-dialog-close{transition:background-color .12s ease,border-color .12s ease}}

.hfw-weather a.hfw-site-link{color:inherit;text-decoration:none}
.hfw-weather a.hfw-site-link:hover{border-color:#39c;background:#f1f8fb}
.hfw-weather .hfw-site-action{margin-top:auto;color:#247caa;text-decoration:underline;text-underline-offset:2px;font-size:14px;line-height:1.4}

/* Official responsive meteograms: one frame per location, moved rather than copied in the dialog. */
.hfw-weather .hfw-meteograms-panel{margin-top:26px}
.hfw-weather .hfw-meteograms-panel .hfw-sites-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.hfw-weather .hfw-meteogram-site{padding:16px;background:#fff;overflow:hidden}
.hfw-weather .hfw-meteogram-site .hfw-panel-heading{align-items:center;gap:8px}
.hfw-weather .hfw-meteogram-site .hfw-panel-heading>h3{flex:1 1 180px;margin:0!important}
.hfw-weather .hfw-meteogram-site button[data-hfw-open]{margin:0 0 6px;min-height:38px;padding:7px 12px;font-size:14px!important}
.hfw-meteogram-home{width:100%;min-width:0;min-height:0;margin:12px 0 4px}
.hfw-meteogram-widget,.hfw-meteogram-target{width:100%;min-width:0;max-width:100%}
.hfw-meteogram-widget>iframe.hfw-meteogram-embed,.hfw-meteogram-widget .hfd-external-live>iframe.hfw-meteogram-embed{display:block;width:100%!important;max-width:100%!important;height:700px!important;min-height:700px;border:0!important;margin:0!important;background:#fff}
.hfw-weather .hfw-meteogram-attribution,dialog.hfw-meteogram-dialog .hfw-meteogram-attribution{font-size:13px!important;line-height:1.4!important;text-align:right;margin:5px 0!important}
.hfw-weather .hfw-meteogram-provider{font-size:14px!important;margin:5px 0 0!important}
dialog.hfw-dialog.hfw-meteogram-dialog{width:min(1500px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}
dialog.hfw-meteogram-dialog .hfw-dialog-content{padding:8px 20px 18px}
dialog.hfw-meteogram-dialog .hfw-meteogram-widget{width:min(100%,1100px);margin:0 auto}
dialog.hfw-meteogram-dialog .hfw-meteogram-widget iframe.hfw-meteogram-embed{height:700px!important;min-height:700px;max-height:none!important;margin:0!important}
@media(max-width:760px){.hfw-weather .hfw-meteograms-panel .hfw-sites-grid{grid-template-columns:minmax(0,1fr);gap:18px}.hfw-weather .hfw-meteogram-site{padding:13px}}
@media(max-width:480px){dialog.hfw-dialog.hfw-meteogram-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}dialog.hfw-meteogram-dialog .hfw-dialog-content{padding:8px 12px 14px}.hfw-weather .hfw-meteogram-site .hfw-panel-heading>h3{flex-basis:150px}}

/* Provider diagrams retain a legible800px drawing viewport before proportional scaling. */
.hfw-meteogram-widget[data-hfw-scaled]{overflow:hidden}
.hfw-meteogram-widget[data-hfw-scaled]>iframe.hfw-meteogram-embed,.hfw-meteogram-widget[data-hfw-scaled] .hfd-external-live>iframe.hfw-meteogram-embed{max-width:none!important;transform-origin:top left}

/* A single reused forecast can sit in a terrain detail card without page-level spacing. */
.hfw-weather.hfw-weather--terrain{max-width:none;width:100%;margin:0;padding:0}
.hfw-weather--terrain .hfw-meteogram-site{margin:0}
