/* Fonts loaded once in htr-design-v3.css (DM Sans + Fraunces) */

:root {
  --htr-nav:        #1B3655;
  --htr-nav-deep:   #142B44;
  --htr-teal:       #0C9070;
  --htr-teal-hover: #097A5E;
  --htr-teal-soft:  #ECFDF5;
  --htr-amber:      #B45309;
  --htr-amber-soft: #FFFBEB;
  --htr-sand:       #F5F0EB;
  --htr-cream:      #FDFCFB;
  --htr-ink:        #111111;
  --htr-body:       #2D2A26;
  --htr-muted:      #6B6560;
  --htr-subtle:     #A89F96;
  --htr-border:     #EAE5E0;
  --htr-border-md:  #DDD7D0;
  --htr-emerald:    #34D399;
  --htr-shadow-sm:  0 1px 3px rgba(27,54,85,0.07);
  --htr-shadow-md:  0 4px 16px rgba(27,54,85,0.09);
  --htr-shadow-lg:  0 10px 32px rgba(27,54,85,0.11);
  --htr-radius:     10px;
  --htr-font:       'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --htr-serif:      'Fraunces', Georgia, serif;
  --htr-max:        1200px;
}

body, button, input, select, textarea { font-family: var(--htr-font) !important; }
body { color: var(--htr-body); background: var(--htr-sand) !important; -webkit-font-smoothing: antialiased; }
a { color: var(--htr-teal); text-decoration: none; }
a:hover { color: var(--htr-teal-hover); }

/* ── NAV (legacy dark bar — v3 site uses light header in htr-design-v3.css) ── */
body:not(.htr-site) #masthead,
body:not(.htr-site) .site-header,
body:not(.htr-site) .main-header-bar,
body:not(.htr-site) .ast-primary-header-bar {
  background: var(--htr-nav) !important;
  border-bottom: 1px solid var(--htr-nav-deep) !important;
  box-shadow: 0 2px 12px rgba(20,43,68,0.2) !important;
}

/* ── LOGO: image hidden; text title styled in htr-design-v3.css ── */
.site-description,
.ast-site-name-wrap .site-description { display: none !important; }

.custom-logo-link img,
.site-branding img,
.site-logo-img img,
.site-logo img,
.site-logo a img,
img.header-image,
img.is-logo-image {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
}

/* Legacy Astra/GP image logo links — no SVG wordmark (v3 uses text .main-title) */
body.htr-site .custom-logo-link,
body.htr-site .site-logo a {
  background-image: none !important;
  width: auto !important;
  height: auto !important;
}

