/* TP V4 — minimal modern reset */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    background: var(--tp4-bg);
    color: var(--tp4-text);
    font-family: var(--tp4-font-sans);
    font-size: var(--tp4-fs-base);
    line-height: var(--tp4-lh-base);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-family: var(--tp4-font-display);
    font-weight: var(--tp4-fw-bold);
    line-height: var(--tp4-lh-tight);
    letter-spacing: var(--tp4-tracking-tight);
    color: var(--tp4-c-gray-900);
}
/* 2026-09-15 — não pintar títulos dentro de blocos que o tema já pinta.
   A regra acima dá cor a TODOS os h1-h6, e uma cor posta no próprio elemento
   ganha sempre à cor herdada do pai. Resultado: nos banners do tema
   (.klb-page-banner.site-page-header.text-white) o parágrafo herdava branco e
   lia-se, mas o H1 ficava cinzento-quase-preto por cima da fotografia escura —
   o título da página «Sobre nós» estava ilegível em PT, EN e ES. Voltar a
   herdar resolve sem tocar no tema nem no conteúdo do Elementor. */
.text-white h1, .text-white h2, .text-white h3,
.text-white h4, .text-white h5, .text-white h6,
.text-light h1, .text-light h2, .text-light h3,
.text-light h4, .text-light h5, .text-light h6 { color: inherit; }
p { margin: 0 0 var(--tp4-s-4); }
img, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--tp4-dur) var(--tp4-ease); }
a:hover { color: var(--tp4-c-brand); }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }
input, select, textarea { background: var(--tp4-c-white); border: 1px solid var(--tp4-border); border-radius: var(--tp4-r-md); padding: var(--tp4-s-3) var(--tp4-s-4); transition: border-color var(--tp4-dur) var(--tp4-ease), box-shadow var(--tp4-dur) var(--tp4-ease); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--tp4-c-brand); box-shadow: 0 0 0 3px var(--tp4-c-brand-soft); }
code { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace; font-size: 0.9em; background: var(--tp4-c-gray-100); padding: 0.1em 0.3em; border-radius: var(--tp4-r-sm); }

/* Hide WP admin bar when active on V4 routes */
body.admin-bar { padding-top: 0 !important; }
#wpadminbar { display: none !important; }
html { margin-top: 0 !important; }

/* 2026-08-02 — Fix overflow horizontal em mobile. O tema Ignavo continua a
   injetar (via hooks wp_footer) a sua própria UI mobile off-canvas (drawer de
   pesquisa, mini-cart, bottom-nav, popup wishlist) com largura fixa fora do
   ecrã → esticava o documento (~527px) e clipava o conteúdo. O V4 tem a sua
   própria (tp4-drawer / tp4-cart-drawer / tp4-bottombar), por isso escondemos
   a duplicada do tema. Guarda `overflow-x: clip` como rede (não quebra o
   position:sticky do header, ao contrário de overflow:hidden). */
html { overflow-x: clip; }
body { overflow-x: clip; max-width: 100%; }
.site-drawer,
.site-search-drawer,
.site-cart-drawer,
.dropdown-cart,
.klbwl-popup,
.klb-mobile-bottom,
.site-mobile-navigation { display: none !important; }
