/* ============================================
   DWELLING VENTURES — CUSTOMIZER CSS
   Child theme override layer
   ============================================ */

/* ── Spacing tokens ── */
:root {
  --sp-1: 8px; --sp-2: 16px; --sp-3: 24px;
  --sp-4: 32px; --sp-5: 48px; --sp-6: 64px; --sp-7: 96px;
  --lh-tight: 1.15; --lh-body: 1.6; --lh-loose: 1.88;
}

/* ── Inner page hero ── */
.page-hero {
  padding-top: 40px !important;
  padding-bottom: 32px !important;
}
@media (min-width: 922px) {
  .page-hero {
    padding-left: 88px !important;
    padding-right: 88px !important;
  }
}

/* ── Grid sections ── */
.grid-section {
  padding-top: 24px !important;
  padding-bottom: 64px !important;
}
@media (min-width: 922px) {
  .grid-section {
    padding-left: 88px !important;
    padding-right: 88px !important;
  }
}

/* ── Prop grid gap ── */
.prop-grid {
  gap: 16px !important;
}

/* ── About section ── */
.about-section {
  padding-top: 56px !important;
  padding-bottom: 64px !important;
}

/* ── Contact page desktop top gap ── */
.cu-page {
  padding-top: 40px !important;
}

/* ── Filter bar ── */
.grid-filter {
  margin-bottom: 24px !important;
}

/* ── LOGO — desktop 32px, mobile 24px ── */
.ast-primary-header-bar {
  padding-left: 32px !important;
  padding-right: 32px !important;
}
@media (max-width: 921px) {
  .ast-primary-header-bar {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* ── HERO SEARCH — above Schedule button, all devices ── */
#dw .hero-rule-h.top  { order: 1 !important; }
#dw .eyebrow          { order: 2 !important; }
#dw .hero-h1          { order: 3 !important; }
#dw .gold-rule        { order: 4 !important; }
#dw .hero-sub         { order: 4 !important; margin-bottom: 0 !important; }
#dw .hero-search-wrap { order: 5 !important; margin-top: 32px !important; margin-bottom: 0 !important; }
#dw .hero-btns        { order: 6 !important; margin-top: 32px !important; }
#dw .hero-stats       { order: 7 !important; }
#dw .hero-rule-h.bot  { order: 8 !important; }

/* ── FOOTER MOBILE ── */
@media (max-width: 921px) {
  .site-footer {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .site-above-footer-wrap,
  .ast-builder-footer-grid-columns,
  .ast-builder-grid-row-container-inner,
  .site-footer-above-section-1 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .footer-widget-area,
  .ast-builder-html-element,
  .ast-header-html,
  .dvft-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .dvft-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 40px 24px 24px !important;
  }
  .dvft-top {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    border-bottom: 0.5px solid rgba(255,255,255,0.1) !important;
  }
  .dvft-logo { margin-bottom: 16px !important; }
  .dvft-nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 16px !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }
  .dvft-nav > a {
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
    white-space: nowrap !important;
    text-align: left !important;
    justify-self: start !important;
    grid-column: auto !important;
    display: block !important;
  }
  .dvft-nav > *:not(a) { display: none !important; }
  .dvft-icons {
    justify-content: flex-start !important;
    display: flex !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
    margin-top: 0 !important;
  }
  .dvft-divider {
    display: block !important;
    height: 0.5px !important;
    background: rgba(255,255,255,0.1) !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    width: 100% !important;
  }
  .dvft-bottom {
    padding-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin-bottom: 12px !important;
  }
  .dvft-sep { display: none !important; }
  .dvft-tag {
    display: inline !important;
    font-size: 9px !important;
    letter-spacing: 0.14em !important;
    opacity: 0.5 !important;
    margin-bottom: 8px !important;
  }
  .dvft-tag-sep { display: inline !important; padding: 0 3px !important; margin: 0 !important; }
  .dvft-copy-wrap {
    padding-top: 12px !important;
    border-top: 0.5px solid rgba(255,255,255,0.1) !important;
  }
}

/* ── CONTRAST FIXES (bundle cache override) ── */
.dvft-sep{color:rgba(242,237,228,.40)!important}
.dvft-tag{color:rgba(242,237,228,.60)!important}
.dvft-tag-sep{color:rgba(242,237,228,.40)!important}
.dvft-cin{color:rgba(242,237,228,.55)!important}
.ast-copyright-text,.site-below-footer-wrap *{color:rgba(242,237,228,.50)!important}
/* ── CR4 contrast fix (bundle cache override) ── */
.page-hero p{color:rgba(242,237,228,.65)!important}
.prop-card-dev{color:rgba(242,237,228,.65)!important}
.prop-card-loc{color:rgba(242,237,228,.65)!important}

/* ── DW Property Page Mobile Fixes ── */
/* Hide Astra default page title on pages with DW design */
.entry-header { display: none !important; }

/* Fix hero top spacing on mobile for property detail pages */
@media (max-width: 640px) {
  #dw .dw-hero { padding-top: 80px !important; }
}
@media (max-width: 960px) {
  #dw .dw-hero { padding-top: 90px !important; }
}


/* ── Fix: Scroll-to-form anchor offset for sticky header ── */
#dw-form-section {
    scroll-margin-top: 100px;
}


