/* Shared panel shape, matching the approved homepage. */
:root{--site-panel-radius:16px}
.card,.feature-gateway,.home-introduction,.hero,.carousel,.hour-banner,
.site-header .header-banner,.filters,.book-cover,.book-sources,.rappel-originals,
.source-note,.toc,.article-toc,.article-note,.book-sharing-intro,.follow-section,
.dossier-video-link,.metric,.review-form,.empty-message,.collection>details,
.video-audit-note,.video-unavailable,.video-audit-entry,.video-provider-message,
.video-player,.pdf-controls,.pdf-surface,.article-cover,.reading>figure,.banner-wide,
.quran-sheet,.book-spread,.alliance-step,.rappel-intro,.dossier-intro,.doctrine-message{
  border-radius:var(--site-panel-radius);
}
/* Clip edge-to-edge imagery to the panel, without changing image proportions. */
.card,.feature-gateway,.hero,.carousel,.hour-banner,.site-header .header-banner,
.book-cover,.article-cover,.reading>figure,.banner-wide,.quran-sheet,.book-spread{
  overflow:hidden;
}
.card .book-cover{border-radius:0}
/* Respect the more specific styles of the homepage and presentation page. */
.home-variant-v47 .variant-grid .feature-gateway,
.author-reading .original-content .doctrine-message{
  border-radius:var(--site-panel-radius);
}
/* Keep timeline markers and the decorative diamond outside their panels visible. */
.alliance-step,.rappel-intro{overflow:visible}
.rappel-intro::before{border-radius:calc(var(--site-panel-radius) - 6px)}
@media(max-width:650px){:root{--site-panel-radius:12px}}
