/* hotfix: outline buttons stay transparent (also in theme repo) */
.is-style-outline .wp-block-button__link{background: transparent !important;}

/* bigger header logo */
.jm-header .jm-logo-white, .jm-header .jm-logo-color { height: 58px !important; }

/* kill navy stripe above footer */
main.wp-block-group { padding-top: 0 !important; padding-bottom: 0 !important; }
/* Mobile menu: compact dropdown */
@media (max-width: 781px) {
  .wp-block-navigation__responsive-container.is-menu-open {
    inset: 0 0 auto 0 !important;
    height: auto !important; min-height: 0 !important;
    padding: 5.25rem 1.5rem 1.75rem !important;
    box-shadow: 0 30px 50px -25px rgba(8,12,18,.6);
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 0; align-items: flex-start; justify-content: flex-start;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items: flex-start; gap: .9rem;
  }
}
/* Mobile one-line header (live) */
@media (max-width: 640px) {
  .jm-header .jm-logo-white, .jm-header .jm-logo-color { height: 36px !important; width: auto !important; }
  .jm-header > .wp-block-group, .jm-header .wp-block-group .wp-block-group { flex-wrap: nowrap !important; gap: 10px; }
  .jm-callbtn .wp-block-button__link { padding: .45em .75em !important; font-size: .65rem !important; }
  .jm-header { padding-left: 1rem !important; padding-right: 1rem !important; }
  .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
}
/* Mobile menu: left-aligned links */
@media (max-width: 781px) {
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    align-items: flex-start !important; justify-content: flex-start !important; text-align: left;
  }
}
/* Equal hero buttons (live) */
.wp-block-cover .wp-block-button.has-custom-width { width: auto !important; min-width: 175px; }
.wp-block-cover .wp-block-button.has-custom-width .wp-block-button__link { width: 100%; text-align: center; white-space: nowrap; }
@media (max-width: 640px) {
  .wp-block-cover .wp-block-button.has-custom-width { min-width: 145px; }
}

/* Area listings embed v2 */
.jm-idx { max-width: 1080px; margin: 0 auto; background: var(--wp--preset--color--cream); padding: 8px; border: 1px solid rgba(243,236,221,.45); }
.jm-idx iframe { display: block; width: 100%; height: 850px; border: none !important; }
/* Lead forms (live until 0.2.9 upload) */
html { scroll-behavior: smooth; }
.jm-form, #communities, #how-jack-sells { scroll-margin-top: 96px; }
.jm-form .wp-block-jetpack-contact-form { max-width: 560px; margin: 0 auto; }
.jm-form .wp-block-jetpack-contact-form input[type=text],
.jm-form .wp-block-jetpack-contact-form input[type=email],
.jm-form .wp-block-jetpack-contact-form input[type=tel],
.jm-form .wp-block-jetpack-contact-form select,
.jm-form .wp-block-jetpack-contact-form textarea { width: 100%; background: #fff; color: var(--wp--preset--color--ink); border: 1px solid rgba(38,48,63,.25); border-radius: 0; padding: 14px; font-size: 1rem; line-height: 1.4; }
.jm-form .wp-block-jetpack-contact-form input:focus, .jm-form .wp-block-jetpack-contact-form select:focus { outline: 2px solid var(--wp--preset--color--navy); outline-offset: 1px; }
.jm-form .wp-block-jetpack-contact-form label, .jm-form .wp-block-jetpack-contact-form legend { font-size: var(--wp--preset--font-size--sm); font-weight: 500; color: var(--wp--preset--color--ink); }
.jm-form .wp-block-jetpack-contact-form .wp-block-button, .jm-form .wp-block-jetpack-contact-form button[type=submit] { width: 100%; }
.jm-form .wp-block-jetpack-contact-form button[type=submit] { background: var(--wp--preset--color--red); color: #fff; border: 0; padding: 16px 24px; font-size: 1rem; letter-spacing: .06em; cursor: pointer; }
.jm-form .wp-block-jetpack-contact-form button[type=submit]:hover { background: var(--wp--preset--color--red-dark); }
.jm-consent-slot { color: var(--wp--preset--color--muted); }
.jm-sticky-cta { display: none; }
@media (max-width: 781px) {
  .jm-sticky-cta { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: var(--wp--preset--color--navy-deep); box-shadow: 0 -10px 30px -18px rgba(8,12,18,.6); }
  .jm-sticky-cta .wp-block-button, .jm-sticky-cta .wp-block-button__link { width: 100%; text-align: center; }
}
/* Equal-height cards */
.wp-block-column > .wp-block-group.has-cream-lift-background-color:only-child { height: 100%; box-sizing: border-box; }
/* Tile overlay v2: darker wash for bright town photos */
.jm-tile .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(180deg, rgba(0,0,0,.40) 0%, rgba(0,0,0,.45) 45%, rgba(0,0,0,.88) 100%) !important; }
/* Tile hover v2: red wash on the background layer (always under text) */
.jm-tile::after { content: none !important; }
.jm-tile .wp-block-cover__background { transition: background .25s ease; }
.jm-tile:hover .wp-block-cover__background { background: linear-gradient(180deg, rgba(182,65,60,.50) 0%, rgba(182,65,60,.48) 45%, rgba(20,0,0,.85) 100%) !important; }