/*
Theme Name: General IT
Theme URI: https://www.generalit.com.br
Author: General IT
Description: Tema de blocos da General IT — infraestrutura crítica gerenciada.
Version: 1.8.1
Requires at least: 6.6
Requires PHP: 8.1
License: Proprietary
Text Domain: generalit
*/

/* Paleta oficial: laranja #FF5500 · preto #0D0D0D · branco #FEFEFF */

body { -webkit-font-smoothing: antialiased; }

a:focus-visible,
.wp-element-button:focus-visible { outline: 2px solid #FF5500; outline-offset: 3px; }

/* Cabeçalho */
.gi-cabecalho { padding: 20px clamp(20px, 6vw, 120px); border-bottom: 1px solid #262626; gap: 24px; }
.gi-marca { margin: 0; }
.gi-marca a { color: #FEFEFF; text-decoration: none; font-family: var(--wp--preset--font-family--exo); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 20px; }
.gi-menu a { color: #D4D4D4; text-decoration: none; font-size: 15px; }
.gi-menu a:hover { color: #FF5500; }

/* Seções */
.gi-secao { padding: clamp(64px, 8vw, 96px) clamp(20px, 6vw, 120px); }
.gi-secao--borda { border-top: 1px solid #262626; border-bottom: 1px solid #262626; }
.gi-secao--clara { background: #FEFEFF; color: #0D0D0D; }
.gi-secao--clara a:not(.wp-element-button) { color: #C24100; }
.gi-secao--clara a:not(.wp-element-button):hover { color: #8F3000; }
.gi-secao--clara .wp-element-button { background: #0D0D0D; color: #FEFEFF; }

/* Tipografia utilitária */
.gi-rotulo { font-family: var(--wp--preset--font-family--exo); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: #FF5500; margin: 0; }
.gi-secao--clara .gi-rotulo { color: #C24100; }
.gi-display { font-size: clamp(40px, 5vw, 60px); line-height: 1.08; letter-spacing: -.02em; }
.gi-titulo { font-size: clamp(32px, 3.6vw, 44px); line-height: 1.15; letter-spacing: -.01em; }
.gi-lead { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; color: #BDBDBD; max-width: 600px; }
.gi-muted { color: #A3A3A3; }
.gi-secao--clara .gi-lead,
.gi-secao--clara .gi-muted { color: #5C5C5C; }
.gi-numero { font-family: var(--wp--preset--font-family--exo); font-weight: 700; font-size: clamp(32px, 3vw, 40px); margin: 0; }
.gi-numero-caso { font-family: var(--wp--preset--font-family--exo); font-weight: 700; font-size: 44px; margin: 0; color: #C24100; }

/* Botão secundário (contorno) */
.wp-block-button.is-style-outline .wp-element-button { background: transparent; color: #FEFEFF; border: 1px solid #4D4D4D; }

/* Cards */
.gi-card { background: #1A1A1A; border: 1px solid #333333; border-radius: 12px; padding: 28px; height: 100%; box-sizing: border-box; }
.gi-card-claro { background: #F2F2F2; border-radius: 12px; padding: 32px; height: 100%; box-sizing: border-box; }
.gi-card h3, .gi-card-claro h3 { margin-top: 0; }

/* Camadas do hero */
.gi-camadas { display: flex; flex-direction: column; gap: 14px; }
.gi-camada { background: #1A1A1A; border: 1px solid #333333; border-radius: 12px; padding: 22px 28px; }
.gi-camada p { margin: 0; }
.gi-camada--destaque { background: #FF5500; border-color: #FF5500; color: #0D0D0D; }
.gi-camada__titulo { font-family: var(--wp--preset--font-family--exo); font-weight: 600; font-size: 19px; }

/* Oferta de entrada */
.gi-destaque-caixa { border: 1px solid #FF5500; border-radius: 16px; padding: clamp(28px, 4vw, 48px); }

/* Benchmark */
.gi-bench { background: #0D0D0D; color: #FEFEFF; border-radius: 16px; padding: 36px; display: flex; flex-direction: column; gap: 24px; }
.gi-bench__linha { display: flex; flex-direction: column; gap: 10px; }
.gi-bench__rotulo { display: flex; justify-content: space-between; font-size: 14px; }
.gi-bench__rotulo strong { color: #FF5500; font-family: var(--wp--preset--font-family--exo); }
.gi-barra { height: 10px; border-radius: 5px; background: #FF5500; }
.gi-barra--pub { background: #4D4D4D; }
.gi-bench__nota { font-size: 13px; color: #A3A3A3; }

/* Grades de logos e parceiros */
.gi-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.gi-grade span { border-radius: 8px; padding: 14px; text-align: center; font-weight: 600; font-size: 15px; }
.gi-grade--logos span { border: 1px dashed #4D4D4D; color: #A3A3A3; font-weight: 400; font-size: 13px; }
.gi-grade--parceiros span { background: #1A1A1A; color: #D4D4D4; }

/* Posts */
.gi-posts .wp-block-post { border: 1px solid #D9D9D9; border-radius: 12px; padding: 28px; }
.gi-posts .wp-block-post-title a { color: #0D0D0D; text-decoration: none; }

/* Rodapé */
.gi-rodape { padding: 56px clamp(20px, 6vw, 120px); border-top: 1px solid #262626; color: #A3A3A3; font-size: 14px; }
.gi-rodape a { color: #A3A3A3; text-decoration: none; }
.gi-rodape a:hover { color: #FF5500; }

@media (max-width: 781px) {
.gi-cabecalho { padding: 16px 20px; }
}

/* Logo oficial */
.gi-logo { display: inline-flex; align-items: center; }
.gi-logo img { height: 44px; width: auto; display: block; }
.gi-rodape .gi-logo img { height: 36px; }
@media (max-width: 781px) { .gi-logo img { height: 34px; } }

/* Logos de fabricantes */
.gi-grade--parceiros { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
.gi-grade--parceiros img { display: block; width: 100%; height: 84px; object-fit: contain; box-sizing: border-box; padding: 18px 22px; background: #FEFEFF; border-radius: 10px; }
@media (max-width: 781px) { .gi-grade--parceiros { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gi-grade--parceiros img { height: 72px; } }

/* FAQ (core/details) */
.wp-block-details { border-top: 1px solid #D9D9D9; padding: 16px 0; }
.wp-block-details summary { cursor: pointer; font-weight: 600; font-size: 18px; }
.wp-block-details[open] summary { color: #C24100; }

/* Tabela comparativa */
.gi-tabela-wrap { overflow-x: auto; margin: 8px 0 16px; }
.gi-tabela { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; }
.gi-tabela th, .gi-tabela td { text-align: left; vertical-align: top; padding: 16px; border-bottom: 1px solid #333333; }
.gi-tabela thead th { font-weight: 600; color: #A3A3A3; }
.gi-tabela thead th:last-child { color: #FF5500; }
.gi-tabela tbody th { font-weight: 600; width: 22%; }
.gi-tabela td:last-child { background: #1A1A1A; }
/* Cartão em destaque (fundo claro) */
.gi-card-destaque { border: 2px solid #FF5500; }

/* Logos de clientes nos cases */
.gi-case-logo { display: block; width: 160px; height: 64px; object-fit: contain; box-sizing: border-box; padding: 10px 14px; background: #FEFEFF; border-radius: 8px; margin-bottom: 8px; }
.gi-card-claro .gi-case-logo { box-shadow: 0 0 0 1px #E3E3E3; }

/* Faixa de clientes */
.gi-grade--clientes { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.gi-grade--clientes a { display: block; }
.gi-grade--clientes img { display: block; width: 100%; height: 64px; object-fit: contain; box-sizing: border-box; padding: 12px 16px; background: #FEFEFF; border-radius: 10px; }
@media (max-width: 781px) { .gi-grade--clientes { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gi-grade--clientes img { height: 56px; } }

/* Alinhamento do gi-lead dentro de secoes constrained (5b.2) */
.gi-secao.is-layout-constrained > .gi-lead { margin-left: max(0px, calc((100% - 1200px) / 2)) !important; margin-right: auto !important; }
.gi-secao.gi-estreita.is-layout-constrained > .gi-lead { margin-left: max(0px, calc((100% - 760px) / 2)) !important; }

/* Espacamento da faixa de numeros da home (5b.3) */
.gi-numero { line-height: 1; margin-bottom: 0; }
.gi-numero + * { margin-block-start: 8px !important; }
.gi-secao--borda .wp-block-columns + .gi-muted { margin-block-start: 56px !important; }

/* Numero em destaque nos cases (5b.4) */
.gi-destaque-numero { border-left: 3px solid #FF5500; padding-left: 14px; margin-block: 4px 16px; }
.gi-destaque-numero .gi-numero-caso { font-size: 30px; line-height: 1.1; margin: 0; }
.gi-destaque-numero .gi-numero-caso + p { margin-block-start: 2px !important; font-size: 14px; color: #5C5C5C; }

/* Rodape: linha final de copyright (5b.7) */
.gi-rodape__copyright { border-top: 1px solid #2A2A2A; margin-top: 24px; padding-top: 16px; font-size: 13px; color: #A3A3A3; }

/* Blog */
.gi-figura { margin: 32px 0; }
.gi-figura img { width: 100%; height: auto; border-radius: 16px; display: block; }
.gi-figura figcaption { font-size: 14px; color: #5C5C5C; margin-top: 10px; }
.gi-fontes { font-size: 14px; color: #5C5C5C; }
.single .wp-block-post-content h2 { margin-top: 48px; }
.single .wp-block-post-content h3 { margin-top: 32px; }
.gi-posts .wp-block-post-featured-image { margin-bottom: 16px; }
.gi-posts .wp-block-post-featured-image img { border-radius: 12px; aspect-ratio: 1200 / 630; object-fit: cover; width: 100%; height: auto; display: block; }
.single .wp-block-post-featured-image { margin: 16px 0 32px; }
.single .wp-block-post-featured-image img { border-radius: 16px; aspect-ratio: 1200 / 630; object-fit: cover; width: 100%; height: auto; display: block; }
.gi-post-meta { font-size: 14px; color: #5C5C5C; margin: 4px 0 0; }

/* Fundos fotograficos das aberturas - Etapa 7 */
.gi-hero { position: relative; isolation: isolate; background-color: #0D0D0D; background-size: cover; background-position: center right; background-repeat: no-repeat; }
.gi-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(13,13,13,.94) 0%, rgba(13,13,13,.82) 45%, rgba(13,13,13,.55) 100%); }
.gi-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; z-index: -1; background: linear-gradient(180deg, rgba(13,13,13,0) 0%, #0D0D0D 100%); }

.gi-hero--home  { background-image: url("/wp-content/themes/generalit/assets/fundos/fundo-home-1920.webp?v=1"); }
.gi-hero--nuvem { background-image: url("/wp-content/themes/generalit/assets/fundos/fundo-nuvem-1920.webp?v=1"); }
.gi-hero--redes { background-image: url("/wp-content/themes/generalit/assets/fundos/fundo-redes-1920.webp?v=1"); }
.gi-hero--cyber { background-image: url("/wp-content/themes/generalit/assets/fundos/fundo-cyber-1920.webp?v=1"); }
.gi-hero--dados { background-image: url("/wp-content/themes/generalit/assets/fundos/fundo-dados-1920.webp?v=1"); }

@media (max-width: 960px) {
  .gi-hero { background-position: center; }
  .gi-hero::before { background: rgba(13,13,13,.85); }
  .gi-hero--home  { background-image: url("/wp-content/themes/generalit/assets/fundos/fundo-home-960.webp?v=1"); }
  .gi-hero--nuvem { background-image: url("/wp-content/themes/generalit/assets/fundos/fundo-nuvem-960.webp?v=1"); }
  .gi-hero--redes { background-image: url("/wp-content/themes/generalit/assets/fundos/fundo-redes-960.webp?v=1"); }
  .gi-hero--cyber { background-image: url("/wp-content/themes/generalit/assets/fundos/fundo-cyber-960.webp?v=1"); }
  .gi-hero--dados { background-image: url("/wp-content/themes/generalit/assets/fundos/fundo-dados-960.webp?v=1"); }
}

.gi-hero .gi-camada { background: rgba(26,26,26,.85); backdrop-filter: blur(4px); }

/* Etapa 7 fix - manter o card de destaque (Nuvem privada) laranja sobre o hero */
.gi-hero .gi-camada--destaque { background: #FF5500; border-color: #FF5500; backdrop-filter: none; }
