/* ==========================================================================
   TaxCareHub — Site-wide stylesheet
   Based on approved "Trust Platform" concept. Shared by every page.
   ========================================================================== */

:root{
  --navy:#16204f; --navy-2:#0f1838;
  --gold:#c9a227; --gold-light:#f6ecc9; --gold-dark:#a8850f;
  --star:#f2a900;
  --green:#1a9d6f; --green-bg:#e7f7f0;
  --amber:#d99a2b; --amber-bg:#fbf1de;
  --red:#c0392b; --red-bg:#fbeceb;
  --bg:#ffffff; --bg-alt:#f7f8fc;
  --border:#e6e8f0;
  --text:#161a2c; --muted:#666b80;
  --radius-sm:8px; --radius-md:14px; --radius-lg:22px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:'Inter',sans-serif; color:var(--text); background:var(--bg); line-height:1.6; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,.display{font-family:'Poppins',sans-serif; font-weight:800; letter-spacing:-0.015em; color:var(--text); margin:0 0 0.5em;}
p{margin:0 0 1em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{margin:0;}
.wrap{max-width:1200px; margin:0 auto; padding:0 32px;}
.container-sm{max-width:820px; margin:0 auto; padding:0 32px;}

/* ---------- Buttons ---------- */
.btn-primary{background:var(--navy); color:#fff; padding:14px 28px; border-radius:8px; font-weight:700; font-size:15px; display:inline-block; border:none; cursor:pointer;}
.btn-primary:hover{background:var(--navy-2);}
.btn-secondary{background:#fff; color:var(--navy); border:1.5px solid var(--navy); padding:14px 28px; border-radius:8px; font-weight:700; font-size:15px; display:inline-block; cursor:pointer;}
.btn-secondary:hover{background:var(--bg-alt);}
.btn-gold{background:var(--gold); color:#fff; padding:14px 28px; border-radius:8px; font-weight:700; font-size:15px; display:inline-block; border:none; cursor:pointer;}
.btn-gold:hover{background:var(--gold-dark);}

/* ---------- Header / Nav ---------- */
.site-header{position:sticky; top:0; z-index:60; background:rgba(255,255,255,0.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--border);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 32px;}
.logo{display:flex; align-items:center;}
.logo-short-mobile{display:none;}
@media(max-width:400px){
  .logo-full{display:none;}
  .logo-short-mobile{display:block;}
}
.navlinks{display:flex; align-items:center; gap:30px; font-size:14.5px; font-weight:600;}
.navlinks > a:hover{color:var(--navy);}
.nav-dropdown{position:relative;}
.nav-dropdown > a{display:flex; align-items:center; gap:5px;}
.dropdown-menu{
  position:absolute; top:calc(100% + 14px); left:0; background:#fff; border:1px solid var(--border); border-radius:12px;
  box-shadow:0 16px 40px rgba(22,32,79,0.12); padding:8px; min-width:220px; opacity:0; visibility:hidden; transform:translateY(6px);
  transition:all .18s;
}
.nav-dropdown:hover .dropdown-menu{opacity:1; visibility:visible; transform:translateY(0);}
.dropdown-menu a{display:block; padding:10px 14px; border-radius:8px; font-size:14px;}
.dropdown-menu a:hover{background:var(--bg-alt); color:var(--navy);}
.nav-cta{background:var(--navy); color:#fff; padding:10px 20px; border-radius:8px; font-size:14px; font-weight:700;}
.nav-cta:hover{background:var(--navy-2);}
.mobile-toggle{display:none; background:none; border:none; cursor:pointer; color:var(--navy);}
.mobile-menu{display:none; flex-direction:column; padding:10px 32px 20px; border-top:1px solid var(--border);}
.mobile-menu a{padding:12px 0; font-size:15px; font-weight:600; border-bottom:1px solid var(--border);}
.mobile-menu.open{display:flex;}

@media(max-width:900px){
  .navlinks, .nav-right{display:none;}
  .mobile-toggle{display:block;}
}

/* ---------- Page hero (shared banner style for interior pages) ---------- */
.page-hero{padding:56px 32px; background:var(--bg-alt); border-bottom:1px solid var(--border);}
.breadcrumbs{font-size:13px; color:var(--muted); margin-bottom:16px;}
.breadcrumbs a:hover{color:var(--navy);}
.page-hero h1{font-size:38px; max-width:760px; margin-bottom:14px;}
.page-hero .lede{font-size:17px; color:var(--muted); max-width:640px; margin:0;}

/* ---------- Quick Answer block (AEO/GEO) ---------- */
.quick-answer{
  background:#fff; border:1.5px solid var(--gold); border-radius:var(--radius-md); padding:22px 26px; margin:28px 0;
  display:flex; gap:16px; align-items:flex-start;
}
.quick-answer .qa-icon{width:34px; height:34px; border-radius:50%; background:var(--gold-light); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.quick-answer .qa-label{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--gold-dark); margin-bottom:6px;}
.quick-answer p{margin:0; font-size:15px; color:var(--text);}

/* ---------- Generic sections ---------- */
.section{padding:80px 32px;}
.section-alt{background:var(--bg-alt);}
.section-head{max-width:620px; margin:0 auto 48px; text-align:center;}
.section-head .kicker{color:var(--gold-dark); font-weight:700; font-size:13.5px; margin-bottom:10px; text-transform:uppercase; letter-spacing:0.04em;}
.section-head h2{font-size:32px; margin-bottom:12px;}
.section-head p{color:var(--muted); font-size:16px; margin:0;}

/* ---------- Stat strip ---------- */
.stat-strip{border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:28px 32px; background:var(--bg-alt);}
.stat-strip .wrap{display:flex; justify-content:space-around; flex-wrap:wrap; gap:24px; text-align:center;}
.stat-strip .num{font-family:'Poppins',sans-serif; font-weight:800; font-size:26px; color:var(--navy);}
.stat-strip .lbl{font-size:12.5px; color:var(--muted); margin-top:2px;}

/* ---------- Feature row ---------- */
.feature-row{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; text-align:center;}
.feature .fic{width:56px; height:56px; border-radius:14px; background:var(--gold-light); display:flex; align-items:center; justify-content:center; margin:0 auto 20px;}
.feature h4{font-size:17px; margin-bottom:8px;}
.feature p{font-size:14px; color:var(--muted); max-width:260px; margin:0 auto;}

/* ---------- Service cards grid ---------- */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.svc-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:28px 26px; transition:box-shadow .15s, transform .15s;}
.svc-card:hover{box-shadow:0 12px 28px rgba(22,32,79,0.08); transform:translateY(-2px);}
.svc-icon{width:44px; height:44px; border-radius:10px; background:var(--navy); display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
.svc-card h3{font-size:18px; margin-bottom:10px;}
.svc-card ul{list-style:none; padding:0; font-size:13.5px; color:var(--muted); margin:0 0 18px;}
.svc-card li{padding:4px 0;}
.svc-card .learn{font-size:13.5px; font-weight:700; color:var(--navy);}
.svc-card .learn:hover{color:var(--gold);}

/* ---------- Pricing ---------- */
.price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1000px; margin:0 auto;}
.price-card{border:1.5px solid var(--border); border-radius:var(--radius-lg); padding:32px 28px; position:relative; background:#fff;}
.price-card.popular{border-color:var(--gold); box-shadow:0 12px 32px rgba(201,162,39,0.15);}
.popular-tag{position:absolute; top:-13px; left:28px; background:var(--gold); color:#fff; font-size:11.5px; font-weight:700; padding:4px 12px; border-radius:20px;}
.price-card h3{font-size:19px; margin-bottom:6px;}
.price-card .desc{font-size:13px; color:var(--muted); margin-bottom:20px;}
.price-card .price{font-family:'Poppins',sans-serif; font-weight:800; font-size:34px; color:var(--navy); margin-bottom:2px;}
.price-card .period{font-size:13px; color:var(--muted); margin-bottom:24px;}
.price-card ul{list-style:none; padding:0; margin:0 0 26px; font-size:13.5px;}
.price-card li{display:flex; gap:8px; padding:7px 0;}
.price-card li svg{flex-shrink:0; margin-top:2px;}
.price-btn{display:block; text-align:center; padding:12px; border-radius:8px; font-weight:700; font-size:14px; border:1.5px solid var(--navy); color:var(--navy);}
.price-btn.filled{background:var(--navy); color:#fff;}

/* ---------- FAQ accordion ---------- */
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{display:flex; justify-content:space-between; align-items:center; padding:22px 0; cursor:pointer; font-weight:700; font-size:15.5px;}
.faq-q .plus{font-size:20px; color:var(--gold); transition:transform .2s; font-weight:400;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:400px;}
.faq-a p{font-size:14.5px; color:var(--muted); margin:0 0 22px;}

/* ---------- Testimonials ---------- */
.t-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1000px; margin:0 auto;}
.t-card{width:100%; background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:24px;}
.t-card .stars{display:block; margin-bottom:12px; color:var(--star); letter-spacing:1px;}
.t-card p{font-size:14px; color:var(--text); margin:0 0 16px; line-height:1.6;}
.t-who{display:flex; align-items:center; gap:10px;}
.t-avatar{width:34px; height:34px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; font-family:'Poppins';}
.t-name{font-size:13.5px; font-weight:700;}
.t-role{font-size:12px; color:var(--muted);}

/* ---------- CTA band ---------- */
.cta-band{background:var(--navy); color:#fff; padding:80px 32px; text-align:center;}
.cta-band h2{color:#fff; font-size:32px; max-width:540px; margin:0 auto 14px;}
.cta-band p{color:#aeb4cc; margin:0 0 30px;}

/* ---------- Footer ---------- */
.site-footer{padding:56px 32px 24px; font-size:13.5px; color:var(--muted);}
.foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; gap:28px; margin-bottom:36px;}
.foot-brand p{margin:14px 0;}
.foot-contact{display:flex; flex-direction:column; gap:6px;}
.foot-grid h5{color:var(--text); font-size:12px; text-transform:uppercase; letter-spacing:0.06em; margin:0 0 14px; font-weight:700;}
.foot-grid ul{list-style:none; padding:0; display:flex; flex-direction:column; gap:9px;}
.foot-grid a:hover{color:var(--navy);}
.foot-bottom{border-top:1px solid var(--border); padding-top:22px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;}
.trust-badges{display:flex; gap:10px;}
.badge{border:1px solid var(--border); border-radius:8px; padding:6px 12px; font-size:11.5px; font-weight:600; color:var(--muted);}

/* ---------- Sticky bottom CTA ---------- */
.sticky-cta{position:fixed; bottom:0; left:0; right:0; background:#fff; border-top:1px solid var(--border); padding:14px 32px; display:flex; justify-content:space-between; align-items:center; z-index:70; box-shadow:0 -6px 20px rgba(0,0,0,0.06); transform:translateY(100%); transition:transform .3s;}
.sticky-cta.show{transform:translateY(0);}
.sticky-cta .txt{font-size:14px; font-weight:600;}
.sticky-cta .txt span{color:var(--muted); font-weight:400; display:block; font-size:12px;}

/* ---------- Forms (contact page) ---------- */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.form-group{margin-bottom:18px;}
.form-group.full{grid-column:1/-1;}
.form-group label{display:block; font-size:13.5px; font-weight:600; margin-bottom:7px;}
.form-group input, .form-group select, .form-group textarea{
  width:100%; padding:12px 14px; border:1.5px solid var(--border); border-radius:8px; font-family:'Inter',sans-serif; font-size:14.5px; color:var(--text);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:none; border-color:var(--navy);}
.alert{padding:14px 18px; border-radius:8px; font-size:14px; margin-bottom:22px;}
.alert-success{background:var(--green-bg); color:var(--green);}
.alert-error{background:var(--red-bg); color:var(--red);}

/* ---------- Blog ---------- */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.blog-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; transition:box-shadow .15s, transform .15s;}
.blog-card:hover{box-shadow:0 12px 28px rgba(22,32,79,0.08); transform:translateY(-2px);}
.blog-card img{width:100%; height:180px; object-fit:cover; background:var(--bg-alt);}
.blog-card-body{padding:20px 22px;}
.blog-meta{font-size:12px; color:var(--muted); margin-bottom:10px; display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.blog-cat-tag{background:var(--gold-light); color:var(--gold-dark); padding:3px 10px; border-radius:12px; font-weight:700; font-size:11px;}
.blog-card h3{font-size:17px; margin-bottom:8px; line-height:1.35;}
.blog-card p{font-size:13.5px; color:var(--muted); margin:0;}
.blog-pagination{display:flex; justify-content:center; gap:8px; margin-top:44px;}
.blog-pagination a, .blog-pagination span{padding:9px 15px; border:1px solid var(--border); border-radius:8px; font-size:14px; font-weight:600;}
.blog-pagination a:hover{border-color:var(--navy);}
.blog-pagination .active{background:var(--navy); color:#fff; border-color:var(--navy);}

.single-post{max-width:760px; margin:0 auto; padding:56px 32px;}
.single-post .post-meta{font-size:13px; color:var(--muted); margin-bottom:16px; display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
.single-post h1{font-size:36px; line-height:1.2; margin-bottom:18px;}
.single-post .featured-img{width:100%; border-radius:var(--radius-md); margin-bottom:32px;}
.single-post .post-body{font-size:16.5px; line-height:1.8;}
.single-post .post-body h2{font-size:26px; margin-top:40px;}
.single-post .post-body h3{font-size:20px; margin-top:30px;}
.single-post .post-body p{margin-bottom:20px;}
.single-post .post-body ul, .single-post .post-body ol{margin-bottom:20px; padding-left:24px;}
.single-post .post-body li{margin-bottom:8px;}
.single-post .post-body img{border-radius:var(--radius-sm); margin:24px 0;}
.single-post .post-tags{display:flex; gap:8px; flex-wrap:wrap; margin-top:40px;}
.single-post .post-tags a{background:var(--bg-alt); padding:6px 14px; border-radius:20px; font-size:13px; font-weight:600;}
.toc-box{background:var(--bg-alt); border-radius:var(--radius-md); padding:22px 24px; margin-bottom:32px;}
.toc-box .toc-title{font-weight:700; font-size:13.5px; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:12px; color:var(--gold-dark);}
.toc-box ol{margin:0; padding-left:20px; font-size:14px;}
.toc-box li{padding:4px 0;}
.author-box{display:flex; gap:16px; align-items:center; background:var(--bg-alt); border-radius:var(--radius-md); padding:22px 24px; margin-top:44px;}
.author-box .avatar{width:52px; height:52px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Poppins'; font-weight:700; flex-shrink:0;}
.author-box .name{font-weight:700; font-size:15px;}
.author-box .role{font-size:13px; color:var(--muted);}

/* ---------- Utility pages (legal) ---------- */
.legal-content{max-width:780px; margin:0 auto; padding:56px 32px; font-size:15.5px; line-height:1.8;}
.legal-content h2{margin-top:36px; font-size:22px;}
.legal-content ul{padding-left:22px;}
.legal-content li{margin-bottom:8px;}

/* ---------- 404 ---------- */
.error-page{text-align:center; padding:120px 32px;}
.error-page .code{font-family:'Poppins',sans-serif; font-weight:800; font-size:96px; color:var(--gold); line-height:1;}
.error-page h1{font-size:28px; margin:16px 0 12px;}
.error-page p{color:var(--muted); margin-bottom:30px;}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .feature-row, .svc-grid, .price-grid, .t-grid, .blog-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .page-hero h1{font-size:28px;}
  .single-post h1{font-size:26px;}
  .sticky-cta{display:none;}
}
