/*
Theme Name: Transitto Portal
Theme URI: https://transitto.com.br
Author: Rei das Multas
Description: Tema jornalístico para o portal Transitto, com identidade visual azul/laranja, foco em conteúdo de trânsito e geração de leads via WhatsApp.
Version: 3.0.3
Text Domain: transitto
*/
:root{--blue:#1A3A5C;--blue-dark:#0F2540;--orange:#E8831A;--orange2:#FF8C00;--red:#D32F2F;--green:#25D366;--bg:#FFFFFF;--soft:#F5F5F5;--text:#2D2D2D;--muted:#666666;--line:#E0E0E0;--shadow:0 8px 24px rgba(15,37,64,.10);--sans:Inter,Roboto,Arial,sans-serif;--serif:Georgia,Merriweather,'PT Serif',serif}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.6}a{color:var(--blue);text-decoration:none;transition:.2s}a:hover{color:var(--orange)}img{max-width:100%;height:auto;display:block}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.top-bar{background:var(--orange);color:#fff;font-size:13px}.top-bar .container{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:14px}.top-alert{font-weight:700;text-align:center}.top-bar a{color:#fff;font-weight:800;text-decoration:underline}.site-header{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(0,0,0,.05);position:sticky;top:0;z-index:900}.header-inner{display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:22px;padding:12px 0}.custom-logo{max-height:60px;width:auto}.site-title{margin:0;font-size:28px;line-height:1;font-weight:900}.site-title a{color:var(--blue)}.tagline{font-size:13px;color:var(--muted);margin-top:3px}.search-form{display:flex;max-width:520px;margin:0 auto;width:100%;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.search-form input{border:0;outline:0;padding:11px 14px;width:100%;font-size:14px}.search-form button{border:0;background:var(--blue);color:#fff;padding:0 16px;cursor:pointer}.header-cta,.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#fff!important;border-radius:4px;padding:12px 22px;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.5px}.header-cta:hover,.btn-primary:hover{background:#cf7417;color:#fff!important}.menu-toggle{display:none;background:var(--blue);color:#fff;border:0;border-radius:4px;padding:10px 12px}.main-nav{background:var(--blue)}.main-nav ul{list-style:none;display:flex;gap:0;margin:0;padding:0}.main-nav li{position:relative}.main-nav a{display:block;color:#fff;text-transform:uppercase;letter-spacing:1px;font-size:13px;font-weight:700;padding:15px 16px;border-bottom:3px solid transparent}.main-nav a:hover{color:var(--orange);border-bottom-color:var(--orange)}.main-nav ul ul{display:none;position:absolute;left:0;top:100%;min-width:220px;background:var(--blue-dark);box-shadow:var(--shadow);z-index:999;flex-direction:column}.main-nav li:hover>ul{display:flex}.breaking-news{background:var(--red);color:#fff}.breaking-news .container{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:14px}.breaking-news strong{background:#fff;color:var(--red);padding:3px 8px;border-radius:3px}.hero-grid{display:grid;grid-template-columns:60% 1fr;gap:24px;margin:28px 0}.hero-main,.hero-small{position:relative;border-radius:10px;overflow:hidden;background:#111;box-shadow:var(--shadow)}.hero-main img,.hero-small img{width:100%;height:100%;object-fit:cover}.hero-main{min-height:430px}.hero-small{height:203px;margin-bottom:24px}.hero-main:after,.hero-small:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.05) 65%)}.hero-content{position:absolute;left:24px;right:24px;bottom:22px;z-index:2}.hero-main h1,.hero-small h2{margin:10px 0 0;color:#fff;font-weight:900;line-height:1.08}.hero-main h1{font-size:36px}.hero-small h2{font-size:21px}.cat-badge{display:inline-block;background:var(--orange);color:#fff!important;text-transform:uppercase;font-size:11px;letter-spacing:.7px;font-weight:800;padding:3px 8px;border-radius:3px}.section-title{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--line);margin:32px 0 18px}.section-title h2{margin:0 0 -2px;color:var(--blue);border-bottom:3px solid var(--orange);padding-bottom:8px;font:900 24px/1.1 var(--sans)}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card{background:#fff;border-bottom:1px solid var(--line);border-radius:8px;overflow:hidden;transition:.2s}.post-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.post-card .thumb{aspect-ratio:16/9;background:var(--soft);overflow:hidden}.post-card .thumb img{width:100%;height:100%;object-fit:cover}.post-card-content{padding:14px 0 16px}.post-card h3{margin:8px 0;color:var(--blue);font:900 20px/1.25 var(--sans)}.post-card:hover h3 a{color:var(--orange)}.excerpt{color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-meta{display:flex;gap:8px;flex-wrap:wrap;color:#888;font-size:13px;margin-top:8px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start}.sidebar{position:relative}.widget{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:20px}.widget-title{margin:0 0 14px;color:var(--blue);font:900 18px/1.2 var(--sans)}.sidebar-cta{position:sticky;top:92px;background:var(--blue);color:#fff;border:0}.sidebar-cta h2{margin:0 0 8px;color:#fff}.sidebar-cta p{color:#e9eef5;margin:0 0 14px}.whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff!important;border-radius:4px;padding:12px 18px;font-weight:900;width:100%;text-transform:uppercase}.article-wrap{max-width:740px;margin:0 auto}.breadcrumb{color:var(--muted);font-size:13px;margin:24px 0 10px}.article-header h1{color:var(--blue);font:900 34px/1.15 var(--sans);margin:10px 0 12px}.featured-image img{border-radius:8px;width:100%;margin:22px 0 6px}.caption{font-size:13px;color:var(--muted);margin-bottom:18px}.entry-content{font-family:var(--serif);font-size:17px;line-height:1.8;color:var(--text)}.entry-content p{margin:0 0 24px}.entry-content h2{font-family:var(--sans);font-size:24px;line-height:1.25;color:var(--blue);font-weight:900;border-left:4px solid var(--orange);padding-left:12px;margin:34px 0 16px}.entry-content h3{font-family:var(--sans);font-size:20px;color:var(--blue);font-weight:900;margin:28px 0 12px}.entry-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.entry-content blockquote{background:var(--soft);border-left:4px solid var(--orange);padding:16px 18px;margin:24px 0;font-style:italic}.article-cta{background:#FFF3E0;border:1px solid var(--orange);border-radius:8px;padding:18px;margin:26px 0;font-family:var(--sans);display:flex;gap:14px;align-items:center;justify-content:space-between}.article-cta strong{color:var(--blue);display:block}.article-cta p{margin:4px 0 0;font-size:14px}.article-cta a{background:var(--green);color:#fff!important;border-radius:50px;padding:12px 24px;font-weight:900;white-space:nowrap;text-decoration:none}.site-footer{background:var(--blue);color:#fff;margin-top:44px}.footer-cta{background:linear-gradient(135deg,#075E54,var(--green));text-align:center;padding:32px 20px}.footer-cta h2{margin:0;color:#fff}.footer-cta p{margin:8px 0 18px;color:#ecfff4}.footer-cta a{background:#fff;color:#075E54!important;border-radius:4px;padding:12px 24px;font-weight:900;display:inline-block}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:24px;padding:38px 0}.site-footer a{color:#fff}.site-footer a:hover{color:var(--orange)}.footer-bottom{background:var(--blue-dark);max-width:none;width:100%;padding:14px calc((100% - min(1180px,calc(100% - 32px)))/2);display:flex;justify-content:space-between;color:#d8e4f1;font-size:13px}.newsletter-form{display:flex;gap:8px}.newsletter-form input{min-width:0;padding:10px;border:0;border-radius:4px}.newsletter-form button{background:var(--orange);color:#fff;border:0;border-radius:4px;padding:10px 12px;font-weight:800}.floating-whatsapp{position:fixed;right:24px;bottom:24px;z-index:9999;display:flex;align-items:center;gap:10px}.floating-label{background:#fff;color:#075E54;box-shadow:var(--shadow);padding:8px 12px;border-radius:999px;font-size:14px;font-weight:800}.floating-icon{width:60px;height:60px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.3);animation:whatsapp-pulse 2s infinite}@keyframes whatsapp-pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 14px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}.mobile-sticky-wa{display:none}.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#eee;color:var(--blue);margin:4px}.pagination .current{background:var(--blue);color:#fff}.pagination a:hover{background:var(--orange);color:#fff}.top-banner,.ad-box{text-align:center;background:var(--soft);border:1px dashed var(--line);border-radius:8px;padding:14px;margin:20px 0;color:var(--muted)}.rdm-capture-section{background:linear-gradient(135deg,var(--blue-dark),var(--blue));padding:28px 0}.rdm-capture-wrap{display:grid;grid-template-columns:1fr 400px;gap:24px;align-items:center}.rdm-capture-copy{color:#fff}.rdm-capture-copy h2{font-size:30px;margin:8px 0}.rdm-capture-card{background:#fff;border-radius:12px;padding:24px;box-shadow:var(--shadow)}.rdm-capture-form input{width:100%;padding:11px;border:1px solid var(--line);border-radius:4px}.rdm-capture-form button{width:100%;padding:12px;background:var(--orange);color:#fff;border:0;border-radius:4px;font-weight:900}.rdm-capture-message{font-size:14px}.mobile-nav{display:none}
@media(max-width:980px){.header-inner{grid-template-columns:1fr auto}.search-form,.header-cta{display:none}.menu-toggle{display:block}.main-nav{display:none}.mobile-nav.active{display:block;background:var(--blue)}.mobile-nav ul{list-style:none;margin:0;padding:12px 0}.mobile-nav a{display:block;color:#fff;padding:12px 0}.hero-grid,.layout,.rdm-capture-wrap,.footer-grid{grid-template-columns:1fr}.hero-main{min-height:340px}.posts-grid{grid-template-columns:repeat(2,1fr)}.sidebar-cta{position:static}.top-bar .container{flex-direction:column;padding:8px 0}.footer-bottom{padding:14px 16px;display:block;text-align:center}.article-cta{display:block}.article-cta a{margin-top:12px;display:inline-block}.mobile-sticky-wa{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9998;height:56px;background:var(--green);color:#fff!important;align-items:center;justify-content:center;font-weight:900}.floating-whatsapp{bottom:80px}.floating-label{display:none}.floating-icon{width:56px;height:56px}body{padding-bottom:56px}}
@media(max-width:640px){body{font-size:16px}.container{width:min(100% - 24px,1180px)}.posts-grid{grid-template-columns:1fr}.hero-grid{gap:14px;margin:18px 0}.hero-main{min-height:300px}.hero-small{height:190px;margin-bottom:14px}.hero-main h1{font-size:27px}.article-header h1{font-size:28px}.entry-content{font-size:16px;line-height:1.75}.site-title{font-size:24px}.rdm-capture-section{padding:18px 0}.rdm-capture-copy h2{font-size:24px}}


/* v3.0.1 - ajustes solicitados: banner principal centralizado e cores corretas dos títulos */
.top-banner{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin:20px auto !important;
  text-align:center !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
.top-banner .ad-box{
  width:100% !important;
  max-width:970px !important;
  margin:0 auto !important;
  text-align:center !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-height:90px;
}
.top-banner .ad-box a,
.top-banner .ad-box img,
.top-banner .ad-box iframe,
.top-banner .ad-box ins{
  margin-left:auto !important;
  margin-right:auto !important;
}
.top-banner .ad-box img{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
}
/* Títulos sobre imagens: sempre brancos */
.hero-content h1,
.hero-content h2,
.hero-content h1 a,
.hero-content h2 a,
.hero-main h1 a,
.hero-small h2 a{
  color:#FFFFFF !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
}
.hero-content h1 a:hover,
.hero-content h2 a:hover{
  color:#FFFFFF !important;
  text-decoration:underline;
  text-decoration-color:var(--orange);
}
/* Títulos abaixo das imagens: sempre em cor escura/preta editorial */
.post-card h3,
.post-card h3 a,
.posts-grid .post-card h3 a,
.archive .post-card h3 a,
.search .post-card h3 a{
  color:#2D2D2D !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
}
.post-card:hover h3 a,
.posts-grid .post-card:hover h3 a{
  color:var(--orange) !important;
}
/* Garante que cards sem imagem ainda exibam título abaixo do espaço de mídia */
.post-card-content{
  display:block !important;
  min-height:1px;
}
.post-card .thumb:empty{
  display:block;
  background:linear-gradient(135deg,#F5F5F5,#E0E0E0);
}


/* v3.0.2 - correção definitiva: títulos visíveis em todos os cards das editorias */
.post-card{
  position:relative !important;
  background:#FFFFFF !important;
}
.post-card .thumb{
  position:relative !important;
  display:block !important;
  min-height:150px !important;
  background:linear-gradient(135deg,#1A3A5C,#0F2540) !important;
}
.post-card .thumb::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:65%;
  background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,0));
  z-index:1;
  pointer-events:none;
}
.post-card .thumb-title{
  position:absolute !important;
  left:14px !important;
  right:14px !important;
  bottom:12px !important;
  z-index:2 !important;
  color:#FFFFFF !important;
  font-family:var(--sans) !important;
  font-size:18px !important;
  line-height:1.18 !important;
  font-weight:900 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.55) !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
.post-card .thumb:hover .thumb-title{
  color:#FFFFFF !important;
  text-decoration:underline;
  text-decoration-color:var(--orange);
}
.post-card-content h3,
.post-card-content h3 a{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#2D2D2D !important;
  font-size:20px !important;
  line-height:1.25 !important;
  margin:10px 0 8px !important;
  min-height:1px !important;
}
.post-card-content h3 a:hover{
  color:var(--orange) !important;
}
.posts-grid article.post-card,
.posts-grid article.post-card *{
  -webkit-text-fill-color:initial;
}
.post-card .thumb-title,
.hero-content a,
.hero-content h1,
.hero-content h2{
  -webkit-text-fill-color:#FFFFFF !important;
}
@media(max-width:640px){
  .post-card .thumb-title{font-size:17px !important;}
  .post-card .thumb{min-height:180px !important;}
}


/* v3.0.3 - títulos dos cards somente abaixo da imagem */
.post-card .thumb-title,
.post-card .thumb::after{
  display:none !important;
  content:none !important;
}
.post-card .thumb{
  position:relative !important;
  display:block !important;
  background:#F5F5F5 !important;
  min-height:0 !important;
  aspect-ratio:16/9 !important;
  overflow:hidden !important;
}
.post-card .thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.post-card-content{
  display:block !important;
  padding:14px 0 16px !important;
  background:#FFFFFF !important;
}
.post-card-title,
.post-card-title a,
.post-card-content h3,
.post-card-content h3 a,
.posts-grid .post-card-content h3 a{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#2D2D2D !important;
  -webkit-text-fill-color:#2D2D2D !important;
  font-family:var(--sans) !important;
  font-size:20px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  margin:10px 0 8px !important;
  min-height:auto !important;
  position:static !important;
  text-shadow:none !important;
}
.post-card-title a:hover,
.post-card-content h3 a:hover,
.posts-grid .post-card-content h3 a:hover{
  color:var(--orange) !important;
  -webkit-text-fill-color:var(--orange) !important;
}
@media(max-width:640px){
  .post-card-title,
  .post-card-title a,
  .post-card-content h3,
  .post-card-content h3 a{
    font-size:18px !important;
  }
}
