/*
Theme Name: Ingite Site
Theme URI: https://ingite.com
Author: Ingite LLC
Description: Tema de blocos do site institucional da Ingite. Conteúdo no banco (páginas e padrões), código só aqui. Independente do dashboard e da store.
Version: 0.1.0
Requires at least: 7.0
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: ingite-site
*/

/* ---------------------------------------------------------------
   Tokens — espelham o theme.json; os componentes usam --ig-*.
   --------------------------------------------------------------- */
:root{
  --ig-navy:#223354; --ig-navy-deep:#141f36; --ig-navy-2:#2c4370;
  --ig-wine:#993366; --ig-plum:#530053; --ig-violet:#7b5cf0;
  --ig-surface:#f2f3f9; --ig-surface-2:#f7f8fc; --ig-white:#fff;
  --ig-ink:#1b2333; --ig-ink-2:#3d4a60; --ig-muted:#5b6b7c;
  --ig-line:#e3e8ee; --ig-line-2:#d2d9e3;
  --ig-ok:#1fb37a;
  --ig-r-sm:8px; --ig-r-md:14px; --ig-r-lg:22px; --ig-pill:999px;
  --ig-shadow:0 1px 2px rgba(20,31,54,.06), 0 10px 30px -12px rgba(20,31,54,.18);
  --ig-shadow-lg:0 2px 4px rgba(20,31,54,.06), 0 24px 60px -24px rgba(20,31,54,.35);
  --ig-grad:linear-gradient(90deg,var(--ig-wine) 0%,var(--ig-violet) 100%);
}

body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
h1,h2,h3{ text-wrap:balance; }
p{ text-wrap:pretty; }
img{ height:auto; }

/* ------------------------------------------------------- tipografia */
.ig-eyebrow{ font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ig-wine); margin:0; }
.ig-eyebrow a{ color:inherit; text-decoration:none; }
.ig-eyebrow--muted{ color:var(--ig-muted); font-weight:500; }
.ig-lede{ font-size:clamp(1.05rem,1.4vw,1.2rem); line-height:1.6; color:var(--ig-ink-2); max-width:62ch; }
.ig-mark, mark.ig-mark{ background:var(--ig-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ig-center{ text-align:center; }
.ig-center .ig-lede{ margin-inline:auto; }

/* pílula "Unified platform" com bolinha verde — herança do site antigo */
.ig-pill{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:var(--ig-pill);
  background:var(--ig-surface); color:var(--ig-ink-2); font-size:.82rem; font-weight:500; margin:0; width:fit-content; }
.ig-pill::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--ig-ok); box-shadow:0 0 0 3px rgba(31,179,122,.18); }

/* ---------------------------------------------------------- cabeçalho */
.ig-header{ position:sticky; top:0; z-index:30; background:rgba(255,255,255,.92); border-bottom:1px solid var(--ig-line); }
@media(min-width:782px){ .ig-header{ backdrop-filter:saturate(1.4) blur(10px); } }
.admin-bar .ig-header{ top:32px; }
@media(max-width:782px){ .admin-bar .ig-header{ top:46px; } }
.ig-header-row{ gap:24px; }
.ig-header-nav{ gap:22px; }
.ig-logo img{ display:block; }
.ig-nav{ font-size:.95rem; font-weight:500; color:var(--ig-navy); }
.ig-nav a{ text-decoration:none; }
.ig-nav a:hover{ color:var(--ig-wine); }
.ig-nav .wp-block-navigation__submenu-container{ border:1px solid var(--ig-line)!important; border-radius:var(--ig-r-md); box-shadow:var(--ig-shadow); padding:8px!important; min-width:280px!important; }
.ig-nav .wp-block-navigation__submenu-container a{ padding:9px 12px!important; border-radius:var(--ig-r-sm); }
.ig-nav .wp-block-navigation__submenu-container a:hover{ background:var(--ig-surface); }

/* seletor de idioma (mesmo desenho do Trauma Zer0: <details> sem dependência) */
.ig-langs{ position:relative; font-size:.8rem; color:var(--ig-navy); }
.ig-langs summary{ list-style:none; display:flex; align-items:center; gap:6px; cursor:pointer; padding:7px 10px;
  border:1px solid var(--ig-line-2); border-radius:var(--ig-pill); font-weight:600; line-height:1; user-select:none; }
