/* Gianthi 1.0 — consolidated Elementor compatibility bridge. */

/* Source migrated from elementor.css */
/*
 * Camada visual corporativa Gianthi 2.0
 * Neutraliza dimensões rígidas do legado sem destruir a edição no Elementor.
 */
.empresa-theme .elementor {
    --e-global-color-primary: var(--gianthi-ink);
    --e-global-color-secondary: var(--gianthi-stone);
    --e-global-color-text: var(--gianthi-stone);
    --e-global-color-accent: var(--gianthi-gold);
    color: var(--gianthi-stone);
    font-family: var(--gianthi-font-sans);
}
.empresa-theme .elementor,
.empresa-theme .elementor :is(.e-con, .elementor-element, .elementor-widget-container) {
    min-width: 0;
    max-width: 100%;
}

.empresa-theme .elementor :is(h1, h2, h3, h4, .elementor-heading-title) {
    max-width: 100%;
    color: var(--gianthi-ink);
    overflow-wrap: break-word;
    text-wrap: balance;
}

.empresa-theme .site-main--elementor .elementor-widget-heading h1.elementor-heading-title {
    font-family: var(--gianthi-font-display) !important;
    font-size: calc(clamp(2.5rem, 4.2vw, 3.85rem) * var(--gianthi-heading-scale, 1)) !important;
    font-weight: 600 !important;
    letter-spacing: -.045em !important;
    line-height: .98 !important;
}

.empresa-theme .site-main--elementor .elementor-widget-heading h2.elementor-heading-title {
    font-family: var(--gianthi-font-display) !important;
    font-size: calc(clamp(2rem, 3vw, 2.85rem) * var(--gianthi-heading-scale, 1)) !important;
    font-weight: 600 !important;
    letter-spacing: -.04em !important;
    line-height: 1 !important;
}

.empresa-theme .site-main--elementor .elementor-widget-heading h3.elementor-heading-title {
    font-family: var(--gianthi-font-display) !important;
    font-size: calc(clamp(1.5rem, 2vw, 2rem) * var(--gianthi-heading-scale, 1)) !important;
    font-weight: 600 !important;
    letter-spacing: -.03em !important;
    line-height: 1.05 !important;
}

.empresa-theme .site-main--elementor .elementor-widget-heading h4.elementor-heading-title {
    font-family: var(--gianthi-font-sans) !important;
    font-size: clamp(1.1rem, 1.4vw, 1.35rem) !important;
    font-weight: 750 !important;
    letter-spacing: -.015em !important;
    line-height: 1.25 !important;
}

.empresa-theme .elementor-widget-text-editor {
    color: var(--gianthi-stone);
    font-size: clamp(.96rem, 1.15vw, 1.06rem);
    line-height: 1.65;
}

