/* Insight Visual 2026: uma coluna de leitura, fundo escuro quente, um laranja só, celular primeiro. */
:root {
  --iv-bg: #0b0a09;
  --iv-surface: #141210;
  --iv-surface-2: #1b1815;
  --iv-line: #2a2520;
  --iv-fg: #f3f0ea;
  --iv-text: #d6d0c7;
  --iv-muted: #a39d94;
  --iv-faint: #6f6961;
  --iv-accent: #ff6a1a;
  --iv-accent-soft: rgba(255, 106, 26, 0.10);
  --iv-accent-line: rgba(255, 106, 26, 0.35);
  --iv-accent-ink: #1a0d05;
  --iv-display: "Instrument Serif", Georgia, "Times New Roman", serif;
  --iv-body: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --iv-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;
  --iv-read: 720px;
  --iv-max: 1120px;
  color-scheme: dark;
}

/* ---------- Base ---------- */
body {
  background: var(--iv-bg) !important;
  color: var(--iv-text);
  font-family: var(--iv-body);
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body, .site, .site-content, .content-area, .site-main { overflow-x: clip; }
a { color: var(--iv-accent); }
a:hover { color: var(--iv-fg); }
::selection { background: var(--iv-accent); color: var(--iv-accent-ink); }
:focus-visible { outline: 2px solid var(--iv-accent); outline-offset: 3px; }
.iv-wrap { max-width: var(--iv-max); margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }

/* Os contêineres do tema ficam transparentes: o fundo é um só. */
.site.grid-container, .grid-container { max-width: none; }
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.inside-page-header,
.site-content, .content-area, .site-main,
.separate-containers .site-main > * { background: transparent !important; }
.separate-containers .site-main { margin: 0; }
.site-content { padding: 0 !important; display: block; }
.content-area { width: 100% !important; float: none; }
.widget-area, .sidebar { display: none !important; }

/* ---------- Coluna de leitura (posts e páginas comuns) ---------- */
body:not(.full-width-content) .inside-article {
  max-width: var(--iv-read);
  margin: 0 auto;
  padding: 40px max(16px, env(safe-area-inset-left, 0px)) 56px max(16px, env(safe-area-inset-right, 0px)) !important;
}
.full-width-content .inside-article { padding: 0 !important; }

/* Cabeçalho do post */
.entry-header { margin-bottom: 28px; }
.single .entry-header .cat-links, .iv-eyebrow { font-family: var(--iv-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--iv-accent); }
.entry-title, .page-title, h1.entry-title {
  font-family: var(--iv-display);
  font-weight: 400;
  color: var(--iv-fg);
  font-size: clamp(38px, 8.5vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  text-wrap: balance;
  margin: 0;
}
.entry-meta, .entry-meta a { font-family: var(--iv-mono); font-size: 12.5px; letter-spacing: .03em; color: var(--iv-faint); text-transform: uppercase; }
.entry-header .entry-meta { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 6px 14px; }
.entry-meta a:hover { color: var(--iv-fg); }
.featured-image, .page-header-image-single { margin: 0 auto 32px; max-width: var(--iv-read); padding: 0 max(16px, env(safe-area-inset-left, 0px)); }
.featured-image img, .page-header-image-single img { border-radius: 18px; width: 100%; height: auto; border: 1px solid var(--iv-line); }

/* ---------- Texto do post ---------- */
.entry-content { color: var(--iv-text); font-size: 18px; }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content p { margin: 0 0 1.15em; }
.entry-content strong, .entry-content b { color: var(--iv-fg); font-weight: 600; }
.entry-content a { color: var(--iv-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content a:hover { color: var(--iv-fg); }
.entry-content h2 {
  font-family: var(--iv-display); font-weight: 400; color: var(--iv-fg);
  font-size: clamp(30px, 6.4vw, 42px); line-height: 1.08; letter-spacing: -0.01em;
  margin: 2.2em 0 .6em; text-wrap: balance; scroll-margin-top: 90px;
}
.entry-content h3 { font-family: var(--iv-body); font-weight: 600; color: var(--iv-fg); font-size: 21px; line-height: 1.3; margin: 1.8em 0 .5em; scroll-margin-top: 90px; }
.entry-content h4 { font-family: var(--iv-mono); font-weight: 500; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--iv-accent); margin: 1.6em 0 .4em; }
.entry-content ul, .entry-content ol { margin: 0 0 1.2em; padding-left: 1.3em; }
.entry-content li { margin: 0 0 .5em; padding-left: .2em; }
.entry-content li::marker { color: var(--iv-accent); }
.entry-content ol li::marker { font-family: var(--iv-mono); font-size: .9em; }
.entry-content hr, .entry-content .wp-block-separator { border: 0; border-top: 1px solid var(--iv-line) !important; margin: 2.4em 0; opacity: 1; background: none !important; }
.entry-content img { border-radius: 14px; height: auto; }
.entry-content figure { margin: 1.6em 0; }
.entry-content figcaption { font-size: 13px; color: var(--iv-faint); text-align: center; }
.entry-content blockquote, .entry-content .wp-block-quote {
  border-left: 3px solid var(--iv-accent); background: var(--iv-accent-soft); margin: 1.6em 0;
  padding: 16px 20px; border-radius: 0 14px 14px 0; color: var(--iv-fg); font-size: 18px;
}
.entry-content blockquote p:last-child { margin-bottom: 0; }

/* Caixas de destaque antigas (div com borda à esquerda no estilo embutido) */
.entry-content div[style*="border-left"] {
  border-left: 3px solid var(--iv-accent) !important;
  background: var(--iv-accent-soft) !important;
  border-radius: 0 14px 14px 0 !important;
  color: var(--iv-text) !important;
}
.entry-content .imd-verificado { font-family: var(--iv-mono); font-size: 12px !important; color: var(--iv-faint); opacity: 1 !important; letter-spacing: .03em; }

/* Cores antigas do editor que não combinam com o fundo novo */
.entry-content .has-contrast-2-background-color, .entry-content .has-background:not(.wp-block-button__link) { background: var(--iv-surface) !important; border: 1px solid var(--iv-line); border-radius: 14px; padding: 18px 20px; }
.entry-content .has-base-3-color { color: var(--iv-fg) !important; }
.entry-content .has-accent-color { color: var(--iv-accent) !important; }

/* Tabelas: rolam dentro da caixa no celular */
.entry-content table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.entry-content .wp-block-table, .entry-content div[style*="overflow-x"] { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--iv-line); border-radius: 14px; }
.entry-content .wp-block-table table, .entry-content div[style*="overflow-x"] table { min-width: 560px; border: 0; }
.entry-content table th, .entry-content table td { border: 0 !important; border-bottom: 1px solid var(--iv-line) !important; padding: 12px 14px !important; text-align: left; vertical-align: top; color: var(--iv-text); }
.entry-content table th { background: var(--iv-surface-2); color: var(--iv-fg); font-weight: 600; font-size: 14px; }
.entry-content table tr:last-child td { border-bottom: 0 !important; }
.entry-content table tbody tr:nth-child(even) td { background: rgba(255, 255, 255, 0.015); }
.entry-content .has-fixed-layout { table-layout: auto; }

/* Código */
.entry-content pre, .entry-content .wp-block-code, .entry-content .wp-block-preformatted {
  background: var(--iv-surface) !important; border: 1px solid var(--iv-line); border-radius: 14px;
  padding: 18px 20px; overflow-x: auto; font-family: var(--iv-mono); font-size: 14px; line-height: 1.65;
  color: var(--iv-fg); white-space: pre; tab-size: 2;
}
.entry-content pre code { background: none; padding: 0; color: inherit; font-size: inherit; }
.entry-content :not(pre) > code { font-family: var(--iv-mono); font-size: .88em; background: var(--iv-surface-2); border: 1px solid var(--iv-line); border-radius: 6px; padding: 1px 6px; color: var(--iv-fg); }

/* Sumário (Easy Table of Contents) */
#ez-toc-container, .ez-toc-v2_0_82_2 {
  background: var(--iv-surface) !important; border: 1px solid var(--iv-line) !important; border-radius: 16px !important;
  padding: 18px 20px !important; box-shadow: none !important; width: 100% !important; margin: 1.6em 0 !important;
}
#ez-toc-container .ez-toc-title, #ez-toc-container p.ez-toc-title { font-family: var(--iv-mono) !important; font-size: 12px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--iv-accent) !important; font-weight: 500 !important; }
#ez-toc-container a, #ez-toc-container a:visited { color: var(--iv-text) !important; text-decoration: none !important; font-size: 15px; }
#ez-toc-container a:hover { color: var(--iv-fg) !important; }
#ez-toc-container ul li { margin: .35em 0; }

/* Perguntas frequentes (sanfona) */
.entry-content .wp-block-woocommerce-accordion-item { border: 1px solid var(--iv-line); border-radius: 14px; background: var(--iv-surface); margin: 10px 0; overflow: hidden; }
.entry-content .accordion-item__toggle { width: 100%; background: transparent !important; color: var(--iv-fg) !important; font: 600 17px/1.4 var(--iv-body); padding: 16px 18px !important; text-align: left; border: 0; }
.entry-content .accordion-content__wrapper { padding: 0 18px 4px; color: var(--iv-text); }
.entry-content .accordion-item__toggle-icon { color: var(--iv-accent); }

/* Botões */
.wp-block-button__link, .entry-content input[type="submit"], .comment-form input[type="submit"], .entry-content .button {
  background: var(--iv-accent); color: var(--iv-accent-ink) !important; border-radius: 999px; font-weight: 600; font-family: var(--iv-body); border: 0;
}
.wp-block-button__link:hover, .entry-content input[type="submit"]:hover, .comment-form input[type="submit"]:hover, .entry-content .button:hover { filter: brightness(1.08); background: var(--iv-accent); color: var(--iv-accent-ink) !important; }
.read-more { color: var(--iv-accent); font-weight: 600; text-decoration: none; }

/* Botão do menu no celular */
.menu-toggle, .main-navigation .menu-toggle, .mobile-menu-control-wrapper .menu-toggle { background: transparent !important; color: var(--iv-fg) !important; }
.menu-toggle .gp-icon svg { fill: currentColor; width: 22px; height: 22px; }

/* Cartão do autor (plugin Author SEO) */
.entry-content .astp-card, .astp-card {
  background: var(--iv-surface) !important; border: 1px solid var(--iv-line) !important; border-radius: 16px !important;
  box-shadow: none !important; color: var(--iv-text) !important; padding: 16px !important;
}
.astp-card .name { color: var(--iv-fg) !important; font-weight: 600; letter-spacing: .02em; }
.astp-card .meta, .astp-card .txt, .astp-card span, .astp-card div { color: var(--iv-muted) !important; }
.astp-card a { color: var(--iv-accent) !important; }
.astp-card img { border-radius: 12px !important; }

/* Rodapé do post: categorias, tags e navegação */
footer.entry-meta { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--iv-line); display: grid; gap: 12px; }
footer.entry-meta .cat-links, footer.entry-meta .tags-links { display: block; }
.post-navigation { display: grid; gap: 10px; }
.post-navigation .nav-previous, .post-navigation .nav-next { border: 1px solid var(--iv-line); border-radius: 14px; padding: 14px 16px; text-transform: none; font-family: var(--iv-body); font-size: 15px; letter-spacing: 0; }
.post-navigation a { color: var(--iv-fg); text-decoration: none; }
.post-navigation .gp-icon { display: none; }

