/*
Theme Name:   HousingAI Child
Template:     astra
Version:      1.0.0
Description:  HousingAI.ca custom child theme
*/
/* ===== RESET & VARIABLES ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#F5F0E8;--bg2:#EDE8DF;--surf:#FFFFFF;--surf2:#FDFAF5;
  --bdr:rgba(152,120,72,.12);--bdr2:rgba(152,120,72,.22);
  --tx:#1A1410;--tx2:#5A4E42;--tx3:#A09080;
  --gold:#C4A45E;--gold2:#E2C07A;--gsoft:rgba(196,164,94,.12);
  --grn:#3A7A52;--red:#B85C58;--blue:#4A72A8;
  --nav-bg:rgba(7,9,13,.88);
}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--tx);
  font-family:'Geist Mono',monospace;
  overflow-x:hidden;
}
body::after{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.022;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px
}

/* ===== NAVIGATION ===== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 44px;height:62px;
  background:var(--nav-bg);backdrop-filter:blur(20px)
}
nav::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--gold) 20%,var(--gold2) 50%,var(--gold) 80%,transparent 100%);opacity:.7
}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-mark{
  width:32px;height:32px;flex-shrink:0;
  background:#0F1520;border:1.5px solid rgba(196,164,94,.38);border-radius:9px;
  position:relative;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 1px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.07)
}
.nav-mark::after{
  content:'';position:absolute;top:0;left:12%;right:12%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(196,164,94,.55),transparent)
}
.nav-wordmark{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:400;color:#E6E8EF}
.nav-wordmark em{font-style:italic;color:var(--gold)}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{
  color:rgba(230,232,239,.7);font-size:.7rem;letter-spacing:.08em;
  text-transform:uppercase;text-decoration:none;transition:color .2s
}
.nav-links a:hover{color:#E6E8EF}
.nav-links a.active{color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-pill{
  display:flex;align-items:center;gap:6px;
  background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.2);
  padding:5px 12px;border-radius:100px;font-size:.66rem;color:#4ADE80
}
.nav-dot{
  width:5px;height:5px;background:#4ADE80;border-radius:50%;
  animation:breathe 2.4s ease-in-out infinite
}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.3}}
.nav-cta{
  background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1A1410;
  padding:8px 18px;border-radius:6px;font-size:.7rem;font-weight:500;
  letter-spacing:.05em;text-decoration:none;transition:all .2s;white-space:nowrap
}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(196,164,94,.3)}

/* ===== HERO ===== */
.hero{
  position:relative;padding:148px 44px 80px;
  background:var(--bg);overflow:hidden
}
.hero-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(122,96,64,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(122,96,64,.04) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,black 20%,transparent 75%);
  pointer-events:none;opacity:.8
}
.hero-glow{
  position:absolute;top:20%;left:50%;transform:translateX(-50%);
  width:800px;height:300px;
  background:radial-gradient(ellipse,rgba(196,164,94,.1) 0%,transparent 70%);
  pointer-events:none
}
.hero-inner{max-width:1160px;margin:0 auto;position:relative}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid rgba(152,120,72,.2);background:var(--bg2);
  padding:7px 18px;border-radius:100px;font-size:.63rem;letter-spacing:.12em;
  text-transform:uppercase;color:#8A7A68;margin-bottom:28px
}
.eyebrow span{color:var(--gold)}
.hero-title{
  font-family:'Fraunces',serif;font-size:clamp(2.4rem,5vw,3.8rem);
  font-weight:300;line-height:1.18;margin-bottom:20px;color:var(--tx)
}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-sub{
  font-family:'Noto Sans SC',sans-serif;font-size:.86rem;line-height:2;
  color:var(--tx2);letter-spacing:.04em;font-weight:300;
  max-width:560px;margin-bottom:40px
}
.hero-stats{display:flex;gap:40px}
.hstat{display:flex;flex-direction:column;gap:4px}
.hstat-num{
  font-family:'Fraunces',serif;font-size:1.6rem;
  font-weight:300;color:var(--gold);font-style:italic
}
.hstat-label{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}

