/* 1. HERO: PAGE AND SECTION BACKGROUND */

body.page-id-18759,
body.page-id-18759 .page_wrap,
body.page-id-18759 .page_content_wrap,
body.page-id-18759 .content_wrap {
  background-color: #FAF9F6 !important;
}
.dm-contact {
  background-color: #FAF9F6 !important;
  min-height: 0 !important;
  padding: 88px 24px !important;
}

/* 2. HERO: LAYOUT (TWO COLUMNS) */
.dm-contact > .elementor-container {
  max-width: 1120px !important;
  min-height: 0 !important;
  align-items: center !important;
  gap: 0;
}
.dm-contact > .elementor-container > .dm-contact-text {
  width: calc(58% - 32px) !important;
}
.dm-contact > .elementor-container > .dm-contact-card {
  width: calc(42% + 32px) !important;
}

.dm-contact .dm-contact-text,
.dm-contact .dm-contact-text > .elementor-widget-wrap {
  background: transparent !important;
  padding: 0 !important;
}

/* 3. HERO: LEFT COLUMN (TITLE, SUBTITLE, DESCRIPTION) */

.dm-contact .dm-contact-title {
  margin: 0 !important;
}

.dm-contact-title h1,
.dm-contact-title h2,
.dm-contact-title h3,
.dm-contact-title h4,
.dm-contact-title h5,
.dm-contact-title h6 {
  max-width: 520px;
  font-size: 64px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  color: #0F172A !important;
  margin: 0 !important;
}

.dm-contact .dm-contact-title [class*="subtitle"],
.dm-contact .dm-contact-title [class*="subtitle"] * {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #64748B !important;
}
.dm-contact .dm-contact-title [class*="subtitle"] {
  margin: 0 0 12px 0 !important;
}

.dm-contact .dm-contact-desc {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: none !important;
  margin: 28px 0 32px 0 !important;
}
.dm-contact .dm-contact-desc > * {
  max-width: 520px !important;
}
.dm-contact .dm-contact-desc,
.dm-contact .dm-contact-desc * {
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #64748B !important;
}
.dm-contact .dm-contact-desc * {
  margin: 0 !important;
}

/* 4. HERO: BUTTONS */
.dm-contact-btn1,
.dm-contact-btn2 {
  width: auto !important;
  flex: 0 0 auto !important;
  margin: 0 12px 0 0 !important;
}
.dm-contact-btn1 .elementor-button,
.dm-contact-btn2 .elementor-button {
  padding: 18px 32px !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: background .2s, color .2s, transform .2s !important;
}
.dm-contact-btn1 .elementor-button {
  background: #00668A !important;
  border: 1.5px solid #00668A !important;
  color: #fff !important;
}
.dm-contact-btn1 .elementor-button:hover {
  background: #005372 !important;
  border-color: #005372 !important;
  transform: translateY(-2px);
}
.dm-contact-btn2 .elementor-button {
  background: transparent !important;
  border: 1.5px solid #0F172A !important;
  color: #0F172A !important;
}
.dm-contact-btn2 .elementor-button:hover {
  background: #0F172A !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* 5. HERO: RIGHT COLUMN, NAVY CARD */

.dm-contact .dm-contact-card {
  background-color: #0F172A !important;
  border-radius: 140px 32px 32px 32px !important;
  overflow: hidden !important;
  min-height: 460px !important;
  border: 0 !important;
  box-shadow: none !important;
}
.dm-contact .dm-contact-card > .elementor-widget-wrap,
.dm-contact .dm-contact-card > .elementor-element-populated {
  background: #0F172A !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  padding: 72px 40px !important;
  align-content: center !important;
}
.dm-contact .dm-contact-card *,
.dm-contact .dm-contact-card *::before,
.dm-contact .dm-contact-card *::after {
  border-top: 0 !important;
  box-shadow: none !important;
}
.dm-contact .dm-contact-card .elementor-background-overlay {
  display: none !important;
}

/* 6. HERO: CARD ROWS (SPACING) */
.dm-contact-item {
  margin-bottom: 44px !important;
}
.dm-contact-item:last-child {
  margin-bottom: 0 !important;
}

/* 7. SMOOTH SCROLL AND ANCHOR OFFSET */
html,
body {
  scroll-behavior: smooth !important;
}

html {
  scroll-padding-top: 110px;
}
#form-kontak {
  scroll-margin-top: 110px;
}

