/* austinhomesearches.com — "Listing Sheet" design system
   Aesthetic: MLS listing sheet / surveyor's folder. Manila tabs, blueprint grid,
   plat-map parcel grids, dotted field leaders, stamped annotations.
   Fonts: Big Shoulders Display (engineering display) / Libre Franklin (body) / IBM Plex Mono (figures)
   Themes: t-manila (default) · t-blueprint · t-openhouse · t-nightlisting · t-curbappeal
   Theme key in localStorage: theme-austinhomesearches */

/* ---------- THEME 1 — MANILA FILE (default flagship): kraft folder, paper sheets, stamp-red ink ---------- */
:root, html.t-manila{
  --paper:#e6dcc1; --sheet:#f8f3e2; --sheet2:#eee5cc; --line:#b6a578; --line2:#d3c69d;
  --ink:#2c2418; --dim:#675a40; --faint:#988a64;
  --acc:#b3382c; --acc2:#1d4e89; --stamp:#b3382c;
  --grid:rgba(122,102,58,.13); --gridmaj:rgba(122,102,58,.20);
  --tabbg:#dccd9f; --tabon:#f8f3e2; --shadow:rgba(82,62,22,.22);
}
/* ---------- THEME 2 — BLUEPRINT: drafting-table cyanotype, white linework, pencil-yellow accents ---------- */
html.t-blueprint{
  --paper:#0f3a60; --sheet:#15466f; --sheet2:#113e64; --line:#56809f; --line2:#2e5b82;
  --ink:#e9f2fb; --dim:#abc6dd; --faint:#7ea2c2;
  --acc:#ffd166; --acc2:#93d2ff; --stamp:#ffd166;
  --grid:rgba(255,255,255,.085); --gridmaj:rgba(255,255,255,.16);
  --tabbg:#0b2c4a; --tabon:#15466f; --shadow:rgba(2,14,28,.55);
}
/* ---------- THEME 3 — OPEN HOUSE: bright Saturday-morning white, sold-sign red, yard-sign green ---------- */
html.t-openhouse{
  --paper:#fafaf4; --sheet:#ffffff; --sheet2:#f2f1e7; --line:#d6d1bf; --line2:#e6e2d4;
  --ink:#21252b; --dim:#595e66; --faint:#999a91;
  --acc:#c92f2f; --acc2:#1f7a4d; --stamp:#1f7a4d;
  --grid:rgba(70,80,70,.065); --gridmaj:rgba(70,80,70,.12);
  --tabbg:#ebeadb; --tabon:#ffffff; --shadow:rgba(45,45,35,.13);
}
/* ---------- THEME 4 — NIGHT LISTING: after-dark charcoal, amber porch-light, cool streetlamp blue ---------- */
html.t-nightlisting{
  --paper:#13151b; --sheet:#1b1e27; --sheet2:#171a22; --line:#3b4050; --line2:#2a2e3a;
  --ink:#ece5d2; --dim:#a99f87; --faint:#6f6a5b;
  --acc:#e0a83c; --acc2:#85aed1; --stamp:#e0a83c;
  --grid:rgba(224,168,60,.06); --gridmaj:rgba(224,168,60,.11);
  --tabbg:#0d0f14; --tabon:#1b1e27; --shadow:rgba(0,0,0,.55);
}
/* ---------- THEME 5 — CURB APPEAL: sage lawn green, brick walkway, fresh trim white ---------- */
html.t-curbappeal{
  --paper:#e8eddb; --sheet:#fbfcf2; --sheet2:#eff2e0; --line:#b3c195; --line2:#d0d9b8;
  --ink:#27311c; --dim:#586745; --faint:#8a996f;
  --acc:#a4502e; --acc2:#42753e; --stamp:#a4502e;
  --grid:rgba(82,110,58,.10); --gridmaj:rgba(82,110,58,.18);
  --tabbg:#d7dfc0; --tabon:#fbfcf2; --shadow:rgba(52,72,32,.17);
}

