.elementor-4079 .elementor-element.elementor-element-a1288f4{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4079 .elementor-element.elementor-element-969c028{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4079 .elementor-element.elementor-element-c03efb3{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4079 .elementor-element.elementor-element-91b385c{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4079 .elementor-element.elementor-element-2de5a5d{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4079 .elementor-element.elementor-element-2d369ed{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4079 .elementor-element.elementor-element-6afc70d{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}body.elementor-page-4079{padding:0px 0px 0px 0px;}/* Start custom CSS for container, class: .elementor-element-2d369ed *//* ===== Contact page ===== */
  .hero--contact { padding: 64px 0 150px; }
  .hero--contact .inner { max-width: 720px; }

  .contact-grid {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px; align-items: stretch;
    margin-top: -90px; position: relative; z-index: 2;
  }
  .form-card, .booking-card {
    background: var(--branco); border-radius: 20px; padding: 36px;
    box-shadow: var(--shadow-card-hover); border: 1px solid var(--cinza-100);
    display: flex; flex-direction: column;
  }
  .form-card h2, .booking-card h2 { font-size: 1.4rem; margin-bottom: 6px; }
  .form-card > p, .booking-card > p { font-size: 0.95rem; margin-bottom: 24px; }
  .field { margin-bottom: 16px; }
  .field label {
    display: block; font-family: var(--font-titulo); font-weight: 600;
    font-size: 0.88rem; color: var(--preto); margin-bottom: 7px;
  }
  .field input, .field select, .field textarea {
    width: 100%; padding: 12px 15px; border: 1px solid var(--cinza-300);
    border-radius: 10px; font-family: var(--font-corpo); font-size: 0.98rem;
    color: var(--cinza-900); background: var(--branco); box-sizing: border-box;
    transition: var(--transition);
  }
  .field input:focus, .field select:focus, .field textarea:focus {
    outline: none; border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-claro);
  }
  .field textarea { min-height: 96px; resize: vertical; }
  .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

  /* Mock do Calendly (na implementação real: embed do widget Calendly) */
  .cal { border: 1px solid var(--cinza-300); border-radius: 14px; overflow: hidden; }
  .cal__head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px; background: var(--cinza-100);
    font-family: var(--font-titulo); font-weight: 600; color: var(--preto);
  }
  .cal__head span { font-size: 0.95rem; }
  .cal__nav { display: flex; gap: 6px; }
  .cal__nav i {
    width: 28px; height: 28px; border-radius: 8px; border: 1px solid var(--cinza-300);
    display: flex; align-items: center; justify-content: center; font-style: normal;
    color: var(--cinza-500); font-size: 0.9rem; cursor: pointer;
  }
  .cal__grid {
    display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px;
    padding: 14px 16px 8px; text-align: center;
  }
  .cal__grid .dow { font-family: var(--font-titulo); font-size: 0.68rem; font-weight: 700; color: var(--cinza-500); text-transform: uppercase; padding-bottom: 4px; }
  .cal__grid .day {
    font-family: var(--font-titulo); font-size: 0.85rem; color: var(--cinza-700);
    padding: 7px 0; border-radius: 9px; cursor: pointer;
  }
  .cal__grid .day:hover { background: var(--azul-claro); color: var(--azul); }
  .cal__grid .day.off { color: var(--cinza-300); cursor: default; }
  .cal__grid .day.sel { background: var(--azul); color: var(--branco); font-weight: 700; }
  .cal__slots { display: flex; gap: 8px; flex-wrap: wrap; padding: 10px 16px 16px; }
  .cal__slots b {
    font-family: var(--font-titulo); font-weight: 600; font-size: 0.82rem;
    border: 1px solid var(--azul-medio); color: var(--azul);
    padding: 7px 14px; border-radius: 999px; cursor: pointer;
  }
  .cal__slots b:hover { background: var(--azul); color: var(--branco); }
  .cal__meta {
    display: flex; align-items: center; gap: 14px; padding: 12px 18px;
    border-top: 1px solid var(--cinza-100); font-size: 0.8rem; color: var(--cinza-500);
  }
  .cal__meta svg { width: 15px; height: 15px; }
  .booking-card .btn { margin-top: 18px; }

  /* Faixa de contato direto */
  .contact-strip {
    margin-top: 28px; background: var(--azul-noite); border-radius: 18px;
    padding: 26px 34px; display: flex; align-items: center; justify-content: space-between;
    gap: 24px; flex-wrap: wrap;
  }
  .contact-strip strong { font-family: var(--font-titulo); color: #fff; font-size: 1.05rem; }
  .contact-strip .lines { display: flex; gap: 32px; flex-wrap: wrap; }
  .contact-line { display: flex; align-items: center; gap: 10px; font-size: 0.98rem; }
  .contact-line svg { width: 19px; height: 19px; color: var(--amarelo); flex: none; }
  .contact-line a { color: #fff; font-family: var(--font-titulo); font-weight: 600; }
  .contact-line a:hover { color: var(--amarelo); }

  /* Escritórios + mapa */
  .offices-section { padding: 72px 0 88px; }
  .offices-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 40px; align-items: center; }
  .country-group { margin-bottom: 26px; }
  .country-group__head {
    display: flex; align-items: center; gap: 10px;
    font-family: var(--font-titulo); font-weight: 700; color: var(--preto); font-size: 1.08rem;
    margin-bottom: 10px;
  }
  .country-group__head .n {
    font-size: 0.72rem; font-weight: 700; color: var(--verde-escuro);
    background: var(--verde-claro); border-radius: 999px; padding: 3px 10px;
  }
  .office { padding: 10px 0 10px 16px; border-left: 3px solid var(--azul-claro); margin-bottom: 8px; }
  .office b { font-family: var(--font-titulo); color: var(--preto); display: block; font-size: 0.95rem; }
  .office span { font-size: 0.86rem; color: var(--cinza-500); }

  .map-wrap { position: relative; border-radius: 20px; overflow: hidden; box-shadow: var(--shadow-card); border: 1px solid var(--cinza-100); }
  .map-wrap img { width: 100%; display: block; }
  .map-pin {
    position: absolute; transform: translate(-50%, -100%);
    display: flex; flex-direction: column; align-items: center; gap: 2px;
  }
  .map-pin .dot {
    width: 14px; height: 14px; border-radius: 50%;
    background: var(--amarelo); border: 3px solid var(--branco);
    box-shadow: 0 2px 8px rgba(0,0,0,0.35);
  }
  .map-pin .tag {
    font-family: var(--font-titulo); font-size: 0.68rem; font-weight: 700;
    background: var(--branco); color: var(--preto); border-radius: 999px;
    padding: 3px 9px; box-shadow: 0 2px 8px rgba(0,0,0,0.25); white-space: nowrap;
    order: -1; margin-bottom: 3px;
  }
  /* Variante com o label abaixo do ponto (evita corte e colisões) */
  .map-pin--below { transform: translate(-50%, -7px); }
  .map-pin--below .tag { order: 2; margin-bottom: 0; margin-top: 3px; }

  @media (max-width: 1024px) {
    .contact-grid { grid-template-columns: 1fr; margin-top: -70px; }
    .offices-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 640px) {
    .field-row { grid-template-columns: 1fr; }
    .form-card, .booking-card { padding: 26px 22px; }
    .contact-strip { padding: 24px; }
  }/* End custom CSS */