/* ==========================================================================
   HRMBits — design tokens
   ========================================================================== */
:root{
  --hb-navy:#0D1B2A;
  --hb-navy-2:#12263B;
  --hb-navy-3:#1B3450;
  --hb-blue:#2D7DD2;
  --hb-blue-d:#1F63AE;
  --hb-cyan:#4FC3F7;
  --hb-ink:#0D1B2A;
  --hb-body:#3D5368;
  --hb-muted:#6A8196;
  --hb-soft:#F4F8FC;
  --hb-soft-2:#EAF3FB;
  --hb-border:#E1EAF3;
  --hb-ok:#16A34A;
  --hb-warn:#D97706;
  --hb-grad:linear-gradient(135deg,#2D7DD2 0%,#4FC3F7 100%);
  --hb-radius:16px;
  --hb-radius-lg:24px;
  --hb-shadow:0 1px 2px rgba(13,27,42,.04),0 8px 24px rgba(13,27,42,.06);
  --hb-shadow-lg:0 24px 60px rgba(13,27,42,.14);
  --hb-header-h:72px;
  --hb-font:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--hb-header-h) + 16px); }
html, body{ overflow-x:hidden; max-width:100vw; }
body{
  padding-top:var(--hb-header-h);
  font-family:var(--hb-font);
  color:var(--hb-body);
  -webkit-font-smoothing:antialiased;
}
body h1, body h2, body h3, body h4{ font-family:var(--hb-font); color:var(--hb-ink); letter-spacing:-.02em; }
*,*::before,*::after{ box-sizing:border-box; }

/* Replace Astra's header/footer with ours */
#masthead, .site-footer, #colophon, .ast-site-title-wrap{ display:none !important; }
#page{ min-height:0 !important; display:block !important; }

/* ==========================================================================
   Buttons, links, icons
   ========================================================================== */
.hb-ico{ width:1em; height:1em; flex-shrink:0; }
a.hb-btn, .hb-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:12px;
  font-family:var(--hb-font); font-weight:700; font-size:15px; line-height:1.2;
  text-decoration:none !important; cursor:pointer; border:1.5px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