/* Comentários */
.comments-area { max-width: var(--iv-read); margin: 0 auto !important; padding: 0 max(16px, env(safe-area-inset-left, 0px)) 48px !important; }
.comments-title, .comment-reply-title { font-family: var(--iv-display); font-weight: 400; color: var(--iv-fg); font-size: 30px; }
input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="search"], input[type="password"], textarea, select {
  background: var(--iv-surface) !important; border: 1px solid var(--iv-line) !important; color: var(--iv-fg) !important; border-radius: 12px; font-size: 16px; padding: 12px 14px;
}

/* ---------- Lista do blog, categorias e busca: cards ---------- */
.blog .site-main, .archive .site-main, .search .site-main {
  display: grid; grid-template-columns: 1fr; gap: 16px;
  max-width: var(--iv-max); margin: 0 auto; padding: 32px max(16px, env(safe-area-inset-left, 0px)) 56px max(16px, env(safe-area-inset-right, 0px));
}
.blog .site-main > .page-header, .archive .site-main > .page-header, .search .site-main > .page-header,
.blog .site-main > .paging-navigation, .archive .site-main > .paging-navigation, .search .site-main > .paging-navigation,
.blog .site-main > nav, .archive .site-main > nav, .search .site-main > nav { grid-column: 1 / -1; }
.archive .page-header, .search .page-header { padding: 16px 0 8px !important; margin: 0 !important; }
.archive .page-title, .search .page-title { font-size: clamp(36px, 8vw, 56px); }
.archive .taxonomy-description { color: var(--iv-muted); max-width: 46em; }
.blog .site-main > article, .archive .site-main > article, .search .site-main > article { margin: 0 !important; }
.blog article .inside-article, .archive article .inside-article, .search article .inside-article {
  max-width: none !important; height: 100%; margin: 0 !important; display: flex; flex-direction: column; gap: 12px;
  background: var(--iv-surface) !important; border: 1px solid var(--iv-line); border-radius: 18px; padding: 20px !important;
  transition: border-color .2s ease;
}
.blog article .inside-article:hover, .archive article .inside-article:hover, .search article .inside-article:hover { border-color: var(--iv-faint); }
.blog article .post-image, .archive article .post-image, .search article .post-image { order: -1; margin: -20px -20px 4px !important; }
.blog article .post-image img, .archive article .post-image img, .search article .post-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 18px 18px 0 0; }
.blog article .entry-header, .archive article .entry-header, .search article .entry-header { margin: 0; }
.blog article .entry-title, .archive article .entry-title, .search article .entry-title { font-family: var(--iv-body); font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; }
.blog article .entry-title a, .archive article .entry-title a, .search article .entry-title a { color: var(--iv-fg); text-decoration: none; }
.blog article .entry-title a:hover, .archive article .entry-title a:hover, .search article .entry-title a:hover { color: var(--iv-accent); }
.blog article .entry-header .entry-meta, .archive article .entry-header .entry-meta, .search article .entry-header .entry-meta { margin-top: 8px; }
.entry-summary { color: var(--iv-muted); font-size: 15.5px; line-height: 1.6; }
.entry-summary p { margin: 0; }
.blog article footer.entry-meta, .archive article footer.entry-meta, .search article footer.entry-meta { display: none; }
.read-more-container { margin-top: auto; }
.paging-navigation, .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; font-family: var(--iv-mono); }
.nav-links .page-numbers { border: 1px solid var(--iv-line); border-radius: 999px; padding: 6px 14px; color: var(--iv-text); text-decoration: none; }
.nav-links .page-numbers.current { background: var(--iv-accent); border-color: var(--iv-accent); color: var(--iv-accent-ink); }

