/* Shared deep red treatment for the public home and contact pages. */
body.wf-home,
body.wf-contact {
  --wf-red: #7f1d1d;
  --wf-red-dark: #5b1420;
  --wf-ink: #251316;
  --wf-cream: #fff8f5;
  --wf-border: #ead8d5;
  color: var(--wf-ink);
  --wp--preset--color--text-link: var(--wf-red);
  --wp--preset--color--text-hover: var(--wf-red-dark);
}

body.wf-home #site-header,
body.wf-contact #site-header {
  background: rgba(255, 250, 248, .98) !important;
  border-bottom: 1px solid var(--wf-border);
  box-shadow: 0 8px 28px rgba(91, 20, 32, .08);
}

body.wf-home .desktop-menu a:hover,
body.wf-contact .desktop-menu a:hover,
body.wf-home .mobile-menu a:hover,
body.wf-contact .mobile-menu a:hover {
  color: var(--wf-red) !important;
}

body.wf-home .cta-button,
body.wf-contact .cta-button,
body.wf-home .cta-button-mobile,
body.wf-contact .cta-button-mobile {
  background: var(--wf-red) !important;
  border-color: var(--wf-red) !important;
  color: #fff !important;
}

body.wf-home #site-footer,
body.wf-contact #site-footer {
  background: var(--wf-ink) !important;
}

body.wf-home #home-hero {
  background: linear-gradient(135deg, var(--wf-red) 0%, var(--wf-red-dark) 100%) !important;
}

body.wf-home .page_content_wrap,
body.wf-home .elementor-page {
  background-color: var(--wf-cream);
}

/* Contact page: a clear introduction followed by aligned form and details. */
body.wf-contact .page_content_wrap {
  padding: 0 !important;
  background: var(--wf-cream);
}

body.wf-contact .page_content_wrap > .content_wrap,
body.wf-contact .page_content_wrap .content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.wf-contact .elementor-1242 > section[data-id="eda2db7"],
body.wf-contact .elementor-1242 > section[data-id="423169f"] {
  display: none !important;
}

.wf-contact-hero {
  box-sizing: border-box;
  width: 100%;
  background: radial-gradient(circle at 80% 15%, #a93a40 0, transparent 34%),
    linear-gradient(135deg, #7f1d1d 0%, #5b1420 100%);
  color: #fff;
  padding: clamp(72px, 8vw, 118px) 24px 126px;
  text-align: center;
}

.wf-contact-hero__inner {
  width: min(100%, 760px);
  margin: 0 auto;
}

.wf-contact-hero__eyebrow {
  margin: 0 0 14px;
  color: #ffd9d4;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.wf-contact-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.6rem, 6vw, 4.5rem);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -.045em;
}

.wf-contact-hero__intro {
  max-width: 600px;
  margin: 22px auto 0;
  color: #f9e9e7;
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.7;
}

body.wf-contact .elementor-1242 > section[data-id="4d419359"] {
  z-index: 1;
  box-sizing: border-box;
  width: min(calc(100% - 40px), 1120px);
  max-width: 1120px;
  margin: -66px auto 96px !important;
  padding: clamp(28px, 4vw, 52px) !important;
  background: #fff;
  border: 1px solid var(--wf-border);
  border-radius: 24px;
  box-shadow: 0 26px 65px rgba(91, 20, 32, .13);
}

body.wf-contact .elementor-1242 > section[data-id="4d419359"] > .elementor-container,
body.wf-contact .elementor-1242 > section[data-id="4d419359"] > .elementor-container > .elementor-column,
body.wf-contact .elementor-1242 > section[data-id="4d419359"] > .elementor-container > .elementor-column > .elementor-widget-wrap {
  display: block;
  width: 100%;
  max-width: none;
}

body.wf-contact .elementor-1242 .elementor-element-6e9f01f6 h3 {
  margin: 0 0 30px;
  color: var(--wf-ink);
  font-size: clamp(1.8rem, 3vw, 2.3rem);
  font-weight: 750;
  letter-spacing: -.03em;
  text-align: left;
}

body.wf-contact .elementor-1242 section[data-id="7f16e7e2"] > .elementor-container {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
  gap: clamp(28px, 4vw, 54px);
  align-items: stretch;
  max-width: none;
}

body.wf-contact .elementor-1242 section[data-id="7f16e7e2"] > .elementor-container > .elementor-column {
  width: 100% !important;
  min-width: 0;
}

body.wf-contact .elementor-1242 .elementor-element-762d050a {
  background: #fff4f0;
  border: 1px solid var(--wf-border);
  border-radius: 18px;
  padding: 30px;
}

body.wf-contact .elementor-element-762d050a .elementor-widget-wrap {
  align-content: flex-start;
  gap: 12px;
}

body.wf-contact .elementor-element-762d050a .elementor-widget {
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid #ead8d5;
}

body.wf-contact .elementor-element-762d050a .elementor-widget:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body.wf-contact .elementor-element-762d050a h3 {
  margin: 0;
  color: var(--wf-red);
  font-size: 1.45rem;
  line-height: 1.35;
}

body.wf-contact .elementor-element-762d050a p,
body.wf-contact .elementor-element-762d050a .elementor-widget-container {
  color: #584347;
  line-height: 1.6;
}

body.wf-contact .elementor-element-762d050a a {
  color: var(--wf-red);
}

body.wf-contact .contact_form_box .row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0 !important;
}

body.wf-contact .contact_form_box .row > div {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body.wf-contact .contact_form_box .row > .col-lg-12 {
  grid-column: 1 / -1;
}

body.wf-contact .contact_form_box .form-group,
body.wf-contact .contact_form_box .form-group p {
  margin: 0;
}

body.wf-contact .contact_form_box input[type="text"],
body.wf-contact .contact_form_box input[type="email"],
body.wf-contact .contact_form_box textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 54px;
  padding: 15px 17px !important;
  color: var(--wf-ink) !important;
  background: #fffaf8 !important;
  border: 1px solid #dec9c7 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

body.wf-contact .contact_form_box textarea {
  min-height: 170px;
  resize: vertical;
}

body.wf-contact .contact_form_box input:focus,
body.wf-contact .contact_form_box textarea:focus {
  outline: 3px solid rgba(127, 29, 29, .16);
  border-color: var(--wf-red) !important;
}

body.wf-contact .contact_form_box input[type="submit"] {
  background: var(--wf-red) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 15px 30px !important;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(91, 20, 32, .2);
}

body.wf-contact .contact_form_box input[type="submit"]:hover {
  background: var(--wf-red-dark) !important;
}

@media (max-width: 800px) {
  body.wf-contact .elementor-1242 > section[data-id="4d419359"] {
    width: min(calc(100% - 28px), 620px);
    margin-top: -54px !important;
    margin-bottom: 64px !important;
  }

  body.wf-contact .elementor-1242 section[data-id="7f16e7e2"] > .elementor-container {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 540px) {
  .wf-contact-hero {
    padding: 68px 20px 104px;
  }

  body.wf-contact .elementor-1242 > section[data-id="4d419359"] {
    padding: 24px !important;
  }

  body.wf-contact .contact_form_box .row {
    grid-template-columns: 1fr;
  }

  body.wf-contact .elementor-1242 .elementor-element-762d050a {
    padding: 24px;
  }
}
