/* Template sections: Feature grid variants (template-sections/feature-grid.html) */
.ts-fgrid h3 { margin-top: var(--space-1); }
.ts-fgrid p { color: var(--text-medium); }

/* V1 three-column icons */
.ts-fgrid__list { display: grid; gap: var(--space-10) var(--space-8); }
.ts-fgrid__item { display: grid; justify-items: start; gap: var(--space-2); }
.ts-fgrid__item .ts-icon { margin-bottom: var(--space-3); }
@media (min-width: 640px) { .ts-fgrid__list { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ts-fgrid__list { grid-template-columns: repeat(3, 1fr); gap: var(--space-12) var(--space-10); } }

/* V2 numbered */
.ts-fgrid__split { display: grid; gap: var(--space-10); }
.ts-fgrid__intro { display: grid; gap: var(--space-4); align-content: start; max-width: 420px; }
.ts-fgrid__numbered { display: grid; border-top: 1px solid var(--border-thin); }
.ts-fgrid__numbered li { display: grid; gap: var(--space-2); padding-block: var(--space-6); border-bottom: 1px solid var(--border-thin); }
.ts-fgrid__num { font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--h4-size); line-height: 1; color: var(--accent); }
@media (min-width: 768px) {
  .ts-fgrid__numbered { grid-template-columns: repeat(2, 1fr); column-gap: var(--space-10); }
  .ts-fgrid__numbered li { padding-block: var(--space-8); }
}
@media (min-width: 1024px) { .ts-fgrid__split { grid-template-columns: 1fr 2fr; gap: var(--space-16); } }

/* V3 image cards */
.ts-fgrid__cards { display: grid; gap: var(--space-8) var(--space-6); }
.ts-fgrid__card { display: grid; gap: var(--space-2); }
.ts-fgrid__card .ts-media { margin-bottom: var(--space-3); }
.ts-fgrid__card .link { justify-self: start; margin-top: var(--space-2); color: var(--text-strong); }
@media (hover: hover) { .ts-fgrid__card:hover h3 { color: var(--amber-800); } }
@media (min-width: 768px) { .ts-fgrid__cards { grid-template-columns: repeat(3, 1fr); } }

/* V4 sticky heading */
.ts-fgrid__sticky { display: grid; gap: var(--space-10); }
.ts-fgrid__aside { display: grid; justify-items: start; gap: var(--space-4); align-content: start; }
.ts-fgrid__rows { display: grid; }
.ts-fgrid__rows li { display: flex; gap: var(--space-4); padding-block: var(--space-6); border-top: 1px solid var(--border-thin); }
.ts-fgrid__rows li div { display: grid; gap: var(--space-1); }
@media (min-width: 768px) { .ts-fgrid__rows { grid-template-columns: repeat(2, 1fr); column-gap: var(--space-8); } }
@media (min-width: 1024px) {
  .ts-fgrid__sticky { grid-template-columns: 5fr 7fr; gap: var(--space-16); align-items: start; }
  .ts-fgrid__aside { position: sticky; top: calc(var(--header-h) + var(--space-8)); }
}

/* V5 checklist panel */
.ts-fgrid__panel { padding: var(--space-10) var(--space-6); border-radius: var(--radius-xl); background: var(--stone-100); }
.ts-fgrid__panel .section-head { margin-bottom: var(--space-8); }
.ts-fgrid__checks { grid-template-columns: 1fr; max-width: 960px; margin-inline: auto; }
.ts-fgrid__checks li { color: var(--text-strong); font-weight: var(--fw-medium); font-size: var(--body-md-size); line-height: 20px; }
@media (min-width: 480px) { .ts-fgrid__checks { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px) { .ts-fgrid__panel { padding: var(--space-16); } .ts-fgrid__checks { grid-template-columns: repeat(3, 1fr); gap: var(--space-4) var(--space-6); } }
@media (min-width: 1024px) { .ts-fgrid__checks { grid-template-columns: repeat(4, 1fr); } }
