
/* Nova Hub v1.4.0 — Social Media Collection I */
.nh-social-button-flag,
.nh-social-contact-list,
.nh-social-icons-glow,
.nh-social-button-flag *,
.nh-social-contact-list *,
.nh-social-icons-glow *{box-sizing:border-box}

.nh-social-button-flag{
  --nh-social-accent:#7c4dff;
  --nh-social-text:#151a2c;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  width:100%;
  background:transparent;
}
.nh-social-button-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-width:0;
  min-height:76px;
  padding:14px 18px;
  border:1px solid rgba(28,36,59,.10);
  border-radius:16px;
  background:rgba(255,255,255,.92);
  color:var(--nh-social-text);
  text-decoration:none!important;
  box-shadow:0 12px 30px rgba(31,38,58,.08);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.nh-social-button-item:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--nh-social-accent) 40%,transparent);
  box-shadow:0 18px 38px rgba(31,38,58,.13);
}
.nh-social-button-icon{
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;
  background:var(--nh-social-accent);color:#fff;font-size:21px;
}
.nh-social-button-icon svg{width:1em;height:1em;fill:currentColor}
.nh-social-button-label{
  display:flex;align-items:center;gap:7px;
  min-width:0;font-weight:750;white-space:nowrap;
}
.nh-social-flag{
  display:inline-block;width:20px;height:auto;aspect-ratio:3/2;
  object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);
  flex:0 0 auto;
}
.nh-social-button-arrow{color:var(--nh-social-accent);font-size:20px}

.nh-social-contact-list{
  --nh-contact-accent:#29d3c2;
  --nh-contact-text:#fff;
  display:flex;flex-direction:column;align-items:flex-start;
  gap:10px;width:max-content;max-width:100%;
  background:transparent;
}
.nh-social-contact-item{
  display:flex;align-items:center;gap:10px;
  color:var(--nh-contact-text);text-decoration:none!important;
  line-height:1.35;
  transition:transform .18s ease,opacity .18s ease;
}
.nh-social-contact-item:hover{transform:translateX(4px);opacity:.88}
.nh-social-contact-icon{
  display:flex;align-items:center;justify-content:center;
  width:20px;color:var(--nh-contact-accent);font-size:18px;flex:0 0 auto;
}
.nh-social-contact-icon svg{width:1em;height:1em;fill:currentColor}
.nh-social-contact-text{overflow-wrap:anywhere}

.nh-social-icons-glow{
  --nh-glow-blur:18px;
  display:flex;flex-wrap:wrap;align-items:center;
  gap:20px;width:100%;background:transparent;
}
.nh-social-glow-item{
  --nh-glow-color:#7c4dff;
  display:flex;align-items:center;justify-content:center;
  width:64px;height:64px;border:1.5px solid var(--nh-glow-color);
  border-radius:50%;color:#fff;text-decoration:none!important;
  background:color-mix(in srgb,var(--nh-glow-color) 14%,transparent);
  box-shadow:0 0 var(--nh-glow-blur) color-mix(in srgb,var(--nh-glow-color) 65%,transparent);
  font-size:25px;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.nh-social-glow-item:hover{
  transform:translateY(-5px) scale(1.04);
  background:color-mix(in srgb,var(--nh-glow-color) 28%,transparent);
  box-shadow:0 0 calc(var(--nh-glow-blur) * 1.55) var(--nh-glow-color);
}
.nh-social-glow-item svg{width:1em;height:1em;fill:currentColor}

@media(max-width:900px){
  .nh-social-button-flag{grid-template-columns:1fr}
}
@media(max-width:767px){
  .nh-social-button-item{min-height:66px;padding:11px 14px}
  .nh-social-button-icon{width:42px;height:42px}
  .nh-social-icons-glow{gap:14px}
}

/* Social Typography Controls 1.4.1 */
.nh-social-button-label,
.nh-social-contact-text{
  transition:color .18s ease;
}

/* Official Social Colors 1.4.3 */
.nh-social-button-flag.nh-color-mode-official .nh-social-button-icon{
  background:var(--nh-item-color,#7c4dff);
}
.nh-social-button-flag.nh-color-mode-official .nh-social-button-arrow{
  color:var(--nh-item-color,#7c4dff);
}
.nh-social-button-flag.nh-color-mode-official .nh-social-button-item:hover{
  border-color:color-mix(in srgb,var(--nh-item-color,#7c4dff) 40%,transparent);
}
.nh-social-button-flag.nh-color-mode-custom .nh-social-button-icon{
  background:var(--nh-social-accent);
}
.nh-social-button-flag.nh-color-mode-custom .nh-social-button-arrow{
  color:var(--nh-social-accent);
}
.nh-social-contact-list.nh-color-mode-official .nh-social-contact-icon{
  color:var(--nh-item-color,#6b7280);
}
.nh-social-contact-list.nh-color-mode-custom .nh-social-contact-icon{
  color:var(--nh-contact-accent);
}
