/* Vista theme — sampled from Ronneby demo #82 (Travel). Clean modern: Montserrat
   headings + Open Sans body, bright red accent, sharp corners. Token-only theme —
   it reuses the Aperture structural components (ap-* prefix) and gets its distinct
   identity purely from these token overrides + a few scoped touches. Scoped under
   `.theme-vista` (ThemeResolver.GetThemeCssClass()). */
.theme-vista {
    --kw-accent: #db3333;          /* clean travel red */
    --kw-accent-deep: #b82626;
    --kw-accent-soft: #ef9a9a;
    --kw-dark: #1f2224;
    --kw-dark-soft: #34383b;
    --kw-text: #26292c;
    --kw-text-muted: #868c8f;
    --kw-border: rgba(31, 34, 36, 0.10);
    --kw-border-strong: #d8dcde;
    --kw-font: 'Open Sans', system-ui, -apple-system, sans-serif;
    --kw-font-heading: 'Montserrat', system-ui, -apple-system, sans-serif;
    --kw-radius: 0px;
    --kw-border-width: 2px;
}

/* Montserrat headings want a touch more weight + tighter tracking than the base. */
.theme-vista h1, .theme-vista h2, .theme-vista h3 { font-weight: 700; letter-spacing: -0.02em; }
.theme-vista .fk-section-title { color: var(--kw-accent); letter-spacing: 0.16em; }

/* Clean red rule under block titles — the travel-demo section rhythm. */
.theme-vista .kw-block-featured-title,
.theme-vista .kw-block-products-header h2,
.theme-vista .kw-block-news-title,
.theme-vista .kw-block-categories-title { position: relative; padding-bottom: 1rem; }
.theme-vista .kw-block-featured-title::after,
.theme-vista .kw-block-products-header h2::after,
.theme-vista .kw-block-news-title::after,
.theme-vista .kw-block-categories-title::after {
    content: ""; position: absolute; left: 0; bottom: 0;
    width: 2.5rem; height: 3px; background: var(--kw-accent);
}

.kw-site.theme-vista:has(.kw-page--article) .ap-header {
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid var(--kw-border);
}
