/* PTM Radio — footer fill and responsive dropdown navigation. */
.ptm-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.ptm-shell>.ptm-content{flex:0 0 auto}
.ptm-shell>.ptm-footer{flex:1 0 auto}
.ptm-shell>.ptm-copyright{flex:0 0 auto}
.ptm-nav .sub-menu{border-radius:0 0 8px 8px;overflow:hidden}
.ptm-nav .sub-menu li a{text-transform:none;line-height:1.4;white-space:normal}
.ptm-nav .menu-item-has-children>a:after{content:' ▾';font-size:.8em}
.ptm-nav .sub-menu .menu-item-has-children>a:after{content:' ▸'}
.ptm-nav .sub-menu .sub-menu{top:0;left:100%}
.ptm-nav a:focus-visible,.ptm-nav button:focus-visible{outline:2px solid #fff;outline-offset:-3px}
@media(max-width:750px){
 .ptm-nav .sub-menu{position:static;min-width:0;border:0;border-radius:0;box-shadow:none;overflow:visible}
 .ptm-nav .sub-menu .sub-menu{position:static}
 .ptm-nav .sub-menu li a{white-space:normal}
}

/* 3.2.2: Sticky footer: the content takes available height, footer stays at bottom. */
html,body{min-height:100%;}body{min-height:100vh;min-height:100dvh;}
.ptm-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;}
.ptm-shell>.ptm-content{flex:1 0 auto;min-height:0;}
.ptm-shell>.ptm-footer{flex:0 0 auto;margin-top:auto;}
.ptm-shell>.ptm-copyright{flex:0 0 auto;}
/* Individual module appearance: independent of column-wide settings. */
.ptm-module-slot{min-width:0;}
.ptm-module-slot>.ptm-panel{background:var(--ptm-slot-background,initial);}
.ptm-module-slot .ptm-panel-title{color:var(--ptm-slot-heading-color,inherit);}
.ptm-module-slot .ptm-panel-body{color:var(--ptm-slot-text-color,inherit);}
.ptm-module-slot .ptm-panel-body a:not(.ptm-btn){color:var(--ptm-slot-link-color,inherit);}

/* 3.5.1: let main content grow, not the footer; no fixed positioning. */
html{min-height:100%;}
body.ptm-radio{min-height:100vh;min-height:100dvh;margin:0;}
body.ptm-radio .ptm-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;}
body.ptm-radio .ptm-shell > main.ptm-content{flex:1 0 auto;min-height:0;}
body.ptm-radio .ptm-shell > footer.ptm-footer{flex:0 0 auto;margin-top:auto;}
body.ptm-radio .ptm-shell > .ptm-copyright{flex:0 0 auto;}
