﻿/**
 * MBRSC DDA Theme — theme.css
 *
 * Table of Contents:
 *  1.  Design Tokens (CSS Custom Properties)
 *  2.  Reset & Base
 *  3.  Typography
 *  4.  Layout — Container & Grid
 *  5.  Accessibility
 *  6.  Buttons
 *  7.  Badges
 *  8.  Breadcrumb
 *  9.  Filter Tabs
 *  10. Pagination
 *  11. Cards — Base
 *  12. Cards — News
 *  13. Cards — Event
 *  14. Cards — Mission
 *  15. Cards — Service
 *  16. Cards — Tender
 *  17. Cards — Media
 *  18. Cards — Leader
 *  19. Cards — Search Result
 *  20. Archive Pages
 *  21. Single — Base
 *  22. Single — News
 *  23. Single — Event
 *  24. Single — Mission
 *  25. Single — Tender
 *  26. Section Headers
 *  27. Stats Counter
 *  28. Hero Banner
 *  29. Header
 *  30. Footer
 *  31. Back to Top
 *  32. Search Overlay
 *  33. Lightbox
 *  34. Countdown Timer
 *  35. No Results
 *  36. Sidebar Widgets
 *  37. Page Template
 *  38. Search Results Page
 *  39. 404 Page
 *  40. RTL Overrides
 *  41. Utility Classes
 *  42. Responsive — Tablet (max 1024px)
 *  43. Responsive — Mobile (max 768px)
 *  44. Responsive — Small (max 480px)
 *  45. Print Styles
 *
 * @package MBRSC_DDA_Theme
 * @version 1.1.0
 */


/* =============================================================================
   1. DESIGN TOKENS
   ============================================================================= */

:root {

    /* ── Brand Colors ────────────────────────────────────────────────────── */
    --mbrsc-color-primary:          #0a2463;   /* Deep navy */
    --mbrsc-color-primary-light:    #1a3a7a;
    --mbrsc-color-primary-dark:     #061540;
    --mbrsc-color-secondary:        #e63946;   /* Accent red */
    --mbrsc-color-secondary-light:  #ff6b6b;
    --mbrsc-color-accent:           #f4a261;   /* Warm orange */
    --mbrsc-color-gold:             #c9a84c;   /* UAE gold */

    /* ── Extended Brand ──────────────────────────────────────────────────── */
    --mbrsc-color-purple:           #6c63ff;   /* Media infographic badge */
    --mbrsc-color-linkedin:         #0077b5;   /* LinkedIn brand color */
    --mbrsc-color-linkedin-dark:    #005885;   /* LinkedIn hover */

    /* ── Neutral Colors ──────────────────────────────────────────────────── */
    --mbrsc-color-white:            #ffffff;
    --mbrsc-color-black:            #0d0d0d;
    --mbrsc-color-gray-50:          #f8f9fa;
    --mbrsc-color-gray-100:         #f1f3f5;
    --mbrsc-color-gray-200:         #e9ecef;
    --mbrsc-color-gray-300:         #dee2e6;
    --mbrsc-color-gray-400:         #ced4da;
    --mbrsc-color-gray-500:         #adb5bd;
    --mbrsc-color-gray-600:         #6c757d;
    --mbrsc-color-gray-700:         #495057;
    --mbrsc-color-gray-800:         #343a40;
    --mbrsc-color-gray-900:         #212529;

    /* ── Status Colors ───────────────────────────────────────────────────── */
    --mbrsc-color-success:          #2d6a4f;
    --mbrsc-color-success-bg:       #d8f3dc;
    --mbrsc-color-warning:          #9c6b00;
    --mbrsc-color-warning-bg:       #fff3cd;
    --mbrsc-color-danger:           #c0392b;
    --mbrsc-color-danger-bg:        #fde8e8;
    --mbrsc-color-info:             #1565c0;
    --mbrsc-color-info-bg:          #e3f2fd;

    /* ── Mission Status Colors ───────────────────────────────────────────── */
    --mbrsc-status-active:          #00b894;
    --mbrsc-status-active-bg:       #d4f7ef;
    --mbrsc-status-planned:         #0984e3;
    --mbrsc-status-planned-bg:      #dbeeff;
    --mbrsc-status-ongoing:         #f39c12;
    --mbrsc-status-ongoing-bg:      #fef5e7;
    --mbrsc-status-completed:       #6c757d;
    --mbrsc-status-completed-bg:    #e9ecef;
    --mbrsc-status-open:            #2d6a4f;
    --mbrsc-status-open-bg:         #d8f3dc;
    --mbrsc-status-closed:          #6c757d;
    --mbrsc-status-closed-bg:       #e9ecef;
    --mbrsc-status-awarded:         #c9a84c;
    --mbrsc-status-awarded-bg:      #fdf6e3;
    --mbrsc-status-cancelled:       #c0392b;
    --mbrsc-status-cancelled-bg:    #fde8e8;
    --mbrsc-status-upcoming:        #0984e3;
    --mbrsc-status-upcoming-bg:     #dbeeff;

    /* ── Typography ──────────────────────────────────────────────────────── */
    --mbrsc-font-en:                'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --mbrsc-font-ar:                'IBM Plex Arabic', 'Noto Sans Arabic', 'Cairo', sans-serif;
    --mbrsc-font-mono:              'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

    --mbrsc-font-size-xs:           0.75rem;    /* 12px */
    --mbrsc-font-size-sm:           0.875rem;   /* 14px */
    --mbrsc-font-size-base:         1rem;       /* 16px */
    --mbrsc-font-size-md:           1.125rem;   /* 18px */
    --mbrsc-font-size-lg:           1.25rem;    /* 20px */
    --mbrsc-font-size-xl:           1.5rem;     /* 24px */
    --mbrsc-font-size-2xl:          1.875rem;   /* 30px */
    --mbrsc-font-size-3xl:          2.25rem;    /* 36px */
    --mbrsc-font-size-4xl:          3rem;       /* 48px */
    --mbrsc-font-size-5xl:          3.75rem;    /* 60px */

    --mbrsc-font-weight-regular:    400;
    --mbrsc-font-weight-medium:     500;
    --mbrsc-font-weight-semibold:   600;
    --mbrsc-font-weight-bold:       700;
    --mbrsc-font-weight-extrabold:  800;

    --mbrsc-line-height-tight:      1.25;
    --mbrsc-line-height-snug:       1.375;
    --mbrsc-line-height-normal:     1.5;
    --mbrsc-line-height-relaxed:    1.625;
    --mbrsc-line-height-loose:      2;

    /* ── Spacing ─────────────────────────────────────────────────────────── */
    --mbrsc-space-1:                0.25rem;    /* 4px */
    --mbrsc-space-2:                0.5rem;     /* 8px */
    --mbrsc-space-3:                0.75rem;    /* 12px */
    --mbrsc-space-4:                1rem;       /* 16px */
    --mbrsc-space-5:                1.25rem;    /* 20px */
    --mbrsc-space-6:                1.5rem;     /* 24px */
    --mbrsc-space-8:                2rem;       /* 32px */
    --mbrsc-space-10:               2.5rem;     /* 40px */
    --mbrsc-space-12:               3rem;       /* 48px */
    --mbrsc-space-16:               4rem;       /* 64px */
    --mbrsc-space-20:               5rem;       /* 80px */
    --mbrsc-space-24:               6rem;       /* 96px */

    /* ── Border Radius ───────────────────────────────────────────────────── */
    --mbrsc-radius-sm:              0.25rem;    /* 4px */
    --mbrsc-radius-md:              0.5rem;     /* 8px */
    --mbrsc-radius-lg:              0.75rem;    /* 12px */
    --mbrsc-radius-xl:              1rem;       /* 16px */
    --mbrsc-radius-2xl:             1.5rem;     /* 24px */
    --mbrsc-radius-full:            9999px;

    /* ── Shadows ─────────────────────────────────────────────────────────── */
    --mbrsc-shadow-sm:              0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
    --mbrsc-shadow-md:              0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);
    --mbrsc-shadow-lg:              0 10px 15px rgba(0,0,0,.08), 0 4px 6px rgba(0,0,0,.05);
    --mbrsc-shadow-xl:              0 20px 25px rgba(0,0,0,.08), 0 10px 10px rgba(0,0,0,.04);
    --mbrsc-shadow-card:            0 2px 12px rgba(10,36,99,.08);
    --mbrsc-shadow-card-hover:      0 8px 30px rgba(10,36,99,.15);
    --mbrsc-shadow-focus:           0 0 0 3px rgba(10,36,99,.15);  /* FIX: was inline magic number */

    /* ── Transitions ─────────────────────────────────────────────────────── */
    --mbrsc-transition-fast:        150ms ease;
    --mbrsc-transition-base:        250ms ease;
    --mbrsc-transition-slow:        400ms ease;
    --mbrsc-transition-spring:      300ms cubic-bezier(0.34, 1.56, 0.64, 1);

    /* ── Z-index ─────────────────────────────────────────────────────────── */
    --mbrsc-z-base:                 1;
    --mbrsc-z-dropdown:             100;
    --mbrsc-z-sticky:               200;
    --mbrsc-z-overlay:              300;
    --mbrsc-z-modal:                400;
    --mbrsc-z-toast:                500;

    /* ── Layout ──────────────────────────────────────────────────────────── */
    --mbrsc-container-max:          1280px;
    --mbrsc-container-padding:      var(--mbrsc-space-6);
    --mbrsc-grid-gap:               var(--mbrsc-space-6);
    --mbrsc-section-padding:        var(--mbrsc-space-16);

    /* ── Header ──────────────────────────────────────────────────────────── */
    --mbrsc-header-height:          80px;
    --mbrsc-sticky-footer-height:   56px;

    /* ── UI Overlays ─────────────────────────────────────────────────────── */
    --mbrsc-color-overlay-dark:     rgba(0, 0, 0, 0.92);        /* FIX: was inline */
    --mbrsc-color-overlay-primary:  rgba(10, 36, 99, 0.30);     /* FIX: was inline */

    /* ── Highlight ───────────────────────────────────────────────────────── */
    --mbrsc-color-highlight:        #fff176;                     /* FIX: was inline */
}


/* =============================================================================
   2. RESET & BASE
   ============================================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin:     0;
    padding:    0;
}

html {
    font-size:                  16px;
    scroll-behavior:            smooth;
    -webkit-text-size-adjust:   100%;
    text-size-adjust:           100%;
}

body {
    font-family:        var(--mbrsc-font-en);
    font-size:          var(--mbrsc-font-size-base);
    font-weight:        var(--mbrsc-font-weight-regular);
    line-height:        var(--mbrsc-line-height-normal);
    color:              var(--mbrsc-color-gray-900);
    background-color:   var(--mbrsc-color-white);
    -webkit-font-smoothing:     antialiased;
    -moz-osx-font-smoothing:    grayscale;
    padding-bottom:     var(--mbrsc-sticky-footer-height);
}

/* FIX: Removed redundant [lang="ar"] body override — body[data-lang="ar"] is canonical */
body[data-lang="ar"] {
    font-family: var(--mbrsc-font-ar);
}

img,
video {
    max-width:  100%;
    height:     auto;
    display:    block;
}

a {
    color:              var(--mbrsc-color-primary);
    text-decoration:    none;
    transition:         color var(--mbrsc-transition-fast);
}

a:hover {
    color: var(--mbrsc-color-primary-light);
}

a:focus-visible {
    outline:        3px solid var(--mbrsc-color-primary);
    outline-offset: 3px;
    border-radius:  var(--mbrsc-radius-sm);
}

ul, ol {
    list-style: none;
}

button {
    cursor:         pointer;
    font-family:    inherit;
    font-size:      inherit;
    border:         none;
    background:     none;
    padding:        0;
}

input,
select,
textarea {
    font-family:    inherit;
    font-size:      inherit;
}

.mbrsc-main {
    min-height: calc(100vh - var(--mbrsc-header-height) - var(--mbrsc-sticky-footer-height));
    outline:    none;
}


/* =============================================================================
   3. TYPOGRAPHY
   ============================================================================= */

h1, h2, h3, h4, h5, h6 {
    font-weight:    var(--mbrsc-font-weight-bold);
    line-height:    var(--mbrsc-line-height-tight);
    color:          var(--mbrsc-color-gray-900);
}

h1 { font-size: var(--mbrsc-font-size-4xl); }
h2 { font-size: var(--mbrsc-font-size-3xl); }
h3 { font-size: var(--mbrsc-font-size-xl); }
h4 { font-size: var(--mbrsc-font-size-lg); }
h5 { font-size: var(--mbrsc-font-size-md); }
h6 { font-size: var(--mbrsc-font-size-base); }

p {
    line-height:    var(--mbrsc-line-height-relaxed);
    color:          var(--mbrsc-color-gray-700);
}

code {
    font-family:    var(--mbrsc-font-mono);
    font-size:      0.9em;
    background:     var(--mbrsc-color-gray-100);
    padding:        0.1em 0.4em;
    border-radius:  var(--mbrsc-radius-sm);
    color:          var(--mbrsc-color-primary);
}

.entry-content {
    line-height: var(--mbrsc-line-height-relaxed);
}

.entry-content p,
.entry-content ul,
.entry-content ol,
.entry-content blockquote {
    margin-bottom: var(--mbrsc-space-6);
}

.entry-content ul,
.entry-content ol {
    padding-inline-start: var(--mbrsc-space-6);
    list-style: revert;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
    margin-top:     var(--mbrsc-space-8);
    margin-bottom:  var(--mbrsc-space-4);
}

.entry-content blockquote {
    border-inline-start: 4px solid var(--mbrsc-color-primary);
    padding-inline-start: var(--mbrsc-space-6);
    color:          var(--mbrsc-color-gray-600);
    font-style:     italic;
}

.entry-content img {
    border-radius:  var(--mbrsc-radius-lg);
    margin:         var(--mbrsc-space-6) 0;
}

.entry-content a {
    text-decoration:        underline;
    text-underline-offset:  3px;
}

/* FIX: was hardcoded #fff176 — now uses token */
mark.mbrsc-search-highlight {
    background-color:   var(--mbrsc-color-highlight);
    color:              inherit;
    padding:            0 2px;
    border-radius:      2px;
}


/* =============================================================================
   4. LAYOUT — CONTAINER & GRID
   ============================================================================= */

.mbrsc-container {
    width:          100%;
    max-width:      var(--mbrsc-container-max);
    margin-inline:  auto;
    padding-inline: var(--mbrsc-container-padding);
}

.mbrsc-grid {
    display:                grid;
    gap:                    var(--mbrsc-grid-gap);
}

.mbrsc-grid--cols-1 { grid-template-columns: repeat(1, 1fr); }
.mbrsc-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.mbrsc-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.mbrsc-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }

.mbrsc-section {
    padding-block: var(--mbrsc-section-padding);
}


/* =============================================================================
   5. ACCESSIBILITY
   ============================================================================= */

.screen-reader-text {
    position:   absolute;
    width:      1px;
    height:     1px;
    padding:    0;
    margin:     -1px;
    overflow:   hidden;
    clip:       rect(0,0,0,0);
    white-space: nowrap;
    border:     0;
}

.mbrsc-skip-links {
    position:   absolute;
    top:        0;
    inset-inline-start: 0;
    z-index:    var(--mbrsc-z-toast);
}

.mbrsc-skip-link {
    position:       absolute;
    top:            -100%;
    inset-inline-start: var(--mbrsc-space-4);
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
    padding:        var(--mbrsc-space-3) var(--mbrsc-space-6);
    border-radius:  0 0 var(--mbrsc-radius-md) var(--mbrsc-radius-md);
    font-weight:    var(--mbrsc-font-weight-semibold);
    text-decoration: none;
    transition:     top var(--mbrsc-transition-fast);
    z-index:        var(--mbrsc-z-toast);
}

