/*
 * SDB — Missão Dom Bosco · Design System 5.5 compatibility layer
 *
 * Scope only. This adapter consumes stable registry tokens and preserves MDB
 * classes as functional hooks, compatibility boundaries and safe fallbacks.
 */

.sdb-mdb {
    --mdb-surface: var(--sdb-mdb-color-surface, var(--sdb-color-surface, #fff));
    --mdb-surface-soft: var(--sdb-mdb-color-surface-soft, var(--sdb-color-surface-low, #f7fbf8));
    --mdb-surface-strong: var(--sdb-mdb-color-surface-strong, var(--sdb-color-surface-high, #eef5f1));
    --mdb-background: var(--sdb-mdb-hero-bg, var(--sdb-color-background, #f7fbf8));
    --mdb-border: var(--sdb-mdb-color-border, var(--sdb-color-border, #ddeee5));
    --mdb-text: var(--sdb-mdb-color-text, var(--sdb-color-text, #465565));
    --mdb-muted: var(--sdb-mdb-color-text-soft, var(--sdb-color-muted, #687786));
    --mdb-title: var(--sdb-color-title, var(--sdb-color-text, #213547));
    --mdb-primary: var(--sdb-mdb-color-primary, var(--sdb-color-primary, #0058b7));
    --mdb-primary-dark: var(--sdb-mdb-color-primary-dark, var(--sdb-color-primary, #00468f));
    --mdb-primary-soft: var(--sdb-mdb-color-primary-soft, var(--sdb-color-surface-soft, #eaf3fb));
    --mdb-primary-bg: var(--sdb-mdb-color-primary-bg, var(--sdb-color-surface-low, #f4f8fc));
    --mdb-on-primary: var(--sdb-color-on-primary, #fff);
    --mdb-overlay: var(--sdb-mdb-color-overlay, rgba(0, 0, 0, .38));
    --mdb-badge-bg: var(--sdb-mdb-color-badge-bg, var(--mdb-primary-soft));
    --mdb-badge-text: var(--sdb-mdb-color-badge-text, var(--mdb-primary-dark));

    --mdb-shadow-card: var(--sdb-mdb-card-shadow, var(--sdb-shadow-card, 0 4px 14px rgba(16, 40, 70, .06)));
    --mdb-shadow-card-hover: var(--sdb-mdb-card-shadow-hover, var(--sdb-shadow-element, 0 10px 28px rgba(16, 40, 70, .12)));
    --mdb-shadow-element: var(--sdb-shadow-element, var(--sdb-shadow-sm, 0 4px 14px rgba(16, 40, 70, .06)));
    --mdb-focus-ring: var(--sdb-focus-ring, var(--sdb-shadow-focus, 0 0 0 4px rgba(0, 88, 183, .16)));
    --mdb-touch-target: var(--sdb-control-height, var(--sdb-touch-target-min, 44px));

    --mdb-radius-sm: var(--sdb-shape-sm, var(--sdb-radius-sm, 6px));
    --mdb-radius: var(--sdb-mdb-card-radius, var(--sdb-shape-lg, var(--sdb-radius-lg, 20px)));
    --mdb-radius-lg: var(--sdb-shape-lg, var(--sdb-radius-lg, 20px));
    --mdb-radius-pill: var(--sdb-shape-pill, var(--sdb-radius-pill, 999px));

    --mdb-card-gap: var(--sdb-mdb-card-gap, var(--sdb-space-md, 16px));
    --mdb-card-padding: var(--sdb-mdb-card-padding, var(--sdb-space-md, 16px));
    --mdb-info-box-bg: var(--sdb-mdb-info-box-bg, var(--mdb-surface-soft));
    --mdb-metric-label: var(--sdb-mdb-metric-label, var(--mdb-muted));
    --mdb-metric-value: var(--sdb-mdb-metric-value, var(--mdb-title));
    --mdb-title-card: var(--sdb-mdb-title-card, var(--mdb-title));
    --mdb-title-hero: var(--sdb-mdb-title-hero, var(--mdb-title));

    --mdb-progress-bg: var(--sdb-mdb-progress-track, var(--sdb-color-surface-high, #e8eee9));
    --mdb-progress-fill: var(--sdb-mdb-progress-fill, var(--mdb-primary));
    --mdb-progress-height: var(--sdb-control-height, 12px);
    --mdb-progress-radius: var(--sdb-shape-pill, 999px);

    --mdb-tab-bg: var(--sdb-mdb-tab-bg, var(--mdb-surface));
    --mdb-tab-text: var(--sdb-mdb-tab-text, var(--mdb-text));
    --mdb-tab-hover-bg: var(--sdb-mdb-tab-hover-bg, var(--mdb-primary-soft));
    --mdb-tab-active-bg: var(--sdb-mdb-tab-active-bg, var(--mdb-primary));
    --mdb-tab-active-text: var(--sdb-mdb-tab-active-text, var(--mdb-on-primary));
}

.sdb-mdb :is(a, button, input, textarea, select):focus-visible {
    outline: 0;
    box-shadow: var(--mdb-focus-ring);
}

/* Stable 5.5 filter-tabs contract; MDB classes remain as JS and fallback hooks. */
.sdb-mdb .sdb-filter-tabs.sdb-mdb-filters {
    gap: var(--sdb-space-sm, 8px);
}

.sdb-mdb .sdb-filter-tabs__item.sdb-filter-tabs__item {
    min-height: var(--mdb-touch-target);
    background: var(--mdb-tab-bg);
    color: var(--mdb-tab-text);
}

.sdb-mdb .sdb-filter-tabs__item:hover {
    background: var(--mdb-tab-hover-bg);
}

.sdb-mdb .sdb-filter-tabs__item--active,
.sdb-mdb .sdb-filter-tabs__item[aria-selected="true"] {
    background: var(--mdb-tab-active-bg);
    color: var(--mdb-tab-active-text);
}

/* Stable 5.5 related-editorial-card contract, scoped to existing related cards. */
.sdb-mdb .sdb-related-editorial-card.sdb-mdb-related-card {
    border-radius: var(--sdb-mdb-card-radius, var(--mdb-radius));
    box-shadow: var(--sdb-mdb-card-shadow, var(--mdb-shadow-card));
}

.sdb-mdb .sdb-related-editorial-card.sdb-mdb-related-card:hover {
    box-shadow: var(--sdb-mdb-card-shadow-hover, var(--mdb-shadow-card-hover));
}

.sdb-mdb .sdb-related-editorial-card__title {
    color: var(--sdb-mdb-title-card, var(--mdb-title-card));
}

/* Image-cover guardrail: prevents theme/DS resets from exposing empty overlays. */
.sdb-mdb .sdb-mdb-card-media > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

@media (prefers-reduced-motion: reduce) {
    .sdb-mdb *,
    .sdb-mdb *::before,
    .sdb-mdb *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
