
.public-form-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:76px 0 82px !important;
  background:var(--site-page-bg) !important;
  color:var(--site-color-ink) !important;
  border-bottom:1px solid var(--site-page-line);
}

/* Mesma linguagem decorativa da página Empresa, espelhada à esquerda. */
.public-form-section::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:360px;
  height:360px;
  left:-145px;
  top:-145px;
  border-radius:50%;
  background:var(--site-page-decor);
  pointer-events:none;
}

.public-form-section > .container{
  position:relative;
  z-index:1;
}

.public-form-section .luxury-page-intro{
  max-width:760px;
  margin:0 auto 32px !important;
  text-align:center;
}

.public-form-section .luxury-section-eyebrow{
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  margin-bottom:11px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:var(--site-accent-soft) !important;
  color:var(--site-accent-hover) !important;
  font-size:.70rem !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}

.public-form-section .luxury-page-intro h2{
  max-width:760px;
  margin:0 auto !important;
  color:var(--site-color-ink) !important;
  font-size:clamp(2.15rem,4vw,3.25rem) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-.045em !important;
}

.public-form-section .luxury-page-intro h2::after{
  content:"";
  display:block;
  width:54px;
  height:4px;
  margin:14px auto 0;
  border-radius:999px;
  background:var(--site-accent) !important;
}

.public-form-section .luxury-page-intro p{
  max-width:660px;
  margin:14px auto 0 !important;
  color:var(--site-page-muted) !important;
  font-size:.96rem !important;
  line-height:1.72 !important;
}

/* Card único compartilhado */
.public-form-section .public-form-card{
  max-width:1120px;
  margin-inline:auto;
  padding:34px 36px !important;
  border:1px solid var(--site-form-card-line) !important;
  border-radius:26px !important;
  background:var(--site-form-card-bg) !important;
  box-shadow:0 14px 34px rgba(19,35,27,.075) !important;
}

.public-form-section .public-form-card .row{
  --bs-gutter-x:18px;
  --bs-gutter-y:17px;
}

.public-form-section .form-label{
  margin-bottom:7px !important;
  color:var(--site-form-label) !important;
  font-size:.82rem !important;
  font-weight:800 !important;
}

/* Inputs brancos: evita o antigo aspecto verde/creme. */
.public-form-section .form-control,
.public-form-section .form-select{
  min-height:49px !important;
  padding:11px 13px !important;
  border:1px solid var(--site-form-input-line) !important;
  border-radius:12px !important;
  background:var(--site-form-input-bg) !important;
  background-image:none;
  color:var(--site-color-ink) !important;
  box-shadow:0 2px 7px rgba(19,35,27,.025) !important;
  transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

/* Preserva a seta nativa do select sem trazer fundo colorido. */
.public-form-section select.form-select{
  background-color:var(--site-form-input-bg) !important;
  background-image:var(--bs-form-select-bg-img) !important;
  background-repeat:no-repeat !important;
  background-position:right .75rem center !important;
  background-size:16px 12px !important;
  padding-right:2.25rem !important;
}

.public-form-section textarea.form-control{
  min-height:145px !important;
  resize:vertical;
}

.public-form-section .form-control::placeholder{
  color:var(--site-form-placeholder) !important;
  opacity:1;
}

.public-form-section .form-control:hover,
.public-form-section .form-select:hover{
  background-color:#FFFFFF !important;
  border-color:var(--site-form-input-hover) !important;
}

.public-form-section .form-control:focus,
.public-form-section .form-select:focus{
  background-color:#FFFFFF !important;
  border-color:var(--site-accent) !important;
  outline:0 !important;
  box-shadow:0 0 0 4px var(--site-form-focus-ring), 0 5px 14px rgba(19,35,27,.05) !important;
}

.public-form-section input:-webkit-autofill,
.public-form-section input:-webkit-autofill:hover,
.public-form-section input:-webkit-autofill:focus,
.public-form-section textarea:-webkit-autofill,
.public-form-section textarea:-webkit-autofill:hover,
.public-form-section textarea:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--site-color-ink) !important;
  -webkit-box-shadow:0 0 0 1000px #FFFFFF inset !important;
  box-shadow:0 0 0 1000px #FFFFFF inset !important;
  caret-color:var(--site-color-ink) !important;
}

.public-form-section .btn-primary,
.public-form-section button[type="submit"]{
  min-height:49px !important;
  border:1px solid var(--site-accent-hover) !important;
  border-radius:12px !important;
  background:var(--site-accent) !important;
  color:#FFFFFF !important;
  font-size:.89rem !important;
  font-weight:900 !important;
  box-shadow:0 8px 18px rgba(var(--site-accent-rgb),.18) !important;
  transition:transform .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.public-form-section .btn-primary:hover,
.public-form-section button[type="submit"]:hover{
  background:var(--site-accent-hover) !important;
  border-color:var(--site-accent-hover) !important;
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(var(--site-accent-rgb),.23) !important;
}

/* Solicitar imóvel: acordeões seguem a mesma superfície neutra. */
.public-form-section .public-form-card details{
  margin-bottom:14px;
  padding:14px 16px !important;
  border:1px solid var(--site-form-card-line) !important;
  border-radius:12px !important;
  background:var(--site-form-detail-bg) !important;
  transition:border-color .16s ease, background-color .16s ease;
}

.public-form-section .public-form-card details[open]{
  background:#FFFFFF !important;
  border-color:var(--site-form-input-hover) !important;
}

.public-form-section .public-form-card summary{
  color:var(--site-color-ink) !important;
  font-weight:850 !important;
  cursor:pointer;
}

.public-form-section .form-check-input{
  border-color:var(--site-form-input-hover) !important;
}

.public-form-section .form-check-input:checked{
  background-color:var(--site-accent) !important;
  border-color:var(--site-accent) !important;
}

.public-form-section .form-check i,
.public-form-section .form-label i{
  color:var(--site-accent-hover) !important;
}

@media(max-width:767.98px){
  .public-form-section{
    padding:52px 0 58px !important;
  }

  .public-form-section::before{
    width:260px;
    height:260px;
    left:-145px;
    top:-110px;
  }

  .public-form-section .luxury-page-intro{
    margin-bottom:24px !important;
    text-align:left !important;
  }

  .public-form-section .luxury-page-intro h2{
    margin-left:0 !important;
    font-size:1.9rem !important;
  }

  .public-form-section .luxury-page-intro h2::after,
  .public-form-section .luxury-page-intro p{
    margin-left:0 !important;
  }

  .public-form-section .public-form-card{
    padding:22px 18px !important;
    border-radius:22px !important;
  }

  .public-form-section .form-control,
  .public-form-section .form-select,
  .public-form-section .btn-primary,
  .public-form-section button[type="submit"]{
    min-height:47px !important;
  }

  .public-form-section textarea.form-control{
    min-height:135px !important;
  }
}