a.hb-btn:hover{ transform:translateY(-2px); }
.hb-btn .hb-ico{ font-size:16px; }
.hb-btn-primary, a.hb-btn-primary{ background:var(--hb-grad); color:#fff !important; box-shadow:0 8px 20px rgba(45,125,210,.3); }
.hb-btn-primary:hover{ box-shadow:0 12px 28px rgba(45,125,210,.42); color:#fff !important; }
.hb-btn-outline, a.hb-btn-outline{ background:#fff; color:var(--hb-ink) !important; border-color:var(--hb-border); }
.hb-btn-outline:hover{ border-color:var(--hb-blue); color:var(--hb-blue) !important; }
.hb-btn-glass, a.hb-btn-glass{ background:rgba(255,255,255,.08); color:#fff !important; border-color:rgba(255,255,255,.22); backdrop-filter:blur(6px); }
.hb-btn-glass:hover{ background:rgba(255,255,255,.16); color:#fff !important; }
.hb-btn-lg{ padding:15px 26px; font-size:16px; border-radius:14px; }
.hb-btn-sm{ padding:9px 16px; font-size:14px; border-radius:10px; }
.hb-btn-block{ display:flex; width:100%; }

a.hb-link, .hb-link{ text-decoration:none !important; display:inline-flex; align-items:center; gap:6px; color:var(--hb-blue); font-weight:700; text-decoration:none; }
.hb-link .hb-ico{ transition:transform .2s ease; }
a.hb-link:hover .hb-ico, .hb-feature:hover .hb-link .hb-ico{ transform:translateX(4px); }

.hb-stars{ display:inline-flex; gap:2px; vertical-align:middle; }
.hb-star{ width:16px; height:16px; fill:#F5B301; }
.hb-star.is-off{ fill:#D5DEE7; }

/* ==========================================================================
   Header
   ========================================================================== */
.hb-site-header{
  position:fixed; top:0; left:0; right:0; z-index:9999;
  height:var(--hb-header-h);
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--hb-border);
  display:flex; align-items:center;
}
.admin-bar .hb-site-header{ top:32px; }
@media (max-width:782px){ .admin-bar .hb-site-header{ top:46px; } }
.hb-header-inner{
  width:100%; max-width:1240px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; gap:28px;
}
.hb-header-logo{ display:flex; align-items:center; flex-shrink:0; }
.hb-header-logo img{ height:46px !important; width:auto !important; max-width:none !important; display:block; }
.hb-header-nav{ flex:1; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.hb-header-menu{ list-style:none; display:flex; gap:4px; margin:0 auto; padding:0; align-items:center; }
.hb-header-menu > li{ position:relative; }
.hb-header-menu > li > a{
  display:flex; align-items:center; gap:4px;
  color:var(--hb-ink); font-weight:600; font-size:15px; text-decoration:none;
  padding:9px 14px; border-radius:10px;
}
.hb-header-menu > li > a:hover{ background:var(--hb-soft); color:var(--hb-blue); }
.hb-header-menu > li.current-menu-item > a,
.hb-header-menu > li.current-menu-parent > a{ color:var(--hb-blue); background:var(--hb-soft-2); }
.hb-header-menu a:focus-visible{ outline:2px solid var(--hb-blue); outline-offset:2px; }
.hb-header-menu > li.menu-item-has-children > a::after{
  content:""; width:7px; height:7px; margin-left:4px; margin-top:-3px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg);
}
.hb-header-menu .sub-menu{
  list-style:none; margin:0; padding:8px;
  position:absolute; top:calc(100% + 8px); left:50%; transform:translate(-50%,6px);
  min-width:240px; background:#fff; border:1px solid var(--hb-border); border-radius:14px;
  box-shadow:var(--hb-shadow-lg); opacity:0; visibility:hidden;
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
.hb-header-menu .sub-menu::before{ content:""; position:absolute; top:-10px; left:0; right:0; height:10px; }
.hb-header-menu > li:hover > .sub-menu,
.hb-header-menu > li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translate(-50%,0); }
.hb-header-menu .sub-menu a{
  display:block; padding:10px 12px; border-radius:10px;
  color:var(--hb-ink); font-weight:600; font-size:14px; text-decoration:none;
}
.hb-header-menu .sub-menu a:hover{ background:var(--hb-soft); color:var(--hb-blue); }

.hb-header-actions{ display:flex; align-items:center; gap:6px; flex-shrink:0; }
.hb-icon-btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:12px; color:var(--hb-ink); text-decoration:none;
}
.hb-icon-btn .hb-ico{ font-size:20px; }
.hb-icon-btn:hover{ background:var(--hb-soft); color:var(--hb-blue); }
.hb-cart-count{
  position:absolute; top:4px; right:3px; min-width:18px; height:18px; padding:0 5px;
  border-radius:9px; background:var(--hb-blue); color:#fff; font-size:11px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.hb-header-actions .hb-btn{ margin-left:6px; }
.hb-mobile-toggle{ display:none; margin-left:auto; background:none; border:none; cursor:pointer; padding:10px; flex-direction:column; gap:5px; }
.hb-mobile-toggle span{ width:22px; height:2px; background:var(--hb-ink); border-radius:2px; display:block; transition:transform .2s, opacity .2s; }
.hb-nav-open .hb-mobile-toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hb-nav-open .hb-mobile-toggle span:nth-child(2){ opacity:0; }
.hb-nav-open .hb-mobile-toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:1024px){
  .hb-mobile-toggle{ display:flex; }
  .hb-header-nav{
    position:fixed; top:var(--hb-header-h); left:0; right:0; bottom:0;
    background:#fff; flex-direction:column; align-items:stretch; justify-content:flex-start;
    padding:16px 20px 32px; overflow-y:auto; display:none;
  }
  .hb-nav-open .hb-header-nav{ display:flex; }
  .hb-header-menu{ flex-direction:column; align-items:stretch; margin:0; gap:2px; }
  .hb-header-menu > li > a{ padding:14px 12px; font-size:16px; }
  .hb-header-menu .sub-menu{
    position:static; transform:none; opacity:1; visibility:visible; box-shadow:none; border:none;
    padding:0 0 8px 12px; min-width:0;
  }
  .hb-header-menu > li.menu-item-has-children > a::after{ display:none; }
  .hb-header-actions{ border-top:1px solid var(--hb-border); padding-top:16px; margin-top:8px; }
  .hb-header-actions .hb-btn{ flex:1; }
}

/* ==========================================================================
   Landing page scaffolding
   ========================================================================== */
.hb-landing #primary{ margin:0 !important; padding:0 !important; }
.hb-landing .site-content > .ast-container{ max-width:100% !important; padding:0 !important; display:block; }
.hb-landing .entry-header{ display:none; }
.hb-landing .entry-content > *{ margin-top:0; margin-bottom:0; }
.hb-landing article.page{ margin:0 !important; padding:0 !important; }
.hb-page{ width:100vw; position:relative; left:50%; margin-left:-50vw; }
.hb-page h1{ font-size:clamp(34px,5vw,56px); line-height:1.08; font-weight:800; margin:0 0 20px; }
.hb-page h2{ font-size:clamp(28px,3.4vw,40px); line-height:1.15; font-weight:800; margin:0 0 14px; }
.hb-page h3{ font-size:18px; line-height:1.35; font-weight:700; margin:0 0 8px; }
.hb-page p{ margin:0 0 14px; line-height:1.65; }
.hb-wrap{ max-width:1240px; margin:0 auto; padding:0 24px; }
.hb-narrow{ max-width:860px; }
.hb-center{ text-align:center; }
.hb-center-flex{ justify-content:center; }
.hb-mt{ margin-top:24px !important; }
.hb-sec{ padding:96px 0; }
.hb-sec-tight{ padding:56px 0 80px; }
.hb-sec-soft{ background:var(--hb-soft); }
.hb-sec-dark{ background:radial-gradient(1200px 500px at 50% -20%, #1E4E82 0%, var(--hb-navy) 60%); color:#B9CADB; }
.hb-sec-dark h2, .hb-sec-dark h3{ color:#fff; }
.hb-sec-head{ max-width:720px; margin:0 auto 56px; text-align:center; }
.hb-sec-head p{ font-size:18px; color:var(--hb-muted); }
.hb-sec-dark .hb-sec-head p{ color:#9FB4C8; }
.hb-kicker{
  display:inline-block; margin-bottom:14px; padding:6px 12px; border-radius:999px;
  background:var(--hb-soft-2); color:var(--hb-blue); font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
}
.hb-sec-dark .hb-kicker{ background:rgba(79,195,247,.14); color:var(--hb-cyan); }
.hb-lead{ font-size:19px; line-height:1.65; }
.hb-grad-text{ background:var(--hb-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ==========================================================================
   Hero
   ========================================================================== */
.hb-hero, .hb-page-hero{
  position:relative; overflow:hidden;
  background:radial-gradient(900px 600px at 85% 10%, #1E4E82 0%, transparent 60%), linear-gradient(180deg, var(--hb-navy) 0%, var(--hb-navy-2) 100%);
  color:#B9CADB;
}
.hb-hero{ padding:88px 0 110px; }
.hb-hero-glow{
  position:absolute; inset:auto -10% -40% -10%; height:70%;
  background:radial-gradient(closest-side, rgba(79,195,247,.22), transparent);
  pointer-events:none;
}
.hb-hero h1, .hb-page-hero h1{ color:#fff; }
.hb-hero-grid{ position:relative; display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; }
.hb-eyebrow{
  display:inline-flex; align-items:center; gap:10px; margin-bottom:22px;
  padding:7px 14px; border-radius:999px; font-size:14px; font-weight:600;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:#D5E4F2;
}
.hb-pulse{ width:8px; height:8px; border-radius:50%; background:var(--hb-cyan); box-shadow:0 0 0 0 rgba(79,195,247,.6); animation:hb-pulse 2s infinite; }
@keyframes hb-pulse{ 70%{ box-shadow:0 0 0 10px rgba(79,195,247,0); } 100%{ box-shadow:0 0 0 0 rgba(79,195,247,0); } }
.hb-hero .hb-lead, .hb-page-hero .hb-lead{ color:#B9CADB; max-width:560px; }
.hb-hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; margin:32px 0 28px; }
.hb-hero-proof{ display:flex; flex-direction:column; gap:14px; }
.hb-rating-inline{ display:inline-flex; align-items:center; gap:10px; font-size:14px; }
.hb-rating-inline strong{ color:#fff; font-size:16px; }
.hb-rating-inline span{ color:#9FB4C8; }
.hb-rating-center{ justify-content:center; margin-top:8px; }
.hb-hero-checks{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px 20px; font-size:14px; color:#C9D8E6; }
.hb-hero-checks li{ display:flex; align-items:center; gap:6px; }
.hb-hero-checks .hb-ico{ color:var(--hb-cyan); }

.hb-page-hero{ padding:88px 0 80px; text-align:center; }
.hb-page-hero .hb-wrap{ position:relative; max-width:860px; }
.hb-page-hero .hb-lead{ margin:0 auto; }

/* Dashboard mockup */
.hb-hero-visual{ position:relative; }
.hb-mock{
  background:#fff; border-radius:18px; overflow:hidden;
  box-shadow:0 40px 80px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.08);
  transform:perspective(1600px) rotateY(-6deg) rotateX(3deg);
}
.hb-mock-top{ display:flex; align-items:center; gap:6px; padding:12px 16px; background:#F1F5F9; border-bottom:1px solid var(--hb-border); }
.hb-mock-top i{ width:10px; height:10px; border-radius:50%; background:#D1DAE3; }
.hb-mock-top i:first-child{ background:#F87171; } .hb-mock-top i:nth-child(2){ background:#FBBF24; } .hb-mock-top i:nth-child(3){ background:#34D399; }
.hb-mock-top span{ margin-left:12px; padding:4px 12px; border-radius:6px; background:#fff; font-size:11px; color:var(--hb-muted); }
.hb-mock-body{ display:grid; grid-template-columns:52px 1fr; min-height:340px; }
.hb-mock-side{ background:var(--hb-navy); padding:16px 12px; display:flex; flex-direction:column; gap:12px; }
.hb-mock-side b{ height:28px; border-radius:8px; background:rgba(255,255,255,.08); }
.hb-mock-side b.is-on{ background:var(--hb-grad); }
.hb-mock-main{ padding:18px; display:flex; flex-direction:column; gap:14px; background:#FAFCFE; }
.hb-mock-kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.hb-mock-kpis div{ background:#fff; border:1px solid var(--hb-border); border-radius:10px; padding:10px 12px; display:flex; flex-direction:column; }
.hb-mock-kpis small, .hb-mock-chart small{ font-size:10px; color:var(--hb-muted); font-weight:600; }
.hb-mock-kpis strong{ font-size:18px; color:var(--hb-ink); margin:2px 0; }
.hb-mock-kpis em{ font-style:normal; font-size:10px; color:var(--hb-muted); }
.hb-mock-kpis em.up{ color:var(--hb-ok); }
.hb-mock-chart{ background:#fff; border:1px solid var(--hb-border); border-radius:10px; padding:12px; }
.hb-bars{ display:flex; align-items:flex-end; gap:6px; height:80px; margin-top:8px; }
.hb-bars i{ flex:1; border-radius:4px 4px 0 0; background:linear-gradient(180deg,#4FC3F7,#2D7DD2); opacity:.85; }
.hb-mock-rows{ display:flex; flex-direction:column; gap:8px; }
.hb-mock-rows > div{ display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--hb-border); border-radius:10px; padding:8px 10px; }
.hb-mock-rows p{ margin:0; flex:1; display:flex; flex-direction:column; line-height:1.3; }
.hb-mock-rows b{ font-size:12px; color:var(--hb-ink); }
.hb-mock-rows small{ font-size:10px; color:var(--hb-muted); }
.av{ width:26px; height:26px; border-radius:50%; flex-shrink:0; }
.av.a1{ background:linear-gradient(135deg,#FDBA74,#F97316); } .av.a2{ background:linear-gradient(135deg,#86EFAC,#16A34A); } .av.a3{ background:linear-gradient(135deg,#C4B5FD,#7C3AED); }
.pill{ font-style:normal; font-size:10px; font-weight:700; padding:4px 8px; border-radius:999px; white-space:nowrap; }
.pill.ok{ background:#DCFCE7; color:#15803D; } .pill.wait{ background:#FEF3C7; color:#B45309; } .pill.info{ background:var(--hb-soft-2); color:var(--hb-blue); }
.hb-float{
  position:absolute; display:flex; align-items:center; gap:10px;
  background:#fff; border-radius:14px; padding:12px 16px; box-shadow:var(--hb-shadow-lg);
  animation:hb-float 6s ease-in-out infinite;
}
.hb-float p{ margin:0; display:flex; flex-direction:column; line-height:1.3; }
.hb-float b{ color:var(--hb-ink); font-size:13px; }
.hb-float small{ color:var(--hb-muted); font-size:11px; }
.hb-float-ico{ width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:var(--hb-soft-2); color:var(--hb-blue); font-size:18px; }
.hb-float-ico.ok{ background:#DCFCE7; color:var(--hb-ok); }
.hb-float-1{ left:-36px; bottom:-28px; }
.hb-float-2{ right:-20px; top:-18px; animation-delay:-3s; }
@keyframes hb-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }

@media (max-width:1024px){
  .hb-hero-grid{ grid-template-columns:1fr; gap:56px; }
  .hb-mock{ transform:none; }
  .hb-float-1{ left:8px; } .hb-float-2{ right:8px; }
}
@media (max-width:640px){
  .hb-hero{ padding:56px 0 72px; }
  .hb-float{ display:none; }
  .hb-mock-kpis{ grid-template-columns:1fr 1fr; }
  .hb-mock-kpis div:last-child{ display:none; }
}

/* Industries strip */
.hb-industries{ border-bottom:1px solid var(--hb-border); background:#fff; }
.hb-industries .hb-wrap{ display:flex; align-items:center; gap:32px; padding-top:26px; padding-bottom:26px; flex-wrap:wrap; justify-content:center; }
.hb-industries p{ margin:0; font-size:14px; font-weight:600; color:var(--hb-muted); }
.hb-industries ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 28px; }
.hb-industries li{ font-weight:700; color:#8FA3B6; font-size:16px; }

/* ==========================================================================
   Features, split sections, steps
   ========================================================================== */
.hb-feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
a.hb-feature, a.hb-feature *{ text-decoration:none !important; }
a.hb-feature, .hb-feature{
  display:block; text-decoration:none; background:#fff; border:1px solid var(--hb-border);
  border-radius:var(--hb-radius-lg); padding:30px; box-shadow:var(--hb-shadow);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
a.hb-feature:hover{ transform:translateY(-6px); box-shadow:var(--hb-shadow-lg); border-color:#CFE0F0; }
.hb-feature p{ color:var(--hb-muted); font-size:15px; }
.hb-feature-ico{
  width:52px; height:52px; border-radius:14px; margin-bottom:22px;
  display:flex; align-items:center; justify-content:center;
  background:var(--hb-grad); color:#fff; font-size:24px; box-shadow:0 8px 18px rgba(45,125,210,.28);
}
@media (max-width:960px){ .hb-feature-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .hb-feature-grid{ grid-template-columns:1fr; } }

.hb-split{ display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.hb-split.is-reversed .hb-split-copy{ order:2; }
.hb-split-copy p{ font-size:17px; color:var(--hb-muted); }
.hb-checklist, .hb-xlist{ list-style:none; margin:24px 0 32px; padding:0; display:flex; flex-direction:column; gap:14px; }
.hb-checklist li, .hb-xlist li{ display:flex; gap:12px; align-items:flex-start; font-size:16px; color:var(--hb-body); }
.hb-checklist .hb-ico, .hb-xlist .hb-ico{ margin-top:3px; padding:3px; width:22px; height:22px; border-radius:50%; }
.hb-checklist .hb-ico{ background:#DCFCE7; color:var(--hb-ok); }
.hb-xlist .hb-ico{ background:#FEE2E2; color:#DC2626; }
.hb-checklist b, .hb-xlist b{ color:var(--hb-ink); }
@media (max-width:960px){
  .hb-split{ grid-template-columns:1fr; gap:40px; }
  .hb-split.is-reversed .hb-split-copy{ order:0; }
}

.hb-card-mock{ background:#fff; border-radius:var(--hb-radius-lg); padding:28px; box-shadow:var(--hb-shadow-lg); border:1px solid var(--hb-border); max-width:460px; margin:0 auto; }
.hb-card-mock-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.hb-card-mock-head b{ color:var(--hb-ink); font-size:17px; }
.hb-card-mock-total{ background:var(--hb-soft); border-radius:14px; padding:18px; margin-bottom:18px; }
.hb-card-mock-total small{ display:block; color:var(--hb-muted); font-size:13px; font-weight:600; }
.hb-card-mock-total strong{ font-size:32px; color:var(--hb-ink); letter-spacing:-.02em; }
.hb-card-mock-rows > div{ display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--hb-border); font-size:14px; }
.hb-card-mock-rows > div:last-child{ border-bottom:none; }
.hb-card-mock-rows b{ color:var(--hb-ink); }
.hb-card-mock-btn{ margin-top:18px; text-align:center; padding:14px; border-radius:12px; background:var(--hb-grad); color:#fff; font-weight:700; }

.hb-module-art{
  aspect-ratio:4/3; border-radius:var(--hb-radius-lg);
  background:radial-gradient(400px 260px at 70% 20%, rgba(79,195,247,.35), transparent), linear-gradient(135deg, var(--hb-navy) 0%, var(--hb-navy-3) 100%);
  display:flex; align-items:center; justify-content:center; box-shadow:var(--hb-shadow-lg);
}
.hb-module-art span{
  width:120px; height:120px; border-radius:32px; display:flex; align-items:center; justify-content:center;
  background:var(--hb-grad); color:#fff; font-size:56px; box-shadow:0 20px 40px rgba(45,125,210,.45);
}

.hb-steps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; counter-reset:step; }
.hb-step-card{ position:relative; background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius-lg); padding:32px; box-shadow:var(--hb-shadow); }
.hb-step-num{ display:block; font-size:44px; font-weight:800; line-height:1; margin-bottom:18px; background:var(--hb-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hb-step-card p{ color:var(--hb-muted); margin:0; }
@media (max-width:820px){ .hb-steps-grid{ grid-template-columns:1fr; } }

/* Stats band */
.hb-stats{ background:var(--hb-navy); padding:56px 0; }
.hb-stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.hb-stats strong{ display:block; font-size:clamp(30px,3.5vw,42px); font-weight:800; color:#fff; letter-spacing:-.02em; }
.hb-stats span{ color:#9FB4C8; font-size:14px; font-weight:600; }
@media (max-width:720px){ .hb-stats-grid{ grid-template-columns:1fr 1fr; row-gap:32px; } }

/* Reviews */
.hb-reviews{ display:grid; grid-template-columns:320px 1fr; gap:28px; align-items:start; }
.hb-rating-card{ background:var(--hb-navy); color:#B9CADB; border-radius:var(--hb-radius-lg); padding:32px; text-align:center; }
.hb-rating-big{ display:block; font-size:64px; font-weight:800; color:#fff; line-height:1; margin-bottom:10px; }
.hb-rating-card .hb-star{ width:20px; height:20px; }
.hb-rating-card p{ margin:10px 0 22px; font-size:14px; }
.hb-rating-bars > div{ display:grid; grid-template-columns:34px 1fr 38px; gap:10px; align-items:center; font-size:13px; margin-bottom:8px; }
.hb-rating-bars i{ height:8px; background:rgba(255,255,255,.1); border-radius:4px; overflow:hidden; }
.hb-rating-bars b{ display:block; height:100%; background:#F5B301; border-radius:4px; }
.hb-rating-bars em{ font-style:normal; text-align:right; }
.hb-testimonials{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.hb-testimonial{ margin:0; background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius-lg); padding:26px; box-shadow:var(--hb-shadow); display:flex; flex-direction:column; gap:16px; }
.hb-testimonial blockquote{ margin:0; padding:0; border:none; font-size:15px; line-height:1.65; color:var(--hb-ink); font-style:normal; flex:1; }
.hb-testimonial figcaption{ display:flex; align-items:center; gap:12px; }
.hb-testimonial figcaption > span:last-child{ display:flex; flex-direction:column; line-height:1.35; }
.hb-testimonial figcaption b{ color:var(--hb-ink); font-size:14px; }
.hb-testimonial figcaption small{ color:var(--hb-muted); font-size:13px; }
.hb-avatar{ width:40px; height:40px; border-radius:50%; background:var(--hb-grad); color:#fff; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
@media (max-width:1100px){ .hb-reviews{ grid-template-columns:1fr; } .hb-rating-card{ max-width:420px; margin:0 auto; width:100%; } }
@media (max-width:820px){ .hb-testimonials{ grid-template-columns:1fr; } }

/* Security */
.hb-security-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.hb-security-grid > div{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:var(--hb-radius-lg); padding:28px; }
.hb-security-grid .hb-ico{ font-size:28px; color:var(--hb-cyan); margin-bottom:16px; }
.hb-security-grid p{ margin:0; color:#9FB4C8; font-size:15px; }
@media (max-width:960px){ .hb-security-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .hb-security-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   Plans
   ========================================================================== */
.hb-plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
.hb-plan{
  position:relative; display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius-lg);
  padding:34px 30px; box-shadow:var(--hb-shadow);
}
.hb-plan.is-featured{
  background:linear-gradient(180deg,#0F2338 0%, #0D1B2A 100%); border-color:#1E4E82; color:#B9CADB;
  box-shadow:0 30px 60px rgba(13,27,42,.28); transform:translateY(-12px);
}
.hb-plan.is-featured .hb-plan-name, .hb-plan.is-featured .hb-plan-price{ color:#fff; }
.hb-plan.is-featured .hb-plan-features li{ color:#D5E4F2; }
.hb-plan-badge{
  position:absolute; top:-14px; left:30px; padding:6px 14px; border-radius:999px;
  background:var(--hb-grad); color:#fff; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
}
.hb-plan-name{ font-size:20px !important; margin-bottom:6px !important; }
.hb-plan-tagline{ color:var(--hb-muted); font-size:15px; margin-bottom:22px !important; }
.hb-plan.is-featured .hb-plan-tagline{ color:#9FB4C8; }
.hb-plan-price{ font-size:48px; font-weight:800; color:var(--hb-ink); letter-spacing:-.03em; line-height:1; margin-bottom:8px !important; }
.hb-plan-price span{ font-size:16px; font-weight:600; color:var(--hb-muted); letter-spacing:0; margin-left:4px; }
.hb-plan-limit{ font-size:14px; font-weight:600; color:var(--hb-blue); margin-bottom:24px !important; }
.hb-plan.is-featured .hb-plan-limit{ color:var(--hb-cyan); }
.hb-plan-features{ list-style:none; margin:28px 0 0; padding:24px 0 0; border-top:1px solid var(--hb-border); display:flex; flex-direction:column; gap:12px; }
.hb-plan.is-featured .hb-plan-features{ border-color:rgba(255,255,255,.12); }
.hb-plan-features li{ display:flex; align-items:flex-start; gap:10px; font-size:15px; color:var(--hb-body); }
.hb-plan-features .hb-ico{ color:var(--hb-ok); margin-top:4px; }
.hb-plan.is-featured .hb-plan-features .hb-ico{ color:var(--hb-cyan); }
@media (max-width:960px){ .hb-plans{ grid-template-columns:1fr; max-width:480px; margin:0 auto; } .hb-plan.is-featured{ transform:none; } }

.hb-trust-row{ list-style:none; margin:40px 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:14px 36px; }
.hb-trust-row li{ display:flex; align-items:center; gap:8px; font-weight:600; color:var(--hb-body); font-size:15px; }
.hb-trust-row .hb-ico{ color:var(--hb-blue); font-size:18px; }

/* Plan guide */
.hb-guide{ display:flex; flex-direction:column; gap:16px; }
.hb-guide-item{ display:flex; gap:20px; background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius); padding:24px 28px; }
.hb-guide-item > span{ flex-shrink:0; width:40px; height:40px; border-radius:12px; background:var(--hb-grad); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; }
.hb-guide-item p{ margin:0; color:var(--hb-muted); }
.hb-guide-item b{ color:var(--hb-ink); }

/* Comparison table */
.hb-compare-wrap{ overflow-x:auto; border-radius:var(--hb-radius-lg); border:1px solid var(--hb-border); box-shadow:var(--hb-shadow); background:#fff; }
.hb-compare{ width:100%; min-width:760px; border-collapse:collapse; margin:0; border:none; }
.hb-compare th, .hb-compare td{ padding:15px 22px; border:none; border-bottom:1px solid var(--hb-border); text-align:center; font-size:15px; vertical-align:middle; }
.hb-compare thead th{ position:sticky; top:0; background:#fff; color:var(--hb-ink); font-size:17px; font-weight:800; padding:24px 22px; border-bottom:2px solid var(--hb-border); }
.hb-compare thead th small{ display:block; font-size:13px; font-weight:600; color:var(--hb-muted); margin-top:4px; }
.hb-compare thead th:first-child, .hb-compare tbody th{ text-align:left; }
.hb-compare tbody th{ font-weight:600; color:var(--hb-ink); }
.hb-compare .is-featured{ background:#F3F9FF; }
.hb-compare thead th.is-featured{ background:var(--hb-navy); color:#fff; border-radius:0; }
.hb-compare thead th.is-featured small{ color:var(--hb-cyan); }
.hb-compare-group th{ background:var(--hb-soft) !important; font-size:12px !important; font-weight:800 !important; letter-spacing:.08em; text-transform:uppercase; color:var(--hb-muted) !important; padding:12px 22px !important; }
.hb-yes, .hb-no{ display:inline-flex; width:26px; height:26px; border-radius:50%; align-items:center; justify-content:center; }
.hb-yes{ background:#DCFCE7; color:var(--hb-ok); }
.hb-no{ background:#F1F5F9; color:#A6B6C5; }
.hb-yes .hb-ico, .hb-no .hb-ico{ font-size:14px; }
.hb-compare-cta td, .hb-compare-cta th{ border-bottom:none; padding:24px 22px; }

/* Includes */
.hb-includes{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.hb-include-card{ background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius-lg); padding:36px; box-shadow:var(--hb-shadow); }
.hb-include-card h2{ font-size:26px !important; }
.hb-include-card.is-muted p{ color:var(--hb-muted); }
.hb-include-card .hb-checklist, .hb-include-card .hb-xlist{ margin-bottom:0; }
@media (max-width:860px){ .hb-includes{ grid-template-columns:1fr; } }

/* ==========================================================================
   FAQ
   ========================================================================== */
.hb-faq-layout{ display:grid; grid-template-columns:360px 1fr; gap:64px; align-items:start; }
.hb-faq-intro{ position:sticky; top:calc(var(--hb-header-h) + 32px); }
.hb-faq-intro p{ color:var(--hb-muted); font-size:17px; margin-bottom:24px; }
@media (max-width:960px){ .hb-faq-layout{ grid-template-columns:1fr; gap:32px; } .hb-faq-intro{ position:static; } }
.hb-faq-list{ display:flex; flex-direction:column; gap:12px; }
.hb-faq-item{ background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius); transition:box-shadow .2s ease, border-color .2s ease; }
.hb-faq-item[open]{ box-shadow:var(--hb-shadow); border-color:#CFE0F0; }
.hb-faq-item summary{
  list-style:none; cursor:pointer; padding:20px 24px; display:flex; justify-content:space-between; align-items:center; gap:16px;
  font-weight:700; font-size:16px; color:var(--hb-ink);
}
.hb-faq-item summary::-webkit-details-marker{ display:none; }
.hb-faq-item summary .hb-ico{ font-size:20px; color:var(--hb-muted); transition:transform .25s ease; }
.hb-faq-item[open] summary .hb-ico{ transform:rotate(180deg); color:var(--hb-blue); }
.hb-faq-answer{ padding:0 24px 20px; }
.hb-faq-answer p{ margin:0; color:var(--hb-muted); font-size:15px; }
.hb-faq-answer a{ color:var(--hb-blue); font-weight:600; }
.hb-faq-group-title{ font-size:24px !important; margin:48px 0 20px !important; }
.hb-faq-group-title:first-child{ margin-top:0 !important; }
.hb-faq-cta{ margin-top:56px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:32px; border-radius:var(--hb-radius-lg); background:var(--hb-soft); }
.hb-faq-cta p{ margin:0; color:var(--hb-muted); }

/* Sub navigation (features) */
.hb-subnav{ position:sticky; top:var(--hb-header-h); z-index:50; background:rgba(255,255,255,.95); backdrop-filter:blur(10px); border-bottom:1px solid var(--hb-border); }
.hb-subnav .hb-wrap{ display:flex; gap:6px; overflow-x:auto; padding-top:12px; padding-bottom:12px; justify-content:center; }
.hb-subnav a{ white-space:nowrap; padding:8px 16px; border-radius:999px; font-weight:600; font-size:14px; color:var(--hb-body); text-decoration:none; }
.hb-subnav a:hover{ background:var(--hb-soft-2); color:var(--hb-blue); }

/* About */
.hb-values-card{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.hb-values-card > div{ background:var(--hb-soft); border-radius:var(--hb-radius); padding:24px; }
.hb-values-card span{ display:flex; width:44px; height:44px; border-radius:12px; align-items:center; justify-content:center; background:var(--hb-grad); color:#fff; font-size:20px; margin-bottom:14px; }
.hb-values-card p{ margin:0; font-size:14px; color:var(--hb-muted); }
.hb-values-card b{ display:block; color:var(--hb-ink); font-size:16px; margin-bottom:4px; }

/* Contact */
.hb-contact-grid{ display:grid; grid-template-columns:380px 1fr; gap:40px; align-items:start; }
.hb-contact-info{ display:flex; flex-direction:column; gap:14px; }
.hb-contact-card{ display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius); padding:20px 22px; box-shadow:var(--hb-shadow); }
.hb-contact-card > span{ flex-shrink:0; width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--hb-soft-2); color:var(--hb-blue); font-size:20px; }
.hb-contact-card h3{ font-size:16px !important; margin-bottom:2px !important; }
.hb-contact-card p{ margin:0; font-size:14px; color:var(--hb-muted); }
.hb-contact-card a{ color:var(--hb-blue); font-weight:600; }
.hb-contact-form{ background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius-lg); padding:36px; box-shadow:var(--hb-shadow-lg); }
.hb-contact-form h2{ font-size:26px !important; margin-bottom:24px !important; }
@media (max-width:900px){ .hb-contact-grid{ grid-template-columns:1fr; } }

/* Shared form fields (contact form + WooCommerce) */
.hb-contact-form .wpcf7-form p{ margin:0 0 18px; }
.hb-contact-form label{ display:block; font-weight:600; color:var(--hb-ink); font-size:14px; }
.hb-contact-form input[type="text"], .hb-contact-form input[type="email"], .hb-contact-form select, .hb-contact-form textarea,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce form .form-row .select2-container .select2-selection--single{
  width:100%; margin-top:6px; padding:13px 15px; min-height:50px;
  border:1.5px solid var(--hb-border) !important; border-radius:12px !important; background:#fff;
  font-family:var(--hb-font); font-size:15px; color:var(--hb-ink); box-shadow:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.hb-contact-form textarea{ min-height:130px; }
.hb-contact-form input:focus, .hb-contact-form select:focus, .hb-contact-form textarea:focus,
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row select:focus{
  outline:none; border-color:var(--hb-blue) !important; box-shadow:0 0 0 4px rgba(45,125,210,.12);
}
.hb-contact-form input[type="submit"]{
  width:100%; background:var(--hb-grad); color:#fff; border:none; border-radius:12px; padding:15px 28px;
  font-family:var(--hb-font); font-weight:700; font-size:16px; cursor:pointer; box-shadow:0 8px 20px rgba(45,125,210,.3);
}
.hb-contact-form .wpcf7-not-valid-tip{ font-size:13px; margin-top:4px; }
.hb-contact-form .wpcf7-response-output{ border-radius:12px; margin:16px 0 0 !important; padding:14px 16px !important; }

/* ==========================================================================
   WooCommerce: cart & checkout
   ========================================================================== */
.woocommerce-cart .entry-header, .woocommerce-checkout .entry-header{ display:none; }
.woocommerce-cart #primary, .woocommerce-checkout #primary{ margin-top:40px !important; }
.hb-flow-head{ text-align:center; max-width:640px; margin:0 auto 40px; }
.hb-flow-head h1{ font-size:clamp(28px,3.2vw,38px); font-weight:800; margin:0 0 10px; }
.hb-flow-head p{ color:var(--hb-muted); margin:0; font-size:16px; }
.hb-steps{ list-style:none; margin:0 0 28px; padding:0; display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
.hb-steps li{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--hb-muted); padding-right:8px; }
.hb-steps li:not(:last-child)::after{ content:""; width:36px; height:2px; background:var(--hb-border); margin-left:8px; }
.hb-steps li > span{ width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; background:var(--hb-soft); border:1.5px solid var(--hb-border); color:var(--hb-muted); }
.hb-steps li.is-done > span{ background:#DCFCE7; border-color:#DCFCE7; color:var(--hb-ok); }
.hb-steps li.is-active{ color:var(--hb-ink); }
.hb-steps li.is-active > span{ background:var(--hb-grad); border-color:transparent; color:#fff; }

.woocommerce-notices-wrapper .woocommerce-message, .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-info, .woocommerce-message, .woocommerce-error{
  border-radius:12px; border-top-width:0 !important; border-left:4px solid var(--hb-blue); background:var(--hb-soft); color:var(--hb-body);
}
.woocommerce-error{ border-left-color:#DC2626; background:#FEF2F2; }

/* Cart */
.woocommerce-cart .woocommerce{ max-width:1120px; margin:0 auto; }
.woocommerce-cart .woocommerce-cart-form{ background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius-lg); box-shadow:var(--hb-shadow); overflow:hidden; }
.woocommerce table.shop_table{ border:none !important; border-radius:0 !important; margin:0 !important; }
.woocommerce table.shop_table th{ background:var(--hb-soft); color:var(--hb-muted); font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:16px 22px !important; border:none !important; }
.woocommerce table.shop_table td{ padding:22px !important; border-top:1px solid var(--hb-border) !important; font-size:15px; }
.woocommerce-cart table.cart .product-thumbnail, .woocommerce-cart table.cart th.product-thumbnail,
.woocommerce-cart table.cart .product-quantity, .woocommerce-cart table.cart th.product-quantity{ display:none; }
.woocommerce-cart table.cart .product-name{ font-weight:700; color:var(--hb-ink); font-size:17px; }
.woocommerce-cart table.cart td.actions{ background:#fff; }
.woocommerce-cart table.cart td.actions .coupon{ display:flex; gap:10px; }
.woocommerce-cart table.cart td.actions .coupon .input-text{ min-width:200px; border:1.5px solid var(--hb-border) !important; border-radius:10px !important; padding:10px 14px !important; }
.woocommerce a.remove{ color:#A6B6C5 !important; font-size:22px; border-radius:8px; }
.woocommerce a.remove:hover{ background:#FEE2E2 !important; color:#DC2626 !important; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button{
  border-radius:10px !important; font-family:var(--hb-font) !important; font-weight:700 !important;
  background:#fff !important; color:var(--hb-ink) !important; border:1.5px solid var(--hb-border) !important; padding:10px 18px !important;
}
.woocommerce .button:hover{ border-color:var(--hb-blue) !important; color:var(--hb-blue) !important; }
.woocommerce-cart .cart-collaterals{ margin-top:28px; display:flex; justify-content:flex-end; }
.woocommerce-cart .cart-collaterals .cart_totals{ float:none !important; width:100% !important; max-width:440px; background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius-lg); padding:28px; box-shadow:var(--hb-shadow); }
.woocommerce-cart .cart_totals h2{ font-size:20px !important; margin:0 0 16px !important; }
.woocommerce-cart .cart_totals table.shop_table th{ background:none; text-transform:none; letter-spacing:0; font-size:15px; color:var(--hb-body); padding:14px 0 !important; }
.woocommerce-cart .cart_totals table.shop_table td{ padding:14px 0 !important; text-align:right; }
.woocommerce-cart .cart_totals .order-total td, .woocommerce-cart .cart_totals .order-total th{ font-size:18px; font-weight:800; color:var(--hb-ink); }
.woocommerce a.checkout-button.button.alt, .woocommerce #place_order, .woocommerce button#place_order{
  display:flex !important; width:100%; justify-content:center; align-items:center;
  background:var(--hb-grad) !important; color:#fff !important; border:none !important;
  border-radius:12px !important; padding:17px 24px !important; font-size:17px !important; font-weight:700 !important;
  box-shadow:0 10px 24px rgba(45,125,210,.32); transition:transform .2s ease, box-shadow .2s ease;
}
.woocommerce a.checkout-button.button.alt:hover, .woocommerce #place_order:hover{ transform:translateY(-2px); color:#fff !important; }
.hb-trust-list{ list-style:none; margin:20px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.hb-trust-list li{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--hb-muted); }
.hb-trust-list .hb-ico{ color:var(--hb-ok); font-size:16px; }
.hb-trust-list a{ color:var(--hb-blue); }
.hb-cart-change{ margin:18px 0 0; padding-top:16px; border-top:1px solid var(--hb-border); font-size:14px; color:var(--hb-muted); text-align:center; }
.hb-cart-change a{ color:var(--hb-blue); font-weight:700; }
.woocommerce-cart .return-to-shop{ text-align:center; }
.woocommerce-cart .cart-empty.woocommerce-info{ display:none; }
.woocommerce-cart .return-to-shop .button{ background:var(--hb-grad) !important; color:#fff !important; border:none !important; padding:14px 28px !important; }
@media (max-width:768px){
  .woocommerce-cart .cart-collaterals{ display:block; }
  .woocommerce-cart .cart-collaterals .cart_totals{ max-width:none; }
}

/* Checkout */
.woocommerce-checkout .woocommerce{ max-width:1160px; margin:0 auto; }
.woocommerce-checkout form.checkout{ display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:32px; align-items:start; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup{ grid-column:1 / -1; }
.woocommerce-checkout #customer_details{
  grid-column:1; float:none !important; width:auto !important; margin:0 !important;
  background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius-lg); padding:32px; box-shadow:var(--hb-shadow);
}
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2{ float:none !important; width:100% !important; max-width:none !important; padding:0 !important; }
.woocommerce-checkout #customer_details .col-2:empty{ display:none; }
.woocommerce-checkout .woocommerce-billing-fields > h3{ display:none; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{ display:flex; flex-wrap:wrap; column-gap:16px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row{ float:none !important; margin:0 0 18px !important; padding:0 !important; }
.woocommerce-checkout .form-row-wide{ width:100% !important; }
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last{ width:calc(50% - 8px) !important; }
.woocommerce-checkout .form-row label{ font-weight:600; color:var(--hb-ink); font-size:14px; margin-bottom:0; }
.woocommerce-checkout .form-row .required{ color:#DC2626; }
.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered{ line-height:22px; padding:0; color:var(--hb-ink); }
.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__arrow{ height:48px; right:10px; }
.hb-co-section{ display:flex !important; align-items:center; gap:12px; margin:8px 0 18px !important; padding-bottom:14px !important; border-bottom:1px solid var(--hb-border); }
.hb-co-section[data-priority="55"]{ margin-top:14px !important; }
.hb-co-section h3{ margin:0 !important; font-size:19px !important; font-weight:800; }
.hb-co-num{ width:30px; height:30px; border-radius:50%; background:var(--hb-grad); color:#fff; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.woocommerce-checkout .hb-co-summary-open{
  grid-column:2; position:sticky; top:calc(var(--hb-header-h) + 24px);
  background:#fff; border:1px solid var(--hb-border); border-radius:var(--hb-radius-lg); padding:28px; box-shadow:var(--hb-shadow-lg);
}
.woocommerce-checkout #order_review_heading{ float:none !important; width:auto !important; margin:0 0 16px !important; font-size:20px !important; font-weight:800; }
.woocommerce-checkout #order_review{ float:none !important; width:auto !important; margin:0 !important; }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td{ padding:14px 0 !important; background:none; text-transform:none; letter-spacing:0; font-size:15px; }
.woocommerce-checkout #order_review table.shop_table thead{ display:none; }
.woocommerce-checkout #order_review .product-name{ font-weight:700; color:var(--hb-ink); }
.woocommerce-checkout #order_review .product-quantity{ display:none; }
.woocommerce-checkout #order_review td.product-total, .woocommerce-checkout #order_review tfoot td{ text-align:right; }
.woocommerce-checkout #order_review .order-total th, .woocommerce-checkout #order_review .order-total td{ font-size:19px; font-weight:800; color:var(--hb-ink); }
.woocommerce-checkout #payment{ background:none !important; border-radius:0; margin-top:8px; }
.woocommerce-checkout #payment ul.payment_methods{ border:none !important; padding:0 0 16px !important; }
.woocommerce-checkout #payment div.form-row{ padding:0 !important; }
.woocommerce-checkout #payment .woocommerce-info{ background:#FFF7ED; border-left-color:var(--hb-warn); font-size:14px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{ font-size:13px; color:var(--hb-muted); margin-bottom:16px; }
.woocommerce-checkout .woocommerce-privacy-policy-text p{ font-size:13px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout .woocommerce-form-login-toggle{ grid-column:1 / -1; }
@media (max-width:900px){
  .woocommerce-checkout form.checkout{ grid-template-columns:1fr; }
  .woocommerce-checkout #customer_details, .woocommerce-checkout .hb-co-summary-open{ grid-column:1; position:static; }
  .woocommerce-checkout #customer_details{ padding:22px; }
}
@media (max-width:560px){ .woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last{ width:100% !important; } }

/* ==========================================================================
   Footer
   ========================================================================== */
.hb-site-footer{ background:var(--hb-navy); color:#9FB4C8; padding:64px 24px 0; }
.hb-footer-cta{
  max-width:1240px; margin:0 auto 56px;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  background:var(--hb-grad); border-radius:var(--hb-radius-lg); padding:36px 44px; box-shadow:0 24px 48px rgba(45,125,210,.3);
}
.hb-footer-cta h3{ color:#fff; font-size:26px; margin:0 0 4px; font-weight:800; }
.hb-footer-cta p{ color:rgba(255,255,255,.88); margin:0; }
.hb-footer-cta .hb-btn-primary{ background:#fff; color:var(--hb-blue-d) !important; box-shadow:none; }
.hb-footer-top{ max-width:1240px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding:0 0 56px; }
.hb-footer-brand img{ height:46px; width:auto; margin-bottom:18px; }
.hb-footer-brand p{ font-size:15px; line-height:1.7; max-width:340px; margin:0 0 16px; }
a.hb-footer-mail{ display:inline-flex; align-items:center; gap:8px; color:#fff; font-weight:600; text-decoration:none; }
.hb-footer-col h4{ color:#fff; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; margin:0 0 18px; }
.hb-footer-col h4::before{ content:""; display:inline-block; width:14px; height:2px; background:var(--hb-cyan); vertical-align:middle; margin-right:10px; }
.hb-footer-col ul{ list-style:none; margin:0; padding:0; }
.hb-footer-col li{ margin-bottom:12px; }
.hb-footer-col a{ color:#9FB4C8; text-decoration:none; font-size:15px; transition:color .2s ease; }
.hb-footer-col a:hover{ color:var(--hb-cyan); }
.hb-footer-bottom{ max-width:1240px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:24px 0 32px; border-top:1px solid rgba(255,255,255,.08); font-size:14px; }
.hb-footer-bottom p{ margin:0; }
.hb-footer-secure{ display:flex; align-items:center; gap:8px; }
.hb-footer-secure .hb-ico{ color:var(--hb-cyan); }
body:not(.hb-landing) .hb-site-footer{ margin-top:80px; }
.hb-landing .hb-site-footer{ margin-top:0; }
@media (max-width:900px){ .hb-footer-top{ grid-template-columns:1fr 1fr; } .hb-footer-brand{ grid-column:1 / -1; } }
@media (max-width:560px){ .hb-footer-top{ grid-template-columns:1fr; } .hb-footer-cta{ padding:28px; } }

/* Legal / default pages readable width */
body:not(.hb-landing):not(.woocommerce-page) .entry-content{ max-width:820px; margin:0 auto; }
body:not(.hb-landing):not(.woocommerce-page) .entry-header{ max-width:820px; margin:0 auto 24px; }
body:not(.hb-landing):not(.woocommerce-page) .entry-content h2{ font-size:24px; margin-top:36px; }

/* Cart: plan table and totals side by side */
.woocommerce-cart .woocommerce{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:28px; align-items:start; }
.woocommerce-cart .woocommerce > .hb-flow-head, .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper, .woocommerce-cart .woocommerce > .return-to-shop{ grid-column:1 / -1; }
.woocommerce-cart .cart-collaterals{ margin-top:0 !important; display:block !important; }
.woocommerce-cart .cart-collaterals .cart_totals{ max-width:none; }
.woocommerce-cart button[name="update_cart"]{ display:none !important; }
.woocommerce-cart .cart_totals h2{ background:none !important; padding:0 !important; border:none !important; }
@media (max-width:900px){ .woocommerce-cart .woocommerce{ grid-template-columns:1fr; } }

/* Checkout: remove Astra's inner order-review border so the card has a single frame */
.woocommerce-checkout #order_review, .woocommerce-checkout #order_review_heading,
.woocommerce-page.woocommerce-checkout form #order_review, .woocommerce-page.woocommerce-checkout form #order_review_heading{
  border:none !important; padding:0 !important;
}
.woocommerce-checkout .hb-trust-list{ margin-top:18px; }

/* Checkout: email and phone full width */
.woocommerce-checkout #billing_email_field, .woocommerce-checkout #billing_phone_field{ width:100% !important; }
