/* Ajustes compartilhados de largura, toque e navegação móvel. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;width:100%;min-width:0}
body{min-width:0;max-width:100%}
img,video,audio,iframe{max-width:100%}
input,textarea,select,button{max-width:100%}
.container,.hero-slide,.hero-copy,.hero-inner,.hero-visual,.section-heading>div,.company-profile-main{min-width:0}
.hero-slides{grid-template-columns:minmax(0,1fr)}
.hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.03fr)}
.hero-copy h1,.hero-copy p,.company-card h3,.page-intro h1,.article-detail h1{overflow-wrap:anywhere}
.hero-actions{flex-wrap:wrap}
.hero-actions>a,.hero-actions>button{max-width:100%}
.hero-actions>a{white-space:normal}
.hero-controls>div:last-child>button,.hero-dots>button,.menu-toggle{min-width:44px;min-height:44px}
.menu-toggle{align-items:center;justify-content:center;flex-shrink:0}
.player-inner{height:auto;min-height:85px;padding-block:12px}
.player-identity{min-width:0;flex-shrink:1}
.player-identity>div{min-width:0}
.player-identity>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-play{min-width:44px;min-height:44px;flex-shrink:0}
.player-position-top{padding-top:var(--radio-player-height,86px)!important}
body.player-position-bottom{padding-bottom:var(--radio-player-height,86px)}
html:has(.player-position-top){scroll-padding-top:calc(var(--radio-player-height,86px) + 20px)}
.player-position-bottom #back-top,.player-position-bottom #toast{bottom:calc(var(--radio-player-height,86px) + 20px)}
.admin-mobile-toolbar,.admin-menu-close,.admin-menu-overlay,.table-scroll-hint{display:none}
.admin-body .workspace,.admin-body .workspace>*{min-width:0;max-width:100%}
.admin-body .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-body .form-grid>*,.admin-body .heading-row>*,.admin-body .stats>*,.admin-body .quick-grid>*{min-width:0}
.admin-body input,.admin-body select,.admin-body textarea,.login-body input{font-size:16px;max-width:100%;min-width:0}
.admin-body input[type=checkbox]{min-width:16px;flex-shrink:0}
.admin-body input[type=file]{width:100%;white-space:normal;font-size:16px}
.admin-body input[type=file]::file-selector-button{max-width:100%;white-space:normal;margin-right:8px}
.admin-body .table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.admin-body .editor code{max-width:100%;overflow:auto}
.admin-body label,.admin-body h1,.admin-body h2,.admin-body .muted{overflow-wrap:anywhere}
.admin-body .inline-form{flex-wrap:wrap}
.admin-body .btn,.admin-body .outline,.admin-body .logout{min-height:44px}
@media(max-width:1100px){
 .navigation nav{max-height:calc(100vh - var(--radio-player-height,86px) - 110px);max-height:calc(100dvh - var(--radio-player-height,86px) - 110px);overflow-y:auto;overscroll-behavior:contain}
 .navigation nav a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:900px){
 .admin-mobile-toolbar{position:sticky;top:0;z-index:210;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;min-height:65px;background:#fff;border-bottom:1px solid #dce5f1}
 .admin-mobile-toolbar strong{font-size:15px;color:#072762;min-width:0;line-height:1.4}
 .admin-mobile-toolbar>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;white-space:nowrap;color:#0754c9}
 .admin-menu-toggle{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;flex-shrink:0;padding:9px 12px;background:#0754c9;border:0;border-radius:7px;color:white;font-size:15px}
 .admin-menu-toggle svg{width:20px;height:20px;flex-shrink:0}
 .admin-body .sidebar{position:fixed;inset:0 auto 0 0;width:300px;max-width:calc(100% - 36px);height:100vh;height:100dvh;padding:16px 18px 24px;z-index:250;transform:translateX(-100%);visibility:hidden;overflow-y:auto;overscroll-behavior:contain;transition:transform .2s,visibility .2s;display:flex;flex-direction:column}
 .admin-nav-open .sidebar{transform:translateX(0);visibility:visible}
 .admin-nav-open{overflow:hidden}
 .admin-menu-overlay:not([hidden]){display:block;position:fixed;inset:0;width:100%;height:100%;border:0;background:#03132f99;z-index:240;cursor:pointer;touch-action:none}
 .admin-menu-close{display:flex;align-items:center;justify-content:center;align-self:flex-end;min-height:44px;flex-shrink:0;background:#ffffff13;border:1px solid #ffffff30;border-radius:7px;padding:8px 13px;color:white;font-size:15px;margin-bottom:18px}
 .sidebar .admin-wordmark{font-size:23px;line-height:1.35;padding-inline:6px;white-space:normal}
 .sidebar .admin-wordmark small{display:block;font-size:12px;letter-spacing:1px;margin:8px 0 12px}
 .sidebar nav{flex-direction:column;flex-wrap:nowrap;gap:4px;margin:10px 0 20px}
 .sidebar nav a{font-size:16px;min-height:46px;padding:11px 13px;line-height:1.5;color:#d2e0f6}
 .sidebar>form{position:static;margin-top:auto;padding-top:15px;flex-shrink:0}
 .sidebar .logout{font-size:16px;width:100%;text-align:left;border:1px solid #ffffff25;border-radius:7px}
 .admin-main{margin-left:0;width:100%}
 .admin-top{display:none}
 .admin-body .workspace{width:100%;padding:26px 18px}
 .admin-body .heading-row{flex-wrap:wrap;gap:15px;align-items:flex-start}
 .admin-body .heading-row .btn{white-space:normal;font-size:15px;padding:11px 16px}
 .admin-body .btn,.admin-body .outline{font-size:15px;gap:10px;white-space:normal;line-height:1.5}
 .admin-body label{font-size:15px}
 .admin-body label small{font-size:13px;line-height:1.6}
 .admin-body .table-wrap table{font-size:14px}
 .admin-body .table-wrap th{font-size:13px}
 .admin-body .table-wrap td{padding:15px 13px}
 .admin-body .content-title{min-width:230px}
 .admin-body .content-title strong{font-size:14px}
 .admin-body .status{font-size:12px}
 .admin-body .inline-form select,.admin-body .inline-form .outline{font-size:14px;min-height:44px}
 .admin-body .bulk{flex-wrap:wrap;gap:12px}
 .admin-body .bulk select{font-size:16px;flex:1;min-width:150px;max-width:100%}
 .admin-body .bulk .outline{font-size:15px;flex-shrink:0}
 .table-scroll-hint.is-overflowing{display:block;font-size:13px;line-height:1.6;color:#526b8e;padding:8px 2px}
 .table-scroll-hint.is-overflowing::before{content:'Deslize a tabela para ver as outras colunas →'}
}
@media(max-width:767px){
 .hero-inner{grid-template-columns:minmax(0,1fr);gap:26px;min-height:0;padding-top:34px;padding-bottom:85px}
 .hero-copy h1{font-size:clamp(36px,10vw,54px);line-height:1.12;letter-spacing:-1.4px;max-width:100%}
 .hero-copy>p{max-width:100%;font-size:17px;line-height:1.8}
 .hero-copy .eyebrow{font-size:12px;letter-spacing:.7px;overflow-wrap:anywhere;gap:12px}
 .hero-copy .eyebrow::before{width:14px;flex-shrink:0}
 .hero-visual>img,.hero-slide:nth-child(3) .hero-visual>img{height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:18px 18px 18px 45px}
 .hero-actions{gap:18px 22px}
 .hero-actions .button{min-height:48px;padding:14px 18px}
 .hero-link{min-height:44px}
 .frequency-stamp{padding:11px 14px;min-width:0;right:12px;max-width:calc(100% - 24px)}
 .frequency-stamp strong{font-size:25px}
 .frequency-stamp>span{font-size:10px;letter-spacing:.6px}
 .section-heading{flex-wrap:wrap;gap:12px}
 .section-heading>.text-link{margin-top:4px}
 .player-inner{min-height:76px;padding-block:10px;gap:11px}
 .player-identity{flex:1;gap:9px}
 .player-waves,.player-message,.player-volume{display:none}
 .player-identity>div>strong{font-size:14px}
 .player-identity>div>span{font-size:13px}
 .navigation{gap:10px}
 .navigation .brand{width:clamp(118px,34vw,154px)}
 .navigation .listen-button{padding:10px;font-size:14px;gap:6px;min-height:44px}
 .menu-toggle{padding:5px;width:44px}
 .topbar>.container{justify-content:space-between;gap:5px 10px}
 .topbar>.container>span:first-child{gap:4px;font-size:11px}
 .topbar>.container>div{font-size:12px}
 .chat-window form>div{min-width:0}
 .chat-window input{min-width:0}
 .company-profile-heading h1{overflow-wrap:anywhere}
 .admin-body .form-grid{grid-template-columns:minmax(0,1fr);gap:8px}
 .admin-body .heading-row{flex-direction:column;align-items:flex-start}
 .admin-body .workspace h1{font-size:clamp(26px,6vw,33px);line-height:1.25;letter-spacing:-.8px}
 .admin-body .editor{padding:21px 17px;margin-block:20px}
 .admin-body .stats{grid-template-columns:minmax(0,1fr);gap:12px}
 .admin-body .stats article{display:flex;align-items:center;justify-content:space-between;gap:15px}
 .admin-body .stats span{font-size:14px}.admin-body .stats strong{font-size:32px;margin:0;flex-shrink:0}
 .admin-body .radio-feature{grid-template-columns:minmax(0,1fr)}
 .admin-body .radio-feature>div{padding:25px 20px}
 .admin-body .radio-feature h2{font-size:30px}
 .admin-body .radio-feature p{font-size:16px}
 .admin-body .radio-feature img{height:210px;grid-row:1}
 .admin-body .quick-grid{grid-template-columns:minmax(0,1fr)}
 .admin-body .quick-grid strong{font-size:17px}.admin-body .quick-grid span{font-size:14px}
 .admin-body .company-admin-search>div{flex-wrap:wrap}
 .admin-body .company-admin-search input{flex:1;min-width:150px}
 .admin-body .company-admin-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-body .company-admin-gallery span{font-size:13px}
 .login-body{display:block;min-height:100vh;min-height:100dvh}
 .login-panel{width:100%;max-width:520px;margin-inline:auto;padding:35px 22px}
 .login-panel h1{font-size:32px;overflow-wrap:anywhere}
 .login-panel label{font-size:16px}.login-panel .btn{font-size:16px;min-height:48px}
 .login-logo{width:190px;max-width:75%;margin-bottom:28px}
 .login-art{display:none}
}
@media(max-width:360px){
 .navigation{gap:6px}.navigation .brand{width:112px}.navigation .listen-button{padding-inline:7px;font-size:13px;gap:4px}
 .player-identity>div>span{font-size:12px}
 .admin-toolbar-extra{display:none}
 .admin-mobile-toolbar{padding-inline:12px;gap:8px}
 .admin-body .workspace{padding-inline:14px}
 .admin-body .editor{padding-inline:14px}
 .hero-copy .eyebrow{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.admin-body .sidebar{transition:none}}