/* ---------- BASE ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:140px}
body{
  font-family:'Libre Franklin',-apple-system,'Segoe UI',sans-serif;
  background:var(--paper);color:var(--ink);font-size:15.5px;line-height:1.65;
  background-image:
    linear-gradient(var(--gridmaj) 1px,transparent 1px),
    linear-gradient(90deg,var(--gridmaj) 1px,transparent 1px),
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:130px 130px,130px 130px,26px 26px,26px 26px;
  transition:background-color .25s,color .25s;
}
a{color:var(--acc2);text-decoration:none}
a:hover{text-decoration:underline}
strong{color:var(--ink)}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
h1,h2,h3,h4{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;line-height:1.05;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.wrap{max-width:1060px;margin:0 auto;padding:0 22px}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 22px}

/* ---------- FIXED NAV: folder masthead + manila tabs ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--paper);border-bottom:2px solid var(--ink);box-shadow:0 4px 0 var(--shadow)}
.nav-top{display:flex;align-items:baseline;justify-content:space-between;gap:14px;max-width:1060px;margin:0 auto;padding:9px 22px 5px}
.brand{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:1.45rem;letter-spacing:.05em;color:var(--ink);text-transform:uppercase;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand b{color:var(--acc);font-weight:800}
.formno{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.14em;color:var(--faint);text-transform:uppercase;white-space:nowrap}
.tabs{display:flex;gap:4px;max-width:1060px;margin:0 auto;padding:4px 22px 0;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;font-family:'IBM Plex Mono',monospace;font-size:.66rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--dim);background:var(--tabbg);border:1.5px solid var(--line);border-bottom:none;border-radius:8px 8px 0 0;padding:6px 11px 7px}
.tab:hover{color:var(--ink);text-decoration:none}
.tab.on{background:var(--tabon);color:var(--acc);border-color:var(--ink);font-weight:700}
.page{padding-top:122px;padding-bottom:30px}

/* ---------- HERO / FILE HEADER ---------- */
.hero{padding:36px 0 10px}
.kicker{font-family:'IBM Plex Mono',monospace;font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--acc2);display:block;margin-bottom:10px}
.hero h1{font-size:clamp(2.5rem,6.5vw,4.2rem);font-weight:800;margin-bottom:12px}
.hero h1 em{font-style:normal;color:var(--acc)}
.hero .sub{max-width:660px;color:var(--dim);font-size:1.02rem;line-height:1.75}
.hero-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}

/* ---------- STAMP ---------- */
.stamp{display:inline-block;transform:rotate(-3deg);border:2.5px solid var(--stamp);color:var(--stamp);padding:3px 12px 4px;border-radius:4px;font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;opacity:.92;white-space:nowrap}
.stamp.flat{transform:none}

/* ---------- SECTION HEADERS ---------- */
h2.sec{display:flex;align-items:center;gap:12px;font-size:1.75rem;font-weight:700;margin:42px 0 4px}
h2.sec .secno{font-family:'IBM Plex Mono',monospace;font-size:.62rem;font-weight:600;letter-spacing:.18em;color:var(--acc);border:1.5px solid var(--acc);padding:2px 8px;border-radius:3px;transform:translateY(-3px);flex:none}
h2.sec:after{content:"";flex:1;border-top:2px solid var(--line);min-width:30px}
.sec-note{font-size:.85rem;color:var(--faint);margin-bottom:14px;font-style:italic}

/* ---------- LISTING SHEET ---------- */
.sheet{background:var(--sheet);border:1.5px solid var(--line);box-shadow:5px 5px 0 var(--shadow);margin:18px 0}
.sheet-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1.5px solid var(--line);background:var(--sheet2);padding:7px 14px}
.sb-t{font-family:'Big Shoulders Display',sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase}
.sb-no{font-family:'IBM Plex Mono',monospace;font-size:.56rem;letter-spacing:.16em;color:var(--faint);text-transform:uppercase;white-space:nowrap}
.sheet-body{padding:16px 16px 18px}

