/*
Theme Name: A Gazeta de São Paulo Editorial
Theme URI: https://agazetadesaopaulo.com/
Description: Tema filho editorial do Newspaper para A Gazeta de São Paulo.
Author: A Gazeta de São Paulo
Version: 1.0.6
Template: Newspaper
Text Domain: gazeta-sao-paulo
*/

:root {
  --gsp-orange: #f6a800;
  --gsp-orange-dark: #d98d00;
  --gsp-black: #111111;
  --gsp-ink: #202020;
  --gsp-muted: #6d6d6d;
  --gsp-line: #e2e2e2;
  --gsp-soft: #f3f3f3;
  --gsp-white: #ffffff;
  --gsp-width: 1220px;
  --gsp-radius: 4px;
  --gsp-shadow: 0 12px 30px rgba(0,0,0,.08);
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body.gsp-site {
  margin: 0 !important;
  overflow-x: hidden;
  color: var(--gsp-ink);
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.gsp-site img { max-width: 100%; height: auto; }
body.gsp-site a { color: inherit; text-decoration: none; }
body.gsp-site a:hover { color: var(--gsp-orange-dark); }
body.gsp-site button,
body.gsp-site input { font: inherit; }
body.gsp-site h1,
body.gsp-site h2,
body.gsp-site h3,
body.gsp-site p { overflow-wrap: normal; word-break: normal; hyphens: none; -webkit-hyphens: none; }

.gsp-container { width: min(var(--gsp-width), calc(100% - 40px)); margin-inline: auto; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

/* Topo */
.gsp-utility { background: #f5f5f5; border-bottom: 1px solid var(--gsp-line); color: #4e4e4e; font-size: 12px; }
.gsp-utility-inner { min-height: 34px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.gsp-utility strong { color: var(--gsp-black); }
.gsp-header { background:#fff; border-bottom:1px solid var(--gsp-line); position:relative; z-index:100; }
.gsp-header-main { min-height:126px; display:grid; grid-template-columns:120px 1fr 120px; align-items:center; gap:24px; padding: 14px 0 12px; }
.gsp-explore { border:0; background:transparent; display:flex; flex-direction:column; align-items:center; gap:4px; color:#111; cursor:pointer; text-transform:uppercase; font-size:11px; letter-spacing:.08em; font-weight:700; }
.gsp-explore svg { width:33px; height:33px; }
.gsp-logo { justify-self:center; line-height:0; display:flex; align-items:center; justify-content:center; padding: 8px 0; }
.gsp-logo img { display:block; width:min(520px, 100%); max-height:68px; height:auto; image-rendering:auto; object-fit:contain; }
.gsp-search-button { justify-self:end; width:50px; height:50px; border:1px solid #d4d4d4; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.gsp-search-button svg { width:24px; height:24px; }
.gsp-search-button:hover { border-color:var(--gsp-orange); color:var(--gsp-orange-dark); }

.gsp-nav { background:var(--gsp-black); color:#fff; }
.gsp-nav-inner { min-height:58px; display:flex; align-items:stretch; }
.gsp-main-nav { width:100%; min-width:0; }
.gsp-main-nav ul { list-style:none; margin:0; padding:0; display:flex; align-items:stretch; overflow-x:auto; scrollbar-width:none; }
.gsp-main-nav ul::-webkit-scrollbar { display:none; }
.gsp-main-nav li { flex:0 0 auto; }
.gsp-main-nav a { display:flex; align-items:center; min-height:58px; padding:0 24px; color:#fff; font-size:16px; white-space:nowrap; border-right:1px solid #292929; }
.gsp-main-nav li:first-child a { background:#000; }
.gsp-main-nav a:hover,
.gsp-main-nav .current-menu-item > a,
.gsp-main-nav .current-category-ancestor > a { background:#2b2b2b; color:#fff; }

/* Menu móvel */
.gsp-drawer-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.62); z-index:9997; }
.gsp-drawer-overlay.is-open { display:block; }
.gsp-drawer { position:fixed; inset:0 auto 0 0; z-index:9998; width:min(390px, 90vw); background:#111; color:#fff; transform:translateX(-105%); transition:transform .25s ease; overflow-y:auto; padding:24px; }
.gsp-drawer.is-open { transform:translateX(0); }
.gsp-drawer-head { display:flex; justify-content:space-between; align-items:center; gap:18px; padding-bottom:22px; margin-bottom:10px; border-bottom:1px solid #333; }
.gsp-drawer-logo { width:240px; max-height:52px; }
.gsp-close { width:42px; height:42px; border:1px solid #444; border-radius:50%; background:transparent; color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; flex:0 0 auto; }
.gsp-close svg { width:21px; height:21px; }
.gsp-drawer ul { list-style:none; margin:0; padding:0; }
.gsp-drawer li { border-bottom:1px solid #2d2d2d; }
.gsp-drawer a { display:block; padding:16px 2px; color:#fff; font-size:17px; font-weight:700; }

/* Busca */
.gsp-search-panel { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.93); align-items:center; justify-content:center; padding:24px; }
.gsp-search-panel.is-open { display:flex; }
.gsp-search-box { width:min(760px, 100%); position:relative; }
.gsp-search-box form { display:flex; gap:10px; }
.gsp-search-box input { min-width:0; flex:1; padding:20px 25px; border:0; border-radius:4px; font-size:20px; outline:none; }
.gsp-search-submit { border:0; border-radius:4px; background:var(--gsp-orange); color:#111; padding:0 24px; font-weight:800; cursor:pointer; }
.gsp-search-close { position:absolute; top:-62px; right:0; }

/* Agora */
.gsp-breaking { border-bottom:1px solid var(--gsp-line); background:#fff; }
.gsp-breaking-inner { min-height:58px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:18px; overflow:hidden; }
.gsp-breaking-label { background:var(--gsp-orange); color:#111; padding:10px 17px; border-radius:3px; text-transform:uppercase; font-size:12px; font-weight:900; letter-spacing:.08em; white-space:nowrap; }
.gsp-breaking-track { min-width:0; overflow:hidden; }
.gsp-breaking-list { display:flex; align-items:center; gap:34px; width:max-content; animation:gspTicker 40s linear infinite; }
.gsp-breaking-list:hover { animation-play-state:paused; }
.gsp-breaking-item { font-size:14px; font-weight:700; white-space:nowrap; display:inline-flex; align-items:center; gap:10px; }
.gsp-breaking-item::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--gsp-orange); }
@keyframes gspTicker { to { transform:translateX(-50%); } }

/* Seções */
.gsp-main { padding:36px 0 64px; }
.gsp-section { margin-bottom:56px; }
.gsp-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; border-bottom:4px solid #111; padding-bottom:11px; margin-bottom:24px; }
.gsp-section-title { margin:0; color:#111; font-family:Georgia, 'Times New Roman', serif; font-size:38px; line-height:1; letter-spacing:-.03em; }
.gsp-section-link { color:#111; text-transform:uppercase; font-size:12px; font-weight:900; letter-spacing:.08em; }

.gsp-hero-grid { display:grid; grid-template-columns:minmax(0, 1.7fr) minmax(280px, .8fr); gap:18px; }
.gsp-hero-main,
.gsp-hero-side-card { position:relative; overflow:hidden; background:#111; }
.gsp-hero-main { min-height:auto; aspect-ratio:16/11; }
.gsp-hero-side { display:grid; grid-template-rows:1fr 1fr; gap:18px; }
.gsp-hero-side-card { min-height:auto; aspect-ratio:16/10; }
.gsp-cover-image { position:absolute; inset:0; width:100%; height:100%!important; object-fit:cover; object-position:center center; display:block; }
.gsp-cover-shade { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.28) 56%, rgba(0,0,0,.03) 100%); }
.gsp-hero-content { position:absolute; inset:auto 0 0; padding:32px; color:#fff; }
.gsp-hero-side-card .gsp-hero-content { padding:21px; }
.gsp-kicker { display:inline-flex; align-items:center; gap:8px; color:var(--gsp-orange-dark); text-transform:uppercase; letter-spacing:.08em; font-size:12px; font-weight:900; }
.gsp-hero-content .gsp-kicker { color:#ffd36f; }
.gsp-kicker::before { content:""; width:24px; height:4px; background:currentColor; }
.gsp-hero-title { margin:11px 0 0; font-family:Georgia, 'Times New Roman', serif; font-size:44px; line-height:1.04; letter-spacing:-.035em; color:#fff; }
.gsp-hero-side-card .gsp-hero-title { font-size:25px; line-height:1.08; }
.gsp-hero-meta { margin-top:14px; font-size:12px; opacity:.88; }

.gsp-content-layout { display:grid; grid-template-columns:minmax(0, 1fr) 340px; gap:42px; }
.gsp-news-list { min-width:0; }
.gsp-news-row { display:grid; grid-template-columns:250px minmax(0, 1fr); gap:22px; padding:0 0 24px; margin-bottom:24px; border-bottom:1px solid var(--gsp-line); }
.gsp-news-thumb { display:block; aspect-ratio:16/10; overflow:hidden; background:#eee; }
.gsp-news-thumb img { width:100%; height:100%!important; object-fit:cover; transition:transform .25s ease; }
.gsp-news-row:hover .gsp-news-thumb img { transform:scale(1.025); }
.gsp-news-title { margin:8px 0; color:#111; font-family:Georgia, 'Times New Roman', serif; font-size:27px; line-height:1.08; letter-spacing:-.025em; }
.gsp-excerpt { margin:0 0 12px; color:#555; font-size:14px; line-height:1.55; }
.gsp-meta { color:#777; font-size:12px; font-weight:700; }
.gsp-sidebar-card { position:sticky; top:20px; background:#f3f3f3; border-top:6px solid var(--gsp-orange); padding:24px; }
.gsp-sidebar-title { margin:0 0 18px; color:#111; font-family:Georgia, 'Times New Roman', serif; font-size:28px; }
.gsp-ranking { list-style:none; counter-reset:rank; margin:0; padding:0; }
.gsp-ranking li { counter-increment:rank; display:grid; grid-template-columns:38px 1fr; gap:10px; padding:16px 0; border-bottom:1px solid #d7d7d7; font-family:Georgia, 'Times New Roman', serif; font-weight:700; line-height:1.2; }
.gsp-ranking li::before { content:counter(rank); color:var(--gsp-orange-dark); font-family:Arial, sans-serif; font-size:27px; font-weight:900; }
.gsp-ranking li:last-child { border-bottom:0; }

.gsp-category-band { padding:48px 0; border-top:1px solid var(--gsp-line); }
.gsp-category-band:nth-of-type(even) { background:#f5f5f5; }
.gsp-card-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:22px; }
.gsp-card { min-width:0; background:#fff; border-bottom:3px solid #111; }
.gsp-card-media { display:block; aspect-ratio:16/10; overflow:hidden; background:#eee; }
.gsp-card-image { width:100%; height:100%!important; object-fit:cover; transition:transform .25s ease; }
.gsp-card:hover .gsp-card-image { transform:scale(1.03); }
.gsp-card-body { padding:15px 2px 18px; }
.gsp-card-title { margin:9px 0 12px; color:#111; font-family:Georgia, 'Times New Roman', serif; font-size:21px; line-height:1.12; letter-spacing:-.02em; }

/* Arquivos e páginas */
.gsp-page-header { padding:52px 0 26px; border-bottom:1px solid var(--gsp-line); margin-bottom:35px; }
.gsp-page-title { margin:0; color:#111; font-family:Georgia, 'Times New Roman', serif; font-size:52px; line-height:1.02; letter-spacing:-.04em; }
.gsp-archive-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px; padding-bottom:48px; }
.gsp-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; padding:10px 0 60px; }
.gsp-pagination .page-numbers { min-width:42px; height:42px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #d8d8d8; color:#111; font-weight:800; }
.gsp-pagination .current { background:#111; color:#fff; border-color:#111; }
.gsp-empty { padding:40px 0 80px; color:#666; }
.gsp-page-content { width:min(850px, calc(100% - 40px)); margin:0 auto 70px; font-family:Georgia, 'Times New Roman', serif; font-size:19px; line-height:1.75; }
.gsp-page-content p { margin:0 0 1.35em; }

/* Matéria */
.gsp-article { padding:54px 0 70px; }
.gsp-article-header { width:min(1000px, calc(100% - 40px)); margin:0 auto 34px; }
.gsp-breadcrumbs { margin-bottom:28px; color:#777; font-size:13px; font-weight:700; }
.gsp-article-title { margin:14px 0 16px; color:#111; font-family:Georgia, 'Times New Roman', serif; font-size:64px; line-height:.99; letter-spacing:-.045em; }
.gsp-article-deck { margin:0 0 22px; color:#555; font-size:21px; line-height:1.45; }
.gsp-article-meta { display:flex; flex-wrap:wrap; gap:8px 22px; color:#6d6d6d; font-size:13px; font-weight:700; }
.gsp-featured { width:min(1160px, calc(100% - 40px)); margin:0 auto 35px; }
.gsp-featured img { width:100%; max-height:700px; object-fit:cover; display:block; }
.gsp-caption { margin-top:8px; color:#777; font-size:12px; }
.gsp-article-body { width:min(780px, calc(100% - 40px)); margin:0 auto; color:#222; font-family:Georgia, 'Times New Roman', serif; font-size:20px; line-height:1.75; }
.gsp-article-body p { margin:0 0 1.5em !important; }
.gsp-article-body h2 { margin:1.7em 0 .7em; color:#111; font-size:32px; line-height:1.15; }
.gsp-article-body h3 { margin:1.5em 0 .6em; color:#111; font-size:25px; line-height:1.2; }
.gsp-article-body blockquote { margin:1.8em 0; padding:5px 0 5px 25px; border-left:6px solid var(--gsp-orange); font-size:24px; line-height:1.45; }
.gsp-article-body img { height:auto!important; }
.gsp-article-body figure { margin:1.7em 0; }
.gsp-article-body a { text-decoration:underline; text-decoration-color:var(--gsp-orange); text-decoration-thickness:2px; text-underline-offset:3px; }
.gsp-tags { width:min(780px, calc(100% - 40px)); margin:28px auto 0; display:flex; flex-wrap:wrap; gap:8px; }
.gsp-tags a { padding:8px 12px; background:#f2f2f2; font-size:12px; font-weight:800; }
.gsp-related { padding:50px 0 65px; background:#f5f5f5; border-top:1px solid var(--gsp-line); }

/* Rodapé */
.gsp-footer { background:#111; color:#fff; padding:64px 0 34px; text-align:center; }
.gsp-footer-logo { display:block; width:min(500px, 82vw); max-height:64px; height:auto; margin:0 auto 28px; image-rendering:auto; object-fit:contain; }
.gsp-copyright { margin:0; padding-top:22px; border-top:1px solid #333; color:#d0d0d0; font-size:12px; max-width: min(700px, 100%); margin-inline: auto; }

/* Neutraliza elementos do Newspaper/tagDiv que possam vazar */
body.gsp-site .td-header-wrap,
body.gsp-site .td-footer-wrapper,
body.gsp-site .td-menu-background,
body.gsp-site .td-search-background,
body.gsp-site .td-mobile-container,
body.gsp-site .tdc-header-wrap,
body.gsp-site .tdc-footer-wrap { display:none!important; }
body.gsp-site .td-main-content-wrap { padding:0!important; }

@media (max-width: 1050px) {
  .gsp-content-layout { grid-template-columns:1fr; }
  .gsp-sidebar-card { position:static; }
  .gsp-card-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .gsp-archive-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .gsp-container { width:calc(100% - 28px); }
  .gsp-utility-inner { min-height:31px; justify-content:center; }
  .gsp-utility-inner span:last-child { display:none; }
  .gsp-header-main { min-height:94px; grid-template-columns:64px minmax(0,1fr) 64px; gap:8px; padding: 8px 0 6px; }
  .gsp-logo img { width:100%; max-height:60px; }
  .gsp-explore { font-size:9px; }
  .gsp-explore span { display:none; }
  .gsp-explore svg { width:29px; height:29px; }
  .gsp-search-button { width:45px; height:45px; }
  .gsp-nav { display:none; }
  .gsp-breaking-inner { min-height:54px; gap:12px; }
  .gsp-breaking-label { padding:9px 12px; font-size:10px; }
  .gsp-breaking-item { font-size:13px; }
  .gsp-main { padding-top:24px; }
  .gsp-section { margin-bottom:42px; }
  .gsp-section-title { font-size:33px; }
  .gsp-section-link { font-size:10px; }
  .gsp-hero-grid { grid-template-columns:1fr; gap:14px; }
  .gsp-hero-main { min-height:auto; aspect-ratio:16/9; }
  .gsp-hero-main .gsp-cover-image { object-fit:contain; background:#111; }
  .gsp-hero-side { grid-template-columns:1fr; grid-template-rows:none; gap:14px; }
  .gsp-hero-side-card { min-height:auto; aspect-ratio:16/11; }
  .gsp-hero-content { padding:22px; }
  .gsp-hero-title { font-size:28px; line-height:1.06; }
  .gsp-hero-side-card .gsp-hero-title { font-size:22px; line-height:1.1; }
  .gsp-news-row { grid-template-columns:125px minmax(0,1fr); gap:15px; padding-bottom:20px; margin-bottom:20px; align-items:start; }
  .gsp-news-title { font-size:21px; line-height:1.12; margin-top:6px; }
  .gsp-news-row .gsp-excerpt { display:none; }
  .gsp-meta { font-size:11px; }
  .gsp-card-grid,
  .gsp-archive-grid { grid-template-columns:1fr; gap:22px; }
  .gsp-category-band { padding:38px 0; }
  .gsp-card-title { font-size:24px; }
  .gsp-page-header { padding:38px 0 20px; margin-bottom:26px; }
  .gsp-page-title { font-size:42px; }
  .gsp-article { padding-top:38px; }
  .gsp-article-header { width:calc(100% - 28px); }
  .gsp-article-title { font-size:36px; line-height:1.04; }
  .gsp-article-deck { font-size:18px; }
  .gsp-featured { width:calc(100% - 28px); }
  .gsp-article-body { width:calc(100% - 34px); font-size:18px; line-height:1.72; }
  .gsp-article-body p { margin-bottom:1.45em!important; }
  .gsp-tags { width:calc(100% - 34px); }
  .gsp-search-box form { flex-direction:column; }
  .gsp-search-submit { min-height:55px; }
}

@media (max-width: 430px) {
  .gsp-header-main { grid-template-columns:55px minmax(0,1fr) 55px; }
  .gsp-logo img { max-height:56px; }
  .gsp-hero-main { min-height:auto; aspect-ratio:16/9; }
  .gsp-hero-title { font-size:24px; line-height:1.08; }
  .gsp-hero-side-card { min-height:auto; aspect-ratio:16/11; }
  .gsp-hero-side-card .gsp-hero-title { font-size:20px; line-height:1.12; }
  .gsp-news-row { grid-template-columns:112px minmax(0,1fr); }
  .gsp-news-title { font-size:19px; }
  .gsp-article-title { font-size:32px; line-height:1.05; }
}
