/*
Theme Name: Brasil Print
Description: Tema institucional da Brasil Print — Etiquetas e Rótulos. Desenvolvido por BRN Digital.
Author: BRN Digital
Version: 1.9.4
Text Domain: brasilprint
*/

:root {
    --verde: #009640;
    --verde-escuro: #007a34;
    --amarelo: #ffd400;
    --azul: #2e3192;
    --azul-claro: #4aa8d8;
    --ink: #1a2036;
    --cinza: #5b6274;
    --bg: #ffffff;
    --bg-soft: #f4f6fa;
    --radius: 14px;
    --shadow: 0 10px 30px rgba(26, 32, 54, .10);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Inter', system-ui, sans-serif;
    color: var(--ink); background: var(--bg);
    font-size: 16px; line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { color: var(--verde); }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* ── Header ─────────────────────────────── */
.site-header {
    position: sticky; top: 0; z-index: 50; background: #fff;
    box-shadow: 0 1px 0 rgba(26,32,54,.08);
}
.site-header .wrap {
    display: flex; align-items: center; gap: 28px; padding-top: 14px; padding-bottom: 14px;
}
.brand img { height: 60px; width: auto; }
.brand { margin-right: auto; display: block; }
.main-nav { display: flex; align-items: center; gap: 26px; }
.main-nav ul { display: flex; gap: 26px; list-style: none; }
.main-nav a {
    text-decoration: none; color: var(--ink); font-size: 15px; font-weight: 600;
}
.main-nav a:hover { color: var(--verde); }
.btn {
    display: inline-block; text-decoration: none; font-weight: 700;
    border-radius: 999px; padding: 12px 26px; font-size: 15px;
    transition: transform .15s, box-shadow .15s;
}
.btn:hover { transform: translateY(-1px); }
.btn-verde { background: var(--verde); color: #fff !important; box-shadow: 0 6px 18px rgba(0,150,64,.35); }
.btn-verde:hover { background: var(--verde-escuro); }
.btn-amarelo { background: var(--amarelo); color: var(--ink) !important; box-shadow: 0 6px 18px rgba(255,212,0,.35); }
.btn-outline { border: 2px solid #fff; color: #fff !important; }
.nav-toggle { display: none; background: none; border: 0; cursor: pointer; font-size: 26px; color: var(--ink); }

/* ── Página Como Chegar ─────────────────── */
.endereco-mapa { font-size: 17px; margin-top: 6px; }
.mapa-embed {
    border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow);
    margin: 10px 0 40px; border: 1px solid rgba(0,0,0,.08);
}
.mapa-embed iframe { display: block; width: 100%; height: min(60vh, 480px); border: 0; }

/* ── Hero ───────────────────────────────── */
.hero {
    position: relative; color: #fff; overflow: hidden;
    background: var(--azul);
}
.hero .bg {
    position: absolute; inset: 0; background-size: cover; background-position: center;
    opacity: .45;
}
.hero::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(100deg, rgba(10,14,40,.92) 20%, rgba(10,14,40,.35));
}
.hero .wrap { position: relative; z-index: 2; padding-top: 96px; padding-bottom: 96px; }
.hero .kicker {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
    color: var(--amarelo); font-weight: 700; margin-bottom: 22px;
}
.hero .kicker::before { content: ''; width: 38px; height: 3px; background: var(--verde); }
.hero h1 {
    font-size: clamp(34px, 5.4vw, 62px); line-height: 1.05;
    letter-spacing: -.02em; font-weight: 800; max-width: 17ch;
}
.hero h1 em { font-style: normal; color: var(--amarelo); }
.hero p { margin-top: 20px; max-width: 52ch; font-size: 18px; color: rgba(255,255,255,.85); }
/* Frase de marca virou subtítulo quando o H1 passou a carregar a palavra-chave. */
.hero .hero-sub {
    margin-top: 14px; font-size: clamp(18px, 2.2vw, 23px); font-weight: 600;
    color: var(--amarelo); max-width: 30ch;
}
.hero .acoes { margin-top: 34px; display: flex; gap: 14px; flex-wrap: wrap; }

/* faixa tricolor da marca */
.faixa-brasil { display: flex; height: 6px; }
.faixa-brasil span { flex: 1; }
.faixa-brasil span:nth-child(1) { background: var(--verde); }
.faixa-brasil span:nth-child(2) { background: var(--amarelo); }
.faixa-brasil span:nth-child(3) { background: var(--azul); }

/* Faixa de benefícios (abaixo do hero) */
.faixa-beneficios { background: var(--ink); color: #fff; padding: 24px 0; }
.faixa-beneficios .wrap {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px;
}
.beneficio { display: flex; align-items: center; gap: 13px; }
.beneficio .ico { font-size: 27px; line-height: 1; }
.beneficio strong { display: block; font-size: 14.5px; }
.beneficio small { color: rgba(255,255,255,.6); font-size: 12.5px; }

/* ── Seções ─────────────────────────────── */
.secao { padding: 84px 0; }
.secao-soft { background: var(--bg-soft); }
.secao .titulo { max-width: 640px; margin-bottom: 46px; }
.secao .titulo .tag {
    font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
    color: var(--verde); font-weight: 700;
}
.secao .titulo h2 {
    font-size: clamp(28px, 3.6vw, 42px); letter-spacing: -.02em;
    font-weight: 800; margin-top: 10px; line-height: 1.15;
}
.secao .titulo p { margin-top: 12px; color: var(--cinza); }

/* produtos */
.grid-produtos { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }
.card-produto {
    background: #fff; border-radius: var(--radius); padding: 30px 26px;
    box-shadow: var(--shadow); border-top: 4px solid var(--verde);
    transition: transform .18s;
}
.card-produto:nth-child(3n+2) { border-top-color: var(--amarelo); }
.card-produto:nth-child(3n) { border-top-color: var(--azul); }
.card-produto:hover { transform: translateY(-4px); }
.card-produto h3 { font-size: 19px; font-weight: 700; margin-bottom: 10px; }
.card-produto p { font-size: 14.5px; color: var(--cinza); }
/* O card virou link inteiro: sem isto o <a> herda sublinhado e cor do tema. */
a.card-produto { display: block; color: inherit; text-decoration: none; }
.card-mais { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 700; color: var(--verde); }
a.card-produto:hover .card-mais { color: var(--verde-escuro); }

/* sobre */
.duas-colunas { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; align-items: center; }
.duas-colunas .foto { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.duas-colunas .foto img { width: 100%; height: 100%; object-fit: cover; }
.lema {
    margin-top: 26px; padding: 16px 22px; border-left: 4px solid var(--amarelo);
    background: var(--bg-soft); border-radius: 0 10px 10px 0;
    font-style: italic; color: var(--cinza); font-size: 15px;
}
.checklist { list-style: none; margin-top: 22px; display: grid; gap: 12px; }
.checklist li { padding-left: 34px; position: relative; color: var(--cinza); }
.checklist li::before {
    content: '✓'; position: absolute; left: 0; top: 0;
    width: 24px; height: 24px; border-radius: 50%; background: var(--verde);
    color: #fff; font-size: 13px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
}
.checklist li strong { color: var(--ink); }

/* processo */
.grid-processo { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px; }
.passo { background: #fff; border-radius: var(--radius); padding: 28px 24px; box-shadow: var(--shadow); }
.passo .num {
    font-size: 40px; font-weight: 800; color: var(--azul-claro); line-height: 1;
}
.passo h3 { font-size: 17px; font-weight: 700; margin: 14px 0 8px; }
.passo p { font-size: 14px; color: var(--cinza); }

/* CTA orçamento */
.cta-orcamento {
    background: linear-gradient(115deg, var(--verde) 0%, var(--verde-escuro) 60%, var(--azul) 130%);
    color: #fff; border-radius: 20px; padding: 56px 48px;
    display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap;
}
.cta-orcamento h2 { font-size: clamp(26px, 3.4vw, 38px); font-weight: 800; letter-spacing: -.02em; max-width: 20ch; }
.cta-orcamento p { margin-top: 8px; color: rgba(255,255,255,.85); }

/* páginas internas */
.page-hero { background: var(--azul); color: #fff; padding: 56px 0; position: relative; overflow: hidden; }
.page-hero::before {
    content: ''; position: absolute; right: -80px; top: -80px; width: 320px; height: 320px;
    border-radius: 50%; background: rgba(255,212,0,.14);
}
.page-hero h1 { font-size: clamp(30px, 4vw, 46px); font-weight: 800; letter-spacing: -.02em; position: relative; }
.conteudo-pagina { padding: 64px 0; max-width: 860px; }
.conteudo-pagina h2 { font-size: 28px; font-weight: 800; margin: 36px 0 14px; letter-spacing: -.01em; }
.conteudo-pagina h3 { font-size: 21px; font-weight: 700; margin: 26px 0 10px; }
.conteudo-pagina p, .conteudo-pagina ul, .conteudo-pagina ol { margin-bottom: 16px; color: #333a4f; }
.conteudo-pagina ul, .conteudo-pagina ol { padding-left: 22px; }
.conteudo-pagina img { border-radius: var(--radius); }

/* formulário (CF7) */
.wpcf7 { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 36px; }
.wpcf7 label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 16px; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel],
.wpcf7 input[type=number], .wpcf7 select, .wpcf7 textarea {
    width: 100%; margin-top: 6px; padding: 12px 14px; font: inherit;
    border: 1.5px solid #d8dce6; border-radius: 10px; background: #fbfcfe;
}
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus {
    outline: none; border-color: var(--verde);
}
.wpcf7 input[type=file] { margin-top: 8px; font-size: 14px; }
.wpcf7 input[type=submit] {
    background: var(--verde); color: #fff; font-weight: 700; font-size: 16px;
    border: 0; border-radius: 999px; padding: 14px 34px; cursor: pointer;
}
.wpcf7 input[type=submit]:hover { background: var(--verde-escuro); }

/* Orçamento multi-item */
.orcamento-page { background: #f4f7f5; padding-bottom: 80px; }
.orcamento-page + .site-footer { margin-top: 0; }
.orcamento-hero { padding: 64px 0 52px; background: linear-gradient(135deg, #102c20, #1f6a3d); color: #fff; }
.orcamento-hero .breadcrumb { color: rgba(255,255,255,.7); }
.orcamento-hero .tag { display: inline-block; margin: 18px 0 8px; color: #f8d548; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.orcamento-hero h1 { color: #fff; font-size: clamp(36px, 5vw, 58px); line-height: 1.06; }
.orcamento-hero h1 em { color: #f8d548; font-style: normal; }
.orcamento-hero p { max-width: 680px; margin-top: 14px; color: rgba(255,255,255,.86); font-size: 18px; }
.orcamento-badges { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 24px; font-size: 13px; color: rgba(255,255,255,.9); }
.orcamento-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 28px; align-items: start; padding-top: 42px; }
.orcamento-conteudo { min-width: 0; }
.orcamento-conteudo > p:first-child { display: none; }
.orcamento-page .wpcf7 { padding: 0; background: transparent; box-shadow: none; }
.bp-orcamento-form > section, .orcamento-consentimento, .orcamento-whatsapp, .orcamento-sucesso { background: #fff; border: 1px solid #dfe8e2; border-radius: 12px; padding: 26px; box-shadow: 0 8px 28px rgba(17,54,35,.06); margin-bottom: 20px; }
.bp-orcamento-form h2 { margin: 0 0 20px; font-size: 22px; color: #153c27; }
.orcamento-ajuda { margin: -10px 0 22px; color: #657269; font-size: 14px; }
.orcamento-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.orcamento-field > p, .orcamento-enviar > p, .orcamento-whatsapp > p, .bp-orcamento-form section > p:last-child { margin: 0; }
.orcamento-field label { color: #263d30; font-size: 13px; letter-spacing: .01em; }
.campo-obrigatorio { color: #b42318; font-weight: 800; }
.campo-opcional { color: #7b887f; font-size: 11px; font-weight: 500; }
.orcamento-grid label, .orcamento-personalizado label, .orcamento-impressao label { margin: 0; }
.orcamento-grid .campo-largo, .orcamento-personalizado.campo-largo, .orcamento-impressao.campo-largo { grid-column: 1 / -1; }
.orcamento-personalizado, .orcamento-impressao { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 18px; border-radius: 8px; background: #f1f7f3; border-left: 4px solid #27804a; }
.orcamento-personalizado[hidden], .orcamento-impressao[hidden], .bp-orcamento-item[hidden], .orcamento-sucesso[hidden] { display: none !important; }
.bp-orcamento-item { min-width: 0; margin: 0 0 22px; padding: 24px; border: 1px solid #c8d9ce; border-radius: 12px; background: linear-gradient(180deg,#fff,#fbfdfb); box-shadow: 0 5px 18px rgba(17,54,35,.05); }
.bp-orcamento-item legend { width: 100%; padding: 0 0 12px; display: flex; justify-content: space-between; align-items: center; color: #1f7a3d; font-weight: 800; letter-spacing: .08em; }
.orcamento-remover, .orcamento-adicionar { appearance: none; border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.orcamento-remover { color: #8f2929; background: #fff2f1; border-radius: 999px; padding: 6px 11px; font-size: 12px; }
.orcamento-remover:hover { background: #ffe3e0; }
.orcamento-remover:disabled { visibility: hidden; }
.orcamento-adicionar { width: 100%; padding: 16px; border: 2px dashed #70a783; border-radius: 10px; color: #1f6a3d; background: #f5faf7; }
.orcamento-adicionar:hover { background: #eaf5ed; }
.orcamento-adicionar:disabled { cursor: not-allowed; opacity: .6; }
.orcamento-consentimento { font-size: 13px; color: #53635a; box-shadow: none; }
.orcamento-enviar .wpcf7-submit { width: 100%; min-height: 56px; font-size: 15px; letter-spacing: .03em; }
.orcamento-enviar .wpcf7-submit:focus-visible, .orcamento-adicionar:focus-visible, .orcamento-remover:focus-visible, .upload-selecionar:focus-visible, .upload-remover:focus-visible { outline: 3px solid rgba(0,150,64,.3); outline-offset: 3px; }
.produto-ajuda { margin: 9px 0 0; padding: 10px 12px; border-left: 3px solid var(--verde); background: #f1f8f4; color: #53635a; font-size: 13px; font-weight: 400; }
.bopp-opcoes { grid-column: 1/-1; margin: 0; padding: 16px; border: 1px solid #b8d6c2; border-radius: 10px; background: #f2f8f4; }
.bopp-opcoes[hidden] { display: none; }
.bopp-opcoes legend { padding: 0 5px; color: #244832; font-size: 13px; font-weight: 700; }
.bopp-opcoes > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.bopp-opcoes label { position: relative; display: grid; place-items: center; min-height: 48px; margin: 0; border: 1px solid #bad0c1; border-radius: 8px; background: #fff; cursor: pointer; }
.bopp-opcoes input { position: absolute; opacity: 0; }
.bopp-opcoes label:has(input:checked) { border-color: var(--verde); background: #e3f5e9; color: #075c2c; box-shadow: inset 0 0 0 1px var(--verde); }
.upload-componente { position: relative; margin-top: 7px; padding: 16px; border: 1.5px dashed #9eb8a6; border-radius: 10px; background: #f8fbf9; text-align: center; transition: .2s; }
.upload-componente.is-dragging { border-color: var(--verde); background: #eaf7ee; }
.upload-componente input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.upload-selecionar { display: grid; justify-items: center; gap: 2px; width: 100%; padding: 4px; border: 0; background: transparent; color: #174e2a; cursor: pointer; font: inherit; }
.upload-selecionar > span { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 4px; border-radius: 50%; background: #dff2e5; color: #087335; font-size: 20px; }
.upload-selecionar strong { font-size: 14px; }
.upload-selecionar small, .upload-ajuda { display: block; color: #6c796f; font-size: 11px; font-weight: 400; }
.upload-arquivo { display: block; margin-top: 8px; color: #647169; font-size: 12px; overflow-wrap: anywhere; }
.upload-componente.has-file .upload-arquivo { color: #126632; font-weight: 700; }
.upload-remover { margin-top: 7px; border: 0; background: transparent; color: #9b2c2c; text-decoration: underline; cursor: pointer; font-size: 12px; }
.upload-total-erro { margin-top: 8px; padding: 9px 11px; border-radius: 7px; background: #fff2f1; color: #9b2c2c; font-size: 12px; font-weight: 700; }
.upload-total-erro[hidden] { display:none; }
.orcamento-erro-rede { margin-bottom: 18px; padding: 14px 16px; border: 1px solid #e6a9a4; border-radius: 9px; background: #fff2f1; color: #8f2929; font-size: 14px; }
.orcamento-erro-rede[hidden] { display:none; }
.wpcf7-not-valid-tip { margin-top: 6px; font-size: 12px; font-weight: 600; }
.wpcf7 form .wpcf7-response-output { margin: 18px 0 0; padding: 12px 16px; border-radius: 8px; font-size: 14px; }
.orcamento-whatsapp { text-align: center; background: #eef1ef; color: #647069; box-shadow: none; }
.orcamento-whatsapp h3 { margin: 0 0 6px; color: #46534b; font-size: 18px; }
.orcamento-whatsapp p { margin: 0 0 16px; }
.orcamento-whatsapp [aria-disabled=true] { display: inline-block; pointer-events: none; filter: grayscale(1); opacity: .45; }
.orcamento-whatsapp.is-unlocked { background: #eef9f1; border-color: #8fcba1; }
.orcamento-whatsapp.is-unlocked h3 { color: #155c31; }
.orcamento-sucesso { border-color: #79bd8c; background: #f1faf3; color: #174e2a; }
.orcamento-sucesso strong { font-size: 20px; }
.bp-orcamento-form.is-sent > .orcamento-dados, .bp-orcamento-form.is-sent > .orcamento-itens, .bp-orcamento-form.is-sent > .orcamento-consentimento, .bp-orcamento-form.is-sent > .orcamento-enviar { display: none; }
.orcamento-resumo { position: sticky; top: 24px; padding: 24px; background: #153c27; color: #fff; border-radius: 12px; box-shadow: 0 12px 32px rgba(12,43,26,.15); }
.orcamento-resumo .tag { color: #f8d548; text-transform: uppercase; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.orcamento-resumo h2 { margin: 7px 0 18px; color: #fff; font-size: 21px; }
.orcamento-resumo > p { margin: 16px 0 0; color: rgba(255,255,255,.65); font-size: 12px; }
.orcamento-resumo-item { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.14); }
.orcamento-resumo-num { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #f8d548; color: #163b27; font-size: 12px; font-weight: 800; }
.orcamento-resumo-item strong, .orcamento-resumo-item small { display: block; }
.orcamento-resumo-item strong { font-size: 14px; line-height: 1.35; }
.orcamento-resumo-item small { margin-top: 4px; color: rgba(255,255,255,.7); line-height: 1.4; }

@media (max-width: 900px) {
    .orcamento-layout { grid-template-columns: 1fr; }
    .orcamento-resumo { position: static; }
    .orcamento-resumo:not(.has-content) { display: none; }
}
@media (max-width: 600px) {
    .orcamento-page { padding-bottom: 48px; }
    .orcamento-hero { padding: 40px 0 34px; }
    .orcamento-hero p { font-size: 16px; }
    .orcamento-badges { display: grid; gap: 7px; }
    .orcamento-layout { padding-top: 24px; gap: 18px; }
    .bp-orcamento-form > section, .orcamento-consentimento, .orcamento-whatsapp, .orcamento-sucesso { padding: 18px; border-radius: 9px; }
    .orcamento-grid, .orcamento-personalizado, .orcamento-impressao { grid-template-columns: minmax(0, 1fr); }
    .bp-orcamento-item { padding: 16px 12px; }
    .bopp-opcoes > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .wpcf7 input[type=file] { max-width: 100%; }
}
.form-linha { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }

/* ── Footer ─────────────────────────────── */
.site-footer { background: #10142b; color: rgba(255,255,255,.8); margin-top: 84px; }
.site-footer .wrap {
    padding: 54px 20px 30px; display: grid;
    grid-template-columns: 2fr 1fr 1.4fr; gap: 44px;
}
.site-footer img.logo-footer { height: 56px; width: auto; background: #fff; padding: 10px 16px; border-radius: 10px; }
.site-footer h4 {
    color: #fff; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 16px;
}
.site-footer ul { list-style: none; display: grid; gap: 10px; }
.site-footer a { color: rgba(255,255,255,.8); text-decoration: none; font-size: 14.5px; }
.site-footer a:hover { color: var(--amarelo); }
.site-footer p { font-size: 14.5px; }
.copy {
    border-top: 1px solid rgba(255,255,255,.12); padding: 18px 20px; text-align: center;
    font-size: 13px; color: rgba(255,255,255,.5);
}
.copy a { color: rgba(255,255,255,.75); text-decoration: none; font-weight: 600; }
.copy a:hover { color: var(--amarelo); }

/* WhatsApp flutuante */
.whats-float {
    position: fixed; right: 22px; bottom: 22px; z-index: 60;
    width: 58px; height: 58px; border-radius: 50%; background: #25d366;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 8px 24px rgba(37,211,102,.45);
}
.whats-float svg { width: 30px; height: 30px; fill: #fff; }

/* Vídeo de fundo do hero (mesma classe .bg da foto) */
.hero video.bg { width: 100%; height: 100%; object-fit: cover; }

/* Vídeo institucional */
.video-inst {
    border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow);
    aspect-ratio: 16 / 9; background: #10142b;
}
.video-inst iframe, .video-inst video { width: 100%; height: 100%; border: 0; display: block; }

/* Depoimentos (avaliações do Google) */
.grid-depoimentos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 22px; }
.card-depo {
    background: #fff; border-radius: var(--radius); padding: 26px 24px;
    box-shadow: var(--shadow); border-top: 4px solid var(--amarelo);
}
.card-depo .estrelas { color: var(--amarelo); letter-spacing: 3px; font-size: 15px; text-shadow: 0 1px 0 rgba(26,32,54,.15); }
.card-depo p { margin: 12px 0 14px; font-size: 15.5px; font-weight: 600; color: var(--ink); }
.card-depo cite { font-style: normal; font-size: 13.5px; color: var(--cinza); }
.btn-outline-escuro { border: 2px solid var(--ink); color: var(--ink) !important; }
.btn-outline-escuro:hover { background: var(--ink); color: #fff !important; }

/* bloco de contatos do shortcode [bp_contatos] */
.bloco-contatos { list-style: none; display: grid; gap: 10px; margin: 26px 0 34px; }
.bloco-contatos li {
    display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline;
    background: var(--bg-soft); border-left: 4px solid var(--verde);
    border-radius: 0 10px 10px 0; padding: 14px 18px;
}
.bloco-contatos span {
    font-size: 12.5px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; color: var(--cinza); min-width: 92px;
}
.bloco-contatos a { color: var(--ink); font-weight: 600; }

/* trilha, capa e navegação entre linhas de produto */
.trilha { font-size: 13.5px; margin-bottom: 14px; color: rgba(255,255,255,.6); }
.trilha a { color: rgba(255,255,255,.8); text-decoration: none; }
.trilha a:hover { color: #fff; text-decoration: underline; }
.trilha i { font-style: normal; margin: 0 6px; opacity: .5; }
.capa-pagina { margin: 0 0 30px; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.capa-pagina img { width: 100%; height: auto; display: block; }
.outras-linhas { max-width: 820px; margin: 10px auto 70px; padding-top: 26px; border-top: 1px solid rgba(26,32,54,.12); }
.outras-linhas h2 { font-size: 17px; margin-bottom: 14px; }
.outras-linhas ul { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; }
.outras-linhas a {
    display: inline-block; padding: 9px 16px; border-radius: 999px;
    background: var(--bg-soft); color: var(--ink); text-decoration: none;
    font-size: 14.5px; font-weight: 600;
}
.outras-linhas a:hover { background: var(--verde); color: #fff; }

/* faq — <details> nativo: abre sem JS e o texto vai no HTML, que é o que o Google lê */
.faq-produto { margin-top: 48px; padding-top: 30px; border-top: 1px solid rgba(26,32,54,.12); }
.faq-produto h2 { margin-bottom: 20px; }
.faq-produto .lista-faq { margin: 0; }
.faq-produto .lista-faq details { box-shadow: none; background: var(--bg-soft); }
.lista-faq { max-width: 820px; margin: 0 auto; display: grid; gap: 12px; }
.lista-faq details {
    background: #fff; border-radius: var(--radius); box-shadow: var(--shadow);
    border-left: 4px solid var(--verde); padding: 4px 22px;
}
.lista-faq details[open] { border-left-color: var(--amarelo); }
.lista-faq summary {
    cursor: pointer; list-style: none; padding: 16px 0;
    font-weight: 700; font-size: 16.5px; display: flex; gap: 14px; align-items: center;
}
.lista-faq summary::-webkit-details-marker { display: none; }
.lista-faq summary::after {
    content: '+'; margin-left: auto; font-size: 22px; font-weight: 400;
    color: var(--verde); line-height: 1;
}
.lista-faq details[open] summary::after { content: '−'; }
.lista-faq details p { padding: 0 0 18px; color: var(--cinza); font-size: 15.5px; max-width: 68ch; }

/* Placeholders de mídia — trocar por fotos/vídeos reais */
.card-midia {
    aspect-ratio: 16 / 10; border-radius: 10px; margin-bottom: 18px;
    background: linear-gradient(135deg, rgba(0,150,64,.08), rgba(46,49,146,.08));
    display: flex; align-items: center; justify-content: center;
    color: rgba(26,32,54,.25);
}
.card-midia svg { width: 42px; height: 42px; }
/* Variante com foto: 4/3 é a proporção dos mockups, então o cover não corta nada. */
.card-midia.foto { aspect-ratio: 4 / 3; background: var(--bg-soft); overflow: hidden; }
.card-midia.foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.video-placeholder {
    width: 100%; height: 100%; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 16px;
    color: rgba(255,255,255,.75);
    background:
        radial-gradient(ellipse at center, rgba(0,150,64,.25), transparent 70%),
        #10142b;
}
.video-placeholder .play {
    width: 74px; height: 74px; border-radius: 50%;
    border: 2px solid rgba(255,255,255,.5);
    display: flex; align-items: center; justify-content: center;
    font-size: 26px; padding-left: 6px;
}
.video-placeholder p { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }

/* ── Responsivo ─────────────────────────── */
@media (max-width: 900px) {
    .duas-colunas { grid-template-columns: 1fr; gap: 30px; }
    .site-footer .wrap { grid-template-columns: 1fr; gap: 30px; }
    .form-linha { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
    .nav-toggle { display: block; }
    .main-nav {
        display: none; position: absolute; top: 100%; left: 0; right: 0;
        background: #fff; box-shadow: 0 16px 30px rgba(26,32,54,.14);
        padding: 18px 22px 26px; flex-direction: column; align-items: flex-start;
    }
    .main-nav.aberto { display: flex; }
    .main-nav ul { flex-direction: column; gap: 16px; width: 100%; }
    .cta-orcamento { padding: 40px 28px; }
}

/* Landing page — rótulos para cosméticos */
.lp-cos-hero { background: linear-gradient(115deg, #171b39 0%, #2e3192 62%, #176b4a 100%); color:#fff; padding:86px 0 78px; }
.lp-cos-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:60px; align-items:center; }
.lp-cos-hero h1 { font-size:clamp(40px,5vw,68px); line-height:1.04; max-width:780px; margin:18px 0 22px; color:#fff; }
.lp-cos-hero h1 em { color:var(--amarelo); font-style:normal; }
.lp-lead { font-size:19px; line-height:1.65; max-width:650px; color:rgba(255,255,255,.88); }
.lp-actions { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0 20px; }
.btn-outline-claro { border:2px solid rgba(255,255,255,.65); color:#fff !important; }
.btn-outline-claro:hover { background:#fff; color:var(--ink) !important; }
.lp-trust { font-size:13px; color:rgba(255,255,255,.65); }
.lp-cos-hero-card { border:1px solid rgba(255,255,255,.25); border-radius:var(--radius); padding:30px; background:rgba(255,255,255,.1); box-shadow:0 20px 50px rgba(0,0,0,.16); }
.lp-cos-hero-card strong { display:block; font-size:23px; margin-bottom:14px; }
.lp-cos-hero-card p { line-height:1.7; color:rgba(255,255,255,.85); }
.lp-cos-hero-card span { display:block; border-top:1px solid rgba(255,255,255,.2); padding-top:16px; margin-top:20px; color:var(--amarelo); font-weight:700; }
.lp-section { padding:84px 0; }
.lp-soft { background:var(--bg-soft); }
.lp-section-heading { max-width:760px; margin:0 auto 42px; text-align:center; }
.lp-section h2 { font-size:clamp(29px,3.5vw,45px); line-height:1.12; margin:14px 0; }
.lp-section-heading p { color:var(--cinza); font-size:17px; line-height:1.65; }
.lp-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.lp-benefits article { padding:28px; border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); }
.lp-icon { font-size:30px; display:block; margin-bottom:12px; }
.lp-benefits h3 { margin:0 0 9px; font-size:20px; }
.lp-benefits p, .lp-two-col p { color:var(--cinza); line-height:1.65; }
.lp-two-col { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.lp-checks { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:12px; }
.lp-checks li:before { content:'✓'; color:var(--verde); font-weight:800; margin-right:10px; }
.lp-quote { background:var(--ink); color:#fff; border-radius:var(--radius); padding:42px; font-size:20px; line-height:1.45; }
.lp-quote p { color:rgba(255,255,255,.72); font-size:16px; margin-bottom:0; }
.lp-form-wrap { max-width:860px; }
.lp-form-wrap .wpcf7 { background:var(--bg-soft); padding:30px; border-radius:var(--radius); }
.lp-faq { padding-top:0; }
.lp-faq h2 { text-align:center; }
@media (max-width: 760px) { .lp-cos-hero { padding:58px 0; } .lp-cos-hero-grid,.lp-two-col { grid-template-columns:1fr; gap:34px; } .lp-benefits { grid-template-columns:1fr; } .lp-section { padding:60px 0; } .lp-cos-hero h1 { font-size:43px; } }

/* Landing Feira da Beleza — evento como protagonista */
.lp-evento-hero { background:linear-gradient(115deg,#171b39,#2e3192 60%,#176b4a); color:#fff; padding:86px 0; }
.lp-evento-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr); gap:60px; align-items:center; }
.lp-evento-hero h1 { color:#fff; font-size:clamp(40px,5vw,66px); line-height:1.04; margin:18px 0 22px; max-width:780px; }
.lp-evento-hero h1 em { color:var(--amarelo); font-style:normal; }.lp-evento-hero .lp-lead { color:rgba(255,255,255,.86); font-size:18px; max-width:650px; margin-bottom:28px; }
.lp-evento-date { border:1px solid rgba(255,255,255,.27); border-radius:var(--radius); padding:34px; background:rgba(255,255,255,.1); text-align:center; }.lp-evento-date span { color:var(--amarelo); font-size:12px; font-weight:800; letter-spacing:.12em; }.lp-evento-date strong { display:block; font-size:76px; line-height:1; color:#fff; margin:12px 0; }.lp-evento-date p { color:rgba(255,255,255,.84); line-height:1.7; }
.lp-evento-intro p { color:var(--cinza); line-height:1.7; margin-top:14px; }.lp-fatos { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.lp-fatos div { background:var(--bg-soft); border-radius:var(--radius); padding:22px 14px; text-align:center; }.lp-fatos strong { display:block; color:var(--azul); font-size:28px; }.lp-fatos span { display:block; color:var(--cinza); font-size:13px; }
.lp-evento-galeria { background:#171b39; color:#fff; }.lp-evento-galeria .lp-section-heading p { color:rgba(255,255,255,.72); }.lp-galeria { display:grid; grid-template-columns:1.25fr 1fr; gap:22px; }.lp-galeria figure { margin:0; background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }.lp-galeria img { width:100%; height:100%; min-height:260px; object-fit:cover; }.lp-galeria figcaption { color:var(--ink); padding:14px 18px; font-weight:700; }.lp-galeria figcaption small { display:block; color:var(--cinza); font-weight:400; margin-top:2px; }
.lp-evento-pontos,.lp-produtos { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.lp-evento-pontos article { border-top:4px solid var(--verde); background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:26px; }.lp-evento-pontos strong { font-size:20px; }.lp-evento-pontos p,.lp-produtos p { color:var(--cinza); line-height:1.6; margin-top:8px; }
.lp-produtos article { border:1px solid rgba(26,32,54,.1); border-radius:var(--radius); padding:16px; background:#fff; box-shadow:var(--shadow); }.lp-produtos .card-midia { margin-bottom:16px; }.lp-produtos h3 { font-size:19px; }.lp-produtos a { display:inline-block; margin-top:14px; font-weight:700; text-decoration:none; }.lp-evento-cta { background:var(--bg-soft); text-align:center; }.lp-evento-cta p { max-width:650px; margin:12px auto 24px; color:var(--cinza); font-size:17px; }
@media (max-width:760px) { .lp-evento-hero { padding:58px 0; }.lp-evento-hero-grid { grid-template-columns:1fr; gap:34px; }.lp-evento-hero h1 { font-size:43px; }.lp-fatos,.lp-evento-pontos,.lp-produtos,.lp-galeria { grid-template-columns:1fr; } }
