:root {
  --fato-ink: #121418;
  --fato-ink-soft: #2a2f38;
  --fato-paper: #f4f1ea;
  --fato-white: #ffffff;
  --fato-red: #c8102e;
  --fato-red-dark: #9a0c23;
  --fato-brand: #c8102e;
  --fato-navy: #0b1f3a;
  --fato-orange: #e85d04;
  --fato-muted: #5e6570;
  --fato-line: #ddd6cb;
  --fato-line-strong: #c9c0b2;
  --fato-chip: #f0eae0;
  --fato-shadow: 0 8px 24px rgba(18, 20, 24, 0.08);
  --fato-radius: 4px;
  --fato-max: 1180px;
  --fato-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --fato-sans: "Source Sans 3", "Segoe UI", sans-serif;
}

.site-header,
.topbar,
.header-brand,
.nav,
.nav-more,
.drawer,
.drawer-search,
.site-footer {
  font-family: var(--fato-sans);
  -webkit-font-smoothing: antialiased;
}

.site-header a,
.site-header button,
.site-footer a,
.site-footer button,
.nav a,
.nav button,
.drawer a,
.drawer button {
  color: inherit;
  text-decoration: none;
}

.fato-skip-link {
  position: absolute;
  left: -999px;
  top: 8px;
  background: var(--fato-red);
  color: #fff;
  padding: 8px 12px;
  z-index: 1000;
}
.fato-skip-link:focus { left: 8px; }

.fato-wrap { width: min(var(--fato-max), calc(100% - 32px)); margin-inline: auto; }

@keyframes fato-pulse {
  70% { box-shadow: 0 0 0 8px rgba(200, 16, 46, 0); }
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 400;
  background: #fff;
  border-bottom: 0;
  box-shadow: 0 1px 0 rgba(11, 31, 58, 0.08);
  overflow: visible;
}

/* top bar (protótipo: navy) */
.topbar {
  background: var(--fato-navy);
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.topbar .fato-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 28px;
}
.topbar-live {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: #fff;
}
.topbar-social {
  display: flex;
  gap: 14px;
}
.topbar-social a,
.topbar-tip {
  color: #fff;
  font-weight: 700;
}
.topbar-social a:hover,
.topbar-tip:hover { color: #ffd7a8; }
.topbar-right {
  display: flex;
  align-items: center;
  gap: 18px;
}
.fato-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e85d04;
  box-shadow: 0 0 0 0 rgba(232, 93, 4, 0.6);
  animation: fato-pulse 1.8s infinite;
}

/* brand row */
.header-brand {
  background: #fff;
  border-bottom: 1px solid #eee8de;
}
.header-main {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  min-height: 72px;
  gap: 20px;
  padding: 6px 0;
}
.header-slot {
  display: flex;
  align-items: center;
  min-width: 0;
}
.header-slot-right {
  justify-content: flex-end;
  justify-self: end;
}

.logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  flex-shrink: 0;
}
.logo img,
.logo .custom-logo {
  width: auto;
  height: auto;
  max-width: 250px;
  max-height: 100px;
  object-fit: contain;
  object-position: left center;
}

.search-form.header-search-desktop {
  display: flex;
  width: min(320px, 100%);
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid #e4ddd2;
  background: #faf8f4;
}
.search-form.header-search-desktop:focus-within {
  border-color: var(--fato-brand);
  background: #fff;
}
.search-form.header-search-desktop input {
  padding: 8px 14px;
  font-size: 14px;
  background: transparent;
  border: 0;
  width: 100%;
  outline: none;
  font-family: inherit;
}
.search-form.header-search-desktop button {
  display: grid;
  place-items: center;
  background: transparent;
  color: var(--fato-navy);
  padding: 0 12px;
  width: 44px;
  border: 0;
  cursor: pointer;
  font-family: inherit;
}
.search-form.header-search-desktop button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}
.search-form.header-search-desktop button:hover {
  background: transparent;
  color: var(--fato-brand);
}

.search-open {
  display: none;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: var(--fato-navy);
  cursor: pointer;
  padding: 6px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 13px;
  font-family: inherit;
}
.search-open svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}
.search-open:hover { color: var(--fato-brand); background: #f6f3ee; }

.menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  color: var(--fato-navy);
  cursor: pointer;
  border-radius: 4px;
  padding: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}
.menu-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.menu-toggle:hover { color: var(--fato-brand); background: #f6f3ee; }
.menu-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* nav */
.nav {
  background: #fff;
  border-bottom: 1px solid #eee8de;
  overflow: visible;
}
.nav > ul {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  overflow: visible;
  min-height: 40px;
  flex-wrap: nowrap;
  width: min(var(--fato-max), calc(100% - 32px));
}
.nav a,
.nav-more-btn {
  position: relative;
  display: block;
  padding: 10px 11px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--fato-navy);
  background: none;
  border: 0;
  cursor: pointer;
  font-family: inherit;
}
.nav a::after,
.nav-more-btn::after {
  content: "";
  position: absolute;
  left: 11px;
  right: 11px;
  bottom: 5px;
  height: 2px;
  background: var(--fato-brand);
  transform: scaleX(0);
  transition: transform 0.2s ease;
}
.nav a:hover,
.nav a.is-active,
.nav .current-menu-item > a,
.nav .current_page_item > a,
.nav-more-btn:hover,
.nav-more.is-open .nav-more-btn { color: var(--fato-brand); }
.nav a:hover::after,
.nav a.is-active::after,
.nav .current-menu-item > a::after,
.nav .current_page_item > a::after,
.nav-more-btn:hover::after,
.nav-more.is-open .nav-more-btn::after { transform: scaleX(1); }

.nav li {
  position: relative;
}
.nav li.menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-right: 4px;
}
.nav li.menu-item-has-children > a::before {
  content: "";
  order: 2;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  display: inline-block;
}

.nav .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  background: #111;
  z-index: 700;
  box-shadow: 0 12px 28px rgba(18, 20, 24, 0.18);
  display: none;
}
.nav li:hover > .sub-menu,
.nav li:focus-within > .sub-menu,
.nav li.is-open > .sub-menu { display: block; }
.nav .sub-menu li { display: block; width: 100%; }
.nav .sub-menu a {
  color: #fff;
  padding: 12px 18px;
  letter-spacing: 0.08em;
}
.nav .sub-menu a::after { display: none; }
.nav .sub-menu a:hover,
.nav .sub-menu a.is-active {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.nav li[hidden],
.nav-more[hidden] { display: none !important; }
.nav-more { position: relative; }
.nav-more-menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid #eee8de;
  box-shadow: 0 10px 24px rgba(18, 20, 24, 0.08);
  z-index: 700;
  padding: 6px 0;
}
.nav-more.is-open .nav-more-menu { display: block; }
.nav-more-menu a {
  display: block;
  padding: 10px 16px;
  font-size: 12px;
}
.nav-more-menu a::after { display: none; }

/* drawer search */
.drawer-search {
  display: none;
  background: #fff;
  border-top: 1px solid var(--fato-line);
  padding: 12px 0 14px;
  font-family: var(--fato-sans);
}
.drawer-search.is-open { display: block; }
.drawer-search .search-form,
.drawer-search form.search-form {
  display: flex;
  width: min(520px, 100%);
  margin-left: auto;
  border-radius: 8px;
  border: 1px solid var(--fato-line-strong);
  background: #fff;
  overflow: hidden;
}
.drawer-search form.search-form input {
  border: 0;
  background: transparent;
  padding: 11px 14px;
  width: 100%;
  outline: none;
  font-size: 15px;
  font-family: inherit;
}
.drawer-search form.search-form button {
  border: 0;
  background: var(--fato-brand);
  color: #fff;
  padding: 0 16px;
  cursor: pointer;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-family: inherit;
}
.drawer-search form.search-form button:hover { background: var(--fato-red-dark); }

.drawer-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(11, 31, 58, 0.42);
  z-index: 450;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.drawer-overlay.is-open { display: block; }
.drawer-overlay[hidden] { display: none !important; }

