/* KIP — Design tokens (fonte de verdade: globals.css do site Next atual)
   Cadastrar os mesmos valores em Elementor > Site Settings > Global Colors/Fonts. */

:root {
  /* Cores de marca */
  --kip-brown: #85733B;        /* primária */
  --kip-yellow: #D6CD46;       /* destaque */
  --kip-accent: #444581;       /* roxo (no CSS antigo aparecia como dark-green/light-green) */
  --kip-cian: #01515A;         /* secundária */
  --kip-light-cian: #02ADC0;   /* hover / água (== medium-cian) */

  /* Neutros */
  --kip-body: #3A3A3A;         /* texto */
  --kip-white: #FFFFFF;
  --kip-black: #020202;        /* cor de h2 no site atual */

  /* Gradiente de marca (botão primário) */
  --kip-gradient-brand: linear-gradient(90deg, #85733B 0%, #D6CD46 100%);
  /* Overlay do hero (roxo translúcido) */
  --kip-hero-overlay: rgba(68, 69, 129, 0.55);

  /* Layout */
  --kip-max-width: 1300px;
  --kip-pad: 30px;

  /* Tipografia */
  --kip-font-head: 'Montserrat', sans-serif;
  --kip-font-body: 'Nunito', sans-serif;

  /* Raio e sombra */
  --kip-radius-btn: 0.375rem;
  --kip-radius-card: 1rem;
}

body {
  font-family: var(--kip-font-body);
  color: var(--kip-body);
}

h1, h2, h3, h4, h5, h6,
.font-montserrat {
  font-family: var(--kip-font-head);
}

/* Botão primário com o gradiente de marca (reutilizável em widgets/templates) */
.kip-btn-primary {
  display: inline-block;
  background-image: var(--kip-gradient-brand);
  color: var(--kip-white);
  border: 0;
  border-radius: var(--kip-radius-btn);
  font-family: var(--kip-font-head);
  font-weight: 600;
  padding: 8px 16px;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
  cursor: pointer;
}
.kip-btn-primary:hover {
  transform: scale(1.03);
  opacity: 0.97;
}

/* Texto com gradiente de marca */
.kip-text-gradient {
  background: var(--kip-gradient-brand);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Header fixo transparente -> marrom no scroll (idêntico ao site atual) */
.elementor-location-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  background-color: transparent;
}
body.kip-scrolled .elementor-location-header,
body.error404 .elementor-location-header,
body.search .elementor-location-header {
  background-color: #85733B;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
/* Hover dos itens do menu de topo: IGUAL ao site atual — branco levemente esmaecido
   (opacity .8), sem trocar para amarelo (que fica abafado/escuro sobre o marrom do
   header rolado). Vence a regra inline do Elementor (color_menu_item_hover). */
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item:focus {
  color: #FFFFFF !important;
  opacity: 0.8;
  transition: opacity 0.2s ease;
}

/* ===== Escala tipográfica IDÊNTICA ao site (globals.css) — força sobre o Elementor ===== */
body { font-family: 'Nunito', sans-serif; }
h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', sans-serif !important; }
.elementor-widget-heading h1.elementor-heading-title,
h1.elementor-heading-title { font-size: 1.75rem !important; line-height: 2.2rem !important; font-weight: 700 !important; }
.elementor-widget-heading h2.elementor-heading-title,
h2.elementor-heading-title { font-size: 2.625rem !important; line-height: 3.1rem !important; font-weight: 600 !important; }
.elementor-widget-heading h3.elementor-heading-title,
h3.elementor-heading-title { font-size: 1.375rem !important; line-height: 1.9rem !important; font-weight: 600 !important; }
.elementor-widget-heading h4.elementor-heading-title { font-size: 1.125rem !important; line-height: 1.7rem !important; font-weight: 500 !important; }
.elementor-widget-heading h5.elementor-heading-title { font-size: 1rem !important; line-height: 1.4rem !important; font-weight: 500 !important; }
.elementor-widget-heading h6.elementor-heading-title { font-size: 0.875rem !important; line-height: 1.2rem !important; font-weight: 500 !important; }
/* Títulos de seção da Política de Privacidade — menores que o H2 global (especificidade vence o !important). */
.elementor-widget-heading.kip-priv-title h2.elementor-heading-title { font-size: 1.25rem !important; line-height: 1.6rem !important; font-weight: 700 !important; }

/* RESPONSIVO HEADER: no breakpoint do hambúrguer (<=1024px) o CTA do top bar some
   (igual ao site atual, onde "Fale com um especialista" fica dentro do menu mobile).
   Sem isso o botão estoura a altura do header fixo e sobrepõe o hero. */
@media (max-width: 1024px) {
  .elementor-location-header .elementor-widget-button { display: none !important; }
}

/* ===== Submenu Produtos = PAINEL ÚNICO (mega), igual ao site atual (desktop) ===== */
@media (min-width: 1025px) {
  /* nível 1 (Produtos): painel branco único com os 4 grupos lado a lado.
     display:flex sempre (é absolute); a visibilidade fica no opacity/visibility do hover. */
  .elementor-location-header .elementor-nav-menu > li.menu-item-has-children > .sub-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 14px 28px;
    width: max-content !important;
    max-width: 720px;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 20px 24px !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }
  .elementor-location-header .elementor-nav-menu > li.menu-item-has-children:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
  }
  /* cada grupo é uma coluna */
  .elementor-location-header .elementor-nav-menu > li > .sub-menu > li {
    width: auto !important;
    min-width: 150px;
  }
  /* cabeçalho do grupo (segmento): marrom, caixa alta */
  .elementor-location-header .elementor-nav-menu > li > .sub-menu > li > a.elementor-sub-item {
    color: #85733B !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em;
    font-size: 13px !important;
    padding: 4px 0 !important;
  }
  /* nível 3 (produtos do grupo): estático, sempre visível, com borda à esquerda */
  .elementor-location-header .elementor-nav-menu > li > .sub-menu .sub-menu {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 4px 0 0 !important;
    padding: 0 0 0 10px !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-left: 2px solid rgba(133, 115, 59, 0.25) !important;
    border-radius: 0 !important;
  }
  .elementor-location-header .elementor-nav-menu > li > .sub-menu .sub-menu a.elementor-sub-item {
    color: #3A3A3A !important;
    text-transform: none !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    padding: 3px 0 !important;
  }
  .elementor-location-header .elementor-nav-menu > li > .sub-menu .sub-menu a.elementor-sub-item:hover { color: #85733B !important; }
  /* esconde as setinhas dos itens internos do painel (já estão todos abertos) */
  .elementor-location-header .elementor-nav-menu > li > .sub-menu .sub-arrow { display: none !important; }
}
/* Hover/foco dos itens do submenu (dropdown "Produtos"): remove o fundo cinza-escuro padrão
   do Elementor (#3f444b) que ficava "escuro e feio" — texto marrom + fundo transparente,
   limpo no painel branco (desktop) e no dropdown mobile. */
.elementor-location-header .elementor-nav-menu .sub-menu a.elementor-sub-item:hover,
.elementor-location-header .elementor-nav-menu .sub-menu a.elementor-sub-item:focus,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:focus {
  background-color: transparent !important;
  color: #85733B !important;
}
/* Item ATIVO do submenu (página atual): sem caixa cinza feia — marrom + negrito da marca.
   Especificidade espelha a regra base do painel (+.elementor-item-active) para vencê-la. */
.elementor-location-header .elementor-nav-menu > li > .sub-menu .sub-menu a.elementor-sub-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu > li > .sub-menu a.elementor-sub-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu .elementor-sub-item.elementor-item-active {
  background-color: transparent !important;
  color: #85733B !important;
  font-weight: 700 !important;
}
/* ===== Card de produto/destaque — imagem de fundo via WIDGET (containers não aceitam
   classe custom nesta versão; usamos só classes de widget). O container é o .e-con pai
   (já é position:relative + overflow:hidden via settings nativos). ===== */
/* o container pai (e-con) que contém a imagem de fundo precisa ancorar o absolute */
.e-con:has(> .elementor-widget.kip-prod-bg) { position: relative; }
.elementor-widget.kip-prod-bg {
  position: absolute; inset: 0; margin: 0; z-index: 0; width: 100%; height: 100%;
}
.kip-prod-bg > .elementor-widget-container { position: relative; width: 100%; height: 100%; }
.kip-prod-bg > .elementor-widget-container > a,
.kip-prod-bg img { display: block; width: 100%; height: 100%; }
.kip-prod-bg img { object-fit: cover; object-position: center bottom; border-radius: 0 !important; }
/* overlay gradiente (legibilidade do texto) dentro do próprio widget de imagem */
/* Overlay gradiente — aplicado direto em .kip-prod-bg::after porque o "Optimized Markup"
   do Elementor remove o .elementor-widget-container (a <img> fica filha direta). Cobre as
   duas estruturas (com e sem widget-container). Gradiente de baixo p/ cima (= site atual
   from-transparent to-black/70): imagem nítida no topo, escura só na base do texto. */
.kip-prod-bg::after,
.kip-prod-bg > .elementor-widget-container::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,0.7) 100%);
}
/* Bloco esquerdo "Mais cobertura" usa overlay chapado (igual ao React bg-black/40). */
.kip-prod-bg--solid::after,
.kip-prod-bg--solid > .elementor-widget-container::after { background: rgba(0,0,0,0.45); }
/* Card do CARROSSEL de produtos (loop item) — texto fica no TOPO, então overlay CHAPADO
   black/60 (igual ao site atual), não o gradiente de baixo do pré-footer. */
