/* Homepage Builder modules remain fully user-controlled. */
body.ptm-radio .ptm-nav > .menu, body.ptm-radio .ptm-nav > ul {column-gap:4px;}
body.ptm-radio .ptm-nav > .menu > li > a, body.ptm-radio .ptm-nav > ul > li > a {padding-left:14px;padding-right:14px;}
body.home .ptm-shell > main.ptm-content {padding:20px 20px 26px;}
body.home .ptm-content > .ptm-layout {gap:18px;align-items:start;}
body.home .ptm-content > .ptm-announcement,body.home .ptm-content > .ptm-weather-alert-banner {margin-bottom:16px;}
body.home .ptm-main > .ptm-module-slot + .ptm-module-slot,body.home .ptm-side > .ptm-module-slot + .ptm-module-slot {margin-top:18px;}
body.home .ptm-main > .ptm-module-slot > .ptm-panel,body.home .ptm-side > .ptm-module-slot > .ptm-panel {margin-bottom:0;}
body.home .ptm-main > .ptm-module-slot > :last-child,body.home .ptm-side > .ptm-module-slot > :last-child {margin-bottom:0;}
body.home .ptm-main > .ptm-slider + .ptm-module-slot,body.home .ptm-main > .ptm-module-slot + .ptm-slider {margin-top:18px;}
body.home .ptm-main > .ptm-slider {margin-bottom:18px;}
@media(max-width:750px){body.home .ptm-shell > main.ptm-content{padding:16px 14px 22px}body.ptm-radio .ptm-nav > .menu > li > a,body.ptm-radio .ptm-nav > ul > li > a{padding-left:12px;padding-right:12px}}
@media(max-width:460px){body.home .ptm-shell > main.ptm-content{padding:12px 10px 18px}}

/* Image + text is ONE banner component, so its children need their own gap.
   Only the above/below layouts are separated; overlay stays over the image. */
body.home .ptm-announcement--both.ptm-announcement--above,
body.home .ptm-announcement--both.ptm-announcement--below {
    background: transparent;
    overflow: visible;
}
body.home .ptm-announcement--both.ptm-announcement--above > .ptm-announcement-link,
body.home .ptm-announcement--both.ptm-announcement--below > .ptm-announcement-link {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
body.home .ptm-announcement--both.ptm-announcement--above > .ptm-announcement-copy,
body.home .ptm-announcement--both.ptm-announcement--below > .ptm-announcement-copy,
body.home .ptm-announcement--both.ptm-announcement--above > .ptm-announcement-link > .ptm-announcement-copy,
body.home .ptm-announcement--both.ptm-announcement--below > .ptm-announcement-link > .ptm-announcement-copy {
    background: var(--ptm-announcement-bg,#163a79);
    color: var(--ptm-announcement-fg,#fff);
    border-radius: 7px;
}
body.home .ptm-announcement--both.ptm-announcement--above > picture,
body.home .ptm-announcement--both.ptm-announcement--below > picture {
    margin-block: 0;
}
body.home .ptm-announcement--both.ptm-announcement--above > .ptm-announcement-copy + picture,
body.home .ptm-announcement--both.ptm-announcement--below > picture + .ptm-announcement-copy {
    margin-top: 16px;
}
body.home .ptm-announcement--both.ptm-announcement--above picture img,
body.home .ptm-announcement--both.ptm-announcement--below picture img {
    border-radius: 7px;
}