/* ---------- PLAT GRID (parcel cards) ---------- */
.plat{display:grid;grid-template-columns:repeat(auto-fill,minmax(295px,1fr));border-top:1.5px solid var(--line);border-left:1.5px solid var(--line);background:var(--sheet);box-shadow:5px 5px 0 var(--shadow);margin:16px 0}
.lot{border-right:1.5px solid var(--line);border-bottom:1.5px solid var(--line);padding:16px 16px 14px;position:relative;background:var(--sheet)}
.lot:hover{background:var(--sheet2)}
.lot-no{position:absolute;top:8px;right:10px;font-family:'IBM Plex Mono',monospace;font-size:.54rem;letter-spacing:.14em;color:var(--faint);text-transform:uppercase}
.lot h3{font-size:1.18rem;font-weight:700;color:var(--acc2);margin-bottom:5px;padding-right:54px}
.lot .fig{font-family:'IBM Plex Mono',monospace;font-size:.7rem;font-weight:600;color:var(--acc);display:block;margin-bottom:7px;letter-spacing:.03em}
.lot p{font-size:.865rem;color:var(--dim);line-height:1.62}
.lot p strong{color:var(--ink)}

/* ---------- FIELD ROWS (dotted leaders) ---------- */
.fld{display:flex;align-items:baseline;gap:10px;padding:6px 0;font-size:.875rem}
.fld .k{font-family:'IBM Plex Mono',monospace;font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);flex:none}
.fld .dots{flex:1;border-bottom:1.5px dotted var(--line);transform:translateY(-4px);min-width:16px}
.fld .v{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:.78rem;color:var(--ink);text-align:right}

/* ---------- ARTICLE PROSE ---------- */
.prose{padding:6px 0 10px}
.prose h2{font-size:1.6rem;margin:34px 0 12px;color:var(--ink)}
.prose h3{font-size:1.2rem;margin:24px 0 8px;color:var(--acc2)}
.prose p{margin-bottom:15px;color:var(--dim);line-height:1.78}
.prose ul,.prose ol{margin:10px 0 18px 24px;color:var(--dim)}
.prose li{margin-bottom:8px;line-height:1.7}
.prose li::marker{color:var(--acc);font-family:'IBM Plex Mono',monospace;font-size:.8em}

/* ---------- NOTE BOX (file memo) ---------- */
.memo{background:var(--sheet);border:1.5px solid var(--line);border-left:5px solid var(--acc);box-shadow:5px 5px 0 var(--shadow);padding:18px 20px;margin:26px 0}
.memo h3{font-size:1.15rem;margin-bottom:6px;color:var(--acc)}
.memo p{color:var(--dim);font-size:.9rem;margin:0}