.e-loop-item .kip-prod-bg::after,
.e-loop-item .kip-prod-bg > .elementor-widget-container::after {
  background: rgba(0,0,0,0.6);
}

/* Carrossel de produtos (home): FADE nas bordas — os cards entrando/saindo ficam quase
   transparentes na transição. Mask horizontal no .swiper (viewport fixo com overflow hidden);
   os botões de navegação ficam FORA do .swiper, então não são mascarados. */
.elementor-widget-loop-carousel .swiper {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 3%, #000 97%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 3%, #000 97%, transparent 100%);
}
/* Rolagem CONTÍNUA: timing linear no track (sem ease-out "pulsando" entre os slides). */
.elementor-widget-loop-carousel .swiper-wrapper {
  transition-timing-function: linear !important;
}
/* conteúdo acima da imagem/overlay */
.kip-prod-z { position: relative; z-index: 2; }

/* ===== Formulário da home — campos com linha embaixo + ícone (igual ao site atual) ===== */
.kip-form .elementor-field-group { position: relative; margin-bottom: 6px; }
.kip-form .elementor-field-group input:not([type="checkbox"]):not([type="radio"]),
.kip-form .elementor-field-group .elementor-field-textual {
  background: transparent !important; border: 0 !important; border-bottom: 1px solid #01515A !important;
  border-radius: 0 !important; padding: 12px 0 12px 36px !important; color: #111827 !important;
  font-size: 16px !important; box-shadow: none !important; height: auto !important;
}
.kip-form .elementor-field-group input::placeholder { color: #4B5563; opacity: 1; }
.kip-form .elementor-field-group input:focus { border-bottom-color: #02ADC0 !important; }
/* ícones (lucide) antes de cada campo, por field group */
.kip-form .elementor-field-group-nome::before,
.kip-form .elementor-field-group-email::before,
.kip-form .elementor-field-group-telefone::before {
  content: ""; position: absolute; left: 2px; top: 50%; transform: translateY(-50%);
  width: 22px; height: 22px; background-repeat: no-repeat; background-size: contain; z-index: 1; opacity: .85;
}
.kip-form .elementor-field-group-nome::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A3A3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.kip-form .elementor-field-group-email::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A3A3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 5L2 7'/%3E%3C/svg%3E"); }
.kip-form .elementor-field-group-telefone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A3A3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.81.36 1.6.7 2.34a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.74a2 2 0 0 1 2.11-.45c.74.34 1.53.57 2.34.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
/* botão full-width gradiente */
.kip-form .elementor-field-type-submit { margin-top: 12px; }
.kip-form .elementor-field-type-submit .elementor-button { width: 100% !important; justify-content: center; padding: 14px !important; font-size: 16px !important; }

/* Setinha "abrir" do menu (Produtos) — caret-down visível ao lado do item. */
.elementor-location-header .elementor-nav-menu .sub-arrow {
  display: inline-flex !important; align-items: center; justify-content: center;
  font-size: 11px !important; margin-left: 5px; opacity: 0.9;
}
.elementor-location-header .elementor-nav-menu .sub-arrow svg,
.elementor-location-header .elementor-nav-menu .sub-arrow .e-font-icon-svg {
  width: 10px !important; height: 10px !important;
  min-width: 10px !important; flex: 0 0 10px !important;
  fill: currentColor;
}
.elementor-widget-text-editor, .elementor-widget-text-editor p { font-size: 1rem !important; line-height: 1.4rem !important; font-weight: 400; }
/* Hero usa a classe .h1-hero (clamp), sobrepondo o h1 padrão */
.h1-hero.elementor-heading-title,
.h1-hero { font-size: clamp(32px, 4vw, 44px) !important; line-height: 1.25 !important; font-weight: 800 !important; }
/* Botão gradiente da marca */
.btn-primary,
a.kip-btn-primary,
.kip-btn-primary .elementor-button,
.elementor-button.kip-btn-primary,
.elementor-widget-button.kip-btn-primary .elementor-button {
  background: linear-gradient(90deg, #85733B, #D6CD46) !important;
  background-color: transparent !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 0.375rem !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
  font-family: 'Nunito', sans-serif !important;
  display: inline-block !important;
  width: auto !important;
  transition: transform 0.3s ease, opacity 0.3s ease !important;
}
.btn-primary:hover,
.kip-btn-primary .elementor-button:hover,
.elementor-button.kip-btn-primary:hover { transform: scale(1.03); }
/* A div do widget recebe a classe kip-btn-primary no Elementor — limpar o gradiente herdado
   da classe-base p/ que só o <a> tenha o gradiente (evita a barra dourada de largura total) */
.elementor-widget-button.kip-btn-primary,
.elementor-widget.kip-btn-primary { background: transparent !important; background-image: none !important; }

/* Imagem do Fernando no hero — widget 496px ancorado embaixo/direita (igual ao site real) */
.kip-hero-fernando { align-self: flex-end; margin-top: auto; }
.kip-hero-fernando { width: 496px !important; max-width: 100%; align-self: flex-end; }
.kip-hero-fernando img {
  display: block;
  width: 100% !important;
  max-width: 496px !important;
  height: 539px !important;        /* mesma caixa do site real (496x539) */
  margin-left: auto;
  margin-right: 0;
  object-fit: contain;
  object-position: bottom right;
}
@media (max-width: 1024px) { .kip-hero-fernando img { height: 420px !important; } }
/* Fernando agora é a imagem de overlay (::before) do container pai do hero (.kip-hero).
   Reduz um pouco a altura (88% da altura do hero) mantendo-o ancorado no rodapé (xpos 82% / ypos 100%). */
.kip-hero::before {
  background-size: auto 80% !important;
}
.text-brand-yellow { color: #D6CD46 !important; }
.text-accent { color: #444581 !important; }
.bg-accent { background-color: #444581 !important; }

/* ===== Marca: links e detalhes no padrão (sem rosa #CC3366, sem verde/cian) ===== */
/* Link padrão: marrom de marca; hover tende ao amarelo do gradiente.
   Regras de nav/footer/botões têm especificidade própria e não são afetadas. */
body a { color: #85733B; }
body a:hover, body a:focus { color: #D6CD46; }
/* Links dentro de conteúdo (texto/post): TEXTO com o gradiente da marca + sublinhado marrom */
.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a,
.entry-content a {
  background: linear-gradient(90deg, #85733B, #D6CD46);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-decoration: underline;
  text-decoration-color: #85733B;
  transition: opacity 0.2s ease;
}
.elementor-widget-text-editor a:hover,
.elementor-widget-theme-post-content a:hover,
.entry-content a:hover { opacity: 0.8; }
/* Centraliza um widget de largura fixa dentro de um flex-column (margin auto = centraliza no flexbox) */
.elementor-widget.kip-center-block { margin-left: auto !important; margin-right: auto !important; }

/* ===== Blog: cards do GRID (loop-grid) todos do mesmo tamanho. Escopado a loop-grid
   para NÃO afetar o carrossel de produtos (loop-carousel), que tem layout próprio. ===== */
.elementor-widget-loop-grid .e-loop-item > .elementor-element { height: 100%; }
.elementor-widget-loop-grid .e-loop-item .elementor-widget-image img {
  aspect-ratio: 16 / 10; object-fit: cover; width: 100%; height: auto; display: block;
}

/* ===== Blog: card de DESTAQUE horizontal (post mais recente no topo) =====
   Escopo pelo grid (.kip-blog-featured-grid), que é a classe garantidamente aplicada.
   As classes de widget (kip-feat-*) também são aplicadas; as de container não são,
   então o layout row/50% vem das settings inline do Elementor. */
/* Cartão (item do loop) e seus contêineres ocupam toda a largura e mesma altura */
.kip-blog-featured-grid .e-loop-item,
.kip-blog-featured-grid .elementor-grid-item { width: 100%; }
.kip-blog-featured-grid .e-loop-item > .e-con,
.kip-blog-featured-grid .e-loop-item > .e-con > .e-con { align-items: stretch; }
/* Coluna da imagem: imagem cobre toda a altura do card (anula o aspect-ratio 16/10 do grid) */
.kip-blog-featured-grid .kip-feat-img,
.kip-blog-featured-grid .kip-feat-img .elementor-widget-container,
.kip-blog-featured-grid .kip-feat-img a { height: 100%; }
.kip-blog-featured-grid .kip-feat-img img {
  aspect-ratio: auto !important;
  width: 100% !important; height: 100% !important;
  min-height: 340px;
  object-fit: cover !important; display: block;
}
/* Título do destaque: limita a 3 linhas */
.kip-blog-featured-grid .kip-feat-title .elementor-heading-title,
.kip-blog-featured-grid .kip-feat-title {
  display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
/* Excerpt do destaque: limita a 4 linhas */
.kip-blog-featured-grid .kip-feat-excerpt p {
  display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin: 0;
}
/* "Ler mais" do destaque: link marrom sem fundo de botão */
.kip-feat-readmore .elementor-button,
.elementor-button.kip-feat-readmore,
a.kip-feat-readmore {
  background: transparent !important; background-image: none !important;
  color: #85733B !important; padding: 0 !important; -webkit-text-fill-color: #85733B;
}
.kip-feat-readmore .elementor-button:hover,
.elementor-button.kip-feat-readmore:hover,
a.kip-feat-readmore:hover { color: #D6CD46 !important; -webkit-text-fill-color: #D6CD46; opacity: 1 !important; }
/* Empilha o card de destaque no mobile (as duas colunas internas viram 100%) */
@media (max-width: 767px) {
  .kip-blog-featured-grid .e-loop-item > .e-con { flex-direction: column !important; }
  .kip-blog-featured-grid .e-loop-item > .e-con > .e-con { width: 100% !important; }
  .kip-blog-featured-grid .kip-feat-img img { min-height: 220px; }
}
/* Título: reserva e limita a 2 linhas (só no grid do blog) */
.elementor-widget-loop-grid .e-loop-item .elementor-widget-heading .elementor-heading-title {
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.5em;
}
/* Excerpt (text-editor após o título): reserva e limita a 3 linhas (só no grid do blog) */
.elementor-widget-loop-grid .e-loop-item .elementor-widget-heading + .elementor-widget-text-editor p {
  display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden; margin: 0; min-height: 4.2em;
}
/* Botão "Ler mais" sempre alinhado no rodapé do card (grid do blog) */
.elementor-widget-loop-grid .e-loop-item .elementor-widget-button { margin-top: auto; }
/* Mais espaço acima da paginação do blog */
.elementor-widget-loop-grid .elementor-pagination { margin-top: 50px; }
/* Pré-footer: H3 dos cards em peso 700 (real .font-bold vence o h3{600} do tema) */
.pf-card-title.elementor-heading-title { font-weight: 700 !important; }

/* ===== Formulário da home: inputs underline transparentes (igual ao real, porém marrom de marca em vez de cian) ===== */
.elementor-widget-form .elementor-field-group .elementor-field-textual {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #85733B !important;
  border-radius: 0 !important;
  padding: 6px 0 12px !important;
  color: #1f2937 !important;
  box-shadow: none !important;
}
.elementor-widget-form .elementor-field-textual::placeholder { color: #6B7280 !important; opacity: 1; }
.elementor-widget-form .elementor-field-textual:focus { border-bottom-color: #D6CD46 !important; }
/* Botão do form ocupa 100% (exceção à regra width:auto do kip-btn-primary) + gradiente da marca */
.elementor-widget-form .elementor-button,
.elementor-widget-form button.elementor-button {
  width: 100% !important; justify-content: center !important;
  background: linear-gradient(90deg, #85733B, #D6CD46) !important;
  background-color: transparent !important;
  color: #ffffff !important; border: 0 !important;
  border-radius: 0.375rem !important; font-weight: 600 !important;
  font-family: 'Nunito', sans-serif !important;
}
.elementor-widget-form .elementor-button:hover { background: linear-gradient(90deg, #6f5f30, #c4bb35) !important; }
/* Checkbox de política: texto menor + accent marrom */
.elementor-field-type-acceptance .elementor-field-subgroup,
.elementor-field-type-acceptance label { font-size: 12px !important; color: rgba(0, 0, 0, 0.7) !important; }
.elementor-field-type-acceptance input[type="checkbox"] { accent-color: #85733B; }
/* Hover de botão da marca: realça o gradiente (sem rosa) */
.kip-btn-primary .elementor-button:hover,
.elementor-button.kip-btn-primary:hover,
a.kip-btn-primary:hover {
  background: linear-gradient(90deg, #6f5f30, #c4bb35) !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Auditoria responsiva: impede scroll horizontal causado por carrossel/menu
   off-canvas no mobile (clip preserva position:sticky/fixed). */
html, body { overflow-x: clip; }