/* 8. HERO: CARD ROWS (ICON AND TEXT) */
.dm-contact-item .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 20px;
  text-align: left !important;
}
.dm-contact-item .elementor-icon-box-icon {
  flex: 0 0 auto !important;
  margin: 0 !important;
}
.dm-contact-item .elementor-icon-box-content {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  text-align: left !important;
}
.dm-contact-item .elementor-icon {
  width: 56px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #12304A !important;
  border-radius: 14px !important;
  color: #38BDF8 !important;
  font-size: 24px !important;
  padding: 0 !important;
}
.dm-contact-item .elementor-icon svg,
.dm-contact-item .elementor-icon i {
  width: 24px !important;
  height: 24px !important;
  font-size: 24px !important;
  fill: #38BDF8 !important;
  color: #38BDF8 !important;
}
.dm-contact-item .elementor-icon-box-title,
.dm-contact-item .elementor-icon-box-title * {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #94A3B8 !important;
  margin: 0 0 6px 0 !important;
}
.dm-contact-item .elementor-icon-box-description {
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #fff !important;
  margin: 0 !important;
  overflow-wrap: anywhere;
}

/* 9. HERO: TABLET (<= 1024px), STACKED */
@media (max-width: 1024px) {
  .dm-contact {
    padding: 72px 40px !important;
  }
  .dm-contact > .elementor-container {
    flex-wrap: wrap !important;
    gap: 40px;
  }
  .dm-contact > .elementor-container > .dm-contact-text {
    width: 100% !important;
  }
  .dm-contact > .elementor-container > .dm-contact-card {
    width: 100% !important;
    max-width: 600px !important;
  }
  .dm-contact-title h1,
  .dm-contact-title h2,
  .dm-contact-title h3,
  .dm-contact-title h4,
  .dm-contact-title h5,
  .dm-contact-title h6 {
    max-width: 100%;
    font-size: 44px !important;
  }
  .dm-contact .dm-contact-desc {
    margin: 16px 0 28px 0 !important;
  }
  .dm-contact .dm-contact-desc > * {
    max-width: 560px !important;
  }
  .dm-contact .dm-contact-card {
    border-radius: 100px 28px 28px 28px !important;
    min-height: 0 !important;
  }
  .dm-contact .dm-contact-card > .elementor-widget-wrap,
  .dm-contact .dm-contact-card > .elementor-element-populated {
    padding: 44px 36px !important;
  }
  .dm-contact-item {
    margin-bottom: 24px !important;
  }
  .dm-contact-item:last-child {
    margin-bottom: 0 !important;
  }
  .dm-contact-item .elementor-icon-box-wrapper {
    gap: 18px !important;
  }
  .dm-contact-item .elementor-icon-box-description {
    font-size: 20px !important;
  }
}