.drawer {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(320px, 86vw);
  background: #fff;
  z-index: 500;
  transform: translateX(-105%);
  transition: transform 0.24s ease;
  box-shadow: 8px 0 24px rgba(18, 20, 24, 0.12);
  overflow-y: auto;
  padding: 18px 0 28px;
  font-family: var(--fato-sans);
}
.drawer.is-open { transform: translateX(0); }
.drawer-panel { padding: 0 20px; }
.drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eee8de;
}
.drawer-head strong {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fato-navy);
}
.drawer-close {
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  color: var(--fato-navy);
  font-size: 22px;
  cursor: pointer;
  border-radius: 4px;
  font-family: inherit;
}
.drawer-close:hover { color: var(--fato-brand); background: #f6f3ee; }
.drawer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.drawer a {
  display: block;
  padding: 13px 0;
  border-bottom: 1px solid #f0ebe3;
  color: var(--fato-navy);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.06em;
}
.drawer a:hover,
.drawer a.is-active { color: var(--fato-brand); }
.drawer .sub-menu {
  padding: 0 0 6px 14px;
  border-bottom: 1px solid #f0ebe3;
}
.drawer .sub-menu a {
  padding: 9px 0;
  font-size: 12px;
  font-weight: 700;
  border-bottom: 0;
  color: var(--fato-muted);
  text-transform: uppercase;
}
.drawer .sub-menu a:hover { color: var(--fato-brand); }

body.menu-open { overflow: hidden; }

/* content area sits below the custom (prototype) header */
body:not(.tdc-header-template) .td-main-content-wrap.td-main-page-wrap,
body:not(.tdc-no-header) .td-main-content-wrap.td-main-page-wrap {
  padding-top: 0;
}

/* prototype paper background across the site */
body {
  background: var(--fato-paper);
}
.td-main-content-wrap.td-container-wrap {
  background: var(--fato-paper);
}
.td-main-content-wrap > .td-container,
.td-main-content-wrap .td-container.tdc-content-wrap {
  background: transparent;
}

/* institutional / legal pages rendered as a prototype "card" */
body.fato-legal-page .td-main-content-wrap .td-ss-main-content {
  background: #fff;
  border: 1px solid var(--fato-line);
  padding: 28px 28px 36px;
}
body.fato-legal-page .td-main-content-wrap .td-pb-span4.td-main-sidebar {
  display: none;
}
body.fato-legal-page .td-main-content-wrap .td-pb-span8.td-main-content {
  width: 100%;
  max-width: 760px;
  padding: 0;
  margin: 0 auto;
  float: none;
}
body.fato-legal-page .td-main-content-wrap .td-pb-row .td-pb-span8.td-main-content {
  width: 100%;
}
body.fato-legal-page .td-main-content-wrap .td-pb-row:before,
body.fato-legal-page .td-main-content-wrap .td-pb-row:after {
  display: none;
}
body.fato-legal-page .td-main-content-wrap .td-crumb-container,
body.fato-legal-page .td-main-content-wrap .td-page-header {
  padding: 0;
  margin-bottom: 0;
}
body.fato-legal-page .td-main-content-wrap .td-page-header .breadcrumb,
body.fato-legal-page .td-main-content-wrap .entry-crumbs {
  font-family: var(--fato-sans);
  font-size: 13px;
  color: var(--fato-muted);
  margin: 0 0 14px;
}
body.fato-legal-page .td-main-content-wrap .entry-crumbs a {
  color: var(--fato-muted);
}
body.fato-legal-page .td-main-content-wrap .entry-crumbs a:hover {
  color: var(--fato-red);
}
body.fato-legal-page .td-main-content-wrap .td-bread-sep {
  margin: 0 6px;
  color: var(--fato-muted);
}
body.fato-legal-page .td-main-content-wrap .td-page-header {
  margin-bottom: 0;
}
body.fato-legal-page .td-main-content-wrap .entry-title.td-page-title {
  font-family: var(--fato-serif);
  font-size: 42px;
  line-height: 1.12;
  margin: 0 0 8px;
  letter-spacing: -0.03em;
  color: var(--fato-ink);
}
body.fato-legal-page .td-main-content-wrap .td-page-content {
  font-family: var(--fato-sans);
  font-size: 17px;
  line-height: 1.7;
  color: var(--fato-ink-soft);
}
body.fato-legal-page .td-main-content-wrap .td-page-content p {
  margin: 0 0 18px;
}
body.fato-legal-page .td-main-content-wrap .td-page-content h2 {
  font-family: var(--fato-serif);
  font-size: 20px;
  margin: 28px 0 10px;
  color: var(--fato-navy);
}
body.fato-legal-page .td-main-content-wrap .td-page-content h3 {
  font-family: var(--fato-serif);
  font-size: 16px;
  margin: 18px 0 8px;
}
body.fato-legal-page .td-main-content-wrap .td-page-content ul {
  padding-left: 20px;
  margin: 0 0 18px;
}
body.fato-legal-page .td-main-content-wrap .td-page-content li {
  color: var(--fato-ink-soft);
}
body.fato-legal-page .td-main-content-wrap .td-page-content a {
  color: var(--fato-red-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.fato-legal-page .td-main-content-wrap .td-page-content a:hover {
  color: var(--fato-red);
}
body.fato-legal-page .td-main-content-wrap .td-page-content blockquote {
  border-left: 4px solid var(--fato-brand);
  margin: 22px 0;
  padding: 4px 0 4px 20px;
  font-family: var(--fato-serif);
  font-size: 19px;
  color: var(--fato-ink);
}
body.fato-legal-page .td-main-content-wrap .info-pending {
  background: #faf8f4;
  border: 1px dashed var(--fato-line-strong);
  padding: 14px 16px;
  margin: 16px 0;
}
body.fato-legal-page .td-main-content-wrap .info-pending dt {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fato-muted);
  margin-top: 10px;
}
body.fato-legal-page .td-main-content-wrap .info-pending dt:first-child {
  margin-top: 0;
}
body.fato-legal-page .td-main-content-wrap .info-pending dd {
  margin: 2px 0 0;
  font-weight: 700;
}
body.fato-legal-page .td-main-content-wrap .info-pending dd.is-empty {
  font-weight: 600;
  color: #8a5a12;
}
body.fato-legal-page .td-main-content-wrap .portal-form label,
body.fato-legal-page .td-main-content-wrap .wpforms-field-label {
  display: block;
  font-weight: 700;
  font-size: 13px;
  margin: 0 0 6px;
}
body.fato-legal-page .td-main-content-wrap input[type="text"],
body.fato-legal-page .td-main-content-wrap input[type="email"],
body.fato-legal-page .td-main-content-wrap input[type="tel"],
body.fato-legal-page .td-main-content-wrap select,
body.fato-legal-page .td-main-content-wrap textarea,
body.fato-legal-page .td-main-content-wrap .wpforms-field input,
body.fato-legal-page .td-main-content-wrap .wpforms-field select,
body.fato-legal-page .td-main-content-wrap .wpforms-field textarea {
  width: 100%;
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid var(--fato-line);
  background: #fff;
  font: inherit;
  color: var(--fato-ink);
  border-radius: 0;
}
body.fato-legal-page .td-main-content-wrap input:focus,
body.fato-legal-page .td-main-content-wrap select:focus,
body.fato-legal-page .td-main-content-wrap textarea:focus,
body.fato-legal-page .td-main-content-wrap .wpforms-field input:focus,
body.fato-legal-page .td-main-content-wrap .wpforms-field select:focus,
body.fato-legal-page .td-main-content-wrap .wpforms-field textarea:focus {
  border-color: var(--fato-brand);
  outline: none;
}
body.fato-legal-page .td-main-content-wrap .btn,
body.fato-legal-page .td-main-content-wrap .wpforms-submit {
  display: inline-block;
  background: var(--fato-brand);
  color: #fff;
  border: 0;
  padding: 12px 22px;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}
body.fato-legal-page .td-main-content-wrap .btn:hover,
body.fato-legal-page .td-main-content-wrap .wpforms-submit:hover {
  background: var(--fato-red-dark);
}
body.fato-legal-page .td-main-content-wrap .honeypot {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}
body.fato-legal-page .td-main-content-wrap .ad-sidebar {
  background: transparent;
}
body.fato-legal-page .td-main-content-wrap .td-ss-main-sidebar > aside {
  background: #fff;
  border: 1px solid var(--fato-line);
  padding: 14px;
  margin: 0 0 20px;
}

/* news modules rendered as prototype cards (white card on paper) */
.tdc-zone .td_flex_block_1 .td_block_inner,
.tdc-zone .td_flex_block_4 .td_block_inner,
.tdc-zone .td_flex_block_5 .td_block_inner {
  gap: 18px;
}
.tdc-zone .td_module_flex,
.tdc-zone .td_module_flex_1,
.tdc-zone .td_module_flex_5 {
  background: #fff;
  border: 1px solid var(--fato-line);
  overflow: hidden;
}
.tdc-zone .td_module_flex:hover,
.tdc-zone .td_module_flex_1:hover,
.tdc-zone .td_module_flex_5:hover {
  box-shadow: 0 4px 14px rgba(18, 20, 24, 0.12);
}
.tdc-zone .td-module-container {
  background: #fff;
}
.tdc-zone .td-module-title a {
  font-family: var(--fato-serif);
  font-weight: 700;
  color: var(--fato-ink);
}
.tdc-zone .td-module-title a:hover {
  color: var(--fato-red);
}
.tdc-zone .td-post-category {
  font-family: var(--fato-sans);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--fato-red);
}
.tdc-zone .td-module-meta-info {
  font-family: var(--fato-sans);
  font-size: 13px;
  color: var(--fato-muted);
}
.tdc-zone .td-excerpt {
  font-family: var(--fato-sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--fato-ink-soft);
}

/* single article body follows prototype typography */
.tdc-zone .td-post-content.tagdiv-type,
.tdc-zone .tdb_single_content,
.tdc-zone .tdb_single_content .tdb-block-inner,
.tdc-zone .tdb_single_content > p,
.tdc-zone .tdb_single_content p,
.td-post-content.tagdiv-type {
  font-family: var(--fato-serif) !important;
  font-size: 18.5px !important;
  line-height: 1.7 !important;
  color: var(--fato-ink-soft);
}
.tdc-zone .tdb_single_content .tdb-block-inner > p,
.tdc-zone .tdb_single_content .tdb-block-inner p {
  font-family: var(--fato-serif) !important;
  font-size: 18.5px !important;
  line-height: 1.7 !important;
  color: var(--fato-ink-soft);
}
.td-post-content.tagdiv-type p,
.tdc-zone .td-post-content.tagdiv-type p,
.tdc-zone .tdb_single_content p {
  margin: 0 0 18px;
}
.tdc-zone .td-post-content.tagdiv-type a,
.tdc-zone .tdb_single_content a,
.td-post-content.tagdiv-type a {
  color: var(--fato-red-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tdc-zone .td-post-content.tagdiv-type h1,
.tdc-zone .td-post-content.tagdiv-type h2,
.tdc-zone .tdb_single_content h2,
.tdc-zone .tdb_single_content .tdb-block-inner h2,
.tdc-zone .tdb_single_content h1,
.tdc-zone .tdb_single_content .tdb-block-inner h1,
.tdc-zone .tdb_single_content .wp-block-heading {
  font-family: var(--fato-serif) !important;
  color: var(--fato-navy);
}
.tdc-zone .td-post-content.tagdiv-type h2,
.tdc-zone .tdb_single_content h2 {
  font-size: 24px !important;
  margin: 28px 0 12px;
}
.tdc-zone .td-post-content.tagdiv-type img {
  max-width: 100%;
}

/* single article title / metadata follows prototype */
.tdc-zone .td_block_text_with_title h2,
.tdc-zone .td_block_text_with_title h3,
.tdc-zone .td_block_text_with_title,
.tdc-zone .td_block_text_with_title p {
  font-family: var(--fato-serif) !important;
  color: var(--fato-ink) !important;
}
.tdc-zone .td_block_text_with_title h2 {
  font-size: 28px !important;
  letter-spacing: -0.02em !important;
}
.tdc-zone .td_block_text_with_title h3 {
  font-size: 20px !important;
}
.tdc-zone .tdb_title .tdb-title-text,
.tdc-zone .tdb_single_post_title .tdb-title-text {
  font-family: var(--fato-serif) !important;
  font-size: clamp(30px, 4vw, 46px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
  color: var(--fato-ink);
}
.tdc-zone .tdb_title .tdb-title-line,
.tdc-zone .tdb_single_post_title .tdb-title-line {
  border-top-width: 0;
}
.tdc-zone .tdb_single_author,
.tdc-zone .tdb_single_date,
.tdc-zone .tdb_single_post_share .td-social-i {
  font-family: var(--fato-sans);
  font-size: 13px;
  color: var(--fato-muted);
}

/* category archive following the prototype (novo_tema/categoria.html) */
body.fato-category-page .td-main-content-wrap.td-container-wrap,
body.fato-category-page .td-main-content-wrap > .td-container {
  background: transparent;
}
body.fato-category-page .td-container {
  padding: 0;
}
body.fato-category-page .page-main {
  padding: 22px 0 48px;
}
body.fato-category-page .breadcrumb {
  font-family: var(--fato-sans);
  font-size: 13px;
  color: var(--fato-muted);
  margin: 0 0 14px;
}
body.fato-category-page .breadcrumb a {
  color: var(--fato-muted);
  text-decoration: none;
}
body.fato-category-page .breadcrumb a:hover {
  color: var(--fato-red);
}
body.fato-category-page .breadcrumb .current {
  margin-left: 6px;
  color: var(--fato-ink);
}
body.fato-category-page .kicker {
  font-family: var(--fato-sans);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fato-red);
  margin: 0 0 8px;
}
body.fato-category-page .page-title {
  font-family: var(--fato-serif);
  font-size: 42px;
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: var(--fato-ink);
  margin: 0 0 8px;
}
body.fato-category-page .lead {
  font-family: var(--fato-sans);
  color: var(--fato-muted);
  font-size: 16px;
  margin: 0 0 22px;
}
body.fato-category-page .featured-block {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
  background: #fff;
  border: 1px solid var(--fato-line);
  margin-bottom: 22px;
  overflow: hidden;
}
body.fato-category-page .featured-block img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  display: block;
}
body.fato-category-page .featured-copy {
  padding: 20px 18px;
  font-family: var(--fato-sans);
}
body.fato-category-page .featured-copy .title,
body.fato-category-page .featured-copy .title a {
  font-family: var(--fato-serif);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: var(--fato-ink);
  text-decoration: none;
}
body.fato-category-page .featured-copy .title a:hover {
  color: var(--fato-red);
}
body.fato-category-page .featured-copy .excerpt {
  font-family: var(--fato-sans);
  font-size: 15.5px;
  color: var(--fato-ink-soft);
  margin: 0 0 10px;
}
body.fato-category-page .featured-copy .meta,
body.fato-category-page .list-item .meta {
  font-family: var(--fato-sans);
  font-size: 13px;
  color: var(--fato-muted);
  margin: 0;
}
body.fato-category-page .cat {
  display: inline-block;
  font-family: var(--fato-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fato-red);
  margin-bottom: 6px;
}
body.fato-category-page .portal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 28px;
  align-items: start;
}
body.fato-category-page .list-item {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 16px;
  padding: 16px;
  border-bottom: 1px solid var(--fato-line);
  background: #fff;
}
body.fato-category-page .list-item:first-child {
  border-top: 1px solid var(--fato-line);
}
body.fato-category-page .list-item img,
body.fato-category-page .list-item-img img {
  width: 210px;
  height: 132px;
  object-fit: cover;
  display: block;
}
body.fato-category-page .list-item .cat {
  margin-bottom: 4px;
}
body.fato-category-page .list-item .title,
body.fato-category-page .list-item .title a {
  font-family: var(--fato-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: var(--fato-ink);
  text-decoration: none;
  margin: 0 0 6px;
}
body.fato-category-page .list-item .title a:hover {
  color: var(--fato-red);
}
body.fato-category-page .list-item .excerpt {
  font-family: var(--fato-sans);
  font-size: 15.5px;
  color: var(--fato-ink-soft);
  margin: 0 0 8px;
}
body.fato-category-page .pagination {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 28px;
  font-family: var(--fato-sans);
}
body.fato-category-page .pagination a,
body.fato-category-page .pagination span {
  min-width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--fato-line-strong);
  background: #fff;
  font-weight: 700;
  font-size: 15px;
  color: var(--fato-ink);
  text-decoration: none;
}
body.fato-category-page .pagination .current,
body.fato-category-page .pagination span.current {
  background: var(--fato-ink);
  color: #fff;
  border-color: var(--fato-ink);
}
body.fato-category-page .pagination a:hover {
  color: var(--fato-red);
  border-color: var(--fato-red);
}
body.fato-category-page .ad-sidebar {
  position: sticky;
  top: 8px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 300px;
  justify-self: end;
}
body.fato-category-page .ad-sidebar .widget {
  background: #fff;
  border: 1px solid var(--fato-line);
  padding: 16px;
}
body.fato-category-page .ad-sidebar .widget h3 {
  margin: 0 0 12px;
  font-family: var(--fato-sans);
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fato-ink);
}
body.fato-category-page .ad-sidebar .widget ol {
  margin: 0;
  padding: 0 0 0 18px;
}
body.fato-category-page .ad-sidebar .widget li {
  padding: 8px 0;
  border-bottom: 1px solid var(--fato-line);
  font-family: var(--fato-serif);
  font-size: 16px;
}
body.fato-category-page .ad-sidebar .widget li:last-child {
  border-bottom: 0;
}
body.fato-category-page .ad-sidebar .widget li a {
  color: var(--fato-ink);
  text-decoration: none;
}
body.fato-category-page .ad-sidebar .widget li a:hover {
  color: var(--fato-red);
}
body.fato-category-page .ad-sidebar-ads {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 300px;
  max-width: 100%;
}
body.fato-category-page .ad-slot--box {
  width: 300px;
  max-width: 100%;
  margin-inline: auto;
}
body.fato-category-page .ad-slot--box .ad-unit,
body.fato-category-page .ad-slot--box .ad-demo-img img {
  width: 300px;
  max-width: 100%;
  height: 250px;
  object-fit: cover;
}
body.fato-category-page .fato-empty {
  font-family: var(--fato-sans);
  color: var(--fato-muted);
  padding: 24px;
  background: #fff;
  border: 1px solid var(--fato-line);
}

