.site-alert-banner{background:#ff1a1a;color:white;border-bottom:2px solid #ff1a1a}
.site-alert-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px;font-size:15px;line-height:1.35}
.site-alert-banner strong{min-width:0;overflow-wrap:anywhere}
.site-alert-banner a{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:4px 14px;color:white;font-size:15px;font-weight:800;border:2px solid white;border-radius:6px;text-decoration:underline;text-underline-offset:3px}
.alerts-content{max-width:900px}.alerts-list{display:grid;gap:24px}.past-alerts-heading{margin-top:40px}
:root body .public-alert-card{border:3px solid var(--alert-color);border-top-width:6px;color:white;font-size:17px;line-height:1.65}
.public-alert-card :is(h1,h2){margin:18px 0 10px;font-size:clamp(25px,4vw,34px);line-height:1.2;overflow-wrap:anywhere}
.public-alert-card p{font-size:17px}.public-alert-card .alert-source{font-size:15px}
.alert-type{display:inline-block;background:var(--alert-color);padding:7px 12px;border-radius:5px;font-size:15px;font-weight:800;color:white}

.alert-dates{display:grid;gap:4px}.alert-dates time{display:inline-block;white-space:nowrap;color:var(--text-blue)}
.alert-details{padding:16px;background:#151515;border:1px solid var(--alert-color);border-radius:6px}.alert-details p{margin:6px 0 0}
.alert-warning{font-size:18px!important}.alert-actions{display:grid;gap:12px;margin-top:24px}
:root body .alert-actions .btn{width:100%;min-height:56px;font-size:15px;white-space:nowrap;padding-left:8px;padding-right:8px}
.alert-permalink{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:15px}
@keyframes alert-banner-flash{0%,100%{background:#ff1a1a;box-shadow:0 0 16px #ff1a1a}50%{background:#5a0000;box-shadow:none}}
@keyframes alert-border-flash{0%,100%{border-color:#ff1a1a;box-shadow:0 0 18px #ff1a1a}50%{border-color:#5a0000;box-shadow:none}}

.alert-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
:root body .public-alert-card .alert-close{display:inline-flex;flex:none;align-items:center;justify-content:center;width:auto;min-width:108px;height:56px;min-height:44px;font-size:15px;white-space:nowrap;padding:10px 14px}

:root body .weather-alert{animation:none;border-color:#8e24aa;box-shadow:none}.weather-alert .alert-type{background:#8e24aa;animation:none}.weather-description,.weather-instructions p{white-space:pre-wrap;overflow-wrap:anywhere}.alert-source-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;color:white}.weather-headline{overflow-wrap:anywhere}

.site-alert-banner [hidden]{display:none!important}.site-alert-banner{background:#b50000;box-shadow:none}
.site-alert-banner.alert-red-warning{animation:alert-banner-flash 1s steps(1,end) infinite}
:root body .public-alert-card.alert-red-warning{animation:alert-border-flash 1s steps(1,end) infinite}
:root body .public-alert-card.alert-red-warning .alert-type{animation:alert-banner-flash 1s steps(1,end) infinite;background:#ff1a1a}
:root body .recall-alert{animation:none;border-color:#fb8c00;box-shadow:none}.recall-alert .alert-type{background:#fb8c00;animation:none}

:root body .site-alert-banner.alert-amber-outage{background:#f9a825;border-color:#fdd835;color:#161616;animation:none;box-shadow:none}
.site-alert-banner.alert-amber-outage a{color:#161616;border-color:#161616}
#site-alerts:not(:empty){border-bottom:1px solid #646464}
#site-alerts .site-alert-banner{height:44px;border:0}
#site-alerts .site-alert-banner .wrap{height:44px;padding:8px 16px;gap:12px;flex-wrap:nowrap}
#site-alerts .site-alert-banner strong{display:block;flex:1;min-width:0;font-size:15px;font-weight:800;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#site-alerts .site-alert-banner a{height:32px;min-height:32px;padding:2px 10px;font-size:13px;line-height:20px;text-decoration:none}
:root body .outage-alert{animation:none;box-shadow:none;border:1px solid #f9a825}
.outage-alert .alert-type{background:#f9a825;color:#161616;animation:none}
.outage-areas{display:grid;gap:8px}.outage-area{border:1px solid #4a4a4a;border-radius:6px;padding:12px;background:#1e1e1e}
.outage-status{display:inline-block;padding:3px 9px;border-radius:999px;font-size:13px;font-weight:750;line-height:20px;background:#555;color:white}
.outage-status-scheduled{background:#f9a825;color:#161616}.outage-status-dispatched{background:#1e88e5}.outage-status-restored{background:#2e7d32}
.outage-alert .outage-cause{margin:6px 0 0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outage-alert .outage-crew-note{margin:6px 0 0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}
.outage-alert .outage-updated{margin:12px 0 0;color:white;font-size:14px;line-height:1.5;white-space:nowrap;text-decoration:none}
.outage-map-embed{position:relative;height:300px;margin-top:16px;border:1px solid #4a4a4a;border-radius:6px;overflow:hidden}
.outage-map-embed iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#242424;opacity:0;pointer-events:none}
.outage-map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:16px;text-align:center;background:#242424}
.outage-map-placeholder .btn{min-height:44px;font-size:15px}
[data-map-state=ready] iframe{opacity:1;pointer-events:auto}[data-map-state=ready] .outage-map-placeholder{display:none}
.outage-alert .outage-report-number{margin:12px 0 0;font-size:15px}
.outage-alert .outage-contact-actions{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
:root body .outage-contact-actions .btn{padding:8px 5px;font-size:14px;gap:5px}
:root body .outage-alert .outage-contact-actions .btn>.site-icon{flex:0 0 22px;width:22px;height:22px;min-width:22px;margin-right:0;padding:2px;box-sizing:border-box}

/* Owner-enabled promotions use the existing announcement layout while alerts are clear. */
.hospital-opening-banner{background:#f5f8f5;color:#285c33}
.hospital-opening-banner>.wrap{display:flex;align-items:center;justify-content:center;gap:32px;padding:8px 16px}
.hospital-opening-banner img{display:block;width:196px;height:80px;object-fit:contain;flex:0 1 196px;min-width:0}
.hospital-opening-actions{display:flex;align-items:center;gap:24px;flex:none}
.hospital-opening-actions strong{font-size:21px;font-weight:800;line-height:1.2;white-space:nowrap}
.hospital-opening-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border-radius:7px;background:#2462d0;color:#fff;font-size:15px;font-weight:750;text-decoration:none;white-space:nowrap}
.hospital-opening-actions a:hover{filter:brightness(1.1)}
.hospital-opening-actions a:focus-visible{outline:3px solid #174ba6;outline-offset:3px}
@media(max-width:620px){.hospital-opening-banner>.wrap{justify-content:space-between;gap:12px}.hospital-opening-banner img{max-width:58%;height:72px}.hospital-opening-actions{flex-direction:column;gap:5px}.hospital-opening-actions strong{font-size:17px}.hospital-opening-actions a{padding:7px 14px}}
.top-promotion-banner .top-promotion-name{min-width:0;flex:0 1 196px;font-size:20px;font-weight:750;line-height:1.25;overflow-wrap:anywhere}
.top-promotion-banner .hospital-opening-actions{min-width:0;max-width:55%;flex:0 1 auto}
.top-promotion-banner .hospital-opening-actions strong{white-space:normal;overflow-wrap:anywhere;text-align:center}
.top-promotion-banner+.top-promotion-banner{border-top:1px solid #d4dcd4}
@media(max-width:620px){.top-promotion-banner .top-promotion-name{font-size:17px;flex-basis:196px;max-width:58%}}

/* Past records stay compact; their details and saved map open on demand. */
.past-alerts-list{gap:12px}
:root body details.past-alert-record{padding:0;margin:0;background:#242424;color:#fff;border:1px solid #4a4a4a;border-top:4px solid #245fc9;border-radius:8px;overflow:hidden}
:root body details.past-alert-record>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:80px;margin:0;padding:16px 20px;list-style:none;background:transparent;color:#fff;border:0;border-radius:0;outline:none;box-shadow:none;cursor:pointer;text-decoration:none}
.past-alert-record>summary::-webkit-details-marker{display:none}
:root body details.past-alert-record>summary:hover{background:#2b2b2b;color:#fff;border:0;outline:none;text-decoration:none;transform:none}
:root body details.past-alert-record>summary:focus-visible{background:#2b2b2b;color:#fff;border:0;outline:2px solid #fff;outline-offset:-3px;box-shadow:none}
.past-alert-summary-copy{display:grid;gap:3px;min-width:0}
.past-alert-summary-copy>strong{font-size:20px;line-height:1.3;overflow-wrap:anywhere}
.past-alert-summary-date,.past-alert-summary-duration{font-size:14px;line-height:1.5;color:#fff;overflow-wrap:anywhere}
.past-alert-summary-chevron{display:block;flex:0 0 24px;font-size:28px;line-height:1;text-align:center;color:#fff}
.past-alert-record[open]>summary .past-alert-summary-chevron{transform:rotate(180deg)}
:root body .past-alert-record>.public-alert-card{margin:0;padding:18px 20px;border:0;border-top:1px solid #4a4a4a;border-radius:0;box-shadow:none}
.outage-map-archive{margin:18px 0 8px}
:root body .outage-map-snapshot{display:block;overflow:hidden;background:#171717;color:#fff;border:1px solid #505050;border-radius:6px;text-align:center;text-decoration:none;cursor:zoom-in}
.outage-map-snapshot img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;background:#171717}
.outage-map-snapshot>span{display:block;padding:8px 12px;font-size:14px;line-height:1.5;color:#fff}
:root body .outage-map-snapshot:is(:hover,:focus-visible){border-color:#fff;outline:2px solid #fff;outline-offset:2px;background:#171717;color:#fff;text-decoration:none;box-shadow:none}
.outage-map-archive figcaption,.outage-alert .outage-map-unavailable{font-size:14px;line-height:1.5;color:#fff}
.outage-map-archive figcaption{margin-top:8px}
.outage-alert .outage-map-unavailable{padding:12px;background:#1e1e1e;border:1px solid #4a4a4a;border-radius:6px}
@media(max-width:620px){:root body details.past-alert-record>summary{padding:14px 16px;gap:12px}.past-alert-summary-copy>strong{font-size:18px}:root body .past-alert-record>.public-alert-card{padding:16px}.outage-map-snapshot img{max-height:none}}

/* A sponsor is separate from the official alert and never replaces its View link. */
.alert-sponsor-credit{color:#fff;background:#242424;border-left:3px solid #245fc9}
.alert-sponsor-credit a{display:flex;align-items:center;min-height:40px;width:fit-content;max-width:100%;box-sizing:border-box;padding:7px 12px;color:#fff;font-size:14px;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.alert-sponsor-credit a strong{text-decoration:underline;text-underline-offset:3px;font-weight:750}
.alert-sponsor-credit a:hover{color:#fff;background:#303030}
.alert-sponsor-credit a:focus-visible{outline:2px solid #fff;outline-offset:-2px}
#site-alerts .alert-sponsor-credit{border-left:0;border-bottom:1px solid #555}
#site-alerts .alert-sponsor-credit>.wrap{padding:0 16px}
#site-alerts .alert-sponsor-credit a{padding-left:0;padding-right:0;background:transparent;color:#fff;border:0;border-radius:0;box-shadow:none;transform:none}
#site-alerts .alert-sponsor-credit a:hover strong{ text-decoration-thickness:2px }
.public-alert-card .alert-sponsor-credit{margin:14px 0 10px}