.mbrsc-skip-link:focus {
    top: 0;
}

*:focus-visible {
    outline:        3px solid var(--mbrsc-color-primary);
    outline-offset: 2px;
}


/* =============================================================================
   6. BUTTONS
   ============================================================================= */

.mbrsc-btn {
    display:            inline-flex;
    align-items:        center;
    gap:                var(--mbrsc-space-2);
    padding:            var(--mbrsc-space-3) var(--mbrsc-space-6);
    border-radius:      var(--mbrsc-radius-md);
    font-size:          var(--mbrsc-font-size-sm);
    font-weight:        var(--mbrsc-font-weight-semibold);
    line-height:        1;
    text-decoration:    none;
    cursor:             pointer;
    transition:         all var(--mbrsc-transition-base);
    white-space:        nowrap;
    border:             2px solid transparent;
}

.mbrsc-btn--primary {
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
    border-color:   var(--mbrsc-color-primary);
}

.mbrsc-btn--primary:hover {
    background:     var(--mbrsc-color-primary-light);
    border-color:   var(--mbrsc-color-primary-light);
    color:          var(--mbrsc-color-white);
    transform:      translateY(-1px);
    box-shadow:     var(--mbrsc-shadow-md);
}

.mbrsc-btn--secondary {
    background:     var(--mbrsc-color-secondary);
    color:          var(--mbrsc-color-white);
    border-color:   var(--mbrsc-color-secondary);
}

.mbrsc-btn--outline {
    background:     transparent;
    color:          var(--mbrsc-color-primary);
    border-color:   var(--mbrsc-color-primary);
}

.mbrsc-btn--outline:hover {
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
}

.mbrsc-btn--light {
    background:     rgba(255,255,255,.15);
    color:          var(--mbrsc-color-white);
    border-color:   rgba(255,255,255,.5);
    backdrop-filter: blur(4px);
}

.mbrsc-btn--light:hover {
    background:     rgba(255,255,255,.25);
    color:          var(--mbrsc-color-white);
}

.mbrsc-btn--sm {
    padding:        var(--mbrsc-space-2) var(--mbrsc-space-4);
    font-size:      var(--mbrsc-font-size-xs);
}

.mbrsc-btn--full {
    width:          100%;
    justify-content: center;
}

.mbrsc-btn--live {
    position:       relative;
    padding-inline-start: var(--mbrsc-space-8);
}

.mbrsc-live-dot {
    position:       absolute;
    inset-inline-start: var(--mbrsc-space-4);
    width:          8px;
    height:         8px;
    background:     #ff4444;
    border-radius:  50%;
    animation:      mbrsc-pulse 1.5s infinite;
}

@keyframes mbrsc-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.5; transform: scale(1.3); }
}

.mbrsc-btn:disabled,
.mbrsc-btn[aria-disabled="true"] {
    opacity:    0.5;
    cursor:     not-allowed;
    transform:  none;
}


/* =============================================================================
   7. BADGES
   ============================================================================= */

.mbrsc-badge {
    display:            inline-flex;
    align-items:        center;
    gap:                var(--mbrsc-space-1);
    padding:            var(--mbrsc-space-1) var(--mbrsc-space-3);
    border-radius:      var(--mbrsc-radius-full);
    font-size:          var(--mbrsc-font-size-xs);
    font-weight:        var(--mbrsc-font-weight-semibold);
    line-height:        1.4;
    white-space:        nowrap;
}

.mbrsc-badge--xs {
    padding:        2px var(--mbrsc-space-2);
    font-size:      10px;
}

/* Status badges */
.mbrsc-badge--active,
.mbrsc-badge--open,
.mbrsc-card__status-badge--active,
.mbrsc-card__status-badge--open {
    background: var(--mbrsc-status-active-bg);
    color:      var(--mbrsc-status-active);
}

.mbrsc-badge--planned,
.mbrsc-badge--upcoming,
.mbrsc-card__status-badge--planned,
.mbrsc-card__status-badge--upcoming {
    background: var(--mbrsc-status-planned-bg);
    color:      var(--mbrsc-status-planned);
}

.mbrsc-badge--ongoing,
.mbrsc-card__status-badge--ongoing {
    background: var(--mbrsc-status-ongoing-bg);
    color:      var(--mbrsc-status-ongoing);
}

.mbrsc-badge--completed,
.mbrsc-badge--closed,
.mbrsc-card__status-badge--completed,
.mbrsc-card__status-badge--closed {
    background: var(--mbrsc-status-completed-bg);
    color:      var(--mbrsc-status-completed);
}

.mbrsc-badge--awarded,
.mbrsc-card__status-badge--awarded {
    background: var(--mbrsc-status-awarded-bg);
    color:      var(--mbrsc-status-awarded);
}

.mbrsc-badge--cancelled,
.mbrsc-card__status-badge--cancelled {
    background: var(--mbrsc-status-cancelled-bg);
    color:      var(--mbrsc-status-cancelled);
}

.mbrsc-badge--expired {
    background: var(--mbrsc-color-danger-bg);
    color:      var(--mbrsc-color-danger);
}

.mbrsc-badge--category {
    background: var(--mbrsc-color-primary);
    color:      var(--mbrsc-color-white);
}

.mbrsc-badge--type {
    background: var(--mbrsc-color-gray-100);
    color:      var(--mbrsc-color-gray-700);
    border:     1px solid var(--mbrsc-color-gray-300);
}

.mbrsc-badge--online {
    background: var(--mbrsc-color-info-bg);
    color:      var(--mbrsc-color-info);
}


/* =============================================================================
   8. BREADCRUMB
   ============================================================================= */

.mbrsc-breadcrumb ol {
    display:        flex;
    flex-wrap:      wrap;
    align-items:    center;
    gap:            var(--mbrsc-space-2);
    list-style:     none;
    padding:        0;
    margin:         0 0 var(--mbrsc-space-4);
    font-size:      var(--mbrsc-font-size-sm);
}

.mbrsc-breadcrumb li {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-2);
    color:          var(--mbrsc-color-gray-500);
}

.mbrsc-breadcrumb li:not(:last-child)::after {
    content:        '/';
    color:          var(--mbrsc-color-gray-400);
}

.mbrsc-breadcrumb a {
    color:          var(--mbrsc-color-gray-500);
    text-decoration: none;
}

.mbrsc-breadcrumb a:hover {
    color: var(--mbrsc-color-primary);
}

.mbrsc-breadcrumb li[aria-current="page"] {
    color:          var(--mbrsc-color-gray-700);
    font-weight:    var(--mbrsc-font-weight-medium);
}

/* White breadcrumb (on dark hero) */
.mbrsc-single__hero-content .mbrsc-breadcrumb li,
.mbrsc-single__hero-content .mbrsc-breadcrumb a,
.mbrsc-archive__hero .mbrsc-breadcrumb li,
.mbrsc-archive__hero .mbrsc-breadcrumb a {
    color: rgba(255,255,255,.7);
}

.mbrsc-single__hero-content .mbrsc-breadcrumb li[aria-current="page"],
.mbrsc-archive__hero .mbrsc-breadcrumb li[aria-current="page"] {
    color: var(--mbrsc-color-white);
}

.mbrsc-single__hero-content .mbrsc-breadcrumb li:not(:last-child)::after,
.mbrsc-archive__hero .mbrsc-breadcrumb li:not(:last-child)::after {
    color: rgba(255,255,255,.4);
}


/* =============================================================================
   9. FILTER TABS
   ============================================================================= */

.mbrsc-filter-tabs {
    display:        flex;
    flex-wrap:      wrap;
    gap:            var(--mbrsc-space-2);
    margin-bottom:  var(--mbrsc-space-8);
    border-bottom:  2px solid var(--mbrsc-color-gray-200);
    padding-bottom: var(--mbrsc-space-4);
}

.mbrsc-filter-tab {
    display:            inline-flex;
    align-items:        center;
    padding:            var(--mbrsc-space-2) var(--mbrsc-space-5);
    border-radius:      var(--mbrsc-radius-full);
    font-size:          var(--mbrsc-font-size-sm);
    font-weight:        var(--mbrsc-font-weight-medium);
    color:              var(--mbrsc-color-gray-600);
    background:         var(--mbrsc-color-gray-100);
    border:             2px solid transparent;
    cursor:             pointer;
    transition:         all var(--mbrsc-transition-base);
    text-decoration:    none;
    white-space:        nowrap;
}

.mbrsc-filter-tab:hover {
    background:     var(--mbrsc-color-gray-200);
    color:          var(--mbrsc-color-gray-800);
}

.mbrsc-filter-tab.active,
.mbrsc-filter-tab[aria-selected="true"] {
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
    border-color:   var(--mbrsc-color-primary);
}

.mbrsc-filter-select {
    margin-inline-start: auto;
}

.mbrsc-select {
    padding:            var(--mbrsc-space-2) var(--mbrsc-space-4);
    border:             2px solid var(--mbrsc-color-gray-300);
    border-radius:      var(--mbrsc-radius-md);
    font-size:          var(--mbrsc-font-size-sm);
    color:              var(--mbrsc-color-gray-700);
    background:         var(--mbrsc-color-white);
    cursor:             pointer;
    appearance:         none;
    background-image:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%236c757d'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat:  no-repeat;
    background-position: right var(--mbrsc-space-3) center;
    padding-inline-end: var(--mbrsc-space-8);
}

.mbrsc-select:focus {
    outline:        none;
    border-color:   var(--mbrsc-color-primary);
    box-shadow:     var(--mbrsc-shadow-focus);   /* FIX: was inline rgba(10,36,99,.15) */
}


/* =============================================================================
   10. PAGINATION
   ============================================================================= */

.mbrsc-pagination {
    margin-top: var(--mbrsc-space-12);
}

.mbrsc-pagination .page-numbers {
    display:        flex;
    flex-wrap:      wrap;
    justify-content: center;
    align-items:    center;
    gap:            var(--mbrsc-space-2);
    list-style:     none;
    padding:        0;
}

.mbrsc-pagination .page-numbers li a,
.mbrsc-pagination .page-numbers li span {
    display:            flex;
    align-items:        center;
    justify-content:    center;
    min-width:          40px;
    height:             40px;
    padding:            0 var(--mbrsc-space-3);
    border-radius:      var(--mbrsc-radius-md);
    font-size:          var(--mbrsc-font-size-sm);
    font-weight:        var(--mbrsc-font-weight-medium);
    color:              var(--mbrsc-color-gray-600);
    background:         var(--mbrsc-color-gray-100);
    border:             2px solid transparent;
    text-decoration:    none;
    transition:         all var(--mbrsc-transition-base);
}

.mbrsc-pagination .page-numbers li a:hover {
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
}

.mbrsc-pagination .page-numbers li span.current {
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
    border-color:   var(--mbrsc-color-primary);
}

.mbrsc-pagination .page-numbers li a.prev,
.mbrsc-pagination .page-numbers li a.next {
    background:     var(--mbrsc-color-white);
    border-color:   var(--mbrsc-color-gray-300);
}


/* =============================================================================
   11. CARDS — BASE
   ============================================================================= */

.mbrsc-card {
    background:         var(--mbrsc-color-white);
    border-radius:      var(--mbrsc-radius-xl);
    box-shadow:         var(--mbrsc-shadow-card);
    overflow:           hidden;
    display:            flex;
    flex-direction:     column;
    transition:         box-shadow var(--mbrsc-transition-base),
                        transform var(--mbrsc-transition-base);
    position:           relative;
}

.mbrsc-card:hover {
    box-shadow:     var(--mbrsc-shadow-card-hover);
    transform:      translateY(-4px);
}

.mbrsc-card__image-wrap {
    display:        block;
    overflow:       hidden;
    aspect-ratio:   16 / 9;
    position:       relative;
    background:     var(--mbrsc-color-gray-100);
}

.mbrsc-card__image {
    width:          100%;
    height:         100%;
    object-fit:     cover;
    transition:     transform var(--mbrsc-transition-slow);
}

.mbrsc-card:hover .mbrsc-card__image {
    transform: scale(1.05);
}

.mbrsc-card__body {
    padding:        var(--mbrsc-space-6);
    flex:           1;
    display:        flex;
    flex-direction: column;
    gap:            var(--mbrsc-space-3);
}

.mbrsc-card__category {
    font-size:      var(--mbrsc-font-size-xs);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
}

.mbrsc-card__title {
    font-size:      var(--mbrsc-font-size-md);
    font-weight:    var(--mbrsc-font-weight-bold);
    line-height:    var(--mbrsc-line-height-snug);
    margin:         0;
}

.mbrsc-card__title a {
    color:          var(--mbrsc-color-gray-900);
    text-decoration: none;
    transition:     color var(--mbrsc-transition-fast);
}

.mbrsc-card__title a:hover {
    color: var(--mbrsc-color-primary);
}

.mbrsc-card__excerpt {
    font-size:      var(--mbrsc-font-size-sm);
    color:          var(--mbrsc-color-gray-600);
    line-height:    var(--mbrsc-line-height-relaxed);
    flex:           1;
    display:        -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:       hidden;
}

.mbrsc-card__footer {
    display:        flex;
    align-items:    center;
    justify-content: space-between;
    gap:            var(--mbrsc-space-3);
    margin-top:     auto;
    padding-top:    var(--mbrsc-space-3);
    border-top:     1px solid var(--mbrsc-color-gray-100);
}

.mbrsc-card__date {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    font-size:      var(--mbrsc-font-size-xs);
    color:          var(--mbrsc-color-gray-500);
}

.mbrsc-card__date .material-icons {
    font-size: 14px;
}

.mbrsc-card__read-more {
    display:        inline-flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    font-size:      var(--mbrsc-font-size-sm);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-primary);
    text-decoration: none;
    transition:     gap var(--mbrsc-transition-fast);
    white-space:    nowrap;
}

.mbrsc-card__read-more:hover {
    gap: var(--mbrsc-space-2);
    color: var(--mbrsc-color-primary-light);
}

.mbrsc-card__read-more .material-icons {
    font-size: 16px;
}

/* Type badge on image */
.mbrsc-card__type-badge,
.mbrsc-card__status-badge {
    position:       absolute;
    top:            var(--mbrsc-space-3);
    inset-inline-start: var(--mbrsc-space-3);
    padding:        var(--mbrsc-space-1) var(--mbrsc-space-3);
    border-radius:  var(--mbrsc-radius-full);
    font-size:      var(--mbrsc-font-size-xs);
    font-weight:    var(--mbrsc-font-weight-semibold);
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
    z-index:        1;
}

.mbrsc-card__featured-badge {
    position:       absolute;
    top:            var(--mbrsc-space-3);
    inset-inline-end: var(--mbrsc-space-3);
    background:     var(--mbrsc-color-gold);
    color:          var(--mbrsc-color-white);
    width:          32px;
    height:         32px;
    border-radius:  50%;
    display:        flex;
    align-items:    center;
    justify-content: center;
    z-index:        1;
}

.mbrsc-card__featured-badge .material-icons {
    font-size: 18px;
}

/* Meta items */
.mbrsc-card__meta {
    display:        flex;
    flex-wrap:      wrap;
    gap:            var(--mbrsc-space-3);
}

.mbrsc-card__meta-item {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    font-size:      var(--mbrsc-font-size-xs);
    color:          var(--mbrsc-color-gray-500);
}

.mbrsc-card__meta-item .material-icons {
    font-size: 14px;
    color: var(--mbrsc-color-primary);
}


/* =============================================================================
   12. CARDS — NEWS
   ============================================================================= */

.mbrsc-card--news.mbrsc-card--featured {
    border: 2px solid var(--mbrsc-color-gold);
}

