/* =========================================================
   Rádio Liberdade 90,3 FM - Portal Profissional
   Ajuste visual final: layout organizado, responsivo e com a
   paleta da marca: azul, vermelho, branco e grafite.
   ========================================================= */

:root {
  --brand-blue: #005fbd;
  --brand-blue-2: #003b86;
  --brand-red: #e30613;
  --brand-red-2: #b9000d;
  --ink: #111827;
  --text: #344054;
  --muted: #667085;
  --soft: #f3f6fb;
  --line: #e5e7eb;
  --card: #ffffff;
  --shadow-sm: 0 8px 20px rgba(16,24,40,.08);
  --shadow-md: 0 18px 42px rgba(16,24,40,.12);
  --shadow-lg: 0 26px 70px rgba(16,24,40,.16);
  --radius: 18px;
  --container: min(1240px, calc(100% - 42px));
}

* { box-sizing: border-box; }
html { scroll-padding-top: 174px; }
body {
  background: var(--soft) !important;
  color: var(--text) !important;
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  letter-spacing: -0.01em;
  padding-bottom: 120px !important;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at top left, rgba(0,95,189,.10), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(227,6,19,.07), transparent 28%);
  z-index: -1;
}
.ambient { display: none !important; }
img { max-width: 100%; }

/* ---------------- Header ---------------- */
.massa-container,
.section,
.footer-pro .footer-grid,
.topbar-main.massa-brand-row {
  width: var(--container) !important;
  max-width: var(--container) !important;
  margin-inline: auto !important;
}