/* 10. HERO: MOBILE (<= 767px) */
@media (max-width: 767px) {
  .dm-contact {
    padding: 48px 20px !important;
  }
  .dm-contact > .elementor-container {
    gap: 28px;
    padding: 0 !important;
    max-width: 100% !important;
  }
  .dm-contact .dm-contact-text,
  .dm-contact .dm-contact-card {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .dm-contact > .elementor-container > .dm-contact-card {
    width: 100% !important;
    max-width: 100% !important;
  }
  .dm-contact-title h1,
  .dm-contact-title h2,
  .dm-contact-title h3,
  .dm-contact-title h4,
  .dm-contact-title h5,
  .dm-contact-title h6 {
    font-size: 34px !important;
  }
  .dm-contact .dm-contact-desc,
  .dm-contact .dm-contact-desc * {
    font-size: 16px !important;
  }
  .dm-contact .dm-contact-desc {
    margin: 14px 0 24px 0 !important;
  }
  .dm-contact .dm-contact-desc > * {
    max-width: 100% !important;
  }
  .dm-contact-btn1 .elementor-button,
  .dm-contact-btn2 .elementor-button {
    padding: 16px 26px !important;
    font-size: 15px !important;
  }
  .dm-contact-btn1,
  .dm-contact-btn2 {
    margin-bottom: 12px !important;
  }
  .dm-contact .dm-contact-card {
    border-radius: 64px 24px 24px 24px !important;
  }
  .dm-contact .dm-contact-card > .elementor-widget-wrap,
  .dm-contact .dm-contact-card > .elementor-element-populated {
    padding: 32px 24px !important;
  }
  .dm-contact-item {
    margin-bottom: 20px !important;
  }
  .dm-contact-item:last-child {
    margin-bottom: 0 !important;
  }
  .dm-contact-item .elementor-icon-box-wrapper {
    gap: 14px !important;
  }
  .dm-contact-item .elementor-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
  }
  .dm-contact-item .elementor-icon svg,
  .dm-contact-item .elementor-icon i {
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
  }
  .dm-contact-item .elementor-icon-box-title,
  .dm-contact-item .elementor-icon-box-title * {
    font-size: 13px !important;
    margin: 0 0 3px 0 !important;
  }
  .dm-contact-item .elementor-icon-box-description {
    font-size: 16px !important;
  }
}

