/*
Theme Name: Infraverse
Theme URI: https://www.theinfraversedao.com
Author: The Infraverse DAO
Description: Tema institucional da Infraverse — operações estruturadas, M&A, licitações e serviços regulatórios. Cinco idiomas, formulário de contato e blog de artigos.
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: infraverse
*/

html { scroll-behavior: smooth; }
body { margin: 0; background: #E5E3DA; color: #1F1E1A; font-family: 'Jost', sans-serif; -webkit-font-smoothing: antialiased; }
a { color: #1F1E1A; text-decoration: none; }
a:hover { opacity: 0.7; }
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-mais { display: none; }
details:not([open]) .faq-menos { display: none; }
input::placeholder, textarea::placeholder { color: #8E8B82; opacity: 1; }
@media (max-width: 1280px) {
  .hero-symbol { top: 0 !important; bottom: 0 !important; right: -6% !important; opacity: 0.32 !important; }
  .hero-pad .hero-h1, .hero-pad p { max-width: 460px !important; }
  .hero-kicker { max-width: 380px !important; }
}
@media (max-width: 1000px) {
  .nav-item { display: none !important; }
  .burger { display: flex !important; }
}
@media (max-width: 820px) {
  .hero-symbol { display: none !important; }
  .hero-h1 { max-width: none !important; }
  .g2, .g2f, .g3 { grid-template-columns: minmax(0,1fr) !important; }
  .svc-row, .passo { grid-template-columns: 56px 1fr !important; }
  .svc-list, .passo-desc { grid-column: 2; }
  .art-row { grid-template-columns: 1fr !important; }
  .art-arrow { display: none !important; }
  .card-h { grid-template-columns: 1fr !important; }
  .galeria { grid-auto-rows: auto !important; }
  .galeria > div { grid-row: auto !important; }
}
@media (max-width: 560px) {
  .pad { padding-left: 20px !important; padding-right: 20px !important; }
  .sec { padding-top: 64px !important; padding-bottom: 56px !important; }
  .hero-pad { padding-top: 72px !important; padding-bottom: 120px !important; }
  .h2 { font-size: 34px !important; margin-bottom: 32px !important; }
  .num-grid { grid-template-columns: 1fr 1fr !important; gap: 28px 20px !important; }
  .num { font-size: 36px !important; }
  .card-pad { padding: 28px 22px !important; }
  .form-pad { padding: 26px 22px !important; }
}

/* ----- estados de interação (equivalentes ao original) ----- */
a { transition: opacity 180ms cubic-bezier(0.2,0.8,0.2,1); }
#ifv-cta:hover, .ifv-btn-solido:hover { background: #2FB98A !important; opacity: 1 !important; }
.ifv-btn-vazado:hover { background: #1F1E1A !important; color: #E5E3DA !important; opacity: 1 !important; }
.burger:hover, #ifv-lang-btn:hover { border-color: #38ACE8 !important; }
#ifv-lang-menu button:hover { background: rgba(62,217,164,0.16); }
#ifv-mobile-menu a:hover { background: rgba(62,217,164,0.10); opacity: 1; }
#ifv-form input:focus, #ifv-form textarea:focus { border-color: #38ACE8 !important; }
#ifv-form button[type="submit"]:hover { background: #000 !important; }
#ifv-form button[type="submit"][disabled] { opacity: 0.6; cursor: wait; }
.svc-row:hover { background: rgba(56,172,232,0.05); }
.art-row:hover { opacity: 1; background: rgba(56,172,232,0.05); }
.art-row:hover .art-arrow { color: #1F1E1A; }

/* ----- páginas de artigo e páginas internas ----- */
.ifv-conteudo { max-width: 780px; margin: 0 auto; padding: 96px 32px 110px; }
.ifv-conteudo h1 { font-family: 'Bebas Neue'; font-weight: 400; font-size: 52px; letter-spacing: 0.02em; line-height: 1.06; margin: 0 0 18px; }
.ifv-conteudo .ifv-meta { font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: #8E8B82; margin-bottom: 20px; display: flex; gap: 16px; flex-wrap: wrap; }
.ifv-conteudo .ifv-corpo { font-size: 17px; font-weight: 300; line-height: 1.75; }
.ifv-conteudo .ifv-corpo p { margin: 0 0 22px; text-wrap: pretty; }
.ifv-conteudo .ifv-corpo h2 { font-family: 'Bebas Neue'; font-weight: 400; font-size: 32px; letter-spacing: 0.02em; margin: 44px 0 14px; }
.ifv-conteudo .ifv-corpo h3 { font-size: 19px; font-weight: 500; margin: 34px 0 10px; }
.ifv-conteudo .ifv-corpo ul, .ifv-conteudo .ifv-corpo ol { padding-left: 22px; margin: 0 0 22px; }
.ifv-conteudo .ifv-corpo li { margin-bottom: 8px; }
.ifv-conteudo .ifv-corpo img { max-width: 100%; height: auto; border: 3px solid #1F1E1A; }
.ifv-conteudo .ifv-corpo blockquote { margin: 26px 0; padding: 18px 22px; background: #EDEBE2; border-left: 3px solid #3ED9A4; font-size: 16px; }
.ifv-conteudo .ifv-corpo a { border-bottom: 1px solid #38ACE8; }
.ifv-voltar { display: inline-block; margin-top: 48px; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; border-bottom: 2px solid #1F1E1A; padding-bottom: 3px; }
.ifv-lista { display: flex; flex-direction: column; }
.ifv-paginacao { display: flex; gap: 14px; margin-top: 48px; font-size: 13px; font-weight: 500; }
.ifv-paginacao .page-numbers { border: 1px solid rgba(31,30,26,0.25); padding: 8px 14px; }
.ifv-paginacao .current { background: #1F1E1A; color: #E5E3DA; }
@media (max-width: 560px) {
  .ifv-conteudo { padding: 64px 20px 72px; }
  .ifv-conteudo h1 { font-size: 34px; }
}