.portal-topbar.massa-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  display: block !important;
  padding: 0 !important;
  background: #fff !important;
  color: var(--ink) !important;
  border: 0 !important;
  box-shadow: 0 7px 24px rgba(16,24,40,.12) !important;
  backdrop-filter: none !important;
}
.massa-utility {
  background: linear-gradient(90deg, #081426 0%, #111827 58%, #081426 100%) !important;
  color: rgba(255,255,255,.84) !important;
  border-bottom: 3px solid var(--brand-red) !important;
  font-size: 12px !important;
}
.utility-inner {
  min-height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
}
.utility-menu {
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}
.utility-date {
  flex: 1;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 700;
}
.utility-socials { display: flex; align-items: center; gap: 15px; }
.utility-socials a,
.footer-pro a,
.socials a { text-decoration: none !important; }
.utility-socials a { color: rgba(255,255,255,.82) !important; font-weight: 800; }
.utility-socials a:hover { color: #fff !important; }

.topbar-main.massa-brand-row {
  display: grid !important;
  grid-template-columns: 255px 210px minmax(320px, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 18px 0 !important;
  background: #fff !important;
}
.portal-topbar .brand { display: flex !important; align-items: center; }
.portal-topbar .brand img,
.brand img {
  width: 235px !important;
  max-width: 235px !important;
  max-height: 76px !important;
  object-fit: contain !important;
  filter: none !important;
}
.top-search.massa-search {
  display: grid !important;
  grid-template-columns: 1fr 112px !important;
  gap: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  background: #fff !important;
  overflow: hidden !important;
}
.top-search.massa-search input {
  width: 100% !important;
  height: 44px !important;
  padding: 0 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--ink) !important;
  outline: none !important;
  font-size: 14px !important;
}
.top-search.massa-search input::placeholder { color: #98a2b3; }
.top-search.massa-search button {
  width: auto !important;
  height: 44px !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: var(--brand-red) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  cursor: pointer;
}
.listen-btn.massa-listen,
.btn-primary {
  min-height: 44px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--brand-red) 0%, var(--brand-red-2) 100%) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(227,6,19,.20) !important;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.btn-secondary {
  min-height: 44px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  backdrop-filter: blur(12px);
}
.btn:hover { transform: translateY(-1px) !important; }

.nav.nav-desktop.portal-nav.massa-nav-strip {
  width: 100% !important;
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 0 max(21px, calc((100% - 1240px) / 2)) !important;
  background: var(--brand-red) !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.nav.nav-desktop.portal-nav.massa-nav-strip::-webkit-scrollbar { display: none; }
.nav.nav-desktop.portal-nav.massa-nav-strip a {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 16px !important;
  border-radius: 0 !important;
  color: #fff !important;
  opacity: 1 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
  white-space: nowrap !important;
}
.nav.nav-desktop.portal-nav.massa-nav-strip a:hover { background: rgba(0,0,0,.14) !important; text-shadow: none !important; }
.massa-fast-menu {
  width: 100% !important;
  min-height: 38px !important;
  padding: 0 max(21px, calc((100% - 1240px) / 2)) !important;
  display: flex !important;
  justify-content: center !important;
  gap: 2px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--line) !important;
  overflow-x: auto !important;
}
.massa-fast-menu a {
  color: var(--brand-blue-2) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  padding: 12px 12px !important;
  white-space: nowrap !important;
}
.massa-fast-menu a:hover { color: var(--brand-red) !important; }
.portal-mega.mega-menu {
  top: 96px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) translateY(-8px) !important;
  width: min(1060px, calc(100vw - 34px)) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  padding: 22px !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: var(--shadow-lg) !important;
  color: var(--ink) !important;
}
.portal-mega.active { display: grid !important; transform: translateX(-50%) translateY(0) !important; }
.mega-links a {
  color: var(--ink) !important;
  background: #f8fafc !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
}
.mega-links a:hover { color: var(--brand-red) !important; background: #fff5f5 !important; }
.mega-card {
  background: linear-gradient(135deg, #f0f7ff, #fff5f5) !important;
  border: 1px solid #dbeafe !important;
  border-radius: 16px !important;
  color: var(--ink) !important;
}
.mega-card strong { color: var(--brand-blue-2) !important; }
.mega-card p { color: var(--muted) !important; }

/* ---------------- Main layout ---------------- */
main { padding-top: 18px !important; }
.breaking-strip.massa-breaking {
  width: var(--container) !important;
  margin: 0 auto 16px !important;
  display: grid !important;
  grid-template-columns: 112px 1fr !important;
  gap: 0 !important;
  align-items: stretch !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: var(--shadow-sm) !important;
}
.breaking-strip.massa-breaking strong {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 16px !important;
  border-radius: 0 !important;
  background: var(--brand-red) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
}
@keyframes breakingTickerMove {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.breaking-ticker {
  min-width: 0;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  --ticker-duration: 36s;
}
.breaking-ticker-window {
  width: 100% !important;
  overflow: hidden !important;
  padding: 8px 12px !important;
}
.breaking-ticker-track {
  width: max-content !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  will-change: transform !important;
  animation: breakingTickerMove var(--ticker-duration) linear infinite !important;
}
.breaking-ticker:hover .breaking-ticker-track {
  animation-play-state: paused !important;
}
.breaking-ticker a,
.breaking-ticker span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: var(--ink) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 10px rgba(15,23,42,.06) !important;
}
.ticker-dot {
  width: 6px !important;
  height: 6px !important;
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  background: var(--brand-red) !important;
  box-shadow: 0 0 0 4px rgba(227,6,19,.08) !important;
}
.breaking-ticker a:hover {
  color: var(--brand-red) !important;
  transform: translateY(-1px) !important;
}
.ticker-empty {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 14px !important;
}
.massa-ad {
  width: var(--container) !important;
  min-height: 92px !important;
  margin: 0 auto 18px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 16px !important;
  border: 1px dashed #bcc6d4 !important;
  background: linear-gradient(180deg, #fff, #f8fafc) !important;
  color: var(--muted) !important;
  box-shadow: var(--shadow-sm) !important;
}
.massa-ad span { font-size: 11px !important; color: #98a2b3 !important; letter-spacing: .14em; text-transform: uppercase; }
.massa-ad strong { color: #667085 !important; font-size: 14px !important; font-weight: 750 !important; }

/* ---------------- Hero ---------------- */
.hero.portal-hero.massa-hero {
  width: var(--container) !important;
  min-height: 470px !important;
  margin: 0 auto 26px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(330px, .72fr) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: var(--shadow-md) !important;
}
.hero.portal-hero.massa-hero::before { display: none !important; }
.portal-hero .hero-copy {
  min-height: 470px !important;
  padding: clamp(30px, 5vw, 58px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  background:
    linear-gradient(180deg, rgba(0,31,74,.16) 0%, rgba(0,20,50,.80) 78%, rgba(0,20,50,.92) 100%),
    var(--hero-image, url('../img/default-radio.jpg')) center/cover no-repeat !important;
}
.kicker,
.eyebrow {
  color: var(--brand-red) !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  font-size: .76rem !important;
  font-weight: 950 !important;
}
.portal-hero .kicker {
  width: fit-content !important;
  padding: 8px 11px !important;
  border-radius: 999px !important;
  background: var(--brand-red) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(227,6,19,.20) !important;
}
.portal-hero h1 {
  max-width: 760px !important;
  margin: 16px 0 14px !important;
  color: #fff !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  font-size: clamp(2.3rem, 4.7vw, 4.9rem) !important;
  line-height: .94 !important;
  letter-spacing: -0.07em !important;
  text-shadow: 0 14px 44px rgba(0,0,0,.34) !important;
}
.portal-hero p {
  max-width: 690px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 1.03rem !important;
  line-height: 1.55 !important;
}
.portal-hero .hero-actions { margin-top: 24px !important; display: flex; gap: 12px; flex-wrap: wrap; }
.portal-hero .hero-card.visual-radio {
  min-height: 470px !important;
  padding: 34px !important;
  border: 0 !important;
  border-left: 1px solid var(--line) !important;
  border-radius: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  background:
    radial-gradient(circle at 80% 20%, rgba(0,95,189,.38), transparent 32%),
    linear-gradient(160deg, #081426 0%, #0c1d36 55%, #111827 100%) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.visual-radio .live-orb { display: none !important; }
.visual-radio::before {
  content: '90,3 FM';
  position: absolute;
  top: 28px;
  left: 30px;
  display: inline-flex;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #fff;
  font-weight: 950;
  letter-spacing: .05em;
}
.visual-radio h3 { color: #fff !important; font-size: 1.45rem !important; margin: 20px 0 8px !important; }
.visual-radio p,
.visual-radio small { color: rgba(255,255,255,.76) !important; }
.equalizer { display: flex !important; align-items: flex-end !important; gap: 6px !important; height: 54px !important; margin-bottom: 18px !important; }
.equalizer i { width: 8px !important; border-radius: 999px !important; background: linear-gradient(180deg, #fff, #5cc5ff) !important; opacity: .95 !important; }

/* ---------------- Sections and news ---------------- */
.section {
  padding: 20px 0 !important;
  margin-block: 0 !important;
}
.section-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 22px !important;
  margin: 0 0 18px !important;
}
.section-head h2,
.panel h2,
.service-card h2,
.category-title h2,
h2 {
  color: var(--ink) !important;
  margin: 4px 0 4px !important;
  font-size: clamp(1.8rem, 3.2vw, 3.05rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.055em !important;
}
.section-subtitle,
.muted { color: var(--muted) !important; font-size: .96rem !important; line-height: 1.55 !important; }
.searchbox {
  display: grid !important;
  grid-template-columns: minmax(180px, 260px) 82px !important;
  gap: 0 !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.04) !important;
}
.searchbox input {
  border: 0 !important;
  background: #fff !important;
  padding: 12px 13px !important;
  color: var(--ink) !important;
  outline: none !important;
}
.searchbox button {
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--brand-red) !important;
  color: #fff !important;
  font-weight: 950 !important;
  font-size: 12px !important;
}
.portal-news-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.38fr) minmax(250px, .78fr) minmax(286px, .66fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.main-headline {
  min-height: 520px !important;
  padding: 30px !important;
  border: 0 !important;
  border-radius: 22px !important;
  box-shadow: var(--shadow-md) !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(0,31,74,.08) 0%, rgba(0,18,43,.82) 100%),
    var(--headline-bg, url('../img/default-radio.jpg')) center/cover no-repeat !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}
.main-headline:hover { transform: translateY(-2px); transition: .25s; }
.main-headline h2 {
  color: #fff !important;
  font-size: clamp(2rem, 3.8vw, 4.2rem) !important;
  line-height: .95 !important;
  margin: 12px 0 12px !important;
  letter-spacing: -0.07em !important;
}
.main-headline p,
.main-headline small { color: rgba(255,255,255,.84) !important; }
.tag {
  width: fit-content !important;
  border-radius: 999px !important;
  padding: 7px 11px !important;
  margin: 0 0 10px !important;
  background: var(--brand-red) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.side-highlights {
  display: grid !important;
  gap: 18px !important;
  grid-template-rows: repeat(3, 1fr) !important;
}
.news-card {
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: var(--shadow-sm) !important;
  cursor: pointer !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
.news-card:hover { transform: translateY(-3px) !important; box-shadow: var(--shadow-md) !important; border-color: #cbd5e1 !important; }
.news-card img {
  width: 100% !important;
  height: 165px !important;
  object-fit: cover !important;
  background: #dfe6f1 !important;
}
.side-highlights .news-card img { height: 110px !important; }
.news-card-body {
  flex: 1 !important;
  padding: 15px !important;
  background: #fff !important;
  color: var(--text) !important;
  border-top: 4px solid var(--card-accent, var(--brand-red)) !important;
}
.news-card h3 {
  margin: 4px 0 0 !important;
  color: var(--ink) !important;
  font-size: 1.02rem !important;
  line-height: 1.25 !important;
  letter-spacing: -0.03em !important;
}
.news-card p { display: none !important; }
.news-card small,
.card-meta-line small { color: var(--muted) !important; font-weight: 700 !important; font-size: 11px !important; }
.card-meta-line { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; margin-bottom: 8px !important; }
.card-meta-line .tag { margin: 0 !important; }
.latest-panel {
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: var(--shadow-sm) !important;
  position: static !important;
  align-self: stretch !important;
}
.latest-panel h3 {
  margin: 0 !important;
  padding: 15px 17px !important;
  background: var(--brand-blue-2) !important;
  color: #fff !important;
  font-size: .93rem !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.latest-item {
  display: grid !important;
  grid-template-columns: 35px 1fr !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--line) !important;
  cursor: pointer !important;
  color: var(--text) !important;
}
.latest-item:last-child { border-bottom: 0 !important; }
.latest-item:hover { background: #f8fbff !important; text-shadow: none !important; }
.latest-item > span {
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: var(--brand-red) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}
.latest-item strong {
  color: var(--ink) !important;
  line-height: 1.25 !important;
  font-size: .92rem !important;
  display: block !important;
}
.latest-item small { display: block !important; margin-top: 4px !important; color: var(--muted) !important; font-size: .74rem !important; }
.featured-grid.portal-card-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 18px !important;
}
.featured-grid.portal-card-grid:empty { display: none !important; }

/* ---------------- Serviços ---------------- */
.service-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, .95fr) minmax(380px, 1.42fr) minmax(260px, .95fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.service-card,
.panel,
.category-section {
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  color: var(--text) !important;
  box-shadow: var(--shadow-sm) !important;
  backdrop-filter: none !important;
}
.service-card {
  min-height: 330px !important;
  padding: 24px !important;
  overflow: hidden !important;
  position: relative !important;
}
.service-card::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 100% !important;
  height: 5px !important;
  border-radius: 0 !important;
  background: var(--brand-red) !important;
}
.radio-service::before { background: var(--brand-red) !important; }
.lottery-service::before { background: var(--brand-blue) !important; }
.weather-service::before { background: #111827 !important; }
.service-card h2,
.panel h2 { font-size: clamp(1.55rem, 2.4vw, 2.3rem) !important; }
.radio-now-box,
.lottery-card,
.rank-item,
.announcer-card {
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  color: var(--text) !important;
}
.radio-now-box { padding: 18px !important; margin: 22px 0 !important; }
.radio-now-box strong { color: var(--brand-red) !important; text-transform: uppercase; font-size: .76rem; letter-spacing: .08em; }
.radio-now-box h3,
.lottery-card strong,
.rank-item strong,
.announcer-card strong { color: var(--ink) !important; }
.radio-now-box span,
.lottery-card small,
.lottery-card p,
.announcer-card small,
.announcer-card span { color: var(--muted) !important; }
.lottery-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; margin-top: 18px !important; }
.lottery-card { padding: 14px !important; }
.lottery-balls { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin-top: 12px !important; }
.lottery-balls span {
  width: 29px !important;
  height: 29px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: var(--brand-red) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 950 !important;
}
.weather-service { display: flex !important; flex-direction: column !important; }
.weather-select { margin: 16px 0 !important; }
.weather-box {
  margin-top: auto !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 18px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, var(--brand-blue-2), #111827) !important;
  color: #fff !important;
}
.weather-temp { color: #fff !important; font-size: 2.85rem !important; font-weight: 950 !important; letter-spacing: -0.07em !important; }
.weather-box strong { color: #fff !important; display: block !important; }
.weather-box span { color: rgba(255,255,255,.74) !important; }
.weather-meta { grid-column: 1 / -1 !important; display: flex !important; gap: 8px !important; flex-wrap: wrap !important; }
.weather-meta small { background: rgba(255,255,255,.12) !important; color: rgba(255,255,255,.86) !important; border-radius: 999px !important; padding: 7px 9px !important; }
.section-more {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--brand-red) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
.section-more:hover { border-color: var(--brand-red) !important; }

/* ---------------- Categorias, agenda, live, bottom ---------------- */
.category-section { padding: 24px !important; margin-bottom: 18px !important; }
.category-title,
.panel-title-row,
.service-headline {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 16px !important;
}
.category-title {
  padding-bottom: 14px !important;
  margin-bottom: 18px !important;
  border: 0 !important;
  border-bottom: 3px solid var(--brand-red) !important;
  color: var(--brand-red) !important;
}
.category-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px !important; }
.split { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; }
.panel { padding: 24px !important; }
.compact-list { display: grid !important; gap: 12px !important; }
.compact-media-card {
  min-height: 128px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  border: 1px solid var(--line) !important;
}
.compact-media-card img { width: 100% !important; height: 128px !important; object-fit: cover !important; }
.compact-overlay { background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,20,50,.84)) !important; }
.compact-pill { background: var(--brand-red) !important; color: #fff !important; border-radius: 999px !important; }
.live-grid.live-half {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(270px, .6fr) !important;
  gap: 18px !important;
}
.live-video,
.channel-videos {
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  color: var(--text) !important;
  box-shadow: var(--shadow-sm) !important;
  overflow: hidden !important;
}
.live-video iframe { border-radius: 0 !important; min-height: 420px !important; }
.channel-videos { padding: 18px !important; }
.channel-videos h3 { color: var(--ink) !important; }
.channel-videos iframe { width: 100% !important; aspect-ratio: 16 / 9 !important; border: 0 !important; border-radius: 14px !important; margin-bottom: 10px !important; }
.portal-bottom-grid { display: grid !important; grid-template-columns: .9fr 1.1fr !important; gap: 18px !important; }
.rank-list { display: grid !important; gap: 10px !important; margin-top: 16px !important; }
.rank-item {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 12px !important;
  text-decoration: none !important;
}
.rank-item span {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: var(--brand-red) !important;
  color: #fff !important;
  font-weight: 950 !important;
}
.announcers-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; margin-top: 16px !important; }
.announcer-card { display: grid !important; grid-template-columns: 64px 1fr !important; gap: 12px !important; align-items: center !important; padding: 12px !important; }
.announcer-card img { width: 64px !important; height: 64px !important; border-radius: 14px !important; object-fit: cover !important; }
.banner-panel { min-height: 240px !important; background-image: linear-gradient(90deg, rgba(0,20,50,.84), rgba(0,20,50,.22)), var(--banner-image) !important; background-size: cover !important; background-position: center !important; }
.banner-panel::before { display: none !important; }
.empty-state {
  padding: 28px !important;
  border-radius: 18px !important;
  border: 1px dashed #cbd5e1 !important;
  background: #fff !important;
  color: var(--muted) !important;
  box-shadow: var(--shadow-sm) !important;
}
.skeleton { background: linear-gradient(90deg, #eef2f7, #f8fafc, #eef2f7) !important; border-radius: 18px !important; }

/* ---------------- Footer and player ---------------- */
.footer-pro.portal-footer {
  margin-top: 34px !important;
  padding: 42px 0 18px !important;
  border-top: 5px solid var(--brand-red) !important;
  background: linear-gradient(135deg, #081426, #111827) !important;
  color: rgba(255,255,255,.78) !important;
}
.footer-glow { display: none !important; }
.footer-pro .footer-grid {
  display: grid !important;
  grid-template-columns: 1.35fr repeat(4, minmax(130px, 1fr)) !important;
  gap: 28px !important;
}
.footer-pro img { width: 210px !important; filter: none !important; margin-bottom: 12px !important; }
.footer-pro h3 { color: #fff !important; font-size: 1rem !important; margin: 0 0 12px !important; }
.footer-pro p,
.footer-pro a { color: rgba(255,255,255,.72) !important; line-height: 1.6 !important; }
.footer-pro a:hover { color: #fff !important; }
.footer-bottom { width: var(--container) !important; margin: 28px auto 0 !important; padding-top: 16px !important; border-top: 1px solid rgba(255,255,255,.10) !important; color: rgba(255,255,255,.52) !important; text-align: center !important; }
.player-floating {
  left: 50% !important;
  bottom: 18px !important;
  transform: translateX(-50%) translateY(calc(100% + 38px)) !important;
  width: min(840px, calc(100% - 32px)) !important;
  border-radius: 22px !important;
  background: rgba(8,20,38,.96) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 18px 48px rgba(16,24,40,.35) !important;
}
.player-floating.active { transform: translateX(-50%) translateY(0) !important; }
.player-glow-bar,
.badge-live,
.main-play-btn,
.live-pulse,
.ping { background: var(--brand-red) !important; }
.main-play-btn { border-radius: 16px !important; }
.chat-floating { background: var(--brand-blue) !important; color: #fff !important; }
.toast { background: #111827 !important; color: #fff !important; }

/* ---------------- Public secondary pages ---------------- */
.category-page,
.detail-page,
.programacao-page,
.page-content {
  width: var(--container) !important;
  margin-inline: auto !important;
}

/* ---------------- Responsive ---------------- */
@media (max-width: 1180px) {
  :root { --container: min(100% - 30px, 1000px); }
  .topbar-main.massa-brand-row { grid-template-columns: 230px 1fr auto !important; }
  .top-search.massa-search { grid-column: 1 / -1 !important; }
  .portal-news-grid { grid-template-columns: 1fr 1fr !important; }
  .latest-panel { grid-column: 1 / -1 !important; }
  .featured-grid.portal-card-grid,
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .service-grid { grid-template-columns: 1fr !important; }
  .portal-bottom-grid,
  .live-grid.live-half { grid-template-columns: 1fr !important; }
  .footer-pro .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  :root { --container: calc(100% - 24px); }
  html { scroll-padding-top: 106px; }
  body { padding-bottom: 132px !important; }
  .utility-date,
  .utility-socials { display: none !important; }
  .utility-inner { justify-content: center !important; }
  .topbar-main.massa-brand-row {
    grid-template-columns: 1fr !important;
    padding: 14px 0 !important;
    gap: 10px !important;
  }
  .portal-topbar .brand { justify-content: center !important; }
  .portal-topbar .brand img,
  .brand img { width: min(265px, 82vw) !important; max-width: min(265px, 82vw) !important; }
  .top-search.massa-search { grid-column: auto !important; grid-template-columns: 1fr 92px !important; }
  .listen-btn.massa-listen { width: 100% !important; }
  .nav.nav-desktop.portal-nav.massa-nav-strip { justify-content: flex-start !important; padding-inline: 12px !important; }
  .massa-fast-menu { justify-content: flex-start !important; padding-inline: 12px !important; }
  .portal-mega.mega-menu { top: 74px !important; grid-template-columns: 1fr !important; max-height: calc(100vh - 90px); overflow: auto; }
  main { padding-top: 12px !important; }
  .breaking-strip.massa-breaking { grid-template-columns: 1fr !important; }
  .breaking-strip.massa-breaking strong { padding: 10px 14px !important; }
  .massa-ad { display: none !important; }
  .hero.portal-hero.massa-hero { grid-template-columns: 1fr !important; min-height: auto !important; border-radius: 18px !important; }
  .portal-hero .hero-copy { min-height: 420px !important; padding: 24px !important; }
  .portal-hero h1 { font-size: clamp(2.15rem, 11vw, 3.3rem) !important; }
  .portal-hero .hero-card.visual-radio { min-height: 230px !important; border-left: 0 !important; border-top: 1px solid rgba(255,255,255,.12) !important; }
  .section-head { display: block !important; }
  .searchbox { margin-top: 12px !important; grid-template-columns: 1fr 82px !important; }
  .portal-news-grid { grid-template-columns: 1fr !important; }
  .main-headline { min-height: 380px !important; padding: 22px !important; }
  .side-highlights { grid-template-rows: auto !important; }
  .featured-grid.portal-card-grid,
  .category-grid,
  .lottery-grid,
  .announcers-grid,
  .split { grid-template-columns: 1fr !important; }
  .footer-pro .footer-grid { grid-template-columns: 1fr !important; }
  .player-content { gap: 12px !important; }
  .player-visualizer,
  .volume-container { display: none !important; }
}
.lottery-balls em {
  display: inline-flex !important;
  padding: 8px 10px !important;
  border-radius: 999px !important;
  background: #eef4ff !important;
  color: var(--brand-blue-2) !important;
  font-style: normal !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

/* ===== Ajustes finais: sem seletor de região, clima automático e loterias funcionais ===== */
.topbar-main.massa-brand-row {
  grid-template-columns: 255px minmax(340px, 1fr) auto !important;
}
.weather-locate-btn {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(0,95,189,.20);
  border-radius: 12px;
  background: #fff;
  color: var(--brand-blue-2);
  font-weight: 950;
  cursor: pointer;
  margin: 4px 0 12px;
  box-shadow: 0 8px 18px rgba(16,24,40,.06);
}
.weather-locate-btn:hover {
  border-color: var(--brand-blue);
  color: var(--brand-red);
}
.weather-box.loading,
.lottery-grid.loading {
  position: relative;
  min-height: 148px;
  overflow: hidden;
}
.weather-box.loading::after,
.lottery-grid.loading::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
  animation: shimmer 1.15s infinite;
}
.weather-box .weather-updated,
.lottery-card small.lottery-source {
  display: block;
  margin-top: 7px;
  color: #98a2b3;
  font-size: 11px;
  font-weight: 750;
}
.weather-days {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.weather-day {
  border: 1px solid rgba(229,231,235,.9);
  background: #fff;
  border-radius: 12px;
  padding: 10px;
  box-shadow: 0 8px 18px rgba(16,24,40,.05);
}
.weather-day strong,
.weather-day span {
  display: block;
}
.weather-day strong {
  color: var(--ink);
  font-size: 12px;
  margin-bottom: 3px;
}
.weather-day span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.lottery-card .lottery-next {
  display: block;
  margin-top: 6px;
  color: var(--brand-blue-2);
  font-size: 11px;
  font-weight: 850;
}
.lottery-card .lottery-prize {
  display: block;
  margin-top: 7px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}
@media (max-width: 980px) {
  .topbar-main.massa-brand-row {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 560px) {
  .weather-days {
    grid-template-columns: 1fr;
  }
}

/* ===== Ajustes profissionais: hero + 5 últimas notícias + chat ===== */
.hero.portal-hero.massa-hero {
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .75fr) !important;
  gap: 0 !important;
}
.portal-hero .hero-copy {
  min-height: 430px !important;
}
.portal-hero .hero-card.visual-radio {
  position: relative !important;
  min-height: 430px !important;
  padding: 28px !important;
  align-items: stretch !important;
  justify-content: center !important;
}
.hero-side-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
}
.hero-side-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
}
.hero-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  font-size: 1.15rem !important;
  font-weight: 950 !important;
  letter-spacing: .03em !important;
}
.hero-info-box {
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  padding: 16px 18px !important;
  background: rgba(255,255,255,.04) !important;
  backdrop-filter: blur(8px) !important;
}
.hero-mini-label {
  display: inline-block !important;
  margin-bottom: 8px !important;
  color: #9fd3ff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.hero-info-box strong {
  display: block !important;
  color: #fff !important;
  font-size: 1.18rem !important;
  line-height: 1.2 !important;
}
.hero-info-box small {
  display: block !important;
  margin-top: 6px !important;
  color: rgba(255,255,255,.76) !important;
  font-size: .92rem !important;
  line-height: 1.45 !important;
}
.hero-side-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-top: auto !important;
}
.hero-side-actions .btn {
  width: 100% !important;
  justify-content: center !important;
}
.news-head { margin-bottom: 20px !important; }
.portal-news-grid.portal-news-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.main-headline {
  min-height: 510px !important;
}
.side-highlights.side-highlights-quad {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.side-highlights.side-highlights-quad .news-card {
  min-height: 246px !important;
}
.side-highlights.side-highlights-quad .news-card img {
  height: 132px !important;
}
.news-bottom-layout {
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 18px !important;
  margin-top: 18px !important;
  align-items: start !important;
}
.latest-panel {
  position: sticky !important;
  top: 110px !important;
}
.featured-grid.portal-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-top: 0 !important;
}
.featured-grid.portal-card-grid .empty-state,
.side-highlights .empty-state,
#featuredGrid > .empty-state {
  grid-column: 1 / -1 !important;
}
.chat-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(2, 6, 23, .45) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: .25s ease !important;
  z-index: 10040 !important;
}
.chat-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
}
.chat-drawer {
  z-index: 10050 !important;
  padding: 0 !important;
  background: #efeae2 !important;
  border-left: 1px solid #d7dbe3 !important;
}
.chat-drawer-head {
  margin-bottom: 0 !important;
  padding: 16px 18px !important;
  background: linear-gradient(135deg, var(--brand-blue-2), #0b1f3d) !important;
}
.chat-drawer .chat-messages {
  padding: 18px !important;
}
.chat-form {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 3 !important;
  padding: 16px !important;
  border-top: 1px solid #d9dde6 !important;
  box-shadow: 0 -12px 30px rgba(15, 23, 42, .08) !important;
}
.chat-form .btn.btn-primary,
.chat-form button[type="submit"] {
  min-height: 46px !important;
  border-radius: 14px !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
}
body.chat-open .player-floating {
  opacity: 0 !important;
  pointer-events: none !important;
}
@media (max-width: 1180px) {
  .portal-news-grid.portal-news-top,
  .news-bottom-layout {
    grid-template-columns: 1fr !important;
  }
  .latest-panel {
    position: static !important;
    top: auto !important;
  }
}
@media (max-width: 760px) {
  .portal-hero .hero-copy,
  .portal-hero .hero-card.visual-radio,
  .main-headline {
    min-height: auto !important;
  }
  .hero-side-actions,
  .side-highlights.side-highlights-quad,
  .featured-grid.portal-card-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ===== Versão final: hero dinâmico, cards laterais com proporção perfeita e chat estilo WhatsApp profissional ===== */
.visual-radio::before { display: none !important; }
.hero-side-stack { min-height: 100% !important; }
.hero-promo-box { border-color: rgba(227,6,19,.34) !important; background: rgba(227,6,19,.10) !important; }
.hero-side-actions .btn-secondary {
  border-color: rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}
.hero-side-actions .btn-secondary:hover { background: rgba(255,255,255,.14) !important; }
.side-highlights.side-highlights-quad .news-card {
  min-height: unset !important;
  height: 100% !important;
  border-radius: 18px !important;
}
.side-highlights.side-highlights-quad .news-card img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  background: #e9eef7 !important;
}
.side-highlights.side-highlights-quad .news-card-body {
  min-height: 112px !important;
  padding: 13px 14px !important;
}
.side-highlights.side-highlights-quad .news-card h3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.side-highlights.side-highlights-quad .card-meta-line {
  gap: 8px !important;
}
.side-highlights.side-highlights-quad .card-meta-line small {
  white-space: nowrap !important;
}
.news-card img {
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
}
.chat-floating {
  z-index: 10020 !important;
  right: 24px !important;
  bottom: 118px !important;
  border: 2px solid rgba(255,255,255,.18) !important;
  background: linear-gradient(135deg, #0b7e6c, #0aa784) !important;
  box-shadow: 0 18px 45px rgba(0, 90, 70, .28) !important;
}
.chat-drawer {
  width: min(460px, 96vw) !important;
  background-color: #efeae2 !important;
  background-image:
    linear-gradient(rgba(239,234,226,.86), rgba(239,234,226,.86)),
    url('https://user-images.githubusercontent.com/15075759/28719144-86dc0f70-73b1-11e7-911d-60d70fcded21.png') !important;
  background-size: 420px auto !important;
  box-shadow: -26px 0 70px rgba(2, 6, 23, .28) !important;
}
.chat-brand-head {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}
.chat-brand-head img {
  width: 74px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  padding: 4px 7px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.12) !important;
}
.chat-drawer-head {
  border-bottom: 3px solid var(--brand-red) !important;
}
.chat-drawer-head button {
  flex: 0 0 auto !important;
  border: 0 !important;
  background: rgba(255,255,255,.13) !important;
  font-size: 1.35rem !important;
}
.chat-messages {
  gap: 12px !important;
}
.chat-msg {
  max-width: 86% !important;
  padding: 10px 13px 8px !important;
  border: 0 !important;
  border-radius: 0 14px 14px 14px !important;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.14) !important;
}
.chat-msg::before {
  content: '' !important;
  position: absolute !important;
  left: -7px !important;
  top: 0 !important;
  border-top: 8px solid #fff !important;
  border-left: 8px solid transparent !important;
}
.chat-msg strong {
  color: #0b7e6c !important;
  font-size: .82rem !important;
  font-weight: 950 !important;
}
.chat-msg span {
  display: block !important;
  color: #202c33 !important;
  font-size: .96rem !important;
  line-height: 1.38 !important;
}
.chat-msg .time {
  float: none !important;
  display: block !important;
  margin: 5px 0 0 !important;
  text-align: right !important;
  color: #7a8792 !important;
}
.chat-form {
  background: #f7f7f7 !important;
}
.chat-form input,
.chat-form textarea {
  border: 1px solid #e3e7ee !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.05) !important;
}
.chat-form textarea {
  min-height: 78px !important;
  border-radius: 18px !important;
  resize: vertical !important;
}
.emoji-row button {
  border: 1px solid #e3e7ee !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.05) !important;
}
.chat-form button[type="submit"] {
  background: linear-gradient(135deg, var(--brand-red), #c90010) !important;
  box-shadow: 0 12px 22px rgba(227,6,19,.22) !important;
}
.chat-form button[type="submit"]:disabled {
  opacity: .72 !important;
  cursor: wait !important;
}
@media (max-width: 760px) {
  .chat-floating { right: 14px !important; bottom: 110px !important; padding: 12px 16px !important; }
  .chat-drawer { width: 100vw !important; }
  .side-highlights.side-highlights-quad .news-card img { aspect-ratio: 16 / 9 !important; }
}

/* ===== Páginas internas migradas para o novo estilo do portal ===== */
body.secondary-body {
  background: #eef2f7 !important;
  color: var(--text) !important;
  padding-bottom: 110px !important;
}
body.secondary-body .ambient { display: none !important; }
.secondary-menu-link {
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 950 !important;
}
.secondary-brand-row { grid-template-columns: 255px minmax(340px, 1fr) auto !important; }
.secondary-shell {
  width: var(--container) !important;
  margin: 0 auto !important;
  padding: 24px 0 0 !important;
}
.secondary-page-hero {
  min-height: 245px !important;
  margin-bottom: 24px !important;
  padding: clamp(24px, 4vw, 42px) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  border-radius: 24px !important;
  border: 1px solid var(--line) !important;
  background:
    radial-gradient(circle at 85% 10%, rgba(0,95,189,.28), transparent 28%),
    linear-gradient(135deg, #07152a 0%, #0d2b52 58%, #111827 100%) !important;
  color: #fff !important;
  box-shadow: var(--shadow-md) !important;
  overflow: hidden !important;
}
.secondary-page-hero h1 {
  max-width: 920px !important;
  margin: 8px 0 10px !important;
  color: #fff !important;
  font-size: clamp(2.1rem, 5vw, 4.7rem) !important;
  line-height: .94 !important;
  letter-spacing: -0.065em !important;
}
.secondary-page-hero p {
  max-width: 780px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 1.02rem !important;
  line-height: 1.55 !important;
}
.detail-grid-modern,
.schedule-layout-modern {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
  gap: 22px !important;
  align-items: start !important;
}
.schedule-layout-modern { grid-template-columns: 330px minmax(0, 1fr) !important; }
.article-shell,
.comments-card-modern,
.related-section-modern,
.category-grid-section,
.schedule-main-modern,
.sidebar-card {
  border: 1px solid var(--line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  color: var(--text) !important;
  box-shadow: var(--shadow-sm) !important;
}
.article-shell { overflow: hidden !important; }
.article-cover {
  width: 100% !important;
  aspect-ratio: 16 / 8.2 !important;
  margin: 0 !important;
  background: #dfe7f2 !important;
  overflow: hidden !important;
}
.article-cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.article-content-modern { padding: clamp(22px, 4vw, 42px) !important; }
.article-meta-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
  flex-wrap: wrap !important;
}
.article-meta-row small { color: var(--muted) !important; font-weight: 800 !important; }
.article-content-modern h2 {
  margin: 0 0 16px !important;
  color: var(--ink) !important;
  font-size: clamp(2rem, 4vw, 4rem) !important;
  line-height: .98 !important;
  letter-spacing: -0.06em !important;
}
.article-lead {
  margin: 0 0 24px !important;
  padding-left: 18px !important;
  border-left: 5px solid var(--brand-red) !important;
  color: #475569 !important;
  font-size: 1.18rem !important;
  line-height: 1.58 !important;
  font-weight: 650 !important;
}
.share-actions-modern {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 26px 0 !important;
  padding: 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: #f8fafc !important;
}
.share-actions-modern strong { color: var(--ink) !important; }
.share-actions-modern a,
.share-actions-modern button {
  min-height: 36px !important;
  padding: 0 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1px solid #dbe3ef !important;
  background: #fff !important;
  color: var(--brand-blue-2) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.share-actions-modern a:first-of-type { color: #15803d !important; }
.article-body-modern {
  color: #334155 !important;
  font-size: 1.08rem !important;
  line-height: 1.78 !important;
}
.article-body-modern p { margin: 0 0 18px !important; }
.article-body-modern h2,
.article-body-modern h3 { color: var(--ink) !important; margin: 28px 0 12px !important; }
.article-sidebar-modern,
.schedule-sidebar-modern {
  display: grid !important;
  gap: 18px !important;
  position: sticky !important;
  top: 112px !important;
}
.sidebar-card { padding: 22px !important; overflow: hidden !important; }
.sidebar-card h3 {
  margin: 6px 0 8px !important;
  color: var(--ink) !important;
  font-size: 1.5rem !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
}
.sidebar-card p,
.sidebar-card small { color: var(--muted) !important; line-height: 1.5 !important; }
.live-side-card { border-top: 5px solid var(--brand-red) !important; }
.ad-side-card {
  min-height: 250px !important;
  display: grid !important;
  place-content: center !important;
  text-align: center !important;
  border-style: dashed !important;
  background: linear-gradient(180deg, #fff, #f8fafc) !important;
}
.ad-side-card span {
  color: #94a3b8 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.ad-side-card strong { color: #64748b !important; }
.side-latest-list { display: grid !important; gap: 10px !important; margin-top: 14px !important; }
.side-latest-list a {
  display: grid !important;
  grid-template-columns: 34px 1fr !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 10px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  text-decoration: none !important;
}
.side-latest-list span {
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: var(--brand-red) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}
.side-latest-list strong { color: var(--ink) !important; font-size: .92rem !important; line-height: 1.25 !important; }
.related-section-modern,
.comments-card-modern,
.category-grid-section,
.schedule-main-modern { margin-top: 22px !important; padding: 24px !important; }
.compact-section-head { margin-bottom: 18px !important; }
.related-grid-modern {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.secondary-news-card,
.category-post-card {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: var(--shadow-sm) !important;
  cursor: pointer !important;
  transition: .22s ease !important;
}
.secondary-news-card:hover,
.category-post-card:hover { transform: translateY(-3px) !important; box-shadow: var(--shadow-md) !important; }
.secondary-news-card img,
.category-post-card img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
  background: #dfe7f2 !important;
}
.secondary-news-card div,
.category-post-card div { padding: 16px !important; }
.secondary-news-card h3,
.category-post-card h3 {
  margin: 8px 0 !important;
  color: var(--ink) !important;
  font-size: 1.12rem !important;
  line-height: 1.24 !important;
  letter-spacing: -0.03em !important;
}
.secondary-news-card small,
.category-post-card small { color: var(--muted) !important; font-weight: 800 !important; }
.comment-form-modern {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: minmax(220px, .35fr) minmax(280px, 1fr) auto !important;
  align-items: stretch !important;
}
.comment-form-modern input,
.comment-form-modern textarea,
.category-search-card input {
  width: 100% !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--ink) !important;
  padding: 13px 14px !important;
  outline: none !important;
}
.comment-form-modern textarea { min-height: 50px !important; resize: vertical !important; }
.comments-list-modern { display: grid !important; gap: 12px !important; margin-top: 18px !important; }
.comment-item-modern {
  padding: 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
}
.comment-item-modern strong { color: var(--ink) !important; display: block !important; }
.comment-item-modern small { color: var(--muted) !important; }
.comment-item-modern p { color: #334155 !important; margin: 8px 0 0 !important; }
.category-page-hero { align-items: center !important; }
.category-search-card {
  width: min(360px, 100%) !important;
  padding: 16px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.08) !important;
}
.category-search-card label {
  display: block !important;
  margin-bottom: 8px !important;
  color: rgba(255,255,255,.82) !important;
  font-weight: 900 !important;
  font-size: .82rem !important;
}
.category-toolbar-modern {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
}
.category-toolbar-modern strong { color: var(--ink) !important; }
.category-grid-portal {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.category-post-card.lead-card {
  grid-column: span 2 !important;
  grid-row: span 2 !important;
}
.category-post-card.lead-card h3 { font-size: clamp(1.7rem, 3vw, 2.65rem) !important; line-height: 1.02 !important; }
.category-post-card.lead-card p { display: block !important; color: #475569 !important; font-size: 1rem !important; line-height: 1.5 !important; }
.category-post-card p { display: none !important; }
.schedule-page-hero { min-height: 270px !important; }
.schedule-main-modern { margin-top: 0 !important; }
.day-tabs-modern {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-bottom: 20px !important;
  padding: 10px !important;
  border-radius: 18px !important;
  background: #f8fafc !important;
  border: 1px solid var(--line) !important;
}
.day-tab {
  min-height: 42px !important;
  padding: 0 15px !important;
  border: 1px solid #dbe3ef !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--ink) !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}
.day-tab.active {
  background: var(--brand-red) !important;
  color: #fff !important;
  border-color: var(--brand-red) !important;
  box-shadow: 0 12px 24px rgba(227,6,19,.16) !important;
}
.program-list-modern { display: grid !important; gap: 14px !important; }
.program-row-modern {
  display: grid !important;
  grid-template-columns: 110px 1fr 62px !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 18px !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(16,24,40,.04) !important;
}
.program-row-modern.active {
  border-color: rgba(227,6,19,.35) !important;
  background: linear-gradient(90deg, rgba(227,6,19,.08), #fff 42%) !important;
  box-shadow: 0 16px 34px rgba(227,6,19,.12) !important;
}
.program-time {
  display: grid !important;
  gap: 2px !important;
  padding: 12px !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
  text-align: center !important;
}
.program-time strong { color: var(--brand-red) !important; font-size: 1.45rem !important; line-height: 1 !important; }
.program-time span { color: var(--muted) !important; font-weight: 850 !important; font-size: .82rem !important; }
.program-info span {
  display: inline-block !important;
  margin-bottom: 6px !important;
  color: var(--brand-red) !important;
  font-size: .76rem !important;
  font-weight: 950 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}
.program-info h3 { margin: 0 0 4px !important; color: var(--ink) !important; font-size: 1.32rem !important; line-height: 1.15 !important; }
.program-info p { margin: 0 !important; color: var(--muted) !important; font-weight: 750 !important; }
.program-avatar {
  width: 56px !important;
  height: 56px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, var(--brand-blue-2), var(--brand-red)) !important;
  color: #fff !important;
  font-weight: 950 !important;
  font-size: 1.2rem !important;
}
.on-air-box small { display: block !important; margin: 8px 0 16px !important; color: var(--brand-red) !important; font-weight: 950 !important; }
.secondary-player { z-index: 9999 !important; }
@media (max-width: 1180px) {
  .secondary-brand-row { grid-template-columns: 1fr !important; }
  .detail-grid-modern,
  .schedule-layout-modern { grid-template-columns: 1fr !important; }
  .article-sidebar-modern,
  .schedule-sidebar-modern { position: static !important; }
  .related-grid-modern,
  .category-grid-portal { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .category-post-card.lead-card { grid-column: span 2 !important; }
}
@media (max-width: 760px) {
  body.secondary-body { padding-bottom: 132px !important; }
  .secondary-page-hero { display: block !important; min-height: auto !important; }
  .secondary-page-hero .btn,
  .category-search-card { margin-top: 18px !important; width: 100% !important; }
  .related-grid-modern,
  .category-grid-portal,
  .comment-form-modern { grid-template-columns: 1fr !important; }
  .category-post-card.lead-card { grid-column: auto !important; grid-row: auto !important; }
  .program-row-modern { grid-template-columns: 1fr !important; text-align: left !important; }
  .program-avatar { display: none !important; }
}

/* ===== Hero slider de notícias + painel lateral compacto ===== */
.hero.portal-hero.massa-hero.hero-split {
  grid-template-columns: minmax(0, 2.25fr) minmax(330px, 1fr) !important;
  min-height: 560px !important;
  align-items: stretch !important;
}
.hero-slider-shell {
  position: relative !important;
  min-height: 560px !important;
  overflow: hidden !important;
  background: #0b1220 !important;
}
.hero-slider {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
}
.hero-slide {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 40px 34px 86px !important;
  background: var(--slide-bg) center/cover no-repeat !important;
  opacity: 0 !important;
  transform: scale(1.03) !important;
  pointer-events: none !important;
  transition: opacity .45s ease, transform 1s ease !important;
  cursor: pointer !important;
}
.hero-slide.active {
  opacity: 1 !important;
  transform: scale(1) !important;
  pointer-events: auto !important;
}
.hero-slide-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(5, 12, 23, .08) 0%, rgba(5, 12, 23, .35) 34%, rgba(5, 12, 23, .88) 100%) !important;
}
.hero-slide-content {
  position: relative !important;
  z-index: 1 !important;
  max-width: 80% !important;
}
.hero-slide-topline {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}
.hero-slide-kicker {
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: var(--brand-red) !important;
  color: #fff !important;
}
.hero-slide-counter {
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
}
.hero-slide h2 {
  margin: 0 0 12px !important;
  color: #fff !important;
  font-size: clamp(2.4rem, 5vw, 5rem) !important;
  line-height: .96 !important;
  letter-spacing: -.08em !important;
  text-shadow: 0 10px 35px rgba(0,0,0,.35) !important;
}
.hero-slide p {
  margin: 0 !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 1.03rem !important;
  line-height: 1.55 !important;
  max-width: 760px !important;
}
.hero-slide-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-top: 18px !important;
}
.hero-slide-footer small,
.hero-slide-link {
  color: #fff !important;
  font-weight: 800 !important;
}
.hero-slide-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
}
.hero-slider-controls {
  position: absolute !important;
  left: 26px !important;
  right: 26px !important;
  bottom: 22px !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.hero-dots {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex: 1 !important;
}
.hero-dot,
.hero-nav-btn {
  border: 0 !important;
  cursor: pointer !important;
}
.hero-dot {
  width: 12px !important;
  height: 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.35) !important;
}
.hero-dot.active {
  width: 30px !important;
  background: var(--brand-red) !important;
}
.hero-nav-btn {
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
}
.hero-nav-btn:hover { background: rgba(255,255,255,.24) !important; }
.hero-card.visual-radio.hero-info-panel {
  min-height: 560px !important;
  padding: 26px !important;
  justify-content: flex-start !important;
}
.hero-info-panel::before { display: none !important; }
.hero-info-box.compact {
  padding: 15px 16px !important;
}
.hero-side-stack {
  min-height: 100% !important;
}
.hero-side-actions {
  margin-top: auto !important;
}
.hero-side-actions .btn {
  min-height: 48px !important;
}
@media (max-width: 1180px) {
  .hero.portal-hero.massa-hero.hero-split {
    grid-template-columns: 1fr !important;
  }
  .hero-card.visual-radio.hero-info-panel,
  .hero-slider-shell {
    min-height: 460px !important;
  }
}
@media (max-width: 760px) {
  .hero-slider-shell,
  .hero-card.visual-radio.hero-info-panel {
    min-height: auto !important;
  }
  .hero-slide {
    min-height: 430px !important;
    padding: 24px 18px 76px !important;
  }
  .hero-slide-content {
    max-width: 100% !important;
  }
  .hero-slide h2 {
    font-size: clamp(2rem, 9vw, 3.4rem) !important;
  }
  .hero-slide-footer {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* ===== Upgrade visual premium: Messenger + Player ===== */
@keyframes playerOrbFloat {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(0,-8px,0) scale(1.05); }
}
@keyframes stagePulse {
  0%,100% { opacity: .35; transform: scaleX(.92); }
  50% { opacity: .9; transform: scaleX(1.04); }
}
@keyframes badgeBlink {
  0%,100% { box-shadow: 0 0 0 0 rgba(227,6,19,.0); }
  50% { box-shadow: 0 0 0 10px rgba(227,6,19,.10); }
}
@keyframes messageGlow {
  0%,100% { box-shadow: 0 10px 25px rgba(15,23,42,.08); }
  50% { box-shadow: 0 16px 30px rgba(11,101,216,.10); }
}
@keyframes floatBounce {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
.player-floating {
  overflow: hidden !important;
  padding: 0 !important;
  background: linear-gradient(135deg, rgba(7, 18, 35, .96), rgba(11, 31, 61, .94) 55%, rgba(25, 13, 40, .92)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  backdrop-filter: blur(18px) !important;
}
.player-glass-orb {
  position: absolute !important;
  border-radius: 999px !important;
  filter: blur(18px) !important;
  pointer-events: none !important;
  opacity: .65 !important;
  animation: playerOrbFloat 7s ease-in-out infinite !important;
}
.player-glass-orb.orb-left {
  width: 120px !important;
  height: 120px !important;
  left: -28px !important;
  top: -24px !important;
  background: radial-gradient(circle, rgba(30,165,255,.55) 0%, rgba(30,165,255,.04) 72%) !important;
}
.player-glass-orb.orb-right {
  width: 160px !important;
  height: 160px !important;
  right: -48px !important;
  bottom: -50px !important;
  background: radial-gradient(circle, rgba(227,6,19,.38) 0%, rgba(227,6,19,.03) 70%) !important;
  animation-delay: -2.5s !important;
}
.player-stage-lights {
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  gap: 18px !important;
  padding-top: 8px !important;
  pointer-events: none !important;
}
.player-stage-lights span {
  width: 90px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.8), rgba(255,255,255,0)) !important;
  opacity: .34 !important;
  animation: stagePulse 3.6s ease-in-out infinite !important;
}
.player-stage-lights span:nth-child(2) { animation-delay: -.9s !important; }
.player-stage-lights span:nth-child(3) { animation-delay: -1.8s !important; }
.premium-player-content {
  position: relative !important;
  z-index: 1 !important;
  padding: 18px 22px !important;
}
.host-avatar-wrap {
  position: relative !important;
}
.avatar-ring {
  position: absolute !important;
  inset: -6px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 0 0 6px rgba(255,255,255,.03), 0 0 25px rgba(30,165,255,.12) !important;
}
.host-initials {
  background: linear-gradient(135deg, #1ea5ff, #005fbd 58%, #ef233c) !important;
  box-shadow: 0 14px 28px rgba(0, 95, 189, .28) !important;
}
.badge-live {
  animation: badgeBlink 2.2s ease-in-out infinite !important;
}
.program-details strong {
  font-size: 1.08rem !important;
  line-height: 1.15 !important;
}
.program-details small {
  color: rgba(255,255,255,.74) !important;
}
.player-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 8px !important;
}
.player-tags span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #dfe9f9 !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
}
.player-visualizer.premium-visualizer {
  gap: 6px !important;
}
.player-visualizer.premium-visualizer span {
  width: 5px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #72d6ff, #1ea5ff 45%, #ef233c) !important;
  opacity: .82 !important;
  transform-origin: bottom center !important;
}
.volume-container {
  min-height: 42px !important;
  padding: 0 12px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.volume-container input[type="range"] {
  accent-color: #1ea5ff !important;
}
.volume-readout {
  color: #fff !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  min-width: 42px !important;
  text-align: right !important;
}
.main-play-btn {
  position: relative !important;
  width: 66px !important;
  height: 66px !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 32px rgba(227,6,19,.28), inset 0 1px 1px rgba(255,255,255,.25) !important;
}
.main-play-btn::before {
  content: '' !important;
  position: absolute !important;
  inset: -8px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  opacity: .55 !important;
}
.player-close {
  top: 16px !important;
  right: 16px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}
.player-floating.playing .player-glow-bar {
  box-shadow: 0 0 16px rgba(227,6,19,.75), 0 0 36px rgba(30,165,255,.3) !important;
}
.player-floating.buffering .main-play-btn {
  animation: floatBounce 1s ease-in-out infinite !important;
}
.player-floating.playing .avatar-ring {
  box-shadow: 0 0 0 8px rgba(255,255,255,.04), 0 0 26px rgba(30,165,255,.18), 0 0 40px rgba(227,6,19,.18) !important;
}
.player-floating.playing .player-visualizer.premium-visualizer span:nth-child(1) { animation-duration: .9s !important; }
.player-floating.playing .player-visualizer.premium-visualizer span:nth-child(2) { animation-duration: 1.1s !important; }
.player-floating.playing .player-visualizer.premium-visualizer span:nth-child(3) { animation-duration: .8s !important; }
.player-floating.playing .player-visualizer.premium-visualizer span:nth-child(4) { animation-duration: 1.25s !important; }
.player-floating.playing .player-visualizer.premium-visualizer span:nth-child(5) { animation-duration: .75s !important; }
.player-floating.playing .player-visualizer.premium-visualizer span:nth-child(6) { animation-duration: 1s !important; }
.player-floating.playing .player-visualizer.premium-visualizer span:nth-child(7) { animation-duration: .95s !important; }
.chat-floating {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 13px 16px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #0a8f79, #10a37f 62%, #0b65d8) !important;
  box-shadow: 0 20px 45px rgba(12, 128, 102, .28), inset 0 1px 1px rgba(255,255,255,.2) !important;
  animation: floatBounce 3s ease-in-out infinite !important;
}
.chat-float-icon {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.16) !important;
  font-size: 1.05rem !important;
}
.chat-float-text {
  font-weight: 900 !important;
}
.chat-float-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 8px !important;
  min-height: 24px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .05em !important;
}
.chat-drawer {
  border-left: 0 !important;
  overflow: hidden !important;
}
.chat-drawer::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 100% !important;
  height: 5px !important;
  background: linear-gradient(90deg, #0b65d8, #1ea5ff, #ef233c) !important;
}
.chat-drawer-head {
  position: relative !important;
  padding: 18px 18px 16px !important;
  box-shadow: 0 10px 25px rgba(0,0,0,.15) !important;
}
.chat-brand-head img {
  box-shadow: 0 12px 26px rgba(15,23,42,.18) !important;
}
.chat-drawer-head strong {
  font-size: 1.08rem !important;
}
.chat-drawer-head span {
  color: rgba(255,255,255,.8) !important;
}
.chat-messages {
  padding: 20px 18px !important;
}
.chat-msg {
  animation: messageGlow 4s ease-in-out infinite !important;
}
.chat-msg:nth-child(even) {
  margin-left: auto !important;
  background: linear-gradient(180deg, #d9fdd3, #d0f5ca) !important;
  border-radius: 14px 0 14px 14px !important;
}
.chat-msg:nth-child(even)::before {
  left: auto !important;
  right: -7px !important;
  border-top-color: #d3f8cd !important;
  border-left: 0 !important;
  border-right: 8px solid transparent !important;
}
.chat-form {
  display: grid !important;
  gap: 12px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.82), #f7f7f7) !important;
}
.chat-form-caption {
  color: #64748b !important;
  font-size: .84rem !important;
  line-height: 1.45 !important;
}
.chat-quick-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.chat-quick-actions button {
  border: 1px solid #d7deeb !important;
  background: #fff !important;
  color: #1e293b !important;
  border-radius: 999px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: .2s ease !important;
}
.chat-quick-actions button:hover {
  background: #eef5ff !important;
  border-color: #b9d5ff !important;
  color: #0b65d8 !important;
}
.chat-form input,
.chat-form textarea {
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
.chat-form input:focus,
.chat-form textarea:focus {
  outline: none !important;
  border-color: #93c5fd !important;
  box-shadow: 0 0 0 4px rgba(59,130,246,.12) !important;
  transform: translateY(-1px) !important;
}
.emoji-row button:hover {
  transform: translateY(-2px) scale(1.05) !important;
}
.chat-form button[type="submit"] {
  min-height: 50px !important;
  border-radius: 16px !important;
  letter-spacing: .02em !important;
}
@media (max-width: 760px) {
  .premium-player-content {
    padding: 16px 14px !important;
  }
  .player-info {
    min-width: 0 !important;
  }
  .player-tags,
  .volume-readout,
  .player-stage-lights,
  .player-glass-orb {
    display: none !important;
  }
  .chat-floating {
    gap: 8px !important;
    padding: 12px 14px !important;
  }
  .chat-float-text {
    display: none !important;
  }
}

/* ===== Publicidades dinâmicas ===== */
.massa-ad.has-ad {
  padding: 0 !important;
  border-style: solid !important;
  overflow: hidden !important;
  background: #fff !important;
}
.massa-ad.has-ad a,
.massa-ad.has-ad img {
  display: block !important;
  width: 100% !important;
}
.massa-ad.has-ad img {
  height: auto !important;
  max-height: 150px !important;
  object-fit: cover !important;
}
.detail-bottom-ad {
  width: var(--container) !important;
  margin: 18px auto !important;
  min-height: 150px !important;
  display: grid !important;
  place-items: center !important;
}
.detail-bottom-ad img,
.ad-side-card img {
  width: 100% !important;
  border-radius: 16px !important;
  object-fit: cover !important;
}
.detail-bottom-ad img { max-height: 220px !important; }
.ad-side-card.has-ad {
  padding: 14px !important;
}

/* ===== Loterias com cores oficiais por modalidade ===== */
.lottery-service {
  overflow: hidden !important;
}
.lottery-grid {
  gap: 16px !important;
}
.lottery-card {
  --lottery-main: #0b65d8;
  --lottery-dark: #08458f;
  --lottery-soft: rgba(11,101,216,.10);
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.08) !important;
}
.lottery-card-head {
  padding: 13px 16px 12px !important;
  background: linear-gradient(135deg, var(--lottery-main), var(--lottery-dark)) !important;
  color: #fff !important;
  text-align: center !important;
}
.lottery-card-head strong {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  color: #fff !important;
  font-size: clamp(1rem, 1.6vw, 1.35rem) !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}
.lottery-card-head small {
  display: block !important;
  margin-top: 8px !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.lottery-symbol {
  width: 24px !important;
  height: 24px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.24) !important;
  color: #fff !important;
  line-height: 1 !important;
}
.lottery-card-body {
  padding: 16px !important;
  text-align: center !important;
}
.lottery-card .lottery-balls {
  justify-content: center !important;
  margin: 0 0 12px !important;
  gap: 8px !important;
}
.lottery-card .lottery-balls span {
  width: 36px !important;
  height: 36px !important;
  background: var(--lottery-main) !important;
  color: #fff !important;
  font-size: 13px !important;
  box-shadow: 0 7px 14px color-mix(in srgb, var(--lottery-main), transparent 72%) !important;
}
.lottery-card p {
  margin: 8px 0 0 !important;
  color: var(--lottery-main) !important;
  font-size: .83rem !important;
  line-height: 1.35 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.lottery-card .lottery-prize {
  margin-top: 9px !important;
  color: #0f172a !important;
  font-size: 12px !important;
}
.lottery-card .lottery-next {
  color: var(--lottery-dark) !important;
}
.lottery-card .lottery-balls em {
  background: var(--lottery-soft) !important;
  color: var(--lottery-dark) !important;
}
.lottery-mega-sena { --lottery-main:#209869; --lottery-dark:#137248; --lottery-soft:rgba(32,152,105,.12); }
.lottery-quina { --lottery-main:#28268b; --lottery-dark:#1d176e; --lottery-soft:rgba(40,38,139,.12); }
.lottery-lotofacil { --lottery-main:#a7199b; --lottery-dark:#86117d; --lottery-soft:rgba(167,25,155,.12); }
.lottery-lotomania { --lottery-main:#f78100; --lottery-dark:#df5d00; --lottery-soft:rgba(247,129,0,.12); }
.lottery-dupla-sena { --lottery-main:#a61324; --lottery-dark:#83101d; --lottery-soft:rgba(166,19,36,.12); }
.lottery-timemania { --lottery-main:#00a857; --lottery-dark:#008042; --lottery-soft:rgba(0,168,87,.12); }
.lottery-dia-de-sorte { --lottery-main:#cb852b; --lottery-dark:#9d641e; --lottery-soft:rgba(203,133,43,.12); }
.lottery-federal { --lottery-main:#10378f; --lottery-dark:#082665; --lottery-soft:rgba(16,55,143,.12); }
.lottery-loteca { --lottery-main:#f3b300; --lottery-dark:#d08a00; --lottery-soft:rgba(243,179,0,.16); }
.lottery-super-sete { --lottery-main:#a7ce39; --lottery-dark:#719b1d; --lottery-soft:rgba(167,206,57,.16); }
@media (max-width: 760px) {
  .lottery-card .lottery-balls span { width: 32px !important; height: 32px !important; }
}

/* ===== V2 Premium: redes sociais, locutores e loterias ===== */
.social-section {
  width: var(--container) !important;
  margin: 0 auto !important;
}
.social-posts-grid {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr 1fr !important;
  gap: 18px !important;
}
.social-post-card {
  overflow: hidden !important;
  border-radius: 22px !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}
.social-post-card:hover { transform: translateY(-3px) !important; box-shadow: var(--shadow-md) !important; }
.social-post-card.featured-social { grid-row: span 2 !important; }
.social-post-image { position: relative !important; overflow: hidden !important; background: #0f172a !important; }
.social-post-image img { width: 100% !important; aspect-ratio: 16 / 10 !important; object-fit: cover !important; display: block !important; }
.featured-social .social-post-image img { aspect-ratio: 16 / 13 !important; }
.social-post-image span {
  position: absolute !important; left: 14px !important; bottom: 14px !important;
  display: inline-flex !important; align-items: center !important; gap: 7px !important;
  padding: 8px 12px !important; border-radius: 999px !important;
  background: rgba(2,6,23,.78) !important; color: #fff !important; font-weight: 900 !important; font-size: .78rem !important;
}
.social-post-body { padding: 18px !important; }
.social-post-body small { color: var(--muted) !important; font-weight: 800 !important; }
.social-post-body h3 { margin: 7px 0 8px !important; color: var(--ink) !important; line-height: 1.12 !important; letter-spacing: -.035em !important; }
.social-post-body p { color: var(--text) !important; line-height: 1.5 !important; }
.social-post-body blockquote {
  margin: 12px 0 !important; padding: 12px !important; border-left: 4px solid var(--brand-red) !important;
  background: #f8fafc !important; border-radius: 12px !important; color: var(--ink) !important;
}
.social-post-body blockquote span { display: block !important; margin-top: 4px !important; color: var(--muted) !important; font-size: .78rem !important; }
.social-post-body a { color: var(--brand-red) !important; font-weight: 950 !important; text-decoration: none !important; }
.locutores-grid-page, .loterias-page-grid {
  width: var(--container) !important; margin: 24px auto !important; display: grid !important; gap: 18px !important;
}
.locutores-grid-page { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
.locutor-page-card {
  background: #fff !important; border: 1px solid var(--line) !important; border-radius: 24px !important; overflow: hidden !important; box-shadow: var(--shadow-sm) !important;
}
.locutor-page-card img { width: 100% !important; aspect-ratio: 1 / 1 !important; object-fit: cover !important; }
.locutor-page-card div { padding: 18px !important; }
.locutor-page-card h3 { margin: 0 0 6px !important; color: var(--ink) !important; font-size: 1.45rem !important; }
.locutor-page-card strong { color: var(--brand-red) !important; }
.locutor-page-card p, .locutor-page-card small { color: var(--muted) !important; line-height: 1.5 !important; }
.loterias-page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.loterias-page-grid .lottery-card { min-height: 230px !important; }
@media (max-width: 980px) {
  .social-posts-grid, .locutores-grid-page, .loterias-page-grid { grid-template-columns: 1fr !important; }
  .social-post-card.featured-social { grid-row: auto !important; }
}


/* ===== Correções páginas públicas: loterias, redes sociais, agenda e promoções ===== */
.lottery-page-hero,
.agenda-public-body .secondary-page-hero,
.promo-public-body .secondary-page-hero,
.social-public-body .secondary-page-hero {
  background: linear-gradient(135deg, #07172c, #0b2d55 62%, #0f172a) !important;
  color: #fff !important;
}
.lottery-filter-row {
  width: var(--container) !important;
  margin: 22px auto 0 !important;
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  padding-bottom: 4px !important;
}
.lottery-filter-row button {
  border: 1px solid #dbe3ef !important;
  background: #fff !important;
  color: #0f172a !important;
  border-radius: 999px !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.06) !important;
}
.lottery-filter-row button.active {
  background: var(--brand-red) !important;
  border-color: var(--brand-red) !important;
  color: #fff !important;
}
.lottery-results-page {
  gap: 22px !important;
  align-items: stretch !important;
}
.lottery-result-card {
  --lottery-main:#0b65d8;
  --lottery-dark:#083b7d;
  overflow: hidden !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 18px 38px rgba(15,23,42,.09) !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 265px !important;
}
.lottery-result-card header {
  padding: 16px 18px 14px !important;
  text-align: center !important;
  background: linear-gradient(135deg, var(--lottery-main), var(--lottery-dark)) !important;
  color: #fff !important;
}
.lottery-result-card header strong {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  color: #fff !important;
  font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
  line-height: 1 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.lottery-result-card header small {
  display: block !important;
  margin-top: 10px !important;
  color: rgba(255,255,255,.92) !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.lottery-result-card .lottery-result-body {
  flex: 1 !important;
  padding: 22px 18px !important;
  text-align: center !important;
}
.lottery-result-card .lottery-balls {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
}
.lottery-result-card .lottery-balls span {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: var(--lottery-main) !important;
  color: #fff !important;
  font-weight: 950 !important;
  box-shadow: 0 10px 18px rgba(15,23,42,.12) !important;
}
.lottery-result-card h3 {
  margin: 0 !important;
  color: var(--lottery-main) !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.lottery-result-card p { color: var(--lottery-dark) !important; font-weight: 850 !important; }
.lottery-result-card footer {
  padding: 12px 16px !important;
  text-align: center !important;
  background: linear-gradient(135deg, var(--lottery-main), var(--lottery-dark)) !important;
}
.lottery-result-card footer a { color: #fff !important; font-weight: 950 !important; text-transform: uppercase !important; letter-spacing: .04em !important; }
.lottery-result-card.lottery-mega-sena { --lottery-main:#209869; --lottery-dark:#137248; }
.lottery-result-card.lottery-quina { --lottery-main:#28268b; --lottery-dark:#1d176e; }
.lottery-result-card.lottery-lotofacil { --lottery-main:#a7199b; --lottery-dark:#86117d; }
.lottery-result-card.lottery-lotomania { --lottery-main:#f78100; --lottery-dark:#df5d00; }
.lottery-result-card.lottery-dupla-sena { --lottery-main:#a61324; --lottery-dark:#83101d; }
.lottery-result-card.lottery-timemania { --lottery-main:#00a857; --lottery-dark:#008042; }
.lottery-result-card.lottery-dia-de-sorte { --lottery-main:#cb852b; --lottery-dark:#9d641e; }
.lottery-result-card.lottery-federal { --lottery-main:#10378f; --lottery-dark:#082665; }
.lottery-result-card.lottery-loteca { --lottery-main:#f3b300; --lottery-dark:#d08a00; }
.lottery-result-card.lottery-super-sete { --lottery-main:#a7ce39; --lottery-dark:#719b1d; }
.social-page-grid,
.public-event-grid,
.public-promo-grid {
  width: var(--container) !important;
  margin: 24px auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 20px !important;
}
.social-page-grid .social-post-card:first-child { grid-column: span 2 !important; }
.public-event-card,
.public-promo-card {
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: .22s ease !important;
}
.public-event-card:hover,
.public-promo-card:hover { transform: translateY(-3px) !important; box-shadow: var(--shadow-md) !important; }
.public-event-card img,
.public-promo-card img { width: 100% !important; aspect-ratio: 16/9 !important; object-fit: cover !important; display: block !important; }
.public-event-card div,
.public-promo-card div { padding: 18px !important; }
.public-event-card h3,
.public-promo-card h3 { margin: 10px 0 8px !important; color: var(--ink) !important; font-size: 1.45rem !important; line-height: 1.08 !important; letter-spacing: -.04em !important; }
.public-event-card p,
.public-promo-card p { color: var(--text) !important; line-height: 1.55 !important; }
.public-event-card small,
.public-promo-card small { display: block !important; margin: 10px 0 !important; color: var(--muted) !important; font-weight: 850 !important; }
.public-event-card a,
.public-promo-card a { color: var(--brand-red) !important; font-weight: 950 !important; text-decoration: none !important; }
.public-promo-card strong { display: block !important; color: var(--brand-red) !important; margin: 10px 0 !important; }
@media (max-width: 980px) {
  .social-page-grid,
  .public-event-grid,
  .public-promo-grid,
  .loterias-page-grid { grid-template-columns: 1fr !important; }
  .social-page-grid .social-post-card:first-child { grid-column: auto !important; }
  .lottery-result-card .lottery-balls span { width: 38px !important; height: 38px !important; }
}


/* ===== Correção Ao Vivo: fallback/vídeo sempre dentro da seção, sem cobrir o topo do site ===== */
.live-section {
  position: relative !important;
  z-index: 1 !important;
  background: #eef2f7 !important;
}
.live-section .section-head,
.live-status-row,
.live-grid.live-half {
  position: relative !important;
  z-index: 2 !important;
}
.live-video {
  position: relative !important;
  min-height: 420px !important;
}
.live-video iframe {
  width: 100% !important;
  min-height: 420px !important;
  display: block !important;
  background: #000 !important;
}
.live-video iframe.hidden {
  display: none !important;
}
.live-fallback {
  position: absolute !important;
  inset: 0 !important;
  min-height: 420px !important;
  display: grid !important;
  place-content: center !important;
  text-align: center !important;
  padding: 30px !important;
  background: #fff !important;
  color: var(--ink, #0f172a) !important;
}
.live-fallback.hidden {
  display: none !important;
}
.channel-videos:empty,
#channelVideosGrid:empty::before {
  content: 'Nenhuma transmissão extra cadastrada.';
  display: block;
  padding: 16px;
  color: var(--muted, #667085);
  border: 1px dashed var(--line, #d0d5dd);
  border-radius: 14px;
  background: #f8fafc;
}

/* ===== Instagram público por URL ===== */
.social-profile-shell {
  width: var(--container) !important;
  margin: 22px auto 0 !important;
}
.instagram-profile-card {
  display: grid !important;
  grid-template-columns: 76px 1fr auto !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 22px !important;
  border-radius: 24px !important;
  border: 1px solid var(--line) !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(227,6,19,.08), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(0,95,189,.10), transparent 32%),
    #fff !important;
  box-shadow: var(--shadow-sm) !important;
}
.instagram-profile-icon {
  width: 76px !important;
  height: 76px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #833ab4, #fd1d1d 55%, #fcb045) !important;
  color: #fff !important;
  font-size: 2rem !important;
  box-shadow: 0 18px 32px rgba(131,58,180,.20) !important;
}
.instagram-profile-card span {
  color: var(--brand-red) !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.instagram-profile-card h2 {
  margin: 5px 0 !important;
  color: var(--ink) !important;
  font-size: clamp(1.7rem, 3vw, 2.8rem) !important;
  letter-spacing: -.055em !important;
}
.instagram-profile-card p,
.instagram-profile-card small {
  color: var(--muted) !important;
  line-height: 1.55 !important;
}
.instagram-profile-card small {
  display: block !important;
  margin-top: 8px !important;
}
.social-empty-state {
  grid-column: 1 / -1 !important;
}
.social-empty-state .btn {
  margin-top: 14px !important;
}
@media (max-width: 760px) {
  .instagram-profile-card {
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }
  .instagram-profile-card .btn {
    width: 100% !important;
  }
}

/* ===== Ajuste V3: cards auto-adaptáveis e menos espaço vazio ===== */
/* A ideia aqui é evitar que o grid estique os cards para a altura do maior card da linha. */
.portal-news-grid,
.portal-news-grid.portal-news-top,
.featured-grid.portal-card-grid,
.category-grid,
.category-grid-portal,
.related-grid-modern,
.service-grid,
.portal-bottom-grid,
.lottery-grid,
.loterias-page-grid,
.social-posts-grid,
.locutores-grid-page,
.agenda-grid,
.promocoes-grid,
.events-grid,
.promo-list {
  align-items: start !important;
  grid-auto-rows: auto !important;
}

.service-grid {
  align-items: start !important;
}
.service-card,
.panel,
.category-section,
.latest-panel,
.live-video,
.channel-videos,
.schedule-main-modern,
.comments-card-modern,
.related-section-modern,
.category-grid-section {
  min-height: unset !important;
  height: auto !important;
  align-self: start !important;
}

.news-card,
.secondary-news-card,
.category-post-card,
.social-post-card,
.locutor-page-card,
.announcer-card,
.rank-item,
.lottery-card,
.program-row-modern,
.event-card,
.promo-card {
  min-height: unset !important;
  height: auto !important;
  align-self: start !important;
}

.news-card-body,
.secondary-news-card div,
.category-post-card div {
  flex: 0 0 auto !important;
}

.news-card img,
.secondary-news-card img,
.category-post-card img {
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
}

.news-card h3,
.secondary-news-card h3,
.category-post-card h3 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
}

.news-card-body,
.secondary-news-card div,
.category-post-card div,
.social-post-body {
  padding: 14px !important;
}

.card-meta-line {
  align-items: center !important;
}
.card-meta-line .tag,
.category-post-card .tag,
.secondary-news-card .tag {
  padding: 7px 10px !important;
  font-size: 10px !important;
}

/* Mais cards visíveis por linha quando houver espaço. */
.featured-grid.portal-card-grid,
.category-grid,
.related-grid-modern {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
}
.category-grid-portal {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
}
.category-post-card.lead-card {
  grid-column: span 2 !important;
  grid-row: auto !important;
}
.category-post-card.lead-card img {
  aspect-ratio: 16 / 8.8 !important;
}
.category-post-card.lead-card p {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Blocos de serviços não ficam mais “esticados” por causa da coluna de loterias. */
.radio-service,
.weather-service {
  padding-bottom: 22px !important;
}
.weather-box {
  margin-top: 14px !important;
}
.radio-now-box {
  margin: 18px 0 !important;
}
.portal-bottom-grid {
  align-items: start !important;
}
.announcers-grid {
  align-items: start !important;
}
.announcer-card {
  min-height: unset !important;
}

/* Loterias: remove altura fixa e deixa o card crescer só conforme dezenas/conteúdo. */
.loterias-page-grid .lottery-card,
.lottery-grid .lottery-card {
  min-height: unset !important;
}
.lottery-card-body {
  padding: 14px !important;
}
.lottery-card .lottery-balls {
  gap: 7px !important;
}
.lottery-card .lottery-balls span {
  width: 34px !important;
  height: 34px !important;
}
.lottery-card p {
  margin-top: 10px !important;
}

/* Painéis de audiência/equipe ficam compactos, sem grande área branca sobrando. */
#maisLidas.panel,
#locutores.panel {
  padding-bottom: 20px !important;
}
.rank-list,
.announcers-grid {
  margin-bottom: 0 !important;
}

@media (min-width: 1280px) {
  .featured-grid.portal-card-grid,
  .category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .category-grid-portal {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 980px) {
  .category-post-card.lead-card {
    grid-column: auto !important;
  }
  .category-post-card.lead-card img {
    aspect-ratio: 16 / 9 !important;
  }
}

/* ===== Nova primeira dobra: portal de notícias + rádio + últimas sem repetição ===== */
.top-news-section {
  width: var(--container) !important;
  margin: 20px auto 26px !important;
  padding: 0 !important;
}
.top-news-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 22px !important;
  margin-bottom: 18px !important;
}
.top-news-head h2 {
  margin: 4px 0 !important;
  color: var(--ink) !important;
  font-size: clamp(2rem, 3.4vw, 3.4rem) !important;
  line-height: 1 !important;
  letter-spacing: -.06em !important;
}
.top-news-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .86fr) minmax(300px, .72fr) !important;
  gap: 20px !important;
  align-items: start !important;
}
.portal-lead-news,
.portal-middle-card,
.portal-latest-box,
.radio-info-card {
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: var(--shadow-sm) !important;
  overflow: hidden !important;
}
.portal-lead-link,
.portal-middle-card,
.portal-latest-row {
  color: inherit !important;
  text-decoration: none !important;
}
.portal-lead-link {
  display: block !important;
}
.portal-lead-news img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
  background: #e9eef7 !important;
}
.portal-lead-body {
  padding: 22px 24px 24px !important;
}
.portal-card-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 12px !important;
}
.portal-card-meta .tag {
  margin: 0 !important;
}
.portal-card-meta small {
  color: var(--muted) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.portal-lead-body h1 {
  margin: 0 0 12px !important;
  color: var(--ink) !important;
  font-size: clamp(2rem, 3.4vw, 3.9rem) !important;
  line-height: .98 !important;
  letter-spacing: -.07em !important;
}
.portal-lead-body p {
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
.portal-center-column {
  display: grid !important;
  gap: 16px !important;
}
.portal-middle-news {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
.portal-middle-card {
  display: grid !important;
  align-content: start !important;
}
.portal-middle-card img {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
  background: #e9eef7 !important;
}
.portal-middle-card div {
  padding: 14px 15px 16px !important;
}
.portal-mini-category {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}
.portal-middle-card h3 {
  margin: 0 0 8px !important;
  color: var(--ink) !important;
  font-size: clamp(1.08rem, 1.4vw, 1.35rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
}
.portal-middle-card small {
  color: var(--muted) !important;
  font-weight: 750 !important;
  font-size: .78rem !important;
}
.portal-radio-cards {
  display: grid !important;
  gap: 10px !important;
}
.radio-info-card {
  padding: 15px 16px !important;
  background: linear-gradient(180deg, #fff, #f8fbff) !important;
}
.radio-info-card span {
  display: block !important;
  color: var(--brand-red) !important;
  text-transform: uppercase !important;
  font-size: .72rem !important;
  letter-spacing: .08em !important;
  font-weight: 950 !important;
  margin-bottom: 6px !important;
}
.radio-info-card strong {
  display: block !important;
  color: var(--ink) !important;
  font-size: 1.08rem !important;
  line-height: 1.25 !important;
}
.radio-info-card small,
.radio-info-card a {
  display: block !important;
  margin-top: 5px !important;
  color: var(--muted) !important;
  font-size: .88rem !important;
  line-height: 1.42 !important;
  font-weight: 650 !important;
}
.radio-info-card a {
  color: var(--brand-red) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
.frequency-card {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  background: linear-gradient(135deg, var(--brand-blue-2), #0c1d36) !important;
  color: #fff !important;
}
.frequency-card .radio-frequency {
  margin: 0 !important;
  color: #fff !important;
  font-size: 1.2rem !important;
  letter-spacing: .04em !important;
}
.mini-equalizer {
  display: flex !important;
  align-items: flex-end !important;
  gap: 5px !important;
  height: 32px !important;
}
.mini-equalizer i {
  width: 6px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #fff, #69cfff) !important;
}
.mini-equalizer i:nth-child(1) { height: 13px !important; }
.mini-equalizer i:nth-child(2) { height: 21px !important; }
.mini-equalizer i:nth-child(3) { height: 28px !important; }
.mini-equalizer i:nth-child(4) { height: 18px !important; }
.promo-mini-card {
  border-color: rgba(227,6,19,.22) !important;
  background: linear-gradient(180deg, #fff, #fff5f6) !important;
}
.portal-latest-box {
  padding: 20px 20px 14px !important;
}
.portal-latest-title {
  padding-bottom: 12px !important;
  margin-bottom: 4px !important;
  border-bottom: 3px solid var(--brand-red) !important;
}
.portal-latest-title span {
  display: block !important;
  color: #ff6600 !important;
  text-transform: uppercase !important;
  font-size: 1.05rem !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}
.portal-latest-title small {
  display: block !important;
  margin-top: 3px !important;
  color: var(--muted) !important;
  font-size: .78rem !important;
  font-weight: 750 !important;
}
.portal-latest-eight {
  display: grid !important;
}
.portal-latest-row {
  display: grid !important;
  grid-template-columns: 28px 1fr !important;
  gap: 9px !important;
  padding: 13px 0 !important;
  border-bottom: 1px dashed #cbd5e1 !important;
}
.portal-latest-row:last-child {
  border-bottom: 0 !important;
}
.portal-latest-row span {
  width: 22px !important;
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #ff6600 !important;
  color: #fff !important;
  font-size: .7rem !important;
  font-weight: 950 !important;
}
.portal-latest-row strong {
  color: var(--ink) !important;
  font-size: .96rem !important;
  line-height: 1.25 !important;
  letter-spacing: -.02em !important;
}
.portal-lead-news:hover,
.portal-middle-card:hover,
.portal-latest-row:hover {
  transform: translateY(-2px) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}
.portal-lead-news:hover,
.portal-middle-card:hover {
  box-shadow: var(--shadow-md) !important;
}
@media (max-width: 1180px) {
  .top-news-layout {
    grid-template-columns: 1fr 1fr !important;
  }
  .portal-latest-box {
    grid-column: 1 / -1 !important;
  }
  .portal-latest-eight {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 22px !important;
  }
}
@media (max-width: 760px) {
  .top-news-head {
    display: block !important;
  }
  .top-news-layout,
  .portal-middle-news,
  .portal-latest-eight {
    grid-template-columns: 1fr !important;
  }
  .top-news-head .searchbox {
    margin-top: 14px !important;
  }
  .portal-lead-body {
    padding: 18px !important;
  }
  .portal-card-meta {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* ===== Correção: trocar somente o hero e manter notícias debaixo ===== */
.top-news-section#heroSection {
  margin-bottom: 22px !important;
}
.top-news-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .92fr) minmax(310px, .74fr) !important;
}
.portal-middle-news {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.portal-middle-card.compact-middle-card {
  min-height: 0 !important;
  border-radius: 16px !important;
}
.portal-middle-card.compact-middle-card img {
  aspect-ratio: 16 / 9 !important;
}
.portal-middle-card.compact-middle-card div {
  padding: 10px 12px 13px !important;
}
.portal-middle-card.compact-middle-card h3 {
  margin: 0 !important;
  font-size: clamp(.94rem, 1.12vw, 1.08rem) !important;
  line-height: 1.18 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.portal-middle-card.compact-middle-card .portal-mini-category {
  margin-bottom: 5px !important;
  font-size: .68rem !important;
}
.portal-middle-card.compact-middle-card small {
  display: none !important;
}
.section.portal-layout#noticias {
  width: var(--container) !important;
  margin-inline: auto !important;
  padding-top: 18px !important;
}
.searchbox-secondary {
  display: none !important;
}
@media (max-width: 1180px) {
  .top-news-layout {
    grid-template-columns: 1fr 1fr !important;
  }
  .portal-latest-box {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 760px) {
  .top-news-layout,
  .portal-middle-news {
    grid-template-columns: 1fr !important;
  }
  .portal-middle-card.compact-middle-card img {
    aspect-ratio: 16 / 9 !important;
  }
}

/* Busca dedicada e cards sem repetição */
.search-page-hero .category-search-card {
  display: grid !important;
  gap: 10px !important;
}
.search-page-hero .category-search-card .btn {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 14px !important;
}
.search-results-grid .empty-state {
  grid-column: 1 / -1 !important;
}
.portal-latest-row,
.latest-item,
.news-card,
.category-section .news-card,
.category-post-card {
  scroll-margin-top: 120px !important;
}

/* ===== V3 Premium: Páginas completas, PWA, SEO, velocidade ===== */
.premium-page-shell { padding-top: 26px !important; }
.premium-page-hero {
  width: var(--container) !important;
  margin: 0 auto 22px !important;
  padding: clamp(26px, 4vw, 44px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  border: 1px solid var(--line) !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, #fff, #f8fbff) !important;
  box-shadow: var(--shadow-sm) !important;
}
.premium-page-hero h1 { margin: 4px 0 10px !important; color: var(--ink) !important; font-size: clamp(2.35rem, 5vw, 4.4rem) !important; line-height: .95 !important; letter-spacing: -.07em !important; }
.premium-page-hero p { max-width: 760px !important; margin: 0 !important; color: var(--muted) !important; font-size: 1.02rem !important; line-height: 1.55 !important; }
.premium-hero-actions { display: flex !important; gap: 10px !important; flex-wrap: wrap !important; justify-content: flex-end !important; }
.program-dashboard-grid { width: var(--container) !important; margin: 0 auto 18px !important; display: grid !important; grid-template-columns: 1.3fr .8fr .65fr !important; gap: 18px !important; align-items: stretch !important; }
.program-live-card, .program-next-card, .program-stats-card, .program-toolbar, .announcer-toolbar, .premium-announcer-card, .premium-program-card, .premium-lottery-card, .premium-announcer-profile, .profile-program-section {
  border: 1px solid var(--line) !important; border-radius: 22px !important; background: #fff !important; box-shadow: var(--shadow-sm) !important;
}
.program-live-card, .program-next-card, .program-stats-card { padding: 22px !important; }
.program-feature { display: grid !important; grid-template-columns: 112px 1fr !important; gap: 16px !important; align-items: center !important; }
.program-feature img { width: 112px !important; height: 112px !important; object-fit: cover !important; border-radius: 20px !important; }
.program-feature h2, .program-next-card h3 { margin: 4px 0 6px !important; color: var(--ink) !important; font-size: clamp(1.35rem, 2.5vw, 2.2rem) !important; line-height: 1.05 !important; letter-spacing: -.045em !important; }
.program-feature p, .program-next-card p { color: var(--text) !important; margin: 0 0 6px !important; }
.program-feature small, .program-next-card small { color: var(--muted) !important; font-weight: 850 !important; }
.program-stats-card strong { display: block !important; color: var(--brand-red) !important; font-size: 2.2rem !important; line-height: 1 !important; margin-top: 8px !important; }
.program-stats-card span { display: block !important; color: var(--muted) !important; font-weight: 800 !important; margin-bottom: 8px !important; }
.program-toolbar { width: var(--container) !important; margin: 0 auto 18px !important; padding: 16px !important; display: flex !important; gap: 14px !important; align-items: center !important; justify-content: space-between !important; }
.premium-day-tabs { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.premium-day-tabs .day-tab { display: grid !important; gap: 2px !important; padding: 10px 14px !important; border-radius: 16px !important; border: 1px solid var(--line) !important; background: #f8fafc !important; color: var(--ink) !important; cursor: pointer !important; font-weight: 900 !important; }
.premium-day-tabs .day-tab small { color: var(--muted) !important; font-size: .72rem !important; }
.premium-day-tabs .day-tab.active { background: var(--brand-red) !important; color: #fff !important; border-color: var(--brand-red) !important; }
.premium-day-tabs .day-tab.active small { color: rgba(255,255,255,.78) !important; }
.program-search input, .announcer-toolbar input { min-height: 46px !important; border-radius: 16px !important; border: 1px solid var(--line) !important; padding: 0 14px !important; background: #fff !important; color: var(--ink) !important; }
.premium-program-grid { width: var(--container) !important; margin: 0 auto 22px !important; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; align-items: start !important; }
.premium-program-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.premium-program-card { overflow: hidden !important; transition: transform .2s ease, box-shadow .2s ease !important; }
.premium-program-card:hover { transform: translateY(-3px) !important; box-shadow: var(--shadow-md) !important; }
.premium-program-card.active { border-color: rgba(227,6,19,.35) !important; box-shadow: 0 18px 38px rgba(227,6,19,.10) !important; }
.program-cover { position: relative !important; height: 170px !important; overflow: hidden !important; background: #e9eef7 !important; }
.program-cover img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.program-cover span { position: absolute !important; left: 12px !important; bottom: 12px !important; padding: 8px 11px !important; border-radius: 999px !important; background: var(--brand-red) !important; color: #fff !important; font-size: .75rem !important; font-weight: 950 !important; }
.program-card-body { padding: 16px !important; }
.program-card-body small { color: var(--brand-red) !important; font-weight: 950 !important; }
.program-card-body h3 { margin: 8px 0 6px !important; color: var(--ink) !important; font-size: 1.35rem !important; line-height: 1.1 !important; letter-spacing: -.04em !important; }
.program-card-body p, .program-desc { color: var(--muted) !important; line-height: 1.45 !important; }
.program-card-body a { display: inline-flex !important; margin-top: 12px !important; color: var(--brand-blue-2) !important; font-weight: 900 !important; text-decoration: none !important; }
.announcer-toolbar { width: var(--container) !important; margin: 0 auto 18px !important; padding: 16px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; }
.announcer-toolbar input { width: min(480px, 100%) !important; }
.announcer-toolbar span { color: var(--muted) !important; font-weight: 900 !important; }
.premium-announcer-grid { width: var(--container) !important; margin: 0 auto 24px !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
.premium-announcer-card { display: grid !important; grid-template-columns: 180px 1fr !important; gap: 0 !important; overflow: hidden !important; }
.announcer-photo { position: relative !important; min-height: 260px !important; background: linear-gradient(135deg, var(--brand-blue-2), #111827) !important; }
.announcer-photo img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.announcer-photo span { position: absolute !important; right: 14px !important; bottom: 14px !important; width: 52px !important; height: 52px !important; display: grid !important; place-items: center !important; border-radius: 18px !important; background: var(--brand-red) !important; color: #fff !important; font-weight: 950 !important; font-size: 1.4rem !important; }
.announcer-info { padding: 22px !important; }
.announcer-info h2 { color: var(--ink) !important; margin: 4px 0 6px !important; font-size: clamp(1.7rem, 3vw, 2.5rem) !important; letter-spacing: -.06em !important; }
.announcer-info strong { color: var(--brand-blue-2) !important; display: block !important; margin-bottom: 8px !important; }
.announcer-info p { color: var(--muted) !important; line-height: 1.5 !important; }
.announcer-times { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 14px 0 !important; }
.announcer-times small { padding: 7px 9px !important; border-radius: 999px !important; background: #f1f5f9 !important; color: var(--text) !important; font-weight: 800 !important; }
.premium-announcer-profile { width: var(--container) !important; margin: 26px auto 22px !important; overflow: hidden !important; }
.profile-cover { display: grid !important; grid-template-columns: 340px 1fr !important; min-height: 360px !important; }
.profile-cover img { width: 100% !important; height: 100% !important; object-fit: cover !important; background: #dfe6f1 !important; }
.profile-cover > div { padding: clamp(28px,4vw,54px) !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
.profile-cover h1 { margin: 4px 0 12px !important; color: var(--ink) !important; font-size: clamp(2.4rem,5vw,4.8rem) !important; line-height: .95 !important; letter-spacing: -.075em !important; }
.profile-cover p { color: var(--muted) !important; font-size: 1.05rem !important; line-height: 1.55 !important; max-width: 740px !important; }
.profile-program-section { width: var(--container) !important; margin: 0 auto 24px !important; padding: 24px !important; }
.premium-lottery-body { background: #eef2f7 !important; }
.lottery-hero-premium { background: linear-gradient(135deg, #081426, #0b2b5c) !important; color: #fff !important; }
.lottery-hero-premium h1, .lottery-hero-premium p { color: #fff !important; }
.lottery-summary-strip { width: var(--container) !important; margin: 0 auto 18px !important; display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 14px !important; }
.lottery-summary-strip article { border-radius: 20px !important; background: #fff !important; border: 1px solid var(--line) !important; padding: 18px !important; box-shadow: var(--shadow-sm) !important; }
.lottery-summary-strip strong { display: block !important; color: var(--brand-red) !important; font-size: 1.7rem !important; }
.lottery-summary-strip span { color: var(--muted) !important; font-weight: 850 !important; }
.premium-lottery-filters { width: var(--container) !important; margin: 0 auto 18px !important; display: flex !important; gap: 10px !important; flex-wrap: wrap !important; }
.premium-lottery-filters button { border: 1px solid var(--line) !important; border-radius: 999px !important; background: #fff !important; color: var(--ink) !important; padding: 11px 15px !important; font-weight: 950 !important; cursor: pointer !important; }
.premium-lottery-filters button.active { background: var(--brand-red) !important; color: #fff !important; border-color: var(--brand-red) !important; }
.premium-lottery-grid { width: var(--container) !important; margin: 0 auto 26px !important; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; align-items: start !important; }
.premium-lottery-card { overflow: hidden !important; }
.premium-lottery-card header { padding: 16px 18px !important; background: var(--lottery-color,#0f766e) !important; color: #fff !important; }
.premium-lottery-card header div { display: flex !important; align-items: center !important; gap: 10px !important; }
.premium-lottery-card header strong { font-size: 1.25rem !important; letter-spacing: .04em !important; text-transform: uppercase !important; }
.premium-lottery-card header span { width: 28px !important; height: 28px !important; display: grid !important; place-items: center !important; border-radius: 999px !important; background: rgba(255,255,255,.24) !important; }
.premium-lottery-card header small { display: block !important; margin-top: 6px !important; color: rgba(255,255,255,.84) !important; font-weight: 850 !important; }
.premium-lottery-balls { padding: 20px 18px 8px !important; display: flex !important; flex-wrap: wrap !important; gap: 10px !important; justify-content: center !important; }
.premium-lottery-balls b { width: 40px !important; height: 40px !important; display: grid !important; place-items: center !important; border-radius: 999px !important; background: var(--lottery-color,#0f766e) !important; color: #fff !important; box-shadow: 0 10px 20px color-mix(in srgb, var(--lottery-color,#0f766e) 35%, transparent) !important; }
.premium-lottery-card h3 { color: var(--lottery-color,#0f766e) !important; padding: 8px 18px 0 !important; text-align: center !important; text-transform: uppercase !important; font-size: 1rem !important; letter-spacing: .05em !important; }
.lottery-extra { padding: 0 18px 18px !important; text-align: center !important; color: var(--muted) !important; }
.lottery-mega-sena { --lottery-color: #1f9d55; }
.lottery-lotofacil { --lottery-color: #a019a5; }
.lottery-quina { --lottery-color: #282491; }
.lottery-lotomania { --lottery-color: #f57c00; }
.lottery-timemania { --lottery-color: #0a9f78; }
.lottery-dupla-sena { --lottery-color: #b21f3a; }
.lottery-dia-de-sorte { --lottery-color: #d9a100; }
.lottery-federal { --lottery-color: #164e63; }
.lottery-loteca { --lottery-color: #c2410c; }
.lottery-super-sete { --lottery-color: #64748b; }
.lottery-outros { --lottery-color: #0f766e; }
@media (max-width:1180px){ .program-dashboard-grid,.premium-lottery-grid{grid-template-columns:1fr 1fr!important}.premium-announcer-grid{grid-template-columns:1fr!important}.program-toolbar{display:block!important}.program-search{margin-top:12px!important}.premium-program-grid{grid-template-columns:1fr 1fr!important}.profile-cover{grid-template-columns:1fr!important}.profile-cover img{height:320px!important}}
@media (max-width:760px){ .premium-page-hero{display:block!important}.program-dashboard-grid,.premium-program-grid,.premium-program-grid.compact,.premium-lottery-grid,.lottery-summary-strip{grid-template-columns:1fr!important}.program-feature,.premium-announcer-card{grid-template-columns:1fr!important}.announcer-photo{height:260px!important}.premium-lottery-filters{overflow-x:auto!important;flex-wrap:nowrap!important}.premium-lottery-filters button{white-space:nowrap!important}.premium-page-hero .btn{margin-top:16px!important} }


/* ===== Publicidades abaixo de Rádio e Tempo ===== */
.service-ad {
  margin-top: 18px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  background: linear-gradient(135deg, #081426, #0b2c58) !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .10) !important;
}
.service-ad a {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
}
.service-ad img {
  width: 100% !important;
  aspect-ratio: 16 / 7.2 !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
}
.service-ad-placeholder {
  min-height: 172px !important;
  padding: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 88% 16%, rgba(30,165,255,.38), transparent 32%),
    linear-gradient(135deg, rgba(8,20,38,.96), rgba(11,44,88,.92));
  position: relative !important;
}
.service-ad-weather .service-ad-placeholder {
  background:
    radial-gradient(circle at 88% 16%, rgba(227,6,19,.26), transparent 30%),
    linear-gradient(135deg, rgba(8,20,38,.96), rgba(17,24,39,.94));
}
.service-ad-placeholder::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.06), transparent 38%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 14px);
  pointer-events: none !important;
}
.service-ad-placeholder span {
  position: relative !important;
  color: #9fd3ff !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
.service-ad-placeholder strong {
  position: relative !important;
  color: #fff !important;
  font-size: 1.35rem !important;
  line-height: 1.05 !important;
  letter-spacing: -.04em !important;
}
.service-ad-placeholder small {
  position: relative !important;
  color: rgba(255,255,255,.76) !important;
  margin-top: 7px !important;
  line-height: 1.35 !important;
}
.service-ad-placeholder em {
  position: relative !important;
  width: fit-content !important;
  margin-top: 14px !important;
  padding: 9px 12px !important;
  border-radius: 999px !important;
  background: var(--brand-red) !important;
  color: #fff !important;
  font-style: normal !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  box-shadow: 0 12px 24px rgba(227,6,19,.24) !important;
}
.radio-service,
.weather-service {
  display: flex !important;
  flex-direction: column !important;
}
.radio-service .service-ad,
.weather-service .service-ad {
  margin-top: auto !important;
}
@media (max-width: 1180px) {
  .radio-service .service-ad,
  .weather-service .service-ad {
    margin-top: 18px !important;
  }
  .service-ad img {
    aspect-ratio: 16 / 5.2 !important;
  }
}


/* ===== Ajuste: publicidades verticais empilhadas abaixo de Rádio e Tempo ===== */
.service-ad {
  margin-top: 28px !important;
  padding-top: 18px !important;
  border: 0 !important;
  border-top: 1px dashed rgba(148, 163, 184, .45) !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
}
.service-ad-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  padding: 0 10px !important;
  margin-bottom: 12px !important;
  border-radius: 999px !important;
  background: #eef2ff !important;
  color: #475569 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.service-ad-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
}
.service-ad-item {
  width: min(100%, 300px) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(226, 232, 240, .95) !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .10) !important;
}
.service-ad-item a {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
}
.service-ad-item img {
  width: 100% !important;
  aspect-ratio: 2 / 3 !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #0b1220 !important;
}
.service-ad-placeholder.service-ad-vertical-placeholder {
  min-height: 450px !important;
  aspect-ratio: 2 / 3 !important;
  padding: 24px !important;
  border-radius: 20px !important;
  justify-content: flex-end !important;
}
.radio-service .service-ad,
.weather-service .service-ad {
  margin-top: 28px !important;
}
@media (max-width: 1180px) {
  .service-ad-item {
    width: min(100%, 320px) !important;
  }
  .service-ad-item img,
  .service-ad-placeholder.service-ad-vertical-placeholder {
    aspect-ratio: 2 / 3 !important;
  }
}


/* =========================================================
   PATCH 2026-07 - Responsividade celular e tablets
   ========================================================= */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, iframe { max-width: 100%; height: auto; }
iframe { border: 0; }

@media (max-width: 1180px) {
  :root { --container: min(100% - 28px, 1040px); }
  .topbar-main.massa-brand-row {
    grid-template-columns: 220px minmax(0,1fr) auto !important;
    gap: 12px !important;
  }
  .topbar-main.massa-brand-row > *:empty { display: none !important; }
  .portal-topbar .brand img, .brand img { width: 210px !important; max-width: 210px !important; }
  .top-news-layout,
  .portal-layout,
  .news-bottom-layout,
  .service-grid,
  .split,
  .live-grid,
  .portal-bottom-grid,
  .detail-grid-modern,
  .category-shell-modern,
  .search-shell-modern,
  .social-page-grid,
  .footer-pro .footer-grid {
    grid-template-columns: 1fr !important;
  }
  .portal-latest-box,
  .article-sidebar-modern { position: static !important; top: auto !important; }
}

@media (max-width: 760px) {
  :root { --container: calc(100% - 24px); --radius: 16px; }
  body { padding-bottom: 92px !important; }
  .massa-utility { font-size: 11px !important; }
  .utility-inner {
    min-height: auto !important;
    padding: 8px 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) !important;
  }
  .utility-date { text-align: right !important; }
  .utility-socials { display: none !important; }
  .topbar-main.massa-brand-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    padding: 12px 0 !important;
    gap: 10px !important;
    text-align: center !important;
  }
  .portal-topbar .brand { justify-content: center !important; }
  .portal-topbar .brand img, .brand img {
    width: min(190px, 72vw) !important;
    max-width: min(190px, 72vw) !important;
    max-height: 62px !important;
  }
  .top-search.massa-search {
    width: 100% !important;
    grid-template-columns: minmax(0,1fr) 92px !important;
    border-radius: 11px !important;
  }
  .top-search.massa-search input { min-width: 0 !important; font-size: 16px !important; }
  .top-search.massa-search button { font-size: 11px !important; }
  .listen-btn.massa-listen { width: 100% !important; justify-content: center !important; }
  .nav.nav-desktop.portal-nav.massa-nav-strip,
  .massa-fast-menu {
    justify-content: flex-start !important;
    padding: 0 12px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .nav.nav-desktop.portal-nav.massa-nav-strip a,
  .massa-fast-menu a { scroll-snap-align: start; }
  .portal-mega.mega-menu {
    position: fixed !important;
    inset: 88px 12px auto 12px !important;
    width: auto !important;
    max-height: calc(100vh - 108px) !important;
    overflow: auto !important;
    grid-template-columns: 1fr !important;
    border-radius: 20px !important;
    padding: 18px !important;
  }
  .breaking-strip.massa-breaking {
    margin: 12px auto 0 !important;
    width: var(--container) !important;
    border-radius: 14px !important;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) !important;
    padding: 10px 12px !important;
  }
  .breaking-ticker { min-width: 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .massa-ad { min-height: 72px !important; padding: 12px !important; text-align: center !important; }
  .section { padding: 24px 0 !important; }
  .top-news-head,
  .section-head,
  .news-head,
  .panel-title-row,
  .service-headline {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: start !important;
  }
  .top-news-head h2, .section-head h2, .service-card h2, .panel h2 {
    font-size: clamp(1.45rem, 7vw, 2rem) !important;
    line-height: 1.08 !important;
  }
  .section-subtitle { font-size: .96rem !important; line-height: 1.45 !important; }
  .searchbox,
  .searchbox-secondary {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 88px !important;
    gap: 0 !important;
  }
  .searchbox input,
  .searchbox button { min-height: 44px !important; font-size: 16px !important; }
  .top-news-layout,
  .portal-news-grid,
  .news-bottom-layout,
  .service-grid,
  .split,
  .live-grid,
  .featured-grid,
  .category-grid-section,
  .events-grid,
  .promo-list,
  .lottery-grid,
  .weather-days,
  .related-grid-modern,
  .social-posts-grid,
  .category-grid-portal {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .portal-middle-news,
  .side-highlights,
  .side-highlights-quad,
  .portal-card-grid { grid-template-columns: 1fr !important; }
  .portal-lead-news,
  .main-headline,
  .service-card,
  .panel,
  .latest-panel,
  .portal-latest-box,
  .social-post-card,
  .secondary-news-card,
  .article-content-modern,
  .comments-card-modern,
  .sidebar-card {
    border-radius: 18px !important;
  }
  .portal-lead-news img,
  .main-headline img,
  .secondary-news-card img,
  .social-post-image,
  .article-cover img {
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
    max-height: 290px !important;
  }
  .portal-latest-eight,
  .latest-panel #latestList,
  .side-latest-list { max-height: none !important; overflow: visible !important; }
  .service-ad img,
  .ad-side-card img,
  .banner-panel img { width: 100% !important; height: auto !important; object-fit: contain !important; }
  .live-video, .live-video iframe { min-height: 220px !important; aspect-ratio: 16 / 9 !important; }
  .chat-drawer {
    right: 12px !important;
    left: 12px !important;
    bottom: 84px !important;
    width: auto !important;
    max-height: 70vh !important;
    border-radius: 18px !important;
  }
  .chat-float-badge { right: 12px !important; bottom: 18px !important; }
  .player-floating {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    width: auto !important;
    max-width: none !important;
    border-radius: 18px !important;
  }
  .player-content,
  .premium-player-content { grid-template-columns: 1fr !important; text-align: center !important; gap: 10px !important; }
  .player-actions { justify-content: center !important; flex-wrap: wrap !important; }
  .footer-pro { padding: 30px 0 110px !important; }
}

@media (max-width: 420px) {
  .top-search.massa-search,
  .searchbox,
  .searchbox-secondary { grid-template-columns: 1fr !important; }
  .top-search.massa-search button,
  .searchbox button,
  .searchbox-secondary button { width: 100% !important; border-radius: 0 0 10px 10px !important; }
  .top-news-head h2, .section-head h2 { font-size: 1.45rem !important; }
  .btn, button { max-width: 100%; }
}


/* PATCH ajuste desktop header 3 colunas */
.topbar-main.massa-brand-row { grid-template-columns: 255px minmax(320px, 1fr) auto !important; }
@media (max-width:1180px) { .topbar-main.massa-brand-row { grid-template-columns: 220px minmax(0,1fr) auto !important; } }
@media (max-width:760px) { .topbar-main.massa-brand-row { grid-template-columns: 1fr !important; } }


/* ===== Refinamento mobile 2026-07-02: esconder barras vermelhas e centralizar menu ===== */
.mobile-mega-extra { display: none; }

@media (max-width: 760px) {
  body.mega-open {
    overflow: hidden !important;
    touch-action: none;
  }

  body.mega-open::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(2, 6, 23, .48);
    backdrop-filter: blur(2px);
    z-index: 9998;
  }

  .nav.nav-desktop.portal-nav.massa-nav-strip,
  .massa-fast-menu {
    display: none !important;
  }

  .massa-utility {
    position: sticky;
    top: 0;
    z-index: 70;
  }

  .utility-inner {
    justify-content: center !important;
  }

  .utility-menu,
  .hamburger.utility-menu,
  #megaTrigger {
    margin: 0 auto !important;
    min-width: 148px !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 999px !important;
  }

  .topbar-main.massa-brand-row,
  .secondary-header .topbar-main.massa-brand-row {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .portal-topbar .brand,
  .portal-topbar .brand img,
  .top-search.massa-search,
  .listen-btn.massa-listen,
  .topbar-main .listen-btn,
  .topbar-main .btn-primary {
    margin-inline: auto !important;
  }

  .top-search.massa-search {
    width: 100% !important;
    max-width: 100% !important;
  }

  .portal-mega.mega-menu {
    display: none !important;
    position: fixed !important;
    inset: 78px 14px auto 14px !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100vh - 96px) !important;
    overflow: auto !important;
    transform: none !important;
    border-radius: 22px !important;
    padding: 18px !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    z-index: 9999 !important;
  }

  .portal-mega.mega-menu.active {
    display: grid !important;
  }

  .portal-mega.mega-menu > div,
  .portal-mega.mega-menu .mega-card {
    text-align: center !important;
  }

  .portal-mega.mega-menu .eyebrow,
  .portal-mega.mega-menu strong,
  .portal-mega.mega-menu p {
    text-align: center !important;
  }

  .portal-mega.mega-menu .mega-links,
  .portal-mega.mega-menu .mega-links-mobile {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .portal-mega.mega-menu .mega-links a,
  .portal-mega.mega-menu .mega-links-mobile a,
  .portal-mega.mega-menu .btn {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .portal-mega.mega-menu .mega-card {
    padding: 18px !important;
  }

  .mobile-mega-extra {
    display: block !important;
  }
}


/* ===== V3 Premium Mobile: menu limpo, tudo centralizado e player premium ===== */
@media (max-width: 760px) {
  html {
    overflow-x: hidden !important;
  }

  body {
    overflow-x: hidden !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(0, 119, 255, .08), transparent 34%),
      linear-gradient(180deg, #ffffff 0%, #f6f8fc 44%, #ffffff 100%) !important;
  }

  body.mega-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.mega-open::before {
    display: none !important;
    content: none !important;
    backdrop-filter: none !important;
    background: transparent !important;
  }

  .ambient {
    display: none !important;
  }

  .massa-container,
  .section,
  .top-news-section,
  .portal-layout,
  .services-row,
  .secondary-shell,
  .premium-page-shell {
    width: min(100% - 24px, 520px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .topbar.portal-topbar.massa-header,
  .secondary-header {
    background: #fff !important;
    box-shadow: 0 8px 28px rgba(15, 23, 42, .08) !important;
    border-bottom: 1px solid rgba(226, 232, 240, .9) !important;
  }

  .massa-utility {
    background: linear-gradient(90deg, #061427 0%, #09264a 100%) !important;
    border-bottom: 3px solid var(--brand-red) !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
  }

  .utility-inner {
    min-height: 48px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }

  .utility-date,
  .utility-socials {
    display: none !important;
  }

  #megaTrigger,
  .hamburger.utility-menu,
  .utility-menu {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    min-width: 132px !important;
    height: 34px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }

  .topbar-main.massa-brand-row,
  .secondary-header .topbar-main.massa-brand-row {
    width: min(100% - 24px, 520px) !important;
    margin: 0 auto !important;
    padding: 14px 0 16px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    justify-items: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  .portal-topbar .brand,
  .brand {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .portal-topbar .brand img,
  .brand img {
    width: min(210px, 68vw) !important;
    max-width: min(210px, 68vw) !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  .top-search.massa-search,
  .searchbox,
  .searchbox-secondary,
  .announcer-toolbar {
    width: 100% !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .top-search.massa-search input,
  .searchbox input,
  .searchbox-secondary input,
  .announcer-toolbar input {
    height: 48px !important;
    width: 100% !important;
    min-width: 0 !important;
    border: 1px solid #d8e0eb !important;
    border-radius: 14px !important;
    background: #fff !important;
    text-align: center !important;
    font-size: 16px !important;
    box-shadow: 0 8px 22px rgba(15,23,42,.06) !important;
  }

  .top-search.massa-search button,
  .searchbox button,
  .searchbox-secondary button {
    height: 44px !important;
    width: 100% !important;
    border-radius: 14px !important;
    font-size: 12px !important;
  }

  .listen-btn.massa-listen,
  .topbar-main .listen-btn,
  .topbar-main .btn-primary,
  .premium-hero-actions .btn,
  .btn-primary {
    width: 100% !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 16px !important;
  }

  .nav.nav-desktop.portal-nav.massa-nav-strip,
  .massa-fast-menu {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .portal-mega.mega-menu {
    display: none !important;
    position: fixed !important;
    top: 58px !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    width: min(100% - 28px, 430px) !important;
    max-width: 430px !important;
    max-height: calc(100vh - 78px) !important;
    overflow-y: auto !important;
    padding: 18px !important;
    border-radius: 24px !important;
    background: #fff !important;
    border: 1px solid rgba(226, 232, 240, .95) !important;
    box-shadow: 0 22px 70px rgba(15, 23, 42, .26) !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    z-index: 9999 !important;
    text-align: center !important;
  }

  .portal-mega.mega-menu.active {
    display: grid !important;
  }

  .portal-mega.mega-menu > div,
  .portal-mega.mega-menu .mega-card {
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
  }

  .portal-mega.mega-menu .eyebrow,
  .portal-mega.mega-menu strong,
  .portal-mega.mega-menu p {
    display: block !important;
    text-align: center !important;
  }

  .portal-mega.mega-menu .mega-links,
  .portal-mega.mega-menu .mega-links-mobile {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
  }

  .portal-mega.mega-menu .mega-links a,
  .portal-mega.mega-menu .mega-links-mobile a {
    min-height: 46px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    color: #0b2d55 !important;
    border: 1px solid #e5edf6 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  .portal-mega.mega-menu .mega-card {
    padding: 16px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #f4f9ff 0%, #fff5f6 100%) !important;
  }

  .breaking-strip.massa-breaking {
    width: min(100% - 24px, 520px) !important;
    margin: 14px auto 0 !important;
    grid-template-columns: 1fr !important;
    text-align: center !important;
    border-radius: 18px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.08) !important;
  }

  .breaking-strip.massa-breaking strong {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 0 !important;
  }

  .breaking-ticker {
    width: 100% !important;
    text-align: center !important;
  }

  .top-news-head,
  .section-head,
  .news-head,
  .service-headline,
  .premium-page-hero,
  .schedule-premium-hero,
  .announcers-hero {
    width: 100% !important;
    text-align: center !important;
    justify-items: center !important;
    align-items: center !important;
  }

  .top-news-head h2,
  .section-head h2,
  .premium-page-hero h1,
  .service-card h2 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .section-subtitle,
  .premium-page-hero p,
  .service-card p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .portal-lead-news,
  .portal-news-card,
  .service-card,
  .panel,
  .premium-program-card,
  .premium-announcer-card,
  .premium-lottery-card,
  .promo-card,
  .event-card,
  .massa-ad {
    border-radius: 22px !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.08) !important;
  }

  .chat-floating {
    left: 50% !important;
    right: auto !important;
    bottom: 92px !important;
    transform: translateX(-50%) !important;
    width: min(92vw, 330px) !important;
    justify-content: center !important;
    border-radius: 20px !important;
    padding: 12px 14px !important;
    animation: none !important;
    z-index: 80 !important;
  }

  .chat-float-text {
    display: none !important;
  }

  .chat-float-badge {
    position: static !important;
    margin-left: 4px !important;
  }

  .chat-drawer {
    left: 50% !important;
    right: auto !important;
    bottom: 154px !important;
    transform: translateX(-50%) translateY(20px) !important;
    width: min(100% - 24px, 420px) !important;
    max-height: 62vh !important;
    border-radius: 22px !important;
    box-shadow: 0 22px 70px rgba(15,23,42,.24) !important;
  }

  .chat-drawer.active {
    transform: translateX(-50%) translateY(0) !important;
  }

  .player-floating,
  .secondary-player.player-floating {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    width: min(100% - 24px, 430px) !important;
    max-width: 430px !important;
    border-radius: 24px !important;
    transform: translateX(-50%) translateY(calc(100% + 28px)) !important;
    background: linear-gradient(135deg, rgba(5,18,36,.98), rgba(10,44,86,.98)) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 22px 70px rgba(2, 6, 23, .34) !important;
    overflow: hidden !important;
    z-index: 10000 !important;
  }

  .player-floating.active,
  .secondary-player.player-floating.active {
    transform: translateX(-50%) translateY(0) !important;
  }

  .player-content,
  .premium-player-content {
    width: 100% !important;
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
      "info close"
      "actions actions" !important;
    gap: 12px !important;
    align-items: center !important;
    justify-items: center !important;
    padding: 18px 16px 16px !important;
    text-align: center !important;
  }

  .player-info {
    grid-area: info !important;
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    justify-items: start !important;
    text-align: left !important;
  }

  .host-avatar-wrap {
    width: 54px !important;
    height: 54px !important;
  }

  .host-initials {
    width: 54px !important;
    height: 54px !important;
    font-size: 1.25rem !important;
  }

  .program-details {
    min-width: 0 !important;
    width: 100% !important;
  }

  .program-details strong,
  .program-details small {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  .badge-live {
    margin: 0 0 5px !important;
    width: fit-content !important;
    max-width: 100% !important;
    font-size: .65rem !important;
  }

  .player-tags,
  .player-visualizer,
  .premium-visualizer,
  .volume-container,
  .player-stage-lights,
  .player-glass-orb {
    display: none !important;
  }

  .player-actions,
  .premium-actions {
    grid-area: actions !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .main-play-btn {
    width: 66px !important;
    height: 58px !important;
    border-radius: 20px !important;
    margin: 0 auto !important;
    font-size: 1.25rem !important;
    box-shadow: 0 14px 28px rgba(227,6,19,.34) !important;
  }

  .player-close {
    grid-area: close !important;
    position: static !important;
    width: 40px !important;
    height: 40px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    margin: 0 !important;
  }

  .footer-pro {
    padding-bottom: 155px !important;
  }
}

@media (max-width: 420px) {
  .portal-topbar .brand img,
  .brand img {
    width: min(190px, 66vw) !important;
  }

  .player-content,
  .premium-player-content {
    padding: 16px 14px 14px !important;
  }

  .player-info {
    grid-template-columns: 48px minmax(0,1fr) !important;
    gap: 10px !important;
  }

  .host-avatar-wrap,
  .host-initials {
    width: 48px !important;
    height: 48px !important;
  }
}

/* ===== V4 Hotfix: chat fechado por padrão no mobile ===== */
@media (max-width: 760px) {
  .chat-overlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: transparent !important;
    backdrop-filter: none !important;
  }

  .chat-overlay.active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: rgba(2, 6, 23, .18) !important;
  }

  .chat-drawer {
    top: auto !important;
    left: 50% !important;
    right: auto !important;
    bottom: 146px !important;
    width: min(100% - 24px, 420px) !important;
    max-height: 62vh !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-50%) translateY(110vh) !important;
    transition: transform .28s ease, opacity .2s ease, visibility .2s ease !important;
  }

  .chat-drawer.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
  }

  body:not(.chat-open) .chat-drawer {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-50%) translateY(110vh) !important;
  }
}


/* ===== V6 Mobile App Rádio: experiência imersiva sem afetar desktop ===== */
.mobile-radio-appbar,
.mobile-search-sheet,
.mobile-radio-hero {
  display: none;
}

@media (max-width: 760px) {
  :root {
    --mobile-blue: #071a35;
    --mobile-blue-2: #0b3568;
    --mobile-red: #e30613;
    --mobile-card: rgba(255,255,255,.92);
    --mobile-hero-image: url('../img/default-radio.jpg');
  }

  html {
    scroll-behavior: smooth;
    background: #eef4fb !important;
  }

  body {
    background:
      radial-gradient(circle at 50% -8%, rgba(0, 119, 255, .22), transparent 34%),
      linear-gradient(180deg, #eef5ff 0%, #f8fbff 38%, #ffffff 100%) !important;
    padding-bottom: 126px !important;
  }

  .ambient,
  .topbar.portal-topbar.massa-header .massa-utility,
  .topbar.portal-topbar.massa-header .topbar-main,
  .topbar.portal-topbar.massa-header .nav,
  .topbar.portal-topbar.massa-header .massa-fast-menu {
    display: none !important;
  }

  .topbar.portal-topbar.massa-header {
    min-height: 0 !important;
    height: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  main {
    padding-top: 0 !important;
  }

  .mobile-radio-appbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 10050 !important;
    min-height: calc(58px + env(safe-area-inset-top)) !important;
    padding: calc(10px + env(safe-area-inset-top)) 16px 10px !important;
    display: grid !important;
    grid-template-columns: 44px 1fr 44px !important;
    align-items: center !important;
    gap: 10px !important;
    background: linear-gradient(180deg, #061427 0%, rgba(6, 20, 39, .96) 100%) !important;
    border-bottom: 3px solid var(--mobile-red) !important;
    box-shadow: 0 14px 34px rgba(2, 6, 23, .20) !important;
  }

  .mobile-app-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
  }

  .mobile-app-logo img {
    height: 34px !important;
    width: auto !important;
    max-width: 176px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 5px 10px rgba(0,0,0,.22));
  }

  .mobile-round-btn {
    width: 44px !important;
    height: 44px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
    display: grid !important;
    place-items: center !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    box-shadow: inset 0 1px 1px rgba(255,255,255,.10), 0 10px 26px rgba(0,0,0,.14) !important;
    transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
  }

  .mobile-round-btn:active {
    transform: scale(.94) !important;
  }

  .mobile-round-btn.active {
    background: var(--mobile-red) !important;
    border-color: rgba(255,255,255,.22) !important;
  }

  .mobile-radio-hero {
    width: min(100% - 22px, 520px) !important;
    margin: 14px auto 18px !important;
    min-height: 474px !important;
    border-radius: 34px !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
    isolation: isolate !important;
    box-shadow: 0 24px 70px rgba(8, 28, 58, .26) !important;
    border: 1px solid rgba(255,255,255,.48) !important;
    transform: translateZ(0);
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: -2 !important;
    background-image:
      linear-gradient(180deg, rgba(3, 14, 31, .24) 0%, rgba(3, 14, 31, .76) 56%, rgba(3, 14, 31, .96) 100%),
      var(--mobile-hero-image) !important;
    background-size: cover !important;
    background-position: center !important;
    transform: scale(1.04) !important;
    animation: mobileHeroDrift 10s ease-in-out infinite alternate;
  }

  .mobile-radio-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
      radial-gradient(circle at 18% 12%, rgba(227, 6, 19, .34), transparent 28%),
      radial-gradient(circle at 86% 36%, rgba(0, 119, 255, .42), transparent 30%),
      linear-gradient(135deg, rgba(255,255,255,.08), transparent 34%);
    pointer-events: none;
  }

  .mobile-hero-content {
    min-height: 474px !important;
    padding: 24px 20px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    text-align: center !important;
    color: #fff !important;
  }

  .mobile-hero-live-row {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    backdrop-filter: blur(14px) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }

  .mobile-live-dot {
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #23f28b !important;
    box-shadow: 0 0 0 7px rgba(35, 242, 139, .13), 0 0 18px rgba(35, 242, 139, .75) !important;
    animation: mobilePulse 1.45s ease-in-out infinite;
  }

  .mobile-hero-logo {
    width: min(205px, 68vw) !important;
    height: auto !important;
    margin: 0 auto 18px !important;
    filter: drop-shadow(0 14px 28px rgba(0,0,0,.48)) !important;
    animation: mobileFloat 3.8s ease-in-out infinite;
  }

  .mobile-hero-content h1 {
    max-width: 92% !important;
    margin: 0 auto 8px !important;
    color: #fff !important;
    font-size: clamp(2rem, 9vw, 3rem) !important;
    line-height: .95 !important;
    font-weight: 1000 !important;
    letter-spacing: -.055em !important;
    text-shadow: 0 14px 36px rgba(0,0,0,.40) !important;
  }

  .mobile-hero-content p {
    max-width: 88% !important;
    margin: 0 auto 14px !important;
    color: rgba(255,255,255,.82) !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
  }

  .mobile-wave {
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    margin: 2px auto 18px !important;
  }

  .mobile-wave span {
    width: 5px !important;
    height: 12px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #fff, #28d6ff) !important;
    box-shadow: 0 0 16px rgba(40,214,255,.28) !important;
    animation: mobileEq 1.05s ease-in-out infinite;
  }
  .mobile-wave span:nth-child(2) { animation-delay: .12s; }
  .mobile-wave span:nth-child(3) { animation-delay: .24s; }
  .mobile-wave span:nth-child(4) { animation-delay: .36s; }
  .mobile-wave span:nth-child(5) { animation-delay: .48s; }

  .mobile-hero-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1.25fr .75fr !important;
    gap: 10px !important;
    margin: 0 auto 12px !important;
  }

  .mobile-primary-action,
  .mobile-secondary-action {
    height: 54px !important;
    border: 0 !important;
    border-radius: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 1000 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
  }

  .mobile-primary-action {
    color: #fff !important;
    background: linear-gradient(135deg, #e30613 0%, #ff3347 100%) !important;
    box-shadow: 0 18px 38px rgba(227,6,19,.36) !important;
  }

  .mobile-secondary-action {
    color: #fff !important;
    background: rgba(255,255,255,.15) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    backdrop-filter: blur(14px) !important;
  }

  .mobile-primary-action:active,
  .mobile-secondary-action:active {
    transform: scale(.97) !important;
  }

  .mobile-app-shortcuts {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 auto 12px !important;
  }

  .mobile-app-shortcuts a,
  .mobile-app-shortcuts button {
    min-height: 56px !important;
    padding: 7px 6px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 10.5px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    backdrop-filter: blur(12px) !important;
  }

  .mobile-hero-ticker {
    width: 100% !important;
    min-height: 56px !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.92) !important;
    color: #071a35 !important;
    text-decoration: none !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    box-shadow: 0 16px 42px rgba(0,0,0,.16) !important;
  }

  .mobile-hero-ticker strong {
    background: var(--mobile-red) !important;
    color: #fff !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    font-weight: 1000 !important;
    letter-spacing: .08em !important;
  }

  .mobile-hero-ticker span {
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    text-align: left !important;
    font-size: 12.5px !important;
    font-weight: 900 !important;
  }

  .breaking-strip.massa-breaking,
  #topAdBanner,
  #heroSection > .top-news-head {
    display: none !important;
  }

  #heroSection {
    padding-top: 8px !important;
  }

  .top-news-layout,
  .portal-layout,
  .services-row,
  .featured-grid,
  .category-grid,
  .lottery-grid,
  .announcers-grid,
  .premium-program-grid,
  .premium-announcer-grid {
    width: min(100% - 22px, 520px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .section,
  .top-news-section {
    padding: 18px 0 !important;
  }

  .section-head,
  .news-head,
  .top-news-head,
  .panel-title-row {
    text-align: center !important;
    justify-items: center !important;
  }

  .portal-lead-news,
  .portal-middle-news article,
  .portal-latest-box,
  .news-card,
  .service-card,
  .panel,
  .category-card,
  .premium-lottery-card,
  .premium-announcer-card,
  .premium-program-card {
    border-radius: 24px !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .09) !important;
    border: 1px solid rgba(226,232,240,.88) !important;
  }

  .chat-floating {
    display: none !important;
  }

  .mobile-search-sheet {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10080 !important;
    display: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: calc(72px + env(safe-area-inset-top)) 14px 18px !important;
    background: rgba(5, 18, 36, .24) !important;
  }

  .mobile-search-sheet.active {
    display: flex !important;
  }

  .mobile-search-card {
    width: min(100%, 440px) !important;
    border-radius: 26px !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(226,232,240,.92) !important;
    box-shadow: 0 24px 70px rgba(2, 6, 23, .26) !important;
    padding: 16px !important;
    animation: mobileSheetIn .22s ease both;
  }

  .mobile-search-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    color: #071a35 !important;
  }

  .mobile-search-head strong {
    font-size: 1rem !important;
    font-weight: 1000 !important;
  }

  .mobile-search-head button {
    width: 40px !important;
    height: 40px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #edf3fb !important;
    color: #071a35 !important;
    font-size: 24px !important;
    font-weight: 800 !important;
  }

  .mobile-search-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .mobile-search-form input {
    height: 54px !important;
    width: 100% !important;
    border: 1px solid #dbe5f0 !important;
    border-radius: 18px !important;
    background: #fff !important;
    padding: 0 16px !important;
    font-size: 16px !important;
    text-align: center !important;
    outline: none !important;
  }

  .mobile-search-form button {
    height: 50px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #e30613, #ff3448) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 1000 !important;
    text-transform: uppercase !important;
  }

  .mobile-search-suggestions {
    margin-top: 12px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .mobile-search-suggestions a {
    min-height: 42px !important;
    border-radius: 14px !important;
    background: #f3f7fc !important;
    color: #0b3568 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  body.mobile-search-open {
    overflow: hidden !important;
  }

  .portal-mega.mega-menu {
    top: calc(64px + env(safe-area-inset-top)) !important;
    width: min(100% - 24px, 430px) !important;
    border-radius: 26px !important;
    animation: mobileSheetIn .22s ease both;
  }

  .player-floating,
  .secondary-player.player-floating {
    z-index: 10060 !important;
  }

  @keyframes mobileHeroDrift {
    from { transform: scale(1.04) translate3d(-5px, -4px, 0); }
    to { transform: scale(1.10) translate3d(7px, 6px, 0); }
  }

  @keyframes mobileFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
  }

  @keyframes mobilePulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(.72); opacity: .72; }
  }

  @keyframes mobileEq {
    0%, 100% { height: 10px; opacity: .68; }
    50% { height: 28px; opacity: 1; }
  }

  @keyframes mobileSheetIn {
    from { opacity: 0; transform: translateY(-10px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }

  @media (prefers-reduced-motion: reduce) {
    .mobile-hero-bg,
    .mobile-hero-logo,
    .mobile-live-dot,
    .mobile-wave span,
    .mobile-search-card,
    .portal-mega.mega-menu {
      animation: none !important;
      transition: none !important;
    }
  }
}

@media (max-width: 390px) {
  .mobile-radio-hero {
    min-height: 452px !important;
    border-radius: 28px !important;
  }

  .mobile-hero-content {
    min-height: 452px !important;
    padding: 22px 14px 16px !important;
  }

  .mobile-hero-actions {
    grid-template-columns: 1fr !important;
  }

  .mobile-app-shortcuts {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .mobile-app-shortcuts a,
  .mobile-app-shortcuts button {
    min-height: 46px !important;
  }
}


/* ===== V7 Detalhe: publicidade full e sem espaço abaixo do footer ===== */
@media (min-width: 761px) {
  body.detail-body,
  body.secondary-body.detail-body {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    min-height: 100vh !important;
    background: #eef3f8 !important;
  }

  body.detail-body .footer-pro.portal-footer,
  body.detail-body .footer-pro.secondary-footer {
    margin-bottom: 0 !important;
    padding-bottom: 18px !important;
  }

  body.detail-body .player-floating:not(.active) {
    pointer-events: none !important;
  }
}

body.detail-body .detail-bottom-ad,
body.detail-body .detail-bottom-ad.has-ad {
  width: min(1220px, calc(100% - 80px)) !important;
  margin: 18px auto 24px !important;
}

body.detail-body .detail-bottom-ad.has-ad {
  padding: 0 !important;
  min-height: 235px !important;
  display: block !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.10) !important;
}

body.detail-body .detail-bottom-ad.has-ad > a,
body.detail-body .detail-bottom-ad.has-ad > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.detail-body .detail-bottom-ad.has-ad img {
  display: block !important;
  width: 100% !important;
  height: 235px !important;
  min-height: 235px !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 22px !important;
}

body.detail-body .ad-side-card.has-ad {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

body.detail-body .ad-side-card.has-ad > a,
body.detail-body .ad-side-card.has-ad > img {
  display: block !important;
  width: 100% !important;
}

body.detail-body .ad-side-card.has-ad img {
  display: block !important;
  width: 100% !important;
  height: 280px !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
}

@media (max-width: 760px) {
  body.detail-body,
  body.secondary-body.detail-body {
    padding-bottom: 126px !important;
  }

  body.detail-body .detail-bottom-ad,
  body.detail-body .detail-bottom-ad.has-ad {
    width: min(100% - 24px, 520px) !important;
    margin: 14px auto 20px !important;
  }

  body.detail-body .detail-bottom-ad.has-ad {
    min-height: 132px !important;
    border-radius: 18px !important;
  }

  body.detail-body .detail-bottom-ad.has-ad img {
    height: 132px !important;
    min-height: 132px !important;
    border-radius: 18px !important;
  }

  body.detail-body .ad-side-card.has-ad img {
    height: 210px !important;
  }
}

html:has(body.detail-body),
body.detail-body {
  margin-bottom: 0 !important;
}