/* ---------- Rodapé do site ---------- */
.site-footer { background: transparent !important; }
.iv-footer { border-top: 1px solid var(--iv-line); background: var(--iv-bg); color: var(--iv-muted); font-size: 15px; }
.iv-footer-grid { display: grid; grid-template-columns: 1fr; gap: 32px; padding-top: 48px; padding-bottom: 32px; }
.iv-footer-name { font-family: var(--iv-display); font-size: 28px; color: var(--iv-fg) !important; text-decoration: none; line-height: 1.1; }
.iv-footer-brand p { margin: 10px 0 18px; max-width: 30em; line-height: 1.6; }
.iv-footer-cta { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px; background: var(--iv-accent); color: var(--iv-accent-ink) !important; font-weight: 600; text-decoration: none; }
.iv-footer-col { display: grid; gap: 10px; align-content: start; }
.iv-footer-col h2 { font-family: var(--iv-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--iv-accent); font-weight: 500; margin: 0 0 4px; }
.iv-footer-col a { color: var(--iv-muted); text-decoration: none; }
.iv-footer-col a:hover { color: var(--iv-fg); }
.iv-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-top: 20px; padding-bottom: 32px; border-top: 1px solid var(--iv-line); font-family: var(--iv-mono); font-size: 12px; color: var(--iv-faint); }

