/* 99Sqyd v1.3.135 — Production Visual + Mobile Stabilization
   Targeted final deployment safety layer. No broad redesign rules. */

:root{
  --sqyd-prod-safe-x: clamp(16px, 4.5vw, 28px);
  --sqyd-prod-safe-y: clamp(14px, 3.5vw, 24px);
  --sqyd-prod-touch: 44px;
  --sqyd-prod-ink: #15130f;
  --sqyd-prod-paper: #faf7f1;
  --sqyd-prod-line: rgba(30, 27, 23, .14);
  --sqyd-prod-gold: #9a6b2f;
}

/* Global overflow guard: fixes mobile pages that drift wider than the viewport. */
html,
body{
  max-width: 100%;
  overflow-x: clip;
}
@supports not (overflow-x: clip){
  html,
  body{ overflow-x: hidden; }
}

body.sqyd-hd-menu-open{
  touch-action: none;
}

/* Header/mobile drawer must sit above Elementor/RealHomes hero layers on iOS. */
body .sqyd-hd,
body .sqyd-elementor-site-header,
body header.sqyd-hd{
  isolation: isolate;
}

@media (max-width: 1080px){
  body .sqyd-hd,
  body .sqyd-elementor-site-header,
  body .site-header,
  body header{
    z-index: 2147482000 !important;
  }

  body .sqyd-hd__main,
  body .sqyd-hd--member .sqyd-hd__member-main{
    z-index: 2147482100 !important;
  }

  body .sqyd-hd__backdrop{
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    pointer-events: none;
  }

  body .sqyd-hd.is-menu-open .sqyd-hd__backdrop,
  body .sqyd-hd--member.is-menu-open .sqyd-hd__backdrop{
    pointer-events: auto;
  }

  body .sqyd-hd__drawer{
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    width: min(420px, 92vw) !important;
    z-index: 2147483200 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    transform: translate3d(100%,0,0) !important;
    will-change: transform;
  }

  body .sqyd-hd.is-menu-open .sqyd-hd__drawer,
  body .sqyd-hd--member.is-menu-open .sqyd-hd__drawer{
    transform: translate3d(0,0,0) !important;
  }
}

