/* Shared browsing composition. Opt-in via sapient_browsing; decorative art stays code-owned. */
.su-browse-category-group { margin-block: 1.75rem; }
.su-browse-category-header { display: flex; gap: 1.5rem; align-items: flex-start; }
.su-browse-category-heading { flex: 1; min-width: 0; margin: 0 0 1.5rem; }
.su-browse-category-heading > .su-section-heading { font-size: clamp(1.3rem, 2.3vw, 1.8rem); }
.su-browse-category-heading > .su-section-subtitle { margin-block: 0 1rem; line-height: 1.7; }
.su-browse-category-heading .su-category-stack-meta { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.su-browse-category-heading .su-category-stack-link { color: var(--su-on-surface); text-decoration: underline; text-underline-offset: 0.2em; font-weight: 600; }
.su-browse-category-image { width: min(25%, 10rem); aspect-ratio: 3 / 2; object-fit: contain; border-radius: var(--su-radius-md); }
.su-browse-category-group .su-browse-collection { margin: 0; padding: 0; background-color: transparent; }
.su-browse-category-group .su-catalogue-empty { color: var(--su-on-surface-muted); margin: 0; }

/* Columns respond to available space, including dashboard layouts with a category rail. */
.su-browse-collection { padding: clamp(1rem, 2vw, 1.5rem); border-radius: var(--su-radius-lg); background-color: var(--su-surface); }
.su-browse-collection > .su-section-body { container-type: inline-size; }
.su-browse-collection .su-card-collection-grid { grid-template-columns: minmax(0, 1fr); }
@container (min-width: 36rem) {
    .su-browse-collection .su-card-collection-grid:not(.su-feature-columns-1) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (min-width: 56rem) {
    .su-browse-collection .su-card-collection-grid.su-feature-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.su-browse-entry-card { height: 100%; }
.su-browse-entry-card .su-content-card-link { height: 100%; }
.su-browse-entry-card .su-content-card-image { aspect-ratio: 16 / 9; }
.su-browse-entry-card .su-content-card-meta:not(:empty) { margin-block-start: 1rem; }
.su-browse-entry-card .su-content-card-summary { max-width: 48rem; }
.su-browse-entry-card .su-content-card-featured-inline { position: static; margin-block-end: 0.75rem; }

.su-browse-category-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block: 0 1.5rem; }
.su-browse-category-chips .su-link-list-item { margin: 0; padding: 0; }
.su-browse-category-chips .su-link-list-link { padding: 0.5rem 0.8rem; border: 1px solid var(--su-card-border); border-radius: var(--su-radius-md); background: var(--su-card); color: var(--su-on-surface); gap: 0.5rem; }
.su-browse-category-chips .su-link-list-label { font-size: 0.85rem; }
.su-browse-category-chips .su-link-list-icon { width: 1.5rem; height: 1.5rem; font-size: 1rem; }
.su-browse-category-chips .su-link-list-thumb img { width: 100%; height: 100%; object-fit: contain; }

.su-browse-navigation { padding: 1.25rem; margin-block: 1.75rem; overflow-wrap: anywhere; }
.su-browse-navigation > .su-section-heading { font-size: 1.1rem; margin-block-end: 1rem; }
.su-browse-navigation .su-link-list-item { padding: 0; }
.su-browse-navigation .su-link-list-link { padding: 0.65rem 0.75rem; border-radius: var(--su-radius-sm); gap: 0.6rem; }
.su-browse-navigation .su-link-list-icon { width: 1.2rem; min-width: 1.2rem; font-size: 1rem; }
.su-browse-navigation .su-link-list-content { min-width: 0; }
.su-browse-navigation .su-link-list-label { font-size: 0.88rem; line-height: 1.5; }
.su-browse-navigation .su-link-list-subtitle { color: var(--su-on-surface-muted); }
.su-browse-navigation .su-link-list-children { margin-inline-start: 0.65rem; padding-inline-start: 0.65rem; border-inline-start: 1px solid var(--su-card-border); }
.su-browse-navigation .su-link-list-active { background: color-mix(in srgb, var(--su-brand) 10%, var(--su-card)); box-shadow: inset 3px 0 var(--su-brand); }
.su-browse-navigation .su-link-list-active .su-link-list-label { font-weight: 700; }
:is(.su-browse-navigation, .su-browse-category-group) a:focus-visible { outline: 2px solid var(--su-on-surface); outline-offset: 2px; }
@media (max-width: 575px) {
    .su-browse-category-header { flex-direction: column; gap: 0; }
    .su-browse-category-image { width: 8rem; margin-block-end: 1rem; }
}

/* Reading and compact related-content roles share the same surfaces as browsing. */
.su-browse-reading {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--su-card-border);
    border-radius: var(--su-radius-lg);
    background-color: var(--su-surface);
    color: var(--su-on-surface);
    --su-fe-text: var(--su-on-surface);
    --su-fe-text-muted: var(--su-on-surface-muted);
    --su-fe-border-color: var(--su-card-border);
}
.su-browse-reading .su-prose { max-width: 100%; }
.su-browse-reading .content-body { color: var(--su-on-surface); }
.su-browse-reading .content-body :is(h1, h2, h3, h4, h5, h6) { color: var(--su-on-surface); }
.su-browse-summary { padding: clamp(1.25rem, 3vw, 2rem); font-size: 1.05rem; line-height: 1.75; border-inline-start: 3px solid var(--su-brand); }
.su-browse-support { padding: 1.25rem; }
.su-browse-support > .su-section-heading,
.su-browse-related-collection > .su-section-heading { font-size: 1.1rem; line-height: 1.5; margin-block-end: 1.25rem; }
.su-browse-related-collection { padding: 1.25rem; }
/* Avoid adding section margins to the dashboard stack's own spacing. */
.su-zone-stacked:has(.su-browse-reading, .su-browse-related-collection) { gap: 1.25rem; }
.su-zone-stacked:has(.su-browse-reading, .su-browse-related-collection) > .su-zone-stacked-item + .su-zone-stacked-item { margin-top: 0; }
.su-zone-stacked:has(.su-browse-reading, .su-browse-related-collection) > .su-zone-stacked-item > :is(.su-browse-summary, .su-browse-reading, .su-browse-support, .su-browse-related-collection) { margin-block: 0; }
.su-zone-stacked:has(.su-browse-related-collection) .su-browse-navigation,
.su-browse-detail-sidebar .su-browse-navigation { margin-block: 0; }
.su-browse-detail-sidebar .su-browse-related-collection { margin-block: 1.25rem; }
.su-browse-related-collection .su-card-collection-grid { gap: 0.75rem; }
.su-browse-related-card.su-content-card-horizontal .su-content-card-link { flex-direction: row; align-items: flex-start; }
.su-browse-related-card.su-content-card-horizontal .su-content-card-image { flex: 0 0 4.5rem; width: 4.5rem; min-width: 0; aspect-ratio: 1; margin: 0.85rem 0 0.85rem 0.85rem; border-radius: var(--su-radius-sm); }
.su-browse-related-card .su-content-card-body { min-width: 0; padding: 0.85rem; }
.su-browse-related-card .su-content-card-title { font-size: 0.9rem; line-height: 1.5; margin-block-end: 0.4rem; }
.su-browse-related-card .su-content-card-summary { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 0.8rem; line-height: 1.6; }
.su-browse-related-collection .su-content-card-link:focus-visible { outline-offset: -3px; }
.su-browse-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.su-browse-detail-article, .su-browse-detail-sidebar { min-width: 0; }
@media (min-width: 992px) {
    .su-browse-detail-layout:not(.su-browse-detail-single) { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
}
@container (max-width: 16rem) {
    .su-browse-related-card.su-content-card-horizontal .su-content-card-image { display: none; }
}
/* Search and results share the browsing surfaces; other modules opt in explicitly. */
.su-public-search-enriched {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--su-card-border); border-radius: var(--su-radius-lg, 1rem);
    color: var(--su-on-surface); --su-fe-text: var(--su-on-surface); --su-fe-text-muted: var(--su-on-surface-muted);
}
.su-public-search-enriched > .su-section-heading { font-size: 1.4rem; margin-bottom: .75rem; }
.su-public-search-description { max-width: 44rem; color: var(--su-on-surface-muted); line-height: 1.65; margin-bottom: 1.5rem; }
.su-public-search-enriched .su-public-search-form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1.25rem; }
.su-public-search-enriched .su-public-search-form:not(:has(> .su-public-search-filters)) { grid-template-columns: minmax(0, 1fr); }
.su-public-search-enriched .su-public-search-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem .75rem; margin: 0; }
.su-public-search-enriched .su-public-search-search > .su-public-search-label { grid-column: 1 / -1; }
.su-public-search-enriched .su-public-search-label { font-weight: 600; font-size: .9rem; color: var(--su-on-surface); }
.su-public-search-enriched .su-public-search-filters { display: flex; gap: .75rem; margin: 0; align-items: stretch; }
.su-public-search-enriched .su-public-search-field { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: .5rem; }
.su-public-search-enriched .su-public-search-input,
.su-public-search-enriched .su-public-search-select { min-height: 3rem; width: 100%; min-width: 0; background: var(--su-surface); color: var(--su-on-surface); border: 1px solid var(--su-card-border); border-radius: .6rem; padding: .65rem .8rem; }
.su-public-search-enriched .su-public-search-submit { min-height: 3rem; display: flex; align-items: center; gap: .5rem; border-radius: .6rem; padding: .65rem 1rem; }
.su-public-search-enriched .su-public-search-submit i { color: inherit; }
.su-public-search-enriched .su-public-search-options { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid var(--su-card-border); margin: 0; }
.su-public-search-enriched .su-public-search-view-modes { display: flex; flex-wrap: wrap; gap: .3rem; }
.su-public-search-enriched .su-public-search-view-mode { min-height: 2.75rem; display: inline-flex; align-items: center; padding: .6rem 1rem; color: var(--su-on-surface); border: 1px solid var(--su-card-border); border-radius: .6rem; background: var(--su-surface); text-decoration: none; }
.su-public-search-enriched .su-public-search-view-mode.active { background: color-mix(in srgb, var(--su-brand) 12%, var(--su-surface)); border-color: var(--su-brand); font-weight: 700; color: var(--su-on-surface); }
.su-public-search-enriched .su-public-search-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.su-public-search-enriched .su-public-search-checkbox { color: var(--su-on-surface); display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem; }
.su-public-search-enriched input[type="checkbox"] { accent-color: var(--su-brand); }
.su-public-search-enriched .su-public-search-reset { color: var(--su-on-surface); text-decoration: underline; text-underline-offset: .2em; }
.su-public-search-enriched :is(input, select, button, a):focus-visible { outline: 2px solid var(--su-brand); outline-offset: 3px; }
.su-browse-results { background: var(--su-surface); color: var(--su-on-surface); padding: clamp(1rem, 2vw, 1.5rem); border-radius: var(--su-radius-lg, 1rem); --su-fe-text: var(--su-on-surface); --su-fe-text-muted: var(--su-on-surface-muted); }
.su-browse-results .su-link-list-item { margin-block-end: .75rem; padding: .85rem; border: 1px solid var(--su-card-border); border-radius: var(--su-radius-md); background: color-mix(in srgb, var(--su-brand) 4%, var(--su-card)); }
.su-browse-results .su-link-list-item:last-child { margin-block-end: 0; }
.su-browse-results .su-link-list-link { color: var(--su-on-surface); }
.su-browse-results .su-link-list-label { line-height: 1.5; }
.su-browse-results .su-link-list-subtitle { color: var(--su-on-surface-muted); font-size: .85rem; line-height: 1.6; }
.su-browse-results a:focus-visible { outline: 2px solid var(--su-on-surface); outline-offset: 3px; }
.su-choice-cards { padding: 1.25rem; }
.su-choice-cards > .su-section-heading { font-size: 1.15rem; margin-bottom: 1rem; }
.su-choice-cards > .su-section-subtitle { margin: 0 0 1rem; color: var(--su-on-surface-muted); }
.su-choice-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: .75rem; list-style: none; padding: 0; margin: 0; }
.su-choice-card-grid > li { min-width: 0; }
.su-choice-card { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; height: 100%; min-height: 4rem; padding: 1rem; color: var(--su-on-surface); background: var(--su-card); border: 1px solid var(--su-card-border); border-radius: var(--su-radius-md); text-decoration: none; }
.su-choice-card-label { flex: 1; min-width: 0; overflow-wrap: anywhere; line-height: 1.5; font-size: .9rem; }
.su-choice-card i { color: inherit; }
.su-choice-card-active { border-color: var(--su-brand); box-shadow: inset 0 3px var(--su-brand); background: color-mix(in srgb, var(--su-brand) 8%, var(--su-card)); font-weight: 700; }
.su-choice-card:hover { color: var(--su-on-surface); border-color: var(--su-brand); }
.su-choice-card:focus-visible { outline: 2px solid var(--su-on-surface); outline-offset: 3px; }
.su-choice-cards-compact .su-choice-card-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); }
.su-choice-cards-compact .su-choice-card { padding: .7rem .8rem; min-height: 3.25rem; }
.su-browse-navigation-horizontal .su-link-list:not(.su-link-list-children) { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: .75rem; }
.su-browse-navigation-horizontal .su-link-list:not(.su-link-list-children) > .su-link-list-item { border: 1px solid var(--su-card-border); border-radius: var(--su-radius-md); background: var(--su-card); }
.su-browse-navigation-horizontal .su-link-list-link { min-height: 3.25rem; }
@media (max-width: 575px) {
    .su-choice-cards .su-choice-card-grid,
    .su-browse-navigation-horizontal .su-link-list:not(.su-link-list-children) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .su-choice-card { padding: .75rem; gap: .5rem; }
}
@media (max-width: 767px) {
    .su-public-search-enriched .su-public-search-form { grid-template-columns: minmax(0, 1fr); }
    .su-public-search-enriched .su-public-search-options { align-items: flex-start; flex-direction: column; }
}

/* Rich metadata tables inherit the reading surface in either theme. */
.su-browse-reading .table { --bs-table-bg: transparent; --bs-table-color: var(--su-on-surface); --bs-table-border-color: var(--su-card-border); }
.su-browse-reading .table .text-muted { color: var(--su-on-surface-muted) !important; }
.su-browse-reading td { overflow-wrap: anywhere; }

/* Article links follow the readable surface text token in both themes. */
.su-browse-blog-reading .su-prose a, .su-browse-news-reading .su-prose a, .su-browse-partner-reading .su-prose a { color: var(--su-on-surface); text-decoration: underline; text-underline-offset: .15em; }

/* Named partner tiers remain legible on the site's image banner. */
.canvas-hero-bg .su-partner-hero-tier{color:var(--su-grey-900);background:var(--su-grey-50);border-color:var(--su-grey-300)}
