/*
 * Ônibus Online — CSS da página inicial
 *
 * Veio do plugin "Ônibus Online — Home" (assets/front.css). Agora mora no
 * tema, porque aparência é responsabilidade do tema; o plugin continua
 * responsável pelos dados (notícias, empresas, configurações).
 *
 * Carregado só nas páginas que usam o shortcode [onibus_home] ou o modelo
 * "Ônibus Online — Home" — ver onibus_assets() em functions.php. As páginas
 * de linha e cidade não pagam por este arquivo.
 *
 * Todo o CSS vive sob a raiz .oohome, e cada regra repete a raiz
 * (.oohome .oohome-x) para vencer, por especificidade, as regras genéricas do
 * tema sem precisar de !important.
 */

/* ===========================================================
 * RAIZ E VARIÁVEIS
 *
 * As cores agora apontam para os tokens do tema (--oo-*), definidos no
 * :root do style.css. Trocar a cor da marca em um lugar muda o site inteiro,
 * home incluída. Os valores após a vírgula são o fallback, caso este arquivo
 * seja usado fora do tema.
 * ======================================================== */

.oohome{
  --oohome-blue: var(--oo-brand, #0d51aa);
  --oohome-blue-800: var(--oo-brand-800, #0a3d80);
  --oohome-yellow: var(--oo-yellow, #e8bc1a);
  --oohome-green-700: #00734d;
  --oohome-ink:#14243a;
  --oohome-ink-2:#4a5c74;
  --oohome-ink-3:#7b8a9d;
  --oohome-border:#d9e1ec;
  --oohome-surface-2:#f3f6fa;
  --oohome-r:6px;
  --oohome-r-sm:4px;
  --oohome-pad:16px;
  --oohome-maxw:1120px;

  font-size:15px;
  line-height:1.5;
  color:var(--oohome-ink);
  text-align:left;
  -webkit-font-smoothing:antialiased;
}

/* ===========================================================
 * REINÍCIO — anula o que o tema costuma impor
 * ======================================================== */

.oohome,
.oohome *,
.oohome *::before,
.oohome *::after{box-sizing:border-box}

.oohome h1,
.oohome h2,
.oohome h3,
.oohome p,
.oohome ul,
.oohome li,
.oohome figure,
.oohome form{
  margin:0;
  padding:0;
  border:0;
  text-transform:none;
  letter-spacing:normal;
  text-align:left;
  float:none;
  clear:none;
  background:none;
}
.oohome h1::before,.oohome h1::after,
.oohome h2::before,.oohome h2::after,
.oohome h3::before,.oohome h3::after,
.oohome a::before,.oohome a::after{content:none;display:none}

.oohome ul,.oohome li{list-style:none}

.oohome a{
  color:inherit;
  text-decoration:none;
  box-shadow:none;
  border-bottom:0;
  background:none;
  transition:color .15s ease,background-color .15s ease;
}
.oohome a:hover,
.oohome a:focus{text-decoration:none;box-shadow:none;border-bottom:0}

.oohome img{
  max-width:100%;
  display:block;
  border:0;
  border-radius:0;
  box-shadow:none;
  margin:0;
}

.oohome input,
.oohome button{
  font-family:inherit;
  -webkit-appearance:none;
  appearance:none;
  box-shadow:none;
  text-transform:none;
  letter-spacing:normal;
  min-height:0;
  min-width:0;
  max-width:none;
  line-height:normal;
  text-shadow:none;
  transition:background-color .15s ease;
}
.oohome input:focus,
.oohome button:focus{box-shadow:none;outline:none}
.oohome :focus-visible{outline:3px solid var(--oohome-yellow);outline-offset:2px}

.oohome section{margin:0;padding:0;border:0;background:none}

/* ===========================================================
 * ESTRUTURA
 * ======================================================== */

.oohome .oohome-wrap{
  max-width:var(--oohome-maxw);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--oohome-pad);
  padding-right:var(--oohome-pad);
  width:100%;
}
.oohome .oohome-sec{padding:24px 0}
.oohome .oohome-band{padding:22px 0 20px}

/* full="1": a faixa azul rompe o container do tema */
.oohome--full .oohome-band{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  max-width:100vw;
}

.oohome .oohome-h1{
  font-size:25px;
  line-height:1.18;
  letter-spacing:-.025em;
  font-weight:800;
  color:inherit;
  margin:0 0 6px;
}
.oohome .oohome-h2{
  font-size:20px;
  line-height:1.25;
  letter-spacing:-.02em;
  font-weight:800;
  color:inherit;
  margin:0 0 9px;
}
.oohome .oohome-eyebrow{
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--oohome-blue);
  margin:0 0 5px;
}

/* ===========================================================
 * HERO
 * ======================================================== */

.oohome .oohome-hero{background:var(--oohome-blue);color:#fff}
.oohome .oohome-hero .oohome-h1{color:#fff}
.oohome .oohome-lede{
  margin:0 0 15px;
  font-size:14px;
  color:#c6daf3;
  max-width:34ch;
  line-height:1.5;
}

.oohome .oohome-sbox{display:flex;gap:6px;max-width:660px;margin:0;padding:0;border:0;background:none}
.oohome .oohome-fld{
  flex:1;
  display:flex;
  align-items:center;
  gap:9px;
  background:#fff;
  border-radius:var(--oohome-r);
  height:52px;
  padding:0 12px;
  min-width:0;
}
.oohome .oohome-fld svg{width:19px;height:19px;flex:0 0 19px;stroke:var(--oohome-blue);fill:none;stroke-width:2}
.oohome .oohome-fld input[type="search"]{
  border:0;
  outline:0;
  font-size:15px;
  width:100%;
  height:auto;
  color:var(--oohome-ink);
  background:none;
  padding:0;
  margin:0;
  border-radius:0;
}
.oohome .oohome-fld input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}
.oohome .oohome-go{
  flex:0 0 auto;
  background:var(--oohome-yellow);
  color:var(--oohome-ink);
  border:0;
  border-radius:var(--oohome-r);
  height:52px;
  width:auto;
  padding:0 20px;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
}
.oohome .oohome-go:hover{background:#d9ad0f;color:var(--oohome-ink)}

.oohome .oohome-quick{display:flex;gap:6px;margin-top:11px;overflow-x:auto;scrollbar-width:none}
.oohome .oohome-quick::-webkit-scrollbar{display:none}
.oohome .oohome-quick a{
  flex:0 0 auto;
  background:var(--oohome-blue-800);
  color:#fff;
  font-size:12.5px;
  font-weight:600;
  padding:8px 12px;
  border-radius:var(--oohome-r-sm);
  white-space:nowrap;
}
.oohome .oohome-quick a:hover{background:#083166;color:#fff}

.oohome .oohome-stats{
  display:flex;
  margin-top:16px;
  border-top:1px solid rgba(255,255,255,.22);
  padding-top:13px;
  max-width:660px;
}
.oohome .oohome-stats div{flex:1;font-size:11.5px;color:#a9c6ea;line-height:1.35}
.oohome .oohome-stats b{
  display:block;
  font-size:16px;
  color:var(--oohome-yellow);
  font-weight:800;
  letter-spacing:-.01em;
}

/* ===========================================================
 * PUBLICIDADE
 * ======================================================== */

.oohome .oohome-ad{padding:18px 0}
.oohome .oohome-ad--topo{border-bottom:1px solid var(--oohome-border)}
.oohome .oohome-ad-label{
  display:block;
  font-size:9.5px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--oohome-ink-3);
  font-weight:700;
  margin-bottom:6px;
  text-align:center;
}
/* sem altura: o bloco do anúncio é responsivo */
.oohome .oohome-ad-box{width:100%}
/* espaço reservado enquanto não há código configurado */
.oohome .oohome-ad-ph{
  width:100%;
  height:100px;
  background:var(--oohome-surface-2);
  border:1px dashed var(--oohome-border);
  border-radius:var(--oohome-r-sm);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--oohome-ink-3);
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:600;
  text-align:center;
  padding:0 12px;
}

/* ===========================================================
 * INTRO
 * ======================================================== */

.oohome .oohome-intro{padding-top:22px;padding-bottom:4px}
.oohome .oohome-intro p{margin:0;font-size:14.5px;line-height:1.62;color:var(--oohome-ink-2)}
.oohome .oohome-intro strong{font-weight:700;color:var(--oohome-ink)}

/* ===========================================================
 * EMPRESAS
 * ======================================================== */

.oohome .oohome-companies{padding-top:6px}
.oohome .oohome-colist{margin-top:10px}
.oohome .oohome-co{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid var(--oohome-border);
  min-height:60px;
}
.oohome .oohome-co:last-child{border-bottom:0}
.oohome .oohome-co:hover .oohome-co-nm b{color:var(--oohome-blue)}
.oohome .oohome-co-lg{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:var(--oohome-r-sm);
  object-fit:contain;
  background:var(--oohome-surface-2);
}
.oohome .oohome-co-lg.is-empty{visibility:hidden}
.oohome .oohome-co-nm{flex:1;min-width:0}
.oohome .oohome-co-nm b{display:block;font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--oohome-ink)}
.oohome .oohome-co-nm small{display:block;font-size:12.5px;color:var(--oohome-ink-3);margin-top:2px}
.oohome .oohome-co-go{
  flex:0 0 auto;
  color:var(--oohome-green-700);
  font-weight:700;
  font-size:13.5px;
  white-space:nowrap;
}

.oohome .oohome-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:48px;
  border:1.5px solid var(--oohome-blue);
  color:var(--oohome-blue);
  border-radius:var(--oohome-r);
  font-weight:700;
  font-size:15px;
  margin-top:14px;
  background:none;
}
.oohome .oohome-btn:hover{background:var(--oohome-blue);color:#fff}

/* ===========================================================
 * CONFIANÇA
 * ======================================================== */

.oohome .oohome-tr{
  padding:13px 0 13px 13px;
  border-left:3px solid var(--oohome-yellow);
  margin-bottom:10px;
  background:var(--oohome-surface-2);
}
.oohome .oohome-tr:last-child{margin-bottom:0}
.oohome .oohome-tr b{display:block;font-size:14.5px;margin-bottom:3px;color:var(--oohome-ink)}
.oohome .oohome-tr span{font-size:13px;color:var(--oohome-ink-2);line-height:1.5}

/* ===========================================================
 * NOTÍCIAS
 * ======================================================== */

.oohome .oohome-news{border-top:4px solid var(--oohome-yellow);padding-top:0;padding-bottom:0}
.oohome .oohome-news-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 0 13px;
  border-bottom:2px solid var(--oohome-ink);
}
.oohome .oohome-news-top .oohome-h2{margin:0;font-size:22px;letter-spacing:-.025em;line-height:1.2}
.oohome .oohome-src{
  flex:0 0 auto;
  border:1px solid var(--oohome-ink);
  border-radius:var(--oohome-r-sm);
  padding:8px 11px;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:-.01em;
  line-height:1;
  color:var(--oohome-ink);
}
.oohome .oohome-src:hover{background:var(--oohome-ink);color:#fff}

.oohome .oohome-lead{display:block;padding:16px 0 18px;border-bottom:1px solid var(--oohome-border)}
.oohome .oohome-lead-img{position:relative;margin-bottom:12px}
.oohome .oohome-lead-img img,
.oohome .oohome-lead-img .oohome-noimg{
  width:100%;
  height:190px;
  border-radius:var(--oohome-r-sm);
  object-fit:cover;
  display:block;
  background:var(--oohome-surface-2);
}
.oohome .oohome-cat{
  position:absolute;
  left:8px;
  top:8px;
  background:var(--oohome-blue);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:5px 9px;
  border-radius:3px;
}
.oohome .oohome-lead h3{
  margin:0 0 9px;
  font-size:20px;
  line-height:1.27;
  letter-spacing:-.022em;
  font-weight:800;
  color:var(--oohome-ink);
}
.oohome .oohome-lead p{margin:0 0 10px;font-size:14px;line-height:1.55;color:var(--oohome-ink-2)}
.oohome .oohome-lead:hover h3{color:var(--oohome-blue)}

.oohome .oohome-meta{font-size:11.5px;color:var(--oohome-ink-3);font-weight:600}
.oohome .oohome-meta em{font-style:normal;color:var(--oohome-blue);font-weight:700}

.oohome .oohome-nrow{
  display:flex;
  gap:12px;
  padding:13px 0;
  border-bottom:1px solid var(--oohome-border);
  align-items:flex-start;
}
.oohome .oohome-nrow-img{width:100px;height:68px;flex:0 0 100px}
.oohome .oohome-nrow-img img,
.oohome .oohome-nrow-img .oohome-noimg{
  width:100px;
  height:68px;
  border-radius:var(--oohome-r-sm);
  object-fit:cover;
  display:block;
  background:var(--oohome-surface-2);
}
.oohome .oohome-nrow-t{flex:1;min-width:0}
.oohome .oohome-nrow-t b{
  display:block;
  font-size:14.5px;
  line-height:1.33;
  font-weight:700;
  margin-bottom:6px;
  letter-spacing:-.01em;
  color:var(--oohome-ink);
}
.oohome .oohome-nrow:hover .oohome-nrow-t b{color:var(--oohome-blue)}
.oohome .oohome-news-cta{padding:16px 0 24px}
.oohome .oohome-news-cta .oohome-btn{margin-top:0}

/* ===========================================================
 * LIMPEZA DA PÁGINA — título e rodapé de conteúdo do tema
 * Aplicado apenas quando o body recebe .oohome-page.
 * ======================================================== */

body.oohome-page .entry-header,
body.oohome-page .page-header,
body.oohome-page .entry-title,
body.oohome-page .page-title,
body.oohome-page .entry-meta,
body.oohome-page .entry-footer,
body.oohome-page .post-meta,
body.oohome-page .author-info,
body.oohome-page .author-bio,
body.oohome-page .author-box,
body.oohome-page .post-author,
body.oohome-page .about-author,
body.oohome-page .entry-author,
body.oohome-page .post-navigation,
body.oohome-page .posts-navigation,
body.oohome-page .nav-links,
body.oohome-page .breadcrumb,
body.oohome-page .breadcrumbs,
body.oohome-page #breadcrumbs,
body.oohome-page .comments-area,
body.oohome-page .wp-block-post-title,
body.oohome-page .wp-block-post-author,
body.oohome-page .wp-block-post-date{display:none !important}

/* O conteúdo da home não deve herdar as margens de artigo do tema. */
body.oohome-page .entry-content,
body.oohome-page .page-content,
body.oohome-page .site-content{max-width:none}
body.oohome-page .entry-content > .oohome{margin:0}

/* ===========================================================
 * DESKTOP
 * ======================================================== */

@media(min-width:768px){
  .oohome{--oohome-pad:24px}
  .oohome .oohome-band{padding:38px 0 34px}
  .oohome .oohome-sec{padding:34px 0}
  .oohome .oohome-h1{font-size:36px;max-width:18ch}
  .oohome .oohome-lede{font-size:16px;max-width:58ch;margin-bottom:20px}
  .oohome .oohome-fld{height:56px}
  .oohome .oohome-go{height:56px;font-size:16px;padding:0 26px}
  .oohome .oohome-h2{font-size:23px}

  .oohome .oohome-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .oohome .oohome-trust-grid .oohome-tr{margin-bottom:0;height:100%}

  .oohome .oohome-ad{padding:22px 0}
  .oohome .oohome-ad-ph{height:90px}

  .oohome .oohome-news-top{padding:22px 0 15px}
  .oohome .oohome-news-top .oohome-h2{font-size:26px}
  .oohome .oohome-lead{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:26px;
    align-items:start;
    padding:22px 0 24px;
  }
  .oohome .oohome-lead-img{margin-bottom:0}
  .oohome .oohome-lead-img img,
  .oohome .oohome-lead-img .oohome-noimg{height:250px}
  .oohome .oohome-lead h3{font-size:26px}
  .oohome .oohome-lead p{font-size:15px}
  .oohome .oohome-nlist{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px}
  .oohome .oohome-nrow{padding:16px 0}
  .oohome .oohome-nrow-img{width:118px;height:78px;flex:0 0 118px}
  .oohome .oohome-nrow-img img,
  .oohome .oohome-nrow-img .oohome-noimg{width:118px;height:78px}
  .oohome .oohome-news-cta{padding:20px 0 30px}
}

@media(min-width:1024px){
  .oohome .oohome-h1{font-size:40px}
  .oohome .oohome-lead h3{font-size:28px}
}

@media(prefers-reduced-motion:reduce){
  .oohome *{transition:none !important}
}