@media (max-width: 767px){
  /* Keep mobile header compact and aligned. */
  body .sqyd-hd{ --gutter: var(--sqyd-prod-safe-x) !important; }
  body .sqyd-hd__main-inner,
  body .sqyd-hd--member .sqyd-hd__main-inner{
    min-height: 58px !important;
    height: auto !important;
    padding-left: var(--sqyd-prod-safe-x) !important;
    padding-right: var(--sqyd-prod-safe-x) !important;
    gap: 10px !important;
  }

  body .sqyd-hd__logo,
  body .sqyd-hd--member .sqyd-hd__logo{
    min-width: 0 !important;
    max-width: min(52vw, 160px) !important;
    overflow: hidden !important;
  }
  body .sqyd-hd__logo img,
  body .sqyd-hd--member .sqyd-hd__logo img{
    max-width: 100% !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
  }

  body .sqyd-hd__burger,
  body .sqyd-hd--member .sqyd-hd__burger,
  body .mobile-toggle,
  body [data-sqyd-menu-toggle]{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--sqyd-prod-touch) !important;
    min-width: var(--sqyd-prod-touch) !important;
    height: var(--sqyd-prod-touch) !important;
    min-height: var(--sqyd-prod-touch) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  body .sqyd-hd__drawer{
    width: min(420px, 100vw) !important;
    border-left: 0 !important;
    padding-left: max(0px, env(safe-area-inset-left)) !important;
    padding-right: max(0px, env(safe-area-inset-right)) !important;
  }

  body .sqyd-hd__drawer-head,
  body .sqyd-hd__drawer-brand,
  body .sqyd-hd__drawer-search,
  body .sqyd-hd__drawer-foot,
  body .sqyd-hd__drawer-nav > li > a,
  body .sqyd-hd__drawer-nav > li > .sqyd-hd__m-toggle{
    padding-left: var(--sqyd-prod-safe-x) !important;
    padding-right: var(--sqyd-prod-safe-x) !important;
  }

  /* Dashboard/member pages: avoid text touching borders and keep controls reachable. */
  body .sqyd-dashboard,
  body .sqyd-dashboard-shell,
  body .sqyd-desk-shell,
  body .sqyd-content-shell,
  body .sqyd-member,
  body .sqyd-member-shell,
  body .sqyd-member-command,
  body .sqyd-command-centre,
  body .sqyd-command-center,
  body .sqyd-dashboard-intelligence,
  body .sqyd-transaction-ops,
  body .sqyd-deal-flow,
  body .sqyd-payment-tracker,
  body .sqyd-asset-management{
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--sqyd-prod-safe-x) !important;
    padding-right: var(--sqyd-prod-safe-x) !important;
    box-sizing: border-box !important;
  }

  body .sqyd-dashboard-sidebar,
  body .sqyd-member-sidebar,
  body .sqyd-command-sidebar,
  body .sqyd-desk-sidebar,
  body .sqyd-dashboard-nav,
  body .sqyd-member-nav{
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    display: flex !important;
    gap: 8px !important;
    padding: 10px 0 !important;
    margin: 0 0 14px !important;
    scrollbar-width: thin;
  }

  body .sqyd-dashboard-sidebar a,
  body .sqyd-member-sidebar a,
  body .sqyd-command-sidebar a,
  body .sqyd-desk-sidebar a,
  body .sqyd-dashboard-nav a,
  body .sqyd-member-nav a,
  body .sqyd-dashboard-sidebar button,
  body .sqyd-member-sidebar button{
    white-space: nowrap !important;
    min-height: 40px !important;
    flex: 0 0 auto !important;
  }

  /* Logged-in strip: compact on mobile and never creates an endless banner. */
  body .sqyd-member-strip,
  body .sqyd-hd__member-strip{
    max-width: 100% !important;
    overflow: hidden !important;
  }
  body .sqyd-member-strip{
    padding: 10px var(--sqyd-prod-safe-x) !important;
  }
  body .sqyd-member-strip > div,
  body .sqyd-member-strip nav,
  body .sqyd-hd__member-strip-inner{
    min-width: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px){
  /* Tablet dashboard guard: use stack/horizontal nav where old sidebars vanish. */
  body .sqyd-dashboard,
  body .sqyd-member-command,
  body .sqyd-desk-shell,
  body .sqyd-command-centre{
    padding-left: clamp(22px, 4vw, 40px) !important;
    padding-right: clamp(22px, 4vw, 40px) !important;
  }
  body .sqyd-dashboard-sidebar,
  body .sqyd-member-sidebar,
  body .sqyd-command-sidebar,
  body .sqyd-desk-sidebar,
  body .sqyd-dashboard-nav,
  body .sqyd-member-nav{
    position: relative !important;
    width: 100% !important;
    overflow-x: auto !important;
    display: flex !important;
    gap: 10px !important;
    padding: 12px 0 !important;
    margin-bottom: 18px !important;
  }
  body .sqyd-dashboard-sidebar a,
  body .sqyd-member-sidebar a,
  body .sqyd-command-sidebar a,
  body .sqyd-desk-sidebar a,
  body .sqyd-dashboard-nav a,
  body .sqyd-member-nav a{
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }
}

/* Duplicate welcome/member strips: CSS guard plus JS data marker in the asset. */
body.logged-in .sqyd-member-strip + .sqyd-member-strip,
body.logged-in .sqyd-dashboard-welcome + .sqyd-dashboard-welcome,
body.logged-in .sqyd-welcome + .sqyd-welcome,
body.logged-in .sqyd-hd ~ .sqyd-member-strip,
body.logged-in .sqyd-elementor-site-header ~ .sqyd-member-strip,
body.logged-in .sqyd-duplicate-strip,
body.logged-in [data-sqyd-duplicate-strip="1"]{
  display: none !important;
}