.empresa-theme .elementor-widget-text-editor :is(p, article, section, div):last-child { margin-bottom: 0; }
.empresa-theme .elementor-widget-image img { transition: transform .5s var(--gianthi-ease); }
.empresa-theme .palavra-bege {
    background: var(--gianthi-gradient-gold) !important;
    color: var(--gianthi-gold) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* Botões consistentes em todas as páginas. */
.empresa-theme .elementor-widget-button .elementor-button {
    min-height: var(--gianthi-button-height, 46px) !important;
    padding: 14px 24px !important;
    border: 1px solid var(--gianthi-line-strong) !important;
    border-radius: var(--gianthi-radius-sm, 10px) !important;
    background: var(--gianthi-button) !important;
    color: var(--gianthi-button-ink) !important;
    box-shadow: none !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    letter-spacing: .035em !important;
}
.empresa-theme .elementor-widget-button .elementor-button:hover { border-color: #b89e7a !important; background: var(--gianthi-button-hover) !important; color: var(--gianthi-ink) !important; box-shadow: none !important; }

/* Hero corporativo: mídia limpa + selo composto por widgets realmente editáveis. */
.empresa-theme .elementor .gianthi-hero-media {
    position: relative !important;
    isolation: isolate;
}

.empresa-theme .elementor .gianthi-hero-media__image,
.empresa-theme .elementor .gianthi-hero-media__image .elementor-widget-container,
.empresa-theme .elementor .gianthi-hero-media__image img {
    display: block;
    width: 100% !important;
    height: auto !important;
}

.empresa-theme .elementor .gianthi-hero-badge {
    position: absolute !important;
    z-index: 2;
    top: 7% !important;
    right: 1% !important;
    display: grid !important;
    width: min(260px, 44%) !important;
    gap: 8px !important;
    padding: 22px 24px !important;
    border: 1px solid rgb(255 255 255 / 12%) !important;
    border-radius: 14px !important;
    background: #211f1b !important;
    box-shadow: 0 18px 44px rgb(28 23 17 / 14%) !important;
}

.empresa-theme .elementor .gianthi-hero-badge > .elementor-element { margin: 0 !important; }
.empresa-theme .elementor .gianthi-hero-badge__kicker .elementor-heading-title {
    color: #dec28e !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    line-height: 1.3 !important;
}

.empresa-theme .elementor .gianthi-hero-badge__title .elementor-heading-title {
    color: #fff !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: clamp(16px, 1.55vw, 22px) !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
    line-height: 1.12 !important;
    text-wrap: pretty !important;
}

/* Superfícies institucionais e seções de apoio. */
.empresa-theme :is(.secao-processo, .secao-estrutura, [data-gianthi-surface="beige"]) {
    background: var(--gianthi-gradient-beige) !important;
}

.empresa-theme :is(.fundo-gianthi, .gianthi-dark, [data-gianthi-surface="dark"]) {
    position: relative;
    overflow: hidden;
    background: #dfcfbb !important;
    color: rgb(255 255 255 / 74%) !important;
}

.empresa-theme :is(.fundo-gianthi, .gianthi-dark, [data-gianthi-surface="dark"]) :is(h1, h2, h3, h4, .elementor-heading-title) {
    color: var(--gianthi-paper) !important;
}

/* Grade de perfis: corrige títulos cortados e mantém seis cards equilibrados. */
.empresa-theme .elementor .grade-perfis {
    display: grid !important;
    width: 100% !important;
    max-width: var(--gianthi-container) !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: 1fr !important;
    gap: 20px !important;
    align-items: stretch !important;
    overflow: visible !important;
}

.empresa-theme .elementor .card-perfil {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 270px !important;
    padding: clamp(26px, 2.6vw, 34px) !important;
    overflow: hidden !important;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 22px !important;
    background: var(--gianthi-paper) !important;
    box-shadow: var(--gianthi-shadow-soft) !important;
    isolation: isolate;
    justify-content: flex-start !important;
    transition: border-color .28s var(--gianthi-ease), box-shadow .28s var(--gianthi-ease), transform .28s var(--gianthi-ease) !important;
}

.empresa-theme .elementor .card-perfil::before,
.empresa-theme .elementor .card-perfil::after { display: none !important; content: none !important; }

.empresa-theme .elementor .card-perfil:hover {
    border-color: var(--gianthi-line-strong) !important;
    box-shadow: var(--gianthi-shadow) !important;
    transform: translateY(-5px);
}

.empresa-theme .elementor .numero-perfil {
    margin: 0 0 44px !important;
}

.empresa-theme .elementor .numero-perfil .elementor-heading-title {
    color: var(--gianthi-bronze) !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    line-height: 1 !important;
}

.empresa-theme .elementor .titulo-perfil .elementor-heading-title {
    max-width: 100% !important;
    font-family: var(--gianthi-font-display) !important;
    font-size: clamp(1.75rem, 2.1vw, 2.15rem) !important;
    font-weight: 600 !important;
    letter-spacing: -.035em !important;
    line-height: 1 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}

.empresa-theme .elementor .descricao-perfil {
    margin-top: 14px !important;
    color: var(--gianthi-stone) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.empresa-theme .elementor .descricao-perfil :is(.audience-item, .section, .container, .audience-grid) {
    display: block !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.empresa-theme .elementor .descricao-perfil :empty { display: none !important; }

/* Processo: abandona o grande painel branco e vira uma timeline editorial. */
.empresa-theme .elementor :is(.bloco-processo, .processo-grade) {
    display: grid !important;
    width: 100% !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 22px !important;
    background: rgb(255 253 249 / 82%) !important;
    box-shadow: var(--gianthi-shadow-soft) !important;
    backdrop-filter: blur(10px);
}

.empresa-theme .elementor .item-processo,
.empresa-theme .elementor .processo-item {
    position: relative !important;
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
    padding: 26px 30px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--gianthi-line) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.empresa-theme .elementor .processo-item > .processo-numero { grid-column: 1 !important; grid-row: 1 / span 2 !important; }
.empresa-theme .elementor .processo-item > .processo-titulo { grid-column: 2 !important; grid-row: 1 !important; }
.empresa-theme .elementor .processo-item > .processo-descricao { grid-column: 2 !important; grid-row: 2 !important; width: 100% !important; }

.empresa-theme .elementor :is(.item-processo, .processo-item):last-child { border-bottom: 0 !important; }
.empresa-theme .elementor :is(.item-processo, .processo-item):hover { background: linear-gradient(90deg, rgb(230 195 111 / 10%), transparent) !important; transform: none !important; }

.empresa-theme .elementor :is(.numero-processo, .processo-numero) {
    width: auto !important;
    margin: 2px 0 0 !important;
}

.empresa-theme .elementor :is(.numero-processo, .processo-numero) .elementor-heading-title {
    color: var(--gianthi-bronze) !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
}

.empresa-theme .elementor :is(.titulo-processo, .processo-titulo) .elementor-heading-title {
    margin: 0 0 6px !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: 17px !important;
    font-weight: 750 !important;
    letter-spacing: -.015em !important;
    line-height: 1.3 !important;
}

.empresa-theme .elementor :is(.descricao-processo, .processo-descricao) {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.empresa-theme .elementor :is(.descricao-processo, .processo-descricao) :is(.process-step, div, p) {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* Quadros de análise comercial das páginas internas. */
.empresa-theme .elementor .quadro-etapas {
    display: grid !important;
    width: 100% !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1px !important;
    padding: 1px !important;
    overflow: hidden !important;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 22px !important;
    background: var(--gianthi-line) !important;
    box-shadow: var(--gianthi-shadow-soft) !important;
}

.empresa-theme .elementor .quadro-etapas > .e-con {
    width: auto !important;
    min-height: 180px !important;
    padding: 28px !important;
    background: var(--gianthi-paper) !important;
}

.empresa-theme .elementor .quadro-etapas > .linha-etapa {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    gap: 0 14px !important;
    align-content: start !important;
    align-items: start !important;
}

.empresa-theme .elementor .linha-etapa > .indice-etapa {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 44px !important;
    margin: 0 !important;
    align-self: start !important;
    text-align: left !important;
}

.empresa-theme .elementor .linha-etapa > .indice-etapa .elementor-heading-title {
    color: var(--gianthi-bronze) !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: 20px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

.empresa-theme .elementor .linha-etapa > .corpo-etapa {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.empresa-theme .elementor .corpo-etapa > :is(.nome-etapa, .texto-etapa) {
    width: 100% !important;
    margin: 0 !important;
}

.empresa-theme .elementor .corpo-etapa > .nome-etapa { margin-bottom: 5px !important; }
.empresa-theme .elementor .corpo-etapa .nome-etapa .elementor-heading-title {
    font-family: var(--gianthi-font-sans) !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}

.empresa-theme .elementor .corpo-etapa .texto-etapa,
.empresa-theme .elementor .corpo-etapa .texto-etapa p {
    color: var(--gianthi-stone) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.empresa-theme .elementor .corpo-etapa .texto-etapa :is(section, article, div, .container, .process-layout, .process-list, .process-step) {
    display: block !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* Cards de divisões da home. */
.empresa-theme .elementor .grade-segmentos {
    display: grid !important;
    width: 100% !important;
    max-width: 1200px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.empresa-theme .elementor .card-segmento {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: clamp(520px, 45vw, 590px) !important;
    max-height: none !important;
    padding: clamp(34px, 4vw, 58px) !important;
    border: 1px solid var(--gianthi-line-strong) !important;
    border-radius: 28px !important;
    background: #f4eadc !important;
    background-image: none !important;
    box-shadow: var(--gianthi-shadow-soft) !important;
}

.empresa-theme .elementor .card-segmento-pet {
    background: #e6ece2 !important;
    background-image: none !important;
}

.empresa-theme .elementor .card-segmento::before,
.empresa-theme .elementor .card-segmento::after,
.empresa-theme .elementor .card-representantes::before,
.empresa-theme .elementor .card-representantes::after { display: none !important; content: none !important; }

.empresa-theme .elementor .tag-segmento .elementor-button {
    min-height: 34px !important;
    padding: 8px 13px !important;
    border: 1px solid var(--gianthi-line-strong) !important;
    border-radius: 999px !important;
    background: rgb(255 253 249 / 72%) !important;
    color: var(--gianthi-button-ink) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 650 !important;
}

.empresa-theme .elementor .card-segmento-link .elementor-button {
    min-height: 42px !important;
    padding: 10px 16px !important;
    border: 1px solid var(--gianthi-line-strong) !important;
    border-radius: 10px !important;
    background: var(--gianthi-button) !important;
    color: var(--gianthi-button-ink) !important;
}

.empresa-theme .elementor .card-segmento-titulo .elementor-heading-title {
    font-size: clamp(2rem, 3vw, 3rem) !important;
    line-height: 1 !important;
}

/* FAQs, formulários e painéis utilitários. */
.empresa-theme .elementor .faq-personalizada .elementor-accordion {
    overflow: hidden;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 20px;
    background: rgb(255 253 249 / 88%);
    box-shadow: var(--gianthi-shadow-soft);
}

.empresa-theme .elementor .faq-personalizada .elementor-accordion-item { border: 0 !important; border-bottom: 1px solid var(--gianthi-line) !important; }
.empresa-theme .elementor .faq-personalizada .elementor-accordion-item:last-child { border-bottom: 0 !important; }
.empresa-theme .elementor .faq-personalizada .elementor-tab-title { padding: 22px 24px !important; font-size: 15px !important; font-weight: 750 !important; line-height: 1.35 !important; }
.empresa-theme .elementor .faq-personalizada .elementor-tab-content { padding: 0 24px 24px !important; border: 0 !important; color: var(--gianthi-stone) !important; font-size: 15px !important; }

.empresa-theme .elementor-field-group input,
.empresa-theme .elementor-field-group select,
.empresa-theme .elementor-field-group textarea {
    min-height: 52px;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: var(--gianthi-radius-sm) !important;
    background: var(--gianthi-paper) !important;
    color: var(--gianthi-ink) !important;
}

.empresa-theme .elementor-field-group textarea { min-height: 144px; }
.empresa-theme .elementor-field-group :is(input, select, textarea):focus { border-color: var(--gianthi-gold) !important; box-shadow: 0 0 0 3px rgb(183 131 47 / 14%); outline: 0; }

/* Mosaicos e grids técnicos: nunca deixam o conteúdo escapar da coluna. */
.empresa-theme .elementor :is(.hlx-produtos-grid, .hlx-caminhos-grid, .hlx-categorias-tabs, .hlx-mosaico-industria) {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
}

/* Timelines e grades legadas sem linhas/círculos decorativos. */
.empresa-theme .elementor :is(.hlx-timeline-processo, .hlx-caminhos-grid)::before,
.empresa-theme .elementor :is(.hlx-timeline-processo, .hlx-caminhos-grid)::after,
.empresa-theme .elementor :is(.hlx-timeline-passo, .hlx-caminho-item)::before,
.empresa-theme .elementor :is(.hlx-timeline-passo, .hlx-caminho-item)::after,
.empresa-theme .elementor .efeito-bg-imagem::before,
.empresa-theme .elementor .efeito-bg-imagem::after {
    display: none !important;
    content: none !important;
}

.empresa-theme .elementor .hlx-timeline-processo {
    display: grid !important;
    width: 100% !important;
    max-width: 900px !important;
    gap: 12px !important;
    padding: 0 !important;
}

.empresa-theme .elementor .hlx-timeline-passo {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 26px 28px !important;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 16px !important;
    background: var(--gianthi-paper) !important;
}

.empresa-theme .elementor .hlx-timeline-passo .hlx-timeline-conteudo {
    width: 100% !important;
    max-width: 720px !important;
    padding: 0 !important;
    justify-self: stretch !important;
}

.empresa-theme .elementor .hlx-timeline-numero .elementor-heading-title { font-family: var(--gianthi-font-sans) !important; font-size: 12px !important; letter-spacing: .12em !important; }
.empresa-theme .elementor .hlx-timeline-titulo .elementor-heading-title { font-family: var(--gianthi-font-sans) !important; font-size: 18px !important; font-weight: 750 !important; }

.empresa-theme .elementor .hlx-caminhos-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    gap: 14px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
}

.empresa-theme .elementor .hlx-caminho-item {
    min-height: 220px !important;
    padding: 28px !important;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 16px !important;
    background: var(--gianthi-paper) !important;
}

/* Formulários seguem o mesmo botão bege do restante do produto. */
.empresa-theme .elementor .formulario-projeto button.elementor-button[type="submit"],
.empresa-theme .elementor .formulario-projeto .e-form__buttons__wrapper__button {
    border: 1px solid var(--gianthi-line-strong) !important;
    border-radius: 12px !important;
    background: var(--gianthi-button) !important;
    color: var(--gianthi-button-ink) !important;
    box-shadow: none !important;
    transform: none !important;
}

.empresa-theme .elementor .formulario-projeto button.elementor-button[type="submit"]:hover,
.empresa-theme .elementor .formulario-projeto .e-form__buttons__wrapper__button:hover {
    border-color: #b89e7a !important;
    background: var(--gianthi-button-hover) !important;
    color: var(--gianthi-ink) !important;
    box-shadow: none !important;
    transform: none !important;
}

.empresa-theme .elementor .formulario-projeto .elementor-button-text { color: inherit !important; }

.empresa-theme .elementor :is(.hlx-produto-card, .hlx-categoria-painel, .card-representantes) {
    min-width: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 20px !important;
    background: var(--gianthi-gradient-beige) !important;
    box-shadow: var(--gianthi-shadow-soft) !important;
}

/* Cards de possibilidades: etiquetas informativas nunca assumem aparência de CTA. */
.empresa-theme .elementor .hlx-produto-card {
    background: #f4eadc !important;
    background-image: none !important;
}

.empresa-theme .elementor .hlx-produto-verde {
    background: #e6ece2 !important;
}

.empresa-theme .elementor .hlx-produto-card :is(.hlx-produto-categoria, .hlx-produto-titulo, .hlx-produto-descricao),
.empresa-theme .elementor .hlx-produto-card :is(.hlx-produto-categoria, .hlx-produto-titulo) .elementor-heading-title,
.empresa-theme .elementor .hlx-produto-card .hlx-produto-descricao p {
    color: var(--gianthi-ink) !important;
}

.empresa-theme .elementor .hlx-produto-tags {
    display: flex !important;
    width: min(100%, 520px) !important;
    max-width: 100% !important;
    flex-flow: row wrap !important;
    gap: 8px !important;
    align-items: center !important;
    align-content: flex-start !important;
}

.empresa-theme .elementor .hlx-produto-tags > .hlx-produto-tag {
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.empresa-theme .elementor .hlx-produto-tag .elementor-button {
    width: auto !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 7px 12px !important;
    border: 1px solid var(--gianthi-line-strong) !important;
    border-radius: 999px !important;
    background: rgb(255 253 249 / 74%) !important;
    background-image: none !important;
    color: var(--gianthi-button-ink) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    transform: none !important;
}

.empresa-theme .elementor .hlx-produto-tag .elementor-button:hover {
    border-color: #c5ae8e !important;
    background: #eee3d3 !important;
    color: var(--gianthi-ink) !important;
    transform: none !important;
}

/* Theme Builder: header e menu mobile com o mesmo acabamento do tema nativo. */
.empresa-theme .elementor-location-header > .e-con:first-child,
.empresa-theme .elementor-location-header .gianthi-elementor-header {
    position: relative;
    min-height: 88px !important;
    padding: 12px max(var(--gianthi-gutter), calc((100vw - var(--gianthi-container)) / 2)) !important;
    border-color: rgb(129 80 26 / 17%) !important;
    background: rgb(255 253 249 / 94%) !important;
    box-shadow: 0 8px 30px rgb(74 42 11 / 5%);
    backdrop-filter: blur(20px) saturate(1.25);
}

.empresa-theme .elementor-location-header .elementor-widget-image img {
    width: auto !important;
    max-width: clamp(170px, 15vw, 214px) !important;
    max-height: 58px !important;
    object-fit: contain;
}

.empresa-theme .elementor-location-header .elementor-nav-menu--main .elementor-item {
    padding: 12px 8px !important;
    color: var(--gianthi-ink-soft) !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
}

.empresa-theme .elementor-location-header .elementor-button {
    min-height: 50px !important;
    padding: 13px 20px !important;
    border: 1px solid var(--gianthi-line-strong) !important;
    border-radius: 12px !important;
    background: var(--gianthi-button) !important;
    color: var(--gianthi-button-ink) !important;
    box-shadow: none !important;
    font-size: 13px !important;
}

.empresa-theme .elementor-location-header .elementor-menu-toggle {
    width: 50px;
    height: 50px;
    padding: 0 !important;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 50% !important;
    background: var(--gianthi-paper) !important;
    color: var(--gianthi-ink) !important;
    box-shadow: var(--gianthi-shadow-soft);
}

/* Theme Builder: rodapé sem larguras acima de 100% e com hierarquia discreta. */
.empresa-theme .elementor-location-footer > .e-con:first-child,
.empresa-theme .elementor-location-footer .gianthi-elementor-footer {
    position: relative;
    overflow: hidden;
    padding: clamp(64px, 8vw, 100px) max(var(--gianthi-gutter), calc((100vw - var(--gianthi-container)) / 2)) 36px !important;
    background: #302820 !important;
}

.empresa-theme .elementor-location-footer > .e-con:first-child > .e-con,
.empresa-theme .elementor-location-footer .gianthi-elementor-footer > .e-con {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: 1.4fr repeat(3, 1fr) !important;
    gap: clamp(30px, 5vw, 70px) !important;
    align-items: start !important;
}

.empresa-theme .elementor-location-footer > .e-con:first-child > .e-con > .e-con,
.empresa-theme .elementor-location-footer .gianthi-elementor-footer > .e-con > .e-con {
    width: 100% !important;
    padding: 0 !important;
}

.empresa-theme .elementor-location-footer .elementor-heading-title {
    color: #d7b982 !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    letter-spacing: .14em !important;
    line-height: 1.3 !important;
    text-transform: uppercase;
}

.empresa-theme .elementor-location-footer :is(.elementor-icon-list-text, .elementor-widget-text-editor) {
    color: #e1d5c8 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

@media (max-width: 1024px) {
    .empresa-theme .elementor .grade-perfis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .empresa-theme .elementor .card-perfil { min-height: 250px !important; }
    .empresa-theme .elementor .titulo-perfil .elementor-heading-title { font-size: clamp(1.75rem, 3.5vw, 2.05rem) !important; }
    .empresa-theme .elementor .grade-segmentos { grid-template-columns: 1fr !important; }
    .empresa-theme .elementor .card-segmento { max-width: 680px !important; margin-inline: auto !important; }
    .empresa-theme .elementor-location-header > .e-con:first-child,
    .empresa-theme .elementor-location-header .gianthi-elementor-header { min-height: 76px !important; padding: 9px var(--gianthi-gutter) !important; }
    .empresa-theme .elementor-location-header .elementor-nav-menu--dropdown {
        position: fixed !important;
        top: 76px !important;
        right: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: calc(100vh - 76px) !important;
        height: calc(100dvh - 76px) !important;
        padding: 28px var(--gianthi-gutter) 38px !important;
        overflow: auto !important;
        border-top: 1px solid var(--gianthi-line) !important;
        background: radial-gradient(circle at 90% 10%, rgb(210 151 52 / 20%), transparent 30%), linear-gradient(145deg, #fffdf9, #f1e5d2) !important;
        box-shadow: none !important;
    }
    .empresa-theme .elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
        min-height: 68px !important;
        padding: 14px 4px !important;
        border-bottom: 1px solid var(--gianthi-line) !important;
        background: transparent !important;
        color: var(--gianthi-ink) !important;
        font-family: var(--gianthi-font-display) !important;
        font-size: clamp(1.7rem, 4vw, 2.15rem) !important;
        font-weight: 600 !important;
        letter-spacing: -.025em !important;
    }
    .empresa-theme .elementor-location-footer > .e-con:first-child > .e-con,
    .empresa-theme .elementor-location-footer .gianthi-elementor-footer > .e-con { grid-template-columns: 1.3fr repeat(2, 1fr) !important; }
}

@media (max-width: 767px) {
    .empresa-theme .site-main--elementor .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(2.35rem, 11vw, 3.2rem) !important; }
    .empresa-theme .site-main--elementor .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(2rem, 9vw, 2.65rem) !important; }
    .empresa-theme .site-main--elementor .elementor-widget-heading h3.elementor-heading-title { font-size: clamp(1.55rem, 7vw, 2rem) !important; }
    .empresa-theme .elementor .grade-perfis { grid-template-columns: 1fr !important; gap: 14px !important; }
    .empresa-theme .elementor .card-perfil { min-height: 0 !important; padding: 28px 26px 30px !important; }
    .empresa-theme .elementor .numero-perfil { margin-bottom: 34px !important; }
    .empresa-theme .elementor .titulo-perfil .elementor-heading-title { font-size: clamp(1.65rem, 8vw, 2rem) !important; }
    .empresa-theme .elementor :is(.bloco-processo, .processo-grade) { border-radius: 18px !important; }
    .empresa-theme .elementor :is(.item-processo, .processo-item) { grid-template-columns: 38px minmax(0, 1fr) !important; gap: 12px !important; padding: 22px 20px !important; }
    .empresa-theme .elementor .quadro-etapas { grid-template-columns: 1fr !important; border-radius: 18px !important; }
    .empresa-theme .elementor .quadro-etapas > .e-con { min-height: 0 !important; padding: 24px 22px !important; }
    .empresa-theme .elementor .card-segmento { min-height: 570px !important; padding: 34px 25px !important; border-radius: 22px !important; }
    .empresa-theme .elementor .card-segmento-titulo .elementor-heading-title { font-size: clamp(1.9rem, 9vw, 2.5rem) !important; }
    .empresa-theme .elementor .elementor-button { width: auto; min-width: 0; }
    .empresa-theme .elementor .gianthi-hero-badge {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        width: 100% !important;
        margin-top: 12px !important;
        padding: 18px 20px !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }
    .empresa-theme .elementor .gianthi-hero-badge__title .elementor-heading-title { font-size: 18px !important; }
    .empresa-theme .elementor .hlx-caminhos-grid { grid-template-columns: 1fr !important; }
    .empresa-theme .elementor .hlx-caminho-item { min-height: 0 !important; padding: 24px 22px !important; }
    .empresa-theme .elementor-location-header .elementor-widget-image img { max-width: 168px !important; }
    .empresa-theme .elementor-location-footer > .e-con:first-child,
    .empresa-theme .elementor-location-footer .gianthi-elementor-footer { padding-inline: 22px !important; }
    .empresa-theme .elementor-location-footer > .e-con:first-child > .e-con,
    .empresa-theme .elementor-location-footer .gianthi-elementor-footer > .e-con { grid-template-columns: 1fr !important; gap: 36px !important; }
}

/* ==========================================================================
   1.0 — catálogo final: respiro desktop + proteção de tags Pet
   ========================================================================== */
@media (min-width: 768px) {
    .empresa-theme .elementor .hlx-produto-card {
        min-height: 392px !important;
        padding-bottom: 34px !important;
    }

    .empresa-theme .elementor .hlx-produto-card .hlx-produto-imagem {
        z-index: 1 !important;
    }

    .empresa-theme .elementor .hlx-produto-card .hlx-produto-tags {
        position: relative !important;
        z-index: 4 !important;
        width: calc(100% - 205px) !important;
        max-width: 350px !important;
        padding-right: 4px !important;
    }

    .empresa-theme .elementor .hlx-produto-card.hlx-produto-verde .hlx-produto-tags {
        width: calc(100% - 245px) !important;
        max-width: 330px !important;
    }

    .empresa-theme .elementor .hlx-produto-card.hlx-produto-verde .hlx-produto-imagem-grupo {
        right: 4px !important;
        width: 242px !important;
    }

    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-info {
        padding: 30px 34px 32px !important;
        justify-content: center !important;
    }

    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-kicker {
        margin-bottom: 20px !important;
    }

    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-titulo {
        margin-bottom: 22px !important;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .empresa-theme .elementor .hlx-produto-card .hlx-produto-tags,
    .empresa-theme .elementor .hlx-produto-card.hlx-produto-verde .hlx-produto-tags {
        width: calc(100% - 195px) !important;
        max-width: 290px !important;
    }
    .empresa-theme .elementor .hlx-produto-card.hlx-produto-verde .hlx-produto-imagem-grupo {
        width: 195px !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-info {
        padding: 26px 28px 28px !important;
    }
}

/* Source migrated from pro.css */
/*
 * Gianthi Pro UI — acabamento corporativo 2.1
 * Camada não destrutiva: melhora templates existentes sem transformar texto em imagem.
 */

.empresa-theme {
    --gianthi-surface-warm: #f5ede2;
    --gianthi-surface-cool: #e8eee8;
    --gianthi-dark: #171410;
    --gianthi-dark-soft: #211d18;
    --gianthi-focus: #bd8d4b;
    --gianthi-shadow-card: 0 18px 55px rgb(66 43 17 / 8%);
    --gianthi-shadow-lift: 0 26px 70px rgb(66 43 17 / 13%);
}

.empresa-theme ::selection {
    background: var(--gianthi-champagne);
    color: var(--gianthi-ink);
    -webkit-text-fill-color: var(--gianthi-ink);
}

.empresa-theme .elementor-editor-active :is(.gianthi-reveal, .elementor-element-editable) {
    opacity: 1 !important;
    transform: none !important;
}

.empresa-theme .elementor-editor-active .palavra-bege,
.empresa-theme .elementor-editor-preview .palavra-bege {
    color: var(--gianthi-gold) !important;
    -webkit-text-fill-color: var(--gianthi-gold) !important;
}

.empresa-theme .site-main--elementor .elementor > :is(.e-con, .elementor-section) {
    scroll-margin-top: calc(var(--gianthi-header-height) + 24px);
}

.empresa-theme .elementor .elementor-heading-title {
    text-wrap: pretty;
}

.empresa-theme .elementor-widget-text-editor p {
    text-wrap: pretty;
}

/* Botões sólidos, previsíveis e sem brilho artificial. */
.empresa-theme .elementor-widget-button .elementor-button,
.empresa-theme .gianthi-button {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    background-image: none !important;
    box-shadow: 0 8px 20px rgb(91 58 19 / 8%) !important;
}

.empresa-theme .elementor-widget-button .elementor-button:hover,
.empresa-theme .gianthi-button:hover {
    box-shadow: 0 12px 28px rgb(91 58 19 / 12%) !important;
}

/* Header mais estável no desktop e painel mobile com acabamento de produto. */
.empresa-theme .site-header,
.empresa-theme .site-header__inner {
    transition: min-height .24s var(--gianthi-ease), box-shadow .24s var(--gianthi-ease), background-color .24s var(--gianthi-ease);
}

.empresa-theme .site-header.is-scrolled,
.empresa-theme .site-header.is-scrolled .site-header__inner {
    min-height: max(72px, calc(var(--gianthi-header-height) - 10px));
}

.empresa-theme .site-navigation > :is(.site-navigation__list, .menu) > li > a::after {
    position: absolute;
    right: 0;
    bottom: -9px;
    left: 0;
    height: 2px;
    border-radius: 2px;
    background: var(--gianthi-gold);
    content: "";
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .24s var(--gianthi-ease);
}

.empresa-theme .site-navigation li { position: relative; }

.empresa-theme .site-navigation .sub-menu {
    position: absolute;
    z-index: 12;
    top: calc(100% + 18px);
    left: 50%;
    display: grid;
    visibility: hidden;
    width: 240px;
    gap: 2px;
    margin: 0;
    padding: 10px;
    border: 1px solid var(--gianthi-line);
    border-radius: 14px;
    opacity: 0;
    background: rgb(255 253 249 / 97%);
    box-shadow: var(--gianthi-shadow);
    list-style: none;
    pointer-events: none;
    transform: translate(-50%, 8px);
    transition: opacity .2s var(--gianthi-ease), transform .2s var(--gianthi-ease), visibility .2s;
    backdrop-filter: blur(18px);
}

.empresa-theme .site-navigation .sub-menu::before {
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: 20px;
    content: "";
}

.empresa-theme .site-navigation li:hover > .sub-menu,
.empresa-theme .site-navigation li:focus-within > .sub-menu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.empresa-theme .site-navigation .sub-menu a {
    display: block;
    padding: 11px 12px;
    border-radius: 8px;
    font-size: 13px;
}

.empresa-theme .site-navigation .sub-menu a:hover,
.empresa-theme .site-navigation .sub-menu .current-menu-item > a {
    background: #f1e7da;
}

.empresa-theme .site-navigation > :is(.site-navigation__list, .menu) > li > a:hover::after,
.empresa-theme .site-navigation > :is(.site-navigation__list, .menu) > .current-menu-item > a::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* Bloco manifesto: compacto, legível e inteiramente editável no Elementor. */
.empresa-theme .elementor .secao-estrutura {
    padding-block: clamp(64px, 7vw, 96px) !important;
}

.empresa-theme .elementor .efeito-bg-imagem {
    width: min(100%, 1120px) !important;
    min-height: 0 !important;
    margin-inline: auto !important;
    padding: clamp(38px, 6vw, 76px) !important;
    overflow: hidden !important;
    border: 1px solid rgb(220 196 156 / 20%) !important;
    border-radius: clamp(20px, 2.4vw, 30px) !important;
    background: linear-gradient(135deg, #171410 0%, #211a13 100%) !important;
    box-shadow: 0 28px 80px rgb(28 20 12 / 17%) !important;
}

.empresa-theme .elementor .efeito-bg-imagem :is(.elementor-heading-title, h1, h2, h3, h4) {
    max-width: 23ch !important;
    margin: 0 !important;
    color: #fffdf9 !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: clamp(2rem, 3.5vw, 3.65rem) !important;
    font-weight: 620 !important;
    letter-spacing: -.05em !important;
    line-height: 1.03 !important;
    -webkit-text-fill-color: #fffdf9 !important;
}

.empresa-theme .elementor .efeito-bg-imagem .elementor-widget-text-editor,
.empresa-theme .elementor .efeito-bg-imagem .elementor-widget-text-editor p {
    max-width: 62ch;
    color: rgb(255 255 255 / 70%) !important;
}

/* Mosaico industrial: duas linhas reais, sem o vazio que empurrava o card escuro. */
.empresa-theme .empresa-mosaic__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(260px, 1fr));
    gap: 14px;
}

.empresa-theme .empresa-mosaic__media {
    min-height: 260px;
    border: 1px solid var(--gianthi-line);
    border-radius: 18px;
    box-shadow: var(--gianthi-shadow-soft);
}

.empresa-theme .empresa-mosaic:not(.empresa-mosaic--editorial):not(.empresa-mosaic--reverse):not(.empresa-mosaic--panorama) .empresa-mosaic__media--1 { grid-column: 1 / 4; grid-row: 1; }
.empresa-theme .empresa-mosaic:not(.empresa-mosaic--editorial):not(.empresa-mosaic--reverse):not(.empresa-mosaic--panorama) .empresa-mosaic__media--2 { grid-column: 4 / 7; grid-row: 1; }
.empresa-theme .empresa-mosaic:not(.empresa-mosaic--editorial):not(.empresa-mosaic--reverse):not(.empresa-mosaic--panorama) .empresa-mosaic__media--3 { grid-column: 1 / 4; grid-row: 2; }
.empresa-theme .empresa-mosaic:not(.empresa-mosaic--editorial):not(.empresa-mosaic--reverse):not(.empresa-mosaic--panorama) .empresa-mosaic__media--4 { grid-column: 4 / 7; grid-row: 2; }
.empresa-theme .empresa-mosaic:not(.empresa-mosaic--editorial):not(.empresa-mosaic--reverse):not(.empresa-mosaic--panorama) .empresa-mosaic__media--5 { grid-column: 7 / 13; grid-row: 1; }

.empresa-theme .empresa-mosaic__content {
    grid-column: 7 / 13;
    grid-row: 2;
    min-width: 0;
    padding: clamp(34px, 4.5vw, 62px);
    border: 1px solid rgb(220 196 156 / 17%);
    border-radius: 18px;
    background: var(--gianthi-dark);
    box-shadow: 0 24px 65px rgb(31 23 15 / 16%);
}

.empresa-theme .elementor .empresa-mosaic__content > p {
    color: var(--gianthi-champagne) !important;
}

.empresa-theme .elementor .empresa-mosaic__content h3 {
    max-width: 12ch !important;
    color: #fffdf9 !important;
    font-family: var(--gianthi-font-display) !important;
    font-size: clamp(2.35rem, 3.8vw, 4.2rem) !important;
    line-height: .92 !important;
    -webkit-text-fill-color: #fffdf9 !important;
}

.empresa-theme .elementor .empresa-mosaic__content > div {
    max-width: 48ch;
    color: rgb(255 255 255 / 68%) !important;
}

/* Quadros informativos: cards individuais em vez de uma planilha rígida. */
.empresa-theme .elementor .quadro-etapas {
    max-width: 820px !important;
    gap: 14px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.empresa-theme .elementor .quadro-etapas > .e-con {
    min-height: 196px !important;
    padding: 28px !important;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, var(--gianthi-paper), #fbf7f0) !important;
    box-shadow: var(--gianthi-shadow-card) !important;
    transition: transform .25s var(--gianthi-ease), border-color .25s var(--gianthi-ease), box-shadow .25s var(--gianthi-ease) !important;
}

.empresa-theme .elementor .quadro-etapas > .e-con:hover {
    border-color: var(--gianthi-line-strong) !important;
    box-shadow: var(--gianthi-shadow-lift) !important;
    transform: translateY(-4px);
}

.empresa-theme .elementor .quadro-etapas > .linha-etapa {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 18px !important;
}

.empresa-theme .elementor .linha-etapa > .indice-etapa {
    display: grid !important;
    width: 48px !important;
    height: 48px !important;
    place-items: center !important;
    border-radius: 13px !important;
    background: #efe2d0 !important;
}

.empresa-theme .elementor .linha-etapa > .indice-etapa .elementor-heading-title {
    font-size: 16px !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.empresa-theme .elementor .corpo-etapa .nome-etapa .elementor-heading-title {
    font-size: 17px !important;
    line-height: 1.25 !important;
}

/* Perfis: hierarquia consistente, sem círculos, riscos ou títulos vazando. */
.empresa-theme .elementor .grade-perfis {
    gap: 18px !important;
}

.empresa-theme .elementor .card-perfil {
    min-height: 245px !important;
    padding: 30px !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, #fffdf9, #f7efe4) !important;
}

.empresa-theme .elementor .numero-perfil {
    display: inline-grid !important;
    width: 44px !important;
    height: 34px !important;
    margin: 0 0 34px !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #efe2d0 !important;
}

.empresa-theme .elementor .titulo-perfil .elementor-heading-title {
    font-family: var(--gianthi-font-sans) !important;
    font-size: clamp(1.45rem, 1.8vw, 1.8rem) !important;
    font-weight: 680 !important;
    letter-spacing: -.035em !important;
    line-height: 1.05 !important;
}

/* Cards de parceria. */
.empresa-theme .elementor .card-representantes {
    min-width: 0 !important;
    min-height: 210px !important;
    padding: 28px !important;
    overflow: hidden !important;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, #fffdf9, #f2e8da) !important;
    box-shadow: var(--gianthi-shadow-card) !important;
    transition: transform .25s var(--gianthi-ease), box-shadow .25s var(--gianthi-ease) !important;
}

.empresa-theme .elementor .card-representantes:hover {
    box-shadow: var(--gianthi-shadow-lift) !important;
    transform: translateY(-4px);
}

.empresa-theme .elementor .card-representantes .elementor-icon-box-icon {
    margin-bottom: 24px !important;
}

.empresa-theme .elementor .card-representantes .elementor-icon {
    display: grid !important;
    width: 46px !important;
    height: 46px !important;
    place-items: center !important;
    border: 1px solid var(--gianthi-line-strong) !important;
    border-radius: 13px !important;
    background: #efe2d0 !important;
    color: var(--gianthi-bronze) !important;
}

.empresa-theme .elementor .card-representantes .elementor-icon-box-title {
    margin-bottom: 8px !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: 19px !important;
    font-weight: 720 !important;
    letter-spacing: -.025em !important;
}

.empresa-theme .elementor .card-representantes .elementor-icon-box-description {
    color: var(--gianthi-stone) !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
}

/* Terceirização: processo escaneável e visualmente rico sem retirar editabilidade. */
.empresa-theme .elementor .hlx-timeline-processo {
    max-width: var(--gianthi-container) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.empresa-theme .elementor .hlx-timeline-passo {
    min-height: 260px !important;
    padding: 30px !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, #fffdf9, #f6ede1) !important;
    box-shadow: var(--gianthi-shadow-card) !important;
    transition: transform .25s var(--gianthi-ease), box-shadow .25s var(--gianthi-ease), border-color .25s var(--gianthi-ease) !important;
}

.empresa-theme .elementor .hlx-timeline-passo:hover {
    border-color: var(--gianthi-line-strong) !important;
    box-shadow: var(--gianthi-shadow-lift) !important;
    transform: translateY(-5px);
}

.empresa-theme .elementor .hlx-timeline-numero {
    display: inline-grid !important;
    width: 46px !important;
    height: 38px !important;
    margin: 0 0 38px !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #ead9c1 !important;
}

.empresa-theme .elementor .hlx-timeline-numero .elementor-heading-title {
    color: var(--gianthi-bronze) !important;
}

.empresa-theme .elementor .hlx-timeline-titulo .elementor-heading-title {
    margin-bottom: 10px !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
}

.empresa-theme .elementor .hlx-timeline-texto,
.empresa-theme .elementor .hlx-timeline-texto p {
    color: var(--gianthi-stone) !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
}

.empresa-theme .elementor .hlx-caminhos-grid {
    gap: 16px !important;
}

.empresa-theme .elementor .hlx-caminho-item {
    min-height: 230px !important;
    padding: 30px !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, #fffdf9, #f6ede1) !important;
    box-shadow: var(--gianthi-shadow-card) !important;
}

.empresa-theme .elementor .hlx-caminho-label .elementor-heading-title {
    color: var(--gianthi-bronze) !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase;
}

.empresa-theme .elementor .hlx-caminho-titulo .elementor-heading-title {
    font-family: var(--gianthi-font-sans) !important;
    font-size: clamp(1.35rem, 1.8vw, 1.7rem) !important;
    font-weight: 680 !important;
    line-height: 1.1 !important;
}

/* Catálogos e possibilidades: conteúdo não compete com imagens nem com tags. */
.empresa-theme .elementor .hlx-produtos-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.empresa-theme .elementor .hlx-produto-card {
    min-height: 430px !important;
    padding: clamp(28px, 3.6vw, 44px) !important;
    border-radius: 22px !important;
    box-shadow: var(--gianthi-shadow-card) !important;
}

.empresa-theme .elementor .hlx-produto-titulo .elementor-heading-title {
    max-width: 18ch !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: clamp(1.75rem, 2.6vw, 2.55rem) !important;
    font-weight: 680 !important;
    line-height: 1.02 !important;
}

.empresa-theme .elementor .hlx-produto-tags {
    position: relative !important;
    z-index: 3 !important;
    margin-top: 24px !important;
}

.empresa-theme .elementor .hlx-produto-imagem,
.empresa-theme .elementor .hlx-produto-imagem-grupo {
    pointer-events: none;
}

/* Formulários e FAQ com o mesmo ritmo dos cards. */
.empresa-theme .elementor .faq-personalizada .elementor-accordion {
    border-radius: 18px !important;
    box-shadow: var(--gianthi-shadow-card) !important;
}

.empresa-theme .elementor .faq-personalizada .elementor-tab-title {
    min-height: 68px;
    align-items: center;
}

.empresa-theme .elementor .formulario-projeto {
    padding: clamp(24px, 3.5vw, 38px) !important;
    border: 1px solid var(--gianthi-line) !important;
    border-radius: 20px !important;
    background: var(--gianthi-paper) !important;
    box-shadow: var(--gianthi-shadow-card) !important;
}

@media (max-width: 1024px) {
    .empresa-theme .site-navigation > :is(.site-navigation__list, .menu) > li > a::after { display: none; }

    .empresa-theme .site-navigation .sub-menu {
        position: static;
        visibility: visible;
        width: auto;
        gap: 0;
        margin: 0 0 12px 38px;
        padding: 0;
        border: 0;
        border-radius: 0;
        opacity: 1;
        background: transparent;
        box-shadow: none;
        pointer-events: auto;
        transform: none;
    }

    .empresa-theme .site-navigation .sub-menu li { border-bottom: 0; }
    .empresa-theme .site-navigation .sub-menu li a {
        min-height: 42px;
        display: flex;
        padding: 8px 0;
        color: var(--gianthi-stone);
        font-family: var(--gianthi-font-sans);
        font-size: 14px;
        font-weight: 650;
        letter-spacing: 0;
    }
    .empresa-theme .site-navigation .sub-menu li a::before { display: none; }

    .empresa-theme .site-navigation {
        background: radial-gradient(circle at 96% 4%, rgb(220 196 156 / 24%), transparent 28%), linear-gradient(145deg, #fffdf9 0%, #f3e9db 100%);
    }

    .empresa-theme .site-navigation li {
        opacity: 0;
        transform: translateY(8px);
        transition: opacity .2s var(--gianthi-ease), transform .2s var(--gianthi-ease);
    }

    .empresa-theme .site-navigation.is-open li {
        opacity: 1;
        transform: none;
    }

    .empresa-theme .site-navigation.is-open li:nth-child(2) { transition-delay: 35ms; }
    .empresa-theme .site-navigation.is-open li:nth-child(3) { transition-delay: 70ms; }
    .empresa-theme .site-navigation.is-open li:nth-child(4) { transition-delay: 105ms; }
    .empresa-theme .site-navigation.is-open li:nth-child(5) { transition-delay: 140ms; }
    .empresa-theme .site-navigation.is-open li:nth-child(6) { transition-delay: 175ms; }
    .empresa-theme .site-navigation.is-open li:nth-child(7) { transition-delay: 210ms; }

    .empresa-theme .empresa-mosaic__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(4, minmax(250px, auto));
    }

    .empresa-theme .empresa-mosaic__media--1,
    .empresa-theme .empresa-mosaic__media--2,
    .empresa-theme .empresa-mosaic__media--3,
    .empresa-theme .empresa-mosaic__media--4,
    .empresa-theme .empresa-mosaic__media--5,
    .empresa-theme .empresa-mosaic__content { grid-column: auto; grid-row: auto; }
    .empresa-theme .empresa-mosaic__media--5,
    .empresa-theme .empresa-mosaic__content { grid-column: 1 / -1; }

    .empresa-theme .elementor .hlx-timeline-processo {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .empresa-theme .elementor .secao-estrutura {
        padding-block: 50px !important;
    }

    .empresa-theme .elementor .efeito-bg-imagem {
        padding: 30px 24px !important;
        border-radius: 18px !important;
    }

    .empresa-theme .elementor .efeito-bg-imagem :is(.elementor-heading-title, h1, h2, h3, h4) {
        font-size: clamp(1.8rem, 8.5vw, 2.45rem) !important;
        line-height: 1.05 !important;
    }

    .empresa-theme .empresa-mosaic__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        gap: 10px;
    }

    .empresa-theme .empresa-mosaic__media--1,
    .empresa-theme .empresa-mosaic__media--2,
    .empresa-theme .empresa-mosaic__media--3,
    .empresa-theme .empresa-mosaic__media--4 {
        grid-column: auto;
        grid-row: auto;
        min-height: 180px;
    }

    .empresa-theme .empresa-mosaic__media--5,
    .empresa-theme .empresa-mosaic__content {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 230px;
    }

    .empresa-theme .empresa-mosaic__content {
        min-height: 280px;
        padding: 30px 24px;
    }

    .empresa-theme .elementor .quadro-etapas {
        gap: 12px !important;
    }

    .empresa-theme .elementor .quadro-etapas > .e-con {
        min-height: 0 !important;
        padding: 24px 20px !important;
    }

    .empresa-theme .elementor .quadro-etapas > .linha-etapa {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .empresa-theme .elementor .linha-etapa > .indice-etapa {
        width: 42px !important;
        height: 42px !important;
    }

    .empresa-theme .elementor .card-perfil,
    .empresa-theme .elementor .card-representantes {
        min-height: 0 !important;
        padding: 25px !important;
    }

    .empresa-theme .elementor .hlx-timeline-processo,
    .empresa-theme .elementor .hlx-produtos-grid,
    .empresa-theme .elementor .hlx-caminhos-grid {
        grid-template-columns: 1fr !important;
    }

    .empresa-theme .elementor .hlx-timeline-passo,
    .empresa-theme .elementor .hlx-caminho-item {
        min-height: 0 !important;
        padding: 26px 24px !important;
    }

    .empresa-theme .elementor .hlx-timeline-numero {
        margin-bottom: 28px !important;
    }

    .empresa-theme .elementor .hlx-produto-card {
        min-height: 390px !important;
        padding: 28px 24px !important;
    }

    .empresa-theme .elementor .hlx-produto-tags {
        gap: 7px !important;
    }

    .empresa-theme .elementor .hlx-produto-tag .elementor-button {
        min-height: 32px !important;
        padding: 7px 10px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 430px) {
    .empresa-theme .site-header .gianthi-brand,
    .empresa-theme .site-header .custom-logo-link { width: 150px; }

    .empresa-theme .site-nav-toggle {
        width: 46px;
        min-width: 46px;
        height: 46px;
        min-height: 46px;
    }

    .empresa-theme .site-navigation li a {
        min-height: 60px;
        grid-template-columns: 32px 1fr;
        font-size: clamp(1.45rem, 7vw, 1.8rem);
    }
}

@media (hover: none) {
    .empresa-theme :is(.card-perfil, .card-representantes, .hlx-timeline-passo, .hlx-caminho-item, .quadro-etapas > .e-con):hover {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .empresa-theme .site-navigation li { opacity: 1; transform: none; transition: none; }
}

/* Source migrated from editorial.css */
/*
 * Gianthi — direção de arte 1.0
 * Camada de acabamento para o conteúdo editável do Elementor.
 */

.empresa-theme {
    --gianthi-section-compact: var(--gianthi-section-compact-control, clamp(56px, 6vw, 88px));
    --gianthi-section-large: var(--gianthi-section-large-control, clamp(72px, 7vw, 104px));
    --gianthi-content-wide: min(100% - (2 * var(--gianthi-gutter)), var(--gianthi-container, 1200px));
    --gianthi-h1: var(--gianthi-h1-control, clamp(2.85rem, 4.6vw, 4.1rem));
    --gianthi-h2: var(--gianthi-h2-control, clamp(1.95rem, 3vw, 2.8rem));
    --gianthi-h3: var(--gianthi-h3-control, clamp(1.3rem, 1.75vw, 1.65rem));
    --gianthi-body: var(--gianthi-body-control, clamp(.98rem, 1.05vw, 1.075rem));
    --gianthi-label: .7rem;
    --gianthi-shadow-premium: 0 18px 52px rgb(74 52 31 / 7%);
    background: var(--gianthi-bg-main);
}

.empresa-theme ::selection {
    background: var(--gianthi-gold-soft);
    color: var(--gianthi-ink);
    -webkit-text-fill-color: var(--gianthi-ink);
}

/* Escala tipográfica única. A home usa sans para transmitir indústria e precisão. */
.empresa-theme .site-main--elementor .elementor-widget-heading :is(h1, h2, h3, h4).elementor-heading-title,
.empresa-theme .site-main--elementor .elementor-widget-heading .elementor-heading-title {
    max-width: 100%;
    color: var(--gianthi-ink);
    font-family: var(--gianthi-font-display) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
}

.empresa-theme .site-main--elementor .elementor-widget-heading h1.elementor-heading-title {
    font-size: var(--gianthi-h1) !important;
    font-weight: 680 !important;
    letter-spacing: -.06em !important;
    line-height: .96 !important;
}

.empresa-theme .site-main--elementor .elementor-widget-heading h2.elementor-heading-title {
    font-size: var(--gianthi-h2) !important;
    font-weight: 660 !important;
    letter-spacing: -.05em !important;
    line-height: 1.01 !important;
}

.empresa-theme .site-main--elementor .elementor-widget-heading h3.elementor-heading-title {
    font-size: var(--gianthi-h3) !important;
    font-weight: 680 !important;
    letter-spacing: -.035em !important;
    line-height: 1.08 !important;
}

.empresa-theme .site-main--elementor .elementor-widget-heading h4.elementor-heading-title {
    font-size: clamp(1.05rem, 1.3vw, 1.2rem) !important;
    font-weight: 720 !important;
    letter-spacing: -.02em !important;
    line-height: 1.25 !important;
}

.empresa-theme .elementor-widget-text-editor,
.empresa-theme .elementor-widget-text-editor :is(p, li) {
    color: var(--gianthi-text-secondary) !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: var(--gianthi-body) !important;
    line-height: 1.65 !important;
    text-wrap: pretty;
}

.empresa-theme .elementor-widget-text-editor :is(p, li) { max-width: 66ch; }

.empresa-theme .gianthi-eyebrow,
.empresa-theme .elementor :is(.card-segmento-etiqueta, .gianthi-hero-badge__kicker) .elementor-heading-title {
    color: var(--gianthi-gold-deep) !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: var(--gianthi-label) !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
    line-height: 1.35 !important;
    text-transform: uppercase;
}

.empresa-theme .palavra-bege {
    background: none !important;
    color: var(--gianthi-gold-deep) !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Um único sistema de botões: sólido, fosco e previsível. */
.empresa-theme :is(.gianthi-button, .elementor-widget-button .elementor-button) {
    min-height: var(--gianthi-button-height, 46px) !important;
    max-width: 100%;
    padding: 12px 20px !important;
    border: 1px solid var(--gianthi-border-premium) !important;
    border-radius: var(--gianthi-radius-sm) !important;
    background: var(--gianthi-button) !important;
    background-image: none !important;
    color: var(--gianthi-button-ink) !important;
    box-shadow: none !important;
    font-family: var(--gianthi-font-sans) !important;
    font-size: .82rem !important;
    font-weight: 750 !important;
    letter-spacing: .015em !important;
    line-height: 1.25 !important;
    text-align: center;
    white-space: normal;
    transform: none !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}

.empresa-theme :is(.gianthi-button, .elementor-widget-button .elementor-button):hover {
    border-color: #bba588 !important;
    background: var(--gianthi-button-hover) !important;
    color: var(--gianthi-ink) !important;
    transform: translateY(-2px) !important;
}

.empresa-theme :is(.gianthi-button, .elementor-widget-button .elementor-button):focus-visible,
.empresa-theme .site-navigation a:focus-visible {
    outline: 2px solid var(--gianthi-gold-deep) !important;
    outline-offset: 3px !important;
}

/* Header leve e compacto. */
.empresa-theme .site-header,
.empresa-theme .site-header__inner {
    min-height: var(--gianthi-header-height, 78px);
}

.empresa-theme .site-header {
    border-bottom-color: rgb(112 71 40 / 16%);
    background: rgb(255 253 249 / 94%);
    box-shadow: 0 8px 28px rgb(68 47 29 / 4%);
    backdrop-filter: blur(14px);
}

.empresa-theme .site-header.is-scrolled { box-shadow: 0 12px 34px rgb(68 47 29 / 8%); }
.empresa-theme .site-header__inner { gap: clamp(22px, 3vw, 40px); }
.empresa-theme .site-header .gianthi-brand,
.empresa-theme .site-header .custom-logo-link { width: clamp(166px, 14vw, 205px); }
.empresa-theme .site-navigation { gap: clamp(18px, 2vw, 28px); }
.empresa-theme .site-navigation :is(.site-navigation__list, .menu) { gap: clamp(15px, 1.45vw, 24px); }
.empresa-theme .site-navigation a { font-size: .8rem; font-weight: 680; letter-spacing: .01em; }
.empresa-theme .site-navigation__cta { min-height: 42px !important; padding-inline: 17px !important; }

/* HERO — o único fundo claro com gradiente expressivo. */
.empresa-theme .elementor .gianthi-home-hero,
.empresa-theme .elementor #fundo-gianthi.gianthi-home-hero {
    position: relative !important;
    min-height: min(720px, calc(100svh - var(--gianthi-header-height, 78px)));
    gap: clamp(34px, 5vw, 72px) !important;
    align-items: center !important;
    padding: var(--gianthi-hero-space-control, clamp(68px, 7vw, 98px)) max(var(--gianthi-gutter), calc((100vw - var(--gianthi-container, 1200px)) / 2)) !important;
    overflow: hidden !important;
    background: var(--gianthi-gradient-hero) !important;
    background-image: var(--gianthi-gradient-hero) !important;
    isolation: isolate;
}

.empresa-theme .elementor #fundo-gianthi.gianthi-home-hero::before { display: none !important; content: none !important; }
.empresa-theme .elementor #fundo-gianthi.gianthi-home-hero::after {
    position: absolute !important;
    z-index: 0 !important;
    top: 50% !important;
    right: -8vw !important;
    width: min(58vw, 800px) !important;
    height: min(58vw, 800px) !important;
    border: 0 !important;
    border-radius: 50% !important;
    opacity: .5;
    background: radial-gradient(circle, rgb(255 253 249 / 58%) 0%, rgb(255 253 249 / 14%) 52%, transparent 72%) !important;
    pointer-events: none;
    transform: translateY(-50%);
    content: "" !important;
}

.empresa-theme .elementor .gianthi-home-hero > * { position: relative; z-index: 1; }
.empresa-theme .elementor .gianthi-home-hero > .e-con:first-child { max-width: 620px; }
.empresa-theme .elementor .gianthi-home-hero > .e-con:first-child > .elementor-widget-heading:first-child .elementor-heading-title {
    color: var(--gianthi-gold-deep) !important;
    font-size: var(--gianthi-label) !important;
    font-weight: 800 !important;
    letter-spacing: .19em !important;
    line-height: 1.35 !important;
    text-transform: uppercase;
}

.empresa-theme .elementor .gianthi-home-hero > .e-con:first-child > .elementor-widget-heading:nth-child(2) .elementor-heading-title {
    max-width: 12ch;
    font-size: var(--gianthi-h1) !important;
    font-weight: 680 !important;
    letter-spacing: -.065em !important;
    line-height: .94 !important;
}

.empresa-theme .elementor .gianthi-home-hero > .e-con:first-child > .elementor-widget-text-editor { max-width: 570px; margin-top: 8px; }
.empresa-theme .elementor .gianthi-home-hero .gianthi-hero-media { max-width: 590px; margin-inline: auto; }
.empresa-theme .elementor .gianthi-home-hero .gianthi-hero-media__image img {
    filter: drop-shadow(0 24px 30px rgb(88 59 32 / 12%));
}

.empresa-theme .elementor .gianthi-home-hero .gianthi-hero-badge {
    top: 4% !important;
    right: 0 !important;
    width: min(235px, 43%) !important;
    gap: 6px !important;
    padding: 18px 20px !important;
    border: 1px solid rgb(255 255 255 / 10%) !important;
    border-radius: 9px !important;
    background: #201d19 !important;
    box-shadow: 0 18px 38px rgb(57 39 22 / 12%) !important;
}

.empresa-theme .elementor .gianthi-home-hero .gianthi-hero-badge__kicker .elementor-heading-title { color: var(--gianthi-gold-soft) !important; }
.empresa-theme .elementor .gianthi-home-hero .gianthi-hero-badge__title .elementor-heading-title {
    color: #fffdf9 !important;
    font-size: clamp(.95rem, 1.3vw, 1.15rem) !important;
    font-weight: 670 !important;
    line-height: 1.18 !important;
}

/* Faixa de prova: compacta, factual e sem caixas infladas. */
.empresa-theme .elementor .gianthi-home-proof {
    display: grid !important;
    grid-template-columns: 1.25fr repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 0 max(var(--gianthi-gutter), calc((100vw - var(--gianthi-container, 1200px)) / 2)) !important;
    border-block: 1px solid var(--gianthi-border-soft) !important;
    background: var(--gianthi-surface-elevated) !important;
}

.empresa-theme .elementor .gianthi-home-proof > .e-con {
    min-height: 96px !important;
    padding: 22px clamp(18px, 2.3vw, 34px) !important;
    border-right: 1px solid var(--gianthi-border-soft) !important;
}
.empresa-theme .elementor .gianthi-home-proof > .e-con:first-child { padding-left: 0 !important; }
.empresa-theme .elementor .gianthi-home-proof > .e-con:last-child { border-right: 0 !important; }
.empresa-theme .elementor .gianthi-home-proof .elementor-heading-title,
.empresa-theme .elementor .gianthi-home-proof .elementor-icon-box-title { font-size: .95rem !important; font-weight: 690 !important; line-height: 1.3 !important; }
.empresa-theme .elementor .gianthi-home-proof .elementor-icon-box-description { color: var(--gianthi-text-secondary) !important; font-size: .76rem !important; line-height: 1.45 !important; }

/* Ritmo e superfícies da home. */
.empresa-theme .elementor :is(.gianthi-home-specialties, .gianthi-home-process, .gianthi-home-structure, .gianthi-home-profiles, .gianthi-home-faq) {
    padding: var(--gianthi-section-large) max(var(--gianthi-gutter), calc((100vw - var(--gianthi-container, 1200px)) / 2)) !important;
}
.empresa-theme .elementor .gianthi-home-specialties { background: var(--gianthi-bg-soft) !important; }
.empresa-theme .elementor .gianthi-home-process { background: var(--gianthi-bg-section) !important; }
.empresa-theme .elementor .gianthi-home-structure { background: var(--gianthi-surface-elevated) !important; }
.empresa-theme .elementor .gianthi-home-profiles { background: var(--gianthi-bg-main) !important; }
.empresa-theme .elementor .gianthi-home-faq { background: var(--gianthi-bg-soft) !important; }

/* Especialidades: duas divisões, uma mesma linguagem visual. */
.empresa-theme .elementor .gianthi-home-specialties .grade-segmentos { gap: clamp(18px, 2vw, 26px) !important; }
.empresa-theme .elementor .gianthi-home-specialties .card-segmento {
    height: auto !important;
    min-height: clamp(460px, 38vw, 520px) !important;
    max-height: none !important;
    padding: clamp(30px, 3.6vw, 46px) !important;
    border: 1px solid var(--gianthi-border-premium) !important;
    border-radius: var(--gianthi-radius) !important;
    background: var(--gianthi-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
    transition: border-color .25s ease, transform .25s ease !important;
}
.empresa-theme .elementor .gianthi-home-specialties .card-segmento-pet { background: #f0eee7 !important; }
.empresa-theme .elementor .gianthi-home-specialties .card-segmento:hover { border-color: var(--gianthi-gold-soft) !important; transform: translateY(-2px) !important; }
.empresa-theme .elementor .gianthi-home-specialties .card-segmento::before,
.empresa-theme .elementor .gianthi-home-specialties .card-segmento::after { display: none !important; content: none !important; }
.empresa-theme .elementor .gianthi-home-specialties .card-segmento-titulo .elementor-heading-title {
    max-width: 13ch;
    font-size: clamp(2rem, 3vw, 2.85rem) !important;
}
.empresa-theme .elementor .gianthi-home-specialties .tag-segmento .elementor-button {
    min-height: 30px !important;
    padding: 6px 10px !important;
    border-radius: 5px !important;
    background: var(--gianthi-bg-section) !important;
    font-size: .75rem !important;
    transform: none !important;
}
.empresa-theme .elementor .gianthi-home-specialties .card-segmento-link .elementor-button { margin-top: 8px; }
.empresa-theme .elementor .gianthi-home-specialties .card-segmento-imagem img { filter: drop-shadow(0 16px 20px rgb(70 51 34 / 8%)); }

/* Processo: sequência, não coleção de cards. */
.empresa-theme .elementor .gianthi-home-process > .e-con {
    display: grid !important;
    grid-template-columns: minmax(280px, .75fr) minmax(480px, 1.25fr) !important;
    gap: clamp(58px, 8vw, 120px) !important;
    align-items: start !important;
}
.empresa-theme .elementor .gianthi-home-process > .e-con > .e-con:first-child { position: sticky; top: 118px; }
.empresa-theme .elementor .gianthi-home-process .bloco-processo {
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--gianthi-gold-deep) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
.empresa-theme .elementor .gianthi-home-process .item-processo {
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) !important;
    gap: clamp(16px, 2vw, 28px) !important;
    padding: clamp(23px, 2.7vw, 32px) 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgb(112 71 40 / 22%) !important;
    background: transparent !important;
    box-shadow: none !important;
}
.empresa-theme .elementor .gianthi-home-process .numero-processo .elementor-heading-title {
    color: var(--gianthi-gold-deep) !important;
    font-size: .75rem !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
}
.empresa-theme .elementor .gianthi-home-process .titulo-processo .elementor-heading-title {
    font-size: 1.05rem !important;
    font-weight: 720 !important;
    letter-spacing: -.02em !important;
    line-height: 1.25 !important;
}
.empresa-theme .elementor .gianthi-home-process .descricao-processo,
.empresa-theme .elementor .gianthi-home-process .descricao-processo p { font-size: .9rem !important; line-height: 1.58 !important; }

/* Estrutura: fotos reais ganham protagonismo. */
.empresa-theme .elementor .gianthi-home-structure > .e-con:first-child { margin-bottom: clamp(44px, 6vw, 76px); }
.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__grid { gap: 12px; }
.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__media {
    border-color: var(--gianthi-border-soft);
    border-radius: 10px;
    background: var(--gianthi-bg-section);
}
.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__media img { filter: saturate(.92) contrast(1.015); }
.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__content {
    border: 0;
    border-radius: 10px;
    background: var(--gianthi-gradient-gold);
    color: var(--gianthi-brown-deep);
    box-shadow: none;
}
.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__eyebrow { color: #19110b !important; }
.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__content h3 { color: #19110b !important; font-size: clamp(2rem, 3.4vw, 3.6rem); -webkit-text-fill-color: #19110b !important; }
.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__description,
.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__description p { color: #19110b !important; }

/* Mosaico da Terceirização: imagens e textos pertencem à própria página. */
.empresa-theme .elementor .gianthi-terceirizacao-mosaico {
    padding: var(--gianthi-section-compact) max(var(--gianthi-gutter), calc((100vw - var(--gianthi-container, 1200px)) / 2)) !important;
    background: var(--gianthi-surface-elevated) !important;
}
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__grid { gap: 12px; }
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__media { border-color: var(--gianthi-border-soft); background: var(--gianthi-bg-section); }
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__content {
    border-color: var(--gianthi-border-premium);
    background: var(--gianthi-bg-section);
    box-shadow: none;
}
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__content h3 { color: var(--gianthi-ink); font-size: clamp(2rem, 3.3vw, 3.45rem); }
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__eyebrow { color: var(--gianthi-gold-deep); }
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__description { color: var(--gianthi-text-secondary); }

/* Perfis: grid editorial, alturas e quebras consistentes. */
.empresa-theme .elementor .gianthi-home-profiles .grade-perfis {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}
.empresa-theme .elementor .gianthi-home-profiles .card-perfil {
    min-height: 245px !important;
    padding: clamp(26px, 3vw, 34px) !important;
    border: 1px solid var(--gianthi-border-soft) !important;
    border-radius: var(--gianthi-radius) !important;
    background: var(--gianthi-surface) !important;
    box-shadow: none !important;
    transition: border-color .22s ease, transform .22s ease !important;
}
.empresa-theme .elementor .gianthi-home-profiles .card-perfil:hover { border-color: var(--gianthi-gold-soft) !important; transform: translateY(-2px) !important; }
.empresa-theme .elementor .gianthi-home-profiles .numero-perfil { margin: 0 0 clamp(34px, 4vw, 54px) !important; }
.empresa-theme .elementor .gianthi-home-profiles .numero-perfil .elementor-heading-title {
    color: var(--gianthi-gold-deep) !important;
    font-size: .75rem !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
}
.empresa-theme .elementor .gianthi-home-profiles .titulo-perfil .elementor-heading-title {
    max-width: 18ch;
    font-size: clamp(1.25rem, 1.7vw, 1.55rem) !important;
    font-weight: 680 !important;
    line-height: 1.08 !important;
}
.empresa-theme .elementor .gianthi-home-profiles .descricao-perfil,
.empresa-theme .elementor .gianthi-home-profiles .descricao-perfil p { font-size: .88rem !important; line-height: 1.58 !important; }

/* Manifesto: momento memorável, fosco e sem decoração gratuita. */
.empresa-theme .elementor .gianthi-home-manifesto {
    padding: var(--gianthi-section-compact) max(var(--gianthi-gutter), calc((100vw - var(--gianthi-container, 1200px)) / 2)) !important;
    background: var(--gianthi-bg-main) !important;
}
.empresa-theme .elementor .gianthi-home-manifesto .efeito-bg-imagem {
    width: min(100%, 1080px) !important;
    margin-inline: auto;
    padding: clamp(42px, 5.4vw, 64px) !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: var(--gianthi-gradient-gold) !important;
    background-image: var(--gianthi-gradient-gold) !important;
    box-shadow: none !important;
}
.empresa-theme .elementor .gianthi-home-manifesto .efeito-bg-imagem::before,
.empresa-theme .elementor .gianthi-home-manifesto .efeito-bg-imagem::after { display: none !important; content: none !important; }
.empresa-theme .elementor .gianthi-home-manifesto .elementor-heading-title {
    max-width: 25ch !important;
    color: #fffdf9 !important;
    font-size: clamp(2.05rem, 3.6vw, 3.6rem) !important;
    font-weight: 620 !important;
    letter-spacing: -.055em !important;
    line-height: 1 !important;
    -webkit-text-fill-color: #fffdf9 !important;
}

/* FAQ: linhas finas, sem gradiente e sem sombra. */
.empresa-theme .elementor .gianthi-home-faq > .e-con {
    display: grid !important;
    grid-template-columns: minmax(260px, .72fr) minmax(480px, 1.28fr) !important;
    gap: clamp(52px, 8vw, 112px) !important;
    align-items: start !important;
}
.empresa-theme .elementor .gianthi-home-faq .faq-personalizada :is(.elementor-accordion, .e-n-accordion) {
    overflow: hidden;
    border: 1px solid var(--gianthi-border-soft) !important;
    border-radius: 10px !important;
    background: var(--gianthi-surface-elevated) !important;
    box-shadow: none !important;
}
.empresa-theme .elementor .gianthi-home-faq .faq-personalizada :is(.elementor-accordion-item, .e-n-accordion-item) {
    border: 0 !important;
    border-bottom: 1px solid var(--gianthi-border-soft) !important;
    background: transparent !important;
}
.empresa-theme .elementor .gianthi-home-faq .faq-personalizada :is(.elementor-tab-title, .e-n-accordion-item-title) {
    min-height: 70px !important;
    padding: 20px 52px 20px 20px !important;
    color: var(--gianthi-ink) !important;
    font-size: .94rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}
.empresa-theme .elementor .gianthi-home-faq .faq-personalizada :is(.elementor-tab-title, .e-n-accordion-item-title):hover { background: var(--gianthi-bg-soft) !important; }
.empresa-theme .elementor .gianthi-home-faq .faq-personalizada .elementor-tab-content { padding: 0 52px 22px 20px !important; font-size: .9rem !important; }

/* CTA final: contraste rico, conteúdo reduzido e ação evidente. */
.empresa-theme .elementor .gianthi-home-cta {
    position: relative !important;
    padding: var(--gianthi-section-large) max(var(--gianthi-gutter), calc((100vw - var(--gianthi-container, 1200px)) / 2)) !important;
    overflow: hidden !important;
    background: var(--gianthi-gradient-cta) !important;
    background-image: var(--gianthi-gradient-cta) !important;
}
.empresa-theme .elementor .gianthi-home-cta > .elementor-background-overlay { display: none !important; }
.empresa-theme .elementor .gianthi-home-cta > .e-con { align-items: center !important; }
.empresa-theme .elementor .gianthi-home-cta > .e-con > .e-con:last-child { align-items: flex-start !important; padding-right: 72px !important; }
.empresa-theme .elementor .gianthi-home-cta .elementor-heading-title { color: #fffdf9 !important; }
.empresa-theme .elementor .gianthi-home-cta > .e-con > .e-con:first-child > .elementor-widget-heading:first-child .elementor-heading-title {
    color: #fffdf9 !important;
    font-size: var(--gianthi-label) !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase;
}
.empresa-theme .elementor .gianthi-home-cta > .e-con > .e-con:first-child > .elementor-widget-heading:nth-child(2) .elementor-heading-title {
    max-width: 16ch;
    font-size: clamp(2.25rem, 3.8vw, 3.7rem) !important;
    line-height: 1 !important;
}
.empresa-theme .elementor .gianthi-home-cta .elementor-widget-text-editor,
.empresa-theme .elementor .gianthi-home-cta .elementor-widget-text-editor p { color: #fffdf9 !important; }
.empresa-theme .elementor .gianthi-home-cta .elementor-button {
    border-color: rgb(255 255 255 / 48%) !important;
    background: #fffdf9 !important;
    color: var(--gianthi-brown-deep) !important;
}

/* Footer escuro e sóbrio. */
.empresa-theme .site-footer {
    padding-block: clamp(64px, 8vw, 96px) 28px;
    background: var(--gianthi-gradient-dark);
}
.empresa-theme .site-footer__inner { gap: clamp(48px, 7vw, 86px); }
.empresa-theme .site-footer__legal { border-top-color: rgb(255 255 255 / 12%); }
.empresa-theme .site-footer a { transition: color .18s ease; }

/* WhatsApp permanece reconhecível, sem gradiente ou glow. */
.empresa-theme .gianthi-whatsapp__icon {
    border: 1px solid rgb(255 255 255 / 42%);
    background: #238b57;
    box-shadow: 0 12px 28px rgb(35 86 59 / 18%);
}

/* 1.0 — normalização final de estruturas Elementor legadas.
   Remove alturas rígidas e aspect-ratios que criavam grandes vazios entre seções. */
.empresa-theme .elementor :is(.gianthi-home-specialties, .gianthi-home-process, .gianthi-home-structure, .gianthi-home-profiles, .gianthi-home-manifesto, .gianthi-home-faq, .gianthi-home-cta) {
    min-height: 0 !important;
    height: auto !important;
}

.empresa-theme .elementor :is(.card-segmento, .hlx-produto-card, .hlx-caminho-item, .hlx-timeline-passo, .processo-grade) {
    max-height: none !important;
}

.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__grid {
    grid-template-rows: repeat(2, minmax(220px, auto));
    align-items: stretch;
}

.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__media {
    min-height: 220px;
    overflow: hidden;
}

.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.empresa-theme .elementor .hlx-mosaico-industria {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
}

.empresa-theme .elementor .gianthi-home-manifesto .efeito-bg-imagem {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
}

.empresa-theme .elementor .gianthi-home-manifesto .elementor-widget-heading,
.empresa-theme .elementor .gianthi-home-manifesto .elementor-heading-title {
    margin-block: 0 !important;
}

/* Mosaico industrial legado (Cosméticos Pet): composição fluida, sem proporção fixa do container. */
.empresa-theme .elementor .hlx-mosaico-industria {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(12px, 1.4vw, 18px) !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.empresa-theme .elementor .hlx-mosaico-industria :is(.hlx-mosaico-esquerda, .hlx-mosaico-direita) {
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-esquerda {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(190px, 1fr)) !important;
    gap: clamp(10px, 1.2vw, 16px) !important;
}

.empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-direita {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(250px, 1fr) auto !important;
    gap: clamp(10px, 1.2vw, 16px) !important;
}

.empresa-theme .elementor .hlx-mosaico-industria :is(.hlx-mosaico-esquerda, .hlx-mosaico-direita) > .elementor-element,
.empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-foto,
.empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-foto .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
}

.empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-foto {
    overflow: hidden !important;
    border-radius: 10px !important;
}

.empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-foto img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    object-fit: cover !important;
}

.empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 220px !important;
    max-height: none !important;
    padding: clamp(26px, 3vw, 40px) !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--gianthi-gradient-cta) !important;
    color: #fffdf9 !important;
}

.empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-card :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor p) {
    color: #fffdf9 !important;
    -webkit-text-fill-color: #fffdf9 !important;
}

.empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-label .elementor-heading-title {
    color: #ead2aa !important;
    -webkit-text-fill-color: #ead2aa !important;
}

/* Menu mobile: painel compacto, proporcional e com alvos de toque adequados. */
.empresa-theme .site-navigation-backdrop { display: none; }

@media (max-width: 1024px) {
    .empresa-theme .site-navigation-backdrop {
        position: fixed;
        z-index: 9996;
        inset: var(--gianthi-header-height, 78px) 0 0;
        display: block;
        visibility: hidden;
        border: 0;
        opacity: 0;
        background: rgb(32 28 25 / 38%);
        transition: opacity .22s ease, visibility .22s;
        backdrop-filter: blur(2px);
    }
    .empresa-theme .site-navigation-backdrop.is-visible { visibility: visible; opacity: 1; }
    .empresa-theme .site-navigation {
        inset: var(--gianthi-header-height, 78px) 0 0 auto !important;
        width: min(88vw, 380px) !important;
        height: calc(100dvh - var(--gianthi-header-height, 78px)) !important;
        grid-template-rows: auto auto auto !important;
        align-content: start !important;
        gap: 0 !important;
        padding: 20px 24px 24px !important;
        border-top: 1px solid var(--gianthi-border-soft) !important;
        border-left: 1px solid var(--gianthi-border-soft) !important;
        opacity: 1 !important;
        background: var(--gianthi-bg-soft) !important;
        box-shadow: -22px 0 58px rgb(48 36 25 / 15%) !important;
        transform: translateX(102%) !important;
        transition: transform .25s cubic-bezier(.22, 1, .36, 1), visibility .25s !important;
    }
    .empresa-theme .site-navigation.is-open { transform: translateX(0) !important; }
    .empresa-theme .site-navigation__mobile-head {
        margin: 0 0 8px !important;
        padding: 0 0 13px !important;
        border-bottom: 1px solid var(--gianthi-border-premium) !important;
        font-size: .75rem !important;
        letter-spacing: .15em !important;
    }
    .empresa-theme .site-navigation__mobile-head small { font-size: .75rem !important; }
    .empresa-theme .site-navigation :is(.site-navigation__list, .menu) { display: block !important; }
    .empresa-theme .site-navigation li { border-bottom: 1px solid rgb(112 71 40 / 16%) !important; opacity: 1 !important; transform: none !important; }
    .empresa-theme .site-navigation li a {
        display: flex !important;
        min-height: 48px !important;
        align-items: center !important;
        padding: 6px 2px !important;
        color: var(--gianthi-ink) !important;
        font-family: var(--gianthi-font-sans) !important;
        font-size: .98rem !important;
        font-weight: 670 !important;
        letter-spacing: -.015em !important;
        line-height: 1.25 !important;
    }
    .empresa-theme .site-navigation li a::before,
    .empresa-theme .site-navigation li a::after { display: none !important; content: none !important; }
    .empresa-theme .site-navigation__cta { width: 100%; margin-top: 16px !important; }
    .empresa-theme .site-navigation__mobile-note { display: none !important; }

    .empresa-theme .elementor .gianthi-home-hero { min-height: 0; grid-template-columns: 1fr 1fr; padding-block: var(--gianthi-hero-space-control, 82px) !important; }
    .empresa-theme .elementor .gianthi-home-process > .e-con,
    .empresa-theme .elementor .gianthi-home-faq > .e-con { grid-template-columns: 1fr !important; gap: 54px !important; }
    .empresa-theme .elementor .gianthi-home-process > .e-con > .e-con:first-child { position: static; }
    .empresa-theme .elementor .gianthi-home-profiles .grade-perfis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 767px) {
    .empresa-theme {
        --gianthi-h1: var(--gianthi-h1-mobile-control, clamp(2.25rem, 10vw, 2.9rem));
        --gianthi-h2: var(--gianthi-h2-mobile-control, clamp(1.75rem, 7.8vw, 2.2rem));
        --gianthi-h3: var(--gianthi-h3-mobile-control, clamp(1.2rem, 5.7vw, 1.48rem));
        --gianthi-body: var(--gianthi-body-mobile-control, .96rem);
    }
    .empresa-theme .site-header,
    .empresa-theme .site-header__inner { min-height: var(--gianthi-header-mobile, 70px); }
    .empresa-theme .site-header .gianthi-brand,
    .empresa-theme .site-header .custom-logo-link { width: 150px !important; }
    .empresa-theme .site-nav-toggle { width: 42px !important; min-width: 42px !important; height: 42px !important; min-height: 42px !important; border-radius: 8px !important; box-shadow: none !important; }
    .empresa-theme .site-navigation-backdrop { inset: var(--gianthi-header-mobile, 70px) 0 0; }
    .empresa-theme .site-navigation { top: var(--gianthi-header-mobile, 70px) !important; width: min(92vw, 350px) !important; height: calc(100dvh - var(--gianthi-header-mobile, 70px)) !important; padding: 17px 20px 22px !important; }

    .empresa-theme .elementor .gianthi-home-hero {
        display: flex !important;
        flex-direction: column !important;
        gap: 42px !important;
        padding: var(--gianthi-section-mobile-control, 58px) var(--gianthi-gutter) !important;
    }
    .empresa-theme .elementor .gianthi-home-hero > .e-con:first-child { max-width: 100%; }
    .empresa-theme .elementor .gianthi-home-hero > .e-con:first-child > .elementor-widget-heading:nth-child(2) .elementor-heading-title { max-width: 11ch; }
    .empresa-theme .elementor .gianthi-home-hero .gianthi-hero-media { width: 100%; max-width: 470px; }
    .empresa-theme .elementor .gianthi-home-hero .gianthi-hero-badge { position: absolute !important; top: 3% !important; right: 0 !important; width: min(210px, 52%) !important; margin-top: 0 !important; }

    .empresa-theme .elementor .gianthi-home-proof { grid-template-columns: 1fr !important; padding-inline: var(--gianthi-gutter) !important; }
    .empresa-theme .elementor .gianthi-home-proof > .e-con { min-height: 0 !important; padding: 18px 0 !important; border-right: 0 !important; border-bottom: 1px solid var(--gianthi-border-soft) !important; }
    .empresa-theme .elementor .gianthi-home-proof > .e-con:last-child { border-bottom: 0 !important; }

    .empresa-theme .elementor :is(.gianthi-home-specialties, .gianthi-home-process, .gianthi-home-structure, .gianthi-home-profiles, .gianthi-home-faq) { padding: var(--gianthi-section-mobile-control, 58px) var(--gianthi-gutter) !important; }
    .empresa-theme .elementor .gianthi-terceirizacao-mosaico { padding: 64px var(--gianthi-gutter) !important; }
    .empresa-theme .elementor .gianthi-home-specialties .card-segmento { height: auto !important; min-height: 0 !important; max-height: none !important; padding: 28px 24px !important; }
    .empresa-theme .elementor .gianthi-home-specialties .card-segmento-titulo .elementor-heading-title { font-size: clamp(1.8rem, 8.8vw, 2.35rem) !important; }
    .empresa-theme .elementor .gianthi-home-specialties .card-segmento-tags { max-width: 100% !important; }

    .empresa-theme .elementor .gianthi-home-process .item-processo { grid-template-columns: 36px minmax(0, 1fr) !important; gap: 12px !important; padding: 22px 0 !important; }
    .empresa-theme .elementor .gianthi-home-structure > .e-con:first-child { margin-bottom: 34px; }
    .empresa-theme .elementor .gianthi-home-profiles .grade-perfis { grid-template-columns: 1fr !important; gap: 12px !important; }
    .empresa-theme .elementor .gianthi-home-profiles .card-perfil { min-height: 0 !important; padding: 26px 24px !important; }
    .empresa-theme .elementor .gianthi-home-profiles .numero-perfil { margin-bottom: 28px !important; }

    .empresa-theme .elementor .gianthi-home-manifesto { padding: var(--gianthi-section-mobile-control, 52px) var(--gianthi-gutter) !important; }
    .empresa-theme .elementor .gianthi-home-manifesto .efeito-bg-imagem { padding: 34px 24px !important; border-radius: 10px !important; }
    .empresa-theme .elementor .gianthi-home-manifesto .elementor-heading-title { font-size: clamp(1.85rem, 9.2vw, 2.6rem) !important; }

    .empresa-theme .elementor .gianthi-home-faq .faq-personalizada :is(.elementor-tab-title, .e-n-accordion-item-title) { min-height: 64px !important; padding: 18px 48px 18px 17px !important; font-size: .9rem !important; }
    .empresa-theme .elementor .gianthi-home-faq .faq-personalizada .elementor-tab-content { padding: 0 48px 20px 17px !important; }
    .empresa-theme .elementor .gianthi-home-cta { padding: var(--gianthi-section-mobile-control, 58px) var(--gianthi-gutter) !important; }
    .empresa-theme .elementor .gianthi-home-cta > .e-con { flex-direction: column !important; gap: 28px !important; align-items: stretch !important; }
    .empresa-theme .elementor .gianthi-home-cta > .e-con > .e-con:last-child { padding-right: 0 !important; }
    .empresa-theme .elementor .gianthi-home-cta .elementor-button { width: 100% !important; }

    .empresa-theme .elementor .hlx-mosaico-industria {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-esquerda {
        grid-template-rows: repeat(2, minmax(145px, 1fr)) !important;
        gap: 10px !important;
    }
    .empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-direita {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
    }
    .empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-direita > .elementor-element {
        height: auto !important;
        min-height: 0 !important;
        flex: 0 0 auto !important;
    }
    .empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-direita .hlx-mosaico-foto {
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
    }
    .empresa-theme .elementor .hlx-mosaico-industria .hlx-mosaico-card { min-height: 210px !important; }

    .empresa-theme .site-footer { padding-top: 62px; }
    .empresa-theme .site-footer__inner { gap: 42px; }
    .empresa-theme .site-footer__legal { gap: 12px; margin-top: 42px; }
}

@media (max-width: 390px) {
    .empresa-theme { --gianthi-gutter: 16px; }
    .empresa-theme .elementor .gianthi-home-hero .gianthi-hero-badge { width: min(190px, 56%) !important; padding: 15px 16px !important; }
    .empresa-theme .elementor .gianthi-home-specialties .card-segmento { min-height: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
    .empresa-theme *,
    .empresa-theme *::before,
    .empresa-theme *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    .empresa-theme .site-navigation,
    .empresa-theme .site-navigation-backdrop { transition: none !important; }
}

/* 1.0 final — preenchimento, contraste e ritmo validados em produção. */
.empresa-theme .elementor .gianthi-home-hero > .e-con:first-child > .elementor-widget-heading:nth-child(2) .elementor-heading-title { max-width:10.8ch; font-size:clamp(3.05rem,5vw,4.8rem)!important; line-height:.96!important; }
.empresa-theme .elementor .gianthi-home-hero { min-height:620px; }
.empresa-theme .elementor .gianthi-home-proof { grid-template-columns:1.2fr repeat(3,minmax(0,1fr))!important; }
.empresa-theme .elementor .gianthi-home-proof > .e-con { min-width:0!important; min-height:118px!important; justify-content:center!important; padding:24px clamp(20px,2.6vw,38px)!important; }
.empresa-theme .elementor .gianthi-home-proof .elementor-heading-title { overflow-wrap:normal!important; word-break:normal!important; hyphens:none!important; }
.empresa-theme .elementor .gianthi-home-proof > .e-con:not(:first-child) .elementor-heading-title { color:var(--gianthi-gold-deep)!important; font-size:.83rem!important; letter-spacing:.1em!important; text-transform:uppercase; }
.empresa-theme .elementor .gianthi-home-process .bloco-processo { overflow:hidden!important; border:1px solid var(--gianthi-border-premium)!important; border-radius:14px!important; background:rgb(255 253 249 / 66%)!important; box-shadow:0 20px 54px rgb(70 51 34 / 7%)!important; }
.empresa-theme .elementor .gianthi-home-process .item-processo { grid-template-columns:54px minmax(0,1fr)!important; padding:26px 28px!important; border-bottom-color:var(--gianthi-border-soft)!important; transition:background-color .2s ease,padding-left .2s ease!important; }
.empresa-theme .elementor .gianthi-home-process .item-processo:hover { padding-left:34px!important; background:#f7f0e6!important; }
.empresa-theme .elementor .gianthi-home-process .numero-processo .elementor-heading-title { display:grid; width:36px; height:36px; place-items:center; border:1px solid var(--gianthi-border-premium); border-radius:50%; background:var(--gianthi-bg-section); font-size:.75rem!important; }
.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__content { background:#a9783f!important; color:#fffdf9!important; }
.empresa-theme .elementor .gianthi-home-structure .empresa-mosaic__content :is(.empresa-mosaic__eyebrow,h3,.empresa-mosaic__description,.empresa-mosaic__description p) { color:#fffdf9!important; -webkit-text-fill-color:#fffdf9!important; }
.empresa-theme .elementor .gianthi-home-profiles { padding-block:clamp(72px,8vw,104px)!important; }
.empresa-theme .elementor .gianthi-home-profiles .grade-perfis { gap:18px!important; }
.empresa-theme .elementor .gianthi-home-profiles .card-perfil { min-height:220px!important; justify-content:space-between!important; background:#fffaf3!important; }
.empresa-theme .elementor .gianthi-home-profiles .numero-perfil { margin-bottom:24px!important; }
.empresa-theme .elementor .gianthi-home-manifesto { padding-block:clamp(56px,6.5vw,82px)!important; }
.empresa-theme .elementor .gianthi-home-manifesto .efeito-bg-imagem { width:min(100%,980px)!important; padding:clamp(34px,4.5vw,52px)!important; background:#a9783f!important; background-image:none!important; }
.empresa-theme .elementor .gianthi-home-manifesto .elementor-heading-title { max-width:24ch!important; color:#fffdf9!important; font-size:clamp(1.9rem,3vw,3rem)!important; line-height:1.06!important; }
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__grid { grid-template-rows:repeat(2,290px)!important; }
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__media,.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__content { min-height:290px!important; height:290px!important; }
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__media img { width:100%!important; height:100%!important; object-fit:cover!important; object-position:center!important; }
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__content { justify-content:center!important; background:#a9783f!important; color:#fffdf9!important; }
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__content :is(.empresa-mosaic__eyebrow,h3,.empresa-mosaic__description) { color:#fffdf9!important; -webkit-text-fill-color:#fffdf9!important; }
.empresa-theme .elementor :is(.gianthi-home-cta,.hlx-mosaico-card) :is(.elementor-widget-text-editor,.elementor-widget-text-editor p,.elementor-heading-title) { color:#fffdf9!important; -webkit-text-fill-color:#fffdf9!important; }
.empresa-theme .site-footer { background:#dfcfbb!important; color:#50463e!important; }
.empresa-theme .site-footer :is(p,span,li) { color:#50463e!important; }
.empresa-theme .site-footer a { color:#332b25!important; }
.empresa-theme .site-footer__legal { border-top-color:rgb(78 51 36 / 18%)!important; color:#61564d!important; }
@media(max-width:767px){
 .empresa-theme .elementor .gianthi-home-hero{min-height:0}
 .empresa-theme .elementor .gianthi-home-proof{grid-template-columns:1fr!important}
 .empresa-theme .elementor .gianthi-home-process .item-processo{padding:22px 20px!important}
 .empresa-theme .elementor .gianthi-home-process .item-processo:hover{padding-left:20px!important}
 .empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__grid{grid-template-rows:auto!important}
 .empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__media,.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__content{height:auto!important;min-height:230px!important}
}

/* 1.0 — correção de produção: containers boxed do Elementor usam .e-con-inner. */
.empresa-theme {
    --gianthi-h1: var(--gianthi-h1-control, clamp(2.7rem, 4.2vw, 4rem));
    --gianthi-h2: var(--gianthi-h2-control, clamp(1.9rem, 3vw, 2.8rem));
}
.empresa-theme .elementor .gianthi-home-hero {
    min-height: 0 !important;
    padding-block: clamp(56px, 6vw, 78px) !important;
}
.empresa-theme .elementor .gianthi-home-hero > .e-con-inner {
    display: grid !important;
    min-height: 520px !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important;
    gap: clamp(36px, 4.5vw, 64px) !important;
    align-items: center !important;
}
.empresa-theme .elementor .gianthi-home-hero > .e-con-inner > .e-con {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
}
.empresa-theme .elementor .gianthi-home-hero > .e-con-inner > .e-con:first-child {
    max-width: 650px !important;
}
.empresa-theme .elementor .gianthi-home-hero > .e-con-inner > .e-con:first-child > .elementor-widget-heading:nth-child(2) .elementor-heading-title {
    max-width: 12ch !important;
    font-size: clamp(2.85rem, 4.45vw, 4.15rem) !important;
    line-height: .98 !important;
}
.empresa-theme .elementor .gianthi-home-hero .elementor-element-3b6039b {
    display: grid !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
}
.empresa-theme .elementor .gianthi-home-hero .elementor-element-3b6039b > .e-con {
    min-width: 0 !important;
    padding: 13px 14px !important;
    border: 1px solid rgb(112 71 40 / 14%) !important;
    border-radius: 9px !important;
    background: rgb(255 253 249 / 54%) !important;
}
.empresa-theme .elementor .gianthi-home-hero .elementor-element-3b6039b .elementor-icon-box-title {
    margin-bottom: 3px !important;
    color: var(--gianthi-ink) !important;
    font-size: .76rem !important;
    line-height: 1.25 !important;
}
.empresa-theme .elementor .gianthi-home-hero .elementor-element-3b6039b .elementor-icon-box-description {
    color: var(--gianthi-text-secondary) !important;
    font-size: .75rem !important;
    line-height: 1.35 !important;
}
.empresa-theme .elementor .gianthi-home-hero .gianthi-hero-badge {
    background: #59493b !important;
}

.empresa-theme .elementor .gianthi-home-proof {
    display: block !important;
    padding-inline: max(var(--gianthi-gutter), calc((100vw - var(--gianthi-container, 1240px)) / 2)) !important;
}
.empresa-theme .elementor .gianthi-home-proof > .e-con-inner {
    display: grid !important;
    width: 100% !important;
    max-width: var(--gianthi-container, 1240px) !important;
    grid-template-columns: 1.25fr repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
}
.empresa-theme .elementor .gianthi-home-proof > .e-con-inner > .e-con {
    width: auto !important;
    min-width: 0 !important;
    min-height: 112px !important;
    justify-content: center !important;
    padding: 22px clamp(18px, 2.2vw, 32px) !important;
    border-right: 1px solid var(--gianthi-border-soft) !important;
}
.empresa-theme .elementor .gianthi-home-proof > .e-con-inner > .e-con:first-child {
    padding-left: clamp(18px, 2.2vw, 32px) !important;
}
.empresa-theme .elementor .gianthi-home-proof > .e-con-inner > .e-con:last-child {
    border-right: 0 !important;
}
.empresa-theme .elementor .gianthi-home-proof > .e-con-inner > .e-con:not(:first-child) .elementor-heading-title {
    color: var(--gianthi-gold-deep) !important;
    font-size: .78rem !important;
    letter-spacing: .08em !important;
    line-height: 1.28 !important;
    text-transform: uppercase;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}

/* CTAs institucionais: bege médio, separado do conteúdo, sem marrom saturado. */
.empresa-theme .elementor :is(
    .gianthi-page-cta,
    .elementor-element-9df98f8,
    .elementor-element-0582e73,
    .elementor-element-8c67ab8,
    .elementor-element-7eb18ce
) {
    background: #c9b08f !important;
    background-image: none !important;
}
.empresa-theme .elementor :is(
    .gianthi-page-cta,
    .elementor-element-9df98f8,
    .elementor-element-0582e73,
    .elementor-element-8c67ab8,
    .elementor-element-7eb18ce
) :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor p) {
    color: #2f2822 !important;
    -webkit-text-fill-color: #2f2822 !important;
}
.empresa-theme .elementor :is(
    .gianthi-page-cta,
    .elementor-element-9df98f8,
    .elementor-element-0582e73,
    .elementor-element-8c67ab8,
    .elementor-element-7eb18ce
) > .e-con-inner > .e-con:first-child > .elementor-widget-heading:first-child .elementor-heading-title {
    color: #5f3e21 !important;
    -webkit-text-fill-color: #5f3e21 !important;
}
.empresa-theme .elementor :is(
    .gianthi-page-cta,
    .elementor-element-9df98f8,
    .elementor-element-0582e73,
    .elementor-element-8c67ab8,
    .elementor-element-7eb18ce
) .elementor-button {
    border-color: #4e4034 !important;
    background: #4e4034 !important;
    color: #fffaf3 !important;
}

/* Hero e mosaico de Terceirização: champagne técnico, sem bloco preto. */
.empresa-theme .elementor .elementor-element-c4dfc19,
.empresa-theme .elementor .gianthi-terceirizacao-hero {
    padding: clamp(58px, 7vw, 86px) max(var(--gianthi-gutter), calc((100vw - var(--gianthi-container, 1240px)) / 2)) !important;
    background: #e6d9ca !important;
    background-image: none !important;
}
.empresa-theme .elementor .elementor-element-c4dfc19 > .e-con-inner,
.empresa-theme .elementor .gianthi-terceirizacao-hero > .e-con-inner {
    align-items: center !important;
}
.empresa-theme .elementor .elementor-element-c4dfc19 :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor p),
.empresa-theme .elementor .gianthi-terceirizacao-hero :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor p) {
    color: var(--gianthi-ink) !important;
    -webkit-text-fill-color: var(--gianthi-ink) !important;
}
.empresa-theme .elementor .elementor-element-c4dfc19 .elementor-element-c777b35 .elementor-heading-title,
.empresa-theme .elementor .gianthi-terceirizacao-hero .gianthi-page-eyebrow .elementor-heading-title {
    color: var(--gianthi-gold-deep) !important;
    -webkit-text-fill-color: var(--gianthi-gold-deep) !important;
}
.empresa-theme .elementor .elementor-element-c4dfc19 h1.elementor-heading-title,
.empresa-theme .elementor .gianthi-terceirizacao-hero h1.elementor-heading-title {
    max-width: 15ch !important;
    font-size: clamp(2.45rem, 4vw, 3.55rem) !important;
    line-height: 1.02 !important;
}
.empresa-theme .elementor .elementor-element-c4dfc19 .elementor-widget-text-editor,
.empresa-theme .elementor .elementor-element-c4dfc19 .elementor-widget-text-editor p {
    color: #655b52 !important;
    -webkit-text-fill-color: #655b52 !important;
    font-size: clamp(.98rem, 1.35vw, 1.08rem) !important;
    line-height: 1.65 !important;
}
.empresa-theme .elementor .elementor-element-c4dfc19 .elementor-button {
    border-color: #705238 !important;
    background: #705238 !important;
    color: #fffaf3 !important;
}
.empresa-theme .elementor .gianthi-terceirizacao-mosaico {
    padding-block: clamp(58px, 6vw, 78px) !important;
    background: var(--gianthi-bg-soft) !important;
}
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, 252px) !important;
    gap: 12px !important;
}
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__grid > * {
    width: auto !important;
    height: 252px !important;
    min-height: 252px !important;
    grid-column: auto !important;
    grid-row: auto !important;
}
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__content {
    justify-content: center !important;
    padding: clamp(26px, 3vw, 38px) !important;
    background: #b99160 !important;
    color: #fffaf3 !important;
}
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__content h3 {
    max-width: 14ch !important;
    color: #fffaf3 !important;
    font-size: clamp(1.75rem, 2.35vw, 2.35rem) !important;
    line-height: 1.02 !important;
    -webkit-text-fill-color: #fffaf3 !important;
}
.empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__content :is(.empresa-mosaic__eyebrow, .empresa-mosaic__description) {
    color: #fffaf3 !important;
    -webkit-text-fill-color: #fffaf3 !important;
}

/* Manifesto legado da página Cosméticos: remove o último fundo preto do conteúdo. */
.empresa-theme .elementor .elementor-element-945e18f {
    background: #b99160 !important;
    background-image: none !important;
}
.empresa-theme .elementor .elementor-element-945e18f :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor p) {
    color: #fffaf3 !important;
    -webkit-text-fill-color: #fffaf3 !important;
}

/* Rodapé volta ao dark-taupe; o bege médio pertence apenas ao CTA anterior. */
.empresa-theme .site-footer {
    background: #302820 !important;
    background-image: none !important;
    color: #e9ded0 !important;
}
.empresa-theme .site-footer :is(p, span, li) { color: #d8cbbd !important; }
.empresa-theme .site-footer a { color: #f6efe6 !important; }
.empresa-theme .site-footer a:hover { color: #d7b982 !important; }
.empresa-theme .site-footer__legal {
    border-top-color: rgb(255 255 255 / 14%) !important;
    color: #c9bbad !important;
}
.empresa-theme .elementor-location-footer > .e-con:first-child,
.empresa-theme .elementor-location-footer .gianthi-elementor-footer {
    background: #302820 !important;
    background-image: none !important;
}
.empresa-theme .elementor-location-footer .elementor-heading-title { color: #d7b982 !important; }
.empresa-theme .elementor-location-footer :is(.elementor-icon-list-text, .elementor-widget-text-editor, .elementor-widget-text-editor p) {
    color: #e1d5c8 !important;
}
.empresa-theme .elementor-location-footer a { color: #f6efe6 !important; }

@media (max-width: 1024px) {
    .empresa-theme {
        --gianthi-h1: var(--gianthi-h1-tablet-control, clamp(2.35rem, 5vw, 3.2rem));
        --gianthi-h2: var(--gianthi-h2-tablet-control, clamp(1.8rem, 3.8vw, 2.35rem));
    }
    .empresa-theme .elementor .gianthi-home-hero > .e-con-inner {
        min-height: 0 !important;
        grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr) !important;
        gap: 30px !important;
    }
    .empresa-theme .elementor .gianthi-home-hero > .e-con-inner > .e-con:first-child > .elementor-widget-heading:nth-child(2) .elementor-heading-title {
        font-size: clamp(2.55rem, 5.6vw, 3.5rem) !important;
    }
    .empresa-theme .elementor .gianthi-home-proof > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .empresa-theme .elementor .gianthi-home-proof > .e-con-inner > .e-con {
        min-height: 104px !important;
        border-bottom: 1px solid var(--gianthi-border-soft) !important;
    }
    .empresa-theme .elementor .gianthi-home-proof > .e-con-inner > .e-con:nth-child(2n) { border-right: 0 !important; }
    .empresa-theme .elementor .gianthi-home-proof > .e-con-inner > .e-con:nth-last-child(-n+2) { border-bottom: 0 !important; }
    .empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(3, 230px) !important;
    }
    .empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__grid > * {
        height: 230px !important;
        min-height: 230px !important;
    }
}

@media (max-width: 767px) {
    .empresa-theme {
        --gianthi-h1: var(--gianthi-h1-mobile-control, clamp(2.15rem, 9.5vw, 2.85rem));
        --gianthi-h2: var(--gianthi-h2-mobile-control, clamp(1.7rem, 7.4vw, 2.18rem));
    }
    .empresa-theme .elementor .gianthi-home-hero > .e-con-inner {
        display: flex !important;
        flex-direction: column !important;
        gap: 34px !important;
    }
    .empresa-theme .elementor .gianthi-home-hero .elementor-element-3b6039b {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }
    .empresa-theme .elementor .gianthi-home-hero .gianthi-hero-badge {
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        margin-top: 10px !important;
    }
    .empresa-theme .elementor .gianthi-home-proof > .e-con-inner { grid-template-columns: 1fr !important; }
    .empresa-theme .elementor .gianthi-home-proof > .e-con-inner > .e-con {
        min-height: 0 !important;
        padding: 18px 4px !important;
        border-right: 0 !important;
        border-bottom: 1px solid var(--gianthi-border-soft) !important;
    }
    .empresa-theme .elementor .gianthi-home-proof > .e-con-inner > .e-con:last-child { border-bottom: 0 !important; }
    .empresa-theme .elementor .elementor-element-c4dfc19,
    .empresa-theme .elementor .gianthi-terceirizacao-hero { padding: 52px var(--gianthi-gutter) !important; }
    .empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: none !important;
    }
    .empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__grid > * {
        height: 220px !important;
        min-height: 220px !important;
    }
    .empresa-theme .elementor .gianthi-terceirizacao-mosaico .empresa-mosaic__content {
        height: auto !important;
        min-height: 250px !important;
    }
}

/* ==========================================================================
   1.0 — estabilização mobile final de catálogos
   Mantém imagens de produto fora da área de tags/CTA e dá respiro aos
   painéis de categorias sem alterar a composição aprovada no desktop.
   ========================================================================== */
@media (max-width: 767px) {
    .empresa-theme .elementor .gianthi-home-specialties .card-segmento {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 34px 26px 0 !important;
    }
    .empresa-theme .elementor .gianthi-home-specialties .card-segmento :is(
        .card-segmento-conteudo,
        .card-segmento-titulo,
        .card-segmento-descricao,
        .card-segmento-descricao .elementor-widget-container,
        .card-segmento-descricao p,
        .card-segmento-tags
    ) {
        width: 100% !important;
        max-width: none !important;
    }
    .empresa-theme .elementor .gianthi-home-specialties .card-segmento-tags { margin-bottom: 18px !important; }
    .empresa-theme .elementor .gianthi-home-specialties .card-segmento-imagem {
        position: relative !important;
        inset: auto !important;
        order: 99 !important;
        align-self: flex-end !important;
        width: min(88%, 320px) !important;
        max-width: 320px !important;
        margin: 24px -12px -4px auto !important;
    }

    .empresa-theme .elementor .hlx-produto-card {
        height: auto !important;
        min-height: 0 !important;
        padding: 30px 24px 0 !important;
    }
    .empresa-theme .elementor .hlx-produto-card :is(.hlx-produto-categoria, .hlx-produto-titulo, .hlx-produto-descricao) {
        width: 100% !important;
        max-width: none !important;
        --width: 100% !important;
        --container-widget-width: 100% !important;
    }
    .empresa-theme .elementor .hlx-produto-card .hlx-produto-titulo .elementor-heading-title {
        max-width: 16ch !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }
    .empresa-theme .elementor .hlx-produto-card .hlx-produto-tags {
        width: 100% !important;
        max-width: none !important;
        margin: 4px 0 0 !important;
        gap: 8px !important;
    }
    .empresa-theme .elementor .hlx-produto-card .hlx-produto-imagem {
        position: relative !important;
        inset: auto !important;
        order: 99 !important;
        align-self: flex-end !important;
        margin: 24px -8px -4px auto !important;
    }
    .empresa-theme .elementor .hlx-produto-card .hlx-produto-imagem-unica { width: min(52%, 170px) !important; }
    .empresa-theme .elementor .hlx-produto-card .hlx-produto-imagem-grupo { width: min(78%, 270px) !important; }

    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-painel {
        width: 100% !important;
        min-width: 0 !important;
        padding: 14px !important;
        gap: 0 !important;
        border-radius: 22px !important;
        overflow: hidden !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-painel > .e-con-inner {
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        gap: 22px !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-imagem {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 320px !important;
        aspect-ratio: 4 / 4.25 !important;
        padding: 20px !important;
        border-radius: 16px !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-info {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 6px 8px 22px !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs :is(
        .hlx-categoria-kicker,
        .hlx-categoria-titulo,
        .hlx-categoria-descricao,
        .hlx-categoria-lista
    ) {
        width: 100% !important;
        max-width: none !important;
        --width: 100% !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-titulo .elementor-heading-title {
        max-width: 15ch !important;
        font-size: clamp(1.9rem, 8.2vw, 2.35rem) !important;
        line-height: 1.02 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs :is(.hlx-categoria-descricao, .hlx-categoria-descricao p) {
        max-width: 38ch !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-lista,
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-lista > .e-con-inner {
        grid-template-columns: 1fr !important;
        column-gap: 0 !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-item .elementor-heading-title {
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }
}

@media (max-width: 420px) {
    .empresa-theme .elementor .gianthi-home-specialties .card-segmento { padding: 30px 22px 0 !important; }
    .empresa-theme .elementor .gianthi-home-specialties .card-segmento-imagem {
        width: min(92%, 290px) !important;
        margin: 20px -10px -4px auto !important;
    }
    .empresa-theme .elementor .hlx-produto-card { padding: 28px 22px 0 !important; }
    .empresa-theme .elementor .hlx-produto-card .hlx-produto-titulo .elementor-heading-title {
        font-size: 24px !important;
        line-height: 1.06 !important;
    }
    .empresa-theme .elementor .hlx-produto-card .hlx-produto-imagem-unica { width: min(50%, 155px) !important; }
    .empresa-theme .elementor .hlx-produto-card .hlx-produto-imagem-grupo { width: min(82%, 245px) !important; }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-painel { padding: 10px !important; }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-imagem {
        min-height: 285px !important;
        padding: 16px !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-info { padding: 8px 10px 20px !important; }
}

/* ==========================================================================
   1.0 — catálogo final: respiro desktop + proteção de tags Pet
   ========================================================================== */
@media (min-width: 768px) {
    .empresa-theme .elementor .hlx-produto-card {
        min-height: 392px !important;
        padding-bottom: 34px !important;
    }

    .empresa-theme .elementor .hlx-produto-card .hlx-produto-imagem {
        z-index: 1 !important;
    }

    .empresa-theme .elementor .hlx-produto-card .hlx-produto-tags {
        position: relative !important;
        z-index: 4 !important;
        width: calc(100% - 205px) !important;
        max-width: 350px !important;
        padding-right: 4px !important;
    }

    .empresa-theme .elementor .hlx-produto-card.hlx-produto-verde .hlx-produto-tags {
        width: calc(100% - 245px) !important;
        max-width: 330px !important;
    }

    .empresa-theme .elementor .hlx-produto-card.hlx-produto-verde .hlx-produto-imagem-grupo {
        right: 4px !important;
        width: 242px !important;
    }

    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-info {
        padding: 30px 34px 32px !important;
        justify-content: center !important;
    }

    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-kicker {
        margin-bottom: 20px !important;
    }

    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-titulo {
        margin-bottom: 22px !important;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .empresa-theme .elementor .hlx-produto-card .hlx-produto-tags,
    .empresa-theme .elementor .hlx-produto-card.hlx-produto-verde .hlx-produto-tags {
        width: calc(100% - 195px) !important;
        max-width: 290px !important;
    }
    .empresa-theme .elementor .hlx-produto-card.hlx-produto-verde .hlx-produto-imagem-grupo {
        width: 195px !important;
    }
    .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-info {
        padding: 26px 28px 28px !important;
    }
}



/* ==========================================================================
   1.0 — site-wide refresh: Pet sem corte + Cosméticos com respiro real
   ========================================================================== */
@media (min-width: 768px) {
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card {
    display:grid !important; grid-template-columns:minmax(0,1fr) minmax(190px,38%) !important;
    grid-template-rows:auto auto auto minmax(0,1fr) !important; column-gap:22px !important; row-gap:12px !important;
    min-height:430px !important; padding:36px 34px 28px !important; overflow:hidden !important;
  }
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card > :is(.hlx-produto-categoria,.hlx-produto-titulo,.hlx-produto-descricao,.hlx-produto-tags) {
    grid-column:1 !important; width:100% !important; max-width:none !important; min-width:0 !important;
  }
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-categoria{grid-row:1 !important;}
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-titulo{grid-row:2 !important;}
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-descricao{grid-row:3 !important;}
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-tags {
    grid-row:4 !important; align-self:end !important; display:flex !important; flex-wrap:wrap !important; align-content:flex-end !important;
    gap:8px !important; margin:14px 0 0 !important; padding:0 !important; z-index:4 !important;
  }
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-imagem {
    grid-column:2 !important; grid-row:1/5 !important; position:relative !important; inset:auto !important; align-self:end !important; justify-self:end !important;
    width:100% !important; max-width:280px !important; margin:0 -4px -8px 0 !important; z-index:1 !important;
  }
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-imagem-unica{max-width:190px !important;}
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-imagem-grupo{max-width:280px !important;}
  .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-info { padding:44px 46px 42px !important; gap:0 !important; justify-content:center !important; }
  .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-kicker{margin:0 0 26px !important;}
  .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-titulo{margin:0 0 26px !important;}
  .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-descricao{margin:0 0 28px !important;}
}
@media (min-width:768px) and (max-width:1080px){
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card{grid-template-columns:minmax(0,1fr) minmax(160px,34%) !important;padding:30px 26px 24px !important;column-gap:14px !important;}
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-imagem-grupo{max-width:220px !important;}
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-imagem-unica{max-width:165px !important;}
  .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-info{padding:34px 34px 32px !important;}
}
@media (max-width:767px){
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card{display:flex !important;flex-direction:column !important;min-height:0 !important;padding:30px 24px 0 !important;}
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-tags{order:20 !important;width:100% !important;max-width:none !important;margin:16px 0 0 !important;padding:0 !important;display:flex !important;flex-wrap:wrap !important;gap:8px !important;}
  .empresa-theme .elementor .hlx-produtos-grid .hlx-produto-card .hlx-produto-imagem{order:30 !important;position:relative !important;inset:auto !important;align-self:center !important;margin:24px auto -4px !important;}
  .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-info{padding:22px 20px 28px !important;}
  .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-kicker{margin-bottom:18px !important;}
  .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-titulo{margin-bottom:20px !important;}
  .empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-descricao{margin-bottom:22px !important;}
}

/* Source migrated from typography-audit.css */
/*
 * Gianthi 1.0 — audited typography hierarchy.
 * Intentionally class-aware: avoids forcing every Elementor h2/h3 into the
 * same size because many legacy widgets use h2 as their default HTML tag.
 */
body.empresa-theme .site-main .elementor-widget-heading .elementor-heading-title {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* One real page title per institutional document. */
body.empresa-theme .site-main .elementor-widget-heading h1.elementor-heading-title {
    font-size: clamp(2.65rem, 4.55vw, 4rem) !important;
    line-height: .98 !important;
    letter-spacing: -.052em !important;
    text-wrap: balance;
}

/* Reusable section-title patterns already present in the Elementor templates. */
body.empresa-theme .elementor :is(
    .card-segmento-titulo,
    .hlx-produto-titulo,
    .hlx-categoria-titulo
) .elementor-heading-title {
    font-size: clamp(1.8rem, 2.7vw, 2.55rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.042em !important;
    text-wrap: balance;
}

body.empresa-theme .elementor :is(
    .hlx-timeline-titulo,
    .hlx-caminho-titulo,
    .processo-titulo,
    .titulo-processo,
    .timeline-titulo,
    .titulo-perfil,
    .nome-etapa
) .elementor-heading-title {
    font-size: clamp(1.02rem, 1.45vw, 1.28rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -.018em !important;
}

/* Labels/numbers should support hierarchy rather than compete with headings. */
body.empresa-theme .elementor :is(
    .card-segmento-etiqueta,
    .hlx-produto-categoria,
    .hlx-categoria-kicker,
    .hlx-caminho-label
) .elementor-heading-title {
    font-size: .75rem !important;
    line-height: 1.35 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
}

body.empresa-theme .elementor :is(
    .numero-processo,
    .processo-numero,
    .indice-etapa,
    .numero-perfil,
    .hlx-timeline-numero
) .elementor-heading-title {
    line-height: 1 !important;
}

/* Body copy: preserve authored sizes but keep a stable reading rhythm. */
body.empresa-theme .site-main .elementor-widget-text-editor,
body.empresa-theme .site-main .elementor-widget-text-editor p {
    line-height: 1.65;
}
body.empresa-theme .elementor :is(
    .card-segmento-descricao,
    .hlx-produto-descricao,
    .hlx-categoria-descricao,
    .descricao-processo,
    .processo-descricao,
    .timeline-descricao,
    .descricao-perfil,
    .texto-etapa,
    .hlx-timeline-texto,
    .hlx-caminho-texto
) p {
    font-size: clamp(.91rem, 1vw, 1rem) !important;
    line-height: 1.6 !important;
}

/* Buttons stay legible without becoming oversized UI blocks. */
body.empresa-theme .site-main .elementor-button {
    font-size: clamp(.82rem, .9vw, .92rem) !important;
    line-height: 1.2 !important;
}

@media (max-width: 767px) {
    body.empresa-theme .site-main .elementor-widget-heading h1.elementor-heading-title {
        font-size: clamp(2.18rem, 9.6vw, 2.85rem) !important;
        line-height: 1 !important;
        letter-spacing: -.047em !important;
    }
    body.empresa-theme .elementor :is(
        .card-segmento-titulo,
        .hlx-produto-titulo,
        .hlx-categoria-titulo
    ) .elementor-heading-title {
        font-size: clamp(1.72rem, 7.2vw, 2.15rem) !important;
    }
    body.empresa-theme .site-main .elementor-widget-text-editor p {
        line-height: 1.62;
    }
}

/* Source migrated from quality-audit.css */
/*
 * Gianthi 1.0 — site-wide QA safety layer.
 * Keeps the approved art direction while removing common Elementor failure
 * modes: collapsed flex children, hidden copy, poor contrast and mobile overflow.
 */

body.empresa-theme .site-main,
body.empresa-theme .site-main .elementor,
body.empresa-theme .site-main .e-con,
body.empresa-theme .site-main .e-con-inner,
body.empresa-theme .site-main .elementor-element,
body.empresa-theme .site-main .elementor-widget-container {
    min-width: 0;
}

body.empresa-theme .site-main .elementor img,
body.empresa-theme .site-main .elementor video,
body.empresa-theme .site-main .elementor iframe {
    max-width: 100%;
}
body.empresa-theme .site-main .elementor iframe { width: 100%; }

body.empresa-theme .site-main .elementor-button {
    min-height: 44px;
    align-items: center;
    justify-content: center;
    white-space: normal;
    text-align: center;
}

/* Contrast safety for the dark editorial surfaces used across the site. */
body.empresa-theme .elementor :is(
    .efeito-bg-imagem,
    .empresa-mosaic__content
) :is(h1,h2,h3,h4,.elementor-heading-title) {
    color: #fffdf9 !important;
    -webkit-text-fill-color: #fffdf9 !important;
}
body.empresa-theme .elementor :is(
    .efeito-bg-imagem,
    .empresa-mosaic__content
) :is(.elementor-widget-text-editor,.elementor-widget-text-editor p) {
    color: #d8cec4 !important;
    -webkit-text-fill-color: #d8cec4 !important;
}

/* Keep gold labels on dark surfaces readable, not muddy. */
body.empresa-theme .elementor :is(
    .efeito-bg-imagem,
    .empresa-mosaic__content
) :is(.gp2-eyebrow,.gp2-kicker,.gp2-division-kicker,.empresa-mosaic__eyebrow) .elementor-heading-title {
    color: #e4c58f !important;
    -webkit-text-fill-color: #e4c58f !important;
}

/* Footer: no low-contrast gray on charcoal. */
body.empresa-theme .elementor .gianthi-elementor-footer {
    color: #d3c8bd;
}
body.empresa-theme .elementor .gianthi-elementor-footer :is(.elementor-widget-text-editor,.elementor-widget-text-editor p,a) {
    color: #cfc5bb !important;
    -webkit-text-fill-color: #cfc5bb !important;
}
body.empresa-theme .elementor .gianthi-elementor-footer .elementor-heading-title {
    color: #d7b982 !important;
    -webkit-text-fill-color: #d7b982 !important;
}

/* Beige page CTAs use dark copy. Home CTA is intentionally a dark brand block. */
body.empresa-theme .elementor .gianthi-page-cta :is(.elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-text-editor p) {
    color: #2f2822 !important;
    -webkit-text-fill-color: #2f2822 !important;
}
body.empresa-theme .elementor .gianthi-page-cta .elementor-button {
    color: #fffaf3 !important;
    background: #4e4034 !important;
    border-color: #4e4034 !important;
}
body.empresa-theme .elementor .gianthi-home-cta :is(.elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-text-editor p) {
    color: #fffdf9 !important;
    -webkit-text-fill-color: #fffdf9 !important;
}

/* Forms: consistent touch target, readable placeholder and focus. */
body.empresa-theme .elementor :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    max-width: 100%;
    border-radius: 8px;
}
body.empresa-theme .elementor :is(input:not([type="checkbox"]):not([type="radio"]),select) { min-height: 46px; }
body.empresa-theme .elementor textarea { min-height: 130px; }
body.empresa-theme .elementor :is(input,select,textarea):focus-visible {
    outline: 2px solid #b78a4a;
    outline-offset: 2px;
}

/* Cards remain content-driven on smaller screens. */
@media (max-width: 767px) {
    body.empresa-theme .elementor :is(
        .card-segmento,
        .card-perfil,
        .card-representantes,
        .hlx-produto-card,
        .hlx-caminho-item,
        .hlx-timeline-passo,
        .linha-etapa,
        ) {
        min-height: 0 !important;
    }
    body.empresa-theme .elementor :is(.gianthi-page-cta,.gianthi-home-cta) {
        padding-block: 58px !important;
    }
    body.empresa-theme .elementor :is(.gianthi-page-cta,.gianthi-home-cta) .elementor-widget-button,
    body.empresa-theme .elementor :is(.gianthi-page-cta,.gianthi-home-cta) .elementor-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.empresa-theme .site-main .elementor * {
        scroll-behavior: auto !important;
    }
}

/*
 * Correções finais 1.0 — alinhamento de mídia e contraste editorial.
 * Limitadas aos componentes afetados para preservar as edições do Elementor.
 */
body.empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-imagem,
body.empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-imagem > .e-con-inner,
body.empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-produto,
body.empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-produto .elementor-widget-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-imagem > .e-con-inner,
body.empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-produto,
body.empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-produto .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
}
body.empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-produto img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}

body.empresa-theme .elementor .gianthi-empresa-integrated-card {
    background: #79531d !important;
    color: #fffdf9 !important;
}
body.empresa-theme .elementor .gianthi-empresa-integrated-card :is(
    .elementor-heading-title,
    .elementor-widget-text-editor,
    .elementor-widget-text-editor p,
    .structure-media,
    .structure-media p
) {
    color: #fffdf9 !important;
    -webkit-text-fill-color: #fffdf9 !important;
    opacity: 1 !important;
}
body.empresa-theme .elementor .gianthi-empresa-integrated-card .elementor-widget:first-child .elementor-heading-title {
    color: #ead2aa !important;
    -webkit-text-fill-color: #ead2aa !important;
}

@media (max-width: 767px) {
    body.empresa-theme .elementor .hlx-categorias-tabs .hlx-categoria-imagem {
        min-height: 280px !important;
        aspect-ratio: auto !important;
    }
}