/* ===== FILTER BAR ===== */
.filter-bar{
  background:var(--bg2);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);
  position:sticky;top:62px;z-index:90;padding:0 44px
}
.filter-inner{
  max-width:1160px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;height:54px
}
.filter-tabs{display:flex;gap:4px}
.ftab{
  background:transparent;border:none;color:#8A7A68;
  font-family:'Geist Mono',monospace;font-size:.65rem;letter-spacing:.1em;
  text-transform:uppercase;padding:7px 14px;border-radius:6px;
  cursor:pointer;transition:all .2s;white-space:nowrap
}
.ftab:hover{color:#4A3820;background:rgba(122,96,64,.07)}
.ftab.active{color:#6A4820;background:var(--gsoft);border:1px solid rgba(196,164,94,.3)}
.filter-right{display:flex;align-items:center;gap:12px}
.lang-toggle{display:flex;background:var(--bg);border:1px solid var(--bdr);border-radius:6px;overflow:hidden}
.ltab{
  background:transparent;border:none;color:#8A7A68;
  font-family:'Geist Mono',monospace;font-size:.63rem;letter-spacing:.08em;
  padding:6px 12px;cursor:pointer;transition:all .2s
}
.ltab.active{background:rgba(196,164,94,.18);color:#6A4820}
.search-wrap{position:relative}
.search-input{
  background:var(--bg);border:1px solid var(--bdr);border-radius:6px;
  padding:7px 12px 7px 32px;font-family:'Geist Mono',monospace;font-size:.65rem;
  color:var(--tx2);width:200px;outline:none;transition:border-color .2s
}
.search-input::placeholder{color:var(--tx3)}
.search-input:focus{border-color:rgba(196,164,94,.5)}
.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--tx3);font-size:.75rem;pointer-events:none}

/* ===== MAIN LAYOUT ===== */
.main-wrap{
  width:100%;max-width:1160px;margin:0 auto;
  display:grid;grid-template-columns:1fr 300px;gap:0;
  align-items:start;background:var(--bg)
}

/* ===== LEFT COLUMN ===== */
.articles-col{background:var(--bg);padding:48px 48px 60px;border-right:1px solid var(--bdr)}
.section-label{
  color:#7A6040;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;
  margin-bottom:28px;display:flex;align-items:center;gap:14px
}
.section-label::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(90deg,rgba(122,96,64,.25),transparent)
}

/* ===== FEATURED CARD ===== */
.card-featured{
  background:var(--surf);border:1px solid rgba(196,164,94,.2);border-radius:16px;
  overflow:hidden;margin-bottom:24px;cursor:pointer;
  transition:border-color .3s,transform .3s,box-shadow .3s;
  position:relative;box-shadow:0 2px 16px rgba(122,96,64,.06);
  text-decoration:none;display:block
}
.card-featured::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent)
}
.card-featured:hover{
  border-color:rgba(196,164,94,.5);transform:translateY(-3px);
  box-shadow:0 8px 32px rgba(122,96,64,.12)
}
.card-featured:hover .card-arrow{transform:translate(3px,-3px)}
.cf-inner{padding:40px}
.cf-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.cf-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--gsoft);border:1px solid rgba(196,164,94,.3);
  padding:5px 12px;border-radius:100px;font-size:.6rem;
  letter-spacing:.1em;text-transform:uppercase;color:#8A6A30
}
.badge-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:breathe 2s ease-in-out infinite}
.card-arrow{font-size:1.2rem;color:var(--tx3);transition:transform .25s}
.cf-title{
  font-size:clamp(1.5rem,2.5vw,2rem);font-weight:300;line-height:1.3;
  margin-bottom:16px;color:var(--tx)
}
.cf-title.zh{font-family:'Noto Sans SC',sans-serif;font-weight:400;letter-spacing:.02em}
.cf-title.en{font-family:'Fraunces',serif}
.cf-title em{font-style:italic;color:var(--gold)}
.cf-title.zh em{font-style:normal;color:var(--gold)}
.cf-sub{
  font-family:'Noto Sans SC',sans-serif;font-size:.84rem;line-height:2;
  color:var(--tx2);letter-spacing:.03em;font-weight:300;
  margin-bottom:28px;max-width:600px
}
.cf-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.meta-tag{
  font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;
  color:#7A6A58;background:var(--bg2);border:1px solid rgba(122,96,64,.15);
  padding:4px 10px;border-radius:4px
}
.meta-tag.red{color:var(--red);border-color:rgba(184,92,88,.2);background:rgba(184,92,88,.07)}
.meta-tag.blue{color:var(--blue);border-color:rgba(74,114,168,.2);background:rgba(74,114,168,.07)}
.meta-tag.green{color:var(--grn);border-color:rgba(58,122,82,.2);background:rgba(58,122,82,.07)}
.meta-date{font-size:.6rem;letter-spacing:.06em;color:var(--tx3);margin-left:auto}