/* FIX: was hardcoded #e63946 — now uses token */
.mbrsc-card--type-press_release .mbrsc-card__type-badge {
    background: var(--mbrsc-color-secondary);
}

.mbrsc-card--type-announcement .mbrsc-card__type-badge {
    background: var(--mbrsc-color-accent);
    color:      var(--mbrsc-color-black);
}

.mbrsc-card__source {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    font-size:      var(--mbrsc-font-size-xs);
    color:          var(--mbrsc-color-gray-500);
}

.mbrsc-card__source .material-icons {
    font-size: 14px;
}


/* =============================================================================
   13. CARDS — EVENT
   ============================================================================= */

.mbrsc-card--event .mbrsc-card__image-wrap {
    position: relative;
}

.mbrsc-card__date-badge {
    position:       absolute;
    bottom:         var(--mbrsc-space-3);
    inset-inline-start: var(--mbrsc-space-3);
    background:     var(--mbrsc-color-white);
    border-radius:  var(--mbrsc-radius-md);
    padding:        var(--mbrsc-space-2) var(--mbrsc-space-3);
    text-align:     center;
    box-shadow:     var(--mbrsc-shadow-md);
    min-width:      52px;
    z-index:        1;
}

.mbrsc-card__date-badge-day {
    display:        block;
    font-size:      var(--mbrsc-font-size-xl);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    color:          var(--mbrsc-color-primary);
    line-height:    1;
}

.mbrsc-card__date-badge-month {
    display:        block;
    font-size:      var(--mbrsc-font-size-xs);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mbrsc-card__event-meta {
    display:        flex;
    flex-direction: column;
    gap:            var(--mbrsc-space-2);
}

.mbrsc-card__meta-item--online {
    color: var(--mbrsc-color-info);
}

.mbrsc-card__meta-item--online .material-icons {
    color: var(--mbrsc-color-info);
}

.mbrsc-card--event-cancelled {
    opacity: 0.7;
}

.mbrsc-card--event-cancelled .mbrsc-card__image {
    filter: grayscale(60%);
}


/* =============================================================================
   14. CARDS — MISSION
   ============================================================================= */

.mbrsc-card--mission .mbrsc-card__status-badge {
    display:        flex;
    align-items:    center;
    gap:            4px;
}

.mbrsc-card--mission .mbrsc-card__status-badge .material-icons {
    font-size: 8px;
}

.mbrsc-card--mission-active .mbrsc-card__status-badge {
    background: var(--mbrsc-status-active);
    color:      var(--mbrsc-color-white);
}

.mbrsc-card--mission-planned .mbrsc-card__status-badge {
    background: var(--mbrsc-status-planned);
    color:      var(--mbrsc-color-white);
}

.mbrsc-card--mission-completed .mbrsc-card__status-badge {
    background: var(--mbrsc-status-completed);
    color:      var(--mbrsc-color-white);
}

.mbrsc-card__mission-meta {
    display:        flex;
    flex-direction: column;
    gap:            var(--mbrsc-space-2);
    padding:        var(--mbrsc-space-3) 0;
    border-top:     1px solid var(--mbrsc-color-gray-100);
    border-bottom:  1px solid var(--mbrsc-color-gray-100);
}


/* =============================================================================
   15. CARDS — SERVICE
   ============================================================================= */

.mbrsc-card--service {
    text-align:     center;
    padding:        var(--mbrsc-space-8) var(--mbrsc-space-6);
    align-items:    center;
}

.mbrsc-card__icon-wrap {
    width:          72px;
    height:         72px;
    background:     var(--mbrsc-color-gray-100);
    border-radius:  var(--mbrsc-radius-xl);
    display:        flex;
    align-items:    center;
    justify-content: center;
    margin-bottom:  var(--mbrsc-space-4);
    transition:     background var(--mbrsc-transition-base);
}

.mbrsc-card--service:hover .mbrsc-card__icon-wrap {
    background: var(--mbrsc-color-primary);
    color:      var(--mbrsc-color-white);
}

.mbrsc-card__icon-wrap .material-icons {
    font-size:  36px;
    color:      var(--mbrsc-color-primary);
    transition: color var(--mbrsc-transition-base);
}

.mbrsc-card--service:hover .mbrsc-card__icon-wrap .material-icons {
    color: var(--mbrsc-color-white);
}

.mbrsc-card__icon-img {
    width:          48px;
    height:         48px;
    object-fit:     contain;
}


/* =============================================================================
   16. CARDS — TENDER
   ============================================================================= */

.mbrsc-card--tender {
    border-inline-start: 4px solid var(--mbrsc-color-gray-300);
}

.mbrsc-card--tender-open {
    border-inline-start-color: var(--mbrsc-status-active);
}

.mbrsc-card--tender-closed {
    border-inline-start-color: var(--mbrsc-status-completed);
}

.mbrsc-card--tender-awarded {
    border-inline-start-color: var(--mbrsc-status-awarded);
}

.mbrsc-card--tender-cancelled {
    border-inline-start-color: var(--mbrsc-status-cancelled);
    opacity: 0.75;
}

.mbrsc-card--expired {
    opacity: 0.8;
}

.mbrsc-card__tender-header {
    display:        flex;
    align-items:    center;
    justify-content: space-between;
    padding:        var(--mbrsc-space-4) var(--mbrsc-space-6);
    background:     var(--mbrsc-color-gray-50);
    border-bottom:  1px solid var(--mbrsc-color-gray-100);
    flex-wrap:      wrap;
    gap:            var(--mbrsc-space-2);
}

.mbrsc-card__tender-badges {
    display:    flex;
    gap:        var(--mbrsc-space-2);
    flex-wrap:  wrap;
}

.mbrsc-card__ref {
    font-size:  var(--mbrsc-font-size-xs);
    color:      var(--mbrsc-color-gray-500);
    background: var(--mbrsc-color-gray-100);
    padding:    2px var(--mbrsc-space-2);
    border-radius: var(--mbrsc-radius-sm);
}

.mbrsc-card__meta-item--expired {
    color: var(--mbrsc-color-danger);
}

.mbrsc-card__meta-item--expired .material-icons {
    color: var(--mbrsc-color-danger);
}

.mbrsc-card__expired-note {
    color:      var(--mbrsc-color-danger);
    font-style: normal;
    font-size:  var(--mbrsc-font-size-xs);
}


/* =============================================================================
   17. CARDS — MEDIA
   ============================================================================= */

.mbrsc-card--media .mbrsc-card__image-wrap {
    position: relative;
}

/* FIX: was hardcoded rgba(10,36,99,.3) — now uses token */
.mbrsc-card__media-overlay {
    position:       absolute;
    inset:          0;
    background:     var(--mbrsc-color-overlay-primary);
    display:        flex;
    align-items:    center;
    justify-content: center;
    opacity:        0;
    transition:     opacity var(--mbrsc-transition-base);
}

.mbrsc-card--media:hover .mbrsc-card__media-overlay {
    opacity: 1;
}

.mbrsc-card__media-play-icon {
    color:      var(--mbrsc-color-white);
    font-size:  48px !important;
    filter:     drop-shadow(0 2px 8px rgba(0,0,0,.4));
}

/* FIX: was hardcoded #e63946 — now uses token */
.mbrsc-card--media-video .mbrsc-card__type-badge {
    background: var(--mbrsc-color-secondary);
}

/* FIX: was hardcoded #6c63ff — now uses token */
.mbrsc-card--media-infographic .mbrsc-card__type-badge {
    background: var(--mbrsc-color-purple);
}

/* FIX: was hardcoded #2d6a4f — now uses token */
.mbrsc-card--media-publication .mbrsc-card__type-badge {
    background: var(--mbrsc-color-success);
}


/* =============================================================================
   18. CARDS — LEADER
   ============================================================================= */

.mbrsc-card--leader {
    text-align: center;
}

.mbrsc-card__photo-wrap {
    position:   relative;
    overflow:   hidden;
    aspect-ratio: 3 / 4;
    background: var(--mbrsc-color-gray-100);
}

.mbrsc-card__photo {
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: transform var(--mbrsc-transition-slow);
}

.mbrsc-card--leader:hover .mbrsc-card__photo {
    transform: scale(1.05);
}

.mbrsc-card__photo-placeholder {
    width:      100%;
    height:     100%;
    display:    flex;
    align-items: center;
    justify-content: center;
    background: var(--mbrsc-color-gray-200);
}

.mbrsc-card__photo-placeholder .material-icons {
    font-size:  64px;
    color:      var(--mbrsc-color-gray-400);
}

.mbrsc-card__board-badge {
    position:   absolute;
    bottom:     var(--mbrsc-space-3);
    inset-inline-start: 50%;
    transform:  translateX(-50%);
    background: var(--mbrsc-color-gold);
    color:      var(--mbrsc-color-white);
    font-size:  var(--mbrsc-font-size-xs);
    font-weight: var(--mbrsc-font-weight-semibold);
    padding:    var(--mbrsc-space-1) var(--mbrsc-space-3);
    border-radius: var(--mbrsc-radius-full);
    white-space: nowrap;
}

.mbrsc-card__name {
    font-size:      var(--mbrsc-font-size-md);
    font-weight:    var(--mbrsc-font-weight-bold);
    margin-bottom:  var(--mbrsc-space-1);
}

.mbrsc-card__job-title {
    font-size:  var(--mbrsc-font-size-sm);
    color:      var(--mbrsc-color-gray-500);
    line-height: var(--mbrsc-line-height-snug);
}

/* FIX: was hardcoded #0077b5 / #005885 — now uses tokens */
.mbrsc-card__linkedin {
    display:        inline-flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    font-size:      var(--mbrsc-font-size-xs);
    color:          var(--mbrsc-color-linkedin);
    text-decoration: none;
    margin-top:     var(--mbrsc-space-2);
}

.mbrsc-card__linkedin:hover {
    color: var(--mbrsc-color-linkedin-dark);
}


/* =============================================================================
   19. CARDS — SEARCH RESULT
   ============================================================================= */

.mbrsc-search-result {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-4);
    padding:        var(--mbrsc-space-4);
    background:     var(--mbrsc-color-white);
    border-radius:  var(--mbrsc-radius-lg);
    border:         1px solid var(--mbrsc-color-gray-200);
    transition:     all var(--mbrsc-transition-base);
    text-decoration: none;
}

.mbrsc-search-result:hover {
    border-color:   var(--mbrsc-color-primary);
    box-shadow:     var(--mbrsc-shadow-md);
    transform:      translateX(4px);
}

.mbrsc-search-result__thumb {
    flex-shrink:    0;
    width:          64px;
    height:         64px;
    border-radius:  var(--mbrsc-radius-md);
    overflow:       hidden;
    background:     var(--mbrsc-color-gray-100);
}

.mbrsc-search-result__thumb img {
    width:      100%;
    height:     100%;
    object-fit: cover;
}

.mbrsc-search-result__thumb--placeholder {
    display:        flex;
    align-items:    center;
    justify-content: center;
}

.mbrsc-search-result__thumb--placeholder .material-icons {
    font-size:  28px;
    color:      var(--mbrsc-color-gray-400);
}

.mbrsc-search-result__body {
    flex: 1;
    min-width: 0;
}

.mbrsc-search-result__type {
    font-size:      var(--mbrsc-font-size-xs);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mbrsc-search-result__title {
    font-size:      var(--mbrsc-font-size-base);
    font-weight:    var(--mbrsc-font-weight-semibold);
    margin:         var(--mbrsc-space-1) 0;
    white-space:    nowrap;
    overflow:       hidden;
    text-overflow:  ellipsis;
}

.mbrsc-search-result__title a {
    color:          var(--mbrsc-color-gray-900);
    text-decoration: none;
}

.mbrsc-search-result__excerpt {
    font-size:  var(--mbrsc-font-size-xs);
    color:      var(--mbrsc-color-gray-500);
    white-space: nowrap;
    overflow:   hidden;
    text-overflow: ellipsis;
}

.mbrsc-search-result__arrow {
    flex-shrink:    0;
    color:          var(--mbrsc-color-gray-400);
    display:        flex;
    align-items:    center;
}
/* =============================================================================
   20. ARCHIVE PAGES
   ============================================================================= */

.mbrsc-archive__hero {
    background:         var(--mbrsc-color-primary);
    background-image:   linear-gradient(135deg, var(--mbrsc-color-primary-dark) 0%, var(--mbrsc-color-primary) 100%);
    padding:            var(--mbrsc-space-16) 0 var(--mbrsc-space-12);
    color:              var(--mbrsc-color-white);
    position:           relative;
    overflow:           hidden;
}

.mbrsc-archive__hero::before {
    content:        '';
    position:       absolute;
    inset:          0;
    background:     url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='20'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}

/* FIX: was hardcoded #050d1a — replaced with --mbrsc-color-primary-dark */
.mbrsc-archive__hero--dark {
    background-image: linear-gradient(135deg, var(--mbrsc-color-primary-dark) 0%, var(--mbrsc-color-primary-dark) 100%);
}

.mbrsc-archive__title {
    font-size:      var(--mbrsc-font-size-4xl);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    color:          var(--mbrsc-color-white);
    margin-bottom:  var(--mbrsc-space-4);
}

.mbrsc-archive__desc {
    font-size:      var(--mbrsc-font-size-lg);
    color:          rgba(255,255,255,.8);
    max-width:      600px;
    margin-bottom:  var(--mbrsc-space-6);
}

.mbrsc-archive__filters {
    display:        flex;
    flex-wrap:      wrap;
    align-items:    center;
    gap:            var(--mbrsc-space-4);
    margin-bottom:  var(--mbrsc-space-8);
    padding-top:    var(--mbrsc-space-8);
}

.mbrsc-archive__count {
    font-size:      var(--mbrsc-font-size-sm);
    color:          var(--mbrsc-color-gray-500);
    margin-inline-start: auto;
}

.mbrsc-archive .mbrsc-container {
    padding-top:    var(--mbrsc-space-12);
    padding-bottom: var(--mbrsc-space-16);
}


/* =============================================================================
   21. SINGLE — BASE
   ============================================================================= */

.mbrsc-single__hero {
    position:       relative;
    min-height:     420px;
    display:        flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow:       hidden;
    background:     var(--mbrsc-color-primary-dark);
}

/* FIX: removed duplicate position/inset declarations */
.mbrsc-single__hero-image {
    position:   absolute;
    inset:      0;
    z-index:    0;
}

.mbrsc-single__hero-img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    object-position: center top;
}

.mbrsc-single__hero::after {
    content:    '';
    position:   absolute;
    inset:      0;
    background: linear-gradient(
        to bottom,
        rgba(6,21,64,.2)  0%,
        rgba(6,21,64,.6)  50%,
        rgba(6,21,64,.92) 100%
    );
    z-index:    1;
}

.mbrsc-single__hero-content {
    position:   relative;
    z-index:    2;
    padding:    var(--mbrsc-space-16) 0 var(--mbrsc-space-12);
}

.mbrsc-single__badges {
    display:        flex;
    flex-wrap:      wrap;
    gap:            var(--mbrsc-space-2);
    margin-bottom:  var(--mbrsc-space-4);
}

.mbrsc-single__title {
    font-size:      var(--mbrsc-font-size-4xl);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    color:          var(--mbrsc-color-white);
    line-height:    var(--mbrsc-line-height-tight);
    max-width:      820px;
    margin-bottom:  var(--mbrsc-space-6);
}

.mbrsc-single__subtitle {
    font-size:      var(--mbrsc-font-size-lg);
    color:          rgba(255,255,255,.8);
    max-width:      680px;
    margin-bottom:  var(--mbrsc-space-6);
    line-height:    var(--mbrsc-line-height-relaxed);
}

.mbrsc-single__meta {
    display:        flex;
    flex-wrap:      wrap;
    align-items:    center;
    gap:            var(--mbrsc-space-6);
    color:          rgba(255,255,255,.8);
    font-size:      var(--mbrsc-font-size-sm);
}

