/*
Theme Name: CDA Realtor
Theme URI: https://example.com
Author: Dan Bablinskas
Description: Custom real estate + local-lifestyle theme for Coeur d'Alene, Idaho, built around market reports, neighborhood guides, and Explore CDA travel content. SEO-first structure with semantic HTML5, schema.org markup, and Customizer-editable market data.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: cda-realtor
*/

:root{
  --lake:#16403E;
  --lake-light:#1F5450;
  --fog:#EDEAE0;
  --birch:#FAF9F5;
  --cedar:#8B5A3C;
  --pine:#3F5A3D;
  --ink:#2A2A27;
  --ink-soft:#5C5B54;
  --line:#D8D4C6;
  --rural:#6B7A4F; /* reserved for future Rural & Land category */
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'Inter',sans-serif;
  background:var(--fog);
  color:var(--ink);
  line-height:1.6;
}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-0.01em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px;}
.screen-reader-text{position:absolute;left:-9999px;}

/* WordPress core classes (required for valid themes) */
.alignleft{float:left;margin:0 24px 16px 0;}
.alignright{float:right;margin:0 0 16px 24px;}
.aligncenter{display:block;margin:0 auto 16px;}
.wp-caption{max-width:100%;}
.wp-caption-text{font-size:12px;color:var(--ink-soft);margin-top:6px;}

/* header */
header.site-header{background:var(--birch);border-bottom:1px solid var(--line);}
.headbar{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;max-width:1140px;margin:0 auto;flex-wrap:wrap;gap:12px;}
.logo{font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--lake);}
.logo span{display:block;font-family:'Inter',sans-serif;font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--cedar);margin-top:2px;}
nav.main-nav ul{display:flex;gap:28px;font-size:14px;font-weight:500;list-style:none;flex-wrap:wrap;}
nav.main-nav a{color:var(--ink);border-bottom:2px solid transparent;padding-bottom:4px;transition:border-color .15s;}
nav.main-nav a:hover{border-color:var(--cedar);}
.call-btn{background:var(--lake);color:var(--birch);padding:10px 18px;border-radius:2px;font-size:13px;font-weight:600;letter-spacing:0.02em;}

