/* =========================================================
   CONTACT PAGE (Contact Form 7)
   Elegante, full width, sem afetar header/footer
   ========================================================= */

/* =========================================================
   BASE WRAPPER
   ========================================================= */

body.page-template-page-contact .entry-content .wpcf7{
  --bdc-primary: #24417C;
  --bdc-accent:  #355575;
  --bdc-border:  rgba(36,65,124,.18);
  --bdc-text:    #1f2937;
  --bdc-muted:   rgba(31,41,55,.70);
  --bdc-bg:      #ffffff;
  --bdc-soft:    rgba(36,65,124,.06);

  width: 100%;
  max-width: 100%;
  margin: 0;
}

/* =========================================================
   FORM CARD
   ========================================================= */

body.page-template-page-contact .entry-content .wpcf7 form.wpcf7-form{
  background: var(--bdc-bg);
  border: 1px solid var(--bdc-border);
  border-radius: 16px;
  padding: clamp(24px, 3vw, 40px);
  box-shadow: 0 12px 32px rgba(36,65,124,.10);
  max-width: 100%;
}

/* =========================================================
   LABELS
   ========================================================= */

body.page-template-page-contact .entry-content .wpcf7 label{
  display: block;
  font-weight: 300;
  color: var(--bdc-primary);
  letter-spacing: .1px;
}

body.page-template-page-contact .entry-content .wpcf7 p{
  margin: 0 0 18px 0;
}

/* =========================================================
   INPUTS / TEXTAREA
   ========================================================= */

body.page-template-page-contact .entry-content .wpcf7 input[type="text"],
body.page-template-page-contact .entry-content .wpcf7 input[type="email"],
body.page-template-page-contact .entry-content .wpcf7 input[type="tel"],
body.page-template-page-contact .entry-content .wpcf7 input[type="url"],
body.page-template-page-contact .entry-content .wpcf7 textarea{
  width: 100%;
  box-sizing: border-box;
  margin-top: 8px;

  border: 1px solid rgba(36,65,124,.25);
  background: var(--bdc-soft);
  color: var(--bdc-text);

  border-radius: 14px;
  padding: 14px 16px;
  font-size: 1rem;
  line-height: 1.4;

  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

body.page-template-page-contact .entry-content .wpcf7 textarea{
  min-height: 180px;
  resize: vertical;
}

body.page-template-page-contact .entry-content .wpcf7 input::placeholder,
body.page-template-page-contact .entry-content .wpcf7 textarea::placeholder{
  color: rgba(31,41,55,.55);
}

/* FOCUS */

body.page-template-page-contact .entry-content .wpcf7 input:focus,
body.page-template-page-contact .entry-content .wpcf7 textarea:focus{
  outline: none;
  background: #fff;
  border-color: rgba(36,65,124,.55);
  box-shadow: 0 0 0 4px rgba(36,65,124,.16);
}

/* =========================================================
   SUBMIT BUTTON
   ========================================================= */

body.page-template-page-contact .entry-content .wpcf7 input[type="submit"]{
  appearance: none;
  border: 0;
  cursor: pointer;

  background: linear-gradient(135deg, var(--bdc-primary), var(--bdc-accent));
  color: #fff;

  border-radius: 999px;
  padding: 14px 28px;
  font-weight: 700;
  letter-spacing: .3px;

  box-shadow: 0 12px 26px rgba(36,65,124,.20);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

body.page-template-page-contact .entry-content .wpcf7 input[type="submit"]:hover{
  transform: translateY(-2px);
  filter: brightness(1.03);
  box-shadow: 0 16px 30px rgba(36,65,124,.24);
}

body.page-template-page-contact .entry-content .wpcf7 input[type="submit"]:active{
  transform: translateY(0);
}

/* Spinner */

body.page-template-page-contact .entry-content .wpcf7 .wpcf7-spinner{
  margin-left: 12px;
}

/* =========================================================
   SUCCESS / ERROR MESSAGES
   ========================================================= */

body.page-template-page-contact .entry-content .wpcf7 .wpcf7-response-output{
  margin: 20px 0 0;
  border-radius: 14px;
  padding: 14px 16px;
  font-size: .98rem;
  line-height: 1.4;
}

body.page-template-page-contact .entry-content .wpcf7 form.sent .wpcf7-response-output{
  border: 1px solid rgba(16,185,129,.35);
  background: rgba(16,185,129,.10);
  color: #065f46;
}

body.page-template-page-contact .entry-content .wpcf7 form.invalid .wpcf7-response-output,
body.page-template-page-contact .entry-content .wpcf7 form.failed .wpcf7-response-output{
  border: 1px solid rgba(239,68,68,.35);
  background: rgba(239,68,68,.08);
  color: #7f1d1d;
}

/* Field validation message */

body.page-template-page-contact .entry-content .wpcf7 .wpcf7-not-valid-tip{
  margin-top: 8px;
  font-size: .9rem;
  color: #b91c1c;
}

/* Remove inline width issues */

body.page-template-page-contact .entry-content .wpcf7 textarea[style]{
  width: 100% !important;
}

/* =========================================================
   FULL WIDTH FIX (apenas dentro do MAIN)
   ========================================================= */

body.page-template-page-contact main .wp-block-columns > .wp-block-column:first-child{
  display: none !important;
}

body.page-template-page-contact main .wp-block-columns > .wp-block-column:last-child{
  flex-basis: 100% !important;
  max-width: 100% !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 720px){
  body.page-template-page-contact .entry-content .wpcf7 form.wpcf7-form{
    border-radius: 14px;
    padding: 20px;
  }
}