.mbrsc-single__date {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    color:          rgba(255,255,255,.8);
}

.mbrsc-single__date .material-icons {
    font-size: 16px;
}

.mbrsc-single__source {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
}

.mbrsc-single__source a {
    color:          rgba(255,255,255,.8);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Layout: content + sidebar */
.mbrsc-single__layout {
    display:        grid;
    grid-template-columns: 1fr 340px;
    gap:            var(--mbrsc-space-12);
    padding-top:    var(--mbrsc-space-12);
    padding-bottom: var(--mbrsc-space-16);
    align-items:    start;
}

.mbrsc-single__content {
    min-width: 0;
}

.mbrsc-single__sidebar {
    position:   sticky;
    top:        calc(var(--mbrsc-header-height) + var(--mbrsc-space-6));
}

/* Related section */
.mbrsc-single__related {
    background:     var(--mbrsc-color-gray-50);
    padding-block:  var(--mbrsc-space-16);
    border-top:     1px solid var(--mbrsc-color-gray-200);
}


/* =============================================================================
   22. SINGLE — NEWS
   ============================================================================= */

.mbrsc-single--news .mbrsc-single__share {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-3);
    margin-inline-start: auto;
}

.mbrsc-single__share-label {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    font-size:      var(--mbrsc-font-size-sm);
    color:          rgba(255,255,255,.7);
}

.mbrsc-single__share-label .material-icons {
    font-size: 16px;
}

.mbrsc-share-btn {
    display:        flex;
    align-items:    center;
    justify-content: center;
    width:          36px;
    height:         36px;
    border-radius:  50%;
    background:     rgba(255,255,255,.15);
    color:          var(--mbrsc-color-white);
    border:         1px solid rgba(255,255,255,.3);
    cursor:         pointer;
    transition:     all var(--mbrsc-transition-base);
    text-decoration: none;
    position:       relative;
}

.mbrsc-share-btn:hover {
    background:     rgba(255,255,255,.3);
    transform:      translateY(-2px);
    color:          var(--mbrsc-color-white);
}

.mbrsc-share-btn--copied {
    background:     var(--mbrsc-color-success);
    border-color:   var(--mbrsc-color-success);
}

.mbrsc-copy-tooltip {
    position:       absolute;
    bottom:         calc(100% + var(--mbrsc-space-2));
    inset-inline-start: 50%;
    transform:      translateX(-50%);
    background:     var(--mbrsc-color-gray-900);
    color:          var(--mbrsc-color-white);
    font-size:      var(--mbrsc-font-size-xs);
    padding:        var(--mbrsc-space-1) var(--mbrsc-space-2);
    border-radius:  var(--mbrsc-radius-sm);
    white-space:    nowrap;
    pointer-events: none;
    opacity:        0;
    transition:     opacity var(--mbrsc-transition-fast);
}

.mbrsc-copy-tooltip--visible {
    opacity: 1;
}

/* Gallery */
.mbrsc-single__gallery {
    margin-top: var(--mbrsc-space-10);
}

.mbrsc-single__gallery-title {
    font-size:      var(--mbrsc-font-size-xl);
    margin-bottom:  var(--mbrsc-space-6);
}

.mbrsc-gallery-grid {
    display:                grid;
    grid-template-columns:  repeat(3, 1fr);
    gap:                    var(--mbrsc-space-3);
}

.mbrsc-gallery-item {
    display:        block;
    overflow:       hidden;
    border-radius:  var(--mbrsc-radius-md);
    aspect-ratio:   4 / 3;
    cursor:         zoom-in;
}

.mbrsc-gallery-item img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: transform var(--mbrsc-transition-slow);
}

.mbrsc-gallery-item:hover img {
    transform: scale(1.08);
}

/* Tags */
.mbrsc-single__tags {
    display:        flex;
    flex-wrap:      wrap;
    align-items:    center;
    gap:            var(--mbrsc-space-2);
    margin-top:     var(--mbrsc-space-8);
    padding-top:    var(--mbrsc-space-6);
    border-top:     1px solid var(--mbrsc-color-gray-200);
}

.mbrsc-single__tags .material-icons {
    font-size:  18px;
    color:      var(--mbrsc-color-gray-400);
}

.mbrsc-tag {
    display:        inline-flex;
    padding:        var(--mbrsc-space-1) var(--mbrsc-space-3);
    background:     var(--mbrsc-color-gray-100);
    color:          var(--mbrsc-color-gray-600);
    border-radius:  var(--mbrsc-radius-full);
    font-size:      var(--mbrsc-font-size-xs);
    font-weight:    var(--mbrsc-font-weight-medium);
    text-decoration: none;
    transition:     all var(--mbrsc-transition-fast);
}

.mbrsc-tag:hover {
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
}

/* Video embed */
.mbrsc-single__video {
    margin-bottom: var(--mbrsc-space-8);
}

.mbrsc-video-embed {
    position:       relative;
    padding-bottom: 56.25%;
    height:         0;
    overflow:       hidden;
    border-radius:  var(--mbrsc-radius-xl);
}

.mbrsc-video-embed iframe,
.mbrsc-video-embed video {
    position:   absolute;
    inset:      0;
    width:      100%;
    height:     100%;
    border:     none;
}


/* =============================================================================
   23. SINGLE — EVENT
   ============================================================================= */

.mbrsc-event__info-bar {
    display:        flex;
    flex-wrap:      wrap;
    align-items:    center;
    gap:            var(--mbrsc-space-6);
    margin-top:     var(--mbrsc-space-4);
    padding:        var(--mbrsc-space-6);
    background:     rgba(255,255,255,.1);
    backdrop-filter: blur(8px);
    border-radius:  var(--mbrsc-radius-xl);
    border:         1px solid rgba(255,255,255,.2);
}

.mbrsc-event__info-item {
    display:        flex;
    align-items:    flex-start;
    gap:            var(--mbrsc-space-3);
    color:          var(--mbrsc-color-white);
}

.mbrsc-event__info-item .material-icons {
    font-size:  22px;
    color:      rgba(255,255,255,.7);
    flex-shrink: 0;
    margin-top: 2px;
}

.mbrsc-event__info-item strong {
    display:        block;
    font-size:      var(--mbrsc-font-size-xs);
    color:          rgba(255,255,255,.6);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom:  var(--mbrsc-space-1);
}

.mbrsc-event__info-item span {
    font-size:  var(--mbrsc-font-size-sm);
    line-height: var(--mbrsc-line-height-snug);
}

.mbrsc-event__info-item--cta {
    margin-inline-start: auto;
    flex-direction: column;
    align-items:    flex-end;
}

.mbrsc-event__reg-deadline {
    font-size:  var(--mbrsc-font-size-xs);
    color:      rgba(255,255,255,.6);
    margin-top: var(--mbrsc-space-1);
}

/* Speakers */
.mbrsc-event__speakers {
    margin-top: var(--mbrsc-space-10);
}

.mbrsc-event__speakers h2 {
    margin-bottom: var(--mbrsc-space-6);
}

.mbrsc-speaker-card {
    text-align:     center;
    padding:        var(--mbrsc-space-6);
    background:     var(--mbrsc-color-gray-50);
    border-radius:  var(--mbrsc-radius-xl);
}

.mbrsc-speaker-card img {
    width:          80px;
    height:         80px;
    border-radius:  50%;
    object-fit:     cover;
    margin:         0 auto var(--mbrsc-space-3);
    border:         3px solid var(--mbrsc-color-white);
    box-shadow:     var(--mbrsc-shadow-md);
}

.mbrsc-speaker-card__placeholder {
    width:          80px;
    height:         80px;
    border-radius:  50%;
    background:     var(--mbrsc-color-gray-200);
    display:        flex;
    align-items:    center;
    justify-content: center;
    margin:         0 auto var(--mbrsc-space-3);
}

.mbrsc-speaker-card h4 {
    font-size:      var(--mbrsc-font-size-base);
    margin-bottom:  var(--mbrsc-space-1);
}

.mbrsc-speaker-card p {
    font-size:      var(--mbrsc-font-size-sm);
    color:          var(--mbrsc-color-gray-500);
}


/* =============================================================================
   24. SINGLE — MISSION
   ============================================================================= */

.mbrsc-single__hero--mission {
    min-height: 520px;
}

.mbrsc-mission__specs {
    background:     var(--mbrsc-color-primary-dark);
    color:          var(--mbrsc-color-white);
    padding:        var(--mbrsc-space-10) 0;
    margin-bottom:  var(--mbrsc-space-10);
}

.mbrsc-mission__specs-title {
    font-size:      var(--mbrsc-font-size-2xl);
    color:          var(--mbrsc-color-white);
    margin-bottom:  var(--mbrsc-space-8);
}

.mbrsc-specs-grid {
    display:                grid;
    grid-template-columns:  repeat(3, 1fr);
    gap:                    var(--mbrsc-space-6);
}

.mbrsc-spec-item {
    background:     rgba(255,255,255,.07);
    border:         1px solid rgba(255,255,255,.1);
    border-radius:  var(--mbrsc-radius-xl);
    padding:        var(--mbrsc-space-6);
}

.mbrsc-spec-item dt {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-2);
    font-size:      var(--mbrsc-font-size-xs);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          rgba(255,255,255,.6);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom:  var(--mbrsc-space-2);
}

.mbrsc-spec-item dt .material-icons {
    font-size:  16px;
    color:      var(--mbrsc-color-gold);
}

.mbrsc-spec-item dd {
    font-size:      var(--mbrsc-font-size-md);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-white);
}

/* Instruments */
.mbrsc-mission__instruments {
    margin-top: var(--mbrsc-space-10);
}

.mbrsc-instruments-list {
    display:        flex;
    flex-direction: column;
    gap:            var(--mbrsc-space-4);
    margin-top:     var(--mbrsc-space-6);
}

.mbrsc-instruments-list__item {
    display:        flex;
    align-items:    flex-start;
    gap:            var(--mbrsc-space-4);
    padding:        var(--mbrsc-space-5);
    background:     var(--mbrsc-color-gray-50);
    border-radius:  var(--mbrsc-radius-lg);
    border-inline-start: 3px solid var(--mbrsc-color-primary);
}

.mbrsc-instruments-list__item .material-icons {
    font-size:  24px;
    color:      var(--mbrsc-color-primary);
    flex-shrink: 0;
    margin-top: 2px;
}

.mbrsc-instruments-list__item strong {
    display:        block;
    font-size:      var(--mbrsc-font-size-base);
    font-weight:    var(--mbrsc-font-weight-semibold);
    margin-bottom:  var(--mbrsc-space-1);
}

.mbrsc-instruments-list__item p {
    font-size:  var(--mbrsc-font-size-sm);
    color:      var(--mbrsc-color-gray-600);
    margin:     0;
}


/* =============================================================================
   25. SINGLE — TENDER
   ============================================================================= */

.mbrsc-single__hero--tender {
    min-height:     auto;
    padding-block:  var(--mbrsc-space-12);
}

.mbrsc-single__ref {
    display:        inline-block;
    font-size:      var(--mbrsc-font-size-sm);
    color:          rgba(255,255,255,.7);
    background:     rgba(255,255,255,.1);
    padding:        var(--mbrsc-space-1) var(--mbrsc-space-3);
    border-radius:  var(--mbrsc-radius-sm);
    margin-top:     var(--mbrsc-space-3);
}

.mbrsc-single__layout--tender {
    grid-template-columns: 1fr 320px;
}

.mbrsc-tender__section-title {
    font-size:      var(--mbrsc-font-size-xl);
    font-weight:    var(--mbrsc-font-weight-bold);
    margin-bottom:  var(--mbrsc-space-6);
    padding-bottom: var(--mbrsc-space-4);
    border-bottom:  2px solid var(--mbrsc-color-gray-200);
    color:          var(--mbrsc-color-primary);
}

.mbrsc-tender__info-table,
.mbrsc-tender__scope,
.mbrsc-tender__description {
    margin-bottom: var(--mbrsc-space-10);
}

/* Info table */
.mbrsc-info-table {
    display:        flex;
    flex-direction: column;
    border:         1px solid var(--mbrsc-color-gray-200);
    border-radius:  var(--mbrsc-radius-xl);
    overflow:       hidden;
}

.mbrsc-info-row {
    display:        grid;
    grid-template-columns: 220px 1fr;
    border-bottom:  1px solid var(--mbrsc-color-gray-100);
}

.mbrsc-info-row:last-child {
    border-bottom: none;
}

.mbrsc-info-row dt {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-2);
    padding:        var(--mbrsc-space-4) var(--mbrsc-space-5);
    background:     var(--mbrsc-color-gray-50);
    font-size:      var(--mbrsc-font-size-sm);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-gray-700);
    border-inline-end: 1px solid var(--mbrsc-color-gray-100);
}

.mbrsc-info-row dt .material-icons {
    font-size:  16px;
    color:      var(--mbrsc-color-primary);
}

.mbrsc-info-row dd {
    padding:        var(--mbrsc-space-4) var(--mbrsc-space-5);
    font-size:      var(--mbrsc-font-size-sm);
    color:          var(--mbrsc-color-gray-800);
    display:        flex;
    flex-direction: column;
    gap:            var(--mbrsc-space-1);
}

.mbrsc-info-row--expired dt {
    color: var(--mbrsc-color-danger);
}

.mbrsc-info-row--expired dd {
    color: var(--mbrsc-color-danger);
}

.mbrsc-expired-note {
    font-size:  var(--mbrsc-font-size-xs);
    color:      var(--mbrsc-color-danger);
    font-style: normal;
}

/* CTA bar */
.mbrsc-tender__cta-bar {
    display:        flex;
    flex-wrap:      wrap;
    align-items:    center;
    gap:            var(--mbrsc-space-4);
    padding:        var(--mbrsc-space-6);
    background:     var(--mbrsc-color-gray-50);
    border-radius:  var(--mbrsc-radius-xl);
    border:         1px solid var(--mbrsc-color-gray-200);
    margin-top:     var(--mbrsc-space-8);
}

.mbrsc-tender__expired-notice,
.mbrsc-tender__awarded-notice {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-3);
    padding:        var(--mbrsc-space-4) var(--mbrsc-space-5);
    border-radius:  var(--mbrsc-radius-lg);
    font-size:      var(--mbrsc-font-size-sm);
    margin-top:     var(--mbrsc-space-6);
}

.mbrsc-tender__expired-notice {
    background:     var(--mbrsc-color-danger-bg);
    color:          var(--mbrsc-color-danger);
    border:         1px solid rgba(192,57,43,.2);
}

.mbrsc-tender__awarded-notice {
    background:     var(--mbrsc-status-awarded-bg);
    color:          var(--mbrsc-status-awarded);
    border:         1px solid rgba(201,168,76,.2);
}

.mbrsc-tender__contact-name {
    font-weight: var(--mbrsc-font-weight-semibold);
}

.mbrsc-tender__contact-email {
    font-size:      var(--mbrsc-font-size-sm);
    color:          var(--mbrsc-color-primary);
}


/* =============================================================================
   26. SECTION HEADERS
   ============================================================================= */

.mbrsc-section__header {
    display:        flex;
    align-items:    center;
    justify-content: space-between;
    margin-bottom:  var(--mbrsc-space-8);
    gap:            var(--mbrsc-space-4);
}

.mbrsc-section__header--center {
    flex-direction: column;
    text-align:     center;
}

.mbrsc-section__title {
    font-size:      var(--mbrsc-font-size-3xl);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    color:          var(--mbrsc-color-gray-900);
    position:       relative;
}

.mbrsc-section__title::after {
    content:        '';
    display:        block;
    width:          48px;
    height:         4px;
    background:     var(--mbrsc-color-primary);
    border-radius:  var(--mbrsc-radius-full);
    margin-top:     var(--mbrsc-space-3);
}

