/* BSB MECCA — utility styles from small plugins (consolidated Session 5) */

/* --- from mr-data-notice.php --- */
.mrdn-notice {
            max-width: 1180px; margin: 40px auto 20px; padding: 18px 24px 22px;
            border-top: 1px dotted #888;
            font-family: "DM Sans",-apple-system,sans-serif;
            font-size: 0.75rem; line-height: 1.6; color: #888;
            letter-spacing: 0.01em; text-align: center;
        }
        .mrdn-notice a { color: #C8102E; text-decoration: none; border-bottom: 1px dotted #C8102E; }
        .mrdn-notice a:hover { color: #B84008; border-bottom-style: solid; }
        @media (max-width: 640px) {
            .mrdn-notice { padding: 14px 16px 18px; font-size: 0.6875rem; }
        }

        /* ── Site-wide H1 centering for all BSB MECCA page templates ── */
        .mr-riders-header-inner { display: block !important; text-align: center; }
        .mr-riders-header-text { text-align: center; margin: 0 auto; }
        .mr-riders-search-wrap { margin-top: 18px; justify-content: center; }
        .ci-hero, .rwa-hero, .rw-hero, .sl-hero, .hpl-hero, .rdr-hero, .mrh-hero-inner { text-align: center; }
        .tc-hero-centered { text-align: center; }
        /* Centred H1 fallback for any page that uses a plain .entry-content */
        .entry-content > h1:first-of-type,
        .site-main > article > h1:first-of-type,
        main > h1:first-of-type {
            text-align: center;
        }

        /* ════════════════════════════════════════════════════════════
           SITE-WIDE HERO HEADER STANDARD
           Every BSB MECCA page template uses one of these container classes
           for its top hero / page header. We centre alignment + spacing
           uniformly here so all templates look consistent — but each
           template's H1 keeps its own font-family / size / color (set in
           the template's own CSS) so each section retains its character.
           ════════════════════════════════════════════════════════════ */

        /* — Hero / header container: centre text alignment + breadcrumb */
        .mm-header,
        .mm-header-inner,
        .mr-archive-header,
        .mr-cal-header,
        .mr-cal-header-inner,
        .mr-champ-header,
        .mr-class-stat-header,
        .mr-cmp-header,
        .mr-cmp-header-inner,
        .mr-ev-hero,
        .mr-ev-hero-inner,
        .mr-ev-champ-header,
        .mr-grades-hero,
        .mr-hero,
        .mr-hero-inner,
        .mr-hero-content,
        .mr-hof-hero,
        .mr-mega-champ-header,
        .mr-otd-hero,
        .mr-pro-hero,
        .mr-race-header,
        .mr-rec-hero,
        .mr-rider-header,
        .mr-riders-header,
        .mr-riders-header-inner,
        .mr-team-hero,
        .mra-hero,
        .mra-archive-hero,
        .mrb-hero,
        .mrc-header,
        .mrc-header-inner,
        .mrchamps-hero,
        .mrh-hero,
        .mrh-hero-inner,
        .mrhub-hero,
        .mrmc-hero,
        .mrpl-hero,
        .mrr-hero,
        .mrsc-hero,
        .rr-hero,
        .rwa-hero,
        .rwd-hero,
        .sl-hero,
        .tc-hero,
        .ci-hero,
        .cmpl-hero,
        .hpl-hero,
        .rdr-hero,
        .mrsc-hero {
            text-align: center;
        }

        /* — Hero H1: centre block (preserve font-family/size from template) */
        .mm-title,
        .mr-hero-title,
        .mr-cmp-title,
        .mr-otd-title,
        .mr-riders-title,
        .mr-rec-title,
        .mrc-title,
        .mrh-hero-title,
        .mrhub-title,
        .mrr-hero-title,
        .sl-hero-title,
        .tc-title,
        .mr-hof-title,
        .mr-pro-title,
        .mra-hero h1,
        .rr-hero h1,
        .rwd-hero h1 {
            display: block;
            margin-left: auto;
            margin-right: auto;
            text-align: center;
            float: none;
            width: 100%;
            max-width: 100%;
        }

        /* — Hero breadcrumb: flex centred */
        .mm-breadcrumb,
        .mr-breadcrumb,
        .mrr-hero-breadcrumb,
        .mrh-hero-kicker,
        .mr-hero-eyebrow {
            display: flex;
            justify-content: center;
            text-align: center;
        }

        /* — Hero subtitle / tagline / dek / byline:
             16px / line-height 1.6 / centered / max-width 640 / dim color.
             Use `.mecca-page-subtitle` for new templates; existing
             per-template classes retro-fitted for site-wide consistency. */
        .mecca-page-subtitle,
        .mm-subtitle,
        .mr-hero-subtitle,
        .mrr-hero-sub,
        .mr-cmp-sub,
        .mr-otd-sub,
        .mr-riders-sub,
        .mrc-tagline,
        .mrh-hero-dek,
        .mrh-hero-lead,
        .sl-hero-dek,
        .rwd-hero-byline,
        .tc-hero-byline {
            font-family: 'DM Sans', -apple-system, sans-serif;
            font-size: 16px;
            line-height: 1.6;
            color: #888888;
            margin: 0 auto;
            max-width: 640px;
            text-align: center;
            display: block;
        }

/* --- from mr-youtube.php --- */
.mryt-card { background: #14141a; border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 22px; margin-bottom: 18px; }
.mryt-hdr { font-family: 'Barlow Condensed', system-ui, sans-serif; font-size: 14px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.55); margin: 0 0 16px; }
.mryt-bar { display: inline-block; width: 4px; height: 14px; background: #e31937; margin-right: 8px; vertical-align: middle; border-radius: 2px; }
.mryt-embed { position: relative; width: 100%; aspect-ratio: 16/9; background: #000; border-radius: 8px; overflow: hidden; }
.mryt-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mryt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.mryt-item { color: #fff; text-decoration: none; display: block; }
.mryt-thumb { position: relative; width: 100%; aspect-ratio: 16/9; background: #000 center/cover no-repeat; border-radius: 8px; overflow: hidden; }
.mryt-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 48px; height: 48px; background: rgba(0,0,0,0.7); color: #fff; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 18px; transition: background .15s; }
.mryt-item:hover .mryt-play { background: #e31937; }
.mryt-title { font-size: 13px; font-weight: 600; line-height: 1.35; margin-top: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mryt-meta { font-size: 11px; color: rgba(255,255,255,0.45); margin-top: 4px; }
.mryt-foot { margin-top: 12px; font-size: 12px; color: rgba(255,255,255,0.5); }
.mryt-foot a { color: rgba(255,255,255,0.7); text-decoration: none; }
.mryt-foot a:hover { color: #fff; }

/* --- from mr-career-chart.php --- */
.mr-cc-wrap { background: #14141a; border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 18px; margin-bottom: 18px; } .mr-cc-svg { width: 100%; height: auto; display: block; } .mr-cc-wrap h2 { font-family: "Barlow Condensed", system-ui, sans-serif; font-size: 14px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.55); margin: 0 0 12px; }

/* --- from mr-feedback.php --- */
.mrf-link{position:fixed;right:14px;bottom:14px;z-index:9998;background:#111;color:#fff;font:600 12px/1 system-ui,sans-serif;padding:9px 13px;border-radius:999px;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;border:0}
.mrf-link:hover{background:#222;color:#fff}
.mrf-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9999;align-items:center;justify-content:center;padding:16px}
.mrf-overlay.open{display:flex}
.mrf-modal{background:#fff;color:#111;border-radius:10px;max-width:480px;width:100%;padding:22px;font:14px/1.45 system-ui,sans-serif;box-shadow:0 12px 40px rgba(0,0,0,.3)}
.mrf-modal h3{margin:0 0 6px;font-size:18px}
.mrf-modal p{margin:0 0 14px;color:#555}
.mrf-modal label{display:block;font-size:12px;font-weight:600;margin:10px 0 4px;color:#333}
.mrf-modal textarea,.mrf-modal input[type=email]{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #ccc;border-radius:6px;font:14px system-ui,sans-serif}
.mrf-modal textarea{min-height:110px;resize:vertical}
.mrf-row{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.mrf-btn{padding:9px 16px;border-radius:6px;border:0;font:600 13px system-ui,sans-serif;cursor:pointer}
.mrf-cancel{background:#eee;color:#333}
.mrf-submit{background:#111;color:#fff}
.mrf-submit:disabled{opacity:.6;cursor:wait}
.mrf-msg{margin-top:10px;font-size:13px}
.mrf-msg.ok{color:#16a34a}
.mrf-msg.err{color:#dc2626}
.mrf-hp{position:absolute;left:-9999px}