/* hero */
.hero{background:var(--lake);color:var(--fog);padding:72px 0 0;overflow:hidden;}
.hero-inner{display:grid;grid-template-columns:1.2fr 0.8fr;gap:56px;align-items:center;padding-bottom:64px;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:#9BC3B8;margin-bottom:18px;}
.hero h1{font-size:46px;line-height:1.08;color:var(--birch);margin-bottom:22px;}
.hero p{font-size:16px;color:#C9D9D4;max-width:440px;margin-bottom:30px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{background:var(--cedar);color:var(--birch);padding:13px 22px;font-size:14px;font-weight:600;border-radius:2px;display:inline-block;}
.btn-ghost{border:1px solid #4E7873;color:var(--birch);padding:13px 22px;font-size:14px;font-weight:600;border-radius:2px;display:inline-block;}

/* market snapshot card */
.snapshot{background:var(--birch);color:var(--ink);border-radius:3px;padding:26px 26px 22px;border-top:4px solid var(--cedar);}
.snapshot-title{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px;}
.snap-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);}
.snap-row:last-child{border-bottom:none;padding-bottom:0;}
.snap-label{font-size:13px;color:var(--ink-soft);}
.snap-value{font-family:'IBM Plex Mono',monospace;font-size:19px;font-weight:500;color:var(--lake);}
.snap-note{font-size:11px;color:var(--ink-soft);margin-top:14px;}

/* skyline divider */
.skyline{width:100%;display:block;}

/* subnav */
.subnav{background:var(--birch);border-bottom:1px solid var(--line);}
.subnav ul{display:flex;gap:30px;padding:16px 32px;font-size:13px;font-weight:500;color:var(--ink-soft);flex-wrap:wrap;list-style:none;max-width:1140px;margin:0 auto;}
.subnav a:hover{color:var(--lake);}

/* sections */
.section{padding:64px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px;border-bottom:1px solid var(--line);padding-bottom:18px;flex-wrap:wrap;gap:10px;}
.section-head h2{font-size:26px;color:var(--lake);}
.section-head a{font-size:13px;font-weight:600;color:var(--cedar);}

/* article grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.card{background:var(--birch);border:1px solid var(--line);border-radius:2px;overflow:hidden;display:flex;flex-direction:column;}
.card-media{height:150px;background:linear-gradient(135deg,var(--pine),var(--lake-light));position:relative;}
.card-media img{width:100%;height:100%;object-fit:cover;}
.tag{position:absolute;top:12px;left:12px;font-size:10px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:5px 9px;border-radius:2px;background:var(--birch);}
.tag.market{color:var(--lake);}
.tag.explore{color:var(--cedar);}
.tag.neighborhood{color:var(--pine);}
.tag.rural{color:var(--rural);} /* not yet used in nav — reserved for future Rural & Land posts */
.card-body{padding:20px 20px 22px;flex:1;display:flex;flex-direction:column;}
.card-body h3{font-size:17px;line-height:1.3;margin-bottom:10px;color:var(--ink);}
.card-body h3 a:hover{color:var(--cedar);}
.card-body p{font-size:13.5px;color:var(--ink-soft);flex:1;margin-bottom:14px;}
.card-meta{font-size:11px;color:var(--ink-soft);font-family:'IBM Plex Mono',monospace;letter-spacing:0.02em;}

/* about strip */
.about{background:var(--birch);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.about-inner{display:grid;grid-template-columns:180px 1fr;gap:36px;align-items:center;padding:56px 0;}
.avatar{width:180px;height:180px;border-radius:2px;background:var(--pine);overflow:hidden;}
.about h2{font-size:24px;color:var(--lake);margin-bottom:10px;}
.about p{font-size:14.5px;color:var(--ink-soft);max-width:600px;margin-bottom:16px;}
.credentials{display:flex;gap:18px;font-size:12px;color:var(--ink-soft);font-family:'IBM Plex Mono',monospace;flex-wrap:wrap;}

/* resources */
.resources .grid{grid-template-columns:repeat(4,1fr);gap:18px;}
.res-card{background:var(--birch);border:1px solid var(--line);padding:22px 18px;text-align:left;}
.res-card h3{font-size:14.5px;color:var(--lake);margin-bottom:6px;}
.res-card p{font-size:12.5px;color:var(--ink-soft);}

/* single post / page */
.single-post{padding:56px 0;max-width:760px;margin:0 auto;}
.single-post .post-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--cedar);margin-bottom:14px;}
.single-post h1{font-size:36px;color:var(--lake);margin-bottom:16px;}
.single-post .post-meta{font-size:13px;color:var(--ink-soft);margin-bottom:30px;font-family:'IBM Plex Mono',monospace;}
.single-post .post-content{font-size:16px;}
.single-post .post-content p{margin-bottom:20px;}
.single-post .post-content h2{font-size:24px;color:var(--lake);margin:36px 0 14px;}
.single-post .post-content h3{font-size:19px;color:var(--ink);margin:28px 0 12px;}
.breadcrumbs{font-size:12.5px;color:var(--ink-soft);padding:18px 0;}
.breadcrumbs a:hover{color:var(--cedar);}

/* archive */
.archive-head{padding:48px 0 24px;}
.archive-head h1{font-size:32px;color:var(--lake);}
.archive-head p{color:var(--ink-soft);margin-top:10px;}

/* pagination */
.pagination{display:flex;gap:10px;justify-content:center;padding:40px 0;}
.pagination a,.pagination span{padding:8px 14px;border:1px solid var(--line);font-size:13px;border-radius:2px;}
.pagination .current{background:var(--lake);color:var(--birch);border-color:var(--lake);}

/* footer */
footer.site-footer{background:var(--lake);color:#9BC3B8;padding:44px 0 30px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px;}
footer h4{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--birch);margin-bottom:14px;font-weight:600;}
footer a{display:block;font-size:13px;color:#9BC3B8;margin-bottom:9px;}
footer a:hover{color:var(--birch);}
.foot-brand{font-family:'Fraunces',serif;font-size:19px;color:var(--birch);margin-bottom:10px;}
.foot-legal{border-top:1px solid #2A5854;padding-top:20px;font-size:11.5px;color:#6E9C93;}

@media(max-width:860px){
  nav.main-nav{display:none;}
  .hero-inner{grid-template-columns:1fr;}
  .grid{grid-template-columns:1fr;}
  .about-inner{grid-template-columns:1fr;}
  .resources .grid{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