.mbrsc-section__header--center .mbrsc-section__title::after {
    margin-inline: auto;
}

.mbrsc-section__view-all {
    display:        inline-flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    font-size:      var(--mbrsc-font-size-sm);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-primary);
    text-decoration: none;
    white-space:    nowrap;
    flex-shrink:    0;
    transition:     gap var(--mbrsc-transition-fast);
}

.mbrsc-section__view-all:hover {
    gap: var(--mbrsc-space-2);
}

.mbrsc-section__view-all .material-icons {
    font-size: 18px;
}


/* =============================================================================
   27. STATS COUNTER
   ============================================================================= */

.mbrsc-stats-section {
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
}

.mbrsc-stats-section--light {
    background:     var(--mbrsc-color-gray-50);
    color:          var(--mbrsc-color-gray-900);
}

.mbrsc-stats-section .mbrsc-section__title {
    color: var(--mbrsc-color-white);
}

.mbrsc-stats-section--light .mbrsc-section__title {
    color: var(--mbrsc-color-gray-900);
}

.mbrsc-stats-grid {
    gap: var(--mbrsc-space-4);
}

.mbrsc-stat-item {
    text-align:     center;
    padding:        var(--mbrsc-space-8) var(--mbrsc-space-6);
    background:     rgba(255,255,255,.08);
    border-radius:  var(--mbrsc-radius-xl);
    border:         1px solid rgba(255,255,255,.12);
    transition:     transform var(--mbrsc-transition-base),
                    background var(--mbrsc-transition-base);
}

.mbrsc-stat-item:hover {
    transform:  translateY(-4px);
    background: rgba(255,255,255,.12);
}

.mbrsc-stats-section--light .mbrsc-stat-item {
    background: var(--mbrsc-color-white);
    border:     1px solid var(--mbrsc-color-gray-200);
    box-shadow: var(--mbrsc-shadow-card);
}

.mbrsc-stat-icon {
    margin-bottom: var(--mbrsc-space-4);
}

.mbrsc-stat-icon .material-icons {
    font-size:  40px;
    color:      rgba(255,255,255,.7);
}

.mbrsc-stats-section--light .mbrsc-stat-icon .material-icons {
    color: var(--mbrsc-color-primary);
}

.mbrsc-stat-number {
    display:        flex;
    align-items:    baseline;
    justify-content: center;
    gap:            2px;
    margin-bottom:  var(--mbrsc-space-2);
}

.mbrsc-stat-number__value {
    font-size:      var(--mbrsc-font-size-5xl);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    color:          var(--mbrsc-color-white);
    line-height:    1;
    font-variant-numeric: tabular-nums;
}

.mbrsc-stats-section--light .mbrsc-stat-number__value {
    color: var(--mbrsc-color-primary);
}

.mbrsc-stat-number__suffix {
    font-size:      var(--mbrsc-font-size-2xl);
    font-weight:    var(--mbrsc-font-weight-bold);
    color:          rgba(255,255,255,.8);
}

.mbrsc-stats-section--light .mbrsc-stat-number__suffix {
    color: var(--mbrsc-color-primary-light);
}

.mbrsc-stat-label {
    font-size:      var(--mbrsc-font-size-sm);
    color:          rgba(255,255,255,.7);
    font-weight:    var(--mbrsc-font-weight-medium);
    line-height:    var(--mbrsc-line-height-snug);
}

.mbrsc-stats-section--light .mbrsc-stat-label {
    color: var(--mbrsc-color-gray-600);
}


/* =============================================================================
   28. HERO BANNER
   ============================================================================= */

.mbrsc-hero {
    position:           relative;
    min-height:         600px;
    display:            flex;
    align-items:        center;
    background-size:    cover;
    background-position: center;
    background-repeat:  no-repeat;
    overflow:           hidden;
}

.mbrsc-hero__overlay {
    position:   absolute;
    inset:      0;
    background: var(--mbrsc-color-primary-dark);
    z-index:    1;
}

.mbrsc-hero__content {
    position:   relative;
    z-index:    2;
    padding:    var(--mbrsc-space-20) var(--mbrsc-space-6);
    max-width:  var(--mbrsc-container-max);
    margin:     0 auto;
    width:      100%;
}

.mbrsc-hero--align-center .mbrsc-hero__content {
    text-align: center;
}

.mbrsc-hero--align-end .mbrsc-hero__content {
    text-align: end;
}

.mbrsc-hero__heading {
    font-size:      var(--mbrsc-font-size-5xl);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    color:          var(--mbrsc-color-white);
    line-height:    var(--mbrsc-line-height-tight);
    max-width:      760px;
    margin-bottom:  var(--mbrsc-space-6);
}

.mbrsc-hero--align-center .mbrsc-hero__heading {
    margin-inline: auto;
}

.mbrsc-hero__subheading {
    font-size:      var(--mbrsc-font-size-xl);
    color:          rgba(255,255,255,.85);
    max-width:      600px;
    margin-bottom:  var(--mbrsc-space-10);
    line-height:    var(--mbrsc-line-height-relaxed);
}

.mbrsc-hero--align-center .mbrsc-hero__subheading {
    margin-inline: auto;
}

.mbrsc-hero__ctas {
    display:        flex;
    flex-wrap:      wrap;
    gap:            var(--mbrsc-space-4);
}

.mbrsc-hero--align-center .mbrsc-hero__ctas {
    justify-content: center;
}

.mbrsc-hero__scroll-indicator {
    position:       absolute;
    bottom:         var(--mbrsc-space-8);
    inset-inline-start: 50%;
    transform:      translateX(-50%);
    color:          rgba(255,255,255,.6);
    animation:      mbrsc-bounce 2s infinite;
    z-index:        2;
}

.mbrsc-hero__scroll-indicator .material-icons {
    font-size: 32px;
}

@keyframes mbrsc-bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50%       { transform: translateX(-50%) translateY(8px); }
}


/* =============================================================================
   29. HEADER — THEME-WIDE FIX
   ============================================================================= */

/* ── 1. dda-header Web Component: force real height in document flow ─────── */
/* The host element defaults to height:0 until Shadow DOM hydrates.           */
/* min-height ensures it occupies real space immediately on every page.       */
dda-header {
    display:    block    !important;
    min-height: 80px     !important;
    position:   sticky   !important;
    top:        0        !important;
    z-index:    1000     !important;
}

/* ── 2. Universal offset — every page content wrapper ───────────────────── */
/* Covers: Elementor pages, 404, archives, singles, search, WP templates     */
#main-content,
.mbrsc-404,
.mbrsc-page,
.mbrsc-single,
.mbrsc-archive,
.mbrsc-search,
main#main,
main.site-main,
#content,
.site-content {
    padding-top:       80px !important;
    margin-top:        0    !important;
    scroll-margin-top: 80px;
}

/* ── 3. But NOT if the page already has a hero that handles its own offset ─ */
/* Elementor full-height hero sections should NOT get double padding          */
#main-content:has( > .elementor > .elementor-section-wrap > .elementor-section:first-child.elementor-section-height-100vh ),
#main-content:has( > .elementor > .e-con:first-child ) {
    padding-top: 0 !important;
}

/* ── 4. Logo sizing ──────────────────────────────────────────────────────── */
.dda-head-logo {
    display:     flex;
    align-items: center;
    gap:         20px;
}

.dda-head-logo .govt-logo,
.dda-head-logo .entt-logo {
    display:     inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.dda-head-logo .logo-colored {
    height:     100px;
    width:      auto;
    display:    block;
    object-fit: contain;
}

.dda-head-logo .logo-white:not([src]),
.dda-head-logo .logo-white[src=""] {
    display: none !important;
}

.dda-head-logo .logo-white {
    height:     100px;
    width:      auto;
    display:    block;
    object-fit: contain;
}

/* ── 5. Responsive ───────────────────────────────────────────────────────── */
@media ( max-width: 1024px ) {
    dda-header { min-height: 72px !important; }

    .dda-head-logo .logo-colored,
    .dda-head-logo .logo-white    { height: 72px; }
}

@media ( max-width: 768px ) {
    dda-header { min-height: 64px !important; }

    #main-content,
    .mbrsc-404,
    .mbrsc-page,
    .mbrsc-single,
    .mbrsc-archive,
    .mbrsc-search,
    main#main,
    main.site-main,
    #content,
    .site-content {
        padding-top:       64px !important;
        scroll-margin-top: 64px;
    }

    .dda-head-logo .logo-colored,
    .dda-head-logo .logo-white    { height: 52px; }
}

/* =============================================================================
   30. FOOTER
   ============================================================================= */

.mbrsc-site-footer {
    position: relative;
    z-index:  var(--mbrsc-z-base);
}


/* =============================================================================
   31. BACK TO TOP
   ============================================================================= */

.mbrsc-back-to-top {
    position:       fixed;
    bottom:         calc(var(--mbrsc-sticky-footer-height) + var(--mbrsc-space-6));
    inset-inline-end: var(--mbrsc-space-6);
    width:          48px;
    height:         48px;
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
    border-radius:  50%;
    display:        flex;
    align-items:    center;
    justify-content: center;
    box-shadow:     var(--mbrsc-shadow-lg);
    cursor:         pointer;
    z-index:        var(--mbrsc-z-sticky);
    opacity:        0;
    transform:      translateY(16px);
    transition:     opacity var(--mbrsc-transition-base),
                    transform var(--mbrsc-transition-base),
                    background var(--mbrsc-transition-fast);
    border:         none;
}

.mbrsc-back-to-top--visible {
    opacity:    1;
    transform:  translateY(0);
}

.mbrsc-back-to-top:hover {
    background: var(--mbrsc-color-primary-light);
    transform:  translateY(-2px);
}

.mbrsc-back-to-top .material-icons {
    font-size: 24px;
}


/* =============================================================================
   32. SEARCH OVERLAY
   ============================================================================= */

/* FIX: was hardcoded rgba(6,21,64,.95) — now uses token */
.mbrsc-search-overlay {
    position:       fixed;
    inset:          0;
    z-index:        var(--mbrsc-z-modal);
    background:     color-mix(in srgb, var(--mbrsc-color-primary-dark) 95%, transparent);
    backdrop-filter: blur(12px);
    display:        flex;
    flex-direction: column;
    padding:        var(--mbrsc-space-8) var(--mbrsc-space-6);
    opacity:        0;
    transition:     opacity var(--mbrsc-transition-base);
}

.mbrsc-search-overlay--open {
    opacity: 1;
}

.mbrsc-search-overlay__header {
    display:        flex;
    align-items:    center;
    justify-content: space-between;
    margin-bottom:  var(--mbrsc-space-8);
    max-width:      800px;
    width:          100%;
    margin-inline:  auto;
}

.mbrsc-search-overlay__input-wrap {
    position:   relative;
    flex:       1;
}

.mbrsc-search-overlay__input {
    width:          100%;
    padding:        var(--mbrsc-space-4) var(--mbrsc-space-6);
    padding-inline-start: var(--mbrsc-space-12);
    background:     rgba(255,255,255,.1);
    border:         2px solid rgba(255,255,255,.3);
    border-radius:  var(--mbrsc-radius-full);
    color:          var(--mbrsc-color-white);
    font-size:      var(--mbrsc-font-size-xl);
    outline:        none;
    transition:     border-color var(--mbrsc-transition-fast);
}

.mbrsc-search-overlay__input::placeholder {
    color: rgba(255,255,255,.5);
}

.mbrsc-search-overlay__input:focus {
    border-color: rgba(255,255,255,.7);
}

.mbrsc-search-overlay__close {
    width:          48px;
    height:         48px;
    background:     rgba(255,255,255,.1);
    border:         1px solid rgba(255,255,255,.2);
    border-radius:  50%;
    color:          var(--mbrsc-color-white);
    display:        flex;
    align-items:    center;
    justify-content: center;
    cursor:         pointer;
    transition:     background var(--mbrsc-transition-fast);
    flex-shrink:    0;
    margin-inline-start: var(--mbrsc-space-4);
}

.mbrsc-search-overlay__close:hover {
    background: rgba(255,255,255,.2);
}

.mbrsc-search-overlay__results {
    max-width:      800px;
    width:          100%;
    margin-inline:  auto;
    overflow-y:     auto;
    flex:           1;
}

.mbrsc-search-overlay__loading {
    width:          32px;
    height:         32px;
    border:         3px solid rgba(255,255,255,.2);
    border-top-color: var(--mbrsc-color-white);
    border-radius:  50%;
    animation:      mbrsc-spin 0.8s linear infinite;
    margin:         var(--mbrsc-space-8) auto;
}

@keyframes mbrsc-spin {
    to { transform: rotate(360deg); }
}

.mbrsc-search-overlay__no-results,
.mbrsc-search-overlay__error {
    color:      rgba(255,255,255,.7);
    text-align: center;
    padding:    var(--mbrsc-space-8);
    font-size:  var(--mbrsc-font-size-md);
}


/* =============================================================================
   33. LIGHTBOX
   ============================================================================= */

.mbrsc-lightbox {
    position:       fixed;
    inset:          0;
    z-index:        var(--mbrsc-z-modal);
    display:        flex;
    align-items:    center;
    justify-content: center;
    opacity:        0;
    transition:     opacity var(--mbrsc-transition-base);
}

.mbrsc-lightbox--open {
    opacity: 1;
}

/* FIX: was hardcoded rgba(0,0,0,.92) — now uses token */
.mbrsc-lightbox__backdrop {
    position:   absolute;
    inset:      0;
    background: var(--mbrsc-color-overlay-dark);
    backdrop-filter: blur(4px);
}

.mbrsc-lightbox__content {
    position:       relative;
    z-index:        1;
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-4);
    max-width:      90vw;
    max-height:     90vh;
    padding:        var(--mbrsc-space-4);
}

.mbrsc-lightbox__close {
    position:       absolute;
    top:            var(--mbrsc-space-4);
    inset-inline-end: var(--mbrsc-space-4);
    width:          44px;
    height:         44px;
    background:     rgba(255,255,255,.15);
    border:         1px solid rgba(255,255,255,.3);
    border-radius:  50%;
    color:          var(--mbrsc-color-white);
    display:        flex;
    align-items:    center;
    justify-content: center;
    cursor:         pointer;
    transition:     background var(--mbrsc-transition-fast);
    z-index:        2;
}

.mbrsc-lightbox__close:hover {
    background: rgba(255,255,255,.3);
}

.mbrsc-lightbox__prev,
.mbrsc-lightbox__next {
    width:          48px;
    height:         48px;
    background:     rgba(255,255,255,.15);
    border:         1px solid rgba(255,255,255,.3);
    border-radius:  50%;
    color:          var(--mbrsc-color-white);
    display:        flex;
    align-items:    center;
    justify-content: center;
    cursor:         pointer;
    flex-shrink:    0;
    transition:     background var(--mbrsc-transition-fast);
}

.mbrsc-lightbox__prev:hover,
.mbrsc-lightbox__next:hover {
    background: rgba(255,255,255,.3);
}

.mbrsc-lightbox__img-wrap {
    position:   relative;
    max-width:  80vw;
    max-height: 80vh;
}

.mbrsc-lightbox__img {
    max-width:      80vw;
    max-height:     80vh;
    object-fit:     contain;
    border-radius:  var(--mbrsc-radius-lg);
    transition:     opacity var(--mbrsc-transition-base);
    display:        block;
}

.mbrsc-lightbox__spinner {
    position:       absolute;
    inset:          0;
    display:        flex;
    align-items:    center;
    justify-content: center;
}

.mbrsc-lightbox__spinner::after {
    content:        '';
    width:          40px;
    height:         40px;
    border:         3px solid rgba(255,255,255,.2);
    border-top-color: var(--mbrsc-color-white);
    border-radius:  50%;
    animation:      mbrsc-spin 0.8s linear infinite;
}

