/* ==========================================================
   ATREVE SEARCH 1.3.0
   Front office — PC/Tablet + Mobile independentes
   ========================================================== */

.atreve-search {
  position: relative;
  display: block;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  font-family: var(--as-font-family, 'Poppins', Arial, sans-serif);
  z-index: 1200;
}
.atreve-search,
.atreve-search * {
  box-sizing: border-box;
}
/* Integração com AP Page Builder/Leo: o módulo nunca cria um limite próprio
   quando a largura é definida pela coluna/Área do tema. */
.ApModule .atreve-search,
.ap-column .atreve-search,
[class*="ApColumn"] .atreve-search,
[class*="ap-column"] .atreve-search {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
.atreve-search svg {
  display: block;
  width: var(--as-submit-icon, 20px);
  height: var(--as-submit-icon, 20px);
  fill: currentColor;
}
.atreve-search-form {
  position: relative;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
}
.atreve-search-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.atreve-search-input {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  height: var(--as-input-h, 46px);
  padding: 0 calc(var(--as-submit-w, 34px) + var(--as-submit-right, 5px) + var(--as-input-pad-right, 12px)) 0 var(--as-input-pad-left, 18px);
  border: var(--as-border-width, 1px) solid var(--as-border, #eadde0);
  border-radius: var(--as-input-radius, 999px);
  background: var(--as-bg, #fff);
  color: var(--as-text, #24181c);
  font-family: var(--as-font-family, 'Poppins', Arial, sans-serif);
  font-size: var(--as-input-size, 14px);
  font-weight: var(--as-font-weight, 400);
  outline: 0;
  box-shadow: var(--as-shadow, none);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.atreve-search-input::placeholder {
  color: var(--as-placeholder, #8b8185);
  opacity: 1;
}
.atreve-search-input:focus {
  border-color: var(--as-accent, #930024);
  box-shadow: var(--as-shadow, none), var(--as-focus-ring, 0 0 0 3px rgba(147, 0, 36, .07));
}

/* Botão da lupa — largura e altura totalmente independentes */
.atreve-search-submit {
  position: absolute;
  right: var(--as-submit-right, 5px);
  top: 50%;
  transform: translateY(-50%) scale(1);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--as-submit-w, 34px);
  height: var(--as-submit-h, 34px);
  padding: 0;
  border: var(--as-submit-border-width, 0px) solid var(--as-submit-border-color, #930024);
  border-radius: var(--as-submit-radius, 999px);
  background: var(--as-submit-bg, transparent);
  color: var(--as-submit-color, #930024);
  cursor: pointer;
  overflow: hidden;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.atreve-search-submit:hover,
.atreve-search-submit:focus-visible {
  background: var(--as-submit-hover-bg, #930024);
  color: var(--as-submit-hover-color, #fff);
  transform: translateY(-50%) scale(var(--as-submit-scale, 1.05));
}
.atreve-search-submit-label {
  display: none;
  margin: 0;
  font: inherit;
  font-size: max(10px, calc(var(--as-input-size, 14px) - 2px));
  font-weight: 600;
  white-space: nowrap;
}
.atreve-search-submit[data-content="icon_text"] {
  gap: 7px;
}
.atreve-search-submit[data-content="icon_text"] .atreve-search-submit-label,
.atreve-search-submit[data-content="text"] .atreve-search-submit-label {
  display: inline-block;
}
.atreve-search-submit[data-content="text"] svg {
  display: none;
}
.atreve-search-spinner {
  display: none;
  position: absolute;
  right: calc(var(--as-submit-right, 5px) + var(--as-submit-w, 34px) + 6px);
  width: 16px;
  height: 16px;
  border: 2px solid rgba(147, 0, 36, .2);
  border-top-color: var(--as-accent, #930024);
  border-radius: 50%;
  animation: as-spin .7s linear infinite;
}
.atreve-search.is-loading .atreve-search-spinner { display: block; }
@keyframes as-spin { to { transform: rotate(360deg); } }

/* ==========================================================
   PC / TABLET
   ========================================================== */
.atreve-search-desktop {
  display: block;
  min-width: 0;
  transform: translate(var(--as-offset-x, 0px), var(--as-offset-y, 0px));
}
.atreve-search-desktop[data-width-mode="container"] {
  width: 100% !important;
  max-width: var(--as-input-max-w, none) !important;
  flex: 1 1 100%;
}
.atreve-search-desktop[data-width-mode="custom"] {
  width: var(--as-input-w, 450px);
  max-width: var(--as-input-max-w, 100%);
}
.atreve-search-desktop .atreve-search-form,
.atreve-search-desktop .atreve-search-input-wrap {
  width: 100% !important;
  max-width: none !important;
}
.atreve-search-desktop[data-align="left"] { margin-left: 0; margin-right: auto; }
.atreve-search-desktop[data-align="center"] { margin-left: auto; margin-right: auto; }
.atreve-search-desktop[data-align="right"] { margin-left: auto; margin-right: 0; }

.atreve-search-desktop .atreve-search-results {
  position: absolute;
  top: calc(100% + var(--as-drop-gap, 8px));
  width: var(--as-drop-w, 560px);
  max-width: min(var(--as-drop-w, 560px), calc(100vw - 24px));
}
.atreve-search-desktop[data-dropdown-width-mode="same"] .atreve-search-results {
  width: 100%;
  max-width: min(100%, calc(100vw - 24px));
}
.atreve-search-desktop[data-align="left"] .atreve-search-results {
  left: 0;
  right: auto;
  transform: translateX(var(--as-clamp-shift, 0px));
}
.atreve-search-desktop[data-align="center"] .atreve-search-results {
  left: 50%;
  right: auto;
  transform: translateX(calc(-50% + var(--as-clamp-shift, 0px)));
}
.atreve-search-desktop[data-align="right"] .atreve-search-results {
  left: auto;
  right: 0;
  transform: translateX(var(--as-clamp-shift, 0px));
}

/* ==========================================================
   DROPDOWN / SUGESTÕES
   O scroll horizontal é bloqueado em todos os níveis.
   ========================================================== */
.atreve-search-results {
  display: none;
  min-width: 0;
  background: var(--as-bg, #fff);
  border: var(--as-drop-border-width, 1px) solid var(--as-border, #eadde0);
  border-radius: var(--as-drop-radius, 16px);
  box-shadow: var(--as-drop-shadow, 0 18px 44px rgba(44, 18, 27, .16));
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: none;
}
.atreve-search-results.is-open { display: block; }
.atreve-search-results *,
.atreve-search-result-list,
.atreve-search-result-item,
.atreve-search-result-link,
.atreve-search-result-body {
  min-width: 0;
  max-width: 100%;
}
.atreve-search-result-list {
  width: 100%;
  margin: 0;
  padding:
    var(--as-drop-pad-top, 10px)
    var(--as-drop-pad-right, 10px)
    var(--as-drop-pad-bottom, 10px)
    var(--as-drop-pad-left, 10px);
  list-style: none;
  max-height: min(var(--as-drop-max-h, 520px), 70vh);
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  overscroll-behavior-x: none;
  scrollbar-gutter: stable;
}
.atreve-search-result-item {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.atreve-search-result-link {
  display: flex;
  align-items: center;
  gap: var(--as-item-gap, 12px);
  width: 100%;
  min-height: var(--as-item-min-h, 72px);
  padding:
    var(--as-item-pad-top, 10px)
    var(--as-item-pad-right, 12px)
    var(--as-item-pad-bottom, 10px)
    var(--as-item-pad-left, 12px);
  border-bottom: var(--as-item-divider-width, 0px) solid var(--as-item-divider-color, #f0e7ea);
  border-radius: var(--as-item-radius, 10px);
  color: var(--as-text, #24181c);
  text-decoration: none !important;
  white-space: normal;
  overflow: hidden;
  transition: background .18s ease;
}
.atreve-search-result-link:hover,
.atreve-search-result-link.is-active {
  background: var(--as-hover, #fff5f7);
  color: var(--as-text, #24181c);
}
.atreve-search-result-item:last-child .atreve-search-result-link {
  border-bottom-width: 0;
}

/* Miniatura — largura/altura, margem, raio e object-fit configuráveis */
.atreve-search-result-image {
  flex: 0 0 var(--as-image-w, 58px);
  width: var(--as-image-w, 58px);
  height: var(--as-image-h, 58px);
  margin-top: var(--as-image-margin-top, 0px);
  margin-bottom: var(--as-image-margin-bottom, 0px);
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  border-radius: var(--as-image-radius, 10px);
  background: var(--as-image-bg, #f6f4f5);
  overflow: hidden;
}
.atreve-search-result-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--as-image-fit, contain);
}
.atreve-search-result-body {
  flex: 1 1 auto;
  overflow: hidden;
}
.atreve-search-result-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: var(--as-text, #24181c);
  font-family: var(--as-font-family, 'Poppins', Arial, sans-serif);
  font-size: var(--as-title-size, 12px);
  font-weight: var(--as-title-weight, 500);
  line-height: 1.35;
}
.atreve-search-result-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 4px;
  overflow: hidden;
  color: var(--as-meta-color, #766a6e);
  font-size: 10px;
  line-height: 1.3;
}
.atreve-search-result-price {
  margin-top: 5px;
  color: var(--as-accent, #930024);
  font-family: var(--as-font-family, 'Poppins', Arial, sans-serif);
  font-size: var(--as-price-size, 12px);
  font-weight: var(--as-price-weight, 600);
}
.atreve-search-result-arrow {
  flex: 0 0 auto;
  color: var(--as-accent, #930024);
  font-size: 23px;
  font-weight: 300;
  transition: transform .18s ease;
}
.atreve-search-result-link:hover .atreve-search-result-arrow,
.atreve-search-result-link.is-active .atreve-search-result-arrow {
  transform: translateX(3px);
}

/* Botão "Ver todos os resultados" — tamanho totalmente configurável */
.atreve-search-view-all {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--as-viewall-w, 70%);
  max-width: calc(100% - 16px);
  min-height: var(--as-viewall-h, 38px);
  height: var(--as-viewall-h, 38px);
  margin: var(--as-viewall-mt, 8px) auto var(--as-viewall-mb, 8px);
  padding: 0 14px;
  border: 0;
  border-radius: var(--as-viewall-radius, 999px);
  background: var(--as-viewall-bg, #930024);
  color: var(--as-viewall-color, #fff) !important;
  font-family: var(--as-font-family, 'Poppins', Arial, sans-serif);
  font-size: var(--as-viewall-size, 10px);
  font-weight: var(--as-viewall-weight, 600);
  line-height: 1;
  letter-spacing: .4px;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
  overflow: hidden;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.atreve-search-view-all:hover,
.atreve-search-view-all:focus-visible {
  background: var(--as-viewall-hover-bg, #720019);
  color: var(--as-viewall-hover-color, #fff) !important;
  transform: scale(var(--as-viewall-scale, 1.02));
}
.atreve-search-message {
  padding: 18px 14px;
  color: #766a6e;
  font-size: 12px;
  text-align: center;
}

/* ==========================================================
   MOBILE
   ========================================================== */
.atreve-search-mobile {
  display: none;
  position: relative;
  min-width: 0;
}
.atreve-search-mobile[data-width-mode="container"] {
  width: 100% !important;
  max-width: var(--as-input-max-w, none) !important;
}
.atreve-search-mobile[data-width-mode="custom"] {
  width: var(--as-input-w, 100%);
  max-width: var(--as-input-max-w, 100%);
}
.atreve-search-mobile[data-align="left"] { margin-left: 0; margin-right: auto; }
.atreve-search-mobile[data-align="center"] { margin-left: auto; margin-right: auto; }
.atreve-search-mobile[data-align="right"] { margin-left: auto; margin-right: 0; }
.atreve-search-mobile[data-align="left"] .atreve-search-mobile-trigger { margin-left: 0; margin-right: auto; }
.atreve-search-mobile[data-align="center"] .atreve-search-mobile-trigger { margin-left: auto; margin-right: auto; }
.atreve-search-mobile[data-align="right"] .atreve-search-mobile-trigger { margin-left: auto; margin-right: 0; }
.atreve-search-mobile .atreve-search-mobile-trigger {
  transform: translate(var(--as-offset-x, 0px), var(--as-offset-y, 0px));
}
body.atreve-search-mobile-open { overflow: hidden; }
.atreve-search-mobile-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--as-accent, #930024);
  cursor: pointer;
}
.atreve-search-mobile-panel { display: none; }
.atreve-search-mobile-panel.is-open { display: block; }
.atreve-search-mobile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.atreve-search-mobile-heading {
  font-family: var(--as-font-family, 'Poppins', Arial, sans-serif);
  font-size: 20px;
  font-weight: 600;
  color: var(--as-text, #24181c);
}
.atreve-search-mobile-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: var(--as-border-width, 1px) solid var(--as-border, #eadde0);
  border-radius: 50%;
  background: #fff;
  color: var(--as-text, #24181c);
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}

.atreve-search[data-mobile-layout="fullscreen"] .atreve-search-mobile-panel {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  padding: 18px 16px 28px;
  background: var(--as-bg, #fff);
  overflow-y: auto;
  overflow-x: hidden;
}
.atreve-search[data-mobile-layout="fullscreen"] .atreve-search-mobile-panel .atreve-search-form {
  transform: translate(var(--as-offset-x, 0px), var(--as-offset-y, 0px));
}
.atreve-search[data-mobile-layout="fullscreen"] .atreve-search-mobile[data-width-mode="container"] .atreve-search-form {
  width: 100% !important;
  max-width: var(--as-input-max-w, none) !important;
}
.atreve-search[data-mobile-layout="fullscreen"] .atreve-search-mobile[data-width-mode="custom"] .atreve-search-form {
  width: var(--as-input-w, 100%) !important;
  max-width: var(--as-input-max-w, 100%) !important;
}
.atreve-search[data-mobile-layout="fullscreen"] .atreve-search-mobile[data-align="left"] .atreve-search-mobile-panel .atreve-search-form { margin-left: 0; margin-right: auto; }
.atreve-search[data-mobile-layout="fullscreen"] .atreve-search-mobile[data-align="center"] .atreve-search-mobile-panel .atreve-search-form { margin-left: auto; margin-right: auto; }
.atreve-search[data-mobile-layout="fullscreen"] .atreve-search-mobile[data-align="right"] .atreve-search-mobile-panel .atreve-search-form { margin-left: auto; margin-right: 0; }
.atreve-search[data-mobile-layout="fullscreen"] .atreve-search-mobile-panel .atreve-search-results {
  position: static;
  width: min(var(--as-drop-w, 100%), 100%);
  margin-top: var(--as-drop-gap, 8px);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.atreve-search[data-mobile-layout="fullscreen"] .atreve-search-result-list {
  max-height: var(--as-drop-max-h, 520px);
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.atreve-search[data-mobile-layout="fullscreen"] .atreve-search-result-link {
  border-bottom: var(--as-item-divider-width, 0px) solid var(--as-item-divider-color, var(--as-border, #eadde0));
}

.atreve-search[data-mobile-layout="dropdown"] .atreve-search-mobile { position: relative; }
.atreve-search[data-mobile-layout="dropdown"] .atreve-search-mobile-panel {
  position: absolute;
  top: calc(100% + var(--as-drop-gap, 8px));
  width: var(--as-drop-w, 520px);
  max-width: calc(100vw - 24px);
  padding: 12px;
  background: var(--as-bg, #fff);
  border: var(--as-drop-border-width, 1px) solid var(--as-border, #eadde0);
  border-radius: var(--as-drop-radius, 14px);
  box-shadow: var(--as-drop-shadow, 0 18px 44px rgba(44, 18, 27, .16));
  overflow-x: hidden;
}
.atreve-search[data-mobile-layout="dropdown"] .atreve-search-mobile[data-dropdown-width-mode="same"] .atreve-search-mobile-panel {
  width: 100%;
}
.atreve-search[data-mobile-layout="dropdown"] .atreve-search-mobile[data-align="left"] .atreve-search-mobile-panel {
  left: var(--as-offset-x, 0px);
  right: auto;
  margin-top: var(--as-offset-y, 0px);
}
.atreve-search[data-mobile-layout="dropdown"] .atreve-search-mobile[data-align="center"] .atreve-search-mobile-panel {
  left: 50%;
  right: auto;
  transform: translateX(calc(-50% + var(--as-offset-x, 0px)));
  margin-top: var(--as-offset-y, 0px);
}
.atreve-search[data-mobile-layout="dropdown"] .atreve-search-mobile[data-align="right"] .atreve-search-mobile-panel {
  left: auto;
  right: calc(0px - var(--as-offset-x, 0px));
  margin-top: var(--as-offset-y, 0px);
}
.atreve-search[data-mobile-layout="dropdown"] .atreve-search-mobile-heading { font-size: 15px; }
.atreve-search[data-mobile-layout="dropdown"] .atreve-search-mobile-close { width: 32px; height: 32px; font-size: 22px; }
.atreve-search[data-mobile-layout="dropdown"] .atreve-search-results {
  position: static;
  width: 100%;
  margin-top: 8px;
  border: 0;
  box-shadow: none;
}

/* ==========================================================
   Página de resultados
   O cartão/HTML vem do próprio tema; aqui apenas controlamos
   espaçamento, nº de colunas e paginação do módulo.
   ========================================================== */
.atreve-search-page {
  padding: 16px 0 40px;
  font-family: 'Poppins', Arial, sans-serif;
}
.atreve-search-page-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 18px;
  color: #766a6e;
  font-size: 12px;
}
.atreve-search-page-query,
.atreve-search-page-count { margin: 0; }
.atreve-search-page-query strong { color: #930024; font-weight: 600; }
.atreve-search-empty-page {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 28px;
  border: 1px solid #eadde0;
  border-radius: 18px;
  background: #fff;
  color: #766a6e;
}
.atreve-search-empty-page strong { color: #24181c; font-size: 16px; }

/* O Leo usa colunas Bootstrap. Dentro da pesquisa o módulo controla apenas a largura das colunas, sem tocar no cartão. */
.atreve-search-theme-products .product_list > .row,
.atreve-search-theme-products .products.row {
  display: flex;
  flex-wrap: wrap;
}
.atreve-search-theme-products .ajax_block_product {
  flex: 0 0 calc(100% / var(--as-cols-desktop, 5)) !important;
  max-width: calc(100% / var(--as-cols-desktop, 5)) !important;
  width: calc(100% / var(--as-cols-desktop, 5)) !important;
}
.atreve-search-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 32px;
}
.atreve-search-page-number,
.atreve-search-page-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #eadde0;
  border-radius: 999px;
  background: #fff;
  color: #24181c !important;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none !important;
}
.atreve-search-page-number.active,
.atreve-search-page-number:hover,
.atreve-search-page-nav:hover {
  border-color: #930024;
  background: #930024;
  color: #fff !important;
}

@media (max-width: 1199px) and (min-width: 768px) {
  .atreve-search-theme-products .ajax_block_product {
    flex-basis: calc(100% / var(--as-cols-tablet, 3)) !important;
    max-width: calc(100% / var(--as-cols-tablet, 3)) !important;
    width: calc(100% / var(--as-cols-tablet, 3)) !important;
  }
}

@media (max-width: 767px) {
  .atreve-search-desktop { display: none !important; }
  .atreve-search-mobile { display: block; }
  .atreve-search-page { padding-top: 12px; }
  .atreve-search-theme-products .ajax_block_product {
    flex-basis: calc(100% / var(--as-cols-mobile, 2)) !important;
    max-width: calc(100% / var(--as-cols-mobile, 2)) !important;
    width: calc(100% / var(--as-cols-mobile, 2)) !important;
  }
  .atreve-search-result-title { font-size: var(--as-title-size, 14px); }
  .atreve-search-result-price { font-size: var(--as-price-size, 13px); }
}


/* ==========================================================
   v1.2.1 — STYLE LOCK / PROTEÇÃO CONTRA CSS DO TEMA
   As opções guardadas no Atreve Search têm prioridade visual.
   A largura "Área do tema" continua a respeitar a Área do Builder,
   mas todos os wrappers internos passam a usar 100% dessa Área.
   ========================================================== */
.atreve-search,
.atreve-search > .atreve-search-desktop,
.atreve-search .atreve-search-form,
.atreve-search .atreve-search-input-wrap {
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.atreve-search {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.atreve-search .atreve-search-desktop[data-width-mode="container"],
.atreve-search .atreve-search-mobile[data-width-mode="container"] {
  width: 100% !important;
  max-width: var(--as-input-max-w, none) !important;
  flex: 1 1 100% !important;
}
.atreve-search .atreve-search-desktop[data-width-mode="custom"],
.atreve-search .atreve-search-mobile[data-width-mode="custom"] {
  width: var(--as-input-w, 100%) !important;
  max-width: var(--as-input-max-w, 100%) !important;
}
.atreve-search .atreve-search-form,
.atreve-search .atreve-search-input-wrap {
  width: 100% !important;
  max-width: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.atreve-search input.atreve-search-input[type="search"],
.atreve-search input.atreve-search-input[type="text"] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: var(--as-input-h, 46px) !important;
  min-height: var(--as-input-h, 46px) !important;
  margin: 0 !important;
  padding: 0 calc(var(--as-submit-w, 34px) + var(--as-submit-right, 5px) + var(--as-input-pad-right, 12px)) 0 var(--as-input-pad-left, 18px) !important;
  border-width: var(--as-border-width, 1px) !important;
  border-style: solid !important;
  border-color: var(--as-border, #eadde0) !important;
  border-radius: var(--as-input-radius, 999px) !important;
  background: var(--as-bg, #fff) !important;
  background-image: none !important;
  color: var(--as-text, #24181c) !important;
  font-family: var(--as-font-family, 'Poppins', Arial, sans-serif) !important;
  font-size: var(--as-input-size, 14px) !important;
  font-weight: var(--as-font-weight, 400) !important;
  line-height: 1 !important;
  outline: 0 !important;
  box-shadow: var(--as-shadow, none) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.atreve-search input.atreve-search-input::placeholder {
  color: var(--as-placeholder, #8b8185) !important;
  opacity: 1 !important;
}
.atreve-search input.atreve-search-input:focus {
  border-color: var(--as-accent, #930024) !important;
  box-shadow: var(--as-shadow, none), var(--as-focus-ring, 0 0 0 3px rgba(147,0,36,.07)) !important;
}
.atreve-search input.atreve-search-input::-webkit-search-decoration,
.atreve-search input.atreve-search-input::-webkit-search-cancel-button,
.atreve-search input.atreve-search-input::-webkit-search-results-button,
.atreve-search input.atreve-search-input::-webkit-search-results-decoration {
  -webkit-appearance: none !important;
  display: none !important;
}
.atreve-search button.atreve-search-submit {
  position: absolute !important;
  right: var(--as-submit-right, 5px) !important;
  top: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--as-submit-w, 34px) !important;
  min-width: var(--as-submit-w, 34px) !important;
  max-width: var(--as-submit-w, 34px) !important;
  height: var(--as-submit-h, 34px) !important;
  min-height: var(--as-submit-h, 34px) !important;
  max-height: var(--as-submit-h, 34px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-width: var(--as-submit-border-width, 0px) !important;
  border-style: solid !important;
  border-color: var(--as-submit-border-color, #930024) !important;
  border-radius: var(--as-submit-radius, 999px) !important;
  background: var(--as-submit-bg, transparent) !important;
  background-image: none !important;
  color: var(--as-submit-color, #930024) !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transform: translateY(-50%) scale(1) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.atreve-search button.atreve-search-submit:hover,
.atreve-search button.atreve-search-submit:focus-visible {
  background: var(--as-submit-hover-bg, #930024) !important;
  color: var(--as-submit-hover-color, #fff) !important;
  transform: translateY(-50%) scale(var(--as-submit-scale, 1.05)) !important;
}
.atreve-search button.atreve-search-submit svg {
  display: block !important;
  width: var(--as-submit-icon, 20px) !important;
  height: var(--as-submit-icon, 20px) !important;
  min-width: var(--as-submit-icon, 20px) !important;
  fill: currentColor !important;
  color: inherit !important;
}
.atreve-search button.atreve-search-submit[data-content="text"] svg { display: none !important; }
.atreve-search button.atreve-search-submit[data-content="icon"] .atreve-search-submit-label { display: none !important; }
.atreve-search button.atreve-search-submit[data-content="icon_text"] .atreve-search-submit-label,
.atreve-search button.atreve-search-submit[data-content="text"] .atreve-search-submit-label { display: inline-block !important; }
.atreve-search .atreve-search-results {
  border-width: var(--as-drop-border-width, 1px) !important;
  border-style: solid !important;
  border-color: var(--as-border, #eadde0) !important;
  border-radius: var(--as-drop-radius, 16px) !important;
  background: var(--as-bg, #fff) !important;
  box-shadow: var(--as-drop-shadow, 0 18px 44px rgba(44,18,27,.16)) !important;
}
.atreve-search .atreve-search-desktop[data-dropdown-width-mode="same"] .atreve-search-results {
  width: 100% !important;
}

/* Integração com wrappers conhecidos de Page Builder/Builder. Não altera
   a percentagem da Área; apenas elimina limites internos herdados. */
.ApModule:has(> .atreve-search),
.ApModule:has(.atreve-search),
.otc-module-output:has(.atreve-search),
.otc-component-module:has(.atreve-search) {
  max-width: none !important;
  min-width: 0 !important;
}


/* 1.3.0 — integração Product List Pro. O desenho dos cartões pertence ao Our Theme Pro. */
.atreve-search-theme-products.is-ourtheme-integrated .ots-product-grid { width: 100%; }
.atreve-search-theme-products.is-ourtheme-integrated .product-miniature { flex-basis: auto !important; max-width: none !important; width: auto !important; }