/* ── WPForms Dark Theme Styling (Property Pages) ── */
.dw-overview-right .wpforms-container { margin: 0 !important; padding: 0 !important; }
.dw-overview-right .wpforms-form { display: flex; flex-direction: column; gap: 14px; }
.dw-overview-right .wpforms-field { margin: 0 !important; padding: 0 !important; }
.dw-overview-right .wpforms-field-label { font-family: "Jost", sans-serif !important; font-size: 9px !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: rgba(242,237,228,.4) !important; margin-bottom: 4px !important; font-weight: 400 !important; }
.dw-overview-right .wpforms-field-required { color: #C4A46B !important; }
.dw-overview-right input.wpforms-field-medium,
.dw-overview-right input.wpforms-field-large,
.dw-overview-right textarea.wpforms-field-medium,
.dw-overview-right textarea.wpforms-field-large,
.dw-overview-right .wpforms-field input[type="text"],
.dw-overview-right .wpforms-field input[type="email"],
.dw-overview-right .wpforms-field input[type="tel"],
.dw-overview-right .wpforms-field textarea {
  width: 100% !important;
  background: rgba(242,237,228,.04) !important;
  border: .5px solid rgba(242,237,228,.12) !important;
  color: rgba(242,237,228,.82) !important;
  font-family: "Jost", sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  padding: 13px 16px !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}
.dw-overview-right .wpforms-field input:focus,
.dw-overview-right .wpforms-field textarea:focus {
  border-color: #C4A46B !important;
}
.dw-overview-right .wpforms-submit-container { margin: 0 !important; padding: 4px 0 0 !important; }
.dw-overview-right button[type="submit"].wpforms-submit,
.dw-overview-right .wpforms-submit {
  width: 100% !important;
  background: #C4A46B !important;
  border: none !important;
  font-family: "Jost", sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: #080808 !important;
  padding: 16px !important;
  border-radius: 0 !important;
  cursor: pointer !important;
}
.dw-overview-right .wpforms-submit:hover { opacity: .85 !important; }
.dw-overview-right .wpforms-field-sublabel,
.dw-overview-right .wpforms-field-description { display: none !important; }
.dw-overview-right .wpforms-confirmation-container-full {
  background: transparent !important;
  border: none !important;
  color: rgba(242,237,228,.6) !important;
  font-family: "Jost", sans-serif !important;
  text-align: center;
  padding: 40px 0 !important;
}
.dw-overview-right .wpforms-confirmation-container-full p {
  color: rgba(242,237,228,.6) !important;
  font-size: 14px !important;
}