.mbrsc-lightbox__caption,
.mbrsc-lightbox__counter {
    position:       absolute;
    bottom:         calc(-1 * var(--mbrsc-space-8));
    color:          rgba(255,255,255,.7);
    font-size:      var(--mbrsc-font-size-sm);
    text-align:     center;
    width:          100%;
}

.mbrsc-lightbox__counter {
    bottom: calc(-1 * var(--mbrsc-space-12));
    font-size: var(--mbrsc-font-size-xs);
}


/* =============================================================================
   34. COUNTDOWN TIMER
   ============================================================================= */

.mbrsc-countdown {
    display:        grid;
    grid-template-columns: repeat(4, 1fr);
    gap:            var(--mbrsc-space-3);
    margin-bottom:  var(--mbrsc-space-4);
}

.mbrsc-countdown__unit {
    text-align:     center;
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
    border-radius:  var(--mbrsc-radius-lg);
    padding:        var(--mbrsc-space-4) var(--mbrsc-space-2);
}

.mbrsc-countdown__value {
    display:        block;
    font-size:      var(--mbrsc-font-size-3xl);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    line-height:    1;
    font-variant-numeric: tabular-nums;
    margin-bottom:  var(--mbrsc-space-1);
}

.mbrsc-countdown__label {
    display:        block;
    font-size:      var(--mbrsc-font-size-xs);
    color:          rgba(255,255,255,.7);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mbrsc-countdown--expired .mbrsc-countdown__unit {
    background: var(--mbrsc-color-gray-300);
}

.mbrsc-countdown--expired .mbrsc-countdown__value {
    color: var(--mbrsc-color-gray-500);
}

.mbrsc-countdown__deadline-label {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    font-size:      var(--mbrsc-font-size-xs);
    color:          var(--mbrsc-color-gray-500);
}

.mbrsc-countdown__deadline-label .material-icons {
    font-size: 14px;
}


/* =============================================================================
   35. NO RESULTS
   ============================================================================= */

.mbrsc-no-results {
    text-align:     center;
    padding:        var(--mbrsc-space-20) var(--mbrsc-space-6);
    grid-column:    1 / -1;
}

.mbrsc-no-results .material-icons {
    font-size:      64px;
    color:          var(--mbrsc-color-gray-300);
    display:        block;
    margin-bottom:  var(--mbrsc-space-4);
}

.mbrsc-no-results h2 {
    font-size:      var(--mbrsc-font-size-2xl);
    color:          var(--mbrsc-color-gray-700);
    margin-bottom:  var(--mbrsc-space-3);
}

.mbrsc-no-results p {
    color:          var(--mbrsc-color-gray-500);
    margin-bottom:  var(--mbrsc-space-6);
}


/* =============================================================================
   36. SIDEBAR WIDGETS
   ============================================================================= */

.mbrsc-sidebar-widget {
    background:     var(--mbrsc-color-white);
    border:         1px solid var(--mbrsc-color-gray-200);
    border-radius:  var(--mbrsc-radius-xl);
    padding:        var(--mbrsc-space-6);
    margin-bottom:  var(--mbrsc-space-6);
}

.mbrsc-sidebar-widget__title {
    font-size:      var(--mbrsc-font-size-base);
    font-weight:    var(--mbrsc-font-weight-bold);
    color:          var(--mbrsc-color-gray-900);
    margin-bottom:  var(--mbrsc-space-5);
    padding-bottom: var(--mbrsc-space-4);
    border-bottom:  2px solid var(--mbrsc-color-primary);
}

.mbrsc-sidebar-list {
    display:        flex;
    flex-direction: column;
    gap:            var(--mbrsc-space-4);
    margin-bottom:  var(--mbrsc-space-4);
}

.mbrsc-sidebar-list__item {
    display:        flex;
    gap:            var(--mbrsc-space-3);
    align-items:    flex-start;
}

.mbrsc-sidebar-list__thumb {
    flex-shrink:    0;
    width:          64px;
    height:         48px;
    border-radius:  var(--mbrsc-radius-md);
    overflow:       hidden;
}

.mbrsc-sidebar-list__thumb img {
    width:      100%;
    height:     100%;
    object-fit: cover;
}

.mbrsc-sidebar-list__date-badge {
    flex-shrink:    0;
    width:          44px;
    text-align:     center;
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
    border-radius:  var(--mbrsc-radius-md);
    padding:        var(--mbrsc-space-1) 0;
}

.mbrsc-sidebar-list__date-badge span:first-child {
    display:        block;
    font-size:      var(--mbrsc-font-size-lg);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    line-height:    1;
}

.mbrsc-sidebar-list__date-badge span:last-child {
    display:        block;
    font-size:      9px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity:        0.8;
}

.mbrsc-sidebar-list__title {
    font-size:      var(--mbrsc-font-size-sm);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-gray-800);
    text-decoration: none;
    line-height:    var(--mbrsc-line-height-snug);
    display:        -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow:       hidden;
}

.mbrsc-sidebar-list__title:hover {
    color: var(--mbrsc-color-primary);
}

.mbrsc-sidebar-list__date {
    display:        block;
    font-size:      var(--mbrsc-font-size-xs);
    color:          var(--mbrsc-color-gray-400);
    margin-top:     var(--mbrsc-space-1);
}

.mbrsc-sidebar-list__ref {
    display:        block;
    font-size:      var(--mbrsc-font-size-xs);
    color:          var(--mbrsc-color-gray-400);
    margin-top:     2px;
}

.mbrsc-sidebar-widget__more {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    font-size:      var(--mbrsc-font-size-sm);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-primary);
    text-decoration: none;
    padding-top:    var(--mbrsc-space-4);
    border-top:     1px solid var(--mbrsc-color-gray-100);
    margin-top:     var(--mbrsc-space-4);
    transition:     gap var(--mbrsc-transition-fast);
}

.mbrsc-sidebar-widget__more:hover {
    gap: var(--mbrsc-space-2);
}

.mbrsc-sidebar-widget__more .material-icons {
    font-size: 16px;
}

.mbrsc-sidebar-empty {
    font-size:  var(--mbrsc-font-size-sm);
    color:      var(--mbrsc-color-gray-400);
    text-align: center;
    padding:    var(--mbrsc-space-4) 0;
}

/* Summary list (tender sidebar) */
.mbrsc-summary-list {
    display:        flex;
    flex-direction: column;
    gap:            var(--mbrsc-space-3);
    margin-bottom:  var(--mbrsc-space-5);
}

.mbrsc-summary-list__item {
    display:        grid;
    grid-template-columns: 20px 1fr auto;
    align-items:    center;
    gap:            var(--mbrsc-space-2);
    font-size:      var(--mbrsc-font-size-sm);
    padding-bottom: var(--mbrsc-space-3);
    border-bottom:  1px solid var(--mbrsc-color-gray-100);
}

.mbrsc-summary-list__item:last-child {
    border-bottom: none;
}

.mbrsc-summary-list__icon {
    font-size:  16px !important;
    color:      var(--mbrsc-color-primary);
}

.mbrsc-summary-list__label {
    color:      var(--mbrsc-color-gray-500);
    font-size:  var(--mbrsc-font-size-xs);
}

.mbrsc-summary-list__value {
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-gray-800);
    text-align:     end;
}

.mbrsc-summary-list__item--expired .mbrsc-summary-list__value {
    color: var(--mbrsc-color-danger);
}
/* =============================================================================
   37. PAGE TEMPLATE
   ============================================================================= */

.mbrsc-page__hero {
    background:         var(--mbrsc-color-primary);
    padding:            var(--mbrsc-space-16) 0 var(--mbrsc-space-12);
    position:           relative;
    overflow:           hidden;
}

.mbrsc-page__hero--has-image {
    min-height:         320px;
    background-size:    cover;
    background-position: center;
    display:            flex;
    align-items:        flex-end;
}

/* FIX: was hardcoded rgba(6,21,64,.4/.85) — now uses token */
.mbrsc-page__hero-overlay {
    position:   absolute;
    inset:      0;
    background: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--mbrsc-color-primary-dark) 40%, transparent),
        color-mix(in srgb, var(--mbrsc-color-primary-dark) 85%, transparent)
    );
}

.mbrsc-page__title {
    font-size:      var(--mbrsc-font-size-4xl);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    color:          var(--mbrsc-color-white);
    position:       relative;
    z-index:        1;
}

.mbrsc-page__layout {
    display:        grid;
    grid-template-columns: 1fr 300px;
    gap:            var(--mbrsc-space-12);
    padding-block:  var(--mbrsc-space-12);
    align-items:    start;
}

.mbrsc-page__layout--full {
    grid-template-columns: 1fr;
}

.mbrsc-page__sidebar {
    position:   sticky;
    top:        calc(var(--mbrsc-header-height) + var(--mbrsc-space-6));
}

.mbrsc-page-links {
    display:        flex;
    flex-wrap:      wrap;
    align-items:    center;
    gap:            var(--mbrsc-space-2);
    margin-top:     var(--mbrsc-space-8);
    padding-top:    var(--mbrsc-space-4);
    border-top:     1px solid var(--mbrsc-color-gray-200);
    font-size:      var(--mbrsc-font-size-sm);
}

.mbrsc-page-links span {
    color:          var(--mbrsc-color-gray-500);
    font-weight:    var(--mbrsc-font-weight-medium);
}

.mbrsc-page-links a span,
.mbrsc-page-links span.current {
    display:        inline-flex;
    align-items:    center;
    justify-content: center;
    width:          32px;
    height:         32px;
    border-radius:  var(--mbrsc-radius-md);
    background:     var(--mbrsc-color-gray-100);
    color:          var(--mbrsc-color-gray-600);
    text-decoration: none;
    font-weight:    var(--mbrsc-font-weight-semibold);
}

.mbrsc-page-links span.current {
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
}


/* =============================================================================
   38. SEARCH RESULTS PAGE
   ============================================================================= */

.mbrsc-search-results__hero {
    background:     var(--mbrsc-color-primary);
    padding:        var(--mbrsc-space-12) 0;
    color:          var(--mbrsc-color-white);
}

.mbrsc-search-results__title {
    font-size:      var(--mbrsc-font-size-3xl);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    color:          var(--mbrsc-color-white);
    margin-bottom:  var(--mbrsc-space-3);
}

.mbrsc-search-results__term {
    color: var(--mbrsc-color-gold);
}

.mbrsc-search-results__count {
    color:          rgba(255,255,255,.7);
    font-size:      var(--mbrsc-font-size-sm);
    margin-bottom:  var(--mbrsc-space-6);
}

.mbrsc-search-results__form {
    max-width: 600px;
}

.mbrsc-search-results__input-wrap {
    display:    flex;
    gap:        var(--mbrsc-space-3);
}

.mbrsc-search-results__input {
    flex:           1;
    padding:        var(--mbrsc-space-3) var(--mbrsc-space-5);
    border:         2px solid rgba(255,255,255,.3);
    border-radius:  var(--mbrsc-radius-md);
    background:     rgba(255,255,255,.1);
    color:          var(--mbrsc-color-white);
    font-size:      var(--mbrsc-font-size-base);
    outline:        none;
    transition:     border-color var(--mbrsc-transition-fast);
}

.mbrsc-search-results__input::placeholder {
    color: rgba(255,255,255,.5);
}

.mbrsc-search-results__input:focus {
    border-color: rgba(255,255,255,.7);
}

.mbrsc-search-results__submit {
    padding:        var(--mbrsc-space-3) var(--mbrsc-space-5);
    background:     var(--mbrsc-color-white);
    color:          var(--mbrsc-color-primary);
    border-radius:  var(--mbrsc-radius-md);
    border:         none;
    cursor:         pointer;
    display:        flex;
    align-items:    center;
    transition:     background var(--mbrsc-transition-fast);
}

.mbrsc-search-results__submit:hover {
    background: var(--mbrsc-color-gray-100);
}

.mbrsc-search-results .mbrsc-container {
    padding-top:    var(--mbrsc-space-10);
    padding-bottom: var(--mbrsc-space-16);
}

.mbrsc-search-results__list {
    display:        flex;
    flex-direction: column;
    gap:            var(--mbrsc-space-4);
    margin-bottom:  var(--mbrsc-space-8);
}

.mbrsc-search-result-item {
    display:        flex;
    gap:            var(--mbrsc-space-5);
    padding:        var(--mbrsc-space-5);
    background:     var(--mbrsc-color-white);
    border:         1px solid var(--mbrsc-color-gray-200);
    border-radius:  var(--mbrsc-radius-xl);
    transition:     all var(--mbrsc-transition-base);
    align-items:    flex-start;
}

.mbrsc-search-result-item:hover {
    border-color:   var(--mbrsc-color-primary);
    box-shadow:     var(--mbrsc-shadow-md);
}

.mbrsc-search-result-item__thumb {
    flex-shrink:    0;
    width:          120px;
    height:         80px;
    border-radius:  var(--mbrsc-radius-md);
    overflow:       hidden;
    background:     var(--mbrsc-color-gray-100);
}

.mbrsc-search-result-item__thumb img {
    width:      100%;
    height:     100%;
    object-fit: cover;
}

.mbrsc-search-result-item__thumb--placeholder {
    display:        flex;
    align-items:    center;
    justify-content: center;
}

.mbrsc-search-result-item__thumb--placeholder .material-icons {
    font-size:  36px;
    color:      var(--mbrsc-color-gray-300);
}

.mbrsc-search-result-item__body {
    flex:       1;
    min-width:  0;
}

.mbrsc-search-result-item__meta {
    display:        flex;
    align-items:    center;
    gap:            var(--mbrsc-space-3);
    margin-bottom:  var(--mbrsc-space-2);
}

.mbrsc-search-result-item__date {
    display:        flex;
    align-items:    center;
    gap:            4px;
    font-size:      var(--mbrsc-font-size-xs);
    color:          var(--mbrsc-color-gray-400);
}

.mbrsc-search-result-item__date .material-icons {
    font-size: 12px;
}

.mbrsc-search-result-item__title {
    font-size:      var(--mbrsc-font-size-md);
    font-weight:    var(--mbrsc-font-weight-semibold);
    line-height:    var(--mbrsc-line-height-snug);
    margin-bottom:  var(--mbrsc-space-2);
}

.mbrsc-search-result-item__title a {
    color:          var(--mbrsc-color-gray-900);
    text-decoration: none;
    transition:     color var(--mbrsc-transition-fast);
}

.mbrsc-search-result-item__title a:hover {
    color: var(--mbrsc-color-primary);
}

.mbrsc-search-result-item__excerpt {
    font-size:          var(--mbrsc-font-size-sm);
    color:              var(--mbrsc-color-gray-500);
    line-height:        var(--mbrsc-line-height-relaxed);
    display:            -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow:           hidden;
    margin-bottom:      var(--mbrsc-space-3);
}

.mbrsc-search-result-item__link {
    display:        inline-flex;
    align-items:    center;
    gap:            var(--mbrsc-space-1);
    font-size:      var(--mbrsc-font-size-sm);
    font-weight:    var(--mbrsc-font-weight-semibold);
    color:          var(--mbrsc-color-primary);
    text-decoration: none;
    transition:     gap var(--mbrsc-transition-fast);
}

.mbrsc-search-result-item__link:hover {
    gap: var(--mbrsc-space-2);
}

.mbrsc-search-result-item__link .material-icons {
    font-size: 16px;
}

/* No results — search page */
.mbrsc-no-results--search {
    padding: var(--mbrsc-space-16) var(--mbrsc-space-6);
}

.mbrsc-no-results__icon {
    font-size:      80px !important;
    color:          var(--mbrsc-color-gray-200) !important;
    margin-bottom:  var(--mbrsc-space-6) !important;
}

