/* ============================================================
   PBNEW SISTEMAS — Custom site overrides
   Shared by all pages. Edit here to affect the whole site.
   ============================================================ */

/* === GLOBAL: Prevent white gap below last element === */
html { background-color: #0F6185; }

/* === INDEX: Move hero photo upward to show collaborators' faces === */
.elementor-element-9d29c47::before {
  background-position: center 110% !important;
}

/* === INDEX: Align contact/social menu with start of first card === */
.elementor-element-f873392 {
  padding-left: calc((100% - 1200px) / 2 + 20px) !important;
}

/* === INDEX: Prevent address from overflowing into nav column === */
.elementor-element-4655163 .elementor-icon-list-text {
  word-break: break-word !important;
  white-space: normal !important;
}
/* Give address column more space in the 3-col grid */
.elementor-element-57c3d60 {
  grid-template-columns: auto 2fr 1fr !important;
}

/* === GLOBAL: Prevent horizontal scroll on all pages === */
body { overflow-x: hidden; }

/* === GLOBAL: Hamburger menu — set max-height variable for dropdown animation === */
.elementor-widget-nav-menu { --menu-height: 400px; }

/* === GLOBAL FOOTER: Address always wraps (overrides inline white-space) === */
.pbnew-footer ul li span {
  white-space: normal !important;
  word-break: break-word !important;
}

/* === GLOBAL: Hide duplicated WhatsApp plugin button === */
#ht-ctc-chat { display: none !important; }

/* === GLOBAL: WhatsApp bounce animation === */
@keyframes wa_bounce {
  0%   { opacity: 0; transform: scale(0) }
  100% { opacity: 1; transform: scale(1) }
}

/* ============================================================
   HEADER FIX — LGPD + Trabalhe Conosco pages
   Logo on the left, page title on the right, centred in page
   ============================================================ */

/* Increase hero height and reduce overlay so collaborators photo is visible */
.elementor-element-e315294 {
  min-height: 380px !important;
}
.elementor-element-e315294::before {
  opacity: 0.75 !important;
}

.elementor-element-e315294 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  padding: 40px 60px 40px 180px !important;
  gap: 40px !important;
  max-width: 1200px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor-element-e315294 .elementor-shape-bottom { display: none !important; }
.elementor-element-1d42540 { flex: 0 0 auto !important; width: auto !important; max-width: 250px !important; }
.elementor-element-1d42540 img { width: 200px !important; height: auto !important; }
.elementor-element-49fbe76 { flex: 1 !important; }
.elementor-element-49fbe76 .elementor-heading-title,
.elementor-element-49fbe76 .elementor-widget-container p { color: #fff !important; }
.elementor-element-d6e87ab .elementor-heading-title {
  font-size: 28px !important; font-weight: 600 !important; margin: 0 !important;
}
.elementor-element-a81e808 .elementor-widget-container p { font-size: 15px !important; margin: 4px 0 0 !important; }

/* ============================================================
   TRABALHE CONOSCO — Prevent form section from filling viewport
   ============================================================ */
.elementor-element-65a9085 {
  flex-grow: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: auto !important;
}
.elementor-element-65a9085 > .e-con-inner { flex-grow: 0 !important; height: auto !important; }

/* ============================================================
   STATS — Counter numbers (Contato + product pages)
   ============================================================ */
.pbnew-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 36px 24px;
  text-align: center;
  position: relative;
  z-index: 10;
}
.pbnew-stat-number {
  display: flex;
  align-items: baseline;
  font-family: "Open Sans", sans-serif;
  font-size: 72px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -3px;
  color: #2D2D2D;
}
.pbnew-pfx,
.pbnew-sfx,
.pbnew-num {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.pbnew-stat-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #1D4F97;
  margin-top: 14px;
  max-width: 180px;
  line-height: 1.5;
}

/* ============================================================
   PRODUCT PAGES — Spacing between blue cards and "Por que" section
   ============================================================ */
.elementor-element.elementor-element-d939775 { margin-top: 80px !important; }

/* ============================================================
   PRODUCT PAGES — "Por que escolher" icon box card
   ============================================================ */
.elementor-element-47e1889 {
  padding: 24px !important;
  padding-inline-start: 24px !important;
  padding-inline-end: 24px !important;
  padding-block-start: 24px !important;
  padding-block-end: 24px !important;
}
.elementor-element-d6216e8,
.elementor-element-c9b6c4c,
.elementor-element-c33d677 {
  padding-inline-start: 0 !important;
  padding-left: 0 !important;
}
.elementor-element-7b9c2bd .elementor-icon,
.elementor-element-b4b7320 .elementor-icon,
.elementor-element-4446c86 .elementor-icon { font-size: 28px !important; }
.elementor-element-7b9c2bd .elementor-icon-box-wrapper,
.elementor-element-b4b7320 .elementor-icon-box-wrapper,
.elementor-element-4446c86 .elementor-icon-box-wrapper { gap: 14px !important; }

/* ============================================================
   SUPERMERCADOS — Hero image position
   ============================================================ */
body.pbnew-supermercados .elementor-element.elementor-element-bd3c169 {
  width: 110.118% !important;
  max-width: 110.118% !important;
  top: 55px !important;
  left: 0 !important;
  right: 0 !important;
}
body.pbnew-supermercados .elementor-element.elementor-element-bd3c169 > .elementor-widget-container {
  border-radius: 29px !important;
}
body.pbnew-supermercados .elementor-element.elementor-element-bd3c169 img {
  border-radius: 20px !important;
  width: 100% !important;
}

/* ============================================================
   VAREJO/SERVICOS — Hero image position
   ============================================================ */
body.pbnew-verejoservicos .elementor-element.elementor-element-bd3c169 {
  width: 110.118% !important;
  max-width: 110.118% !important;
  top: 102px !important;
  left: 0 !important;
  right: 0 !important;
}
body.pbnew-verejoservicos .elementor-element.elementor-element-bd3c169 > .elementor-widget-container {
  border-radius: 29px !important;
}
body.pbnew-verejoservicos .elementor-element.elementor-element-bd3c169 img {
  border-radius: 20px !important;
  width: 100% !important;
}

/* ============================================================
   CONTATO — Page-specific styles
   ============================================================ */
.contato-hero {
  background-color: #14618f;
  background-image: url("/wp-content/uploads/2025/08/image-KUNXCYD.jpg");
  background-size: cover;
  background-position: center;
  position: relative;
  padding: 80px 24px;
  text-align: center;
  overflow: hidden;
  margin: 0;
}
.contato-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #14618f;
  opacity: 0.85;
}
.contato-hero > * { position: relative; z-index: 1; }
.contato-hero .section-main-title {
  font-family: "Lexend Deca", "Open Sans", Sans-serif;
  font-size: 42px;
  font-weight: 600;
  color: #fff;
  margin: 0 0 12px;
}
.contato-breadcrumb {
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 13px;
}
.contato-breadcrumb a { color: #fff; text-decoration: none; }
.contato-breadcrumb span { color: #fff; }
.contato-section {
  max-width: 1140px;
  margin: 0 auto;
  padding: 80px 24px;
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}
.contato-col-left { flex: 1; min-width: 280px; display: flex; flex-direction: column; gap: 24px; }
.contato-col-right { flex: 1; min-width: 280px; }
.contato-label {
  font-family: "Open Sans", Sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #000;
  margin: 0;
}
.contato-heading {
  font-family: "Open Sans", Sans-serif;
  font-size: 25px;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.2em;
  letter-spacing: -1px;
  color: #000;
  margin: 0;
}
.contato-desc { font-size: 16px; line-height: 1.6; color: #585858; margin: 0; }
.contato-map { border-radius: 12px; overflow: hidden; }
.contato-map iframe { width: 100%; height: 300px; border: none; display: block; }
.contato-form-title {
  font-family: "Lexend Deca", "Open Sans", Sans-serif;
  font-size: 28px;
  font-weight: 600;
  text-transform: uppercase;
  color: #000;
  margin: 0 0 24px;
}
.contato-form { display: flex; flex-direction: column; gap: 16px; }
.contato-form label { font-size: 14px; font-weight: 600; color: #2C2C2C; display: block; margin-bottom: 4px; }
.contato-form input,
.contato-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 15px;
  font-family: "Open Sans", Sans-serif;
  color: #333;
  background: #fff;
  transition: border-color 0.2s;
}
.contato-form input:focus,
.contato-form textarea:focus { outline: none; border-color: #3680D5; }
.contato-form textarea { resize: vertical; min-height: 110px; }
.contato-form button {
  background: #3680D5;
  color: #fff;
  border: none;
  padding: 14px 28px;
  font-size: 15px;
  font-weight: 600;
  font-family: "Open Sans", Sans-serif;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.contato-form button:hover { background: #2563b0; }

/* ============================================================
   MOBILE RESPONSIVE — max-width 767px
   ============================================================ */
@media (max-width: 767px) {

  /* --- PRODUCT PAGES: Fix Elementor container width (Elementor sets --width:250px on tablet) --- */
  .elementor-element-35f9d17 {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* --- PRODUCT PAGES: Blue card grid — full width, reduced padding --- */
  .medicon-widget-wrap,
  .super-widget-wrap,
  .varejo-widget-wrap {
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .recursos-grid,
  .super-widget-wrap .grid,
  .varejo-widget-wrap .grid {
    max-width: 100% !important;
    width: 100% !important;
  }

  /* --- PRODUCT PAGES: "Por que escolher" — stack icon boxes vertically --- */
  .elementor-element-47e1889 {
    flex-direction: column !important;
    padding: 16px !important;
  }
  .elementor-element-d6216e8,
  .elementor-element-c9b6c4c,
  .elementor-element-c33d677 {
    width: 100% !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
  }

  /* --- INDEX: Reset desktop padding on contact/social block --- */
  .elementor-element-f873392 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* --- INDEX: Stack 3-col grid into single column --- */
  .elementor-element-57c3d60 {
    grid-template-columns: 1fr !important;
    gap: 20px 0 !important;
  }

  /* --- INDEX: Contact list items full width, readable size --- */
  .elementor-element-4655163 .elementor-icon-list-text,
  .elementor-element-4114fb7 .elementor-icon-list-text {
    font-size: 14px !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* --- INDEX: Social icons centered on mobile --- */
  .elementor-element-780dca1 .elementor-widget-container {
    text-align: center !important;
  }

  /* --- LGPD / TRABALHE CONOSCO header: stack logo + text vertically, full width --- */
  .elementor-element-e315294 {
    min-height: 340px !important;
    background-position: center center !important;
    background-size: cover !important;
  }
  .elementor-element-e315294 > .e-con-inner {
    flex-direction: column !important;
    padding: 28px 20px !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  /* Logo stays left-aligned inside the stretched container */
  .elementor-element-1d42540 {
    align-self: flex-start !important;
  }

  /* Text container: full width via stretch, override Elementor --width:50% */
  .elementor-element-49fbe76 {
    --width: 100% !important;
    width: 100% !important;
    align-self: stretch !important;
  }

  /* --- GLOBAL FOOTER: reduce side padding and stack columns --- */
  .pbnew-footer {
    padding: 40px 20px !important;
  }
  .pbnew-footer > div {
    flex-direction: column !important;
    gap: 32px !important;
  }

  /* --- GLOBAL FOOTER: full width columns, remove min-width that forces overflow --- */
  .pbnew-footer > div > div {
    min-width: 0 !important;
    width: 100% !important;
  }

  /* --- COPYRIGHT BAR: prevent horizontal overflow --- */
  div[style*="background-color:#0F6185"] {
    box-sizing: border-box !important;
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  div[style*="background-color:#0F6185"] p {
    font-size: 12px !important;
    white-space: normal !important;
    word-break: break-word !important;
  }
}