/* 11. HERO: SMALL MOBILE (<= 480px) */
@media (max-width: 480px) {
  .dm-contact {
    padding: 40px 20px !important;
  }
  .dm-contact-title h1,
  .dm-contact-title h2,
  .dm-contact-title h3,
  .dm-contact-title h4,
  .dm-contact-title h5,
  .dm-contact-title h6 {
    font-size: 30px !important;
  }
  .dm-contact-btn1,
  .dm-contact-btn2 {
    width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 0 12px 0 !important;
  }
  .dm-contact-btn1 .elementor-button,
  .dm-contact-btn2 .elementor-button {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .dm-contact .dm-contact-card {
    border-radius: 56px 20px 20px 20px !important;
  }
  .dm-contact .dm-contact-card > .elementor-widget-wrap,
  .dm-contact .dm-contact-card > .elementor-element-populated {
    padding: 28px 20px !important;
  }
  .dm-contact-item .elementor-icon-box-description {
    font-size: 15px !important;
  }
}

/* 12. DETAILS: VARIABLES, BACKGROUND, BIG CARD */

.elementor-18759 .dm-cdetail {
  --dm-bg: #faf9f6;
  --dm-surface: #ffffff;
  --dm-primary: #38bdf8;
  --dm-primary-strong: #00668a;
  --dm-secondary: #0f172a;
  --dm-neutral: #64748b;
  --dm-line: rgba(100, 116, 139, .35);
  --dm-font-head: "Plus Jakarta Sans", sans-serif;
  --dm-font-body: "Inter", sans-serif;
}

body.page-id-18759 { background-color: #faf9f6; }

.elementor-18759 .dm-cdetail {
  max-width: 1110px;
  margin-left: auto;
  margin-right: auto;
  padding: 56px !important;
  background: var(--dm-surface) !important;
  border: 1px solid rgba(100, 116, 139, .18);
  border-radius: 40px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

/* 13. DETAILS: HEADING */
.elementor-18759 .dm-cdetail .elementor-heading-title,
.elementor-18759 .dm-cdetail .sc_item_title,
.elementor-18759 .dm-cdetail h2,
.elementor-18759 .dm-cdetail h3 {
  font-family: var(--dm-font-head) !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
  color: var(--dm-secondary) !important;
  text-decoration: none !important;
}

/* 14. DETAILS: ADDRESS (ICON BOX WIDGET) */
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address {
  margin-top: 12px !important;
}

.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  text-align: left !important;
}

.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-icon {
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #e0f2fe !important;
  border-radius: 50% !important;
}
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-icon .elementor-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  background: none !important;
}
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-icon i {
  font-size: 18px !important;
  color: var(--dm-secondary) !important;
}
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-icon svg {
  width: 18px !important;
  height: 18px !important;
  fill: var(--dm-secondary) !important;
}

.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-content {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 280px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-title,
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-title a,
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-title span {
  margin: 0 0 6px !important;
  padding: 0 !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--dm-neutral) !important;
}
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-title {
  display: block !important;
}

.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-description {
  margin: 0 !important;
  font-family: var(--dm-font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: var(--dm-secondary) !important;
}

/* 15. DETAILS: SOCIAL ICONS (ICON LIST WIDGET) */
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-social .elementor-icon-list-items {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-social .elementor-icon-list-item {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--dm-line) !important;
  border-radius: 50% !important;
  background: var(--dm-surface) !important;
  transition: border-color .2s ease, background .2s ease;
}
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-social .elementor-icon-list-item > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-social .elementor-icon-list-icon {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-social .elementor-icon-list-text:empty { display: none !important; }
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-social .elementor-icon-list-icon i { color: var(--dm-secondary) !important; font-size: 16px !important; }
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-social .elementor-icon-list-icon svg { fill: var(--dm-secondary) !important; width: 16px !important; height: 16px !important; }
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-social .elementor-icon-list-item:hover {
  border-color: var(--dm-primary) !important;
  background: #e0f2fe !important;
}

.elementor-18759 .dm-cdetail:not(#a) .elementor-widget-wrap:has(> .dm-cdetail-social) {
  row-gap: 0 !important;
}
.elementor-18759 .dm-cdetail:not(#a) .elementor-widget-wrap:has(> .dm-cdetail-social) > .elementor-element {
  margin-bottom: 0 !important;
}
.elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-social {
  margin-top: 24px !important;
  margin-bottom: 0 !important;
}

/* 16. DETAILS: FORM FIELDS (CONTACT FORM 7) */
.elementor-18759 .dm-cdetail .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.elementor-18759 .dm-cdetail .wpcf7 textarea,
.elementor-18759 .dm-cdetail .wpcf7 select {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--dm-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding-top: 16px;
  padding-bottom: 16px;
  font-family: var(--dm-font-body) !important;
  font-size: 15px !important;
  color: var(--dm-secondary) !important;
  transition: border-color .2s ease;
}
.elementor-18759 .dm-cdetail .wpcf7 ::placeholder {
  color: var(--dm-neutral);
  opacity: 1;
}
.elementor-18759 .dm-cdetail .wpcf7 input:not([type="submit"]):not([type="checkbox"]):focus,
.elementor-18759 .dm-cdetail .wpcf7 textarea:focus {
  border-bottom-color: var(--dm-primary) !important;
}

/* 17. DETAILS: SUBMIT BUTTON ("GET IN TOUCH") */
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) :is(input[type="submit"], button[type="submit"], .wpcf7-submit, .sc_button) {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 16px 32px !important;
  background: #00668a !important;
  background-image: none !important;
  color: #fff !important;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  filter: none !important;
  outline: 0 !important;
  text-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-family: var(--dm-font-head) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) :is(input[type="submit"], button[type="submit"], .wpcf7-submit, .sc_button)::before,
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) :is(input[type="submit"], button[type="submit"], .wpcf7-submit, .sc_button)::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) :is(input[type="submit"], button[type="submit"], .wpcf7-submit):is(:hover, :focus, :active, :focus-visible) {
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  text-decoration: none !important;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) :is(p, span, div):has(> :is(input[type="submit"], button[type="submit"], .wpcf7-submit))::before,
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) :is(p, span, div):has(> :is(input[type="submit"], button[type="submit"], .wpcf7-submit))::after {
  content: none !important;
  display: none !important;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) :is(p, span, div):has(> :is(input[type="submit"], button[type="submit"], .wpcf7-submit)) {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) :is(input[type="submit"], button[type="submit"], .wpcf7-submit, .sc_button):hover {
  background: #005372 !important;
  color: #fff !important;
  transform: translateY(-2px);
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) :is(input[type="submit"], button[type="submit"], .wpcf7-submit):focus-visible {
  outline: 2px solid var(--dm-primary) !important;
  outline-offset: 3px;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) button[type="submit"].wpcf7-submit::before {
  content: "" !important;
  display: inline-block !important;
  width: 16px;
  height: 16px;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2 11 13'/%3E%3Cpath d='M22 2 15 22l-4-9-9-4 20-7z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2 11 13'/%3E%3Cpath d='M22 2 15 22l-4-9-9-4 20-7z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* 18. DETAILS: CONSENT CHECKBOX */
.elementor-18759 .dm-cdetail .wpcf7-acceptance,
.elementor-18759 .dm-cdetail .wpcf7-acceptance label,
.elementor-18759 .dm-cdetail .wpcf7-list-item-label {
  font-family: var(--dm-font-body) !important;
  font-size: 13px !important;
  color: var(--dm-neutral) !important;
}
.elementor-18759 .dm-cdetail .wpcf7-acceptance a {
  color: var(--dm-primary-strong) !important;
  text-decoration: none !important;
}
.elementor-18759 .dm-cdetail .wpcf7 input[type="checkbox"] {
  accent-color: var(--dm-primary-strong);
}

/* 19. DETAILS: BUTTON + CONSENT ROW LAYOUT */
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) p:has(.wpcf7-submit) {
  position: relative;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) p:has(.wpcf7-submit) > * {
  margin: 0 !important;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) p:has(.wpcf7-submit) > .wpcf7-form-control-wrap:has(.wpcf7-submit),
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) p:has(.wpcf7-submit) > span:has(> .wpcf7-submit) {
  flex: 0 0 auto;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) p:has(.wpcf7-submit) > .wpcf7-form-control-wrap:has(.wpcf7-acceptance),
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) p:has(.wpcf7-submit) > span:has(.wpcf7-acceptance) {
  flex: 1 1 240px;
  min-width: 0;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) .wpcf7-acceptance .wpcf7-list-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) .wpcf7-spinner {
  position: absolute !important;
  right: 0;
  top: 50%;
  margin: -12px 0 0 !important;
}

