/*
Theme Name: Affordable Properties
Theme URI: https://affordableproperties.net/
Author: AffordableProperties.net
Description: Responsive public theme for the AffordableProperties.net marketplace.
Version: 0.15.0
Requires at least: 6.9
Requires PHP: 8.2
Text Domain: global-re-theme
*/

:root {
    color-scheme: light;
    --ink: #17322c;
    --muted: #52625d;
    --forest: #075b43;
    --forest-dark: #064333;
    --mint: #e5f3eb;
    --sand: #f7f4ed;
    --paper: #ffffff;
    --line: #d8e3dc;
    --focus: #b44a0b;
    --radius: 1rem;
}

.re-report-table { max-width: 100%; overflow-x: auto; margin-block: 1.5rem; }
.re-report-table:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.re-report-table table { width: 100%; min-width: 26rem; border-collapse: collapse; }
.re-report-table caption { text-align: start; font-weight: 700; margin-block-end: .6rem; }
.re-report-table th, .re-report-table td { padding: .65rem; text-align: start; vertical-align: top; border-block-end: 1px solid var(--line); overflow-wrap: anywhere; }
.re-report-table thead { background: var(--mint); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--sand);
    color: var(--ink);
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: 1rem;
    line-height: 1.65;
}
a { color: var(--forest-dark); text-underline-offset: .16em; }
a:hover { color: #093e30; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
img { max-width: 100%; height: auto; }
.skip-link {
    position: absolute;
    inset-inline-start: 1rem;
    top: -8rem;
    z-index: 100;
    padding: .5rem .8rem;
    background: var(--paper);
}
.skip-link:focus { top: 1rem; }
.container { width: min(100% - 2rem, 74rem); margin-inline: auto; }
.site-header { background: var(--paper); border-block-end: 1px solid var(--line); }
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 2rem;
    flex-wrap: wrap;
    padding-block: .85rem;
}
.brand { color: var(--ink); font-size: 1.2rem; font-weight: 800; letter-spacing: -.035em; text-decoration: none; }
.brand-mark {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    margin-inline-end: .35rem;
    border-radius: .6rem;
    background: var(--forest);
    color: var(--paper);
}
.nav-list { display: flex; gap: .4rem 1.25rem; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.nav-list a { display: inline-block; padding: .35rem .1rem; font-weight: 650; text-decoration: none; }
.nav-list a:hover { text-decoration: underline; }
.hero {
    background: linear-gradient(145deg, #064b38 0%, #0d7255 65%, #0d624b 100%);
    color: var(--paper);
    padding-block: clamp(3rem, 8vw, 6rem);
}
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(16rem, .8fr); align-items: center; gap: 3rem; }
.hero h1 { margin: .3rem 0 1rem; max-width: 16ch; font-size: clamp(2.2rem, 5.5vw, 4.2rem); line-height: 1.08; letter-spacing: -.05em; }
.hero p { max-width: 38rem; margin: 0 0 1.4rem; color: #e7f7ee; font-size: 1.12rem; }
.eyebrow { font-size: .82rem !important; text-transform: uppercase; font-weight: 750; letter-spacing: .12em; }
.hero .button { color: var(--forest-dark); background: var(--paper); }
.hero-card { border: 1px solid #96c7ad; border-radius: var(--radius); padding: 1.3rem; background: #ffffff12; }
.hero-card h2 { margin: 0 0 .6rem; font-size: 1.3rem; }
.hero-card ul { margin: 0; padding-inline-start: 1.25rem; }
.button, button, input[type="submit"] {
    display: inline-block;
    border: 1px solid transparent;
    border-radius: .55rem;
    padding: .65rem 1rem;
    background: var(--forest);
    color: var(--paper);
    font: inherit;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}
.button:hover, button:hover, input[type="submit"]:hover { background: var(--forest-dark); color: var(--paper); }
main { min-height: 55vh; }
.section { padding-block: clamp(2rem, 5vw, 4rem); }
.section h1, .section h2 { line-height: 1.18; letter-spacing: -.035em; }
.intro { color: var(--muted); max-width: 48rem; }
.panel { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(1.1rem, 3vw, 2rem); box-shadow: 0 .4rem 1.7rem #123e2910; }
.panel + .panel { margin-block-start: 1rem; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-block-start: 1.5rem; }
.cards article { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.4rem; }
.cards h3 { margin-top: 0; }
.muted { color: var(--muted); }
.re-saas-properties ul, .re-saas-dashboard ul { padding-inline-start: 1.3rem; }
.re-saas-properties li, .re-saas-dashboard li { padding-block: .5rem; border-block-end: 1px solid var(--line); }
.re-saas-dashboard > form { max-width: 40rem; margin-block: 1.5rem; padding: 1.2rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.re-saas-dashboard li form { display: inline-block; margin-inline-start: .5rem; }
.re-workspace-tools { margin-block: 2rem; }
.re-save-search { border: 1px solid var(--line); padding: 1rem; border-radius: .6rem; margin-block: 1.5rem; }
.re-save-search summary { cursor: pointer; font-weight: 700; }
.re-save-search form, .re-saved-account form { margin-block: 1rem; }
.re-saved-account .re-tool-card form { display: block; }
.re-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.re-public-photo { display: block; width: 100%; max-width: 100%; height: auto; border-radius: .6rem; margin-block: 1rem; }
.re-details dt { font-weight: 700; }
.re-details dd { margin-inline-start: 0; margin-block-end: .6rem; }
fieldset { border: 1px solid var(--line); border-radius: .5rem; padding: 1rem; min-width: 0; }
input[type="number"] { width: min(100%, 15rem); padding: .65rem; font: inherit; }
@media (max-width: 48rem) { .re-catalog-grid { grid-template-columns: 1fr; } }
.re-tool-card { padding: clamp(1rem, 3vw, 1.5rem); margin-block: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.re-tool-card h3, .re-file-row h4 { margin-block-start: 0; }
.re-tool-card form { margin-block: 1rem; }
.re-file-row { border-block-start: 1px solid var(--line); padding-block: 1rem; }
.re-file-row form { display: inline-block; margin-inline-end: .6rem; }
input[type="file"] { max-width: 100%; font: inherit; }
input[type="checkbox"] { width: 1.2rem; height: 1.2rem; vertical-align: middle; }
:focus-visible { outline: 3px solid #9d5400; outline-offset: 3px; }
[role="alert"] { border-inline-start: .3rem solid #a62424; padding: .75rem; }
[role="status"] { border-inline-start: .3rem solid var(--forest); padding: .75rem; }
label { font-weight: 650; }
input[type="text"], input[type="email"], textarea, select {
    width: min(100%, 35rem);
    margin-block-start: .25rem;
    padding: .65rem .75rem;
    border: 1px solid #849e90;
    border-radius: .45rem;
    background: var(--paper);
    color: var(--ink);
    font: inherit;
}
textarea { min-height: 8rem; }
.site-footer { background: var(--ink); color: var(--paper); padding-block: 2rem; }
.site-footer a { color: var(--paper); }
.footer-inner { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.entry-content { overflow-wrap: anywhere; }
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.screen-reader-text:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
}
@media (max-width: 48rem) {
    .hero-grid { grid-template-columns: 1fr; gap: 1.8rem; }
    .cards { grid-template-columns: 1fr; }
    .header-inner { align-items: flex-start; }
    .nav-list { gap: .2rem .8rem; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

.re-crm form,.re-inquiry form{margin-block:1rem}.re-crm textarea,.re-inquiry textarea{width:100%;max-width:100%;min-height:7rem}.re-crm select,.re-inquiry input{max-width:100%}.re-crm input[type=checkbox],.re-inquiry input[type=checkbox]{width:auto}.re-crm .re-tool-card{overflow-wrap:anywhere}

.re-email{border-block:1px solid #d8e2dc;margin-block:1.5rem;padding-block:1.2rem}.re-email form{margin-block:1rem}.re-email input[type=email],.re-email input[name=code]{width:min(100%,28rem)}.re-email p,.re-email li{overflow-wrap:anywhere}.re-email details{margin-block:1rem}

.re-unit-search-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:1rem;align-items:end}.re-unit-search-form p{margin:0}.re-unit-search-form input,.re-unit-search-form select{width:100%;min-width:0}.re-units,.re-unit-holds{overflow-wrap:anywhere}.re-units details,.re-unit-holds form{margin-block:1rem}.re-units textarea{max-width:100%;width:100%}
.re-units input:not([type=checkbox]):not([type=hidden]),.re-units select,.re-unit-holds input[type=number]{min-height:44px;max-width:100%;padding:.65rem .75rem;border:1px solid #b5c2bb;border-radius:.65rem;font:inherit}
.re-routing{margin-block:1.2rem;overflow-wrap:anywhere}.re-routing summary{min-height:44px;padding-block:.6rem;cursor:pointer}.re-routing .re-search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:1rem;margin-block:1rem}.re-routing .re-search-grid label{display:grid;gap:.35rem;min-width:0}.re-routing input:not([type=checkbox]):not([type=hidden]),.re-routing select{width:100%;min-width:0;max-width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.5rem;font:inherit}.re-routing fieldset label,.re-routing form>p>label{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.4rem .5rem}.re-routing fieldset label{margin-inline-end:.3rem}.re-routing input[type=checkbox]{flex-shrink:0}
.re-requirements{overflow-wrap:anywhere}.re-requirements form{margin-block:1rem}.re-requirements details{margin-block:1rem}.re-requirements summary{min-height:44px;padding-block:.6rem;cursor:pointer}.re-requirement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:1rem;align-items:end}.re-requirement-grid label{display:grid;gap:.35rem;min-width:0}.re-requirements input:not([type=hidden]):not([type=checkbox]),.re-requirements select,.re-requirements textarea{min-height:44px;width:100%;max-width:100%;min-width:0;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.5rem;font:inherit}.re-requirements form>p>label:has(input[type=checkbox]){display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.4rem}.re-requirements input[type=checkbox]{flex-shrink:0}
.re-privacy{overflow-wrap:anywhere}.re-privacy form{margin-block:1rem}.re-privacy label:not(.re-privacy-confirm){display:grid;gap:.4rem}.re-privacy textarea,.re-privacy select{max-width:100%;min-width:0;width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.5rem;font:inherit}.re-privacy-confirm{display:flex;gap:.5rem;align-items:center;min-height:44px;padding:.5rem}.re-privacy-confirm input{flex-shrink:0}.re-privacy summary{min-height:44px;padding-block:.6rem;cursor:pointer}.re-privacy details{margin-block:1rem}

.re-property-search{overflow-wrap:anywhere}.re-property-search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;align-items:end}.re-property-search-grid label{display:grid;gap:.4rem;min-width:0}.re-property-search-grid input,.re-property-search-grid select{width:100%;min-width:0;max-width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.5rem;font:inherit}.re-property-results li{margin-block:1.2rem}.re-property-results p{margin-block:.4rem}

.re-property-watches{overflow-wrap:anywhere}.re-property-watches form{margin-block:1rem}.re-property-watches label:not(.re-watch-confirm){display:grid;gap:.4rem}.re-property-watches select{max-width:100%;width:100%;min-width:0;min-height:44px;padding:.65rem .75rem;font:inherit;border:1px solid var(--line);border-radius:.5rem}.re-watch-confirm{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.5rem}.re-watch-confirm input{flex-shrink:0}.re-property-watches .re-tool-card{margin-block:1rem}.re-property-watches button{min-height:44px}

.re-privacy-review pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;border:1px solid currentColor;max-width:100%;max-height:65vh;overflow:auto}.re-privacy input:not([type="checkbox"]){max-width:100%}

.re-promotion-badge{display:inline-block;padding:.2rem .6rem;background:#123d47;color:#fff;border-radius:.25rem;font-weight:700}.re-promoted-results{margin-block:1.5rem;padding-block:1rem;border-block:1px solid #b9cbd1}.re-promoted-results nav a{display:inline-block;padding:.65rem .2rem;min-height:44px}
