:root{
  --ghfs-accent:#11b7b5;
  --ghfs-accent2:#0891b2;
  --ghfs-ink:#0b1b2b;
  --ghfs-muted:rgba(11,27,43,.68);
  --ghfs-bd:rgba(17,183,181,.22);
  --ghfs-bg:rgba(255,255,255,.78);
  --ghfs-shadow:0 18px 55px rgba(7,18,31,.12);
  --ghfs-radius:18px;
  --ghfs-gradient:linear-gradient(135deg, var(--ghfs-accent), var(--ghfs-accent2));
}

.bg-primary{background:var(--ghfs-gradient)!important;}
.text-primary{color:var(--ghfs-accent2)!important;}
.link-primary{color:var(--ghfs-accent2)!important;}

.btn-primary{
  background:var(--ghfs-gradient)!important;
  border:0!important;
  box-shadow:0 10px 26px rgba(17,183,181,.18);
}
.btn-primary:hover{filter:brightness(.98);}
.btn-secondary{
  border-color:rgba(8,145,178,.35)!important;
}
.btn-outline-primary{
  border-color:rgba(8,145,178,.35)!important;
  color:var(--ghfs-accent2)!important;
}
.btn-outline-primary:hover{
  background:rgba(17,183,181,.10)!important;
}

.navbar.navbar-light{
  background:var(--ghfs-bg);
  border-bottom:1px solid rgba(2,32,71,.08);
  backdrop-filter:saturate(180%) blur(14px);
}
.navbar .navbar-brand-image{
  filter:drop-shadow(0 10px 22px rgba(7,18,31,.10));
}

.card{
  border-radius:var(--ghfs-radius);
  border:1px solid rgba(2,32,71,.08);
  box-shadow:0 10px 34px rgba(7,18,31,.06);
}

.ghfs-hero{
  position:relative;
  overflow:hidden;
  border-radius:calc(var(--ghfs-radius) + 6px);
  border:1px solid rgba(2,32,71,.08);
  background:
    radial-gradient(900px 420px at 15% 20%, rgba(17,183,181,.18), transparent 60%),
    radial-gradient(900px 420px at 80% 10%, rgba(8,145,178,.16), transparent 55%),
    rgba(255,255,255,.86);
  box-shadow:var(--ghfs-shadow);
}
.ghfs-hero__inner{padding:28px;}
@media (min-width: 992px){.ghfs-hero__inner{padding:40px;}}

.ghfs-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid var(--ghfs-bd);
  background:rgba(17,183,181,.06);
  color:var(--ghfs-ink);
  font-weight:600;
  font-size:.85rem;
}

.ghfs-title{color:var(--ghfs-ink); letter-spacing:-.02em;}
.ghfs-subtitle{color:var(--ghfs-muted); max-width:56ch;}

.ghfs-kpis{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
@media (min-width: 768px){.ghfs-kpis{grid-template-columns:repeat(4,minmax(0,1fr));}}
.ghfs-kpi{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(2,32,71,.08);
  background:rgba(255,255,255,.65);
}
.ghfs-kpi b{display:block; color:var(--ghfs-ink); font-size:1rem;}
.ghfs-kpi span{display:block; color:var(--ghfs-muted); font-size:.8rem;}

.ghfs-cat-nav{display:flex; flex-wrap:wrap; gap:8px;}
.ghfs-cat-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(8,145,178,.25);
  background:rgba(17,183,181,.06);
  color:var(--ghfs-ink);
  text-decoration:none;
  font-weight:600;
}
.ghfs-cat-pill:hover{background:rgba(17,183,181,.10);}

.ghfs-product-card{
  height:100%;
  border-radius:var(--ghfs-radius);
  border:1px solid rgba(2,32,71,.08);
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 30px rgba(7,18,31,.06);
}
.ghfs-product-card .card-body{padding:18px;}

.ghfs-type{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(2,32,71,.10);
  background:rgba(2,32,71,.03);
  font-size:.8rem;
  color:var(--ghfs-muted);
  text-transform:capitalize;
}

.ghfs-price{
  font-weight:800;
  font-size:1.35rem;
  color:var(--ghfs-ink);
}
.ghfs-price small{font-weight:700; font-size:.85rem; color:var(--ghfs-muted);}

.page-login,
.page-signup{
  background:
    radial-gradient(1000px 460px at 10% 10%, rgba(17,183,181,.18), transparent 60%),
    radial-gradient(1000px 460px at 90% 0%, rgba(8,145,178,.16), transparent 55%),
    #f6fbff;
}

/* make hero image responsive inside cards */
.ghfs-hero-img{max-width:100%; height:auto;}
