/* diaspora.ro homepage — final visual contract for the canonical shell. */
.homepage-body .tb-logo-txt {
  font-size: 20px;
  font-weight: 850;
  letter-spacing: -.045em;
}
.homepage-body .site-menu-trigger {
  font-family: var(--dpr-type-font-family);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid #dbe3ee;
  border-radius: 12px;
  background: #fff;
  color: #334155;
  box-shadow: 0 2px 8px rgba(15,23,42,.10);
}
.homepage-body .site-menu-trigger__lines {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 22px;
  height: 22px;
}
.homepage-body .site-menu-trigger__lines i {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: #334155;
}
.homepage-body .home-mobile-service-icon,
.homepage-body .home-mobile-communication-icon,
.homepage-body .mc .mc-ico-wrap {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.homepage-body .home-mobile-service-icon,
.homepage-body .home-mobile-communication-icon {
  width: 42px;
  height: 42px;
}
.homepage-body .home-mobile-service-icon svg,
.homepage-body .home-mobile-communication-icon svg {
  width: 28px;
  height: 28px;
  stroke-width: 2.2;
}
.homepage-body .mc .mc-ico-wrap {
  width: 48px;
  height: 48px;
  font-size: 36px;
}
.homepage-body .mc .mc-ico-svg {
  width: 34px;
  height: 34px;
}
.homepage-body .home-mobile-service-card strong,
.homepage-body .home-mobile-communication-copy strong,
.homepage-body .mc .mc-tit {
  display: block;
  overflow: visible;
  text-overflow: clip;
  -webkit-line-clamp: unset;
  white-space: normal;
}
.homepage-body .home-hub-card,
.homepage-body .home-hub-card h2,
.homepage-body .home-hub-card p,
.homepage-body .home-hub-card__eyebrow,
.homepage-body .home-hub-card__meta span,
.homepage-body .home-hub-card__button {
  color: #fff;
}
.homepage-body .home-hub-card p { color: rgba(255,255,255,.94); }
.homepage-body .home-hub-card__eyebrow { color: #fff; }
@media (max-width: 900px) {
  .homepage-body .tb-logo-txt { font-size: clamp(19px, 5.8vw, 23px); }
}
@media (max-width: 560px) {
  .homepage-body .tb-logo-txt { font-size: clamp(18px, 5.6vw, 21px); }
  .homepage-body .site-menu-trigger { width: 42px; min-width: 42px; height: 42px; min-height: 42px; }
}

/* Mobile Typography v1: platform-native UI rhythm, not Facebook branding. */
@media (max-width: 640px), (max-width: 900px) and (orientation: landscape) and (pointer: coarse) {
  body.homepage-body .home-mobile-rebuild {
    color: var(--dpr-type-ink);
    font-family: var(--dpr-type-font-family);
  }

  body.homepage-body .home-mobile-section-heading h2 {
    color: var(--dpr-type-ink);
    font-size: var(--dpr-type-section-size);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: normal;
  }

  body.homepage-body .home-mobile-service-card strong {
    color: var(--dpr-type-ink);
    font-size: var(--dpr-type-service-size);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: normal;
  }

  body.homepage-body .home-mobile-feature-copy > strong {
    color: var(--dpr-type-ink);
    font-size: var(--dpr-type-feature-size);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: normal;
  }

  body.homepage-body .home-mobile-help-copy strong {
    color: var(--dpr-type-ink);
    font-size: var(--dpr-type-help-size);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: normal;
  }

  body.homepage-body .home-mobile-section-heading p,
  body.homepage-body .home-mobile-feature-copy > small,
  body.homepage-body .home-mobile-help-copy small {
    color: var(--dpr-type-secondary);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: normal;
  }

  body.homepage-body .home-mobile-news-card > strong {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    -webkit-text-fill-color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .62), 0 2px 10px rgba(0, 0, 0, .48);
    box-shadow: none;
  }

  body.homepage-body .home-mobile-news-card > small {
    color: rgba(255, 255, 255, .92);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: normal;
    text-shadow: 0 1px 7px rgba(0, 0, 0, .32);
  }
}

html[data-theme="dark"] body.homepage-body .home-mobile-section-heading h2,
html[data-theme="dark"] body.homepage-body .home-mobile-service-card strong,
html[data-theme="dark"] body.homepage-body .home-mobile-feature-copy > strong,
html[data-theme="dark"] body.homepage-body .home-mobile-help-copy strong {
  color: #f8fafc;
}

html[data-theme="dark"] body.homepage-body .home-mobile-section-heading p,
html[data-theme="dark"] body.homepage-body .home-mobile-feature-copy > small,
html[data-theme="dark"] body.homepage-body .home-mobile-help-copy small {
  color: #cbd5e1;
}
