/* Conversion improvements: quote clarity, lower-friction forms, and mobile actions. */

.conversion-trust-list {
  border-top: 1px solid rgba(10, 20, 28, 0.16);
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
}

.conversion-trust-list li {
  align-items: center;
  border-bottom: 1px solid rgba(10, 20, 28, 0.12);
  display: flex;
  font-size: 0.92rem;
  font-weight: 650;
  gap: 12px;
  line-height: 1.45;
  padding: 14px 0;
}

.conversion-trust-list li::before {
  color: #007fae;
  content: "✓";
  flex: 0 0 auto;
  font-weight: 850;
}

.conversion-mobile-bar {
  display: none;
}

body.home .quote-submit {
  min-height: 54px;
}

body.home .quote-form-intro {
  max-width: 52ch;
}

body.home .conversion-trust-list {
  max-width: 520px;
}

.m5-quote {
  background: #eef2f5;
}

.m5-quote__grid {
  align-items: start;
  display: grid;
  gap: clamp(48px, 7vw, 96px);
  grid-template-columns: minmax(280px, 0.82fr) minmax(480px, 1.18fr);
}

.m5-quote__intro > p:not(.m5-kicker):not(.m5-quote__response) {
  color: #4b5a65;
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 26px 0 0;
  max-width: 56ch;
}

.m5-quote__response {
  color: #43525d;
  font-size: 0.86rem;
  line-height: 1.6;
  margin: 24px 0 0;
}

.m5-quote-form {
  background: #fff;
  border: 1px solid #d1d9df;
  border-radius: 12px;
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
  padding: clamp(24px, 4vw, 40px);
}

.m5-quote-form .quote-honeypot {
  height: 0;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  width: 0;
}

.m5-quote-form .quote-field {
  display: grid;
  gap: 8px;
}

.m5-quote-form .quote-field--wide,
.m5-quote-form .quote-consent,
.m5-quote-form .quote-form-footer,
.m5-quote-form .quote-form-fallback,
.m5-quote-form .quote-form-legal {
  grid-column: 1 / -1;
}

.m5-quote-form label {
  color: #17232c;
  font-size: 0.82rem;
  font-weight: 720;
}

.m5-quote-form .quote-required {
  color: #b42318;
}

.m5-quote-form .quote-optional {
  color: #667680;
  font-size: 0.72rem;
  font-weight: 560;
  margin-left: 5px;
}

.m5-quote-form input:not([type="checkbox"]),
.m5-quote-form select,
.m5-quote-form textarea {
  appearance: none;
  background: #fff;
  border: 1px solid #aebbc5;
  border-radius: 6px;
  color: #111b22;
  font: inherit;
  min-height: 50px;
  padding: 11px 13px;
  width: 100%;
}

.m5-quote-form textarea {
  min-height: 104px;
  resize: vertical;
}

.m5-quote-form input::placeholder,
.m5-quote-form textarea::placeholder {
  color: #65747e;
  opacity: 1;
}

.m5-quote-form input:focus-visible,
.m5-quote-form select:focus-visible,
.m5-quote-form textarea:focus-visible {
  border-color: #007fae;
  box-shadow: 0 0 0 3px rgba(0, 169, 232, 0.18);
  outline: 0;
}

.m5-quote-form [aria-invalid="true"] {
  border-color: #b42318 !important;
}

.m5-quote-form .quote-field-error {
  color: #9b1c1c;
  font-size: 0.76rem;
  line-height: 1.4;
  margin: 0;
  min-height: 0;
}

.m5-quote-form .quote-field-error:empty {
  display: none;
}

.m5-quote-form .quote-consent label {
  align-items: flex-start;
  display: flex;
  font-weight: 570;
  gap: 10px;
  line-height: 1.5;
}

.m5-quote-form .quote-consent input {
  accent-color: #007fae;
  flex: 0 0 auto;
  height: 18px;
  margin: 2px 0 0;
  width: 18px;
}

.m5-quote-form .quote-submit {
  align-items: center;
  background: #071017;
  border: 0;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 780;
  justify-content: center;
  min-height: 54px;
  padding: 12px 22px;
  width: 100%;
}

.m5-quote-form .quote-submit:hover,
.m5-quote-form .quote-submit:focus-visible {
  background: #006f9f;
}

.m5-quote-form .quote-submit:disabled {
  cursor: wait;
  opacity: 0.72;
}

.m5-quote-form .quote-form-status {
  font-size: 0.82rem;
  line-height: 1.5;
  margin: 10px 0 0;
}

.m5-quote-form .quote-form-status[data-state="error"] {
  color: #9b1c1c;
}

.m5-quote-form .quote-form-status[data-state="success"] {
  color: #176b37;
}

.m5-quote-form .quote-form-fallback,
.m5-quote-form .quote-form-legal {
  color: #53636e;
  font-size: 0.78rem;
  line-height: 1.55;
  margin: 0;
}

.m5-quote-form .quote-form-fallback a,
.m5-quote-form .quote-form-legal a {
  color: #006f9f;
  font-weight: 700;
}

.m5-quote .conversion-trust-list {
  border-top-color: #c7d1d8;
}

.m5-quote .conversion-trust-list li {
  border-bottom-color: #c7d1d8;
}

@media (max-width: 960px) {
  .m5-quote__grid {
    grid-template-columns: 1fr;
  }

  .m5-quote__intro {
    max-width: 680px;
  }
}

@media (max-width: 720px) {
  body.home,
  body.m5-page {
    padding-bottom: calc(68px + env(safe-area-inset-bottom));
  }

  .conversion-mobile-bar {
    background: #071017;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    bottom: 0;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1.5fr) minmax(110px, 0.8fr);
    left: 0;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    position: fixed;
    right: 0;
    z-index: 90;
  }

  .conversion-mobile-bar a {
    align-items: center;
    border-radius: 5px;
    display: flex;
    font-size: 0.82rem;
    font-weight: 800;
    justify-content: center;
    min-height: 48px;
    padding: 10px 12px;
    text-align: center;
    text-decoration: none;
  }

  .conversion-mobile-bar__quote {
    background: #00a9e8;
    color: #00131b !important;
  }

  .conversion-mobile-bar__whatsapp {
    border: 1px solid #71808b;
    color: #fff !important;
  }

  .m5-quote-form {
    grid-template-columns: 1fr;
    padding: 22px 18px;
  }

  .m5-quote-form .quote-field,
  .m5-quote-form .quote-field--wide,
  .m5-quote-form .quote-consent,
  .m5-quote-form .quote-form-footer,
  .m5-quote-form .quote-form-fallback,
  .m5-quote-form .quote-form-legal {
    grid-column: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .conversion-mobile-bar a,
  .m5-quote-form .quote-submit {
    transition: none;
  }
}
