/* Ajustes do site novo sobre o CSS herdado do WordPress/Elementor.
   Só o que não existia no site antigo ou que era feito por scripts de plugins. */

/* Visualizador de relatórios (substitui o PDF Embedder): página 1 com borda escura,
   barra embaixo que aparece ao passar o mouse (data-toolbar="bottom", fixed off) */
.mib-pdf { position: relative; max-width: 762px; border: 1px solid #1d2b2b; background: #1d2b2b; line-height: 0; }
.mib-pdf-paginas img { display: block; width: 100%; height: auto; }
.mib-pdf-paginas img[hidden] { display: none; }
.mib-pdf-barra { position: absolute; left: 0; right: 0; bottom: 0; display: flex; gap: 10px; align-items: center; justify-content: center;
  padding: 8px; background: rgba(29, 43, 43, .92); color: #fff; font: 14px/1.2 system-ui, sans-serif; opacity: 0; transition: opacity .2s; }
.mib-pdf:hover .mib-pdf-barra, .mib-pdf:focus-within .mib-pdf-barra { opacity: 1; }
@media (hover: none) { .mib-pdf-barra { position: static; opacity: 1; } }
.mib-pdf-barra button { background: transparent; color: #fff; border: 1px solid #ffffff55; border-radius: 4px; width: 32px; height: 28px; font-size: 18px; cursor: pointer; }
.mib-pdf-barra a { color: #fff; margin-left: 12px; text-decoration: underline; }

/* Seletor de idioma no topo: discreto, sobre a faixa verde do cabeçalho */
#masthead { position: relative; }
.mib-idiomas { position: absolute; top: 4px; right: 10px; z-index: 10000; display: flex; gap: 2px; font: 600 11px/1 Jost, system-ui, sans-serif; letter-spacing: .06em; }
.mib-idiomas a { color: #ffffffb3; text-decoration: none; padding: 3px 5px; border-radius: 3px; }
.mib-idiomas a:hover { color: #fff; }
.mib-idiomas a[aria-current] { color: #003c3c; background: #fff; }

/* WhatsApp flutuante (no lugar do plugin qlwapp, mesmo lugar e cor) */
.mib-whats { position: fixed; right: 20px; bottom: 20px; z-index: 9990; width: 60px; height: 60px; border-radius: 50%; background: #25d366; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(0,0,0,.25); transition: transform .15s; }
.mib-whats:hover { transform: scale(1.06); }
@media (max-width: 767px) { .mib-whats { width: 54px; height: 54px; right: 14px; bottom: 14px; } }

/* Home: sem o card "Ver os muriquis ao vivo" (A11), os 2 cards de impacto ficam centralizados */
.elementor-element.elementor-element-95841a7 { justify-content: center; }

/* ===================== MARCA MIB (V02/V03, Rodada 4) =====================
   O kit do Elementor nunca foi ajustado: as cores globais eram as de fábrica
   (primária #c36 = o "bordô", acento verde #61ce70) e o tema Hello pinta todo link de #c36.
   Aqui as cores globais passam a ser as da marca, e o WooCommerce segue a marca. */
:root, body.elementor-kit-7 {
  --mib-verde: #003c3c; --mib-verde-2: #0b5555; --mib-laranja: #e88720; --mib-amarelo: #f5ab3c; --mib-texto: #1e1e1e;
  --e-global-color-primary: #003c3c; --e-global-color-secondary: #e88720; --e-global-color-accent: #f5ab3c;
}
a { color: var(--mib-verde); }
a:hover, a:focus { color: var(--mib-laranja); }

/* loja e produto */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-loop-product__title { color: var(--mib-verde) !important; }
.woocommerce .price, .woocommerce .price .amount, .woocommerce-Price-amount { color: var(--mib-verde) !important; font-weight: 700; }
.woocommerce .price del, .woocommerce .price del .amount { color: #8a8a8a !important; font-weight: 400; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .add_to_cart_button, .single_add_to_cart_button, .wc-block-components-button {
  background: var(--mib-verde) !important; color: #fff !important; border: 0 !important; border-radius: 6px !important; font-weight: 600 !important; transition: background .15s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover, .add_to_cart_button:hover, .single_add_to_cart_button:hover { background: var(--mib-laranja) !important; color: #fff !important; }
.woocommerce button.button.alt.disabled, .woocommerce button.button:disabled { background: var(--mib-verde) !important; opacity: .55 !important; }
.woocommerce .product_meta a, .posted_in a, .tagged_as a, .woocommerce-breadcrumb a { color: var(--mib-verde) !important; }
.woocommerce-breadcrumb a:hover, .product_meta a:hover { color: var(--mib-laranja) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: #f4f1ea !important; border-color: #e2dccd !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--mib-verde) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #fff !important; border-bottom-color: #fff !important; box-shadow: inset 0 3px 0 var(--mib-laranja); }
.woocommerce span.onsale { background: var(--mib-laranja) !important; }
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: var(--mib-amarelo) !important; }
.woocommerce select:focus, .woocommerce input:focus, .woocommerce textarea:focus { border-color: var(--mib-verde) !important; outline: 2px solid rgba(0,60,60,.15); }
.woocommerce .woocommerce-ordering select { border-color: #cfc8b6; border-radius: 6px; }

/* Loja: FAQ com fundo de ponta a ponta e conteúdo sem transbordar (V03) */
.elementor-element.elementor-element-73e1d06 { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
  padding-left: max(15px, calc(50vw - 570px)) !important; padding-right: max(15px, calc(50vw - 570px)) !important; }
.elementor-element.elementor-element-9e8b1e0 { width: 100% !important; max-width: 100% !important; }

/* Montanhas dos Muriquis: todas as seções com a largura de conteúdo do 1º bloco (1140px) (V04) */
@media (min-width: 1025px) {
  .elementor-element-85c6eea, .elementor-element-77528f7, .elementor-element-43fcf65, .elementor-element-fc00aaf, .elementor-element-5ed4157,
  .elementor-element-f87bf21, .elementor-element-1166cfc, .elementor-element-94014e1, .elementor-element-839f3cb {
    --content-width: min(100%, 1140px) !important; max-width: 1140px !important; margin-left: auto !important; margin-right: auto !important;
  }
}
.mib-store-slider .mibs-dot, .mib-store-slider .mibs-arrow { border-color: transparent !important; }
.mib-store-slider .mibs-dot.active { background: var(--mib-laranja) !important; }

/* Tema Hello: todo button/[type=button|submit] no hover/foco vira #c36 (o bordô) -> marca */
[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
  background-color: var(--mib-laranja); border-color: var(--mib-laranja); color: #fff;
}
[type=button], [type=submit], button { border-color: var(--mib-verde); color: var(--mib-verde); }
/* barra do visualizador de PDF */
.mib-pdf-barra button, .mib-pdf-barra button:hover, .mib-pdf-barra button:focus { background: transparent !important; color: #fff !important; border: 1px solid #ffffff66 !important; }
.mib-pdf-barra button:hover { background: var(--mib-laranja) !important; border-color: var(--mib-laranja) !important; }
.mib-pdf-barra a, .mib-pdf-barra a:hover { color: #fff !important; }

/* Aviso de cookies (LGPD) */
.mib-cookies { position: fixed; left: 16px; bottom: 16px; z-index: 9995; max-width: 460px; background: #003c3c; color: #fff; padding: 14px 16px; border-radius: 10px; box-shadow: 0 6px 24px rgba(0,0,0,.3); font: 14px/1.45 Jost, system-ui, sans-serif; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.mib-cookies[hidden] { display: none; }
.mib-cookies span { flex: 1 1 100%; }
.mib-cookies button, .mib-cookies button:hover { background: var(--mib-laranja) !important; color: #fff !important; border: 0 !important; border-radius: 6px; padding: 7px 16px; cursor: pointer; font-weight: 600; }
.mib-cookies button.sec, .mib-cookies button.sec:hover { background: transparent !important; border: 1px solid #ffffff88 !important; }
@media (max-width: 767px) { .mib-cookies { right: 84px; max-width: none; } }

/* ===== Loja nova: carrinho, checkout, pedido ===== */
.mib-loja { padding: 40px 20px 80px; font-family: "Jost", sans-serif; color: #1e1e1e; }
.mib-loja-caixa { max-width: 1040px; margin: 0 auto; }
.mib-loja h1 { font-family: "Unbounded", sans-serif; color: var(--mib-verde); font-size: 30px; margin: 10px 0 24px; }
.mib-loja h2 { font-family: "Unbounded", sans-serif; color: var(--mib-verde); font-size: 18px; margin: 26px 0 12px; }
.mib-loja .button, .mib-loja button.button { background: var(--mib-verde); color: #fff; border: 0; border-radius: 4px; padding: 11px 20px; font-weight: 600; cursor: pointer; text-decoration: none; display: inline-block; font-size: 15px; }
.mib-loja .button:hover { background: var(--mib-laranja); }
.mib-loja .button:disabled { opacity: .5; cursor: not-allowed; }
.mib-loja-cta { margin-top: 20px; font-size: 16px !important; padding: 14px 28px !important; text-transform: uppercase; }
.mib-loja-tabela { width: 100%; border-collapse: collapse; }
.mib-loja-tabela th, .mib-loja-tabela td { border-bottom: 1px solid #e6e1d6; padding: 12px 8px; text-align: left; vertical-align: middle; }
.mib-loja-foto img { border-radius: 6px; object-fit: cover; display: block; }
.mib-loja-qtd { display: inline-flex; align-items: center; border: 1px solid #ccc; border-radius: 4px; }
.mib-loja-qtd button { background: none; border: 0; padding: 6px 12px; cursor: pointer; font-size: 16px; color: var(--mib-verde); }
.mib-loja-qtd span { min-width: 26px; text-align: center; }
.mib-loja-link { background: none; border: 0; color: var(--mib-verde); text-decoration: underline; cursor: pointer; padding: 4px 0; font-size: 13px; display: inline-block; }
.mib-loja-linha { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; margin: 20px 0; }
.mib-loja label { display: flex; flex-direction: column; font-size: 14px; gap: 4px; }
.mib-loja input:not([type=radio]), .mib-loja textarea { padding: 10px 12px; border: 1px solid #ccc; border-radius: 4px; font: inherit; font-size: 15px; }
.mib-loja-fretes { list-style: none; padding: 0; margin: 0 0 10px; }
.mib-loja-total { margin-top: 18px; text-align: right; line-height: 1.9; }
.mib-total-final { font-size: 20px; color: var(--mib-verde); }
.mib-loja-erro { color: #b3261e; font-weight: 500; }
.mib-loja-aviso { background: #fff4e5; border-left: 4px solid var(--mib-laranja); padding: 10px 14px; }
.mib-checkout-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.mib-checkout .mib-campo { margin-bottom: 10px; }
.mib-campo-dupla { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mib-opcao { flex-direction: row !important; align-items: baseline; gap: 8px !important; padding: 10px 12px; border: 1px solid #e6e1d6; border-radius: 6px; margin-bottom: 8px; cursor: pointer; }
.mib-opcao small { color: #666; }
.mib-resumo { list-style: none; padding: 0; margin: 0; }
.mib-resumo li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #eee; }
.mib-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; }
.mib-status { font-size: 18px; padding: 14px 18px; border-radius: 6px; background: #eef5f2; border-left: 4px solid var(--mib-verde); }
.mib-status-aguardando_pix, .mib-status-aguardando_pagamento { background: #fff4e5; border-color: var(--mib-laranja); }
.mib-status-cancelado { background: #f3f3f3; border-color: #999; }
.mib-pix { border: 2px solid var(--mib-laranja); border-radius: 10px; padding: 20px; margin: 20px 0; max-width: 560px; }
.mib-pix img { display: block; margin: 12px 0; }
.mib-pix textarea { width: 100%; font-family: monospace; font-size: 12px; margin-bottom: 10px; box-sizing: border-box; }
@media (max-width: 767px) {
  .mib-checkout-grade { grid-template-columns: 1fr; gap: 10px; }
  .mib-loja h1 { font-size: 24px; }
  .mib-loja-tabela thead { display: none; }
  .mib-loja-tabela td { padding: 8px 4px; }
}
.mib-carrinho-flutuante { position: fixed; right: 20px; bottom: 92px; z-index: 9989; width: 54px; height: 54px; border-radius: 50%; background: var(--mib-verde); color: #fff !important; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.mib-carrinho-flutuante span { position: absolute; top: -4px; right: -4px; background: var(--mib-laranja); color: #fff; border-radius: 12px; min-width: 22px; height: 22px; font: 600 12px/22px "Jost", sans-serif; text-align: center; padding: 0 5px; box-sizing: border-box; }
.mib-toast { position: fixed; left: 50%; bottom: 30px; transform: translateX(-50%); z-index: 9999; background: var(--mib-verde); color: #fff; padding: 12px 20px; border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,.25); font: 500 15px "Jost", sans-serif; display: flex; gap: 16px; align-items: center; }
.mib-toast a { color: var(--mib-amarelo); font-weight: 600; }
@media (max-width: 767px) { .mib-carrinho-flutuante { right: 14px; bottom: 80px; width: 50px; height: 50px; } }

/* ---- Rolagem e animações de entrada ----
   Rolagem suave para âncoras (#projetos, #doe...) com folga no topo. As animações só
   valem para o que está abaixo da dobra ao abrir (mib-front.js marca com .mib-revela);
   sem JS ou com "reduzir movimento" o conteúdo aparece direto. */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 24px; }
.mib-revela { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.2,.65,.3,1), transform .7s cubic-bezier(.2,.65,.3,1); transition-delay: var(--mib-atraso, 0s); will-change: opacity, transform; }
.mib-revela.mib-visivel { opacity: 1; transform: none; }
.mib-revela-img { transform: scale(.96) translateY(18px); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mib-revela, .mib-revela-img { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ---- Galeria do produto ----
   Sem o flexslider, o CSS do WooCommerce põe da 2ª foto em diante a 25% (viram miniaturas):
   toda foto da galeria ocupa a largura inteira. */
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) { width: 100%; display: block; }
.woocommerce-product-gallery__image { position: relative; overflow: hidden; cursor: zoom-in; }
.woocommerce-product-gallery__image img { transition: opacity .25s; }
.woocommerce-product-gallery .mib-galeria-entra { animation: mibFoto .35s ease; }
@keyframes mibFoto { from { opacity: 0; } to { opacity: 1; } }
/* zoom ao passar o mouse (desktop): a foto grande acompanha o cursor */
.mib-zoom { position: absolute; inset: 0; background-repeat: no-repeat; background-size: 200%; opacity: 0; transition: opacity .2s; pointer-events: none; background-color: #fff; }
.woocommerce-product-gallery__image:hover .mib-zoom.mib-zoom-pronto { opacity: 1; }
.flex-control-thumbs li img { cursor: pointer; transition: opacity .2s; }
.woocommerce-product-gallery__trigger { z-index: 5; cursor: pointer; }

/* ---- Modal de fotos (galeria do produto) ---- */
.mib-modal { position: fixed; inset: 0; z-index: 10000; background: rgba(8, 26, 22, .94); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .25s; touch-action: pan-y; }
.mib-modal.mib-aberto { opacity: 1; }
.mib-modal img { max-width: 92vw; max-height: 86vh; object-fit: contain; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,.4); transition: opacity .2s, transform .25s; user-select: none; }
.mib-modal img.mib-carregando { opacity: .35; }
.mib-modal button { position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0; border-radius: 50%; width: 48px; height: 48px; font-size: 26px; line-height: 48px; cursor: pointer; padding: 0; transition: background .2s; }
.mib-modal button:hover, .mib-modal button:focus-visible { background: rgba(255,255,255,.28); outline: none; }
.mib-modal .mib-modal-fechar { top: 16px; right: 16px; }
.mib-modal .mib-modal-ant { left: 16px; top: 50%; transform: translateY(-50%); }
.mib-modal .mib-modal-prox { right: 16px; top: 50%; transform: translateY(-50%); }
.mib-modal .mib-modal-num { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: #fff; font: 500 14px "Jost", sans-serif; opacity: .8; }
@media (max-width: 767px) { .mib-modal .mib-modal-ant, .mib-modal .mib-modal-prox { top: auto; bottom: 8px; transform: none; } }
/* setas da galeria do produto (passam a foto sem abrir o modal) */
.woocommerce-product-gallery .flex-viewport { position: relative; }
.mib-galeria-seta { position: absolute; top: 50%; transform: translateY(-50%); z-index: 6; width: 42px; height: 42px; border: 0; border-radius: 50%; padding: 0; background: rgba(255,255,255,.88); color: var(--mib-verde, #0b3d33); font-size: 28px; line-height: 40px; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.18); transition: background .2s, transform .2s; }
.woocommerce-product-gallery .mib-galeria-seta:hover, .woocommerce-product-gallery .mib-galeria-seta:focus, .woocommerce-product-gallery .mib-galeria-seta:active { background: #fff; color: var(--mib-verde, #0b3d33); transform: translateY(-50%) scale(1.08); outline: none; }
.mib-galeria-ant { left: 10px; }
.mib-galeria-prox { right: 10px; }

/* ================= Responsividade (celular e tablet) =================
   O layout do Elementor no celular empilhava logo, menu e "Doe agora" em três faixas
   (226px de cabeçalho), deixava o menu aberto com links brancos sobre branco e
   algumas grades passando da largura da tela. */

/* nada passa da largura da tela (grades com margem negativa, tabelas) */
html, body { overflow-x: clip; }

@media (max-width: 1024px) {
  /* cabeçalho numa faixa só: logo à esquerda; "Doe agora" e o menu à direita */
  #masthead .elementor-element-ce0a43c > .e-con-inner { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; padding: 8px 12px !important; gap: 10px; min-height: 0 !important; }
  #masthead .elementor-element-9380b2f { flex: 0 1 auto !important; width: auto !important; padding: 0 !important; min-height: 0 !important; }
  #masthead .elementor-element-e8b2704 { margin: 0 !important; padding: 0 !important; position: static !important; }
  #masthead .elementor-element-e8b2704 img { width: 138px !important; height: auto !important; max-width: none; display: block; }
  #masthead .elementor-element-8f12d3a { flex: 0 0 auto !important; width: auto !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; padding: 22px 0 0 !important; min-height: 0 !important; }
  #masthead .elementor-element-c60e34a { order: 1; width: auto !important; margin: 0 !important; position: static !important; }
  #masthead .elementor-element-c60e34a .elementor-button { padding: 10px 14px !important; font-size: 13px !important; line-height: 1.1 !important; border-radius: 6px; }
  #masthead .elementor-element-3f0dc10 { order: 2; width: auto !important; margin: 0 !important; position: static !important; }
  #masthead .elementor-element-3f0dc10 .hfe-nav-menu { justify-content: flex-end; }
  /* botão do menu: branco, área de toque de 44px */
  #masthead .hfe-nav-menu__toggle { width: 44px; height: 44px; display: flex !important; align-items: center; justify-content: center; border-radius: 8px; color: #fff !important; background: rgba(255,255,255,.08); margin: 0 !important; cursor: pointer; }
  #masthead .hfe-nav-menu__toggle:hover, #masthead .hfe-nav-menu__toggle:focus-visible { background: rgba(255,255,255,.18); outline: none; }
  #masthead .hfe-nav-menu-icon, #masthead .hfe-nav-menu-icon i, #masthead .hfe-nav-menu-icon svg { color: #fff !important; fill: #fff !important; font-size: 24px !important; width: 24px; height: 24px; line-height: 1 !important; border: 0 !important; padding: 0 !important; }
  /* menu aberto: painel verde em toda a largura, logo abaixo do cabeçalho */
  #masthead .elementor-element-ce0a43c { position: relative; }
  #masthead .elementor-element-ce0a43c > .e-con-inner, #masthead .elementor-element-8f12d3a, #masthead .elementor-element-3f0dc10 .elementor-widget-container, #masthead .elementor-element-3f0dc10 .hfe-nav-menu { position: static !important; }
  #masthead nav.hfe-dropdown { position: absolute !important; left: 0 !important; right: 0 !important; top: 100% !important; width: 100% !important; background: var(--mib-verde) !important; box-shadow: 0 12px 24px rgba(0,0,0,.25); border-top: 1px solid rgba(255,255,255,.12); z-index: 9999; }
  #masthead nav.hfe-dropdown ul.hfe-nav-menu { width: 100%; }
  #masthead nav.hfe-dropdown li.menu-item { background: transparent !important; border-bottom: 1px solid rgba(255,255,255,.12) !important; }
  #masthead nav.hfe-dropdown a.hfe-menu-item { color: #fff !important; background: transparent !important; padding: 15px 22px !important; min-height: 0 !important; font: 600 15px/1.2 Jost, system-ui, sans-serif !important; letter-spacing: .05em; border: 0 !important; }
  #masthead nav.hfe-dropdown li.current-menu-item > a.hfe-menu-item, #masthead nav.hfe-dropdown a.hfe-menu-item:hover { color: var(--mib-amarelo) !important; }
  .mib-idiomas { top: 6px; right: 12px; }
}

@media (max-width: 767px) {
  /* grade de posts (Essential Addons): margens negativas passavam da tela */
  .eael-post-appender { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
  .eael-post-appender > article { padding-left: 0 !important; padding-right: 0 !important; }
  /* produtos relacionados / sugestões: 2 por linha */
  body.single-product section.related.products ul.products, body.single-product section.upsells.products ul.products, section.related ul.products, section.upsells ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; width: 100% !important; margin: 0 !important; }
  .woocommerce .related ul.products::before, .woocommerce .related ul.products::after, .woocommerce .upsells ul.products::before, .woocommerce .upsells ul.products::after { display: none !important; }
  section.related ul.products li.product, section.upsells ul.products li.product { width: auto !important; max-width: none !important; margin: 0 !important; float: none !important; }
  .woocommerce ul.products li.product .button { font-size: 14px; line-height: 1.2; padding: 10px 12px; }
  /* títulos não encostam na borda */
  .elementor-widget-heading .elementor-heading-title { overflow-wrap: anywhere; }
  .e-con.e-parent > .e-con-inner > .elementor-widget-heading, .e-con.e-parent > .elementor-widget-heading { padding-left: 12px; padding-right: 12px; }
  /* rodapé: ícones sociais centralizados */
  #colophon .elementor-widget-social-icons .elementor-social-icons-wrapper, #colophon .elementor-widget-icon-list .elementor-icon-list-items { justify-content: center; text-align: center; }
  #colophon .elementor-widget-social-icons { text-align: center; }
  /* alvos de toque confortáveis */
  .elementor-button { min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
}
@media (max-width: 767px) {
  /* rodapé: ícones sociais no centro */
  #colophon .elementor-element-9d3a222 { justify-content: center !important; }
}
@media (max-width: 1024px) {
  .eael-post-appender { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
}
/* texto legível: mib-front.js marca (só até 1024px) o que ficou pequeno ou justificado */
.mib-texto-min { font-size: 15px !important; line-height: 1.55 !important; }
.mib-titulo-min { font-size: 14px !important; line-height: 1.35 !important; }
.mib-sem-justify { text-align: left !important; hyphens: auto; }
@media (max-width: 767px) {
  /* Home, "Seja uma empresa amiga": a forma laranja era uma imagem de altura fixa no topo
     (o texto vazava dela); no celular a laranja vira o fundo do próprio bloco de texto,
     com o mesmo corte inclinado, e cresce junto com o texto */
  #parceiro { background-image: none !important; }
  #parceiro .elementor-element-1daa7d0 { background: var(--mib-laranja); clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 96%); padding: 44px 22px 40px !important; }
  /* Home, "Por que sua doação é importante": 4 ícones um por linha → grade 2×2 */
  .elementor-element-319ee67 { flex-direction: row !important; flex-wrap: wrap !important; gap: 26px 12px !important; }
  .elementor-element-319ee67 > .e-con { flex: 0 0 calc(50% - 6px) !important; width: calc(50% - 6px) !important; padding: 0 !important; }
  .elementor-element-319ee67 .elementor-icon { font-size: 34px !important; padding: 22px !important; }
  .elementor-element-319ee67 .elementor-icon-box-icon { margin-bottom: 10px !important; }
  .elementor-element-319ee67 .elementor-icon-box-title { font-size: 15px !important; line-height: 1.3 !important; margin: 0 !important; }
}

@media (max-width: 1024px) {
  /* Seja Parceiro, "A Rede de Apoio do MIB": no desktop as seis caixas ficam em volta do
     círculo com posição absoluta; no celular/tablet vira imagem no topo + grade (2 colunas no celular, 3 no tablet) */
  .elementor-element-6369541 { display: grid !important; grid-template-columns: 1fr 1fr; gap: 22px 16px; height: auto !important; min-height: 0 !important; padding: 10px 6px 20px !important; }
  .elementor-element-6369541 > .e-con { position: static !important; width: auto !important; max-width: none !important; top: auto !important; left: auto !important; margin: 0 !important; padding: 0 !important; transform: none !important; }
  .elementor-element-6369541 > .elementor-element-cf259cb { grid-column: 1 / -1; order: -1; justify-self: center; max-width: 280px; }
  .elementor-element-6369541 > .e-con:not(.elementor-element-cf259cb) .elementor-widget-text-editor { text-align: center !important; }
  .elementor-element-6369541 > .e-con:not(.elementor-element-cf259cb) .elementor-widget-text-editor + .elementor-widget-text-editor { margin-top: 4px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-6369541 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  /* tabelas (ex.: Termo de Fomento) cabem na tela: colunas fixas e quebra de palavras longas */
  .elementor-widget-text-editor table, .elementor-widget-html table { width: 100% !important; max-width: 100%; table-layout: fixed; }
  /* tabelas coladas do Google Planilhas trazem <col width="528">: no celular a largura vem da tela */
  .elementor-widget-text-editor col, .elementor-widget-html col { width: auto !important; }
  .elementor-widget-text-editor colgroup col:first-child { width: 38% !important; }
  .elementor-widget-text-editor td, .elementor-widget-text-editor th, .elementor-widget-html td, .elementor-widget-html th { overflow-wrap: anywhere; word-break: break-word; padding: 6px !important; font-size: 13.5px; }
}
/* títulos com entrelinha apertada demais no celular (linhas encostando): mib-front.js marca */
.mib-titulo-entrelinha { line-height: 1.2 !important; }
@media (max-width: 1024px) {
  /* Seja Parceiro, "Como funciona o processo de Doação?": o passo a passo é a imagem de fundo
     (90% da largura, presa embaixo) de um bloco de altura fixa; no tablet ela subia por baixo do
     texto. O bloco reserva embaixo do texto a altura da imagem (90% × proporção 0,619) */
  .elementor-element-779513d { min-height: 0 !important; height: auto !important; padding-bottom: calc(55.7% + 24px) !important; }
}

/* Linha do tempo da página Projetos (HTML gerado por ferramentas/linha-do-tempo/gerar.mjs) */
.mib-ldt { width: 100%; max-width: 1140px; margin: 0 auto; color: #1e1e1e; font-family: "Jost", sans-serif; }
.mib-ldt-ano { position: relative; padding-left: 0; margin-bottom: 28px; }
.mib-ldt-ano h3 { margin: 0 0 6px; font-size: 26px; font-weight: 700; line-height: 1.2; color: var(--mib-verde, #0f4a42); font-family: "Unbounded", sans-serif; }
.mib-ldt-ano ol { list-style: none; margin: 0 0 0 46px; padding: 0; border-left: 2px solid #d5d5d5; }
.mib-ldt-item { display: grid; grid-template-columns: 110px minmax(0, 1fr) 300px; gap: 8px 24px; align-items: center; position: relative; padding: 12px 0 12px 0; }
.mib-ldt-item::before { content: ""; position: absolute; left: 0; top: 50%; width: 22px; border-top: 2px solid #d5d5d5; }
.mib-ldt-mes { padding-left: 30px; font-size: 13px; color: #6b6b6b; text-transform: none; }
.mib-ldt-titulo { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.4; }
.mib-ldt-logos img { display: block; max-width: 100%; height: auto; }
@media (max-width: 1024px) {
  .mib-ldt-item { grid-template-columns: 100px minmax(0, 1fr) 220px; gap: 6px 16px; }
}
@media (max-width: 767px) {
  .mib-ldt { padding: 0 4px; }
  .mib-ldt-ano h3 { font-size: 22px; }
  .mib-ldt-ano ol { margin-left: 10px; }
  .mib-ldt-item { display: block; padding: 10px 0 14px 22px; }
  .mib-ldt-item::before { top: 21px; width: 14px; }
  .mib-ldt-mes { display: block; padding-left: 0; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
  .mib-ldt-mes:empty { display: none; }
  .mib-ldt-titulo { font-size: 15px; }
  .mib-ldt-logos img { margin-top: 8px; max-width: min(100%, 260px); }
}

/* Revisão da Cata (2026-11-12) */
/* item 3: o SKU não é usado pelo MIB ("Não aplicável" parecia frase solta) */
.product_meta .sku_wrapper { display: none; }
/* itens 14, 15, 16 e 19: títulos com 10-15px de margem à esquerda (vinha do Elementor)
   ficavam desalinhados do texto logo abaixo, nas páginas de projeto */
.elementor-element:is([data-id="551069d"], [data-id="d3ec6eb"], [data-id="ccd2763"], [data-id="c3ac448"],
  [data-id="e2b9d04"], [data-id="91641f5"], [data-id="ffc7663"], [data-id="14e84c8"]) > .elementor-widget-container { margin-left: 0 !important; }
/* item 23: a galeria (Prime Gallery "ocean") sobe uma faixa verde no hover para a legenda;
   as legendas eram vazias ou "Foto 3" (sobra do modelo), então a faixa sai */
.pg-ocean-item .pg-ocean-content { display: none !important; }