/* ---------- Loja (WooCommerce): só aparência, sem mexer no checkout ---------- */
.woocommerce .woocommerce-breadcrumb, .woocommerce .woocommerce-breadcrumb a { color: var(--iv-faint); font-family: var(--iv-mono); font-size: 13px; }
.woocommerce .woocommerce-result-count { color: var(--iv-muted); font-size: 15px; }
.woocommerce ul.products li.product { background: var(--iv-surface); border: 1px solid var(--iv-line); border-radius: 18px; padding: 0 0 16px !important; overflow: hidden; text-align: left; display: flex; flex-direction: column; }
.woocommerce ul.products li.product a img { margin: 0 0 12px !important; border-radius: 0; aspect-ratio: 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--iv-body) !important; font-size: 16px !important; font-weight: 600; line-height: 1.3; color: var(--iv-fg); padding: 0 14px !important; }
.woocommerce ul.products li.product .price { color: var(--iv-accent) !important; font-family: var(--iv-mono); font-size: 15px !important; padding: 0 14px; margin-bottom: 12px !important; }
.woocommerce ul.products li.product .price del { color: var(--iv-faint); opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin: auto 14px 0 !important; text-align: center; }
/* A capa já traz o título; a etiqueta cobriria o texto. O preço riscado mostra a oferta. */
.woocommerce ul.products li.product span.onsale { display: none !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; }
.woocommerce ul.products li.product .button { font-size: 14px !important; padding: 10px 14px !important; line-height: 1.2 !important; }
.woocommerce span.onsale { background: var(--iv-accent) !important; color: var(--iv-accent-ink) !important; border-radius: 999px !important; min-height: 0 !important; min-width: 0 !important; line-height: 1 !important; padding: 8px 12px !important; font-family: var(--iv-mono); font-size: 12px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; top: 10px !important; right: 10px !important; left: auto !important; margin: 0 !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .wc-block-components-button:not(.is-link) {
  background: var(--iv-accent) !important; color: var(--iv-accent-ink) !important; border-radius: 999px !important; font-family: var(--iv-body); font-weight: 600; font-size: 15px; padding: 12px 20px; border: 0;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { filter: brightness(1.08); }
.woocommerce div.product .product_title { font-family: var(--iv-display); font-weight: 400; color: var(--iv-fg); font-size: clamp(34px, 7vw, 52px); line-height: 1.05; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--iv-accent) !important; font-family: var(--iv-mono); }
.woocommerce div.product div.images img { border-radius: 18px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--iv-surface) !important; border-color: var(--iv-line) !important; border-radius: 12px 12px 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--iv-text) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--iv-surface-2) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--iv-fg) !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: var(--iv-surface) !important; color: var(--iv-text) !important; border-top-color: var(--iv-accent) !important; border-radius: 12px; }

/* ---------- Telas maiores ---------- */
@media (min-width: 720px) {
  .blog .site-main, .archive .site-main, .search .site-main { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .iv-footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
  body:not(.full-width-content) .inside-article { padding-top: 64px !important; }
  .post-navigation { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .blog .site-main, .archive .site-main, .search .site-main { grid-template-columns: repeat(3, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