/* 20. DETAILS: ERROR STATES */
.elementor-18759 .dm-cdetail:not(#a) .wpcf7 .wpcf7-not-valid {
  border-bottom-color: #dc2626 !important;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-family: var(--dm-font-body);
  font-size: 12px;
  color: #dc2626 !important;
}
.elementor-18759 .dm-cdetail:not(#a) .wpcf7 form .wpcf7-response-output {
  margin: 20px 0 0 !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-radius: 12px;
  background: #fef2f2;
  color: #b91c1c;
  font-family: var(--dm-font-body);
  font-size: 13px;
}

/* 21. DETAILS: COLUMN GAP (DESKTOP ONLY) */
@media (min-width: 1025px) {
  .elementor-18759 .dm-cdetail:not(#a) .elementor-inner-section .elementor-column:first-child > .elementor-widget-wrap {
    padding-right: 48px !important;
  }
}

/* 22. DETAILS: TABLET (<= 1024px) */
@media (max-width: 1024px) {
  .elementor-18759 .dm-cdetail { padding: 40px !important; border-radius: 32px; margin-left: 24px; margin-right: 24px; max-width: none; }
  .elementor-18759 .dm-cdetail .elementor-inner-section > .elementor-container,
  .elementor-18759 .dm-cdetail .elementor-inner-section > .elementor-container > .elementor-row {
    flex-wrap: wrap !important;
  }
  .elementor-18759 .dm-cdetail .elementor-inner-section .elementor-column {
    width: 100% !important;
  }
  .elementor-18759 .dm-cdetail .elementor-inner-section .elementor-column:first-child {
    margin-bottom: 32px;
  }
  .elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-content { max-width: 100% !important; }
}

