/* Publiczna strona prośby o dobór specjalisty — oprawa formularza wtyczki. */

.odns-contact-request-main {
  min-height: 70vh;
  color: var(--odns-ink);
  background-color: #fbfaf4;
  background-image:
    linear-gradient(rgba(255, 253, 250, 0.82), rgba(255, 253, 250, 0.82)),
    url("../textures/kredka-jasna-szalwia.webp");
  background-repeat: repeat;
  background-size: auto, 1536px 1024px;
}

.odns-contact-request-wrap {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 48px), 880px);
  margin-inline: auto;
}

.odns-contact-request-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(3.2rem, 6vw, 5.5rem) 0 clamp(2rem, 4vw, 3rem);
  text-align: center;
}

.odns-contact-request-hero::before,
.odns-contact-request-hero::after {
  position: absolute;
  width: clamp(180px, 23vw, 340px);
  aspect-ratio: 1;
  background: url("../images/liscie-kredka.webp") center / contain no-repeat;
  content: "";
  opacity: 0.2;
  pointer-events: none;
}

.odns-contact-request-hero::before {
  bottom: -120px;
  left: -90px;
}

.odns-contact-request-hero::after {
  right: -90px;
  bottom: -120px;
  transform: scaleX(-1);
}

.odns-contact-request-kicker {
  margin: 0 0 0.9rem;
  color: var(--odns-green);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1.4;
  text-transform: uppercase;
}

body.odns-site .odns-contact-request-hero h1 {
  max-width: 16ch;
  margin: 0 auto;
  padding: 0;
  color: var(--odns-navy);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.8rem, 5vw, 4.5rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.02;
}

.odns-contact-request-heart {
  width: min(300px, 72vw);
  height: 42px;
  margin: 0.35rem auto 0.6rem;
  background: url("../images/separator-serce-320.png") center / contain no-repeat;
}

.odns-contact-request-lead {
  max-width: 64ch;
  margin: 0 auto;
  color: #415767;
  font-size: 1rem;
  line-height: 1.72;
}

.odns-contact-request-note {
  max-width: 64ch;
  margin: 1.25rem auto 0;
  padding: 0.85rem 1rem;
  border-left: 4px solid var(--odns-gold);
  border-radius: 5px;
  color: #314b5d;
  background: rgba(255, 253, 250, 0.76);
  font-size: 0.9rem;
  line-height: 1.55;
  text-align: left;
}

.odns-contact-request-section {
  padding: 0 0 clamp(4rem, 7vw, 6.5rem);
}

.odns-contact-request-card {
  padding: clamp(1.1rem, 3.5vw, 2.5rem);
  border: 1px solid rgba(214, 166, 82, 0.4);
  border-radius: var(--odns-radius);
  background: rgba(255, 253, 250, 0.94);
  box-shadow: var(--odns-shadow);
}

.odns-contact-request-fallback {
  max-width: 620px;
  margin-inline: auto;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(79, 117, 99, 0.3);
  border-radius: 12px;
  background: #f5f8f3;
  text-align: center;
}

body.odns-site .odns-contact-request-fallback h2 {
  margin: 0 0 0.75rem;
  color: var(--odns-navy);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  line-height: 1.1;
}

.odns-contact-request-fallback p {
  margin: 0.5rem 0;
  line-height: 1.6;
}

.odns-contact-request-fallback a {
  color: var(--odns-green);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.odns-contact-request-fallback-note {
  color: #5b6871;
  font-size: 0.85rem;
}

@media (max-width: 767px) {
  .odns-contact-request-wrap {
    width: min(calc(100% - 28px), 620px);
  }

  .odns-contact-request-hero {
    padding: 2.75rem 0 1.7rem;
  }

  .odns-contact-request-kicker {
    font-size: 0.65rem;
    letter-spacing: 0.18em;
  }

  body.odns-site .odns-contact-request-hero h1 {
    max-width: 14ch;
    font-size: clamp(2.35rem, 11vw, 3rem);
  }

  .odns-contact-request-heart {
    height: 34px;
  }

  .odns-contact-request-lead {
    font-size: 0.86rem;
    line-height: 1.65;
  }

  .odns-contact-request-note {
    padding: 0.8rem 0.85rem;
    font-size: 0.8rem;
  }

  .odns-contact-request-card {
    padding: 1rem;
    border-radius: 14px;
  }
}