.mbrsc-no-results__title {
    font-size:      var(--mbrsc-font-size-2xl);
    color:          var(--mbrsc-color-gray-700);
    margin-bottom:  var(--mbrsc-space-4);
}

.mbrsc-no-results__desc {
    font-size:      var(--mbrsc-font-size-md);
    color:          var(--mbrsc-color-gray-500);
    max-width:      500px;
    margin:         0 auto var(--mbrsc-space-8);
}

.mbrsc-no-results__suggestions {
    margin-bottom: var(--mbrsc-space-8);
}

.mbrsc-no-results__suggestions h3 {
    font-size:      var(--mbrsc-font-size-base);
    color:          var(--mbrsc-color-gray-600);
    margin-bottom:  var(--mbrsc-space-4);
    font-weight:    var(--mbrsc-font-weight-medium);
}

.mbrsc-no-results__links {
    display:        flex;
    flex-wrap:      wrap;
    justify-content: center;
    gap:            var(--mbrsc-space-3);
}

.mbrsc-no-results__search-form {
    display:        flex;
    gap:            var(--mbrsc-space-3);
    max-width:      480px;
    margin:         0 auto;
}

.mbrsc-no-results__search-form .mbrsc-search-results__input {
    background:     var(--mbrsc-color-white);
    border-color:   var(--mbrsc-color-gray-300);
    color:          var(--mbrsc-color-gray-900);
}

.mbrsc-no-results__search-form .mbrsc-search-results__input::placeholder {
    color: var(--mbrsc-color-gray-400);
}

.mbrsc-no-results__search-form .mbrsc-search-results__input:focus {
    border-color: var(--mbrsc-color-primary);
}


/* =============================================================================
   39. 404 PAGE
   ============================================================================= */

.mbrsc-404 {
    padding-block:  var(--mbrsc-space-20);
    text-align:     center;
}

.mbrsc-404__visual {
    margin-bottom: var(--mbrsc-space-10);
}

.mbrsc-404__number {
    display:        flex;
    align-items:    center;
    justify-content: center;
    gap:            var(--mbrsc-space-4);
}

.mbrsc-404__digit {
    font-size:      clamp(6rem, 15vw, 12rem);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    color:          var(--mbrsc-color-primary);
    line-height:    1;
    letter-spacing: -0.04em;
}

.mbrsc-404__planet {
    width:          clamp(80px, 12vw, 140px);
    height:         clamp(80px, 12vw, 140px);
    color:          var(--mbrsc-color-primary);
    animation:      mbrsc-float 4s ease-in-out infinite;
    display:        flex;
    align-items:    center;
    justify-content: center;
}

.mbrsc-404__planet-svg {
    width:  100%;
    height: 100%;
}

@keyframes mbrsc-float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    33%       { transform: translateY(-12px) rotate(3deg); }
    66%       { transform: translateY(-6px) rotate(-2deg); }
}

.mbrsc-404__content {
    max-width: 640px;
    margin:    0 auto;
}

.mbrsc-404__title {
    font-size:      var(--mbrsc-font-size-4xl);
    font-weight:    var(--mbrsc-font-weight-extrabold);
    color:          var(--mbrsc-color-gray-900);
    margin-bottom:  var(--mbrsc-space-3);
}

.mbrsc-404__subtitle {
    font-size:      var(--mbrsc-font-size-xl);
    color:          var(--mbrsc-color-primary);
    font-weight:    var(--mbrsc-font-weight-semibold);
    margin-bottom:  var(--mbrsc-space-4);
}

.mbrsc-404__desc {
    font-size:      var(--mbrsc-font-size-md);
    color:          var(--mbrsc-color-gray-500);
    margin-bottom:  var(--mbrsc-space-8);
    line-height:    var(--mbrsc-line-height-relaxed);
}

.mbrsc-404__actions {
    display:        flex;
    flex-wrap:      wrap;
    justify-content: center;
    gap:            var(--mbrsc-space-4);
    margin-bottom:  var(--mbrsc-space-10);
}

.mbrsc-404__search {
    margin-bottom: var(--mbrsc-space-10);
}

.mbrsc-404__search-label {
    font-size:      var(--mbrsc-font-size-sm);
    color:          var(--mbrsc-color-gray-500);
    margin-bottom:  var(--mbrsc-space-3);
}

.mbrsc-404__search-form {
    display:        flex;
    gap:            var(--mbrsc-space-3);
    max-width:      480px;
    margin:         0 auto;
}

.mbrsc-404__search-input {
    flex:           1;
    padding:        var(--mbrsc-space-3) var(--mbrsc-space-5);
    border:         2px solid var(--mbrsc-color-gray-300);
    border-radius:  var(--mbrsc-radius-md);
    font-size:      var(--mbrsc-font-size-base);
    color:          var(--mbrsc-color-gray-900);
    outline:        none;
    transition:     border-color var(--mbrsc-transition-fast);
}

/* FIX: was inline rgba(10,36,99,.1) — now uses --mbrsc-shadow-focus */
.mbrsc-404__search-input:focus {
    border-color: var(--mbrsc-color-primary);
    box-shadow:   var(--mbrsc-shadow-focus);
}

.mbrsc-404__quick-links {
    margin-bottom: var(--mbrsc-space-16);
}

.mbrsc-404__quick-links-label {
    font-size:      var(--mbrsc-font-size-sm);
    color:          var(--mbrsc-color-gray-500);
    margin-bottom:  var(--mbrsc-space-4);
    font-weight:    var(--mbrsc-font-weight-medium);
}

.mbrsc-404__links-list {
    display:        flex;
    flex-wrap:      wrap;
    justify-content: center;
    gap:            var(--mbrsc-space-3);
    list-style:     none;
    padding:        0;
}

.mbrsc-404__links-list a {
    display:        inline-flex;
    align-items:    center;
    gap:            var(--mbrsc-space-2);
    padding:        var(--mbrsc-space-2) var(--mbrsc-space-4);
    background:     var(--mbrsc-color-gray-100);
    color:          var(--mbrsc-color-gray-700);
    border-radius:  var(--mbrsc-radius-full);
    font-size:      var(--mbrsc-font-size-sm);
    font-weight:    var(--mbrsc-font-weight-medium);
    text-decoration: none;
    transition:     all var(--mbrsc-transition-base);
    border:         1px solid var(--mbrsc-color-gray-200);
}

.mbrsc-404__links-list a:hover {
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
    border-color:   var(--mbrsc-color-primary);
    transform:      translateY(-2px);
    box-shadow:     var(--mbrsc-shadow-md);
}

.mbrsc-404__links-list .material-icons {
    font-size: 16px;
}

.mbrsc-404__recent {
    border-top:     1px solid var(--mbrsc-color-gray-200);
    padding-top:    var(--mbrsc-space-12);
    text-align:     start;
}

.mbrsc-404__recent-title {
    font-size:      var(--mbrsc-font-size-2xl);
    font-weight:    var(--mbrsc-font-weight-bold);
    margin-bottom:  var(--mbrsc-space-8);
    text-align:     center;
}


/* =============================================================================
   40. RTL OVERRIDES
   ============================================================================= */

[dir="rtl"] .mbrsc-breadcrumb li:not(:last-child)::after {
    content: '\\';
}

[dir="rtl"] .mbrsc-card__read-more .material-icons,
[dir="rtl"] .mbrsc-section__view-all .material-icons,
[dir="rtl"] .mbrsc-sidebar-widget__more .material-icons,
[dir="rtl"] .mbrsc-search-result-item__link .material-icons {
    transform: scaleX(-1);
}

[dir="rtl"] .mbrsc-select {
    background-position: left var(--mbrsc-space-3) center;
    padding-inline-start: var(--mbrsc-space-8);
    padding-inline-end:   var(--mbrsc-space-4);
}

[dir="rtl"] .mbrsc-search-result:hover {
    transform: translateX(-4px);
}

[dir="rtl"] .mbrsc-instruments-list__item {
    border-inline-start: none;
    border-inline-end:   3px solid var(--mbrsc-color-primary);
}

[dir="rtl"] .mbrsc-tender__cta-bar {
    flex-direction: row-reverse;
}

[dir="rtl"] .mbrsc-card__board-badge {
    transform: translateX(50%);
}

[dir="rtl"] .mbrsc-404__digit:first-child {
    order: 3;
}

[dir="rtl"] .mbrsc-404__planet {
    order: 2;
}

[dir="rtl"] .mbrsc-404__digit:last-child {
    order: 1;
}

/* FIX: Removed redundant [lang="ar"] body override — body[data-lang="ar"] is canonical (Section 2) */
/* Arabic typography adjustments — element-level only */
[lang="ar"] .mbrsc-card__title,
[lang="ar"] .mbrsc-single__title,
[lang="ar"] .mbrsc-archive__title,
[lang="ar"] .mbrsc-section__title {
    font-family:    var(--mbrsc-font-ar);
    letter-spacing: 0;
}

[lang="ar"] .mbrsc-card__excerpt,
[lang="ar"] .mbrsc-search-result-item__excerpt,
[lang="ar"] .entry-content p {
    font-family:    var(--mbrsc-font-ar);
    line-height:    var(--mbrsc-line-height-loose);
}

[lang="ar"] .mbrsc-badge,
[lang="ar"] .mbrsc-filter-tab,
[lang="ar"] .mbrsc-btn {
    font-family:    var(--mbrsc-font-ar);
    letter-spacing: 0;
}

[lang="ar"] .mbrsc-stat-number__value {
    font-family: var(--mbrsc-font-en);
}

[lang="ar"] .mbrsc-countdown__value {
    font-family: var(--mbrsc-font-en);
}


/* =============================================================================
   41. UTILITY CLASSES
   ============================================================================= */

/* Display */
.mbrsc-hidden         { display: none !important; }
.mbrsc-visible        { display: block !important; }
.mbrsc-flex           { display: flex !important; }
.mbrsc-inline-flex    { display: inline-flex !important; }

/* Text */
.mbrsc-text-center    { text-align: center !important; }
.mbrsc-text-start     { text-align: start !important; }
.mbrsc-text-end       { text-align: end !important; }
.mbrsc-text-white     { color: var(--mbrsc-color-white) !important; }
.mbrsc-text-primary   { color: var(--mbrsc-color-primary) !important; }
.mbrsc-text-muted     { color: var(--mbrsc-color-gray-500) !important; }
.mbrsc-text-sm        { font-size: var(--mbrsc-font-size-sm) !important; }
.mbrsc-text-lg        { font-size: var(--mbrsc-font-size-lg) !important; }
.mbrsc-font-bold      { font-weight: var(--mbrsc-font-weight-bold) !important; }
.mbrsc-font-semibold  { font-weight: var(--mbrsc-font-weight-semibold) !important; }

/* Spacing */
.mbrsc-mt-0   { margin-top: 0 !important; }
.mbrsc-mt-4   { margin-top: var(--mbrsc-space-4) !important; }
.mbrsc-mt-8   { margin-top: var(--mbrsc-space-8) !important; }
.mbrsc-mb-0   { margin-bottom: 0 !important; }
.mbrsc-mb-4   { margin-bottom: var(--mbrsc-space-4) !important; }
.mbrsc-mb-8   { margin-bottom: var(--mbrsc-space-8) !important; }
.mbrsc-p-0    { padding: 0 !important; }

/* Background */
.mbrsc-bg-white       { background-color: var(--mbrsc-color-white) !important; }
.mbrsc-bg-primary     { background-color: var(--mbrsc-color-primary) !important; }
.mbrsc-bg-light       { background-color: var(--mbrsc-color-gray-50) !important; }
.mbrsc-bg-dark        { background-color: var(--mbrsc-color-primary-dark) !important; }

/* Border */
.mbrsc-rounded        { border-radius: var(--mbrsc-radius-md) !important; }
.mbrsc-rounded-lg     { border-radius: var(--mbrsc-radius-lg) !important; }
.mbrsc-rounded-full   { border-radius: var(--mbrsc-radius-full) !important; }

/* Load more */
.mbrsc-load-more-wrap {
    display:        flex;
    justify-content: center;
    margin-top:     var(--mbrsc-space-10);
}

.mbrsc-load-more {
    display:        inline-flex;
    align-items:    center;
    gap:            var(--mbrsc-space-2);
    padding:        var(--mbrsc-space-3) var(--mbrsc-space-8);
    background:     var(--mbrsc-color-white);
    color:          var(--mbrsc-color-primary);
    border:         2px solid var(--mbrsc-color-primary);
    border-radius:  var(--mbrsc-radius-full);
    font-size:      var(--mbrsc-font-size-sm);
    font-weight:    var(--mbrsc-font-weight-semibold);
    cursor:         pointer;
    transition:     all var(--mbrsc-transition-base);
    position:       relative;
    overflow:       hidden;
}

.mbrsc-load-more:hover {
    background:     var(--mbrsc-color-primary);
    color:          var(--mbrsc-color-white);
    transform:      translateY(-2px);
    box-shadow:     var(--mbrsc-shadow-md);
}

.mbrsc-load-more--loading {
    pointer-events: none;
    opacity:        0.7;
}

.mbrsc-load-more--loading::after {
    content:        '';
    position:       absolute;
    inset:          0;
    background:     linear-gradient(
        90deg,
        transparent 0%,
        rgba(255,255,255,.4) 50%,
        transparent 100%
    );
    animation:      mbrsc-shimmer 1.2s infinite;
}

