/* Doorgen shared blocks — styled ONLY through design tokens (DesignProvider)
   with neutral fallbacks, so pages look consistent with or without a
   GradientDeck design assigned. Injected per-domain via BlocksPlugin. */

.blk { margin: 2.5rem auto; max-width: 60ch; font-family: var(--font-body, inherit); color: var(--color-ink, inherit); }
.blk-title { font-family: var(--font-display, inherit); font-size: 1.35rem; line-height: 1.25; margin: 0 0 1rem; }

/* related-grid */
.blk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: .9rem; }
.blk-card { display: flex; flex-direction: column; justify-content: space-between; gap: 1rem;
  padding: 1rem 1.1rem; border-radius: var(--radius-card, 14px);
  background: var(--color-bg, rgba(0,0,0,.03)); border: 1px solid rgba(127,127,127,.18);
  color: inherit; text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.blk-card:hover { transform: translateY(-2px); border-color: var(--color-1, rgba(127,127,127,.4)); }
.blk-card-anchor { font-weight: 600; line-height: 1.35; }
.blk-card-more { font-size: .8rem; opacity: .65; }

/* comments-section */
.blk-comment-list { display: flex; flex-direction: column; gap: .9rem; }
.blk-comment { display: flex; gap: .8rem; align-items: flex-start; }
.blk-avatar { flex: 0 0 auto; width: 2.2rem; height: 2.2rem; border-radius: 9999px;
  display: grid; place-items: center; font-weight: 700;
  background: var(--color-1, rgba(127,127,127,.25)); color: var(--color-ink, inherit); }
.blk-comment-meta { display: flex; gap: .6rem; align-items: baseline; }
.blk-name { font-weight: 600; }
.blk-age { font-size: .78rem; opacity: .55; }
.blk-text { margin: .2rem 0 0; line-height: 1.55; }

/* faq-accordion */
.blk-faq-item { border: 1px solid rgba(127,127,127,.2); border-radius: var(--radius-card, 12px);
  padding: .7rem .95rem; margin-bottom: .6rem; background: var(--color-bg, transparent); }
.blk-faq-item summary { cursor: pointer; font-weight: 600; }
.blk-faq-item p { margin: .6rem 0 0; line-height: 1.55; opacity: .9; }

/* stat-counter */
.blk-stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: .8rem; }
.blk-stat { text-align: center; padding: .9rem .6rem; border-radius: var(--radius-card, 12px);
  border: 1px solid rgba(127,127,127,.16); }
.blk-stat-value { display: block; font-family: var(--font-display, inherit); font-size: 1.25rem; font-weight: 700; }
.blk-stat-label { display: block; font-size: .78rem; opacity: .6; margin-top: .2rem; }

/* cta */
.blk-cta-box { text-align: center; padding: 1.6rem 1.2rem; border-radius: var(--radius-card, 16px);
  background: var(--color-bg, rgba(0,0,0,.04)); border: 1px solid rgba(127,127,127,.18); }
.blk-cta-title { margin: 0 0 .4rem; font-family: var(--font-display, inherit); }
.blk-cta-text { margin: 0 0 1rem; opacity: .75; }
.blk-cta-btn { display: inline-block; padding: .65rem 1.4rem; border-radius: var(--radius-pill, 9999px);
  background: var(--color-1, #111); color: var(--color-bg, #fff); font-weight: 600;
  text-decoration: none; }
.blk-cta-btn:hover { filter: brightness(1.08); }

/* video-hero */
.blk-video-frame { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius-card, 14px);
  overflow: hidden; background: var(--color-bg, rgba(0,0,0,.06)); border: 1px solid rgba(127,127,127,.18); }
.blk-video-frame iframe, .blk-video-frame embed, .blk-video-frame object { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* featured-image */
.blk-image { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .8rem; }
.blk-image-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  border-radius: var(--radius-card, 12px); border: 1px solid rgba(127,127,127,.16); }
.blk-image-cap { grid-column: 1 / -1; font-size: .8rem; opacity: .6; }

/* news-list */
.blk-news-list { display: flex; flex-direction: column; gap: .8rem; }
.blk-news-item { padding: .7rem 1rem; border-radius: var(--radius-card, 12px);
  border: 1px solid rgba(127,127,127,.16); background: var(--color-bg, transparent); }
.blk-news-title { margin: 0; font-size: 1rem; line-height: 1.35; }
.blk-news-title a { color: inherit; text-decoration: none; }
.blk-news-title a:hover { color: var(--color-1, inherit); }
.blk-news-text { margin: .3rem 0 0; font-size: .9rem; line-height: 1.5; opacity: .85; }

/* network-links */
.blk-network-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.blk-network-item { display: flex; flex-direction: column; gap: .1rem; padding: .7rem 1rem;
  border-radius: var(--radius-card, 12px); border: 1px solid rgba(127,127,127,.16);
  background: var(--color-bg, transparent); }
.blk-network-link { color: inherit; font-weight: 600; text-decoration: none; line-height: 1.35; }
.blk-network-link:hover { color: var(--color-1, inherit); }
.blk-network-domain { font-size: .78rem; opacity: .55; }
