/* Didipart contact page — isolated from legacy/core contact layout rules. */
.sf-page-contact .didipart-contact-grid {
  direction: ltr;
  display: grid !important;
  grid-template-columns: minmax(250px, 320px) minmax(0, 1fr) !important;
  grid-template-areas: "info form";
  align-items: start !important;
  gap: clamp(20px, 2.4vw, 36px) !important;
  width: 100% !important;
  margin-top: 24px !important;
}

.sf-page-contact .didipart-contact-grid > * {
  direction: rtl;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.sf-page-contact .didipart-contact-info {
  grid-area: info;
  position: sticky;
  top: 110px;
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}

.sf-page-contact .didipart-contact-form {
  grid-area: form;
  min-height: 0 !important;
  padding: clamp(20px, 2.5vw, 34px) !important;
}

.sf-page-contact .didipart-contact-form .section-title-row {
  margin-bottom: 22px !important;
}

.sf-page-contact .didipart-contact-form :is(.rozet-form-embed-wrap, .rozet-form-wrap) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.sf-page-contact .didipart-contact-form .rozet-dynamic-form > .row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 16px !important;
  margin: 0 !important;
}

.sf-page-contact .didipart-contact-form .rozet-form-field {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sf-page-contact .didipart-contact-form .rozet-form-field.col-12,
.sf-page-contact .didipart-contact-form .rozet-form-field.col-md-12 {
  grid-column: 1 / -1;
}

.sf-page-contact .didipart-contact-form :is(.form-control, .form-select) {
  width: 100% !important;
  min-height: 46px;
}

.sf-page-contact .didipart-contact-form textarea.form-control {
  min-height: 132px;
}

.sf-page-contact .didipart-contact-form .rozet-dynamic-form > .mb-3:last-child {
  margin: 22px 0 0 !important;
}

/* Keep the location useful without letting it dominate the contact page. */
.sf-page-contact .contact-maps-wrap .contact-map-iframe,
.sf-page-contact .contact-maps-wrap .contact-map-leaflet {
  height: 260px !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  overflow: hidden;
}

.sf-page-contact .contact-maps-wrap .contact-map-image img {
  max-height: 260px;
  width: 100%;
  object-fit: cover;
}

@media (max-width: 900px) {
  .sf-page-contact .didipart-contact-grid {
    direction: rtl;
    grid-template-columns: 1fr !important;
    grid-template-areas: "form" "info";
  }

  .sf-page-contact .didipart-contact-info,
  .sf-page-contact .didipart-contact-form {
    grid-column: auto;
    position: static;
  }

  .sf-page-contact .didipart-contact-form {
    grid-row: auto;
  }

  .sf-page-contact .didipart-contact-info {
    grid-row: auto;
  }
}

@media (max-width: 575.98px) {
  .sf-page-contact .contact-maps-wrap .contact-map-iframe,
  .sf-page-contact .contact-maps-wrap .contact-map-leaflet {
    height: 210px !important;
  }
}

@media (max-width: 575.98px) {
  .sf-page-contact .didipart-contact-form .rozet-dynamic-form > .row {
    grid-template-columns: 1fr !important;
  }

  .sf-page-contact .didipart-contact-form .rozet-form-field {
    grid-column: 1 !important;
  }
}
