/* Property inquiry modal – v2.0.45 */
.cbpo-inquiry-modal[hidden] { display: none !important; }
.cbpo-inquiry-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 24px; }
.cbpo-inquiry-backdrop { position: absolute; inset: 0; background: rgba(0, 20, 61, .72); backdrop-filter: blur(6px); }
.cbpo-inquiry-dialog { position: relative; z-index: 1; width: min(680px, 100%); max-height: min(90vh, 860px); overflow-y: auto; background: #fff; border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.28); padding: 34px; color: #12213f; }
.cbpo-inquiry-close { position: absolute; top: 14px; right: 16px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f1f4f8; color: #012169; font-size: 28px; line-height: 1; cursor: pointer; }
.cbpo-inquiry-heading { padding-right: 38px; }
.cbpo-inquiry-eyebrow { display: block; margin-bottom: 8px; color: #547397; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.cbpo-inquiry-heading h2, .cbpo-inquiry-success h2 { margin: 0 0 10px; color: #012169; font-family: inherit; font-size: clamp(25px, 3vw, 34px); line-height: 1.15; }
.cbpo-inquiry-heading p, .cbpo-inquiry-success p { margin: 0; color: #5e6d82; line-height: 1.6; }
.cbpo-inquiry-property { display: flex; gap: 14px; align-items: center; margin: 22px 0 24px; padding: 12px; border: 1px solid #e4e9f0; border-radius: 12px; background: #f7f9fc; }
.cbpo-inquiry-property img { width: 84px; height: 66px; object-fit: cover; border-radius: 8px; flex: 0 0 auto; }
.cbpo-inquiry-property strong { display: block; color: #012169; font-size: 15px; line-height: 1.35; }
.cbpo-inquiry-property-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 5px; color: #6b7889; font-size: 12px; }
.cbpo-inquiry-form { display: grid; gap: 16px; }
.cbpo-inquiry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cbpo-inquiry-form label:not(.cbpo-inquiry-consent) { display: grid; gap: 7px; color: #233651; font-size: 13px; font-weight: 600; }
.cbpo-inquiry-form input[type="text"], .cbpo-inquiry-form input[type="email"], .cbpo-inquiry-form input[type="tel"], .cbpo-inquiry-form textarea { width: 100%; border: 1px solid #d8e0ea; border-radius: 8px; background: #fff; color: #162a47; font: inherit; font-size: 15px; padding: 12px 13px; outline: none; transition: border-color .18s, box-shadow .18s; box-sizing: border-box; }
.cbpo-inquiry-form textarea { resize: vertical; min-height: 108px; }
.cbpo-inquiry-form input:focus, .cbpo-inquiry-form textarea:focus { border-color: #012169; box-shadow: 0 0 0 3px rgba(1,33,105,.09); }
.cbpo-inquiry-consent { display: flex; align-items: flex-start; gap: 9px; color: #647286; font-size: 11px; line-height: 1.45; cursor: pointer; }
.cbpo-inquiry-consent input { margin-top: 3px; accent-color: #012169; flex: 0 0 auto; }
.cbpo-inquiry-consent a { color: #012169; text-decoration: underline; }
.cbpo-inquiry-submit, .cbpo-inquiry-done { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; border: 0; border-radius: 8px; background: #012169; color: #fff; padding: 14px 18px; font-size: 15px; font-weight: 700; cursor: pointer; transition: opacity .18s, background .18s; }
.cbpo-inquiry-submit:hover, .cbpo-inquiry-done:hover { background: #01287a; }
.cbpo-inquiry-submit[disabled] { opacity: .6; cursor: wait; }
.cbpo-inquiry-error { padding: 10px 12px; border-radius: 8px; background: #fff1f1; color: #9c2222; font-size: 13px; }
.cbpo-inquiry-hp { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }
.cbpo-inquiry-success { padding: 24px 8px 8px; text-align: center; }
.cbpo-inquiry-success-icon { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 18px; border-radius: 50%; background: #e8f4ed; color: #217a46; font-size: 30px; font-weight: 700; }
.cbpo-inquiry-success .cbpo-inquiry-eyebrow { margin-top: 0; }
.cbpo-inquiry-success .cbpo-inquiry-done { width: auto; min-width: 200px; margin-top: 24px; }
body.cbpo-inquiry-opened { overflow: hidden !important; }

.cbpo-inquiry-form-view[hidden],
.cbpo-inquiry-success[hidden] { display: none !important; }
.cbpo-inquiry-modal.cbpo-inquiry-complete .cbpo-inquiry-success { text-align: center !important; }
.cbpo-inquiry-modal.cbpo-inquiry-complete .cbpo-inquiry-success > * { margin-left: auto; margin-right: auto; }
@media (max-width: 640px) {
  .cbpo-inquiry-modal {
    padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));
    place-items: center;
    align-items: center;
  }
  .cbpo-inquiry-dialog {
    width: 100%;
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - 20px);
    border-radius: 16px;
    padding: 24px 16px 18px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .cbpo-inquiry-close { top: 10px; right: 10px; width: 38px; height: 38px; font-size: 26px; }
  .cbpo-inquiry-heading { padding-right: 38px; }
  .cbpo-inquiry-heading h2, .cbpo-inquiry-success h2 { font-size: 24px; line-height: 1.18; }
  .cbpo-inquiry-heading p, .cbpo-inquiry-success p { font-size: 14px; line-height: 1.5; }
  .cbpo-inquiry-property { gap: 11px; margin: 17px 0 18px; padding: 10px; border-radius: 10px; }
  .cbpo-inquiry-property img { width: 64px; height: 54px; border-radius: 7px; }
  .cbpo-inquiry-property strong { font-size: 13.5px; }
  .cbpo-inquiry-property-meta { gap: 3px 9px; margin-top: 3px; font-size: 11.5px; }
  .cbpo-inquiry-form { gap: 13px; }
  .cbpo-inquiry-grid { grid-template-columns: 1fr; gap: 13px; }
  .cbpo-inquiry-form input[type="text"],
  .cbpo-inquiry-form input[type="email"],
  .cbpo-inquiry-form input[type="tel"],
  .cbpo-inquiry-form textarea { font-size: 16px; padding: 11px 12px; }
  .cbpo-inquiry-form textarea { min-height: 88px; }
  .cbpo-inquiry-consent { gap: 9px; }
  .cbpo-inquiry-submit { min-height: 48px; padding: 13px 16px; }

  /* Success is a separate compact modal state rather than inheriting the
     tall form/bottom-sheet geometry. */
  .cbpo-inquiry-modal.cbpo-inquiry-complete .cbpo-inquiry-dialog {
    width: min(100%, 430px);
    min-height: 350px;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    display: grid;
    place-items: center;
    padding: 44px 22px 30px;
    overflow: auto;
  }
  .cbpo-inquiry-modal.cbpo-inquiry-complete .cbpo-inquiry-success {
    width: 100%;
    min-height: 250px;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .cbpo-inquiry-modal.cbpo-inquiry-complete .cbpo-inquiry-success-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 15px;
    font-size: 27px;
  }
  .cbpo-inquiry-modal.cbpo-inquiry-complete .cbpo-inquiry-eyebrow {
    width: 100%;
    text-align: center;
  }
  .cbpo-inquiry-modal.cbpo-inquiry-complete .cbpo-inquiry-success h2,
  .cbpo-inquiry-modal.cbpo-inquiry-complete .cbpo-inquiry-success p {
    width: 100%;
    max-width: 350px;
    text-align: center;
  }
  .cbpo-inquiry-modal.cbpo-inquiry-complete .cbpo-inquiry-done {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    margin-top: 22px;
  }
}

@media (max-width: 380px) {
  .cbpo-inquiry-modal { padding-left: 7px; padding-right: 7px; }
  .cbpo-inquiry-dialog { padding-left: 14px; padding-right: 14px; }
  .cbpo-inquiry-heading h2, .cbpo-inquiry-success h2 { font-size: 22px; }
  .cbpo-inquiry-property img { width: 58px; height: 50px; }
  .cbpo-inquiry-property strong { font-size: 13px; }
}

/* v2.0.45 / Theme 1.6.71 – Strong contrast isolation for the property inquiry modal.
 * The portfolio/theme contains global light-on-dark text rules. Keep all modal
 * form copy explicitly dark so inherited !important rules cannot wash it out.
 */
.cbpo-inquiry-modal .cbpo-inquiry-dialog {
    color: #182b49 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-heading h2,
.cbpo-inquiry-modal .cbpo-inquiry-success h2 {
    color: #012169 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-heading p,
.cbpo-inquiry-modal .cbpo-inquiry-success p {
    color: #42536b !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-eyebrow {
    color: #496783 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-property {
    background: #f3f6fa !important;
    border-color: #cdd7e4 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-property strong,
.cbpo-inquiry-modal .cbpo-inquiry-property strong span {
    color: #012169 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-property-meta,
.cbpo-inquiry-modal .cbpo-inquiry-property-meta span,
.cbpo-inquiry-modal .cbpo-inquiry-property-meta div {
    color: #52657d !important;
    opacity: 1 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-form label:not(.cbpo-inquiry-consent),
.cbpo-inquiry-modal .cbpo-inquiry-form label:not(.cbpo-inquiry-consent) > span {
    color: #1c3150 !important;
    opacity: 1 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-form label:not(.cbpo-inquiry-consent) > span {
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-form input[type="text"],
.cbpo-inquiry-modal .cbpo-inquiry-form input[type="email"],
.cbpo-inquiry-modal .cbpo-inquiry-form input[type="tel"],
.cbpo-inquiry-modal .cbpo-inquiry-form textarea {
    background: #ffffff !important;
    border-color: #b8c5d5 !important;
    color: #172b49 !important;
    caret-color: #012169 !important;
    box-shadow: inset 0 0 0 1px rgba(1, 33, 105, .015) !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-form input[type="text"]::placeholder,
.cbpo-inquiry-modal .cbpo-inquiry-form input[type="email"]::placeholder,
.cbpo-inquiry-modal .cbpo-inquiry-form input[type="tel"]::placeholder,
.cbpo-inquiry-modal .cbpo-inquiry-form textarea::placeholder {
    color: #66778c !important;
    opacity: 1 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-form input[type="text"]:focus,
.cbpo-inquiry-modal .cbpo-inquiry-form input[type="email"]:focus,
.cbpo-inquiry-modal .cbpo-inquiry-form input[type="tel"]:focus,
.cbpo-inquiry-modal .cbpo-inquiry-form textarea:focus {
    border-color: #012169 !important;
    box-shadow: 0 0 0 3px rgba(1, 33, 105, .12) !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-consent,
.cbpo-inquiry-modal .cbpo-inquiry-consent > span {
    color: #3f5169 !important;
    opacity: 1 !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-consent a {
    color: #012169 !important;
    font-weight: 600 !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 2px !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-consent input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    margin: 2px 1px 0 0 !important;
    accent-color: #012169 !important;
    opacity: 1 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-close {
    background: #edf2f7 !important;
    color: #012169 !important;
    border: 1px solid #d7e0eb !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-close:hover,
.cbpo-inquiry-modal .cbpo-inquiry-close:focus-visible {
    background: #e2e9f1 !important;
    color: #001a52 !important;
}

.cbpo-inquiry-modal .cbpo-inquiry-submit,
.cbpo-inquiry-modal .cbpo-inquiry-submit span,
.cbpo-inquiry-modal .cbpo-inquiry-done {
    color: #ffffff !important;
}
