*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Nunito',system-ui,sans-serif;background:var(--color-background);color:var(--color-text);line-height:1.6;min-height:100vh;padding-bottom:80px;overflow-x:hidden}
.theme-theme05-radio-sertanejo{
  --theme-max-width:1450px;
  --site-header-height:4.75rem
}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-accent);text-decoration:none}
a:hover{text-decoration:underline}
.container,
.theme-theme05-radio-sertanejo .header-inner,
.theme-theme05-radio-sertanejo .footer-inner,
.theme-theme05-radio-sertanejo .player-inner{
  width:min(1450px, 92vw);
  max-width:1450px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box
}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--color-primary);border-bottom:1px solid rgba(255,255,255,0.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;min-height:var(--site-header-height)}
.site-logo{font-family:'Oswald',serif;font-size:1.15rem;font-weight:700;color:var(--color-text);text-decoration:none;display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap;overflow:hidden;max-width:60vw}
.site-logo img{display:block;height:42px;width:auto;max-width:min(220px,52vw);object-fit:contain}
.hero-logo{display:block;height:72px;width:auto;max-width:min(280px,70vw);margin:0 auto 1rem;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.28))}
.site-nav{display:none;gap:1.25rem;align-items:center}
.site-nav a{color:var(--color-text);opacity:.85;font-size:.9rem;text-decoration:none;font-weight:500}
.site-nav a:hover{opacity:1;text-decoration:none}
.nav-toggle{background:none;border:1px solid rgba(255,255,255,.2);color:var(--color-text);font-size:1.25rem;padding:.35rem .6rem;border-radius:8px;cursor:pointer}
.site-nav.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--color-primary);padding:1rem 4vw;border-bottom:1px solid rgba(255,255,255,.1)}

/* Hero */
.hero{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--color-text)}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg, #5D4037 0%, #8D6E63 40%, #E65100 100%);z-index:0}
.hero-bg::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg, rgba(255,255,255,0.04) 0px, rgba(255,255,255,0.04) 1px, transparent 1px, transparent 40px);background-size:40px 40px;opacity:.8}
.hero-inner{position:relative;z-index:1;text-align:center;padding:3rem 4vw;max-width:800px}
.hero-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;opacity:.7;margin-bottom:.75rem}
.hero-brand{font-family:'Oswald',serif;font-size:clamp(2.2rem,8vw,4rem);font-weight:700;line-height:1.1;margin-bottom:.5rem}
.hero-headline{font-size:clamp(1rem,3vw,1.35rem);font-weight:600;margin-bottom:.5rem;opacity:.9}
.hero-support{font-size:.95rem;opacity:.75;margin-bottom:1.75rem;max-width:520px;margin-left:auto;margin-right:auto}
.btn-listen{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;background:var(--color-accent);color:var(--color-primary);border:none;border-radius:8px;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s,opacity .2s}
.btn-listen:hover{transform:scale(1.03);opacity:.92}
.btn-listen-icon{font-size:.85rem}
.now-playing-block{margin-top:2rem;padding:1rem 1.5rem;background:rgba(0,0,0,.25);border-radius:8px;backdrop-filter:blur(8px);display:inline-block}
.np-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;opacity:.6;margin-bottom:.25rem}
.np-track{font-size:.95rem;font-weight:500}

/* Sections */
.section{padding:3.5rem 0}
.section-title{font-family:'Oswald',serif;font-size:clamp(1.5rem,4vw,2rem);margin-bottom:1.5rem;color:var(--color-text)}
.section-link{display:inline-block;margin-top:1.5rem;font-weight:600;font-size:.9rem}
.card-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
.card{background:rgba(128,128,128,.08);border:1px solid rgba(128,128,128,.15);border-radius:8px;padding:1.25rem;transition:transform .2s}
.card:hover{transform:translateY(-2px)}
.card-title{font-family:'Oswald',serif;font-size:1.1rem;margin-bottom:.5rem}
.card-text{font-size:.9rem;opacity:.8;line-height:1.5}
.card-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin-bottom:.75rem}

/* Page */
.page-hero{background:var(--color-primary);color:var(--color-text);padding:2.5rem 0}
.page-title{font-family:'Oswald',serif;font-size:clamp(1.75rem,5vw,2.5rem)}
.page-content{padding:2.5rem 0}
.item-list{display:flex;flex-direction:column;gap:1rem}
.item-card{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:rgba(128,128,128,.06);border:1px solid rgba(128,128,128,.12);border-radius:8px}
.item-img{width:100%;max-width:200px;aspect-ratio:1;object-fit:cover;border-radius:8px}
.item-title{font-family:'Oswald',serif;font-size:1.15rem}
.item-text{font-size:.9rem;opacity:.8}
.empty-state{text-align:center;opacity:.6;padding:2rem}
.content-block{max-width:640px}

/* Contact form */
.contact-form{display:flex;flex-direction:column;gap:1rem;max-width:480px}
.form-group{display:flex;flex-direction:column;gap:.35rem}
.form-group label{font-size:.85rem;font-weight:600}
.form-group input,.form-group textarea{padding:.65rem .85rem;border:1px solid rgba(128,128,128,.3);border-radius:8px;background:var(--color-background);color:var(--color-text);font-family:inherit;font-size:1rem}