/* ===== STANDARD CARD ===== */
.card-list{display:flex;flex-direction:column;gap:14px;margin-bottom:40px}
.card{
  background:var(--surf);border:1px solid rgba(122,96,64,.12);border-radius:12px;
  padding:28px;cursor:pointer;transition:border-color .25s,transform .25s,box-shadow .25s;
  display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;
  box-shadow:0 1px 8px rgba(122,96,64,.04);text-decoration:none;color:inherit
}
.card:hover{
  border-color:rgba(196,164,94,.4);transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(122,96,64,.1)
}
.card:hover .card-arrow{transform:translate(3px,-3px)}
.card-cats{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}
.card-title{
  font-size:1.1rem;font-weight:300;line-height:1.4;
  color:var(--tx);margin-bottom:10px
}
.card-title.zh{font-family:'Noto Sans SC',sans-serif;font-weight:400;letter-spacing:.02em}
.card-title.en{font-family:'Fraunces',serif}
.card-title em{font-style:italic;color:var(--gold)}
.card-title.zh em{font-style:normal;color:var(--gold)}
.card-excerpt{
  font-family:'Noto Sans SC',sans-serif;font-size:.8rem;line-height:1.95;
  color:var(--tx2);letter-spacing:.02em;font-weight:300;margin-bottom:16px
}
.card-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.card-footer .meta-date{margin-left:0}
.card-read{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
.card-aside{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.card-num{
  font-family:'Fraunces',serif;font-size:2.8rem;font-weight:300;
  color:rgba(196,164,94,.15);line-height:1;font-style:italic;user-select:none
}

/* ===== COMPACT CARD ===== */
.card-compact{
  background:var(--surf2);border:1px solid rgba(122,96,64,.1);border-radius:10px;
  padding:18px 22px;cursor:pointer;transition:border-color .25s,background .25s;
  display:flex;gap:16px;align-items:flex-start;text-decoration:none;color:inherit
}
.card-compact:hover{border-color:rgba(196,164,94,.3);background:var(--surf)}
.cc-index{
  font-family:'Fraunces',serif;font-size:1.4rem;font-weight:300;
  color:rgba(196,164,94,.35);font-style:italic;flex-shrink:0;line-height:1;padding-top:2px
}
.cc-title{
  font-size:.9rem;font-weight:300;color:var(--tx);margin-bottom:6px;line-height:1.4
}
.cc-title.zh{font-family:'Noto Sans SC',sans-serif;font-weight:400;letter-spacing:.02em}
.cc-title.en{font-family:'Fraunces',serif}
.cc-title em{font-style:italic;color:var(--gold)}
.cc-title.zh em{font-style:normal;color:var(--gold)}
.cc-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cc-date{font-size:.58rem;letter-spacing:.06em;color:var(--tx3)}

/* 图片支持 */
.card-image{
  width:100%;height:160px;object-fit:cover;border-radius:8px;
  opacity:1;transition:opacity .3s
}

/* ===== LANG BADGE ===== */
.lang-badge{
  font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;
  padding:2px 7px;border-radius:3px;border:1px solid rgba(122,96,64,.2);
  color:var(--tx3);background:var(--bg2)
}
.lang-badge.en{color:var(--blue);border-color:rgba(74,114,168,.25);background:rgba(74,114,168,.06)}
.lang-badge.zh{color:#8A6A30;border-color:rgba(196,164,94,.25);background:rgba(196,164,94,.06)}

/* ===== EMPTY / ERROR STATES ===== */
.state-box{text-align:center;padding:60px 20px;color:var(--tx3)}
.state-icon{font-size:2rem;margin-bottom:16px;opacity:.5}
.state-title{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:300;color:var(--tx2);margin-bottom:8px}
.state-msg{font-size:.75rem;line-height:1.8;max-width:360px;margin:0 auto 20px}

/* ===== PAGINATION ===== */
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:48px}
.pg-btn{
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  background:var(--surf);border:1px solid var(--bdr);border-radius:6px;
  font-size:.72rem;color:var(--tx2);cursor:pointer;transition:all .2s
}
.pg-btn:hover{border-color:rgba(196,164,94,.3);color:var(--gold)}
.pg-btn.active{background:var(--gsoft);border-color:rgba(196,164,94,.3);color:var(--gold)}
.pg-ellipsis{color:var(--tx3);font-size:.72rem;padding:0 4px}

/* ===== SIDEBAR ===== */
.sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:116px;padding:48px 32px 60px;background:var(--bg2)}
.sb-block{
  background:var(--surf2);border:1px solid rgba(152,120,72,.14);border-radius:12px;
  padding:24px;position:relative;overflow:hidden;box-shadow:0 1px 6px rgba(122,96,64,.04)
}
.sb-block::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1.5px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent)
}
.sb-label{
  font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:#8A6A30;margin-bottom:18px;display:flex;align-items:center;gap:10px
}
.sb-label::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(90deg,rgba(152,120,72,.25),transparent)
}
.pulse-rows{display:flex;flex-direction:column;gap:10px}
.pulse-row{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:10px;border-bottom:1px solid rgba(122,96,64,.08)
}
.pulse-row:last-child{border-bottom:none;padding-bottom:0}
.pulse-name{font-size:.68rem;color:var(--tx2);font-family:'Noto Sans SC',sans-serif}
.pulse-val{font-family:'Fraunces',serif;font-size:.95rem;font-style:italic;font-weight:300;color:var(--tx)}
.pulse-val.up{color:var(--red)}
.pulse-val.dn{color:var(--grn)}
.pulse-chg{font-size:.6rem;padding:2px 7px;border-radius:3px}
.pulse-chg.up{background:rgba(184,92,88,.1);color:var(--red)}
.pulse-chg.dn{background:rgba(58,122,82,.1);color:var(--grn)}
.topic-list{display:flex;flex-wrap:wrap;gap:7px}
.topic-pill{
  background:var(--bg2);border:1px solid rgba(152,120,72,.18);
  padding:5px 11px;border-radius:6px;font-size:.62rem;letter-spacing:.06em;
  color:#6A5840;cursor:pointer;transition:all .2s;font-family:'Geist Mono',monospace
}
.topic-pill:hover{border-color:rgba(196,164,94,.5);color:#3A2810;background:#E2D8C8}
.ai-insight{
  background:linear-gradient(135deg,rgba(196,164,94,.1),rgba(196,164,94,.04));
  border:1px solid rgba(196,164,94,.3);border-radius:12px;padding:22px;position:relative;overflow:hidden
}
.ai-insight::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1.5px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent)
}
.ai-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ai-orb{
  width:26px;height:26px;background:radial-gradient(circle,var(--gold2),var(--gold));
  border-radius:50%;animation:nodeGlow 2.4s ease-in-out infinite;flex-shrink:0
}
@keyframes nodeGlow{0%,100%{box-shadow:0 0 6px rgba(226,192,122,.6),0 0 14px rgba(196,164,94,.3)}50%{box-shadow:0 0 12px rgba(226,192,122,.9),0 0 24px rgba(196,164,94,.5)}}
.ai-label{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#8A6A30}
.ai-text{
  font-family:'Noto Sans SC',sans-serif;font-size:.76rem;line-height:1.9;
  color:#4A3E32;font-weight:300;letter-spacing:.02em;margin-bottom:12px
}
.ai-cta{
  display:inline-flex;align-items:center;gap:6px;font-size:.62rem;
  letter-spacing:.08em;text-transform:uppercase;color:#8A6030;
  text-decoration:none;transition:gap .2s
}
.ai-cta:hover{gap:10px}
.follow-link{
  display:flex;align-items:center;gap:10px;text-decoration:none;
  padding:10px;border-radius:8px;border:1px solid var(--bdr);
  background:var(--bg);transition:border-color .2s
}
.follow-link:hover{border-color:rgba(196,164,94,.45)}

/* ===== REVEAL ANIMATION ===== */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ===== FOOTER ===== */
footer{
  border-top:1px solid var(--bdr);padding:32px 44px;
  display:flex;align-items:center;justify-content:space-between;
  background:#07090D
}
.footer-brand{font-family:'Fraunces',serif;font-size:.9rem;font-style:italic;color:var(--gold)}
.footer-links{display:flex;gap:24px}
.footer-links a{
  font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(230,232,239,.45);text-decoration:none;transition:color .2s
}
.footer-links a:hover{color:var(--gold)}
.footer-copy{font-size:.6rem;letter-spacing:.06em;color:rgba(230,232,239,.45)}

/* ===== RESPONSIVE ===== */
@media(max-width:1000px){
  .main-wrap{grid-template-columns:1fr}
  .articles-col{border-right:none;border-bottom:1px solid var(--bdr)}
  .sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:32px 20px}
}
@media(max-width:700px){
  nav{padding:0 20px}
  .nav-links,.nav-pill{display:none}
  .hero{padding:120px 20px 60px}
  .filter-bar{padding:0 20px}
  .filter-tabs{gap:2px;overflow-x:auto}
  .filter-right{display:none}
  .articles-col{padding:32px 20px 48px}
  .card{grid-template-columns:1fr}
  .card-num{display:none}
  .sidebar{grid-template-columns:1fr;padding:24px 20px}
  footer{flex-direction:column;gap:16px;text-align:center;padding:24px 20px}
  .hero-stats{gap:24px}
}
/* 测试规则 - 临时使用 */
body {
    background: #F5F0E8 !important;
}