/* ---------- FAQ ---------- */
.faq{margin-bottom:12px;background:var(--sheet);border:1.5px solid var(--line);box-shadow:4px 4px 0 var(--shadow)}
.faq-q{padding:14px 18px;cursor:pointer;font-weight:600;font-size:.95rem;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-q .arrow{font-family:'IBM Plex Mono',monospace;color:var(--faint);transition:transform .2s;font-size:.75rem;flex:none}
.faq.open .arrow{transform:rotate(180deg)}
.faq-a{padding:0 18px 16px;font-size:.88rem;color:var(--dim);line-height:1.7;display:none;border-top:1px dotted var(--line2);margin-top:0;padding-top:12px}
.faq.open .faq-a{display:block}

/* ---------- VIDEO LEDGER ---------- */
.vrow{display:grid;grid-template-columns:430px 1fr;gap:0;background:var(--sheet);border:1.5px solid var(--line);box-shadow:5px 5px 0 var(--shadow);margin:0 0 20px}
.vrow iframe{width:100%;aspect-ratio:16/9;border:none;display:block;background:#000}
.vmeta{padding:16px 18px;display:flex;flex-direction:column;gap:6px;border-left:1.5px solid var(--line)}
.vrank{font-family:'IBM Plex Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.18em;color:var(--acc);text-transform:uppercase}
.vtitle{font-family:'Big Shoulders Display',sans-serif;font-weight:700;font-size:1.3rem;line-height:1.12;text-transform:uppercase}
.vchan{font-size:.82rem;color:var(--dim)}
.vviews{font-family:'IBM Plex Mono',monospace;font-size:.72rem;font-weight:600;color:var(--acc2)}
@media(max-width:760px){.vrow{grid-template-columns:1fr}.vmeta{border-left:none;border-top:1.5px solid var(--line)}}

/* ---------- SOURCE / RESOURCE ENTRIES ---------- */
.src{background:var(--sheet);border:1.5px solid var(--line);box-shadow:4px 4px 0 var(--shadow);padding:16px 18px 14px;margin-bottom:14px;position:relative}
.src:hover{background:var(--sheet2)}
.src h3{font-size:1.2rem;margin-bottom:2px}
.src h3 a{color:var(--acc2)}
.src-url{font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--faint);margin-bottom:7px;word-break:break-all}
.src p{font-size:.875rem;color:var(--dim);line-height:1.65}
.src .note{font-size:.82rem;color:var(--ink);font-style:italic;border-left:3px solid var(--acc);padding:6px 12px;margin-top:9px;background:var(--sheet2)}
.src-rank{position:absolute;top:12px;right:14px;font-family:'IBM Plex Mono',monospace;font-size:.62rem;font-weight:700;letter-spacing:.12em;color:var(--faint)}

/* ---------- LINK STRIP / NETWORK BAND ---------- */
.band{border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);background:var(--sheet2);padding:14px 22px;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 18px;margin-top:46px}
.band .band-l{font-family:'IBM Plex Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.band a{font-size:.8rem;color:var(--acc2);white-space:nowrap}

/* ---------- FOOTER ---------- */
.foot{border-top:2px solid var(--ink);background:var(--sheet);padding:28px 0 90px;font-size:.84rem;color:var(--dim)}
.foot-grid{display:flex;flex-wrap:wrap;gap:22px 40px;justify-content:space-between;align-items:flex-start}
.foot h4{font-size:1rem;letter-spacing:.08em;margin-bottom:8px;color:var(--ink)}
.foot .chips{display:flex;flex-wrap:wrap;gap:6px}
.foot .chips a{font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.08em;border:1px solid var(--line);border-radius:3px;padding:3px 9px;color:var(--dim);text-transform:uppercase}
.foot .chips a:hover{color:var(--acc);border-color:var(--acc);text-decoration:none}
.foot-base{margin-top:20px;padding-top:14px;border-top:1px dotted var(--line);font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;color:var(--faint);text-transform:uppercase;display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between}

/* ---------- THEME PICKER ---------- */
#ahs-picker{position:fixed;right:14px;bottom:14px;z-index:2147483600;display:flex;align-items:center;gap:3px;background:var(--sheet);border:1.5px solid var(--ink);border-radius:6px;box-shadow:4px 4px 0 var(--shadow);padding:5px 7px;max-width:calc(100vw - 22px);overflow-x:auto;scrollbar-width:none}
#ahs-picker::-webkit-scrollbar{display:none}
#ahs-picker .pk-l{font-family:'IBM Plex Mono',monospace;font-size:.54rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);padding:0 6px;white-space:nowrap}
#ahs-picker button{cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--dim);background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 8px;white-space:nowrap;line-height:1}
#ahs-picker button:hover{border-color:var(--line)}
#ahs-picker button[aria-current="true"]{background:var(--acc);border-color:var(--acc);color:var(--sheet)}
@media(max-width:600px){#ahs-picker .pk-l{display:none}}

/* ---------- AD SLOT FRAME ---------- */
.adframe{margin:34px auto 0;max-width:1060px;padding:0 22px}

@media(max-width:640px){
  .hero h1{font-size:2.3rem}
  .plat{grid-template-columns:1fr}
  .nav-top{padding:8px 14px 4px}
  .formno{display:none}
  .page{padding-top:112px}
}
