/* CrowdHive home — unified button scale
   Refero lock: Mercury compact fintech controls, adapted to CrowdHive violet and rounded LK geometry.
   40px utility / 44px form & local action / 48px primary CTA / 50px hero only. */

:root{
  --ch-btn-utility:40px;
  --ch-btn-local:44px;
  --ch-btn-primary:48px;
  --ch-btn-hero:50px;
}

/* Shared optical weight */
.btn-prim{
  justify-content:center;
  line-height:1;
  letter-spacing:-.01em;
  box-shadow:0 6px 16px rgba(var(--brand-shadow),.24);
}
.btn-prim:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(var(--brand-shadow),.32);
}
.btn-prim:focus-visible,
.btn-link:focus-visible{
  outline:3px solid rgba(79,70,229,.24);
  outline-offset:3px;
}

/* Header and compact utility actions */
.btn-prim.sm{
  height:var(--ch-btn-utility);
  min-height:var(--ch-btn-utility);
  padding:0 15px;
  gap:8px;
  font-size:14px;
}

/* Main conversion actions */
.btn-prim.lg,
.btn-prim.lg.clean-cta{
  height:var(--ch-btn-primary);
  min-height:var(--ch-btn-primary);
  padding:0 20px;
  gap:12px;
  font-size:15.5px;
}

/* Hero keeps one quiet level of emphasis */
.hero-primary.btn-prim.lg{
  height:var(--ch-btn-hero);
  min-height:var(--ch-btn-hero);
  padding:0 22px;
  gap:14px;
  font-size:16px;
}

/* Local actions share one tactile size */
[data-screen-label="Community"] .cc.telegram .btn-prim{
  height:var(--ch-btn-local);
  min-height:var(--ch-btn-local);
  padding:0 16px;
  font-size:14px;
}
[data-screen-label="Community"] .news-form input,
[data-screen-label="Community"] .news-form button{
  height:var(--ch-btn-local);
  min-height:var(--ch-btn-local);
}
[data-screen-label="Community"] .news-form button{
  padding:0 14px;
}

/* Project cards remain product UI, not oversized marketing CTAs */
.pcta .btn-link,
.pcta .btn-link.red{
  min-height:42px;
  padding:0 14px;
  font-size:13.5px;
}

/* Text actions use the same optical scale across sections */
.btn-link{
  gap:6px;
  font-size:15px;
}

@media (max-width:768px){
  /* Preserve a comfortable touch target inside the mobile menu. */
  .mobile-menu .btn-prim.sm{
    height:var(--ch-btn-local);
    min-height:var(--ch-btn-local);
  }
  .hero-primary.btn-prim.lg{
    height:var(--ch-btn-primary);
    min-height:var(--ch-btn-primary);
    font-size:15.5px;
  }
}

@media (prefers-reduced-motion:reduce){
  .btn-prim,
  .btn-link,
  .btn-prim span[aria-hidden="true"],
  .btn-link .arw{
    transition:none;
  }
}