/* ── NAV LINKS (Astra legacy — not used on htr-site / GeneratePress) ── */
body:not(.htr-site) .main-header-menu .menu-link,
body:not(.htr-site) .main-navigation .nav-menu > li > a {
  color: #CBD8E8 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 6px 9px !important;
}
body:not(.htr-site) .main-header-menu .menu-link:hover,
body:not(.htr-site) .main-header-menu .current-menu-item .menu-link {
  color: #ffffff !important;
  background: rgba(255,255,255,0.08) !important;
  border-radius: 5px !important;
}
body:not(.htr-site) .main-navigation ul,
body:not(.htr-site) .ast-main-navigation-wrap ul.ast-nav-menu { flex-wrap: nowrap !important; }
body:not(.htr-site) .menu-toggle { color: #fff !important; }

/* ── GENERATEPRESS layout helpers (header styled in htr-design-v3.css) ── */
.inside-header.grid-container { max-width: var(--htr-max) !important; }

/* GP homepage full-bleed */
.htr-front-page .site-content,
.htr-front-page .content-area,
.htr-front-page .inside-article,
.home .site-content,
.home .content-area,
.home .inside-article {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.htr-front-page .inside-article,
.home .inside-article { padding-top: 0 !important; padding-bottom: 0 !important; }
.htr-front-page .entry-content,
.home .entry-content { margin-top: 0 !important; }
.htr-front-page .page-header,
.htr-front-page .inside-article > header.entry-header,
.home .page-header,
.home .inside-article > header.entry-header { display: none !important; }
.one-container.htr-front-page .site-content,
.one-container.home .site-content { padding: 0 !important; }

/* GP breadcrumbs + back to top */
.generate-breadcrumbs,
#breadcrumbs,
.breadcrumb,
.breadcrumbs {
  font-size: 13px !important;
  color: var(--htr-muted) !important;
  margin-bottom: 1rem !important;
  padding: 8px 14px;
  background: #fff;
  border: 1px solid var(--htr-border);
  border-radius: 6px;
  display: inline-block;
}
.generate-breadcrumbs a,
#breadcrumbs a,
.breadcrumb a,
.breadcrumbs a { color: var(--htr-teal) !important; text-decoration: none !important; font-weight: 500; }
#generate-back-to-top { background: var(--htr-teal) !important; }
.site-info { font-size: 13px !important; color: #64748b !important; }
.site-info a { color: #A3BDD4 !important; }

/* Hide thin GP footer bar when plugin footer is present */
body.htr-site .site-footer:not(.footer-bar-active) .footer-widgets { display: none !important; }

/* ── HOMEPAGE TITLE + LAYOUT (Astra fallback) ── */
.home .entry-header, .home .entry-title,
.home .page-title, .home .ast-page-title,
.home article .entry-header, .home .ast-single-entry-banner { display: none !important; }

.home #primary, .home .site-main, .home .content-area {
  max-width: 100% !important; padding: 0 !important; background: transparent !important;
}
.home .entry-content {
  max-width: 100% !important; padding: 0 !important; margin: 0 !important; background: transparent !important;
}
.home .entry-content-wrap, .home .ast-article-post { background: transparent !important; padding: 0 !important; }
.home .site-content .ast-container { max-width: 100% !important; padding: 0 !important; }

/* ── SEARCH INPUT ── */
.htr-search-input,
.htr-search-input:focus,
.htr-search-input:active {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  padding: 13px 48px 13px 16px !important;
  border: 1.5px solid var(--htr-border-md) !important;
  border-radius: var(--htr-radius) !important;
  font-size: 15px !important;
  font-family: var(--htr-font) !important;
  background: #fff !important;
  color: var(--htr-ink) !important;
  box-shadow: var(--htr-shadow-sm) !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
}
.htr-search-input:focus { border-color: var(--htr-teal) !important; box-shadow: 0 0 0 3px rgba(12,144,112,0.12) !important; }

/* ── PAGE BACKGROUNDS ── */
body.single-post .site-main, body.page .site-main,
body.single-post #content, body.page #content { background: var(--htr-cream) !important; }

/* Guide posts: use full container width (no 70/30 sidebar squeeze) */
body.single-post.no-sidebar .site-content {
  display: block !important;
}

body.single-post.no-sidebar .site-content .content-area,
body.single-post.no-sidebar .site-content .comments-area,
body.htr-guide-page.no-sidebar .site-content .content-area,
body.htr-guide-page.no-sidebar .site-content .comments-area {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

body.single-post.no-sidebar .inside-article,
body.htr-guide-page.no-sidebar .inside-article {
  max-width: none;
}

/* ── INNER PAGE TYPOGRAPHY ── */
.entry-title { font-family: var(--htr-serif) !important; font-size: clamp(1.6rem,3.5vw,2.2rem) !important; font-weight: 700 !important; color: var(--htr-ink) !important; letter-spacing: -0.02em !important; line-height: 1.2 !important; }
.entry-content { font-size: 17px !important; line-height: 1.75 !important; color: var(--htr-body) !important; }
.entry-content h2 { font-family: var(--htr-serif) !important; font-size: 1.375rem !important; font-weight: 700 !important; color: var(--htr-ink) !important; margin-top: 2.25rem !important; margin-bottom: 0.75rem !important; padding-bottom: 0.4rem; border-bottom: 1px solid var(--htr-border) !important; }
.entry-content h3 { font-size: 1.1rem !important; font-weight: 600 !important; color: var(--htr-ink) !important; margin-top: 1.6rem !important; }
.entry-content a { color: var(--htr-teal); text-decoration: underline; text-underline-offset: 2px; }
.entry-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 15px; border: 1px solid var(--htr-border); border-radius: var(--htr-radius); overflow: hidden; background: #fff; }
.entry-content th { background: var(--htr-sand); font-weight: 600; text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--htr-border-md); color: var(--htr-ink); font-size: 13px; }
.entry-content td { padding: 11px 14px; border-bottom: 1px solid var(--htr-border); vertical-align: top; }
.entry-content tr:last-child td { border-bottom: none; }
.entry-content blockquote { border-left: 3px solid var(--htr-teal) !important; background: var(--htr-teal-soft) !important; padding: 14px 18px !important; margin: 1.5rem 0 !important; border-radius: 0 8px 8px 0; font-style: normal !important; }
.htr-callout-green { background: var(--htr-teal-soft) !important; border: 1px solid #A7F3D0 !important; border-left: 3px solid var(--htr-teal) !important; border-radius: 0 8px 8px 0; padding: 14px 18px !important; margin: 1.25rem 0 !important; font-size: 15px; }
.htr-callout-label { display: block; color: var(--htr-teal); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; }
.htr-callout-text { margin: 0 !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--htr-body) !important; }
.htr-article-meta { font-size: 13px; color: var(--htr-muted); border-bottom: 1px solid var(--htr-border); padding-bottom: 10px; margin: 0 0 20px !important; line-height: 1.5; }
.htr-article-meta-sep { margin: 0 0.35em; color: var(--htr-subtle); }
.pillar-intro, .entry-content .pillar-intro { background: var(--htr-teal-soft) !important; border: 1px solid #A7F3D0 !important; border-left: 3px solid var(--htr-teal) !important; border-radius: 0 8px 8px 0; padding: 14px 18px !important; margin: 0 0 1.5rem !important; font-size: 16px !important; line-height: 1.6 !important; }
.pillar-intro strong { color: var(--htr-teal); }
.ast-breadcrumbs-wrapper,
.generate-breadcrumbs,
#breadcrumbs { font-size: 13px !important; color: var(--htr-muted) !important; margin-bottom: 1rem !important; padding: 8px 14px; background: #fff; border: 1px solid var(--htr-border); border-radius: 6px; display: inline-block; }
.ast-breadcrumbs-wrapper a,
.generate-breadcrumbs a,
#breadcrumbs a { color: var(--htr-teal) !important; text-decoration: none !important; font-weight: 500; }
.ast-breadcrumbs-wrapper a:hover,
.generate-breadcrumbs a:hover,
#breadcrumbs a:hover { text-decoration: underline !important; }
.ast-breadcrumbs-wrapper .breadcrumb_last,
.ast-breadcrumbs-wrapper .current-item,
.generate-breadcrumbs .breadcrumb_last { color: var(--htr-ink) !important; font-weight: 600; }

/* ── SIDEBAR & WIDGETS ── */
.widget { background: var(--htr-cream); border: 1px solid var(--htr-border); border-radius: var(--htr-radius); padding: 18px 20px; margin-bottom: 20px; box-shadow: var(--htr-shadow-sm); }
.widget-title { font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.06em; text-transform: uppercase; color: var(--htr-muted) !important; margin-bottom: 12px !important; padding-bottom: 8px; border-bottom: 1px solid var(--htr-border); }

/* ── FOOTER ── */
.site-footer, .ast-small-footer, .site-below-footer-wrap,
.htr-site .site-footer { background: var(--htr-nav) !important; border-top: 1px solid var(--htr-nav-deep) !important; color: #94a3b8 !important; }
.site-footer a, .site-below-footer-wrap a, .ast-small-footer a { color: #A3BDD4 !important; }
.site-footer a:hover, .ast-small-footer a:hover { color: #fff !important; }
.ast-footer-copyright { font-size: 13px !important; color: #64748b !important; }
#ast-scroll-top,
#generate-back-to-top { background: var(--htr-teal) !important; }

/* ── HOMEPAGE COMPONENTS ── */
.htr-home { color: var(--htr-body); line-height: 1.6; }
.htr-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

.htr-trust-strip { background: var(--htr-nav-deep); color: #94a3b8; font-size: 11.5px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
.htr-trust-strip-inner { display: flex; flex-wrap: wrap; justify-content: center; }
.htr-tsi { padding: 5px 20px; border-right: 1px solid rgba(255,255,255,0.1); }
.htr-tsi:last-child { border-right: none; }
.htr-tsi strong { color: var(--htr-emerald); font-weight: 600; }

.htr-hero { background: var(--htr-sand); border-bottom: 1px solid var(--htr-border); padding: 52px 0 44px; }
.htr-hero-grid { display: grid; grid-template-columns: 1fr 300px; gap: 40px; align-items: start; }
.htr-eyebrow { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--htr-amber); background: var(--htr-amber-soft); border: 1px solid rgba(180,83,9,0.18); padding: 4px 10px; border-radius: 4px; margin-bottom: 14px; }
.htr-h1 { font-family: var(--htr-serif); font-size: clamp(1.875rem,4vw,2.625rem); font-weight: 700; color: var(--htr-ink); line-height: 1.12; margin: 0 0 14px; letter-spacing: -0.025em; }
.htr-lead { font-size: 17px; color: var(--htr-muted); max-width: 540px; margin: 0 0 26px; line-height: 1.6; }
.htr-search-wrap { position: relative; max-width: 500px; margin-bottom: 6px; }
.htr-search-btn { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); background: var(--htr-teal); color: #fff; border: none; width: 36px; height: 36px; border-radius: 7px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.htr-search-hints { margin: 9px 0 0; font-size: 12.5px; color: var(--htr-subtle); }
.htr-search-hints strong { color: var(--htr-muted); margin-right: 3px; }
.htr-search-hints a { color: var(--htr-teal); font-weight: 500; }
.htr-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 22px; }
.htr-chip { display: inline-block; padding: 7px 14px; font-size: 13px; font-weight: 500; color: var(--htr-body) !important; background: #fff; border: 1.5px solid var(--htr-border-md); border-radius: 999px; text-decoration: none !important; box-shadow: var(--htr-shadow-sm); }
.htr-chip:hover { border-color: var(--htr-teal); color: var(--htr-teal) !important; background: var(--htr-teal-soft); }
.htr-btn { display: inline-block; padding: 12px 22px; font-size: 14px; font-weight: 600; border-radius: var(--htr-radius); text-decoration: none !important; cursor: pointer; border: none; }
.htr-btn-primary { background: var(--htr-teal); color: #fff !important; box-shadow: 0 2px 8px rgba(12,144,112,0.25); }
.htr-btn-primary:hover { background: var(--htr-teal-hover); color: #fff !important; }
.htr-btn-secondary { background: #fff; color: var(--htr-ink) !important; border: 1.5px solid var(--htr-border-md); box-shadow: var(--htr-shadow-sm); }
.htr-btn-secondary:hover { border-color: var(--htr-teal); color: var(--htr-teal) !important; }
.htr-btn-ghost { background: transparent; color: #fff !important; border: 1.5px solid rgba(255,255,255,0.35); }
.htr-btn-ghost:hover { border-color: #fff; }
.htr-hero-btns { display: flex; flex-wrap: wrap; gap: 10px; }

.htr-start-panel { background: #fff; border: 1.5px solid var(--htr-border-md); border-top: 3px solid var(--htr-teal); border-radius: var(--htr-radius); padding: 22px 22px 10px; box-shadow: var(--htr-shadow-md); }
.htr-start-panel h2 { font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--htr-subtle) !important; margin: 0 0 4px !important; border: none !important; padding: 0 !important; }
.htr-start-panel ul { list-style: none; margin: 0; padding: 0; }
.htr-start-panel li { border-bottom: 1px solid var(--htr-border); }
.htr-start-panel li:last-child { border-bottom: none; }
.htr-start-panel a { display: block; padding: 11px 0; font-size: 14px; font-weight: 500; color: var(--htr-ink) !important; text-decoration: none !important; line-height: 1.4; }
.htr-start-panel a:hover { color: var(--htr-teal) !important; }

.htr-trust-band { background: var(--htr-nav); padding: 28px 0; }
.htr-trust-cols { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(255,255,255,0.06); border-radius: var(--htr-radius); overflow: hidden; }
.htr-trust-col { background: var(--htr-nav); padding: 18px 20px; text-align: center; }
.htr-trust-num { font-size: 22px; font-weight: 700; color: #fff; display: block; line-height: 1; margin-bottom: 4px; }
.htr-trust-label { font-size: 13px; color: #8BA8C0; line-height: 1.4; }

.htr-section { padding: 48px 0; background: var(--htr-sand); }
.htr-section-alt { background: var(--htr-cream) !important; border-top: 1px solid var(--htr-border); border-bottom: 1px solid var(--htr-border); }
.htr-section-dark { background: var(--htr-nav) !important; border-top: 1px solid var(--htr-nav-deep); border-bottom: 1px solid var(--htr-nav-deep); }
.htr-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.htr-section-head h2 { font-family: var(--htr-serif); font-size: 1.375rem; font-weight: 700; color: var(--htr-ink); margin: 0; letter-spacing: -0.02em; }
.htr-kicker { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--htr-teal); margin-bottom: 7px; }
.htr-section-desc { margin: 5px 0 0; font-size: 15px; color: var(--htr-muted); max-width: 520px; line-height: 1.5; }
.htr-view-all { font-size: 13px; font-weight: 600; color: var(--htr-teal); white-space: nowrap; flex-shrink: 0; text-decoration: none; }

.htr-hub-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.htr-hub-card { position: relative; display: block; padding: 22px 20px 18px; background: #fff; border: 1.5px solid var(--htr-border-md); border-radius: var(--htr-radius); text-decoration: none !important; color: inherit !important; box-shadow: var(--htr-shadow-sm); transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s; }
.htr-hub-card:hover { border-color: var(--htr-teal); box-shadow: var(--htr-shadow-md); transform: translateY(-2px); }
.htr-hub-icon { width: 38px; height: 38px; background: var(--htr-teal-soft); border: 1px solid #A7F3D0; border-radius: 9px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; font-size: 18px; }
.htr-hub-mark { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; background: var(--htr-teal-soft); border: 1px solid #A7F3D0; border-radius: 9px; margin-bottom: 12px; font-size: 15px; font-weight: 700; color: var(--htr-teal); }
.htr-hub-title { display: block; font-size: 16px; font-weight: 600; color: var(--htr-ink); margin: 0 0 5px; }
.htr-hub-desc { display: block; font-size: 13.5px; color: var(--htr-muted); margin: 0 0 10px; line-height: 1.45; }
.htr-hub-meta { font-size: 12.5px; font-weight: 600; color: var(--htr-teal); }
.htr-hub-arrow { position: absolute; top: 20px; right: 16px; font-size: 16px; color: var(--htr-border-md); }
.htr-hub-card:hover .htr-hub-arrow { color: var(--htr-teal); }

.htr-guide-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.htr-guide-card { display: block; padding: 18px 18px 16px; background: #fff; border: 1.5px solid var(--htr-border); border-radius: var(--htr-radius); text-decoration: none !important; color: inherit !important; box-shadow: var(--htr-shadow-sm); }
.htr-guide-card:hover { border-color: var(--htr-teal); box-shadow: var(--htr-shadow-md); }
.htr-tag { font-size: 10.5px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--htr-teal); display: block; margin-bottom: 7px; }
.htr-fresh-badge { display: inline-block; font-size: 10px; font-weight: 700; color: var(--htr-teal); background: var(--htr-teal-soft); border: 1px solid #A7F3D0; padding: 2px 8px; border-radius: 999px; margin-bottom: 8px; letter-spacing: 0.03em; text-transform: uppercase; }
.htr-guide-title { display: block; font-size: 15px; font-weight: 600; color: var(--htr-ink); margin: 0 0 6px; line-height: 1.35; }
.htr-guide-excerpt { display: block; font-size: 13.5px; color: var(--htr-muted); line-height: 1.5; }

.htr-impact-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.htr-impact-card { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--htr-radius); padding: 18px; text-align: center; }
.htr-impact-num { font-size: 26px; font-weight: 700; color: var(--htr-emerald); display: block; line-height: 1; margin-bottom: 4px; }
.htr-impact-label { font-size: 13px; color: #8BA8C0; line-height: 1.4; }

.htr-tools-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.htr-tool-card { display: block; padding: 20px; background: #fff; border: 1.5px solid var(--htr-border); border-radius: var(--htr-radius); text-decoration: none !important; color: inherit !important; box-shadow: var(--htr-shadow-sm); }
.htr-tool-card:hover { border-color: var(--htr-teal); box-shadow: var(--htr-shadow-md); }
.htr-tool-flag { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--htr-amber); background: var(--htr-amber-soft); border: 1px solid rgba(180,83,9,0.18); padding: 2px 8px; border-radius: 4px; margin-bottom: 10px; }
.htr-tool-title { display: block; font-size: 14.5px; font-weight: 600; color: var(--htr-ink); margin: 0 0 5px; line-height: 1.3; }
.htr-tool-desc { display: block; font-size: 13px; color: var(--htr-muted); line-height: 1.45; }

.htr-lookup { background: var(--htr-sand); padding: 48px 0; }
.htr-lookup-box { background: #fff; border: 1.5px solid var(--htr-border-md); border-radius: var(--htr-radius); padding: 28px; box-shadow: var(--htr-shadow-sm); }
.htr-lookup-selects { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; margin-bottom: 10px; }
.htr-select-group label { display: block; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--htr-subtle); margin-bottom: 6px; }
.htr-select { width: 100%; padding: 11px 36px 11px 12px; border: 1.5px solid var(--htr-border-md); border-radius: 8px; font-size: 14px; font-weight: 500; color: var(--htr-ink); background: #fff; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6560' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; cursor: pointer; outline: none; }
.htr-select:focus { border-color: var(--htr-teal); }
.htr-lookup-btn { padding: 11px 22px; background: var(--htr-teal); color: #fff; border: none; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.htr-lookup-btn:hover { background: var(--htr-teal-hover); }
.htr-lookup-results { margin-top: 20px; }
.htr-arow { display: flex; align-items: flex-start; gap: 14px; padding: 14px 16px; background: #FAF9F8; border: 1px solid var(--htr-border); border-radius: 8px; margin-bottom: 10px; }
.htr-arow-ico { font-size: 20px; flex-shrink: 0; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: var(--htr-sand); border-radius: 8px; }
.htr-arow-name { font-size: 14px; font-weight: 600; color: var(--htr-ink); }
.htr-arow-desc { font-size: 13px; color: var(--htr-muted); margin: 2px 0 6px; line-height: 1.4; }
.htr-arow-links { display: flex; flex-wrap: wrap; gap: 8px; }
.htr-arow-link { display: inline-block; padding: 4px 12px; font-size: 12.5px; font-weight: 600; color: var(--htr-teal) !important; border: 1px solid #A7F3D0; border-radius: 6px; text-decoration: none !important; background: var(--htr-teal-soft); }
.htr-arow-tag { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 2px 7px; border-radius: 4px; margin-right: 6px; }
.htr-arow-tag.federal { background: #EFF6FF; color: #1D4ED8; }
.htr-arow-tag.state { background: var(--htr-teal-soft); color: var(--htr-teal); }

.htr-cta { background: var(--htr-nav); padding: 44px 0; border-top: 1px solid var(--htr-nav-deep); }
.htr-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.htr-cta-inner h2 { font-family: var(--htr-serif); font-size: 1.375rem; font-weight: 700; color: #fff; margin: 0 0 8px; }
.htr-cta-inner p { margin: 0; font-size: 15px; color: #8BA8C0; max-width: 480px; line-height: 1.55; }
.htr-cta-btns { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }

.htr-community { padding: 48px 0; background: var(--htr-sand); }
.htr-community-box { max-width: 540px; margin: 0 auto; text-align: center; }
.htr-community-box h2 { font-family: var(--htr-serif); font-size: 1.25rem; font-weight: 700; color: var(--htr-ink); margin: 0 0 8px; }
.htr-community-box p { font-size: 14px; color: var(--htr-muted); margin: 0 0 20px; }
.htr-btn-outline { display: inline-block; padding: 10px 22px; font-size: 14px; font-weight: 600; color: var(--htr-teal) !important; border: 1.5px solid var(--htr-teal); border-radius: var(--htr-radius); background: #fff; cursor: pointer; text-decoration: none !important; }
.htr-btn-outline:hover { background: var(--htr-teal-soft); }

.htr-newsletter { padding: 44px 0 52px; text-align: center; background: var(--htr-cream) !important; border-top: 1px solid var(--htr-border); }
.htr-newsletter h2 { font-family: var(--htr-serif); font-size: 1.25rem; font-weight: 700; color: var(--htr-ink); margin: 0 0 8px; }
.htr-newsletter p { font-size: 14px; color: var(--htr-muted); margin: 0 auto 20px; max-width: 400px; }
.htr-newsletter-form { display: flex; gap: 8px; max-width: 400px; margin: 0 auto; }
.htr-newsletter-form input { flex: 1; padding: 12px 14px; border: 1.5px solid var(--htr-border); border-radius: var(--htr-radius); font-size: 14px; background: #fff; }
.htr-newsletter-form button { padding: 12px 20px; background: var(--htr-teal); color: #fff; border: none; border-radius: var(--htr-radius); font-weight: 600; font-size: 14px; cursor: pointer; }
.htr-nl-msg { margin-top: 10px; font-size: 13px; color: var(--htr-muted); }

.htr-search-dropdown { position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: #fff; border: 1.5px solid var(--htr-border-md); border-radius: var(--htr-radius); box-shadow: var(--htr-shadow-lg); max-height: 300px; overflow-y: auto; z-index: 200; display: none; }
.htr-search-dropdown.active { display: block; }
.htr-search-item { display: block; padding: 11px 16px; border-bottom: 1px solid var(--htr-border); color: var(--htr-ink) !important; text-decoration: none !important; }
.htr-search-item:hover { background: var(--htr-sand); }
.htr-search-item-cat { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--htr-teal); margin-right: 6px; }
.htr-search-item-title { font-size: 14px; font-weight: 600; }
.htr-search-empty { padding: 16px; text-align: center; font-size: 14px; color: var(--htr-muted); }

@media (max-width: 1024px) { .htr-impact-grid { grid-template-columns: repeat(2,1fr); } .htr-tools-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 900px) { .htr-hero-grid { grid-template-columns: 1fr; } .htr-trust-cols { grid-template-columns: repeat(2,1fr); } .htr-hub-grid { grid-template-columns: repeat(2,1fr); } .htr-lookup-selects { grid-template-columns: 1fr; } .htr-cta-inner { flex-direction: column; align-items: flex-start; } }
@media (max-width: 640px) { .htr-hub-grid, .htr-guide-grid, .htr-tools-grid, .htr-impact-grid { grid-template-columns: 1fr; } .htr-newsletter-form { flex-direction: column; } .htr-section-head { flex-direction: column; align-items: flex-start; } }

/* ── URGENCY BAR ── */
.htr-urgency-bar { background: #FFFBEB; border-bottom: 1px solid #FDE68A; padding: 8px 0; font-size: 12.5px; color: var(--htr-body); }
.htr-urgency-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; }
.htr-urgency-inner a { color: var(--htr-teal); font-weight: 600; }
.htr-urgency-sep { color: #D6D3D1; }

/* ── LOOKUP HINTS ── */
.htr-lookup-hint { font-size: 14px; color: var(--htr-muted); margin: 0 0 12px; }
.htr-lookup-more { font-size: 13px; color: var(--htr-muted); margin: 14px 0 0; }
.htr-lookup-more a { font-weight: 600; }
.htr-arow-body { flex: 1; min-width: 0; }
.htr-lookup-results:not(:empty) { min-height: 8px; }

/* ── IMPACT CARDS AS LINKS ── */
a.htr-impact-card { text-decoration: none !important; color: inherit !important; transition: background 0.15s, border-color 0.15s; }
a.htr-impact-card:hover { background: rgba(255,255,255,0.1); border-color: rgba(52,211,153,0.35); }

/* ── NEWSLETTER MESSAGES ── */
.htr-nl-privacy { font-size: 12px; color: var(--htr-subtle); margin: 12px 0 0; }
.htr-nl-ok { color: var(--htr-teal); font-weight: 600; }
.htr-nl-err { color: #DC2626; font-weight: 600; }
.screen-reader-text { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ── CUSTOM FOOTER GRID ── */
.htr-footer-top { background: var(--htr-nav-deep); color: #94a3b8; padding: 40px 0 24px; border-top: 1px solid rgba(255,255,255,0.06); }
.htr-footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 28px; margin-bottom: 24px; }
.htr-footer-col h4 { color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; margin: 0 0 12px; }
.htr-footer-col ul { list-style: none; margin: 0; padding: 0; }
.htr-footer-col li { margin-bottom: 8px; }
.htr-footer-col a { color: #A3BDD4 !important; font-size: 14px; }
.htr-footer-col a:hover { color: #fff !important; }
.htr-footer-mission { font-size: 14px; line-height: 1.55; margin: 0; color: #8BA8C0; max-width: 320px; }
.htr-footer-trust { display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: center; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.08); font-size: 12px; color: #64748b; }
@media (max-width: 900px) { .htr-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .htr-footer-grid { grid-template-columns: 1fr; } .htr-urgency-inner { flex-direction: column; gap: 4px; } }

/* ── HOW WE VERIFY (homepage) ── */
.htr-verify { padding: 40px 0; background: #fff; border-top: 1px solid var(--htr-border); border-bottom: 1px solid var(--htr-border); }
.htr-verify-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.htr-verify-item { padding: 18px 20px; background: var(--htr-cream); border: 1px solid var(--htr-border); border-radius: var(--htr-radius); }
.htr-verify-item h3 { font-size: 15px !important; font-weight: 700 !important; color: var(--htr-ink) !important; margin: 0 0 8px !important; border: none !important; padding: 0 !important; }
.htr-verify-item p { margin: 0; font-size: 14px; color: var(--htr-muted); line-height: 1.5; }
@media (max-width: 768px) { .htr-verify-grid { grid-template-columns: 1fr; } }

/* ── HUB / PILLAR PAGES ── */
body.page .entry-content > h2:first-of-type { margin-top: 1.5rem !important; }
.htr-hub { max-width: 800px; margin: 0 auto 48px; }
.htr-hub-hero { padding: 8px 0 24px; border-bottom: 1px solid var(--htr-border); margin-bottom: 24px; }
.htr-hub-badge { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--htr-amber); background: var(--htr-amber-soft); border: 1px solid rgba(180,83,9,0.18); padding: 4px 10px; border-radius: 4px; margin-bottom: 12px; }
.htr-hub-count { font-size: 13px; font-weight: 600; color: var(--htr-muted); margin-bottom: 16px; }
.htr-guide-card { display: block; padding: 18px 20px; background: #fff; border: 1.5px solid var(--htr-border-md); border-radius: var(--htr-radius); margin-bottom: 12px; text-decoration: none !important; color: inherit !important; box-shadow: var(--htr-shadow-sm); transition: border-color 0.15s, box-shadow 0.15s; }
.htr-guide-card:hover { border-color: var(--htr-teal); box-shadow: var(--htr-shadow-md); }
.htr-guide-card h3 { margin: 0 0 6px !important; font-size: 16px !important; color: var(--htr-ink) !important; border: none !important; padding: 0 !important; }
.htr-guide-card p { margin: 0; font-size: 13.5px; color: var(--htr-muted); }
.htr-hub-nav { background: var(--htr-surface, #f8fafc); border: 1px solid var(--htr-border, #e2e8f0); border-radius: var(--htr-radius, 8px); padding: 22px 26px; margin-top: 36px; }
.htr-hub-nav h2,
.htr-hub-nav h4 { margin: 0 0 12px; font-size: 15px; font-weight: 700; color: var(--htr-ink, #0b1220); }
.htr-hub-nav ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 10px 24px; }
.htr-hub-nav a { font-size: 14px; font-weight: 600; color: var(--htr-teal) !important; text-decoration: none !important; }
.htr-cluster-hub { margin: 0 0 28px; padding: 20px 22px; background: var(--htr-surface, #f8fafc); border: 1px solid var(--htr-border, #e2e8f0); border-radius: var(--htr-radius, 8px); }
.htr-cluster-hub .htr-cluster-kicker { margin: 0 0 6px; font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--htr-muted, #64748b); }
.htr-cluster-hub .htr-cluster-title { margin: 0 0 8px; font-size: 1.15rem; font-weight: 700; color: var(--htr-ink, #0b1220); line-height: 1.3; }
.htr-cluster-links { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 12px; }
.htr-cluster-links a { font-size: 14px; font-weight: 600; color: var(--htr-teal) !important; text-decoration: none !important; }

/* ── Blog archive page ── */
.htr-blog-page .entry-content { max-width: 900px; margin: 0 auto; }
.htr-blog-archive .htr-blog-grid { display: grid; gap: 12px; }
.htr-blog-card .htr-blog-card-date { display: block; font-size: 12px; font-weight: 600; color: var(--htr-muted, #64748b); margin: 4px 0 2px; letter-spacing: 0.02em; }
.htr-blog-intro a { font-weight: 600; color: var(--htr-teal) !important; text-decoration: none !important; }
.htr-blog-intro a:hover { text-decoration: underline !important; }
.htr-blog-card .htr-guide-title { display: block; font-size: 16px; font-weight: 600; color: var(--htr-ink, #0b1220); margin: 6px 0; line-height: 1.35; }
.htr-blog-card .htr-guide-excerpt { display: block; font-size: 13.5px; color: var(--htr-muted, #64748b); line-height: 1.45; }
.htr-blog-categories { margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--htr-border, #e2e8f0); }
.htr-blog-categories h2 { font-size: 1.15rem; margin: 0 0 12px; }
.htr-blog-cat-links { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 10px 20px; }
.htr-blog-cat-links a { font-weight: 600; color: var(--htr-teal) !important; text-decoration: none !important; }
.htr-category-archive .taxonomy-description .htr-archive-hub-link { margin-top: 10px; }
.htr-category-archive .taxonomy-description .htr-archive-hub-link a { font-weight: 600; }
.htr-category-archive .taxonomy-description .htr-archive-quick-links { margin-top: 12px; font-size: 14px; line-height: 1.55; color: var(--htr-muted, #64748b); }
.htr-category-archive .htr-archive-quick-links a { font-weight: 600; color: var(--htr-teal) !important; text-decoration: none !important; }
.htr-category-archive .htr-archive-quick-links strong { color: var(--htr-ink, #0b1220); }
.htr-category-archive .htr-archive-section-title { font-size: 1.15rem; font-weight: 700; margin: 28px 0 14px; color: var(--htr-ink, #0b1220); }
.htr-category-archive .htr-archive-featured { margin: 24px 0 8px; }
.htr-category-archive .htr-archive-featured-grid { display: grid; gap: 12px; margin-bottom: 8px; }
.htr-category-archive .htr-archive-card .htr-tag { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--htr-teal); background: var(--htr-teal-soft, #ecfdf5); padding: 3px 8px; border-radius: 4px; margin-bottom: 6px; }
.htr-category-archive .htr-archive-guide-grid { display: grid; gap: 12px; margin-bottom: 28px; }
.htr-category-archive .htr-archive-guide-grid article { margin: 0 !important; padding: 18px 20px !important; background: #fff; border: 1.5px solid var(--htr-border-md, #e2e8f0); border-radius: var(--htr-radius, 8px); box-shadow: var(--htr-shadow-sm); }
.htr-category-archive .htr-archive-guide-grid article .entry-header { margin-bottom: 8px; }
.htr-category-archive .htr-archive-guide-grid .entry-title { font-size: 16px !important; margin: 0 !important; line-height: 1.35 !important; border: none !important; padding: 0 !important; }
.htr-category-archive .htr-archive-guide-grid .entry-title a { color: var(--htr-ink, #0b1220) !important; text-decoration: none !important; }
.htr-category-archive .htr-archive-guide-grid .entry-title a:hover { color: var(--htr-teal) !important; }
.htr-category-archive .htr-archive-guide-grid .entry-summary { font-size: 13.5px; color: var(--htr-muted, #64748b); line-height: 1.45; margin: 0; }
.htr-category-archive .htr-archive-guide-grid .entry-meta,
.htr-category-archive .htr-archive-guide-grid footer.entry-meta { display: none !important; }
.htr-category-archive .htr-archive-sibling-nav { margin-top: 8px; }
.htr-category-archive .htr-archive-range { font-size: 14px; line-height: 1.55; color: var(--htr-muted, #64748b); margin: 0 0 6px; }
.htr-category-archive .htr-archive-range-total { font-weight: 600; color: var(--htr-ink, #0b1220); }
.htr-category-archive .htr-archive-range-detail strong { color: var(--htr-ink, #0b1220); }
.htr-category-archive .htr-archive-range-page,
.htr-category-archive .htr-archive-range-hint { font-size: 13px; }
.htr-category-archive .htr-archive-range-hint { display: block; margin-top: 4px; font-weight: 600; color: var(--htr-teal); }
.htr-category-archive nav.htr-archive-pagination { margin: 28px 0 20px; padding: 20px 0 4px; border-top: 1px solid var(--htr-border, #e2e8f0); }
.htr-category-archive nav.htr-archive-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
.htr-category-archive nav.htr-archive-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border: 1.5px solid var(--htr-border-md, #cbd5e1); border-radius: var(--htr-radius, 8px); background: #fff; color: var(--htr-ink, #0b1220) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; box-shadow: var(--htr-shadow-sm); transition: border-color 0.15s, background 0.15s; }
.htr-category-archive nav.htr-archive-pagination .page-numbers:hover { border-color: var(--htr-teal); color: var(--htr-teal) !important; }
.htr-category-archive nav.htr-archive-pagination .page-numbers.current { background: var(--htr-teal); border-color: var(--htr-teal); color: #fff !important; }
.htr-category-archive nav.htr-archive-pagination .page-numbers.dots { border: none; box-shadow: none; min-width: auto; padding: 0 4px; }

/* ── SEARCH PAGE ── */
.htr-search-page-wrap { max-width: 800px; margin: 0 auto 40px; padding: 0 16px; }
.htr-search-page-input-wrap { position: relative; margin-bottom: 24px; }
#search-input.htr-search-page-input, .htr-search-page-input { width: 100%; padding: 16px 52px 16px 18px; font-size: 16px; border: 1.5px solid var(--htr-border-md); border-radius: var(--htr-radius); box-shadow: var(--htr-shadow-sm); background: #fff; }
#search-input.htr-search-page-input:focus, .htr-search-page-input:focus { outline: none; border-color: var(--htr-teal); box-shadow: 0 0 0 3px rgba(12,144,112,0.12); }
.htr-search-page-icon { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; color: var(--htr-subtle); pointer-events: none; }
#search-results .htr-search-result-card { display: block; padding: 18px 20px; background: #fff; border: 1.5px solid var(--htr-border-md); border-left: 3px solid var(--htr-teal); border-radius: 0 var(--htr-radius) var(--htr-radius) 0; margin-bottom: 12px; text-decoration: none !important; color: inherit !important; transition: background 0.15s; }
#search-results .htr-search-result-card:hover { background: var(--htr-teal-soft); }
#search-results .htr-search-result-card h3 { margin: 0 0 6px !important; font-size: 16px !important; color: var(--htr-ink) !important; border: none !important; padding: 0 !important; }
#search-results .htr-search-result-date { margin: 0; font-size: 13px; color: var(--htr-muted); }
.htr-search-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.htr-search-chip { display: inline-block; padding: 8px 16px; font-size: 13px; font-weight: 600; color: var(--htr-teal) !important; background: var(--htr-teal-soft); border: 1px solid #A7F3D0; border-radius: 999px; text-decoration: none !important; }
.htr-search-chip:hover { background: #fff; border-color: var(--htr-teal); }

.htr-search-empty-state {
  text-align: center;
  padding: 48px 20px;
  color: var(--htr-muted);
}

.htr-search-result-count {
  margin: 0 0 16px;
  font-size: 14px;
  color: var(--htr-muted);
}

.htr-search-result-list {
  display: grid;
  gap: 12px;
}