.ig-langs summary::-webkit-details-marker{ display:none; }
.ig-langs summary:hover,.ig-langs[open] summary{ border-color:var(--ig-wine); color:var(--ig-wine); }
.ig-langs .ig-lang-seta{ transition:transform .15s ease; }
.ig-langs[open] .ig-lang-seta{ transform:rotate(180deg); }
.ig-langs ul{ position:absolute; right:0; top:calc(100% + 8px); z-index:40; min-width:200px; list-style:none; margin:0; padding:6px;
  background:#fff; border:1px solid var(--ig-line); border-radius:var(--ig-r-md); box-shadow:var(--ig-shadow); }
.ig-langs li a,.ig-langs .ig-lang-atual{ display:flex; align-items:center; gap:12px; padding:9px 10px; border-radius:var(--ig-r-sm); text-decoration:none; color:var(--ig-ink-2); }
.ig-langs li a:hover{ background:var(--ig-surface); color:var(--ig-wine); }
.ig-langs .ig-lang-atual{ background:var(--ig-surface); color:var(--ig-ink); }
.ig-langs li .ig-lang-sigla{ width:22px; font-weight:700; }
.ig-langs .ig-lang-nome{ font-size:.92rem; }

.wp-block-button.ig-btn-primary .wp-block-button__link{ background:var(--ig-wine); color:#fff; border-radius:var(--ig-pill); font-weight:600; padding:.75rem 1.4rem; }
.wp-block-button.ig-btn-primary .wp-block-button__link:hover{ background:var(--ig-navy); }
.wp-block-button.ig-btn-ghost .wp-block-button__link{ background:transparent; color:var(--ig-wine); border:1.5px solid var(--ig-wine); border-radius:var(--ig-pill); font-weight:600; padding:calc(.75rem - 1.5px) 1.4rem; }
.wp-block-button.ig-btn-ghost .wp-block-button__link:hover{ background:var(--ig-wine); color:#fff; }
.ig-btn{ display:inline-block; background:var(--ig-wine); color:#fff; border:0; border-radius:var(--ig-pill); font:inherit; font-weight:600; padding:.8rem 1.6rem; cursor:pointer; }
.ig-btn:hover{ background:var(--ig-navy); }
.ig-btn:disabled{ opacity:.6; cursor:default; }

@media(max-width:900px){
  .ig-header-cta{ display:none; }
}
@media(max-width:600px){
  .ig-header-row{ gap:12px; }
  .ig-header-nav{ gap:10px; }
  .ig-logo img{ width:118px!important; }
  .ig-langs{ order:1; }
  .ig-nav{ order:2; }
  .ig-nav .wp-block-navigation__responsive-container-open{ padding:7px; border:1px solid var(--ig-line-2); border-radius:var(--ig-r-sm); }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{ font-size:1.05rem; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{ padding:8px 0; }
}

/* ---------------------------------------------- ritmo de seção (páginas) */
/* Cada seção é um grupo alignfull com .ig-section. O respiro vem do padding,
   nunca de margem; .is-alt alterna o fundo; o fio de 1px separa seções. */
.ig-main > .wp-block-post-content > *:first-child{ margin-top:0; }
.ig-main .wp-block-post-content > .ig-section{ margin-top:0; margin-bottom:0; }
.ig-section{ padding-top:clamp(56px,7vw,88px)!important; padding-bottom:clamp(56px,7vw,88px)!important; border-top:1px solid var(--ig-line); }
.ig-section.is-alt{ background:var(--ig-surface-2); }
.ig-section.is-dark{ background:linear-gradient(160deg,var(--ig-navy-2) 0%,var(--ig-navy) 45%,var(--ig-navy-deep) 100%); color:#d8dfeb; border-top:0; }
.ig-section.is-dark :is(h1,h2,h3,h4){ color:#fff; }
.ig-section.is-dark .ig-lede{ color:#c3cddd; }
.ig-section.is-dark .ig-eyebrow{ color:#e7a9c8; }
.ig-section > *{ --wp--style--block-gap:22px; }
.ig-head{ max-width:760px; margin-bottom:clamp(28px,4vw,44px)!important; }
.ig-head.ig-center{ margin-inline:auto; }
.ig-head > * + *{ margin-top:14px!important; }

/* ----------------------------------------------------------------- herói */
.ig-hero{ padding-top:clamp(40px,6vw,80px)!important; padding-bottom:clamp(48px,6vw,88px)!important; border-top:0!important;
  background:radial-gradient(1200px 500px at 85% -10%, rgba(123,92,240,.10), transparent 60%), radial-gradient(900px 420px at 0% 0%, rgba(153,51,102,.07), transparent 60%); }
.ig-hero .wp-block-columns{ align-items:center!important; gap:clamp(28px,5vw,64px); margin:0; }
.ig-hero h1{ font-size:clamp(2.3rem,4.6vw,3.6rem); line-height:1.06; letter-spacing:-.025em; margin:18px 0 0; }
.ig-hero .ig-lede{ margin-top:18px; }
.ig-hero .wp-block-buttons{ margin-top:28px; }
.ig-ticks{ list-style:none; padding:0; margin:26px 0 0; display:flex; flex-wrap:wrap; gap:10px 22px; font-size:.9rem; color:var(--ig-ink-2); }
.ig-ticks li{ display:flex; align-items:center; gap:8px; }
.ig-ticks li::before{ content:""; width:18px; height:18px; border-radius:50%; flex:none;
  background:var(--ig-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2 6.8 11 12 5.5' fill='none' stroke='%23993366' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }

/* moldura de captura: barra de janela + sombra (sem carrossel) */
.ig-frame{ margin:0; border-radius:var(--ig-r-md); background:#fff; border:1px solid var(--ig-line); box-shadow:var(--ig-shadow-lg); overflow:hidden; }
.ig-frame::before{ content:""; display:block; height:26px; border-bottom:1px solid var(--ig-line);
  background:#f6f7fb radial-gradient(circle at 14px 13px,#f26b6b 4px,transparent 4.5px), radial-gradient(circle at 28px 13px,#f5c04a 4px,transparent 4.5px), radial-gradient(circle at 42px 13px,#4cc38a 4px,transparent 4.5px);
  background-repeat:no-repeat; }
.ig-frame img{ display:block; width:100%; }
.ig-frame figcaption{ padding:10px 14px; font-size:.85rem; color:var(--ig-muted); border-top:1px solid var(--ig-line); margin:0; }

/* ---------------------------------------------- cards de recurso (Ingite) */
/* A forma de apresentar os destaques veio do site antigo: ícone, título,
   frase de apoio em cor de marca e o texto. */
.ig-features{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:18px; }
.ig-feature{ background:#fff; border:1px solid var(--ig-line); border-radius:var(--ig-r-md); padding:24px 24px 26px; margin:0!important;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.ig-feature:hover{ border-color:var(--ig-line-2); box-shadow:var(--ig-shadow); transform:translateY(-2px); }
.ig-feature img.ig-feature-icon{ width:52px; height:52px; object-fit:contain; display:block; margin:0 0 16px; }
.ig-feature h3{ font-size:1.12rem; line-height:1.3; margin:0 0 8px; }
.ig-feature .ig-feature-lead{ font-weight:600; color:var(--ig-wine); font-size:.96rem; line-height:1.45; margin:0 0 10px; }
.ig-feature p{ font-size:.95rem; line-height:1.62; color:var(--ig-ink-2); margin:0; }
.ig-section.is-alt .ig-feature{ background:#fff; }

/* ------------------------------------------------------ capturas de tela */
.ig-shots{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.ig-shots > figure{ margin:0; }
.ig-shots > .is-wide{ grid-column:1 / -1; }
.ig-shots a{ display:block; cursor:zoom-in; }
.ig-shots figcaption strong{ display:block; color:var(--ig-ink); font-weight:600; }
@media(max-width:720px){ .ig-shots{ grid-template-columns:1fr; } }

.ig-lightbox{ position:fixed; inset:0; z-index:1000; background:rgba(12,18,33,.88); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:4vh 4vw; cursor:zoom-out; }
.ig-lightbox img{ max-width:100%; max-height:84vh; border-radius:var(--ig-r-sm); box-shadow:0 30px 80px rgba(0,0,0,.5); }
.ig-lightbox p{ color:#dfe5ef; margin:14px 0 0; font-size:.95rem; text-align:center; max-width:80ch; }

/* ------------------------------------------------------------- vídeos */
.ig-videos{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; }
.ig-videos.is-single{ grid-template-columns:minmax(0,820px); justify-content:center; }
.ig-video{ position:relative; display:block; width:100%; aspect-ratio:16/9; padding:0; border:0; border-radius:var(--ig-r-md); overflow:hidden; cursor:pointer; background:#000; box-shadow:var(--ig-shadow); }
.ig-video img{ width:100%; height:100%; object-fit:cover; opacity:.92; transition:opacity .15s ease, transform .3s ease; }
.ig-video:hover img{ opacity:1; transform:scale(1.02); }
.ig-video-play{ position:absolute; inset:0; margin:auto; width:64px; height:64px; border-radius:50%; background:rgba(153,51,102,.92); box-shadow:0 8px 24px rgba(0,0,0,.35); }
.ig-video-play::after{ content:""; position:absolute; left:26px; top:21px; border-style:solid; border-width:11px 0 11px 17px; border-color:transparent transparent transparent #fff; }
.ig-video-frame{ width:100%; aspect-ratio:16/9; border:0; border-radius:var(--ig-r-md); }

/* --------------------------------------------- grade de módulos (home) */
.ig-mods{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ig-mod{ display:flex; flex-direction:column; gap:10px; background:#fff; border:1px solid var(--ig-line); border-radius:var(--ig-r-md); padding:22px; text-decoration:none!important; color:var(--ig-ink);
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.ig-mod:hover{ border-color:var(--ig-wine); box-shadow:var(--ig-shadow); transform:translateY(-2px); }
.ig-mod img{ width:44px; height:44px; object-fit:contain; }
.ig-mod strong{ font-size:1.05rem; color:var(--ig-navy); line-height:1.25; }
.ig-mod span{ font-size:.9rem; color:var(--ig-muted); line-height:1.5; }
.ig-mod em{ font-style:normal; font-size:.85rem; font-weight:600; color:var(--ig-wine); margin-top:auto; }
.ig-mod em::after{ content:" →"; }
.ig-mods > :last-child:nth-child(4n+3){ grid-column:span 2; }
@media(max-width:1000px){ .ig-mods{ grid-template-columns:repeat(2,minmax(0,1fr)); } .ig-mods > :last-child:nth-child(4n+3){ grid-column:auto; } .ig-mods > :last-child:nth-child(odd){ grid-column:1 / -1; } }
@media(max-width:560px){ .ig-mods{ grid-template-columns:1fr; } }

/* módulo em destaque (home): texto + captura, alternando o lado */
.ig-spot .wp-block-columns{ align-items:center!important; gap:clamp(28px,5vw,64px); }
.ig-spot.is-flip .wp-block-columns{ flex-direction:row-reverse; }
@media(max-width:781px){ .ig-spot.is-flip .wp-block-columns{ flex-direction:column; } }

/* ------------------------------------------------------ logos de clientes */
.ig-logos{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; align-items:center; }
.ig-logos figure{ margin:0; background:#fff; border:1px solid var(--ig-line); border-radius:var(--ig-r-sm); height:84px; display:flex; align-items:center; justify-content:center; padding:14px; }
.ig-logos img{ max-height:44px; max-width:100%; width:auto; object-fit:contain; filter:grayscale(1); opacity:.75; transition:filter .2s ease, opacity .2s ease; }
.ig-logos figure:hover img{ filter:none; opacity:1; }
@media(max-width:900px){ .ig-logos{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* ---------------------------------------------------------------- CTA */
.ig-cta-box{ border-radius:var(--ig-r-lg); padding:clamp(32px,5vw,56px)!important; background:linear-gradient(160deg,var(--ig-navy-2) 0%,var(--ig-navy) 50%,var(--ig-navy-deep) 100%); color:#d8dfeb; position:relative; overflow:hidden; }
.ig-cta-box::after{ content:""; position:absolute; right:-120px; top:-120px; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle, rgba(153,51,102,.45), transparent 70%); pointer-events:none; }
.ig-cta-box :is(h2,h3){ color:#fff; }
.ig-cta-box .wp-block-button.ig-btn-ghost .wp-block-button__link{ color:#fff; border-color:rgba(255,255,255,.55); }

/* -------------------------------------------------------------- números */
.ig-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; }
.ig-stat{ border-left:3px solid var(--ig-wine); padding:4px 0 4px 16px; }
.ig-stat b{ display:block; font-size:2rem; line-height:1.1; color:var(--ig-navy); font-weight:800; letter-spacing:-.02em; }
.ig-stat span{ color:var(--ig-muted); font-size:.92rem; }

/* ----------------------------------------------------------------- FAQ */
.ig-faq{ border-top:1px solid var(--ig-line); }
.ig-faq details{ border-bottom:1px solid var(--ig-line); }
.ig-faq summary{ cursor:pointer; list-style:none; padding:18px 36px 18px 0; position:relative; font-weight:600; color:var(--ig-navy); line-height:1.45; }
.ig-faq summary::-webkit-details-marker{ display:none; }
.ig-faq summary::after{ content:"+"; position:absolute; right:4px; top:14px; font-size:1.5rem; font-weight:400; color:var(--ig-wine); }
.ig-faq details[open] summary::after{ content:"–"; }
.ig-faq details > :not(summary){ color:var(--ig-ink-2); line-height:1.7; margin:0 0 18px; }

/* -------------------------------------------------------------- planos */
.ig-plans{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; align-items:stretch; }
.ig-plan{ display:flex; flex-direction:column; gap:12px; background:#fff; border:1px solid var(--ig-line); border-radius:var(--ig-r-md); padding:26px; margin:0!important; }
.ig-plan.is-featured{ border:2px solid var(--ig-wine); box-shadow:var(--ig-shadow-lg); }
.ig-plan h3{ margin:0; }
.ig-plan .ig-price{ font-size:2rem; font-weight:800; color:var(--ig-navy); line-height:1; }
.ig-plan ul{ margin:0; padding-left:1.1em; color:var(--ig-ink-2); font-size:.94rem; line-height:1.7; }
.ig-plan .wp-block-buttons{ margin-top:auto; }

/* ---------------------------------------------------------- formulários */
.ig-form{ display:flex; flex-direction:column; gap:18px; }
.ig-form-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 18px; }
.ig-field{ display:flex; flex-direction:column; gap:6px; font-size:.88rem; font-weight:600; color:var(--ig-navy); }
.ig-field--full{ grid-column:1 / -1; }
.ig-field input,.ig-field select,.ig-field textarea{ font:inherit; font-weight:400; font-size:1rem; color:var(--ig-ink); background:#fff; border:1px solid var(--ig-line-2); border-radius:var(--ig-r-sm); padding:.7rem .85rem; }
.ig-field input:focus,.ig-field select:focus,.ig-field textarea:focus{ outline:2px solid rgba(153,51,102,.35); border-color:var(--ig-wine); }
.ig-check{ display:flex; gap:10px; align-items:flex-start; font-size:.9rem; color:var(--ig-ink-2); }
.ig-check input{ margin-top:4px; accent-color:var(--ig-wine); }
.ig-hp{ position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden; }
.ig-form-actions{ margin:0; }
.ig-form-msg{ margin:0; padding:14px 16px; border-radius:var(--ig-r-sm); font-weight:500; }
.ig-form-msg.is-ok{ background:#e9f8f1; color:#11663f; }
.ig-form-msg.is-err{ background:#fdeceb; color:#9b2a1d; }
@media(max-width:640px){ .ig-form-grid{ grid-template-columns:1fr; } }

/* ----------------------------------------------------------------- blog */
.ig-query{ padding-top:48px; padding-bottom:80px; }
.ig-post-grid{ gap:28px!important; }
.ig-post-card{ gap:10px; }
.ig-post-card > *{ margin:0!important; }
.ig-post-card .wp-block-post-featured-image{ margin-bottom:8px!important; overflow:hidden; border-radius:12px; }
.ig-post-card .wp-block-post-featured-image img{ transition:transform .3s ease; }
.ig-post-card:hover .wp-block-post-featured-image img{ transform:scale(1.03); }
.ig-post-card .wp-block-post-title a{ text-decoration:none; color:var(--ig-navy); }
.ig-post-card .wp-block-post-title a:hover{ color:var(--ig-wine); }
.ig-post-card .wp-block-post-excerpt{ color:var(--ig-ink-2); font-size:.94rem; }
.ig-post-cover{ margin-bottom:32px!important; overflow:hidden; }
@media(max-width:900px){ .ig-post-grid{ grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
@media(max-width:600px){ .ig-post-grid{ grid-template-columns:1fr!important; } }

/* -------------------------------------------------------------- rodapé */
.ig-footer{ font-size:.92rem; color:#b9c4d6; }
.ig-footer a{ color:#d8dfeb; text-decoration:none; }
.ig-footer a:hover{ color:#fff; }
.ig-footer-h{ color:#fff!important; font-size:.8rem!important; letter-spacing:.12em; text-transform:uppercase; margin:0 0 14px!important; }
.ig-footer-list{ list-style:none; padding:0; margin:0; line-height:2; }
.ig-footer-desc{ margin:16px 0 0!important; max-width:36ch; line-height:1.6; }
.ig-wordmark{ font-weight:600; font-size:1.7rem; letter-spacing:.08em; color:#fff; }
.ig-wordmark b{ color:var(--ig-wine); font-weight:800; margin-left:2px; }
.ig-social{ list-style:none; padding:0; margin:20px 0 0; display:flex; gap:10px; }
.ig-social a{ display:flex; width:36px; height:36px; align-items:center; justify-content:center; border-radius:50%; border:1px solid rgba(255,255,255,.18); }
.ig-social a:hover{ background:var(--ig-wine); border-color:var(--ig-wine); }
.ig-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); font-size:.82rem; }
.ig-footer-bottom p{ margin:0; }

/* ------------------------------------------------- páginas de texto (legal) */
.ig-page-head .wp-block-post-title{ font-size:clamp(2rem,4vw,2.8rem); }
.ig-page-body h2{ font-size:1.5rem; margin-top:2em; }
.ig-page-body h3{ font-size:1.15rem; margin-top:1.6em; }