@keyframes mbrsc-shimmer {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.mbrsc-load-more--error {
    border-color:   var(--mbrsc-color-danger);
    color:          var(--mbrsc-color-danger);
}

/* Status colors */
.mbrsc-status--open       { color: var(--mbrsc-status-active); }
.mbrsc-status--closed     { color: var(--mbrsc-status-completed); }
.mbrsc-status--awarded    { color: var(--mbrsc-status-awarded); }
.mbrsc-status--cancelled  { color: var(--mbrsc-status-cancelled); }
.mbrsc-status--active     { color: var(--mbrsc-status-active); }
.mbrsc-status--planned    { color: var(--mbrsc-status-planned); }
.mbrsc-status--ongoing    { color: var(--mbrsc-status-ongoing); }
.mbrsc-status--completed  { color: var(--mbrsc-status-completed); }
.mbrsc-status--upcoming   { color: var(--mbrsc-status-upcoming); }


/* =============================================================================
   42. RESPONSIVE — TABLET (max 1024px)
   ============================================================================= */

@media ( max-width: 1024px ) {

    :root {
        --mbrsc-container-padding: var(--mbrsc-space-5);
        --mbrsc-section-padding:   var(--mbrsc-space-12);
    }

    /* Grid */
    .mbrsc-grid--cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Single layout */
    .mbrsc-single__layout,
    .mbrsc-single__layout--tender {
        grid-template-columns: 1fr;
    }

    .mbrsc-single__sidebar {
        position:   static;
        display:    grid;
        grid-template-columns: repeat(2, 1fr);
        gap:        var(--mbrsc-space-6);
    }

    /* Page layout */
    .mbrsc-page__layout {
        grid-template-columns: 1fr;
    }

    .mbrsc-page__sidebar {
        position: static;
    }

    /* Specs grid */
    .mbrsc-specs-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Info table */
    .mbrsc-info-row {
        grid-template-columns: 180px 1fr;
    }

    /* Hero */
    .mbrsc-hero__heading {
        font-size: var(--mbrsc-font-size-4xl);
    }

    .mbrsc-hero {
        min-height: 480px;
    }

    /* Archive */
    .mbrsc-archive__title {
        font-size: var(--mbrsc-font-size-3xl);
    }

    /* Single title */
    .mbrsc-single__title {
        font-size: var(--mbrsc-font-size-3xl);
    }

    /* Stats */
    .mbrsc-stat-number__value {
        font-size: var(--mbrsc-font-size-4xl);
    }

    /* Gallery */
    .mbrsc-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Event info bar */
    .mbrsc-event__info-bar {
        gap: var(--mbrsc-space-4);
    }

    .mbrsc-event__info-item--cta {
        margin-inline-start: 0;
        width: 100%;
        align-items: flex-start;
    }
}


/* =============================================================================
   43. RESPONSIVE — MOBILE (max 768px)
   ============================================================================= */

@media ( max-width: 768px ) {

    :root {
        --mbrsc-container-padding: var(--mbrsc-space-4);
        --mbrsc-section-padding:   var(--mbrsc-space-10);
        --mbrsc-grid-gap:          var(--mbrsc-space-4);
        --mbrsc-header-height:     100px;
    }

    /* Typography */
    h1 { font-size: var(--mbrsc-font-size-3xl); }
    h2 { font-size: var(--mbrsc-font-size-2xl); }
    h3 { font-size: var(--mbrsc-font-size-xl); }

    /* Grid */
    .mbrsc-grid--cols-2,
    .mbrsc-grid--cols-3,
    .mbrsc-grid--cols-4 {
        grid-template-columns: 1fr;
    }

    /* Section header */
    .mbrsc-section__header {
        flex-direction: column;
        align-items:    flex-start;
    }

    /* Filter tabs */
    .mbrsc-filter-tabs {
        overflow-x:     auto;
        flex-wrap:      nowrap;
        padding-bottom: var(--mbrsc-space-2);
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .mbrsc-filter-tabs::-webkit-scrollbar {
        display: none;
    }

    /* Single hero */
    .mbrsc-single__hero {
        min-height: 320px;
    }

    .mbrsc-single__title {
        font-size: var(--mbrsc-font-size-2xl);
    }

    .mbrsc-single__meta {
        gap: var(--mbrsc-space-4);
    }

    .mbrsc-single__share {
        display: none !important;
    }

    /* Single sidebar */
    .mbrsc-single__sidebar {
        grid-template-columns: 1fr;
    }

    /* Archive */
    .mbrsc-archive__title {
        font-size: var(--mbrsc-font-size-2xl);
    }

    .mbrsc-archive__filters {
        flex-direction: column;
        align-items:    stretch;
    }

    .mbrsc-archive__count {
        margin-inline-start: 0;
    }

    /* Hero banner */
    .mbrsc-hero {
        min-height: 380px;
    }

    .mbrsc-hero__heading {
        font-size: var(--mbrsc-font-size-3xl);
    }

    .mbrsc-hero__subheading {
        font-size: var(--mbrsc-font-size-md);
    }

    .mbrsc-hero__ctas {
        flex-direction: column;
    }

    /* Stats */
    .mbrsc-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .mbrsc-stat-number__value {
        font-size: var(--mbrsc-font-size-3xl);
    }

    /* Specs grid */
    .mbrsc-specs-grid {
        grid-template-columns: 1fr;
    }

    /* Info table */
    .mbrsc-info-row {
        grid-template-columns: 1fr;
    }

    .mbrsc-info-row dt {
        border-inline-end:  none;
        border-bottom:      1px solid var(--mbrsc-color-gray-100);
        padding-bottom:     var(--mbrsc-space-2);
    }

    /* Tender CTA bar */
    .mbrsc-tender__cta-bar {
        flex-direction: column;
        align-items:    stretch;
    }

    .mbrsc-tender__cta-bar .mbrsc-btn {
        width:          100%;
        justify-content: center;
    }

    /* Gallery */
    .mbrsc-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Countdown */
    .mbrsc-countdown__value {
        font-size: var(--mbrsc-font-size-2xl);
    }

    /* Search result item */
    .mbrsc-search-result-item {
        flex-direction: column;
    }

    .mbrsc-search-result-item__thumb {
        width:  100%;
        height: 160px;
    }

    /* Search form */
    .mbrsc-search-results__input-wrap,
    .mbrsc-404__search-form,
    .mbrsc-no-results__search-form {
        flex-direction: column;
    }

    /* 404 */
    .mbrsc-404__digit {
        font-size: clamp(4rem, 18vw, 7rem);
    }

    .mbrsc-404__planet {
        width:  clamp(60px, 14vw, 90px);
        height: clamp(60px, 14vw, 90px);
    }

    .mbrsc-404__title {
        font-size: var(--mbrsc-font-size-3xl);
    }

    .mbrsc-404__actions {
        flex-direction: column;
        align-items:    center;
    }

    /* Lightbox */
    .mbrsc-lightbox__prev,
    .mbrsc-lightbox__next {
        position:   absolute;
        bottom:     var(--mbrsc-space-4);
    }

    .mbrsc-lightbox__prev {
        inset-inline-start: var(--mbrsc-space-4);
    }

    .mbrsc-lightbox__next {
        inset-inline-end: var(--mbrsc-space-4);
    }

    .mbrsc-lightbox__img {
        max-width:  95vw;
        max-height: 70vh;
    }

    /* Back to top */
    .mbrsc-back-to-top {
        width:  40px;
        height: 40px;
        inset-inline-end: var(--mbrsc-space-4);
        bottom: calc(var(--mbrsc-sticky-footer-height) + var(--mbrsc-space-4));
    }

    /* Sidebar */
    .mbrsc-sidebar-widget {
        margin-bottom: var(--mbrsc-space-4);
    }

    /* Speaker cards */
    .mbrsc-event__speakers .mbrsc-grid--cols-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =============================================================================
   44. RESPONSIVE — SMALL (max 480px)
   ============================================================================= */

@media ( max-width: 480px ) {

    :root {
        --mbrsc-container-padding: var(--mbrsc-space-4);
    }

    /* Stats — single column */
    .mbrsc-stats-grid {
        grid-template-columns: 1fr !important;
    }

    /* Gallery — single column */
    .mbrsc-gallery-grid {
        grid-template-columns: 1fr;
    }

    /* Countdown */
    .mbrsc-countdown {
        gap: var(--mbrsc-space-2);
    }

    .mbrsc-countdown__value {
        font-size: var(--mbrsc-font-size-xl);
    }

    .mbrsc-countdown__label {
        font-size: 9px;
    }

    /* Filter tabs */
    .mbrsc-filter-tab {
        padding: var(--mbrsc-space-2) var(--mbrsc-space-3);
        font-size: var(--mbrsc-font-size-xs);
    }

    /* Pagination */
    .mbrsc-pagination .page-numbers li a,
    .mbrsc-pagination .page-numbers li span {
        min-width:  36px;
        height:     36px;
        font-size:  var(--mbrsc-font-size-xs);
    }

    /* Hero */
    .mbrsc-hero {
        min-height: 300px;
    }

    .mbrsc-hero__heading {
        font-size: var(--mbrsc-font-size-2xl);
    }

    /* Speakers */
    .mbrsc-event__speakers .mbrsc-grid--cols-3 {
        grid-template-columns: 1fr;
    }

    /* Badges */
    .mbrsc-event__info-bar {
        flex-direction: column;
        align-items:    flex-start;
    }

    /* 404 */
    .mbrsc-404__number {
        gap: var(--mbrsc-space-2);
    }

    .mbrsc-404__links-list {
        gap: var(--mbrsc-space-2);
    }

    /* Search overlay */
    .mbrsc-search-overlay__input {
        font-size: var(--mbrsc-font-size-md);
        padding:   var(--mbrsc-space-3) var(--mbrsc-space-4);
        padding-inline-start: var(--mbrsc-space-10);
    }

    /* Card body */
    .mbrsc-card__body {
        padding: var(--mbrsc-space-4);
    }
}


/* =============================================================================
   45. PRINT STYLES
   ============================================================================= */

@media print {

    /* Hide interactive / decorative elements */
    .mbrsc-site-header,
    .mbrsc-site-footer,
    .mbrsc-back-to-top,
    .mbrsc-search-overlay,
    .mbrsc-lightbox,
    .mbrsc-single__share,
    .mbrsc-single__sidebar,
    .mbrsc-single__related,
    .mbrsc-load-more-wrap,
    .mbrsc-filter-tabs,
    .mbrsc-pagination,
    .mbrsc-breadcrumb,
    .mbrsc-404__search,
    .mbrsc-404__quick-links,
    .mbrsc-tender__cta-bar,
    .mbrsc-skip-links,
    button,
    [data-open-search] {
        display: none !important;
    }

    /* Reset layout */
    body {
        font-size:      12pt;
        color:          #000;
        background:     #fff;
        padding-bottom: 0;
    }

    .mbrsc-container {
        max-width:      100%;
        padding-inline: 0;
    }

    /* Single layout — full width */
    .mbrsc-single__layout,
    .mbrsc-single__layout--tender,
    .mbrsc-page__layout {
        grid-template-columns: 1fr;
    }

    /* Hero — simplified */
    .mbrsc-single__hero {
        min-height:     auto;
        background:     var(--mbrsc-color-primary) !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .mbrsc-single__hero::after {
        display: none;
    }

    /* Cards — no hover effects */
    .mbrsc-card {
        box-shadow:     none;
        border:         1px solid #ccc;
        break-inside:   avoid;
    }

    /* Links */
    a[href]::after {
        content:    ' (' attr(href) ')';
        font-size:  9pt;
        color:      #666;
    }

    a[href^="#"]::after,
    a[href^="javascript"]::after {
        content: '';
    }

    /* Page breaks */
    .mbrsc-single__content,
    .mbrsc-mission__specs,
    .mbrsc-event__speakers {
        break-inside: avoid;
    }

    /* Info table */
    .mbrsc-info-table {
        border: 1px solid #ccc;
    }

    .mbrsc-info-row dt {
        background: #f5f5f5 !important;
        print-color-adjust: exact;
    }

    /* Tender status */
    .mbrsc-tender__expired-notice,
    .mbrsc-tender__awarded-notice {
        border: 1px solid #ccc;
        print-color-adjust: exact;
    }
}
/* ═══════════════════════════════════════════════════════════════════════════
   MBRSC Professional Footer
   Full-width dark layout — RTA/DDA style
═══════════════════════════════════════════════════════════════════════════ */

/* ── Reset the old wrapper ────────────────────────────────────────────────── */
.mbrsc-site-footer {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* ── Root variables ───────────────────────────────────────────────────────── */
.mbrsc-footer {
    --footer-bg-top:       #1a1d23;
    --footer-bg-bottom:    #13151a;
    --footer-border:       rgba(255, 255, 255, 0.08);
    --footer-text:         #a0a4ab;
    --footer-text-light:   #e5e7eb;
    --footer-accent:       #0070cd;   /* DDA primary blue */
    --footer-link-hover:   #ffffff;
    --footer-logo-max:     160px;
    --footer-container:    1280px;
    --footer-gap:          2rem;
}

/* ── Container ────────────────────────────────────────────────────────────── */
.mbrsc-footer__container {
    max-width: var(--footer-container);
    margin-inline: auto;
    padding-inline: 2rem;
    width: 100%;
}

/* ── TOP SECTION ──────────────────────────────────────────────────────────── */
.mbrsc-footer__top {
    background-color: var(--footer-bg-top);
    padding: 3.5rem 0 3rem;
    border-bottom: 1px solid var(--footer-border);
}

.mbrsc-footer__top .mbrsc-footer__container {
    display: flex;
    gap: var(--footer-gap);
    align-items: flex-start;
}

/* ── Brand / Logo ─────────────────────────────────────────────────────────── */
.mbrsc-footer__brand {
    flex: 0 0 220px;
    min-width: 0;
}

.mbrsc-footer__logo-link {
    display: inline-block;
    margin-bottom: 1.25rem;
}

.mbrsc-footer__logo {
    max-width: var(--footer-logo-max);
    height: auto;
    filter: brightness(0) invert(1);   /* white logo on dark bg */
    opacity: 0.9;
    transition: opacity 0.2s;
}

.mbrsc-footer__logo:hover {
    opacity: 1;
}

.mbrsc-footer__tagline {
    color: var(--footer-text);
    font-size: 0.875rem;
    line-height: 1.7;
    margin: 0;
}

/* ── Nav columns ──────────────────────────────────────────────────────────── */
.mbrsc-footer__nav {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 2rem 1.5rem;
}

.mbrsc-footer__nav-title {
    color: var(--footer-text-light);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 1rem;
    padding-bottom: 0.625rem;
    border-bottom: 1px solid var(--footer-border);
}

.mbrsc-footer__nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.mbrsc-footer__nav-list a {
    color: var(--footer-text);
    text-decoration: none;
    font-size: 0.875rem;
    line-height: 1.5;
    transition: color 0.2s, padding-inline-start 0.2s;
    display: inline-block;
}

.mbrsc-footer__nav-list a:hover,
.mbrsc-footer__nav-list a:focus-visible {
    color: var(--footer-link-hover);
    padding-inline-start: 4px;
}

/* ── BOTTOM SECTION ───────────────────────────────────────────────────────── */
.mbrsc-footer__bottom {
    background-color: var(--footer-bg-bottom);
}

.mbrsc-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--footer-border);
}

/* ── Social icons ─────────────────────────────────────────────────────────── */
.mbrsc-footer__social {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 0.625rem;
    flex-wrap: wrap;
}

.mbrsc-footer__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--footer-border);
    color: var(--footer-text);
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}

.mbrsc-footer__social-link:hover,
.mbrsc-footer__social-link:focus-visible {
    background: var(--footer-accent);
    border-color: var(--footer-accent);
    color: #ffffff;
    transform: translateY(-2px);
}

/* ── Partner logos ────────────────────────────────────────────────────────── */
.mbrsc-footer__partners {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.mbrsc-footer__partner-link {
    display: inline-flex;
    align-items: center;
    opacity: 0.6;
    transition: opacity 0.2s;
}

.mbrsc-footer__partner-link:hover,
.mbrsc-footer__partner-link:focus-visible {
    opacity: 1;
}

.mbrsc-footer__partner-link img {
    height: 32px;
    width: auto;
    filter: brightness(0) invert(1);
}

/* ── Copyright bar ────────────────────────────────────────────────────────── */
.mbrsc-footer__copyright-bar {
    padding: 1.125rem 0;
}

.mbrsc-footer__copyright-bar .mbrsc-footer__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.mbrsc-footer__copyright {
    color: var(--footer-text);
    font-size: 0.8125rem;
    margin: 0;
}

.mbrsc-footer__legal {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.mbrsc-footer__legal a {
    color: var(--footer-text);
    font-size: 0.8125rem;
    text-decoration: none;
    transition: color 0.2s;
}

.mbrsc-footer__legal a:hover,
.mbrsc-footer__legal a:focus-visible {
    color: var(--footer-link-hover);
}

/* ── Visually hidden utility ──────────────────────────────────────────────── */
.mbrsc-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ── RTL support ──────────────────────────────────────────────────────────── */
[dir="rtl"] .mbrsc-footer__nav-list a:hover,
[dir="rtl"] .mbrsc-footer__nav-list a:focus-visible {
    padding-inline-start: 4px;
    padding-inline-end: 0;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .mbrsc-footer__top .mbrsc-footer__container {
        flex-direction: column;
    }
    .mbrsc-footer__brand {
        flex: none;
        width: 100%;
    }
    .mbrsc-footer__nav {
        width: 100%;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    }
}

@media (max-width: 640px) {
    .mbrsc-footer__top {
        padding: 2.5rem 0 2rem;
    }
    .mbrsc-footer__container {
        padding-inline: 1.25rem;
    }
    .mbrsc-footer__nav {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem 1rem;
    }
    .mbrsc-footer__bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.25rem;
    }
    .mbrsc-footer__copyright-bar .mbrsc-footer__container {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    .mbrsc-footer__legal {
        gap: 0.875rem;
    }
}