/* 23. DETAILS: MOBILE (<= 640px) */
@media (max-width: 640px) {
  .elementor-18759 .dm-cdetail { padding: 24px !important; border-radius: 28px; margin-left: 16px; margin-right: 16px; }
  .elementor-18759 .dm-cdetail .elementor-heading-title { font-size: 26px !important; }
  .elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-social { margin-top: 20px !important; }

  .elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-wrapper {
    gap: 12px !important;
  }
  .elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-icon {
    flex-basis: 40px !important;
    width: 40px !important;
    height: 40px !important;
  }
  .elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-content {
    max-width: 100% !important;
  }
  .elementor-18759 .dm-cdetail:not(#a) .dm-cdetail-address .elementor-icon-box-description {
    font-size: 14px !important;
  }

  .elementor-18759 .dm-cdetail .wpcf7 [class*="col-"],
  .elementor-18759 .dm-cdetail .wpcf7 [class*="column-"] {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) p:has(.wpcf7-submit) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
  }
  .elementor-18759 .dm-cdetail:not(#a) .wpcf7:not(#a) :is(input[type="submit"], button[type="submit"], .wpcf7-submit) {
    width: 100% !important;
  }
}

/* 24. MAP: VARIABLE, SECTION AND MAP FRAME */

.elementor-18759 .dm-map {
  --dm-map-height: 440px;
}

.elementor-18759 .elementor-top-section:has(.dm-map):not(#a) {
  background: transparent !important;
  padding: 0 24px 100px !important;
}
.elementor-18759 .elementor-top-section:has(.dm-map):not(#a) > .elementor-container {
  max-width: 1110px !important;
}
.elementor-18759 .elementor-top-section:has(.dm-map):not(#a) .elementor-column,
.elementor-18759 .elementor-top-section:has(.dm-map):not(#a) .elementor-element-populated {
  padding: 0 !important;
}

.elementor-18759 .dm-map:not(#a) {
  position: relative;
  overflow: hidden;
  margin: 0 !important;
  border-radius: 40px 120px 28px 28px;
  background: #e0f2fe;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.elementor-18759 .dm-map:not(#a) > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-18759 .dm-map:not(#a) .elementor-custom-embed,
.elementor-18759 .dm-map:not(#a) iframe {
  display: block;
  width: 100% !important;
  height: var(--dm-map-height) !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.elementor-18759 .dm-map:not(#a) iframe {
  filter: saturate(.75) contrast(1.02);
}
.elementor-18759 .dm-map:not(#a)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(56, 189, 248, .10), rgba(224, 242, 254, 0) 55%);
}

/* 25. MAP: RESPONSIVE */
@media (max-width: 1024px) {
  .elementor-18759 .dm-map { --dm-map-height: 380px; }
  .elementor-18759 .elementor-top-section:has(.dm-map):not(#a) { padding: 0 24px 72px !important; }
  .elementor-18759 .dm-map:not(#a) { border-radius: 36px 90px 28px 28px; }
}

@media (max-width: 640px) {
  .elementor-18759 .dm-map { --dm-map-height: 300px; }
  .elementor-18759 .elementor-top-section:has(.dm-map):not(#a) { padding: 0 16px 56px !important; }
  .elementor-18759 .dm-map:not(#a) { border-radius: 28px 64px 24px 24px; }
}