
/* ══════════════════════════════════════════
   OVERRIDE — ocultar header/footer antigo
   do tema/plugin anterior
══════════════════════════════════════════ */
body > header:not(#mn),
body > .site-header,
body > #masthead,
body > .elementor-location-header,
.e-con-full > header,
.hfcm-div,
[id^="hfcm-div-wrapper"],
.wp-block-template-part[class*="header"],
.elementor-template-header { display: none !important; }

body > footer:not(footer[role="contentinfo"]),
body > .site-footer,
body > #colophon,
body > .elementor-location-footer { display: none !important; }

/* WordPress Admin Bar */
.admin-bar nav#mn { top: 32px !important; }
@media screen and (max-width: 782px) { .admin-bar nav#mn { top: 46px !important; } }
.admin-bar #hero { padding-top: calc(var(--nh) + 32px); }

/* O nosso nav sempre no topo */
nav#mn { top: 0 !important; z-index: 99999 !important; }

/* ITNext — Diagram & Architecture CSS */

#diagrama { padding: 8rem 0; background: var(--bg); }
.diag-wrap { background: var(--white); border: 1px solid var(--border); border-radius: 24px; box-shadow: var(--sh2); padding: 2.5rem 2rem; overflow: hidden; position: relative; }
#arch-svg { width: 100%; max-width: 960px; display: block; margin: 0 auto; }
.sec-label-svg { font-family: 'Bricolage Grotesque', sans-serif; font-size: 13px; font-weight: 800; text-anchor: middle; }

/* IA Section */
#ia { padding: 8rem 0; background: var(--bg); }
.ia-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.ia-cards { display: flex; flex-direction: column; gap: 1rem; }
.ia-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--r); padding: 1.5rem; box-shadow: var(--sh); transition: box-shadow .25s, border-color .25s; }
.ia-card:hover { box-shadow: var(--sh2); border-color: var(--blue-m); }
.ia-card-head { display: flex; align-items: center; gap: 12px; margin-bottom: .65rem; }
.ia-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
.ia-name { font-family: var(--fd); font-size: .95rem; font-weight: 700; color: var(--t1); }
.ia-desc { font-size: .85rem; color: var(--t2); line-height: 1.6; }
.ia-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 20px; margin-top: .5rem; }
.ia-badge.new { background: var(--pink-xl); color: var(--pink); }
.ia-badge.hot { background: #fff5ea; color: #b45309; }

/* Tech logos */
#tech { padding: 5rem 0; background: var(--white); border-top: 1px solid var(--border); }
.tech-title { text-align: center; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--t3); margin-bottom: 2rem; }
.tech-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.tech-logo { background: var(--bg); border: 1px solid var(--border); border-radius: 10px; padding: 10px 20px; font-size: 13px; font-weight: 700; color: var(--t2); transition: border-color .2s, color .2s, background .2s; cursor: default; }
.tech-logo:hover { border-color: var(--blue-m); color: var(--blue); background: var(--blue-xl); }

/* Mobile hamburger */
.nav-hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; }
.nav-hamburger span { display: block; width: 24px; height: 2px; background: var(--t1); border-radius: 2px; transition: all .3s; }
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 960px) {
  .ia-grid { grid-template-columns: 1fr; }
  .nav-hamburger { display: flex; }
  #nav-main { display: none; position: absolute; top: var(--nh); left: 0; right: 0; background: rgba(255,255,255,.98); backdrop-filter: blur(20px); border-bottom: 1px solid var(--border); padding: 1.5rem 5vw; flex-direction: column; gap: 1rem; z-index: 99; }
  #nav-main.open { display: flex; }
  #nav-main .nav-lang { margin: 0; padding: 0; border: none; }
}

/* Contact form feedback */
#contact-msg.success { background: var(--green-xl); color: var(--green); border: 1px solid #a8d5be; }
#contact-msg.error { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }

/* WordPress admin bar adjustment */
.admin-bar nav { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar nav { top: 46px; } }
