.minimal-plugin {
  width: min(100%, var(--container-width));
  margin-inline: auto;
  padding: var(--space-lg) var(--space-lg) var(--space-xxl);
  font-family: var(--font-secondary);
  color: var(--color-text-primary);
}
/* Split around the full-bleed quote: the sections keep their own padding at the seam. */
.minimal-plugin:has(+ .banner-section--shader) { padding-bottom: 0; }
.minimal-plugin--after-quote { padding-top: 0; }
.minimal-plugin__intro { max-width: 62rem; padding-block: var(--space-md) var(--space-xl); }
.minimal-plugin__back { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: var(--space-lg); }
.minimal-plugin__eyebrow { font: 400 12px/1.6 var(--font-primary); margin: 0 0 var(--space-sm); color: var(--color-text-secondary); }
.minimal-plugin h1 { font: 700 clamp(28px, 4.4vw, 56px)/1.17 var(--font-primary); letter-spacing: -.035em; margin: 0; max-width: 22ch; text-wrap: balance; }
.minimal-plugin__lead { font-size: clamp(17px, 1.5vw, 21px); line-height: 1.65; max-width: 65ch; margin: var(--space-md) 0; color: var(--color-text-secondary); }
.minimal-plugin__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm); margin-top: var(--space-lg); }
.minimal-plugin a { color: inherit; text-underline-offset: 4px; }
.minimal-plugin a:focus-visible, .minimal-plugin summary:focus-visible { outline: 3px solid var(--color-text-primary); outline-offset: 5px; }
.minimal-plugin .btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.minimal-plugin__text-link { padding: var(--space-sm); min-height: 44px; }
.minimal-plugin__preview { margin: 0; }
.minimal-plugin__preview > a { display: block; border: 1px solid var(--color-border-strong); background: var(--color-surface-alt); }
.minimal-plugin__preview img { display: block; width: 100%; height: auto; object-fit: contain; image-rendering: auto; }
.minimal-plugin__preview figcaption { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-sm); margin-top: var(--space-sm); font-size: 12px; line-height: 1.6; color: var(--color-text-secondary); }
.minimal-plugin__preview figcaption a { display: inline-flex; align-items: center; min-height: 24px; }
.minimal-plugin__section { padding-block: var(--space-xl); border-bottom: 1px solid var(--color-border-strong); }
.minimal-plugin h2 { font: 700 clamp(19px, 2.1vw, 26px)/1.45 var(--font-primary); margin: 0 0 var(--space-lg); text-wrap: balance; }
.minimal-plugin h3 { font: 600 19px/1.4 var(--font-secondary); margin: 0 0 var(--space-sm); }
.minimal-plugin__bento .bento-feature-grid { padding: 0; margin: 0; width: 100%; }
.minimal-plugin__bento .container { padding: 0; width: 100%; max-width: none; }
.minimal-plugin__bento .bento-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; grid-auto-rows: minmax(240px, auto); gap: var(--space-md); }
.minimal-plugin__bento .feature-card { min-height: 240px; padding: var(--space-md); justify-content: flex-start; gap: var(--space-sm); }
.minimal-plugin__bento .feature-icon-wrapper, .minimal-plugin__bento .feature-icon { width: 48px !important; height: 48px !important; flex-shrink: 0; }
.minimal-plugin__bento .feature-title-hint-wrapper, .minimal-plugin__bento .feature-card:hover .feature-title-hint-wrapper { opacity: 1; transform: none; }
.minimal-plugin__bento .feature-card:hover .feature-icon-wrapper { transform: none; }
.minimal-plugin__bento .feature-desc-wrapper, .minimal-plugin__bento .feature-card:hover .feature-desc-wrapper { position: static; opacity: 1; transform: none; padding: 0; background: transparent; pointer-events: auto; }
.minimal-plugin__bento .feature-desc-wrapper p { padding: 0; margin: 0; color: var(--color-text-secondary) !important; font-size: 15px; font-weight: 400; line-height: 1.6; }
.minimal-plugin__footer p { font-size: 16px; line-height: 1.75; color: var(--color-text-secondary); margin: 0; }
.minimal-plugin__start { display: grid; grid-template-columns: 1fr 1.5fr; gap: var(--space-xl); scroll-margin-top: var(--space-xl); }
.minimal-plugin__start h2 { margin: 0; }
.minimal-plugin__start ol { margin: 0; padding-left: var(--space-md); font-size: 17px; line-height: 1.65; }
.minimal-plugin__start li { padding-left: var(--space-xs); }
.minimal-plugin__start li + li { margin-top: var(--space-md); }
.minimal-plugin__start li::marker { font-family: var(--font-primary); }
.minimal-plugin__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-lg); padding-top: var(--space-xl); }
.minimal-plugin__footer h2 { margin-bottom: var(--space-xs); }
.minimal-plugin__related { flex-basis: 100%; }
@media (max-width: 700px) {
  .minimal-plugin { padding-inline: var(--space-sm); }
  .minimal-plugin__intro { padding-top: 0; }
  .minimal-plugin__back { margin-bottom: var(--space-sm); }
  .minimal-plugin__start { grid-template-columns: 1fr; gap: var(--space-lg); }
  .minimal-plugin__bento .bento-grid { grid-template-columns: 1fr !important; }
  .minimal-plugin__actions { align-items: stretch; }
  .minimal-plugin__actions .btn { flex-grow: 1; }
  .minimal-plugin__footer > .btn { width: 100%; }
}

/* Shared FAQ inside the compact page: the article already provides the side padding and
   width, so the FAQ module's own section padding/centring would indent it. Compact pages only. */
.minimal-plugin .faq-section { padding-inline: 0; margin-inline: 0; max-width: none; width: auto; }
.minimal-plugin .faq-section .faq-modern-container { max-width: none; margin-inline: 0; }
