/* ═══════════════════════════════════════════════════
   MEMES PARAUAPEBAS — REDESIGN CONSOLIDADO
   Paleta: #101418 / #E53935 / #FFC107 / #F4F5F7
   ═══════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root,
[data-theme="light"] {
  --bg:          #F4F5F7;
  --bg-2:        #FFFFFF;
  --bg-3:        #FFF3C4;
  --bg-4:        #FFE9E7;
  --bg-5:        #FFF7DE;
  --card:        #FFFFFF;
  --card-2:      #FFFFFF;
  --red:         #E53935;
  --red-2:       #FFC107;
  --red-glow:    rgba(229,57,53,.28);
  --red-subtle:  rgba(229,57,53,.10);
  --sand:        #FFC107;
  --navy:        #101418;
  --text:        #101418;
  --text-2:      #3F4650;
  --text-3:      #6B7280;
  --line:        rgba(16,20,24,.10);
  --line-2:      rgba(16,20,24,.16);
  --header-bg:   #101418;
  --topbar-bg:   #101418;
  --shadow:      0 10px 32px rgba(16,20,24,.09);
  --shadow-lg:   0 20px 64px rgba(16,20,24,.18);
}

/* ── BODY ── */
body {
  background:
    radial-gradient(circle at 10% 0%, rgba(255,193,7,.22), transparent 24%),
    radial-gradient(circle at 92% 18%, rgba(229,57,53,.12), transparent 28%),
    linear-gradient(180deg, #F4F5F7 0%, #FFFFFF 45%, #F4F5F7 100%);
}

.site-container { width: min(1240px, calc(100% - 40px)); }

/* ═══════════════════════════════
   HEADER
═══════════════════════════════ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: linear-gradient(122deg, rgba(16,20,24,.99) 0%, rgba(16,20,24,.97) 48%, rgba(60,16,16,.98) 100%);
  border-bottom: 4px solid #FFC107;
  box-shadow: 0 16px 48px rgba(16,20,24,.32);
  overflow: visible;
}

.site-header::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .13;
  background-image:
    linear-gradient(135deg, rgba(255,193,7,.22) 0 2px, transparent 2px 28px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 36px 36px, 38px 38px;
  mask-image: linear-gradient(90deg, #000, transparent 80%);
}

/* Yellow/red stripe at very top */
.mp-top-stripe {
  height: 6px;
  background: repeating-linear-gradient(135deg, #FFC107 0 20px, #101418 20px 30px, #E53935 30px 50px);
}

/* Hide legacy topbar */
.topbar { display: none; }

/* Header main grid — 3 cols: logo | search+actions | hamburger */
.header-main {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: clamp(14px, 2.5vw, 32px);
  align-items: center;
  min-height: 96px;
  padding: 10px 0;
}

/* Brand / Logo */
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  grid-column: 1;
  justify-self: start;
  flex-shrink: 0;
  text-decoration: none;
}

.brand img {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  object-fit: contain;
  border-radius: 50% !important;
  background: transparent;
  filter: drop-shadow(0 8px 12px rgba(0,0,0,.3));
  flex-shrink: 0;
}

.brand-text strong {
  display: block;
  font-family: 'Montserrat', 'Inter', sans-serif;
  font-size: clamp(1.5rem, 2.8vw, 2.4rem);
  font-weight: 900;
  letter-spacing: -.07em;
  line-height: .86;
  text-transform: uppercase;
  color: #FFFFFF;
  text-shadow: 0 4px 14px rgba(0,0,0,.3);
}

.brand-text strong span { color: #FFC107; }

.brand-text small {
  display: inline-flex;
  margin-top: 6px;
  padding: 3px 9px;
  border-radius: 6px;
  background: linear-gradient(90deg, #FFC107, #FFE082);
  color: #101418;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* Pbs-header-right = search + CTA buttons */
.pbs-header-right {
  grid-column: 2 / 3;
  display: grid;
  gap: 8px;
  justify-self: end;
  width: min(620px, 100%);
}

.pbs-social-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.pbs-social-row a,
.pbs-weather {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 32px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,193,7,.20);
  color: rgba(255,255,255,.85);
  font-size: .78rem;
  font-weight: 700;
  transition: background .15s;
  text-decoration: none;
}

.pbs-social-row a:hover { background: rgba(255,255,255,.14); }
.pbs-weather b { color: #fff; font-size: .7rem; }

.pbs-action-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.search-form {
  display: flex;
  max-width: 310px;
  flex: 1;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,193,7,.22);
  border-radius: 999px;
  overflow: hidden;
  margin: 0;
}

.search-form:focus-within { border-color: rgba(255,193,7,.5); }

.search-form input {
  flex: 1;
  border: 0;
  outline: 0;
  padding: 9px 16px;
  background: transparent;
  color: #fff;
  font-size: .85rem;
  min-width: 0;
}

.search-form input::placeholder { color: rgba(255,255,255,.5); }

.search-form button {
  border: 0;
  background: #E53935;
  color: #fff;
  width: 36px;
  height: 36px;
  margin: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
  flex-shrink: 0;
  transition: background .15s;
}

.search-form button:hover { background: #C8201D; }

.btn-header-primary {
  background: linear-gradient(135deg, #E53935, #B8201C);
  color: #fff !important;
  border-radius: 999px !important;
  padding: 9px 18px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: .86rem !important;
  font-weight: 900 !important;
  box-shadow: 0 6px 18px rgba(229,57,53,.25) !important;
  border: 0 !important;
}

.btn-header-sand {
  background: linear-gradient(135deg, #FFC107, #FFE082) !important;
  color: #101418 !important;
  border-radius: 999px !important;
  padding: 9px 18px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: .86rem !important;
  font-weight: 900 !important;
  box-shadow: 0 6px 18px rgba(255,193,7,.22) !important;
  border: 0 !important;
}

/* Hamburger */
.hamburger {
  grid-column: 3;
  justify-self: end;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,193,7,.22) !important;
}

.hamburger span { background: #fff !important; }

/* Category nav */
.category-nav {
  position: relative;
  z-index: 2;
  background: rgba(16,20,24,.92);
  border-top: 1px solid rgba(255,193,7,.18);
  overflow: hidden;
}

.cat-nav-inner a {
  color: rgba(255,255,255,.84) !important;
  font-weight: 700;
  border-right: 0 !important;
  border-radius: 0 !important;
  padding: 11px 13px !important;
  font-size: .77rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.cat-nav-inner a:first-child,
.cat-nav-inner a:hover {
  background: #FFC107 !important;
  color: #101418 !important;
}

.cat-nav-inner a::after { background: #E53935 !important; height: 3px !important; border-radius: 999px 999px 0 0 !important; }

/* ═══════════════════════════════
   BREAKING BAR
═══════════════════════════════ */
.breaking-bar {
  background: #101418 !important;
  border-color: rgba(255,193,7,.28) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(16,20,24,.14) !important;
  grid-template-columns: 120px 1fr !important;
}

.breaking-label {
  background: linear-gradient(135deg, #E53935, #FF6B66) !important;
  color: #fff !important;
}

.breaking-items a { color: #FFFFFF !important; }
.breaking-items a strong { color: #FFC107 !important; }

/* ═══════════════════════════════
   HERO GRID
═══════════════════════════════ */
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(290px, .95fr);
  gap: 14px;
}

.hero-main {
  min-height: 420px;
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  background: #101418;
  border: 2px solid #101418;
  box-shadow: 10px 10px 0 #FFC107, 0 18px 44px rgba(16,20,24,.2);
}

.hero-main > a { display: block; width: 100%; height: 100%; }

.hero-main img {
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: .82;
  transition: opacity .4s, transform .6s;
}

.hero-main:hover img { opacity: .95; transform: scale(1.03); }

.hero-main::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.38) 55%, rgba(0,0,0,.1) 100%);
  pointer-events: none;
}

.hero-overlay {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: clamp(16px, 3.5vw, 28px);
  z-index: 2;
}

.hero-overlay h1 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.7rem, 3.8vw, 3.2rem) !important;
  font-weight: 900 !important;
  line-height: .95 !important;
  letter-spacing: -.07em !important;
  text-transform: none !important;
  color: #fff !important;
  margin: 12px 0 8px !important;
}

.hero-overlay h1 a { color: #fff; }
.hero-overlay h1 a:hover { color: #FFC107; }
.hero-overlay p { color: rgba(255,255,255,.82); font-size: .9rem; }

.hero-meta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
}

.hero-meta-actions span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: .74rem;
  font-weight: 800;
  backdrop-filter: blur(8px);
}

.hero-meta-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 5px 16px;
  border-radius: 999px;
  background: #FFC107 !important;
  color: #101418 !important;
  font-size: .74rem;
  font-weight: 900;
  text-decoration: none;
}

/* Hero side */
.hero-side {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.hero-side .post-card {
  position: relative;
  min-height: 190px;
  border-radius: 16px;
  overflow: hidden;
  background: #101418;
  border: 2px solid #101418 !important;
  box-shadow: 6px 6px 0 rgba(255,193,7,.80) !important;
  flex-direction: column;
}

.hero-side .post-card:first-child { grid-column: 1 / -1; min-height: 220px; }

.hero-side .post-card .post-card-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  aspect-ratio: unset;
}

.hero-side .post-card .post-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: .8;
}

/* Hero tile (used in some templates) */
.hero-tile {
  position: relative;
  min-height: 196px;
  border-radius: 18px;
  overflow: hidden;
  background: #101418;
  border: 2px solid #101418;
  box-shadow: 6px 6px 0 rgba(255,193,7,.82);
  transition: box-shadow .2s;
}

.hero-tile:first-child { grid-column: 1 / -1; min-height: 224px; }
.hero-tile a { display: block; width: 100%; height: 100%; color: #fff; text-decoration: none; }
.hero-tile img { width: 100%; height: 100%; object-fit: cover; opacity: .8; transition: transform .5s, opacity .3s; }
.hero-tile:hover img { transform: scale(1.06); opacity: 1; }
.hero-tile:hover { box-shadow: 8px 8px 0 rgba(229,57,53,.5); }

.hero-tile-shade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.88), rgba(0,0,0,.12));
}

.hero-tile .tag {
  position: absolute;
  left: 13px; top: 13px;
  background: #FFC107 !important;
  color: #101418 !important;
  border-radius: 999px !important;
  padding: 4px 10px !important;
  font-weight: 900 !important;
  font-size: .66rem !important;
}

.hero-tile h3 {
  position: absolute;
  left: 13px; right: 13px; bottom: 30px;
  font-size: clamp(.9rem, 1.6vw, 1.35rem);
  line-height: 1.08;
  color: #fff;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hero-tile:first-child h3 { font-size: clamp(1.15rem, 2.1vw, 1.8rem); }
.hero-tile small { position: absolute; left: 13px; bottom: 11px; color: rgba(255,255,255,.8); font-weight: 700; font-size: .73rem; }

/* ═══════════════════════════════
   SECTIONS & CARDS
═══════════════════════════════ */
.section-block {
  border: 2px solid rgba(16,20,24,.10) !important;
  border-radius: 20px !important;
  box-shadow: 7px 7px 0 rgba(255,193,7,.25), 0 10px 28px rgba(16,20,24,.07) !important;
  background: rgba(255,255,255,.92) !important;
}

.section-head h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.15rem, 1.8vw, 1.5rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.05em !important;
  text-transform: uppercase !important;
  color: #101418 !important;
}

.section-head h2::first-letter { color: #E53935; }
.section-head p { color: #4B5563 !important; }
.section-head > a {
  color: #E53935 !important;
  border-color: rgba(229,57,53,.20) !important;
  border-radius: 999px !important;
}

.clean-head { border-bottom: 0; margin-bottom: 12px; padding-bottom: 0; }

/* Editorias strip */
.editorias-premium {
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.category-strip-premium {
  grid-template-columns: repeat(14, minmax(70px, 1fr));
  gap: 8px;
  overflow-x: auto;
  padding: 2px 2px 10px;
}

.category-strip-premium a {
  display: grid;
  place-items: center;
  gap: 5px;
  min-height: 74px;
  padding: 10px 7px;
  text-align: center;
  background: #fff !important;
  color: #1F1F1F !important;
  border-radius: 13px;
  font-family: 'Inter', sans-serif;
  font-size: .69rem;
  font-weight: 700;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border: 2px solid transparent !important;
  box-shadow: 5px 5px 0 rgba(16,20,24,.06);
  white-space: nowrap;
  transition: transform .18s, box-shadow .18s, background .18s;
}

.category-strip-premium a::after { display: none !important; }

.category-strip-premium a:first-child,
.category-strip-premium a:hover {
  background: #101418 !important;
  color: #fff !important;
  border-color: #FFC107 !important;
  transform: translateY(-2px);
  box-shadow: 5px 7px 0 rgba(255,193,7,.55);
}

.category-strip-premium a span { font-size: 1.2rem; line-height: 1; }

/* ═══════════════════════════════
   AD PLACEHOLDER
═══════════════════════════════ */
.ad-featured-wrap { margin: 0; }
.ad-featured-wrap .ad-slot:not(:empty) + .ad-placeholder-premium { display: none; }

.ad-placeholder-premium {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  align-items: center;
  gap: 18px;
  min-height: 110px;
  padding: 16px 24px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 8% 50%, rgba(229,57,53,.15), transparent 18%),
    repeating-linear-gradient(135deg, rgba(16,20,24,.05) 0 5px, transparent 5px 18px),
    linear-gradient(100deg, #FFF8DF, #FFC107 50%, #FFF3C4);
  color: #101418;
  overflow: hidden;
  box-shadow: 7px 7px 0 rgba(16,20,24,.09), 0 10px 28px rgba(16,20,24,.07);
  border: 2px solid rgba(16,20,24,.13);
}

.ad-placeholder-premium .ad-mascot {
  width: 110px;
  height: 90px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: visible;
  flex-shrink: 0;
}

.ad-placeholder-premium .ad-mascot img {
  width: 100px !important;
  height: 110px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.2)) !important;
  transform: none !important;
}

.ad-placeholder-premium strong {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: clamp(1.05rem, 2vw, 1.7rem);
  line-height: 1.05;
  text-transform: uppercase;
  color: #101418 !important;
}

.ad-placeholder-premium small {
  display: block;
  color: #334155 !important;
  margin-top: 4px;
  font-size: .86rem;
  font-weight: 700;
}

.ad-placeholder-premium b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 20px;
  border-radius: 9px;
  background: #101418 !important;
  color: #FFC107 !important;
  border: 2px solid #101418;
  font-weight: 900;
  font-size: .86rem;
  white-space: nowrap;
  box-shadow: 3px 3px 0 rgba(255,193,7,.4);
  transition: transform .15s;
  text-decoration: none;
}

.ad-placeholder-premium:hover b { transform: translateY(-1px); }

/* ═══════════════════════════════
   POST GRID & CARDS
═══════════════════════════════ */
.post-grid { grid-template-columns: repeat(3, 1fr); gap: 13px; }
.latest-premium .post-grid { grid-template-columns: repeat(2, 1fr); }

.post-card {
  border: 2px solid rgba(16,20,24,.10) !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 5px 5px 0 rgba(255,193,7,.18) !important;
  transition: transform .2s, box-shadow .2s, border-color .2s !important;
}

.post-card:hover {
  border-color: rgba(229,57,53,.28) !important;
  box-shadow: 7px 7px 0 rgba(229,57,53,.14), 0 14px 28px rgba(16,20,24,.08) !important;
  transform: translateY(-3px) !important;
}

.post-card-body h3 { color: #101418 !important; font-weight: 900 !important; }
.post-card-body h3 a:hover { color: #E53935 !important; }
.post-card-body p { color: #64748B !important; }

/* Tags */
.tag {
  border-radius: 999px !important;
  background: #FFC107 !important;
  color: #101418 !important;
  font-weight: 800 !important;
  border: 0 !important;
}

.tag-hot, .tag-alert { background: #E53935 !important; color: #fff !important; }
.tag-video { background: rgba(16,20,24,.08) !important; color: #101418 !important; }

.meta-line { color: #64748B !important; }
.meta-time::before { background: #E53935 !important; }

/* ═══════════════════════════════
   SIDEBAR
═══════════════════════════════ */
#homeSidebar .sidebar {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.widget {
  border-radius: 18px;
  border-color: rgba(16,20,24,.08);
  box-shadow: var(--shadow);
  background: #fff;
}

.widget-social-blue {
  min-height: 200px;
  background: linear-gradient(145deg, #005FCF, #001B2A) !important;
  color: #fff;
  border: 2px solid rgba(255,193,7,.20) !important;
  box-shadow: 6px 6px 0 rgba(229,57,53,.16) !important;
}

.widget-whatsapp {
  min-height: 200px;
  background: linear-gradient(145deg, #009F61, #00513A) !important;
  color: #fff;
  border: 2px solid rgba(255,193,7,.20) !important;
  box-shadow: 6px 6px 0 rgba(0,159,97,.16) !important;
}

.widget-social-blue h3,
.widget-whatsapp h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.05rem;
  line-height: 1.1;
  text-transform: uppercase;
  margin: 9px 0 6px;
  font-weight: 900;
}

.widget-social-blue p,
.widget-whatsapp p { color: rgba(255,255,255,.76); font-size: .82rem; margin-bottom: 13px; }

.social-icon-bubble {
  width: 48px; height: 48px;
  display: grid; place-items: center;
  border-radius: 14px;
  background: #FFC107 !important;
  color: #101418 !important;
  font-size: 1.7rem;
}

.btn-light-pill {
  background: #fff !important;
  color: #101418 !important;
  border-radius: 999px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.widget-colunista {
  background: linear-gradient(135deg, #FFC107, #FFF3C4) !important;
  color: #101418 !important;
  border: 2px solid rgba(16,20,24,.12) !important;
}

.widget-colunista h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.05rem;
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.widget-colunista p { color: #475569; font-size: .84rem; margin-bottom: 11px; }

.widget-title { color: #101418 !important; font-family: 'Montserrat', sans-serif !important; letter-spacing: -.02em !important; }
.widget-title::before { background: #E53935 !important; }
.mini-info { color: #101418 !important; font-weight: 800; }
.mini-info em { color: #64748B !important; }
.ranked .mini-num { background: #E53935 !important; color: #fff !important; border-radius: 7px; }

/* ═══════════════════════════════
   FOOTER
═══════════════════════════════ */
.site-footer {
  background:
    radial-gradient(circle at 100% 0%, rgba(229,57,53,.12), transparent 26%),
    linear-gradient(135deg, #101418, #171B20 65%, #2B1515) !important;
  border-top: 5px solid #FFC107 !important;
  color: #fff;
}

.footer-brand img {
  width: 80px !important;
  height: 80px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  background: transparent !important;
  padding: 0 !important;
}

.footer-brand strong {
  font-family: 'Montserrat', sans-serif !important;
  color: #fff !important;
  font-size: 1.3rem !important;
  line-height: .9 !important;
  letter-spacing: -.06em !important;
}

.footer-brand strong span { color: #FFC107 !important; }
.footer-about small { color: #FFC107 !important; font-weight: 900; display: block; margin-top: 4px; font-size: .82rem; }
.footer-col h4 { color: #FFC107 !important; }
.footer-col nav a:hover { color: #FFC107 !important; }
.footer-bottom-inner span { color: rgba(255,255,255,.42); }

/* ═══════════════════════════════
   INTERNAL PAGES
═══════════════════════════════ */
.widget-brand img {
  width: 68px !important;
  height: 68px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
}

.login-card img {
  width: 90px !important;
  height: 90px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
}

.admin-brand img {
  width: 50px !important;
  height: 50px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
}

/* ═══════════════════════════════
   RESPONSIVE
═══════════════════════════════ */
@media (max-width: 1100px) {
  .header-main { min-height: 86px; }
  .pbs-header-right { justify-self: end; width: 100%; }
  .hero-grid { grid-template-columns: 1fr; }
  #homeSidebar .sidebar { grid-template-columns: repeat(2, 1fr); }
  .post-grid, .latest-premium .post-grid { grid-template-columns: repeat(2, 1fr); }
  .ad-placeholder-premium { grid-template-columns: 100px 1fr auto; gap: 12px; padding: 14px 18px; }
  .ad-placeholder-premium .ad-mascot { width: 88px; height: 78px; }
  .ad-placeholder-premium .ad-mascot img { width: 80px !important; height: 90px !important; }
  /* Static/article pages: stack sidebar below */
  .main-shell:not(.home-blocks) { grid-template-columns: 1fr; }
  .article-layout { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .header-main { min-height: 72px; padding: 8px 0; gap: clamp(8px, 2vw, 16px); }
  .brand img { width: 58px !important; height: 58px !important; }
  .brand-text strong { font-size: 1.2rem; }
  .brand-text small { display: none; }
  .pbs-header-right { display: none; }
  .hamburger { display: flex !important; }
  .hero-grid { gap: 10px; }
  .hero-main { min-height: 310px; box-shadow: 6px 6px 0 #FFC107, 0 14px 32px rgba(16,20,24,.2) !important; }
  /* hero-side: keep 2 cols on tablet */
  .hero-side { grid-template-columns: 1fr 1fr; }
  .hero-side .post-card:first-child { grid-column: 1 / -1; }
  .category-strip-premium { grid-template-columns: repeat(7, minmax(64px, 1fr)); }
  .ad-placeholder-premium { grid-template-columns: 1fr; text-align: center; justify-items: center; min-height: auto; gap: 10px; padding: 16px; }
  .ad-placeholder-premium .ad-mascot { display: none; }
  .ad-placeholder-premium b { width: 100%; justify-content: center; }
  #homeSidebar .sidebar { grid-template-columns: repeat(2, 1fr); }
  .category-nav { display: none; }
  body.menu-open .category-nav { display: block; }
  .cat-nav-inner { flex-direction: column; align-items: stretch; }
  .cat-nav-inner a { border-radius: 0 !important; padding: 13px 16px !important; }
  /* Fix grid-2 on contact/static pages */
  .grid-2 { grid-template-columns: 1fr; }
  .main-shell:not(.home-blocks) { grid-template-columns: 1fr; }
  .article-layout { grid-template-columns: 1fr; }
  /* Page hero */
  .page-hero { padding: 20px 16px; margin-top: 14px; }
}

@media (max-width: 560px) {
  .brand img { width: 44px !important; height: 44px !important; }
  .brand-text strong { font-size: .95rem; line-height: 1; }
  .hero-main { min-height: 240px; border-radius: 14px !important; box-shadow: 4px 4px 0 #FFC107, 0 10px 24px rgba(16,20,24,.18) !important; }
  /* hero-side: single col on phone */
  .hero-side { grid-template-columns: 1fr; }
  .hero-side .post-card:first-child { grid-column: auto; }
  .hero-tile { box-shadow: 4px 4px 0 rgba(255,193,7,.76) !important; }
  .category-strip-premium { grid-template-columns: repeat(4, minmax(62px, 1fr)); }
  .category-strip-premium a { min-height: 60px; font-size: .62rem; padding: 8px 3px; }
  .post-grid, .latest-premium .post-grid { grid-template-columns: 1fr; }
  .section-block { padding: 12px !important; border-radius: 14px !important; }
  .ad-placeholder-premium { padding: 14px; }
  #homeSidebar .sidebar { grid-template-columns: 1fr; }
  /* Breaking bar */
  .breaking-bar { grid-template-columns: 80px 1fr !important; }
  .breaking-label { font-size: .65rem; padding: 4px 3px; }
  /* Footer */
  .footer-inner { grid-template-columns: 1fr !important; gap: 20px !important; padding: 24px 0 !important; }
  .footer-bottom-inner { flex-direction: column; height: auto; padding: 14px 0; text-align: center; gap: 8px; }
  /* Share & article */
  .share-panel { flex-direction: column; }
  .share-panel .btn { width: 100%; }
  .article-card h1 { font-size: 1.8rem; }
  .article-meta { flex-direction: column; }
  .article-meta span { border-right: 0 !important; padding: 7px 0; border-bottom: 1px solid var(--line); width: 100%; }
  .article-meta span:last-child { border-bottom: 0; }
  /* Admin stats */
  .stats-grid { grid-template-columns: 1fr 1fr; }
  /* video callout */
  .video-callout { flex-direction: column; align-items: flex-start; }
}

/* ═══════════════════════════════
   STATIC PAGES: preserve 2-col layout on contato/anunciar
═══════════════════════════════ */
.main-shell {
  display: grid;
  grid-template-columns: minmax(0,1fr) 280px;
  gap: 24px;
  align-items: start;
  padding: 24px 0 56px;
}

/* ═══════════════════════════════
   HOME LAYOUT: sidebar below content (full-width)
═══════════════════════════════ */
.home-blocks {
  grid-template-columns: 1fr !important;
  padding-top: 14px;
}

.home-blocks .content-stack { gap: 18px; }

#homeSidebar {
  width: 100%;
}