/* Property archive/card equal heights without changing RealHomes data fields. */
body .sqyd-property-grid,
body .sqyd-property-grid--v2,
body .rh_property__row,
body .rh_properties,
body .properties-list,
body .property-items,
body .elementor-widget-sqyd_property_grid .elementor-widget-container{
  align-items: stretch !important;
}

body .sqyd-property-card,
body .sqyd-deal-card,
body .property-card,
body .rh_prop_card,
body .rh_property_card,
body article.property,
body .ere-property{
  height: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  display: flex;
  flex-direction: column;
}

body .sqyd-property-card img,
body .sqyd-deal-card img,
body .property-card img,
body .rh_prop_card img,
body .rh_property_card img,
body article.property img{
  max-width: 100% !important;
  object-fit: cover;
}

body .sqyd-property-card .sqyd-card-body,
body .sqyd-deal-card .sqyd-card-body,
body .property-card .property-content,
body .rh_prop_card .rh_prop_card__details,
body .rh_property_card .rh_property_card__details{
  flex: 1 1 auto;
  min-width: 0;
}

/* Button and message contrast. This avoids the old black-text-only-on-hover bug. */
body .sqyd-btn,
body .sqyd-button,
body .sqyd-hd__btn,
body .sqyd-card .button,
body .sqyd-member-command .button,
body .sqyd-desk-shell .button,
body .sqyd-action-card a,
body input[type="submit"].sqyd-btn,
body button.sqyd-btn{
  color: inherit;
  text-decoration: none !important;
}

body .sqyd-btn--primary,
body .sqyd-button--primary,
body .sqyd-hd__btn--gold,
body .sqyd-card .button-primary,
body .sqyd-member-command .button-primary,
body .sqyd-desk-shell .button-primary,
body input[type="submit"].button-primary{
  color: #15130f !important;
}

body .sqyd-btn--dark,
body .sqyd-button--dark,
body .sqyd-hd__quick-btn,
body .sqyd-action-card a[href*="dashboard"],
body .sqyd-member-command .button.button-primary,
body .sqyd-desk-shell .button.button-primary{
  color: #fff7e6 !important;
}

body .sqyd-notice,
body .sqyd-message,
body .sqyd-alert,
body .notice-sqyd,
body .sqyd-action-bar,
body .sqyd-status-bar,
body .sqyd-form-response,
body .sqyd-error,
body .sqyd-success{
  color: var(--sqyd-prod-ink) !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere;
}
body .sqyd-notice a,
body .sqyd-message a,
body .sqyd-alert a,
body .notice-sqyd a,
body .sqyd-action-bar a,
body .sqyd-status-bar a,
body .sqyd-form-response a{
  color: #614013 !important;
  text-decoration: underline !important;
}

/* Mobile footer compaction: prevents the very long one-column footer feeling. */
@media (max-width: 767px){
  body .sqyd-footer,
  body footer,
  body .site-footer{
    overflow-x: hidden !important;
  }
  body .sqyd-footer-grid,
  body .sqyd-footer__grid,
  body .footer-widgets,
  body .rh_footer__wrap,
  body .site-footer .container,
  body footer .elementor-container,
  body footer .elementor-row{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px 14px !important;
    align-items: start !important;
  }
  body .sqyd-footer-brand,
  body .sqyd-footer__brand,
  body footer .elementor-column:first-child,
  body footer .elementor-widget-theme-site-logo,
  body footer .elementor-widget-image:first-child{
    grid-column: 1 / -1 !important;
  }
  body footer h2,
  body footer h3,
  body footer h4,
  body footer .widget-title,
  body footer .elementor-heading-title{
    font-size: 13px !important;
    line-height: 1.25 !important;
    margin-bottom: 9px !important;
  }
  body footer a,
  body footer li,
  body footer p{
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 420px){
  body footer .elementor-container,
  body footer .elementor-row{
    grid-template-columns: 1fr !important;
  }
}
