/* The popup's styles are all scoped to dmtc- so they won't restyle your theme. */
.dmtc-overlay, .dmtc-overlay * { box-sizing: border-box; }
.dmtc-overlay[hidden] { display: none !important; }
.dmtc-overlay { position: fixed; inset: 0; z-index: 2147483000; display: flex; justify-content: center; align-items: center; padding: 22px; background: rgba(8,23,43,.70); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; visibility: hidden; transition: opacity .24s ease, visibility .24s ease; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
.dmtc-overlay.dmtc-visible { opacity: 1; visibility: visible; }
.dmtc-dialog { position: relative; display: grid; grid-template-columns: 47.8% 52.2%; width: min(1160px, 100%); max-height: calc(100dvh - 44px); min-height: 0; overflow: hidden; border-radius: 22px; border: 1px solid #cbd9eb; background: #fff; color: #09224c; box-shadow: 0 30px 100px rgba(3,12,28,.37); transform: translateY(12px) scale(.987); transition: transform .24s ease; }
.dmtc-visible .dmtc-dialog { transform: translateY(0) scale(1); }
.dmtc-art { position: relative; min-height: 0; background: #051e44; overflow: hidden; }
/* Live logo from WordPress Site Identity, or a logo selected in plugin settings. */
.dmtc-brand { position: absolute; top: 6%; left: 8.5%; width: 83%; min-height: 65px; display: flex; align-items: center; justify-content: flex-start; z-index: 2; }
.dmtc-logo-image { display: block; max-width: 100%; max-height: 100px; width: auto; height: auto; object-fit: contain; }
.dmtc-logo-on-white .dmtc-logo-image { max-height: 82px; }
.dmtc-desktop-brand.dmtc-logo-on-white { background: rgba(255,255,255,.97); border-radius: 12px; padding: 12px 16px; width: auto; max-width: 82%; }
.dmtc-art > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.dmtc-main { min-width: 0; overflow-y: auto; overscroll-behavior: contain; max-height: calc(100dvh - 44px); scrollbar-width: thin; background: #fff; }
.dmtc-form-wrap { padding: 48px 29px 27px 43px; }
.dmtc-form-wrap h2 { margin: 0 29px 29px 0 !important; color: #092451 !important; font-family: inherit !important; font-size: clamp(26px, 2.65vw, 37px) !important; line-height: 1.17 !important; font-weight: 790 !important; letter-spacing: -.8px !important; text-transform: none !important; }
.dmtc-field { margin: 0 0 20px; }
.dmtc-field > label { display: block; margin-bottom: 7px; font-family: inherit; font-size: 17px; line-height: 1.35; font-weight: 750; color: #0b2551; }
.dmtc-field > label span { color: #f01743; }
.dmtc-control { position: relative; display: flex; align-items: center; width: 100%; min-height: 54px; border: 1.5px solid #c9d8ed; border-radius: 11px; background: #f8faff; transition: border-color .16s ease, box-shadow .16s ease; }
.dmtc-control:focus-within { border-color: #197cbd; box-shadow: 0 0 0 3px rgba(13,138,201,.10); }
.dmtc-control > svg:not(.dmtc-chevron) { display: block; position: absolute; left: 17px; top: 50%; transform: translateY(-50%); width: 23px; height: 23px; fill: none; stroke: #657eaa; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.dmtc-control input, .dmtc-control textarea, .dmtc-control select { display: block; width: 100%; min-width: 0; min-height: 52px; margin: 0 !important; padding: 12px 15px 12px 61px !important; border: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important; color: #0b2551 !important; font-family: inherit !important; font-weight: 400 !important; font-size: 16px !important; line-height: 1.4 !important; text-transform: none !important; letter-spacing: normal !important; border-radius: 11px !important; }
.dmtc-control input::placeholder, .dmtc-control textarea::placeholder { color: #7992b8 !important; opacity: 1; }
.dmtc-textarea-control { align-items: flex-start; }
.dmtc-textarea-control > svg:not(.dmtc-chevron) { top: 17px; transform: none; }
.dmtc-control textarea { min-height: 95px; resize: vertical; }
.dmtc-control select { appearance: none !important; -webkit-appearance: none !important; padding-right: 45px !important; cursor: pointer; }
.dmtc-control select:invalid { color: #7891b4 !important; }
.dmtc-select-control .dmtc-chevron { position: absolute; width: 22px; height: 22px; right: 17px; top: 50%; transform: translateY(-50%); fill: none; stroke: #0a2754; stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.dmtc-submit { display: block; width: 100%; min-height: 70px; margin: 28px 0 0 !important; padding: 15px 20px !important; border: none !important; border-radius: 12px !important; background: #0aa363 !important; color: #fff !important; font-family: inherit !important; font-size: 22px !important; line-height: 1.4 !important; font-weight: 700 !important; text-align: center; text-transform: none !important; cursor: pointer; box-shadow: none !important; transition: background .15s ease, transform .15s ease; }
.dmtc-submit:hover { background: #098452 !important; }
.dmtc-submit:active { transform: translateY(1px); }
.dmtc-submit:focus-visible, .dmtc-close:focus-visible { outline: 3px solid #327fd5 !important; outline-offset: 3px; }
.dmtc-submit:disabled { opacity: .65; cursor: wait; }
.dmtc-close { position: absolute; z-index: 4; top: 20px; right: 20px; display: grid; place-items: center; width: 38px; height: 38px; padding: 5px !important; border: 0 !important; border-radius: 8px !important; color: #062453 !important; background: transparent !important; cursor: pointer; }
.dmtc-close:hover { background: #eef4fc !important; }
.dmtc-message { font-size: 14px; line-height: 1.4; font-weight: 600; margin-top: 10px; }
.dmtc-message:empty { display: none; }
.dmtc-message.dmtc-error { color: #bc1d3b; }
.dmtc-message.dmtc-success { color: #087a4c; }
.dmtc-privacy { margin: 11px 0 0 !important; color: #6d7c92 !important; font-family: inherit !important; font-size: 10.5px !important; line-height: 1.5 !important; text-align: center; }
.dmtc-privacy a { text-decoration: underline !important; color: #0d5e99 !important; }
.dmtc-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.dmtc-sr-only { border: 0; clip: rect(0,0,0,0); height: 1px; width: 1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; }
.dmtc-mobile-brand { display: none; }
@media (max-width: 1050px) {
  .dmtc-form-wrap { padding: 35px 25px 25px 31px; }
  .dmtc-form-wrap h2 { font-size: 30px !important; margin-bottom: 23px !important; }
  .dmtc-field { margin-bottom: 16px; }
  .dmtc-field > label { font-size: 15px; }
  .dmtc-control input, .dmtc-control textarea, .dmtc-control select { font-size: 15px !important; }
  .dmtc-submit { min-height: 60px; margin-top: 20px !important; font-size: 20px !important; }
}
@media (max-width: 700px) {
  .dmtc-overlay { padding: 13px; }
  .dmtc-dialog { display: block; width: min(475px, 100%); max-height: calc(100dvh - 26px); border-radius: 17px; overflow-y: auto; }
  .dmtc-art { display: none; }
  .dmtc-main { max-height: none; overflow: visible; }
  .dmtc-mobile-brand { display: flex; align-items: center; min-height: 87px; padding: 14px 46px 14px 21px; background: #061f46; }
  .dmtc-mobile-brand .dmtc-logo-image { display: block; max-width: min(285px, 100%); max-height: 64px; height: auto; width: auto; object-fit: contain; }
  .dmtc-mobile-brand.dmtc-logo-on-white { background: #fff; border-bottom: 1px solid #e2e9f2; }
  .dmtc-close { position: absolute; top: 19px; right: 17px; color: #fff !important; }
  .dmtc-close:hover { background: rgba(255,255,255,.13) !important; }
  .dmtc-form-wrap { padding: 24px 23px 21px; }
  .dmtc-form-wrap h2 { font-size: clamp(25px, 6vw, 31px) !important; line-height: 1.18 !important; margin: 0 0 23px !important; }
  .dmtc-desktop-break { display: none; }
  .dmtc-field { margin-bottom: 15px; }
  .dmtc-control { min-height: 50px; }
  .dmtc-control input, .dmtc-control select { min-height: 49px; }
  .dmtc-control textarea { min-height: 82px; }
  .dmtc-submit { min-height: 55px; margin-top: 20px !important; font-size: 19px !important; }
}
@media (max-width: 370px) {
  .dmtc-form-wrap { padding: 18px 16px 20px; }
  .dmtc-form-wrap h2 { font-size: 23px !important; }
  .dmtc-field > label { font-size: 14px; }
  .dmtc-control > svg:not(.dmtc-chevron) { left: 12px; width: 20px; height: 20px; }
  .dmtc-control input, .dmtc-control textarea, .dmtc-control select { padding-left: 44px !important; font-size: 14px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .dmtc-overlay, .dmtc-dialog, .dmtc-submit, .dmtc-control { transition: none !important; }
}

@media (max-width: 700px) {
  .dmtc-dialog.dmtc-logo-on-white .dmtc-close { color: #062453 !important; }
}


/* v1.4: premium transparent brand treatment.
   Use the purpose-built DM Thrive header asset on the dark artwork panel,
   keeping the look clean and integrated instead of boxing the logo. */
.dmtc-brand {
  position: absolute;
  top: 5.1%;
  left: 7.6%;
  width: min(84%, 430px);
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  z-index: 2;
}
.dmtc-brand .dmtc-logo-image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 96px;
  object-fit: contain;
  object-position: left center;
}
.dmtc-brand:not(.dmtc-logo-on-white) .dmtc-logo-image {
  filter: drop-shadow(0 6px 14px rgba(2, 14, 37, .22));
}
.dmtc-logo-brand-header {
  width: min(100%, 420px) !important;
  max-height: none !important;
}
.dmtc-desktop-brand.dmtc-logo-on-white {
  background: rgba(255,255,255,.97);
  border-radius: 12px;
  padding: 12px 16px;
  width: auto;
  max-width: 82%;
}
@media (min-width: 701px) and (max-height: 760px) {
  .dmtc-brand {
    top: 3.5%;
    width: min(80%, 380px);
    min-height: 70px;
  }
  .dmtc-brand .dmtc-logo-image {
    max-height: 82px;
  }
}
@media (max-width: 700px) {
  .dmtc-mobile-brand {
    display: flex;
    align-items: center;
    min-height: 84px;
    padding: 15px 54px 12px 20px;
    background: #061f46;
  }
  .dmtc-mobile-brand .dmtc-logo-image {
    max-width: min(295px, 100%);
    max-height: 62px;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: left center;
  }
  .dmtc-mobile-brand:not(.dmtc-logo-on-white) .dmtc-logo-image {
    filter: drop-shadow(0 5px 12px rgba(0, 10, 28, .22));
  }
  .dmtc-mobile-brand.dmtc-logo-on-white {
    background: #fff;
    border-bottom: 1px solid #e2e9f2;
    min-height: 96px;
  }
  .dmtc-dialog.dmtc-logo-on-white .dmtc-close {
    color: #092451 !important;
  }
}

/* v1.5: make the triggered visible state resistant to overly broad theme rules. */
#dmtc-overlay.dmtc-visible:not([hidden]) {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* v2.1 — plugin popup styled to match the premium generated blue panel,
   with the real DM Thrive logo overlaid as a separate element. */
#dmtc-overlay .dmtc-dialog {
  height: min(794px, calc(100dvh - 44px));
  min-height: 560px;
  grid-template-columns: 48% 52%;
  background: #fff;
}
#dmtc-overlay .dmtc-art {
  position: relative;
  display: block;
  overflow: hidden;
  background: #5ea9ea url('consultation-art-generated.png') center center / cover no-repeat;
}
#dmtc-overlay .dmtc-art::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
}
#dmtc-overlay .dmtc-brand.dmtc-desktop-brand {
  position: absolute;
  top: 28px;
  left: 46px;
  right: auto;
  width: 235px;
  min-height: 0;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  background: transparent;
  box-shadow: none;
  border: 0;
  z-index: 3;
}
#dmtc-overlay .dmtc-brand .dmtc-logo-image,
#dmtc-overlay .dmtc-mobile-brand .dmtc-logo-image {
  display:block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 88px !important;
  object-fit: contain !important;
  object-position:left center !important;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode:normal !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
}
#dmtc-overlay .dmtc-art-divider,
#dmtc-overlay .dmtc-services,
#dmtc-overlay .dmtc-marketing-visual {
  display: none !important;
}
#dmtc-overlay .dmtc-mobile-brand {
  display:none;
}
#dmtc-overlay .dmtc-submit {
  width:100%;
}
@media(max-width:1050px) and (min-width:701px){
  #dmtc-overlay .dmtc-dialog { grid-template-columns: 46% 54%; }
  #dmtc-overlay .dmtc-brand.dmtc-desktop-brand { top: 22px; left: 28px; width: 205px; }
  #dmtc-overlay .dmtc-brand .dmtc-logo-image { max-height: 76px !important; }
}
@media(max-width:700px){
  #dmtc-overlay .dmtc-dialog {
    display:block;
    width:min(475px,100%);
    height:auto;
    min-height:0;
    max-height:calc(100dvh - 26px);
    overflow-y:auto;
  }
  #dmtc-overlay .dmtc-art {display:none;}
  #dmtc-overlay .dmtc-mobile-brand {
    display:flex;
    min-height:94px;
    align-items:center;
    padding:7px 54px 7px 19px;
    background:linear-gradient(110deg,#e8f6ff,#abd7f8 45%, #7cb8ec 100%);
    border-bottom:1px solid #cfe3f3;
  }
  #dmtc-overlay .dmtc-mobile-brand .dmtc-logo-image {
    max-width:205px !important;
    max-height:80px !important;
  }
  #dmtc-overlay .dmtc-close {top:18px;right:18px;color:#082b50 !important;}
  #dmtc-overlay .dmtc-main {max-height:none;overflow:visible;}
  #dmtc-overlay .dmtc-form-wrap { padding:24px 23px 23px; }
}


/* v2.2 — compact desktop design; preserves the original premium artwork/logo. */
@media (min-width: 701px) {
  #dmtc-overlay .dmtc-dialog {
    width: min(980px, 100%);
    height: min(650px, calc(100dvh - 36px));
    max-height: calc(100dvh - 36px);
    min-height: 0;
    grid-template-columns: 47% 53%;
    border-radius: 19px;
  }
  #dmtc-overlay .dmtc-main { max-height: calc(100dvh - 36px); }
  #dmtc-overlay .dmtc-form-wrap { padding: 23px 28px 16px 31px; }
  #dmtc-overlay .dmtc-form-wrap h2 {
    font-size: clamp(24px, 2.2vw, 30px) !important;
    line-height: 1.12 !important;
    margin: 0 22px 17px 0 !important;
    letter-spacing: -.6px !important;
  }
  #dmtc-overlay .dmtc-field { margin-bottom: 11px; }
  #dmtc-overlay .dmtc-field > label { font-size: 14px; margin-bottom: 5px; }
  #dmtc-overlay .dmtc-control { min-height: 46px; border-radius: 10px; }
  #dmtc-overlay .dmtc-control input,
  #dmtc-overlay .dmtc-control select { min-height: 44px; font-size: 14px !important; padding-top: 8px !important; padding-bottom: 8px !important; }
  #dmtc-overlay .dmtc-control textarea { min-height: 73px; font-size: 14px !important; }
  #dmtc-overlay .dmtc-submit { min-height: 52px; margin-top: 14px !important; padding: 10px 16px !important; font-size: 18px !important; }
  #dmtc-overlay .dmtc-privacy { margin-top: 7px !important; }
  #dmtc-overlay .dmtc-brand.dmtc-desktop-brand { top: 23px; left: 36px; width: 200px; }
  #dmtc-overlay .dmtc-brand .dmtc-logo-image { max-height: 76px !important; }
}
@media (min-width: 701px) and (max-height: 610px) {
  #dmtc-overlay .dmtc-dialog { height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); }
  #dmtc-overlay .dmtc-main { max-height: calc(100dvh - 24px); }
  #dmtc-overlay .dmtc-form-wrap { padding-top: 16px; padding-bottom: 12px; }
  #dmtc-overlay .dmtc-form-wrap h2 { font-size: 24px !important; margin-bottom: 12px !important; }
}
@media (max-width: 700px) {
  #dmtc-overlay .dmtc-dialog { max-width: 410px; }
}