@media (max-width: 980px) {
  body.fato-category-page .portal-layout {
    grid-template-columns: 1fr;
  }
  body.fato-category-page .ad-sidebar {
    display: none;
  }
  body.fato-category-page .featured-block {
    grid-template-columns: 1fr;
  }
  body.fato-category-page .featured-block img {
    min-height: 200px;
  }
}
@media (max-width: 600px) {
  body.fato-category-page .list-item {
    grid-template-columns: 120px 1fr;
  }
  body.fato-category-page .list-item img,
  body.fato-category-page .list-item-img img {
    width: 120px;
    height: 86px;
  }
  body.fato-category-page .page-title {
    font-size: 32px;
  }
}

/* footer */
.site-footer {
  background: var(--fato-ink);
  color: #d9d3c8;
  padding: 40px 0 18px;
  margin-top: 20px;
  font-family: var(--fato-sans);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 28px;
}
.site-footer h3 {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 12px;
}
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin: 0 0 8px; }
.site-footer a { color: #d9d3c8; }
.site-footer a:hover { color: #fff; }
.footer-brand img { height: 64px; width: auto; filter: brightness(1.1); }
.footer-copy {
  border-top: 1px solid #2c3138;
  margin-top: 28px;
  padding-top: 14px;
  font-size: 13px;
  color: #9b958b;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid #2c3138;
  font-size: 12px;
}
.footer-legal-links a { color: #bdb6ab; }

/* responsiveness */
@media (max-width: 1280px) {
  .nav a,
  .nav-more-btn { padding-inline: 9px; }
  .nav a::after,
  .nav-more-btn::after { left: 9px; right: 9px; }
  .search-form.header-search-desktop { width: min(280px, 100%); }
}
@media (max-width: 1100px) {
  .nav a,
  .nav-more-btn { padding-inline: 8px; font-size: 11px; }
  .nav a::after,
  .nav-more-btn::after { left: 8px; right: 8px; }
  .logo img,
  .logo .custom-logo {
    width: auto;
	max-width: 200px;
    max-height: 82px;
  }
}
@media (max-width: 980px) {
  .header-main {
    grid-template-columns: 42px 1fr 42px;
    min-height: 64px;
  }
  .search-form.header-search-desktop { display: none; }
  .search-open { display: grid; place-items: center; }
  .search-open span { display: none; }
  .menu-toggle { display: flex; }
  .nav { display: none; }
  .topbar-social { display: none; }
  .topbar-live { font-size: 10px; }
  .drawer-search .search-form,
  .drawer-search form.search-form {
    width: 100%;
    margin: 0;
  }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .logo img,
  .logo .custom-logo {
    width: auto;
	max-width: 200px;
    max-height: 82px;
  }
}
@media (max-width: 480px) {
  .logo img,
  .logo .custom-logo {
    width: auto;
	max-width: 200px;
    max-height: 75px;
}
  .topbar .fato-wrap { min-height: 26px; }
}
@media (max-width: 390px) {
  .logo img,
  .logo .custom-logo {
    width: auto;
	max-width: 200px;
    max-height: 75px;
  }
  .fato-wrap { width: min(var(--fato-max), calc(100% - 24px)); }
  .header-main { gap: 4px; }
}
@media (max-width: 640px) {
  .footer-grid { grid-template-columns: 1fr; }
}

body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

.fato-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
/* ===== HOME — protótipo novo_tema/index.html ===== */
body.home .td-main-content-wrap .td-container.tdc-content-wrap {
  background: transparent;
}

/* section head (modelo .section-head) */
.fato-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 36px 0 16px;
  border-bottom: 2px solid var(--fato-ink);
  padding-bottom: 8px;
}
.fato-section-head h2 {
  font-family: var(--fato-serif);
  font-size: 28px;
  margin: 0;
  line-height: 1.1;
}
.fato-section-head .fato-section-more {
  font-family: var(--fato-sans);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--fato-brand);
  text-decoration: none;
  white-space: nowrap;
}
.fato-section-head .fato-section-more:hover { color: var(--fato-red-dark); }

/* colunas: sem gap interno indevido nos blocos de listas */
.fato-hero-side .td_block_inner,
.fato-feed .td_block_inner,
.fato-política .td_block_inner,
.fato-politica .td_block_inner,
.fato-camara .td_block_inner {
  gap: 0;
}

/* ---- hero (FL2) ---- */
.fato-hero-main .td_flex_block_2 .td-module-thumb a:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,14,20,0) 30%, rgba(10,14,20,0.9) 78%, rgba(10,14,20,0.95) 100%);
  z-index: 1;
}
.fato-hero-main .td_flex_block_2 .td-module-meta-info {
  z-index: 2;
  padding: 36px 28px 26px !important;
}
.fato-hero-main .td_flex_block_2 .entry-title a {
  font-size: clamp(28px, 3.5vw, 46px);
  line-height: 1.08;
  color: #fff;
}
.fato-hero-main .td_module_flex_2 .td-post-category {
  background: transparent;
  color: var(--fato-red);
  padding: 0;
  font-size: 12px;
  letter-spacing: 0.14em;
  margin-bottom: 8px;
}
.fato-hero-main .td-editor-date,
.fato-hero-main .td-post-author-name,
.fato-hero-main .td-post-date {
  color: #c9c2b6;
}
.fato-hero-main .td-post-author-name a { color: #e8e2d8; }

/* ---- hero-side story rows (FL1) ---- */
.fato-hero-side {
  background: #fff;
  border: 1px solid var(--fato-line);
}
/* preenche a altura do carrossel 16/10 e distribui as 3 story rows no card */
.fato-hero-side .wpb_wrapper,
.fato-hero-side .td_block_wrap,
.fato-hero-side .td_block_inner {
  height: 100% !important;
}
.fato-hero-side .td_block_inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.fato-hero-side .td_module_wrap {
  border: 0;
  border-bottom: 1px solid var(--fato-line);
  padding: 16px;
  background: #fff;
}
.fato-hero-side .td_module_wrap:last-child { border-bottom: 0; }
/* remove o efeito 3d (sombra em volta do card) no hover das story rows —
   herda do .tdc-zone .td_module_flex:hover logo acima */
.tdc-zone .fato-hero-side .td_module_wrap:hover,
.tdc-zone .fato-hero-side .td_module_flex:hover {
  box-shadow: none;
}
.fato-hero-side .td-module-container {
  align-items: center;
}
.fato-hero-side .td-image-container {
  flex: 0 0 128px !important;
  width: 128px !important;
  margin-right: 14px;
}
.fato-hero-side .td-image-wrap { padding-bottom: 75% !important; }
.fato-hero-side .entry-title a { font-size: 18px; line-height: 1.25; }
.fato-hero-side .td-post-category {
  background: transparent;
  color: var(--fato-red);
  font-size: 11px;
  letter-spacing: 0.12em;
  margin-bottom: 4px;
}

/* desliga a animação "up fade" (td-animation-stack-type0-2 e variantes) nas story rows e nas mais lidas.
   o tagDiv injeta a classe com sufixo (ex.: td-animation-stack-type0-2) no entry-thumb via JS,
   por isso o seletor é por substring [class*="td-animation-stack"] (casa td-animation-stack
   e todas as variantes type0/1/2-N). Também desliga o fade do overlay no :hover das rows. */
.fato-hero-side [class*="td-animation-stack"],
.fato-hero-side [class*="td-animation-stack"] .entry-thumb,
.fato-hero-side [class*="td-animation-stack"] .td-image-wrap,
.fato-hero-side [class*="td-animation-stack"] img,
.fato-mais-lidas [class*="td-animation-stack"],
.fato-mais-lidas [class*="td-animation-stack"] .entry-thumb,
.fato-mais-lidas [class*="td-animation-stack"] .td-image-wrap,
.fato-mais-lidas [class*="td-animation-stack"] img {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}
.fato-hero-side .td-module-container:hover .entry-thumb:before,
.fato-hero-side .td-module-container:hover .entry-thumb,
.fato-hero-side .td-module-container:hover .td-image-wrap,
.fato-hero-side .td-module-container:hover img,
.fato-mais-lidas .td-module-container:hover .entry-thumb:before,
.fato-mais-lidas .td-module-container:hover .entry-thumb,
.fato-mais-lidas .td-module-container:hover .td-image-wrap,
.fato-mais-lidas .td-module-container:hover img {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* ---- 3/4 feed (list-items) ---- */
.fato-feed .td_module_wrap {
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--fato-line);
  padding: 16px;
}
.fato-feed .td-module-container { align-items: flex-start; }
.fato-feed .td-image-container {
  flex: 0 0 210px !important;
  width: 210px !important;
  margin-right: 16px;
}
.fato-feed .td-image-wrap { padding-bottom: 62.85% !important; }
.fato-feed .entry-title a { font-size: 22px; line-height: 1.25; }
.fato-feed .td-post-category {
  background: transparent;
  color: var(--fato-red);
  font-size: 11px;
  letter-spacing: 0.12em;
  margin-bottom: 4px;
}
.fato-feed .td-excerpt {
  margin: 8px 0;
  font-size: 15px;
  line-height: 1.5;
}
.fato-feed .td-editor-date { margin-top: 6px; }

/* ---- feed load more (botão padrão modelo .btn) ---- */
.fato-feed .td-load-more-wrap {
  text-align: center;
  margin-top: 22px;
}
.fato-feed .td-load-more-wrap a.td_ajax_load_more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--fato-ink);
  background: var(--fato-ink);
  color: #fff !important;
  padding: 11px 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 12px;
  cursor: pointer;
  font-family: var(--fato-sans);
}
.fato-feed .td-load-more-wrap a.td_ajax_load_more:hover {
  background: var(--fato-red);
  border-color: var(--fato-red);
}
.fato-feed .td-load-more-wrap a.td_ajax_load_more .td-load-more-icon {
  display: none;
}
.fato-feed .td-load-more-wrap a.td_ajax_load_more:before {
  content: "Carregar mais";
  font-size: 12px;
  font-family: var(--fato-sans);
}
.fato-feed .td-load-more-wrap a.td_ajax_load_more {
  font-size: 0 !important;
}