/* Player bar */
.player-bar{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--color-primary);border-top:1px solid rgba(255,255,255,.1);padding:.65rem 0}
.player-inner{display:flex;align-items:center;gap:.75rem}
.player-btn{width:42px;height:42px;border-radius:50%;border:none;background:var(--color-accent);color:var(--color-primary);font-size:1rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.player-info{flex:1;min-width:0}
.player-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6}
.player-track{display:block;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-volume{width:80px;flex-shrink:0}
.player-volume input{width:100%;accent-color:var(--color-accent)}

/* Footer */
.site-footer{background:var(--color-primary);color:var(--color-text);padding:2rem 0 6.525rem;margin-top:3rem;border-top:1px solid rgba(255,255,255,.08)}
body.theme-theme05-radio-sertanejo.has-radio-player{padding-bottom:0}
.footer-inner{text-align:center}
.footer-brand{font-family:'Oswald',serif;font-size:1.1rem;font-weight:700;margin-bottom:.75rem}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:.75rem}
.footer-nav a{color:var(--color-text);opacity:.7;font-size:.85rem;text-decoration:none}
.footer-social{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;margin:0 0 .85rem}
.footer-social a{color:var(--color-accent);font-size:.85rem;font-weight:600;text-decoration:none}
.footer-copy{font-size:.75rem;opacity:.5}

/* Theme-specific overrides */
.theme-popular .btn-listen{color:#FF6B00}
.theme-popular .hero{color:#fff}
.theme-news .card-grid-news{grid-template-columns:1fr}
.theme-news .card-news{border-left:3px solid var(--color-accent)}
.theme-minimal .site-header,.theme-minimal .site-footer,.theme-minimal .player-bar{background:#fff;border-color:#eee;color:#111}
.theme-minimal .site-nav a,.theme-minimal .site-logo,.theme-minimal .footer-nav a,.theme-minimal .footer-social a{color:#111}
.theme-minimal .hero{color:#111}
.theme-minimal .btn-listen{background:#000;color:#fff}
.theme-minimal .now-playing-block{background:#f5f5f5;color:#111}
.theme-jovem .btn-listen{color:#0A0A0A}
.theme-tv .hero-bg::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,229,255,.02) 2px,rgba(0,229,255,.02) 4px);animation:scan 8s linear infinite}
@keyframes scan{0%{transform:translateY(0)}100%{transform:translateY(40px)}}
.theme-rock .hero-brand{text-transform:uppercase;letter-spacing:.05em}
.theme-classic .hero-brand{font-style:italic}
.theme-sertanejo .hero-brand{text-transform:uppercase}

@media(min-width:640px){
.site-nav{display:flex;position:static;flex-direction:row;padding:0;border:none;background:none}
.nav-toggle{display:none}
.card-grid{grid-template-columns:repeat(2,1fr)}
.item-card{flex-direction:row;align-items:flex-start}
}
/* Últimas notícias no celular: só o título, card compacto.
   Seletor com 3 classes de propósito — theme-appearance.css (carregado
   depois) redeclara display:flex/inline-block em .news-feed__meta e
   .card-more com a mesma especificidade de .section-news sozinho, então
   isso venceria por ordem de carga; .card-grid-news a mais desempata. */
@media(max-width:639px){
.section-news .card-grid-news .card{padding:.85rem 1rem}
.section-news .card-grid-news .card-title{font-size:.95rem;margin-bottom:0}
.section-news .card-grid-news .card-img{aspect-ratio:16/9;margin-bottom:.6rem}
.section-news .card-grid-news .news-feed__meta,
.section-news .card-grid-news .card-text,
.section-news .card-grid-news .card-more{display:none}
}
@media(min-width:960px){
.card-grid{grid-template-columns:repeat(3,1fr)}
.theme-news .card-grid-news{grid-template-columns:repeat(3,1fr)}
}

/* Home: mesma grade de larguras do popular (coluna principal + aside 428px) */
.home-split{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.15rem;
  padding:0;
  align-items:start
}
.home-split .section,
.site-shell .section{
  padding:0 0 1.15rem
}
.home-split .section-programs,
.site-shell .section-programs{
  padding-top:0;
  padding-bottom:1.15rem
}
.home-split .section-news,
.site-shell .section-news{
  margin-top:0;
  margin-bottom:1.15rem;
  padding:0 0 1.15rem
}
.site-shell .section-programs + .section-news,
.site-shell .section-news + .section-programs{
  margin-top:0;
  padding-top:0
}
.home-split .card-grid-news{grid-template-columns:1fr}
.home-split .card-grid-gallery{grid-template-columns:1fr}
@media(min-width:640px){
  .home-split .card-grid-news{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-split .card-grid-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.home-banners{
  display:grid;
  gap:1.15rem;
  width:100%;
  max-width:428px
}
@media(min-width:1100px){
  .home-split{grid-template-columns:minmax(0,1fr) 428px;gap:1.15rem}
  .home-split:not(:has(> .site-shell__aside)):not(:has(> .home-split__aside)){grid-template-columns:minmax(0,1fr)}
  .home-split__aside{
    width:428px;
    display:grid;
    gap:1.15rem;
    align-content:start
  }
  .home-split .card-grid{grid-template-columns:repeat(2,1fr)}
  .home-split .card-grid-news{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
  .home-split .card-grid-news .card{padding:.85rem}
  .home-split .card-grid-news .card-title{font-size:.92rem;margin-bottom:.35rem}
  .home-split .card-grid-news .card-text{font-size:.8rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .home-split .card-grid-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
  .home-split .card-grid-gallery .card{padding:.85rem}
  .home-split .card-grid-gallery .card-title{font-size:.92rem;margin-bottom:0}
}
@media(max-width:1099px){
  .home-banners{margin:0 auto}
}
body.theme-theme05-radio-sertanejo{
  display:flex;
  flex-direction:column
}
body.theme-theme05-radio-sertanejo .theme-main{
  flex:1 0 auto
}