/* ---- sidebar (Mais lidas widget + ads) ---- */
/* alinha a borda direita do wrapper (Mais lidas + ads) com a do .fato-hero-side:
   a coluna do Newspaper tem padding direito (24/20/14px) que embuta o conteúdo;
   a borda do card do hero-side fica na borda da coluna, então o padding direito
   da sidebar é anulado para as duas caixas terminarem no mesmo ponto. */
.td-pb-row .fato-sidebar { padding-right: 0 !important; }
.fato-sidebar .fato-mais-lidas {
  background: #fff;
  border: 1px solid var(--fato-line);
  padding: 16px;
  margin-bottom: 18px;
}
.tdc-zone .fato-sidebar h2.fato-widget-title {
  font-family: var(--fato-sans) !important;
  font-size: 13px !important;
  font-weight: 400;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  color: var(--fato-ink) !important;
  margin: 0 0 12px;
}
.fato-sidebar .fato-mais-lidas .td_module_wrap {
  background: transparent;
  border: 0;
  padding: 8px 0;
  border-bottom: 1px solid var(--fato-line);
  counter-increment: fato-mais;
}
.fato-sidebar .fato-mais-lidas .td_module_wrap:last-child { border-bottom: 0; }
/* remove o efeito 3d (sombra em volta do card) no hover dos itens de Mais lidas */
.tdc-zone .fato-mais-lidas .td_module_wrap:hover,
.tdc-zone .fato-mais-lidas .td_module_flex:hover {
  box-shadow: none;
}
.fato-sidebar .fato-mais-lidas .td-module-meta-info {
  padding-left: 0;
  position: static;
  width: 100% !important;
  max-width: 100% !important;
}
/* numeração inline "1. Título" (modelo) */
.fato-sidebar .fato-mais-lidas .td-module-meta-info:before { content: none; }
.fato-sidebar .fato-mais-lidas .entry-title a:before {
  content: counter(fato-mais) ". ";
  font-family: var(--fato-serif);
  font-weight: 400;
}
.fato-sidebar .fato-mais-lidas .entry-title a {
  font-family: var(--fato-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--fato-ink);
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.fato-sidebar .fato-mais-lidas .td-module-title {
  margin: 0;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.fato-sidebar .fato-mais-lidas .td_block_inner { counter-reset: fato-mais; }

/* ---- cards grid-3 / featured ---- */
@media (min-width: 981px) {
/* grids de cards: igualar altura (modelo .grid-3 stretch) */
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td_block_inner,
.fato-regiao .td_flex_block_1 .td_block_inner,
.fato-eee .td_flex_block_1 .td_block_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td_module_wrap,
.fato-regiao .td_flex_block_1 .td_module_wrap,
.fato-eee .td_flex_block_1 .td_module_wrap {
  float: none !important;
  width: 33.33333333% !important;
  display: flex;
  flex-direction: column;
  padding-left: 9px !important;
  padding-right: 9px !important;
  padding-bottom: 18px !important;
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td_module_wrap:nth-last-child(-n+3),
.fato-regiao .td_flex_block_1 .td_module_wrap:nth-last-child(-n+3),
.fato-eee .td_flex_block_1 .td_module_wrap:nth-last-child(-n+3) {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-module-container,
.fato-regiao .td_flex_block_1 .td-module-container,
.fato-eee .td_flex_block_1 .td-module-container {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-image-container,
.fato-regiao .td_flex_block_1 .td-image-container,
.fato-eee .td_flex_block_1 .td-image-container {
  height: auto !important;
  display: block;
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-image-wrap,
.fato-regiao .td_flex_block_1 .td-image-wrap,
.fato-eee .td_flex_block_1 .td-image-wrap {
  height: 0 !important;
  padding-bottom: calc(211 / 356 * 100%);
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-module-meta-info,
.fato-regiao .td_flex_block_1 .td-module-meta-info,
.fato-eee .td_flex_block_1 .td-module-meta-info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-editor-date,
.fato-regiao .td_flex_block_1 .td-editor-date,
.fato-eee .td_flex_block_1 .td-editor-date {
  margin-top: auto;
}
.fato-limeira .td_mod_a,
.fato-regiao .td_mod_a,
.fato-eee .td_mod_a { display: none; }
}
/* featured block = 2º bloco da seção Limeira (após o section-head) */
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(2) .td-module-container {
  display: flex;
  flex-direction: row;
  background: #fff;
  border: 1px solid var(--fato-line);
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(2) .td-image-container {
  flex: 0 0 55% !important;
  width: 55% !important;
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(2) .td-image-wrap { padding-bottom: 62.85% !important; }
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(2) .td-module-meta-info {
  padding: 20px 18px;
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(2) .entry-title a { font-size: 30px; line-height: 1.15; }
/* cards (3º bloco) + regiÃ£o + eee */
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-module-meta-info,
.fato-regiao .td_module_wrap .td-module-meta-info,
.fato-eee .td_module_wrap .td-module-meta-info {
  padding: 14px 14px 16px;
}
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-image-wrap,
.fato-regiao .td_module_wrap .td-image-wrap,
.fato-eee .td_module_wrap .td-image-wrap { padding-bottom: 62.85% !important; }
.fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .entry-title a,
.fato-regiao .td_module_wrap .entry-title a,
.fato-eee .td_module_wrap .entry-title a { font-size: 20px; line-height: 1.3; }
.fato-limeira .td-post-category,
.fato-regiao .td-post-category,
.fato-eee .td-post-category {
  background: transparent;
  color: var(--fato-red);
  font-size: 11px;
  letter-spacing: 0.12em;
  margin-bottom: 4px;
}
.fato-limeira .td_module_wrap,
.fato-regiao .td_module_wrap,
.fato-eee .td_module_wrap {
  background: #fff;
  border: 1px solid var(--fato-line);
}

/* mobile: cards em 1 coluna + featured empilhado */
@media (max-width: 980px) {
  .fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td_block_inner,
  .fato-regiao .td_flex_block_1 .td_block_inner,
  .fato-eee .td_flex_block_1 .td_block_inner {
    display: block;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td_module_wrap,
  .fato-regiao .td_flex_block_1 .td_module_wrap,
  .fato-eee .td_flex_block_1 .td_module_wrap {
    float: left !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 14px !important;
    display: block;
  }
  .fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-module-container,
  .fato-regiao .td_flex_block_1 .td-module-container,
  .fato-eee .td_flex_block_1 .td-module-container {
    height: auto;
    flex-direction: column;
  }
  .fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-image-container,
  .fato-regiao .td_flex_block_1 .td-image-container,
  .fato-eee .td_flex_block_1 .td-image-container {
    width: 100%;
    height: auto;
  }
  .fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-image-wrap,
  .fato-regiao .td_flex_block_1 .td-image-wrap,
  .fato-eee .td_flex_block_1 .td-image-wrap {
    height: 0;
    padding-bottom: 62.85% !important;
  }
  .fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(3) .td-module-meta-info,
  .fato-regiao .td_flex_block_1 .td-module-meta-info,
  .fato-eee .td_flex_block_1 .td-module-meta-info {
    flex: none;
    padding: 14px 14px 16px;
  }
  .fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(2) .td-module-container {
    flex-direction: column;
  }
  .fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(2) .td-image-container {
    flex: none !important;
    width: 100% !important;
  }
  .fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(2) .td-module-meta-info {
    max-width: none !important;
    width: 100% !important;
  }
  .fato-limeira .wpb_wrapper > .td_block_wrap:nth-child(2) .entry-title a { font-size: 24px; }
}

/* polÃ­tica (list) + cÃ¢mara (stack mini) */
.fato-politica .td_module_wrap {
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--fato-line);
  padding: 16px;
}
.fato-politica .td-module-container { align-items: flex-start; }
.fato-politica .td-image-container {
  flex: 0 0 210px !important;
  width: 210px !important;
  margin-right: 16px;
}
.fato-politica .td-image-wrap { padding-bottom: 62.85% !important; }
.fato-politica .entry-title a { font-size: 22px; line-height: 1.3; }
.fato-politica .td-post-category {
  background: transparent;
  color: var(--fato-red);
  font-size: 11px;
  letter-spacing: 0.12em;
  margin-bottom: 4px;
}
.fato-camara .td_module_wrap {
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--fato-line);
  padding: 10px 0;
}
.fato-camara .td-module-container { align-items: flex-start; }
.fato-camara .td-image-container {
  flex: 0 0 92px !important;
  width: 92px !important;
  margin-right: 10px;
}
.fato-camara .td-image-wrap { padding-bottom: 74% !important; }
.fato-camara .entry-title a { font-size: 16px; line-height: 1.3; }
.fato-camara .td-post-category {
  background: transparent;
  color: var(--fato-red);
  font-size: 10px;
  letter-spacing: 0.12em;
  margin-bottom: 3px;
}
.fato-camara .td-editor-date,
.fato-camara .td-post-date {
  font-size: 12px;
}

/* mobile: feed e política com thumb menor (210px fixo espremia o texto em telas de phone) */
@media (max-width: 600px) {
  .fato-feed .td-image-container,
  .fato-politica .td-image-container {
    flex: 0 0 120px !important;
    width: 120px !important;
    margin-right: 12px;
  }
  .fato-feed .entry-title a,
  .fato-politica .entry-title a {
    font-size: 17px;
    line-height: 1.3;
  }
  .fato-feed .td-module-meta-info,
  .fato-politica .td-module-meta-info {
    max-width: none !important;
  }
}

/* ---- ads (placeholder) ---- */
.fato-ad {
  background: var(--fato-chip);
  border: 1px dashed var(--fato-line-strong);
  display: grid;
  place-items: center;
  color: var(--fato-muted);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  overflow: hidden;
}
.fato-ad-box { width: 300px; max-width: 100%; min-height: 250px; margin: 0 auto 18px; }
.fato-ad-leader { min-height: 110px; margin-bottom: 18px; }
.fato-ad-mobile { display: none; }
@media (max-width: 980px) {
  .fato-ad-mobile { display: grid; min-height: 250px; margin-bottom: 18px; }
  .fato-ad-leader { min-height: 90px; }
}
.fato-ad-label {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid var(--fato-line-strong);
  background: #fff;
  color: var(--fato-muted);
}

/* Anúncio no meio da coluna de destaques da home (fato-hero-side): entra no
   lugar da notícia do meio do bloco td_flex_block_1 e mantém o mesmo ritmo do
   bloco — 18px de respiro e o divisor fino entre as linhas. */
.fato-hero-ad {
  float: left;
  width: 100%;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid #eaeaea;
  box-sizing: border-box;
}
.fato-hero-ad .ad-slot { margin: 0; }
.fato-hero-ad:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}
/* Anúncio renderizado dentro do wrapper do composer ([fato_ad]): o slot já
   traz o rótulo .ad-label, então o rótulo do wrapper some — senão saem dois
   "Publicidade" empilhados — e a moldura tracejada de placeholder também. */
.fato-ad:has(> .ad-slot) {
  display: block;
  /* o place-items da regra base continua valendo em block (justify-items) e
     encolhia o slot para o tamanho do conteúdo — precisa ser neutralizado */
  place-items: normal;
  /* o min-height do placeholder (250px no mobile, 110px no leader) sobraria
     como buraco embaixo de um anúncio real, que costuma ser mais baixo */
  min-height: 0;
  background: none;
  border: 0;
}
.fato-ad:has(> .ad-slot) > .fato-ad-label {
  display: none;
}

/* ---- single post following the prototype (novo_tema/noticia.html) ---- */
body.fato-single-page .td-main-content-wrap.td-container-wrap,
body.fato-single-page .td-main-content-wrap > .td-container {
  background: transparent;
}
body.fato-single-page .td-container {
  padding: 0;
}
body.fato-single-page .page-main {
  padding: 22px 0 48px;
}
body.fato-single-page .breadcrumb {
  font-family: var(--fato-sans);
  font-size: 13px;
  color: var(--fato-muted);
  margin: 0 0 14px;
}
body.fato-single-page .breadcrumb a {
  color: var(--fato-muted);
  text-decoration: none;
}
body.fato-single-page .breadcrumb a:hover {
  color: var(--fato-red);
}
body.fato-single-page .cat {
  display: inline-block;
  font-family: var(--fato-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fato-red);
  margin-bottom: 6px;
}
body.fato-single-page .article-layout {
  display: grid;
  grid-template-columns: minmax(0, 720px) 300px;
  gap: 40px;
  justify-content: center;
  align-items: start;
}
body.fato-single-page .article-title {
  font-family: var(--fato-serif);
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: var(--fato-ink);
  margin: 6px 0 10px;
}
body.fato-single-page .dek {
  font-family: var(--fato-serif);
  font-size: 20px;
  color: var(--fato-ink-soft);
  margin: 0 0 16px;
}
body.fato-single-page .byline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  font-family: var(--fato-sans);
  font-size: 14px;
  color: var(--fato-muted);
  padding-bottom: 16px;
  border-bottom: 1px solid var(--fato-line);
  margin-bottom: 18px;
}
body.fato-single-page .byline a {
  color: inherit;
  text-decoration: none;
}
body.fato-single-page .byline a:hover {
  color: var(--fato-red);
}
body.fato-single-page .share { display: flex; gap: 8px; }
body.fato-single-page .share a,
body.fato-single-page .share button {
  border: 1px solid var(--fato-line-strong);
  background: #fff;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
body.fato-single-page .hero-image { margin: 8px 0 8px; }
body.fato-single-page .hero-image img {
  width: 100%;
  max-height: 460px;
  object-fit: cover;
}
body.fato-single-page .caption {
  font-family: var(--fato-sans);
  font-size: 13px;
  color: var(--fato-muted);
  margin: 8px 0 22px;
}
body.fato-single-page .article-body {
  font-family: var(--fato-serif);
  font-size: 18.5px;
  line-height: 1.7;
  color: var(--fato-ink);
}
body.fato-single-page .article-body p { margin: 0 0 18px; }
body.fato-single-page .article-body a {
  color: var(--fato-red-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.fato-single-page .article-body iframe { max-width: 100%; }
body.fato-single-page .article-body h2 {
  font-family: var(--fato-sans);
  font-size: 24px;
  line-height: 1.25;
  margin: 28px 0 12px;
  color: var(--fato-ink);
}
body.fato-single-page .ad-article { margin: 18px 0; }
body.fato-single-page .comments-box {
  background: #fff;
  border: 1px solid var(--fato-line);
  padding: 18px;
  margin-top: 28px;
  font-family: var(--fato-sans);
}
body.fato-single-page .comments-box h2 {
  margin: 0 0 8px;
  font-size: 20px;
  color: var(--fato-ink);
}
body.fato-single-page .comments-note {
  color: var(--fato-muted);
  font-size: 14px;
  margin: 0 0 16px;
}
body.fato-single-page .comments-box label {
  display: block;
  font-weight: 700;
  font-size: 13px;
  margin: 0 0 6px;
}
body.fato-single-page .comments-box input,
body.fato-single-page .comments-box textarea {
  width: 100%;
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid var(--fato-line);
  background: #fff;
  font: inherit;
  color: var(--fato-ink);
  border-radius: 0;
}
body.fato-single-page .comments-box input:focus,
body.fato-single-page .comments-box textarea:focus {
  border-color: var(--fato-brand);
  outline: none;
}
body.fato-single-page .comments-box .btn {
  display: inline-block;
  background: var(--fato-brand);
  color: #fff;
  border: 0;
  padding: 12px 22px;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}
body.fato-single-page .comments-box .btn:hover {
  background: var(--fato-red-dark);
}
body.fato-single-page .honeypot {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}
body.fato-single-page .related {
  margin-top: 36px;
  border-top: 2px solid var(--fato-ink);
  padding-top: 16px;
}
body.fato-single-page .related h2 {
  font-family: var(--fato-serif);
  font-size: 24px;
  margin: 0 0 14px;
  color: var(--fato-ink);
}
body.fato-single-page .grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
body.fato-single-page .card {
  background: #fff;
  border: 1px solid var(--fato-line);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
body.fato-single-page .card:hover {
  transform: translateY(-2px);
  box-shadow: var(--fato-shadow);
}
body.fato-single-page .card img {
  width: 100%;
  height: 190px;
  object-fit: cover;
}
body.fato-single-page .card-body { padding: 14px 14px 16px; }
body.fato-single-page .card .title {
  font-family: var(--fato-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 8px;
}
body.fato-single-page .card .title a {
  color: var(--fato-ink);
  text-decoration: none;
}
body.fato-single-page .card .title a:hover {
  color: var(--fato-red);
}
body.fato-single-page .ad-sidebar {
  position: sticky;
  top: 8px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 300px;
  justify-self: end;
}
body.fato-single-page .ad-sidebar .widget {
  background: #fff;
  border: 1px solid var(--fato-line);
  padding: 16px;
  font-family: var(--fato-sans);
}
body.fato-single-page .ad-sidebar .widget h3 {
  margin: 0 0 12px;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fato-ink);
}
body.fato-single-page .ad-sidebar .widget ol { margin: 0; padding: 0 0 0 18px; }
body.fato-single-page .ad-sidebar .widget li {
  padding: 8px 0;
  border-bottom: 1px solid var(--fato-line);
  font-family: var(--fato-serif);
  font-size: 16px;
}
body.fato-single-page .ad-sidebar .widget li:last-child { border-bottom: 0; }
body.fato-single-page .ad-sidebar .widget li a {
  color: var(--fato-ink);
  text-decoration: none;
}
body.fato-single-page .ad-sidebar .widget li a:hover {
  color: var(--fato-red);
}
body.fato-single-page .ad-sidebar-ads {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 300px;
  max-width: 100%;
}
body.fato-single-page .ad-slot--box {
  width: 300px;
  max-width: 100%;
  margin-inline: auto;
}
body.fato-single-page .ad-slot--box .ad-unit,
body.fato-single-page .ad-slot--box .ad-demo-img img {
  width: 300px;
  max-width: 100%;
  height: 250px;
  object-fit: cover;
}

@media (max-width: 980px) {
  body.fato-single-page .article-layout {
    grid-template-columns: 1fr;
  }
  body.fato-single-page .ad-sidebar {
    display: none;
  }
  body.fato-single-page .grid-3 {
    grid-template-columns: 1fr;
  }
  body.fato-single-page .article-title {
    font-size: 32px;
  }
}

/* ==== ajustes para igualar o modelo (imagem de referência) ==== */

/* coluna do hero: sem fundo escuro herdado do css antigo */
.fato-column.fato-hero-main { background: transparent; }

/* imagem do hero preenche o bloco (sem faixa preta embaixo) — só no flex block; o carrossel tem regras próprias abaixo */
.fato-hero-main .td_flex_block_2 .td-module-thumb {
  height: auto !important;
  margin: 0 !important;
  aspect-ratio: 16 / 10;
}
.fato-hero-main .td_module_wrap { margin-bottom: 0 !important; }

/* ordem do overlay: categoria → título → resumo → porline (modelo) */
.fato-hero-main .td_flex_block_2 .td-module-meta-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.fato-hero-main .td_flex_block_2 .td-editor-date { display: contents; }
.fato-hero-main .td_flex_block_2 .td-module-meta-info .td-post-category { order: -2; }
.fato-hero-main .td_flex_block_2 .td-author-date { order: 2; }

/* carrossel de últimas notícias no hero-main (td_block_slide) */
/* especificidade maior que o <style scoped> do composer que força display:block na row */
.tdc-row .fato-hero-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}
.tdc-row .fato-hero-row [class*="td-pb-span"] { float: none; }
/* no phone o tagDiv empilha em coluna única: volta ao block e altura fixa do slide */
@media (max-width: 767px) {
  .tdc-row .fato-hero-row { display: block; }
  .fato-hero-main .td_block_slide .td-theme-slider,
  .fato-hero-main .td_block_slide .td-slider,
  .fato-hero-main .td_block_slide .td_module_slide,
  .fato-hero-main .td_block_slide .td-module-thumb {
    height: 240px !important;
  }
}
/* o carrossel preenche 100% da coluna → a altura dele = altura do fato-hero-side */
.fato-hero-main .wpb_wrapper,
.fato-hero-main .td_block_wrap,
.fato-hero-main .td_block_inner {
  height: 100% !important;
}
.fato-hero-main .td_block_slide { margin-bottom: 0 !important; }
.fato-hero-main .td_block_slide .td-block-title-wrap { display: none; }
.fato-hero-main .td_block_slide .td-theme-slider { margin: 0 auto; }
/* fileira de 100%: slider → módulo → thumb (img de capa preenche todo o slide) */
.fato-hero-main .td_block_slide .td-theme-slider,
.fato-hero-main .td_block_slide .td-slider,
.fato-hero-main .td_block_slide .td_module_slide,
.fato-hero-main .td_block_slide .td-module-thumb { height: 100% !important; }
.fato-hero-main .td_block_slide .td-slide-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 0 22px 18px;
}
.fato-hero-main .td_block_slide .slide-meta-cat { order: -1; }
.fato-hero-main .td_block_slide .slide-meta-cat a,
.fato-hero-main .td_block_slide .td-post-category {
  color: var(--fato-red) !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-family: var(--fato-sans);
}
/*.fato-hero-main .td_block_slide .slide-meta-cat a:hover,
.fato-hero-main .td_block_slide .td-post-category:hover {
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}*/
.fato-hero-main .td_block_slide .entry-title { margin: 0; }
.fato-hero-main .td_block_slide .entry-title a {
  font-family: var(--fato-serif);
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1.15;
  color: #fff;
}
.fato-hero-main .td_block_slide .td-module-meta-info { margin-top: 6px; }
.fato-hero-main .td_block_slide .td-slide-nav {
  width: 42px;
  height: 42px;
  padding: 0;
  line-height: 42px;
  text-align: center;
  border-radius: 50%;
  background: rgba(8, 9, 12, 0.45);
  color: #fff;
  font-size: 20px;
  margin-top: -21px;
}
.fato-hero-main .td_block_slide .prevButton { left: 14px; }
.fato-hero-main .td_block_slide .nextButton { right: 14px; }

/* byline em uma linha, cinza, separador "·" (modelo) */
.tdc-zone .td-post-author-name > span { display: none; }
.tdc-zone .td-post-date::before { content: "· "; }
.fato-hero-side .td-editor-date,
.fato-hero-side .td-post-author-name,
.fato-hero-side .td-post-author-name a,
.fato-hero-side .td-post-date {
  color: var(--fato-muted);
  font-weight: 400;
}
.fato-hero-side .td-author-date { font-size: 11px; }
.fato-feed .td-post-author-name,
.fato-feed .td-post-author-name a,
.fato-feed .td-post-date {
  color: var(--fato-muted);
  font-weight: 400;
}

/* slot de topo sem campanha: invisível (protótipo index.html) */
.fato-row-top { padding: 0 !important; }
.fato-row-top .fato-ad-leader { background: none; border: 0; }
.fato-row-top .fato-ad-leader:not(:has(.ad-unit)) { display: none; }

/* anúncios vazios (meio/rodapé/sidebar): rótulo acima + caixa gradiente navy→red (demo do protótipo) */
.fato-row-middle .fato-ad-leader:not(:has(.ad-unit)),
.fato-row-bottom .fato-ad-leader:not(:has(.ad-unit)),
.fato-sidebar .fato-ad-box:not(:has(.ad-unit)) {
  background: none;
  border: 0;
  min-height: 0;
  display: block;
}
.fato-row-middle .fato-ad-leader:not(:has(.ad-unit)) .fato-ad-label,
.fato-row-bottom .fato-ad-leader:not(:has(.ad-unit)) .fato-ad-label,
.fato-sidebar .fato-ad-box:not(:has(.ad-unit)) .fato-ad-label {
  display: block;
  text-align: center;
  background: none;
  border: 0;
  padding: 0 0 6px;
  color: var(--fato-muted);
  font-size: 10px;
  letter-spacing: 0.14em;
}
.fato-row-middle .fato-ad-leader:not(:has(.ad-unit))::after,
.fato-row-bottom .fato-ad-leader:not(:has(.ad-unit))::after {
  content: "Seu banner aqui";
  display: grid;
  place-items: center;
  width: 100%;
  height: 110px;
  margin: 0 auto;
  background: linear-gradient(135deg, #0b1f3a 0%, #16325a 55%, #c8102e 100%);
  border: 1px solid #0b1f3a;
  outline: 2px dashed rgba(255, 215, 168, 0.5);
  outline-offset: -10px;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.fato-sidebar .fato-ad-box:not(:has(.ad-unit))::after {
  content: "Seu banner aqui";
  display: grid;
  place-items: center;
  width: 300px;
  max-width: 100%;
  height: 250px;
  margin: 0 auto;
  background: linear-gradient(135deg, #0b1f3a 0%, #16325a 55%, #c8102e 100%);
  border: 1px solid #0b1f3a;
  outline: 2px dashed rgba(255, 215, 168, 0.5);
  outline-offset: -12px;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

/* compactar hero-side para alinhar com o hero (protótipo: 3 rows ≈ hero-main) */
.fato-hero-side .td_module_wrap {
  padding: 14px 16px;
  margin-bottom: 0 !important;
}
.fato-hero-side .td-module-meta-info { padding-top: 10px; }
.fato-hero-side .entry-title,
.fato-hero-side .td-module-title {
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fato-hero-side .entry-title a { font-size: 17px; line-height: 1.22; }

/* compactar itens do feed (list-item do protótipo) */
.fato-feed .td_module_wrap {
  padding: 16px !important;
  margin-bottom: 0 !important;
}
.fato-feed .td_module_flex_1 .td-module-meta-info .td-excerpt {
  margin: 8px 0 0;
  font-size: 15px;
  line-height: 1.5;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  column-count: auto !important;
  column-gap: normal !important;
}
.fato-feed .entry-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* compactar "Mais lidas" (protótipo: lista serif compacta) */
.fato-sidebar .fato-mais-lidas .td_block_inner { gap: 0 !important; }
.fato-sidebar .fato-mais-lidas .td_module_wrap {
  margin-bottom: 0 !important;
  padding-bottom: 18px;
}
.fato-sidebar .fato-mais-lidas .td-module-title,
.fato-sidebar .fato-mais-lidas .entry-title {
  font-family: var(--fato-serif) !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
  max-width: 100% !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* espaço entre "Mais lidas" e o primeiro item */
.fato-sidebar .fato-mais-lidas .td_block_text_with_title { margin-bottom: 0 !important; }

/* =====================================================================
   Busca — alinhar com novo_tema/busca.html
   ===================================================================== */
body.search-results .tdb-breadcrumbs { display: none !important; }

/* título serif (page-title do protótipo) */
body.search-results .tdb-search-title .tdb-title-text {
  font-family: var(--fato-serif) !important;
  font-size: 42px !important;
  font-weight: 650 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: var(--fato-ink) !important;
}

/* lead "Exibindo resultados para ..." (injetado por site.js) */
body.search-results .fato-lead {
  margin: 6px 0 22px;
  color: var(--fato-muted);
  font-size: 15.5px;
  font-family: var(--fato-sans);
}
body.search-results .fato-lead strong {
  font-family: var(--fato-serif);
  font-weight: 650;
  color: var(--fato-ink);
}

/* somem os blocos que não são resultados (flex blocks de "últimas notícias") */
body.search-results .td_flex_block_1 { display: none !important; }
body.search-results .wpb_row:has(.td_flex_block_1):not(:has(.tdb_loop)) { display: none !important; }
body.search-results .wpb_row:has(.tdb_loop) > .tdc-column:not(:has(.tdb_loop)) { display: none !important; }

/* o loop ocupa a coluna inteira */
body.search-results .wpb_row:has(.tdb_loop) > .tdc-column:has(.tdb_loop) {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 100% !important;
}

/* loop vira lista única (list-item do protótipo) */
body.search-results .tdb_loop { margin-bottom: 0 !important; }
body.search-results .tdb_loop .tdb-block-inner { display: block !important; }
body.search-results .tdb_loop .td_module_wrap {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}
body.search-results .tdb_loop .td-module-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: 16px;
  background: var(--fato-white);
  border: 0;
  border-bottom: 1px solid var(--fato-line);
  padding: 16px !important;
}
body.search-results .tdb_loop .td-module-container:before { display: none !important; }
body.search-results .tdb_loop .td-image-container {
  flex: 0 0 210px !important;
  width: 210px !important;
  max-width: 210px !important;
}
body.search-results .tdb_loop .td-image-wrap {
  padding-bottom: 62.857% !important; /* 132/210 */
  border-radius: var(--fato-radius);
  overflow: hidden;
}
body.search-results .tdb_loop .td-module-meta-info {
  width: auto !important;
  max-width: none !important;
  flex: 1 1 auto;
  padding: 2px 0 0 !important;
}
body.search-results .tdb_loop .td-post-category {
  font-family: var(--fato-sans) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--fato-red) !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 0 6px !important;
}
body.search-results .tdb_loop .entry-title {
  font-family: var(--fato-serif) !important;
  font-size: 22px !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 8px !important;
  color: var(--fato-ink) !important;
}
body.search-results .tdb_loop .td-excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  column-count: auto !important;
  column-gap: normal !important;
  white-space: normal !important;
  margin: 0 0 8px !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: var(--fato-muted);
}
body.search-results .tdb_loop .td-excerpt p { margin: 0 !important; }
body.search-results .tdb_loop .td-editor-date { margin-top: 6px !important; }
body.search-results .tdb_loop .td-post-date,
body.search-results .tdb_loop .td-author-date {
  font-size: 13px !important;
  letter-spacing: 0 !important;
  color: var(--fato-muted) !important;
}
body.search-results .tdb_loop .page-nav { margin-top: 24px !important; }


.fato-hero-main .td_block_slide .td-theme-slider:hover .slide-meta-cat a,
.fato-hero-main .td_block_slide .td_module_slide:hover span.slide-meta-cat a {
  background-color: rgba(0, 0, 0, 0.7) !important;
}
/* =====================================================================
   HOME — bloco "Últimas notícias" no mobile igual ao protótipo
   novo_tema/index.html (lista branca contínua, título 22px sem corte,
   resumo completo, meta numa linha, coluna com 16px de margem)
   ===================================================================== */

/* 1) largura da coluna: no phone o tema pai aplica 20px em .td-container E
      20px em .tdc-row (40px por lado). O protótipo usa .wrap = 100% - 32px
      (16px por lado). */
@media (max-width: 767px) {
  body.home .td-main-content-wrap > .td-container {
    padding-left: 0;
    padding-right: 0;
  }
  body.home .tdc-row {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* 2) lista contínua: o CSS "scoped" que o composer injeta no bloco manda
      margin/padding com !important (mesma especificidade, porém vem depois),
      por isso a especificidade precisa ser maior para vencer. */
.tdc-zone .fato-feed .td_module_wrap {
  padding: 16px !important;
  margin-bottom: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fato-line) !important;
}
.tdc-zone .fato-feed .td_block_inner { gap: 0 !important; }
.tdc-zone .fato-feed .td-module-container:before,
.tdc-zone .fato-feed .td-module-container:after { display: none !important; }

/* 3) título: 22px, sem corte em 2 linhas (o modelo mostra o título inteiro) */
.fato-feed .entry-title {
  display: block !important;
  -webkit-line-clamp: none !important;
  overflow: visible !important;
}
.fato-feed .entry-title a {
  font-size: 22px;
  line-height: 1.18;
  font-weight: 650;
  letter-spacing: -0.02em;
}

/* 4) resumo: o protótipo não corta o texto dele porque é curto; aqui o bloco
      traz 70 palavras (mc1_el=70), então corta em 5 linhas — que é o que o
      modelo aprovado mostra no mobile. */
.tdc-zone .fato-feed .td-module-meta-info .td-excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  column-count: auto !important;
  /* protótipo .excerpt: margin 0 (o espaçamento vem do margin-bottom do título)
     e line-height 1.55 */
  margin: 0 !important;
  font-size: 15.5px;
  line-height: 1.55;
}
/* protótipo .title: margin 0 0 8px */
.tdc-zone .fato-feed .entry-title { margin-bottom: 8px !important; }

/* 5) "Autor · data" numa linha só */
.tdc-zone .fato-feed .td-author-date { white-space: nowrap; }

/* 6) cabeçalho da seção: "Ver todas" em tinta (não vermelho) e título em negrito */
.fato-section-head .fato-section-more { color: var(--fato-ink); }
.tdc-zone .fato-section-head h2 { font-weight: 700; }

/* 7) categoria em 800 (protótipo .cat) */
.tdc-zone .fato-feed .td-post-category { font-weight: 800; }

/* 8) miniatura do item no phone: 120 x 86 (protótipo) */
@media (max-width: 600px) {
  .fato-feed .td-image-wrap { padding-bottom: 71.67% !important; }
}

/* espaço entre o "cabeçalho" (bloco de texto) e o primeiro item da lista:
   o bloco do tagDiv traz margem própria; no protótipo são só os 16px do
   .section-head */
.fato-feed .td_block_text_with_title { margin-bottom: 0 !important; }
/* categoria alinhada ao topo da miniatura (protótipo) — precisa vencer o
   td_legacy_main.css, que carrega depois do site.css com a mesma especificidade */
.tdc-zone .fato-feed .td-module-meta-info { padding-top: 4px; }

/* hero-side (Destaques): mesma correção do feed — as story rows viram um card
   branco único, com fio de 1px entre elas, como no protótipo. O gap de 18px
   vinha do .tdc-zone .td_flex_block_1 .td_block_inner (especificidade maior)
   e a margem/padding do composer chegava com !important. */
.tdc-zone .fato-hero-side .td_block_inner { gap: 0 !important; }
.tdc-zone .fato-hero-side .td_module_wrap {
  padding: 14px 16px !important;
  margin-bottom: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fato-line) !important;
}
.tdc-zone .fato-hero-side .td-module-container:before,
.tdc-zone .fato-hero-side .td-module-container:after { display: none !important; }
.tdc-zone .fato-hero-side .td_module_wrap:last-child { border-bottom: 0 !important; }

/* story rows do hero no phone: mesmas medidas do protótipo
   (main.css @media ≤980 — .story-row 108px/12px, img 108x80, .title 18px/650
   sem corte, .cat 800). O desktop mantém as regras acima (128px/16px). */
@media (max-width: 767px) {
  .tdc-zone .fato-hero-side .td_module_wrap { padding: 12px !important; }
  .tdc-zone .fato-hero-side .td_module_wrap:last-child { padding-bottom: 12px !important; }
  .tdc-zone .fato-hero-side .td-image-container {
    flex: 0 0 108px !important;
    width: 108px !important;
  }
  .tdc-zone .fato-hero-side .td-image-wrap { padding-bottom: 74.074% !important; }
  .tdc-zone .fato-hero-side .entry-title,
  .tdc-zone .fato-hero-side .td-module-title {
    display: block !important;
    -webkit-line-clamp: none !important;
    overflow: visible !important;
    margin: 0 0 8px !important;
  }
  .tdc-zone .fato-hero-side .entry-title a {
    font-size: 18px !important;
    line-height: 1.18 !important;
    font-weight: 650 !important;
    letter-spacing: -0.02em;
  }
  .tdc-zone .fato-hero-side .td-post-category { font-weight: 800 !important; }
  .tdc-zone .fato-hero-side .td-module-meta-info { padding-top: 0 !important; }
}

/* margem lateral do phone: o protótipo troca .wrap para 100% - 24px em
   ≤390px (12px por lado) e mantém 100% - 32px (16px) acima disso. */
@media (max-width: 390px) {
  body.home .tdc-row {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* =====================================================================
   HOME — carrossel do hero (Destaques) no phone
   O bloco @media ≤767 lá em cima dá height:240px ao slider, mas a regra
   .fato-hero-main .td_block_slide ... { height:100% !important } vem DEPOIS
   no arquivo, de mesma especificidade, e vence. No desktop isso dá certo
   porque a coluna estica (flex) junto do .fato-hero-side; no phone a linha
   vira block, a altura fica indefinida → 100% resolve para 0 e o carrossel
   inteiro some (.fato-hero-main media 1px). Aqui a altura é fixa em 320px
   (mesma medida do protótipo: .hero-main { min-height:320px } no ≤980),
   com especificidade maior para vencer as duas regras acima.
   ===================================================================== */
@media (max-width: 767px) {
  .tdc-zone .fato-hero-main .wpb_wrapper,
  .tdc-zone .fato-hero-main .td_block_wrap,
  .tdc-zone .fato-hero-main .td_block_inner,
  .tdc-zone .fato-hero-main .td_block_slide { height: auto !important; }

  .tdc-zone .fato-hero-main .td_block_slide .td-theme-slider,
  .tdc-zone .fato-hero-main .td_block_slide .td-slider,
  .tdc-zone .fato-hero-main .td_block_slide .td_module_slide,
  .tdc-zone .fato-hero-main .td_block_slide .td-module-thumb { height: 320px !important; }

  .tdc-zone .fato-hero-main .td_block_slide .td-module-thumb .td-image-wrap,
  .tdc-zone .fato-hero-main .td_block_slide .entry-thumb { height: 100% !important; }
}
