/*
  Michael Ball Fan Club – site stylesheet
  Ported from the WordPress theme "mbfc-theme" v1.6.9.5
*/

/* 1. CSS Reset & Variables */
:root {
  --mbfc-primary: #2563eb;
  --mbfc-primary-dark: #1e4fbc;
  --mbfc-primary-light: rgba(37, 99, 235, 0.08);
  --mbfc-primary-rgb: 37, 99, 235;
  --mbfc-sky-start: #99ccff;
  --mbfc-sky-end: #ffffff;
  --mbfc-header-gradient: linear-gradient(to bottom, var(--mbfc-sky-start) 0%, var(--mbfc-sky-end) 100%);
  --mbfc-bg: #f4f6f9;
  --mbfc-card-bg: #ffffff;
  --mbfc-border: #dce4ec;
  --mbfc-text-main: #1e293b;
  --mbfc-text-muted: #475569;
  --mbfc-text-light: #64748b;
  --mbfc-footer-bg: #1e293b;
  --mbfc-footer-text: #94a3b8;
  --mbfc-rs: 1;
  --mbfc-radius: calc(12px * var(--mbfc-rs));
  --mbfc-container-width: 1040px;
  --mbfc-font: 'Manrope', -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
  --mbfc-font-heading: 'Sora', 'Manrope', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  padding: 0;
  background-color: var(--mbfc-bg);
  color: var(--mbfc-text-main);
  font-family: var(--mbfc-font);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: var(--mbfc-font-heading);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0f172a;
}
h1 { font-size: 2.25rem; line-height: 1.25; }
h2 { font-size: 1.75rem; line-height: 1.3; }
h3 { font-size: 1.35rem; line-height: 1.35; }

.mbfc-site-title { font-family: var(--mbfc-font-heading); }

.mbfc-post-card .entry-title a,
.mbfc-post-card h2 a,
.entry-title,
.widget-title,
.mbfc-hero-title,
.mbfc-page-title { font-family: var(--mbfc-font-heading); }

img { max-width: 100%; height: auto; border-radius: calc(8px * var(--mbfc-rs)); }

a { color: var(--mbfc-primary); text-decoration: none; transition: color 0.15s ease, opacity 0.15s ease; }
a:hover { text-decoration: underline; color: var(--mbfc-primary-dark); }

/* 2. Main Layout Container */
.mbfc-wrapper {
  width: 100%;
  max-width: var(--mbfc-container-width);
  margin: 30px auto;
  padding: 0 20px;
  transition: max-width 0.3s ease;
}

.mbfc-sheet {
  background: var(--mbfc-card-bg);
  border: 1px solid var(--mbfc-border);
  border-radius: var(--mbfc-radius);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

/* 3. Header & Sky Hero Gradient */
.mbfc-header-hero {
  background: linear-gradient(to bottom, var(--mbfc-sky-start) 0%, var(--mbfc-sky-end) 100%);
  padding: 32px 30px 24px 30px;
  border-bottom: 1px solid var(--mbfc-border);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.mbfc-header-left { flex: 1 1 65%; }
.mbfc-header-right { flex: 0 0 200px; text-align: right; }
.mbfc-header-logo { max-width: 250px; margin-bottom: 12px; display: block; }
.mbfc-header-mascot { max-width: 100%; display: inline-block; border-radius: 0; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06); }

.mbfc-site-title {
  margin: 0 0 4px 0;
  font-size: 32px;
  font-weight: 800;
  color: var(--mbfc-text-main);
  letter-spacing: -0.5px;
  line-height: 1.2;
}
.mbfc-site-tagline { margin: 0 0 10px 0; font-size: 14px; font-weight: 500; color: var(--mbfc-text-muted); }

.mbfc-meta-pills { margin: 10px 0 0 0; padding: 0; list-style: none; font-size: 14px; color: var(--mbfc-text-muted); }
.mbfc-meta-pills li { margin-bottom: 4px; display: flex; align-items: center; gap: 6px; }
.mbfc-date-badge { color: #000000; font-weight: 600; font-size: 13px; }
.mbfc-organisers-tag { font-size: 13px; color: var(--mbfc-text-light); font-style: italic; }

/* 4. Navigation Bar */
.mbfc-nav-bar {
  background: #ffffff;
  border-bottom: 1px solid var(--mbfc-border);
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  min-height: 52px;
  gap: 12px;
  white-space: nowrap;
  flex-wrap: nowrap;
  overflow: visible;
  z-index: 40;
}

.mbfc-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 16px;
  flex-wrap: nowrap;
  overflow: visible;
  position: relative;
}

.mbfc-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 4px;
  flex-wrap: nowrap;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
  overflow: visible;
}
.mbfc-menu > li { position: relative; margin: 0; padding: 0; flex-shrink: 0; white-space: nowrap; }

.mbfc-menu a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 14px 14px;
  font-weight: 600;
  font-size: 14px;
  color: var(--mbfc-text-main);
  border-bottom: 3px solid transparent;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}
.mbfc-menu a:hover,
.mbfc-menu .current-menu-item > a,
.mbfc-menu .current-menu-ancestor > a {
  color: var(--mbfc-primary);
  border-bottom-color: var(--mbfc-primary);
  text-decoration: none;
}

.mbfc-menu .menu-item-has-children > a::after {
  content: ' ▾';
  font-size: 11px;
  margin-left: 4px;
  display: inline-block;
  transition: transform 0.2s ease;
}
.mbfc-menu li:hover > a::after,
.mbfc-menu li.is-open > a::after { transform: rotate(180deg); }

.mbfc-menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  min-width: 230px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--mbfc-border);
  border-radius: calc(8px * var(--mbfc-rs));
  list-style: none;
  padding: 6px 0;
  margin: 0;
  z-index: 1000;
  pointer-events: auto;
}
.mbfc-menu .sub-menu::before { content: ''; position: absolute; top: -10px; left: 0; right: 0; height: 10px; }

.mbfc-menu li:hover > .sub-menu,
.mbfc-menu li:focus-within > .sub-menu,
.mbfc-menu li.is-open > .sub-menu {
  display: block;
  animation: mbfcDropdownFade 0.18s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes mbfcDropdownFade {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.mbfc-menu .sub-menu li { width: 100%; }
.mbfc-menu .sub-menu a {
  padding: 9px 16px;
  border-bottom: none;
  width: 100%;
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--mbfc-text-main);
}
.mbfc-menu .sub-menu a:hover { background: var(--mbfc-primary-light); color: var(--mbfc-primary); }

.mbfc-nav-aux { margin-left: auto; display: flex; align-items: center; flex-shrink: 0; white-space: nowrap; }

/* 4b. Secondary Navigation Bar */
.mbfc-secondary-nav-bar {
  background: #f8fafc;
  border-bottom: 1px solid var(--mbfc-border);
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  min-height: 44px;
  gap: 12px;
  white-space: nowrap;
  flex-wrap: nowrap;
  overflow: visible;
  z-index: 35;
}
.secondary-menu-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 16px;
  flex-wrap: nowrap;
  overflow: visible;
  position: relative;
}
.mbfc-secondary-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 4px;
  flex-wrap: nowrap;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
  overflow: visible;
}
.mbfc-secondary-menu > li { position: relative; margin: 0; padding: 0; flex-shrink: 0; white-space: nowrap; }

.mbfc-secondary-menu a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  font-weight: 600;
  font-size: 13px;
  color: var(--mbfc-text-main);
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}
.mbfc-secondary-menu a:hover,
.mbfc-secondary-menu .current-menu-item > a,
.mbfc-secondary-menu .current-menu-ancestor > a {
  color: var(--mbfc-primary);
  border-bottom-color: var(--mbfc-primary);
  text-decoration: none;
}
.mbfc-secondary-menu .menu-item-has-children > a::after {
  content: ' ▾';
  font-size: 10px;
  margin-left: 4px;
  display: inline-block;
  transition: transform 0.2s ease;
}
.mbfc-secondary-menu li:hover > a::after,
.mbfc-secondary-menu li.is-open > a::after { transform: rotate(180deg); }

.mbfc-secondary-menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  min-width: 210px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--mbfc-border);
  border-radius: calc(8px * var(--mbfc-rs));
  list-style: none;
  padding: 6px 0;
  margin: 0;
  z-index: 1000;
  pointer-events: auto;
}
.mbfc-secondary-menu .sub-menu::before { content: ''; position: absolute; top: -10px; left: 0; right: 0; height: 10px; }

.mbfc-secondary-menu li:hover > .sub-menu,
.mbfc-secondary-menu li:focus-within > .sub-menu,
.mbfc-secondary-menu li.is-open > .sub-menu {
  display: block;
  animation: mbfcDropdownFade 0.18s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.mbfc-secondary-menu .sub-menu li { width: 100%; }
.mbfc-secondary-menu .sub-menu a {
  padding: 8px 14px;
  border-bottom: none;
  width: 100%;
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--mbfc-text-main);
}
.mbfc-secondary-menu .sub-menu a:hover { background: var(--mbfc-primary-light); color: var(--mbfc-primary); }

.mbfc-mascot-pill,
.mbfc-charlie-pill {
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 0;
  background-color: var(--mbfc-primary-light);
  color: var(--mbfc-primary) !important;
  border: 1px solid rgba(37, 99, 235, 0.2);
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.mbfc-mascot-pill:hover,
.mbfc-charlie-pill:hover { background-color: #dbeafe; color: #1d4ed8 !important; transform: translateY(-1px); }

.mbfc-nav-toggle {
  display: none;
  background: transparent;
  border: 1px solid var(--mbfc-border);
  border-radius: calc(6px * var(--mbfc-rs));
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  color: var(--mbfc-text-main);
}

/* 5. Content Body & Post Typography */
.mbfc-content-area { padding: 32px 30px; }
.mbfc-salutation { font-size: 22px; font-weight: 700; color: var(--mbfc-text-main); margin: 0 0 16px 0; }
.mbfc-entry-content { font-size: 16px; color: var(--mbfc-text-main); line-height: 1.7; }
.mbfc-entry-content p { margin: 0 0 18px 0; }

.mbfc-cta-button {
  display: inline-block;
  background: var(--mbfc-primary-light);
  color: var(--mbfc-primary);
  font-weight: 700;
  font-size: 15px;
  padding: 10px 18px;
  border-radius: calc(8px * var(--mbfc-rs));
  border: 1px solid #bfdbfe;
  box-shadow: 0 2px 4px rgba(37, 99, 235, 0.05);
  transition: all 0.2s ease;
}
.mbfc-cta-button:hover {
  background: #dbeafe;
  color: var(--mbfc-primary-dark);
  text-decoration: none;
  transform: translateY(-1px);
}

/* Post Cards, News Feed */
.mbfc-posts-list { display: flex; flex-direction: column; gap: 20px; }
.mbfc-post-card {
  background: #ffffff;
  border: 1px solid var(--mbfc-border);
  border-radius: calc(12px * var(--mbfc-rs));
  padding: 22px 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.mbfc-post-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06); border-color: #cbd5e1; }
.mbfc-post-card .entry-title a,
.mbfc-post-card h2 a { color: #0f172a; text-decoration: none; transition: color 0.15s ease; }
.mbfc-post-card .entry-title a:hover,
.mbfc-post-card h2 a:hover { color: var(--mbfc-primary); text-decoration: none; }

/* Never show author names */
.byline, .author, .entry-author, .post-author, .mbfc-post-author, .vcard, .author.vcard,
.author-name, .entry-meta .author, .post-meta .author, .post-meta .byline { display: none !important; }

/* Post featured images */
.mbfc-post-card-thumbnail,
.mbfc-post-card .post-thumbnail {
  margin: 14px 0 18px 0;
  border-radius: calc(10px * var(--mbfc-rs));
  overflow: hidden;
  border: 1px solid var(--mbfc-border);
  background-color: #f8fafc;
  text-align: center;
}
.mbfc-post-card-thumbnail img,
.mbfc-card-featured-img,
.mbfc-post-card .post-thumbnail img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  object-fit: contain;
  margin: 0 auto;
}

.single .post-thumbnail,
.single .mbfc-single-post-thumbnail {
  max-width: 50%;
  width: 50%;
  margin: 20px auto 28px auto;
  border-radius: calc(12px * var(--mbfc-rs));
  overflow: hidden;
  border: 1px solid var(--mbfc-border);
  background-color: #f8fafc;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  text-align: center;
}
.single .post-thumbnail img,
.single .mbfc-featured-image { width: 100%; height: auto; max-width: 100%; display: block; object-fit: contain; margin: 0 auto; }

@media (max-width: 640px) {
  .single .post-thumbnail,
  .single .mbfc-single-post-thumbnail { max-width: 70%; width: 70%; }
}

.mbfc-multiple-featured-container { max-width: 50%; width: 50%; margin: 20px auto 28px auto; }
@media (max-width: 640px) {
  .mbfc-multiple-featured-container { max-width: 70%; width: 70%; }
}

.mbfc-featured-slider {
  border-radius: calc(12px * var(--mbfc-rs));
  overflow: hidden;
  border: 1px solid var(--mbfc-border);
  background-color: #f8fafc;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
  text-align: center;
}
.mbfc-featured-slide { transition: opacity 0.25s ease-in-out; }
.mbfc-featured-slide.mbfc-slide-active { display: block; }
.mbfc-featured-slide.mbfc-slide-hidden { display: none; }
.mbfc-slider-prev, .mbfc-slider-next { transition: background 0.15s ease, transform 0.1s ease; user-select: none; }
.mbfc-slider-prev:hover, .mbfc-slider-next:hover { background: rgba(15, 23, 42, 0.85) !important; transform: translateY(-50%) scale(1.05) !important; }
.mbfc-featured-thumbnails-nav { display: flex; gap: 6px; justify-content: center; margin-top: 8px; flex-wrap: wrap; }
.mbfc-featured-thumbnails-nav button:hover { opacity: 1 !important; }

.mbfc-multi-card-thumbnail {
  position: relative;
  margin: 14px 0 18px 0;
  max-width: 320px;
  border-radius: calc(10px * var(--mbfc-rs));
  overflow: hidden;
  border: 1px solid var(--mbfc-border);
  background: #f8fafc;
  text-align: center;
}
.mbfc-card-slide { transition: opacity 0.2s ease; }
.mbfc-card-dots { position: absolute; bottom: 6px; left: 0; right: 0; display: flex; justify-content: center; gap: 4px; z-index: 2; }
.mbfc-card-dot { width: 6px; height: 6px; border-radius: calc(50% * var(--mbfc-rs)); background: rgba(255, 255, 255, 0.7); cursor: pointer; transition: background 0.2s ease; }
.mbfc-card-dot:hover { background: #ffffff !important; }

/* Pagination */
.pagination, .posts-pagination, .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 30px;
  list-style: none;
  padding: 0;
}
.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 12px;
  border-radius: calc(8px * var(--mbfc-rs));
  border: 1px solid var(--mbfc-border);
  background: #ffffff;
  color: var(--mbfc-text-main);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.15s ease;
}
.page-numbers:hover { background: var(--mbfc-primary-light); border-color: var(--mbfc-primary); color: var(--mbfc-primary); text-decoration: none; }
.page-numbers.current { background: var(--mbfc-primary); border-color: var(--mbfc-primary); color: #ffffff !important; }

/* 6. Hero Banners */
.mbfc-banners-container { margin: 28px 0; display: flex; flex-direction: column; gap: 16px; }
.mbfc-banner-link {
  display: block;
  overflow: hidden;
  border-radius: calc(8px * var(--mbfc-rs));
  border: 1px solid var(--mbfc-border);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mbfc-banner-link:hover { transform: scale(1.01); box-shadow: 0 6px 16px rgba(0,0,0,0.08); }
.mbfc-banner-img { display: block; width: 100%; height: auto; border-radius: calc(8px * var(--mbfc-rs)); }
.mbfc-banners-container.is-row { flex-direction: row; align-items: center; justify-content: center; flex-wrap: nowrap; gap: 14px; }
.mbfc-banners-container.is-row .mbfc-banner-link { display: block; align-self: center; width: auto; }
@media (max-width: 640px) { .mbfc-banners-container.is-row { flex-direction: column; max-width: 100% !important; } .mbfc-banners-container.is-row .mbfc-banner-link { flex: none !important; width: 100%; } }

/* 7. Signoff Box */
.mbfc-signoff-box { padding: 16px 0 24px 0; border-top: 1px solid #f1f5f9; margin-top: 24px; }
.mbfc-signoff-quote { font-size: 16px; color: var(--mbfc-text-muted); margin: 0 0 4px 0; }
.mbfc-signoff-names { font-size: 17px; font-weight: 700; color: var(--mbfc-text-main); margin: 0; }

/* 8. Members */
.mbfc-members-card {
  margin: 24px 0;
  background-color: var(--mbfc-primary-light);
  border: 2px dashed #93c5fd;
  border-radius: calc(10px * var(--mbfc-rs));
  padding: 18px 24px;
  text-align: center;
  color: #1e3a8a;
}
.mbfc-password-badge {
  display: inline-block;
  background: #ffffff;
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  font-weight: 800;
  letter-spacing: 1.5px;
  padding: 4px 14px;
  border-radius: calc(6px * var(--mbfc-rs));
  margin-left: 6px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.mbfc-page-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 24px; }
.mbfc-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: calc(9999px * var(--mbfc-rs));
  background-color: #dbeafe;
  color: #1e40af;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
}
.mbfc-page-title { font-size: 28px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.25; }
.mbfc-page-subtitle { font-size: 14px; color: #64748b; margin: 0; line-height: 1.5; }

.mbfc-members-gate-box {
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: calc(16px * var(--mbfc-rs));
  padding: 32px 24px;
  text-align: center;
  max-width: 512px;
  margin: 24px auto;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.mbfc-gate-icon-circle {
  width: 48px;
  height: 48px;
  background-color: #dbeafe;
  color: #2563eb;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px auto;
  font-size: 22px;
}
.mbfc-gate-title { font-size: 18px; font-weight: 700; color: #1e293b; margin: 0 0 8px 0; }
.mbfc-gate-desc { font-size: 14px; color: #475569; margin: 0 0 20px 0; line-height: 1.5; }
.mbfc-gate-form-row { display: flex; gap: 8px; flex-direction: column; }
@media (min-width: 540px) { .mbfc-gate-form-row { flex-direction: row; } }
.mbfc-gate-input {
  flex: 1;
  padding: 10px 14px;
  border-radius: calc(8px * var(--mbfc-rs));
  border: 1px solid #cbd5e1;
  font-size: 14px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-align: center;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.mbfc-gate-input:focus { border-color: var(--mbfc-primary, #2563eb); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15); }
.mbfc-gate-btn {
  background-color: var(--mbfc-primary, #2563eb);
  color: #ffffff;
  padding: 10px 20px;
  border-radius: calc(8px * var(--mbfc-rs));
  font-weight: 700;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: opacity 0.15s, transform 0.1s;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.mbfc-gate-btn:hover { opacity: 0.92; transform: translateY(-1px); }
.mbfc-gate-error { font-size: 12px; color: #dc2626; font-weight: 600; margin-top: 10px; }
.mbfc-gate-hint { margin-top: 16px; padding-top: 16px; border-top: 1px solid #e2e8f0; font-size: 12px; color: #64748b; }

.mbfc-members-newsletter-box {
  background-color: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: calc(14px * var(--mbfc-rs));
  padding: 20px 24px;
  text-align: center;
  max-width: 512px;
  margin: 18px auto 0 auto;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.mbfc-newsletter-box-header {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 6px;
  color: #1e3a8a;
  font-weight: 700;
  font-size: 15px;
}
.mbfc-newsletter-box-text { font-size: 13px; color: #1e40af; margin: 0 0 14px 0; line-height: 1.5; }
.mbfc-newsletter-box-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: var(--mbfc-primary, #2563eb);
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 700;
  padding: 9px 20px;
  border-radius: calc(8px * var(--mbfc-rs));
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.2);
  transition: opacity 0.15s ease, transform 0.1s ease;
}
.mbfc-newsletter-box-btn:hover { opacity: 0.92; transform: translateY(-1px); color: #ffffff !important; }

.mbfc-unlocked-banner {
  background-color: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: calc(12px * var(--mbfc-rs));
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 24px;
  color: #065f46;
  font-size: 14px;
  font-weight: 600;
}
.mbfc-lock-again-btn { background: transparent; border: 0; color: #047857; text-decoration: underline; font-size: 12px; cursor: pointer; font-weight: 600; padding: 0; }
.mbfc-members-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 28px; }
@media (min-width: 640px) { .mbfc-members-grid { grid-template-columns: repeat(2, 1fr); } }
.mbfc-member-card { border: 1px solid #e2e8f0; border-radius: calc(12px * var(--mbfc-rs)); padding: 18px; background-color: #ffffff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); }
.mbfc-member-card-title { font-weight: 700; color: #0f172a; font-size: 16px; margin: 0 0 4px 0; }
.mbfc-member-card-desc { font-size: 12px; color: #64748b; margin: 0 0 12px 0; line-height: 1.4; }
.mbfc-presale-code-box {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 800;
  padding: 8px 12px;
  border-radius: calc(6px * var(--mbfc-rs));
  border: 1px solid rgba(37, 99, 235, 0.25);
  background-color: var(--mbfc-primary-light, #eff6ff);
  color: var(--mbfc-primary, #2563eb);
  text-align: center;
  letter-spacing: 1.5px;
  font-size: 14px;
  cursor: pointer;
  user-select: all;
  transition: background-color 0.15s;
}
.mbfc-presale-code-box:hover { filter: brightness(0.97); }
.mbfc-member-action-btn {
  width: 100%;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid rgba(37, 99, 235, 0.25);
  background-color: var(--mbfc-primary-light, #eff6ff);
  color: var(--mbfc-primary, #2563eb);
  padding: 8px 12px;
  border-radius: calc(6px * var(--mbfc-rs));
  cursor: pointer;
  text-align: center;
  text-decoration: none !important;
  display: block;
  transition: opacity 0.15s;
}
.mbfc-member-action-btn:hover { opacity: 0.9; }
.mbfc-member-badge-green { display: inline-block; font-size: 12px; font-weight: 700; color: #059669; background-color: #ecfdf5; padding: 4px 10px; border-radius: calc(6px * var(--mbfc-rs)); }
.mbfc-member-btn-secondary {
  width: 100%;
  font-size: 12px;
  font-weight: 700;
  color: #334155;
  border: 1px solid #cbd5e1;
  background-color: #f1f5f9;
  padding: 8px 12px;
  border-radius: calc(6px * var(--mbfc-rs));
  cursor: pointer;
  text-align: center;
  transition: background-color 0.15s;
}
.mbfc-member-btn-secondary:hover { background-color: #e2e8f0; }

/* 9. Donations / PayPal */
.mbfc-donate-section {
  margin: 28px auto 16px auto;
  background-color: #f8fafc;
  border: 1px solid var(--mbfc-border);
  border-radius: calc(16px * var(--mbfc-rs));
  padding: 24px 20px;
  text-align: center;
  max-width: 480px;
}
.mbfc-donate-heart { font-size: 22px; margin-bottom: 6px; }
.mbfc-donate-title { font-size: 17px; font-weight: 700; color: var(--mbfc-text-main); margin: 0 0 6px 0; }
.mbfc-donate-text { font-size: 13px; color: var(--mbfc-text-muted); margin: 0 auto 16px auto; line-height: 1.5; max-width: 400px; }
.mbfc-paypal-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #0070ba;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: calc(12px * var(--mbfc-rs));
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(0, 112, 186, 0.25);
  transition: background-color 0.2s ease, transform 0.15s ease;
  width: 100%;
  max-width: 320px;
}
.mbfc-paypal-btn:hover { background-color: #005ea6; color: #ffffff !important; transform: translateY(-1px); }
.mbfc-paypal-icon { width: 20px; height: 20px; vertical-align: middle; object-fit: contain; }
.mbfc-donate-sub { font-size: 11px; color: var(--mbfc-text-light); margin: 10px 0 0 0; }

.mbfc-donate-intro { color: #334155; font-size: 15px; line-height: 1.6; margin-bottom: 24px; }
.mbfc-donate-intro p { margin: 0 0 14px 0; }
.mbfc-donate-card-box {
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: calc(16px * var(--mbfc-rs));
  padding: 28px 24px;
  text-align: center;
  max-width: 440px;
  margin: 28px auto;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.mbfc-donate-heart-circle {
  width: 48px;
  height: 48px;
  background-color: #dbeafe;
  color: #f43f5e;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px auto;
  font-size: 24px;
}
.mbfc-donate-card-title { font-size: 18px; font-weight: 700; color: #1e293b; margin: 0 0 4px 0; }
.mbfc-donate-card-desc { font-size: 13px; color: #64748b; margin: 0 0 20px 0; }
.mbfc-paypal-large-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  background-color: #0070ba;
  color: #ffffff !important;
  padding: 12px 24px;
  border-radius: calc(12px * var(--mbfc-rs));
  font-weight: 700;
  font-size: 16px;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(0, 112, 186, 0.25);
  transition: background-color 0.15s ease, transform 0.1s ease;
}
.mbfc-paypal-large-btn:hover { background-color: #005ea6; transform: translateY(-1px); }
.mbfc-paypal-button-id { font-size: 12px; color: #94a3b8; margin: 12px 0 0 0; }
.mbfc-signoff-divider { padding-top: 24px; border-top: 1px solid #f1f5f9; margin-top: 28px; }
.mbfc-signoff-text { color: #475569; font-size: 14px; margin: 0 0 4px 0; }
.mbfc-signoff-names-bold { color: #0f172a; font-weight: 700; font-size: 16px; margin: 0; }

/* 9b-2. MBFC Info page */
.mbfc-info-container { max-width: 1040px; margin: 0 auto; padding: 24px 16px 48px 16px; }
.mbfc-info-breadcrumb {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  color: #64748b;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 16px;
  margin-bottom: 24px;
}
.mbfc-info-breadcrumb a { color: #64748b; text-decoration: none; font-weight: 600; }
.mbfc-info-breadcrumb a:hover { color: var(--mbfc-primary); text-decoration: underline; }
.mbfc-info-hero {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 50%, #eff6ff 100%);
  border: 1px solid #e2e8f0;
  border-radius: calc(20px * var(--mbfc-rs));
  padding: 36px 32px;
  margin-bottom: 32px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.mbfc-info-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #ffffff;
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: calc(9999px * var(--mbfc-rs));
  margin-bottom: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
.mbfc-info-hero-title { font-size: 36px; font-weight: 800; color: #0f172a; line-height: 1.15; margin: 0 0 14px 0; }
.mbfc-info-hero-sub { font-size: 17px; color: #475569; line-height: 1.6; margin: 0 0 28px 0; max-width: 780px; }
.mbfc-info-metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.mbfc-info-metric-card { background: rgba(255, 255, 255, 0.9); border: 1px solid #e2e8f0; border-radius: calc(12px * var(--mbfc-rs)); padding: 14px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02); }
.mbfc-info-metric-label { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #64748b; margin-bottom: 4px; }
.mbfc-info-metric-val { display: block; font-size: 18px; font-weight: 800; color: #0f172a; }
.mbfc-info-metric-sub { display: block; font-size: 11px; font-weight: 600; color: var(--mbfc-primary); margin-top: 2px; }
.mbfc-info-layout-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 32px; align-items: start; margin-bottom: 36px; }
@media (max-width: 860px) { .mbfc-info-layout-grid { grid-template-columns: 1fr; } }
.mbfc-info-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: calc(16px * var(--mbfc-rs)); padding: 28px 24px; margin-bottom: 24px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03); }
.mbfc-info-card-header { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #f1f5f9; margin-bottom: 16px; }
.mbfc-info-step-badge {
  width: 32px;
  height: 32px;
  border-radius: calc(8px * var(--mbfc-rs));
  background: #eff6ff;
  color: var(--mbfc-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  flex-shrink: 0;
}
.mbfc-info-card-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0; }
.mbfc-info-card-body { color: #334155; font-size: 15px; line-height: 1.7; }
.mbfc-info-card-body p { margin: 0 0 14px 0; }
.mbfc-info-card-body p:last-child { margin-bottom: 0; }
.mbfc-info-highlight-box { padding: 16px 20px; border-radius: calc(12px * var(--mbfc-rs)); background: #eff6ff; border: 1px solid #dbeafe; color: #1e3a8a; font-weight: 500; margin: 16px 0; }
.mbfc-info-event-card { border: 1px solid #fde68a; background: #fffbeb; border-radius: calc(12px * var(--mbfc-rs)); padding: 16px 20px; margin-bottom: 14px; }
.mbfc-info-event-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.mbfc-info-event-title { font-weight: 800; font-size: 15px; color: #0f172a; }
.mbfc-info-event-pill { padding: 2px 10px; border-radius: calc(9999px * var(--mbfc-rs)); font-size: 11px; font-weight: 700; background: #fde047; color: #713f12; }
.mbfc-info-team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-top: 20px; }
.mbfc-info-team-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: calc(16px * var(--mbfc-rs));
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  transition: transform 0.15s ease, border-color 0.15s ease;
}
.mbfc-info-team-card:hover { transform: translateY(-2px); border-color: #93c5fd; }
.mbfc-info-team-avatar { width: 48px; height: 48px; border-radius: calc(12px * var(--mbfc-rs)); display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
.mbfc-info-signoff-banner {
  border-radius: calc(16px * var(--mbfc-rs));
  padding: 28px;
  background: #0f172a;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 36px;
}
.mbfc-info-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: calc(10px * var(--mbfc-rs)); font-size: 13px; font-weight: 700; text-decoration: none !important; transition: all 0.15s ease; }
.mbfc-info-btn-primary { background: var(--mbfc-primary); color: #ffffff !important; }
.mbfc-info-btn-primary:hover { filter: brightness(1.1); }
.mbfc-info-btn-white { background: #ffffff; color: #0f172a !important; }
.mbfc-info-btn-white:hover { background: #f1f5f9; }
.mbfc-info-sidebar { display: flex; flex-direction: column; gap: 20px; }
.mbfc-info-sidebar-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: calc(16px * var(--mbfc-rs)); padding: 24px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02); }
.mbfc-info-sidebar-card-title { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 800; color: #0f172a; margin: 0 0 10px 0; }
.mbfc-info-sidebar-sub { font-size: 13px; color: #64748b; line-height: 1.5; margin: 0 0 14px 0; }
.mbfc-info-country-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.mbfc-info-country-pill { font-size: 12px; font-weight: 600; padding: 4px 10px; background: #f1f5f9; color: #1e293b; border-radius: calc(8px * var(--mbfc-rs)); border: 1px solid #e2e8f0; }
.mbfc-info-shortcut-list { display: flex; flex-direction: column; gap: 10px; }
.mbfc-info-shortcut-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: calc(12px * var(--mbfc-rs));
  text-decoration: none !important;
  color: #1e293b !important;
  font-size: 13px;
  font-weight: 700;
  transition: all 0.15s ease;
}
.mbfc-info-shortcut-item:hover { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8 !important; transform: translateX(2px); }
.mbfc-info-action-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-top: 16px; }
.mbfc-info-action-card { padding: 16px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: calc(12px * var(--mbfc-rs)); display: flex; align-items: flex-start; gap: 12px; }
.mbfc-info-team-family-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-top: 20px; }

/* 9b. Newsletter Sign Up Page */
.mbfc-newsletter-box {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: calc(8px * var(--mbfc-rs));
  padding: 32px 28px;
  max-width: 620px;
  margin: 24px auto;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
  box-sizing: border-box;
}
.mbfc-newsletter-form-group { margin-bottom: 18px; text-align: left; }
.mbfc-newsletter-form label { display: block; font-size: 14px; font-weight: 700; color: #1e293b; margin-bottom: 6px; }
.mbfc-newsletter-form input[type="text"],
.mbfc-newsletter-form input[type="email"] {
  width: 100%;
  padding: 10px 14px;
  font-size: 15px;
  color: #0f172a;
  background-color: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: calc(6px * var(--mbfc-rs));
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.mbfc-newsletter-form input[type="text"]:focus,
.mbfc-newsletter-form input[type="email"]:focus {
  border-color: var(--mbfc-primary, #2563eb);
  background-color: #ffffff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.mbfc-newsletter-gdpr-wrap {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 20px 0;
  padding: 14px 16px;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: calc(6px * var(--mbfc-rs));
  font-size: 13px;
  line-height: 1.5;
  color: #334155;
  text-align: left;
}
.mbfc-newsletter-gdpr-wrap input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; width: 17px; height: 17px; accent-color: var(--mbfc-primary, #2563eb); cursor: pointer; }
.mbfc-newsletter-expect-box {
  margin: 18px 0 22px 0;
  padding: 16px 18px;
  background-color: #f8fafc;
  border-left: 3px solid var(--mbfc-primary, #2563eb);
  border-radius: calc(4px * var(--mbfc-rs));
  font-size: 13px;
  line-height: 1.6;
  color: #475569;
  text-align: left;
}
.mbfc-newsletter-expect-box strong { color: #0f172a; }
.mbfc-newsletter-submit-btn {
  display: inline-block;
  background-color: var(--mbfc-primary, #2563eb);
  color: #ffffff !important;
  font-size: 16px;
  font-weight: 700;
  padding: 12px 32px;
  border: none;
  border-radius: calc(6px * var(--mbfc-rs));
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.3);
  transition: background-color 0.2s ease, transform 0.1s ease;
}
.mbfc-newsletter-submit-btn:hover { background-color: var(--mbfc-primary-dark, #1d4ed8); transform: translateY(-1px); }

/* 9c. Generic table */
.mbfc-table-box-container { max-width: 100%; margin: 24px 0; box-sizing: border-box; }
.mbfc-rounded-box-8px {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: calc(8px * var(--mbfc-rs));
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
}
.mbfc-table-responsive-wrapper { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mbfc-generic-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; line-height: 1.5; color: #1e293b; margin: 0; }
.mbfc-generic-table thead tr { background-color: #f8fafc; border-bottom: 2px solid #e2e8f0; }
.mbfc-generic-table th {
  padding: 14px 18px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #475569;
  border-right: 1px solid #f1f5f9;
  white-space: nowrap;
}
.mbfc-generic-table th:last-child { border-right: none; }
.mbfc-generic-table tbody tr { border-bottom: 1px solid #e2e8f0; transition: background-color 0.15s ease; }
.mbfc-generic-table tbody tr:last-child { border-bottom: none; }
.mbfc-generic-table tbody tr:hover { background-color: #f8fafc; }
.mbfc-generic-table td { padding: 16px 18px; vertical-align: middle; border-right: 1px solid #f1f5f9; }
.mbfc-generic-table td:last-child { border-right: none; }
.mbfc-table-badge { display: inline-block; padding: 4px 10px; font-size: 11px; font-weight: 700; border-radius: calc(4px * var(--mbfc-rs)); background-color: #eff6ff; color: #1d4ed8; white-space: nowrap; }
.mbfc-table-badge.success { background-color: #ecfdf5; color: #047857; }
.mbfc-table-badge.warning { background-color: #fffbeb; color: #b45309; }

/* 10. Dark Slate Footer */
.mbfc-footer {
  background-color: var(--mbfc-footer-bg);
  color: var(--mbfc-footer-text);
  padding: 32px 24px 28px 24px;
  text-align: center;
  font-size: 13px;
  border-top: 1px solid var(--mbfc-border);
}
.mbfc-social-icons { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 20px; }
.mbfc-social-link { display: inline-block; transition: transform 0.2s ease, opacity 0.2s ease; }
.mbfc-social-link:hover { transform: translateY(-2px); opacity: 0.85; }
.mbfc-social-icon-img { width: 32px; height: 32px; display: block; }
.mbfc-footer-copy { margin: 0 0 10px 0; color: #e2e8f0; font-weight: 600; }
.mbfc-footer-meta { color: var(--mbfc-footer-text); line-height: 1.6; margin-bottom: 12px; }
.mbfc-footer-links { margin: 12px 0; }
.mbfc-footer-links a { color: #cbd5e1; text-decoration: underline; margin: 0 8px; }
.mbfc-footer-links a:hover { color: #ffffff; }
.mbfc-footer-credit { margin-top: 16px; font-size: 12px; color: #94a3b8; display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; }
.mbfc-footer-ai { display: inline-flex; align-items: center; gap: 4px; color: #94a3b8; }
.mbfc-footer-ai svg, .mbfc-footer-ai i { color: #38bdf8; vertical-align: middle; }

@keyframes mbfc-heartbeat {
  0% { transform: scale(1); }
  14% { transform: scale(1.3); }
  28% { transform: scale(1); }
  42% { transform: scale(1.3); }
  70% { transform: scale(1); }
  100% { transform: scale(1); }
}
.mbfc-heartbeat { display: inline-block; animation: mbfc-heartbeat 1.35s ease-in-out infinite; transform-origin: center; will-change: transform; }
.mbfc-footer-version { margin-top: 4px; font-size: 12px; color: #94a3b8; }

/* 11. Responsive */
@media (max-width: 992px) {
  .mbfc-menu a { padding: 12px 10px; font-size: 13px; }
}

@media (max-width: 768px) {
  .mbfc-wrapper { margin: 10px auto; padding: 0 10px; }
  .mbfc-header-hero { flex-direction: column; text-align: center; padding: 24px 16px; }
  .mbfc-header-left { text-align: center; }
  .mbfc-header-right { text-align: center; flex: auto; }
  .mbfc-header-logo { margin: 0 auto 12px auto; }
  .mbfc-meta-pills li { justify-content: center; }
  .mbfc-content-area { padding: 24px 18px; }

  .mbfc-nav-bar { padding: 10px 16px; flex-direction: column; align-items: stretch; }
  .mbfc-nav-inner { flex-direction: column; align-items: stretch; }
  .mbfc-nav-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 8px; }
  .mbfc-menu { display: none; width: 100%; flex-direction: column; padding: 8px 0; border-top: 1px solid var(--mbfc-border); gap: 0; }
  .mbfc-menu.is-active { display: flex; }
  .mbfc-menu > li { width: 100%; }
  .mbfc-menu a { width: 100%; padding: 10px 8px; border-bottom: 1px solid #f1f5f9; }
  .mbfc-menu .sub-menu { position: static; display: block; box-shadow: none; border: none; padding-left: 16px; background: #f8fafc; border-radius: calc(4px * var(--mbfc-rs)); margin-bottom: 4px; }
  .mbfc-menu .sub-menu a { font-size: 13px; padding: 8px 12px; }

  .mbfc-secondary-nav-bar { padding: 6px 16px; flex-direction: column; align-items: stretch; }
  .secondary-menu-container { flex-direction: column; align-items: stretch; }
  .mbfc-secondary-menu { display: none; width: 100%; flex-direction: column; padding: 6px 0; border-top: 1px solid var(--mbfc-border); gap: 0; }
  .mbfc-secondary-menu.is-active,
  .is-active ~ .mbfc-secondary-nav-bar .mbfc-secondary-menu,
  .mbfc-nav-bar.is-active + .mbfc-secondary-nav-bar .mbfc-secondary-menu { display: flex; }
  .mbfc-secondary-menu > li { width: 100%; }
  .mbfc-secondary-menu a { width: 100%; padding: 8px 8px; border-bottom: 1px solid #f1f5f9; }
  .mbfc-secondary-menu .sub-menu { position: static; display: block; box-shadow: none; border: none; padding-left: 16px; background: #ffffff; border-radius: calc(4px * var(--mbfc-rs)); margin-bottom: 4px; }
  .mbfc-secondary-menu .sub-menu a { font-size: 12px; padding: 6px 10px; }
}

/* Michael's Timeline */
.mbfc-timeline-breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #64748b; margin-bottom: 20px; }
.mbfc-timeline-breadcrumb a { color: #64748b; text-decoration: none; transition: color 0.15s ease; }
.mbfc-timeline-breadcrumb a:hover { color: var(--mbfc-primary, #2563eb); }
.mbfc-timeline-breadcrumb .sep { color: #94a3b8; }
.mbfc-timeline-breadcrumb .current { font-weight: 600; color: #0f172a; }
.mbfc-timeline-hero { border-bottom: 1px solid #e2e8f0; padding-bottom: 24px; margin-bottom: 28px; }
.mbfc-timeline-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: calc(9999px * var(--mbfc-rs));
  font-size: 11px;
  font-weight: 700;
  color: #1d4ed8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
}
.mbfc-timeline-hero-title { margin: 0 0 8px 0; font-size: 28px; font-weight: 800; color: #0f172a; letter-spacing: -0.02em; line-height: 1.25; }
@media (min-width: 640px) { .mbfc-timeline-hero-title { font-size: 34px; } }
.mbfc-timeline-hero-subtitle { margin: 0; font-size: 15px; color: #475569; line-height: 1.6; max-width: 760px; }
.mbfc-timeline-stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 24px; }
@media (min-width: 640px) { .mbfc-timeline-stats-grid { grid-template-columns: repeat(4, 1fr); } }
.mbfc-stat-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: calc(12px * var(--mbfc-rs)); padding: 12px 14px; text-align: left; box-sizing: border-box; transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.mbfc-stat-card:hover { border-color: #cbd5e1; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05); }
.mbfc-stat-label { font-size: 11px; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: 0.05em; display: block; margin-bottom: 2px; }
.mbfc-stat-value { font-size: 18px; font-weight: 800; color: #0f172a; line-height: 1.25; margin-bottom: 2px; }
.mbfc-stat-sub { font-size: 11px; color: #64748b; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mbfc-timeline-controls { background: #ffffff; border: 1px solid #e2e8f0; border-radius: calc(12px * var(--mbfc-rs)); padding: 16px 20px; margin-bottom: 24px; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04); }
.mbfc-timeline-filter-header { display: flex; flex-direction: column; gap: 12px; }
.mbfc-timeline-filter-top { display: flex; flex-direction: column; gap: 10px; }
@media (min-width: 640px) { .mbfc-timeline-filter-top { flex-direction: row; align-items: center; justify-content: space-between; } }
.mbfc-filter-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #475569; display: flex; align-items: center; gap: 6px; }
.mbfc-timeline-search-box { position: relative; width: 100%; max-width: 320px; }
.mbfc-timeline-search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #94a3b8; font-size: 13px; pointer-events: none; }
.mbfc-timeline-search-input {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 30px 8px 30px;
  font-size: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: calc(8px * var(--mbfc-rs));
  color: #0f172a;
  outline: none;
  transition: all 0.2s ease;
}
.mbfc-timeline-search-input:focus { background: #ffffff; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15); }
.mbfc-timeline-search-clear { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; color: #94a3b8; font-size: 14px; cursor: pointer; padding: 0; line-height: 1; display: none; }
.mbfc-timeline-search-clear:hover { color: #475569; }
.mbfc-era-buttons-row { display: flex; flex-wrap: wrap; gap: 6px; }
.mbfc-era-btn { padding: 6px 12px; font-size: 12px; font-weight: 600; border-radius: calc(8px * var(--mbfc-rs)); border: 1px solid #e2e8f0; background: #f1f5f9; color: #334155; cursor: pointer; transition: all 0.15s ease; }
.mbfc-era-btn:hover { background: #e2e8f0; color: #0f172a; }
.mbfc-era-btn.active { background: var(--mbfc-primary, #2563eb); color: #ffffff; border-color: var(--mbfc-primary, #2563eb); font-weight: 700; box-shadow: 0 1px 2px rgba(37, 99, 235, 0.2); }
.mbfc-timeline-status-bar { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: #64748b; padding-top: 10px; margin-top: 12px; border-top: 1px solid #f1f5f9; }
.mbfc-timeline-clear-btn { background: none; border: none; color: #2563eb; font-weight: 600; font-size: 12px; cursor: pointer; text-decoration: underline; padding: 0; display: none; }
.mbfc-timeline-clear-btn:hover { color: #1d4ed8; }
.mbfc-timeline-wrapper { margin: 28px 0; position: relative; }
.mbfc-timeline-spine { position: absolute; left: 20px; top: 0; bottom: 0; width: 3px; background: #e2e8f0; z-index: 1; }
@media (min-width: 768px) { .mbfc-timeline-spine { left: 110px; } }
.mbfc-timeline-era-header { position: relative; z-index: 2; margin: 32px 0 20px 0; padding-left: 50px; }
@media (min-width: 768px) { .mbfc-timeline-era-header { padding-left: 140px; } }
.mbfc-timeline-item { position: relative; z-index: 2; margin-bottom: 28px; display: flex; flex-direction: column; }
@media (min-width: 768px) { .mbfc-timeline-item { flex-direction: row; gap: 24px; } }
.mbfc-timeline-badge-col { width: 100px; flex-shrink: 0; padding-top: 6px; text-align: right; display: none; }
@media (min-width: 768px) { .mbfc-timeline-badge-col { display: block; } }
.mbfc-timeline-node { position: absolute; left: 13px; top: 14px; width: 16px; height: 16px; border-radius: calc(50% * var(--mbfc-rs)); background: #2563eb; border: 3px solid #ffffff; box-shadow: 0 0 0 2px #93c5fd; z-index: 3; }
@media (min-width: 768px) { .mbfc-timeline-node { left: 103px; } }
.mbfc-timeline-card { margin-left: 44px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: calc(8px * var(--mbfc-rs)); padding: 20px; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04); flex-grow: 1; transition: box-shadow 0.2s ease, border-color 0.2s ease; }
@media (min-width: 768px) { .mbfc-timeline-card { margin-left: 36px; } }
.mbfc-timeline-card:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08); }
.mbfc-timeline-card-pic { margin-top: 16px; border-radius: calc(8px * var(--mbfc-rs)); overflow: hidden; border: 1px solid #e2e8f0; background: #f8fafc; }
.mbfc-timeline-card-pic img { width: 100%; max-height: 380px; object-fit: cover; display: block; }
.mbfc-timeline-card-pic-caption { padding: 10px 14px; font-size: 13px; color: #475569; background: #ffffff; border-top: 1px solid #f1f5f9; }

/* Lucide & Iconify icons */
.lucide, i[data-lucide], span[data-lucide], svg.lucide, .lucide-icon, .blade-icon, i[data-blade], span[data-blade], svg.blade-icon {
  display: inline-block;
  vertical-align: -0.125em;
  width: 1em;
  height: 1em;
  box-sizing: content-box;
}
.lucide, i[data-lucide], span[data-lucide], svg.lucide, .lucide-icon {
  stroke-width: 2;
  stroke: currentColor;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.blade-icon, i[data-blade], span[data-blade], svg.blade-icon { fill: currentColor; }
.blade-icon-outline, svg.blade-icon-outline { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.lucide.lucide-lg, i[data-lucide].lucide-lg, .blade-icon-lg { width: 1.5em; height: 1.5em; }
.lucide.lucide-xl, i[data-lucide].lucide-xl, .blade-icon-xl { width: 2em; height: 2em; }
.lucide.lucide-sm, i[data-lucide].lucide-sm, .blade-icon-sm { width: 0.875em; height: 0.875em; }

/* No rounded icons / mascots; emojis stay normal */
svg, svg *, .lucide, .blade-icon, [data-lucide], [data-blade], .mbfc-icon-badge, .mbfc-header-icon, .mbfc-member-icon,
.mbfc-gate-icon-circle, .mbfc-donate-heart-circle, .mbfc-emoji-icon, .emoji, span.emoji { border-radius: 0 !important; }

.mbfc-mascot-pill, .mbfc-charlie-pill, .mbfc-nav-aux a, .mbfc-navbar-mascot-item a { border-radius: calc(9999px * var(--mbfc-rs)) !important; }

.emoji, .mbfc-emoji, .mbfc-emoji-icon, span.emoji, img.emoji, img.wp-smiley, .wp-smiley, .mbfc-pill-icon, [data-emoji] {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
/* WordPress sized twemoji inline; keep the same behaviour */
img.emoji { display: inline !important; border: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; padding: 0 !important; }

.emoji, .mbfc-emoji, span.emoji, .menu-item span, .sub-menu span, .mbfc-menu span, header span, nav span {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
}

/* Universal pills & badges */
.mbfc-custom-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  font-weight: 700;
  line-height: 1.2;
  vertical-align: middle;
  white-space: nowrap;
  margin: 0 4px;
  text-decoration: none !important;
  box-sizing: border-box;
  transition: opacity 0.15s ease;
}
.mbfc-custom-pill:hover { opacity: 0.9; }
.mbfc-custom-pill.is-rounded, .mbfc-custom-pill-rounded { border-radius: calc(9999px * var(--mbfc-rs)) !important; }
.mbfc-custom-pill.is-square, .mbfc-custom-pill-square { border-radius: calc(0px * var(--mbfc-rs)) !important; }
.mbfc-custom-pill.is-sm-rounded { border-radius: calc(4px * var(--mbfc-rs)) !important; }
.mbfc-custom-pill .mbfc-pill-icon { margin-right: 3px; font-style: normal; text-decoration: none; background: transparent !important; background-color: transparent !important; }

@media (max-width: 640px) {
  .mbfc-single-post-thumbnail, .mbfc-sidebyside-container { max-width: 100% !important; width: 100% !important; }
}

/* Callout boxes */
.mbfc-box { margin: 8px 0; box-sizing: border-box; word-break: break-word; overflow-wrap: break-word; }
.mbfc-box + .mbfc-box, .mbfc-box-parent + .mbfc-box-parent, .mbfc-box-nested + .mbfc-box-nested, p + .mbfc-box, .mbfc-box + p { margin-top: 5px !important; }
.mbfc-box-parent + .mbfc-box-parent { margin-top: 5px !important; margin-bottom: 0 !important; }
.mbfc-box:last-child { margin-bottom: 0; }
.mbfc-box .mbfc-box-nested { margin: 4px 0 3px 2px !important; }
.mbfc-box .mbfc-box-nested + .mbfc-box-nested { margin-top: 3px !important; }
.mbfc-box a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; transition: opacity 0.15s ease; }
.mbfc-box a:hover { opacity: 0.8; }
.mbfc-box ul, .mbfc-box ol { margin: 4px 0 4px 18px; padding: 0; }
.mbfc-box li { margin-bottom: 2px; }
.mbfc-entry-content .mbfc-box, .entry-content .mbfc-box, .mbfc-single-post .mbfc-box { margin-top: 10px; margin-bottom: 10px; }
.mbfc-entry-content .mbfc-box + .mbfc-box, .entry-content .mbfc-box + .mbfc-box { margin-top: 5px !important; }
.widget .mbfc-box, .mbfc-info-sidebar .mbfc-box, .sidebar .mbfc-box { font-size: 12px; padding: 8px 10px; }
.mbfc-info-team-bio p { margin: 0 0 10px 0; }
.mbfc-info-team-bio p:last-child { margin-bottom: 0; }

/* Front page tribute card */
.mbfc-front-tribute-card { overflow: hidden; }
.mbfc-tribute-body { overflow: visible; }
.mbfc-tribute-figure { margin-bottom: 16px; }
.mbfc-tribute-figure.align-right { float: right; margin: 0 0 16px 24px; }
.mbfc-tribute-figure.align-left { float: left; margin: 0 24px 16px 0; }
.mbfc-tribute-figure img { display: block; width: 100%; height: auto; border-radius: calc(10px * var(--mbfc-rs)); object-fit: cover; }
@media (max-width: 640px) {
  .mbfc-tribute-figure, .mbfc-tribute-figure.align-right, .mbfc-tribute-figure.align-left, .mbfc-tribute-float-left {
    float: none !important;
    margin: 0 auto 18px auto !important;
    max-width: 100% !important;
    text-align: center;
  }
}

/* ===== Latest News (post system) ===== */
.mbfc-news-tools { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 0 0 22px; }
.mbfc-news-search { display: flex; flex: 1 1 280px; max-width: 460px; }
.mbfc-news-search input { flex: 1; min-width: 0; padding: 10px 14px; border: 1px solid #cbd5e1; border-right: 0; border-radius: calc(10px * var(--mbfc-rs)) 0 0 calc(10px * var(--mbfc-rs)); font: inherit; font-size: 14px; background: #fff; }
.mbfc-news-search input:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
.mbfc-news-search button, .mbfc-news-tools noscript button { background: #2563eb; color: #fff; border: 0; padding: 10px 18px; border-radius: 0 calc(10px * var(--mbfc-rs)) calc(10px * var(--mbfc-rs)) 0; font-weight: 700; font-size: 14px; cursor: pointer; font-family: inherit; }
.mbfc-news-per { font-size: 13px; font-weight: 600; color: #475569; display: inline-flex; align-items: center; gap: 8px; }
.mbfc-news-per select { padding: 7px 10px; border: 1px solid #cbd5e1; border-radius: calc(8px * var(--mbfc-rs)); font: inherit; font-size: 13px; background: #fff; }
.mbfc-news-filter { font-size: 14px; color: #475569; margin: 0 0 18px; }
.mbfc-news-empty { background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: calc(12px * var(--mbfc-rs)); padding: 28px; text-align: center; color: #475569; }
.mbfc-pinned-badge { display: inline-block; padding: 3px 10px; border-radius: calc(9999px * var(--mbfc-rs)); font-size: 11px; font-weight: 700; background: #fef3c7; color: #92400e; border: 1px solid #fde68a; }
.mbfc-post-card.is-pinned { border-color: #fcd34d !important; box-shadow: 0 1px 6px rgba(245,158,11,.12) !important; }
.mbfc-news-chips a:hover { background: rgba(37,99,235,.16) !important; }
.mbfc-preview-bar { background: #fef3c7; border: 1px solid #fcd34d; color: #92400e; border-radius: calc(10px * var(--mbfc-rs)); padding: 10px 14px; margin-bottom: 16px; font-weight: 700; font-size: 13px; }

.mbfc-news-body h2 { font-size: 22px; font-weight: 800; color: #0f172a; margin: 26px 0 10px; line-height: 1.3; }
.mbfc-news-body h3 { font-size: 18px; font-weight: 700; color: #0f172a; margin: 22px 0 8px; }
.mbfc-news-body ul, .mbfc-news-body ol { margin: 0 0 18px 0; padding-left: 24px; }
.mbfc-news-body blockquote { margin: 0 0 18px; padding: 8px 18px; border-left: 4px solid #2563eb; background: #f8fafc; color: #475569; }
.mbfc-news-body a { color: #2563eb; word-break: break-word; }
.mbfc-news-fig { margin: 0 0 18px; }
.mbfc-news-fig img { display: block; width: 100%; height: auto; border-radius: calc(10px * var(--mbfc-rs)); border: 1px solid #e2e8f0; background: #f8fafc; }
.mbfc-news-fig figcaption { font-size: 12.5px; color: #64748b; margin-top: 6px; text-align: center; line-height: 1.4; }
.mbfc-fig-small { width: 33%; } .mbfc-fig-medium { width: 50%; } .mbfc-fig-large { width: 75%; } .mbfc-fig-full { width: 100%; }
.mbfc-fig-left { float: left; margin-right: 22px; }
.mbfc-fig-right { float: right; margin-left: 22px; }
.mbfc-fig-center { float: none; margin-left: auto; margin-right: auto; clear: both; }
.mbfc-fig-full { float: none; clear: both; margin-left: 0; margin-right: 0; }
.mbfc-news-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; margin: 22px 0; clear: both; }
.mbfc-news-gallery figure { margin: 0; }
.mbfc-news-gallery img { width: 100%; height: 180px; object-fit: cover; border-radius: calc(10px * var(--mbfc-rs)); border: 1px solid #e2e8f0; display: block; }
.mbfc-news-gallery figcaption { font-size: 12px; color: #64748b; margin-top: 4px; }
@media (max-width: 640px) {
  .mbfc-fig-small, .mbfc-fig-medium, .mbfc-fig-large { float: none; width: 100%; margin-left: 0; margin-right: 0; }
  .mbfc-fig-small { width: 60%; margin-left: auto; margin-right: auto; }
  #primary .mbfc-single-post { padding: 20px 16px !important; }
}

/* ===== Site settings: nav alignment, icons ===== */
.mbfc-nav-bar.nav-align-right .mbfc-menu { margin-left: auto; }
.mbfc-nav-bar.nav-align-center .mbfc-menu { margin: 0 auto; }
.mbfc-nav-bar.nav-align-center .mbfc-nav-aux { margin-left: 0; }
.mbfc-donate-heart i[data-lucide], .mbfc-donate-heart svg { width: 30px; height: 30px; color: #ef4444; fill: #ef4444; }
.mbfc-footer-copy svg, .mbfc-footer-copy i { width: 1em; height: 1em; }
.mbfc-heartbeat svg { fill: currentColor; color: #f87171; }
.mbfc-meta-pills svg, .mbfc-meta-pills i { margin-right: 2px; }
.mbfc-secondary-menu svg, .mbfc-secondary-menu i { width: 16px; height: 16px; }

/* ---- Album Guide ---- */
.alb-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:18px; margin:0 0 34px; }
.alb-h2 { font-size:22px; font-weight:800; color:#0f172a; margin:34px 0 16px; padding-top:22px; border-top:1px solid #e2e8f0; }
.alb-tile { all:unset; box-sizing:border-box; cursor:pointer; display:flex; flex-direction:column; background:#fff; border:1px solid #e2e8f0; border-radius:calc(12px * var(--mbfc-rs)); overflow:hidden; transition:transform .15s, box-shadow .15s, border-color .15s; }
.alb-tile:hover, .alb-tile:focus-visible { transform:translateY(-3px); box-shadow:0 10px 24px rgba(15,23,42,.12); border-color:#93c5fd; }
.alb-tile:focus-visible { outline:3px solid rgba(37,99,235,.35); }
.alb-cover { display:block; aspect-ratio:1/1; background:#f1f5f9; overflow:hidden; }
.alb-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.alb-nocover { display:flex; width:100%; height:100%; align-items:center; justify-content:center; color:#94a3b8; font-size:40px; } .alb-nocover.big { aspect-ratio:1/1; font-size:80px; background:#f1f5f9; border-radius:calc(10px * var(--mbfc-rs)); }
.alb-cap { display:flex; flex-direction:column; gap:2px; padding:10px 12px 12px; }
.alb-cap strong { font-size:13.5px; line-height:1.3; color:#0f172a; } .alb-cap small { color:#64748b; font-size:12px; }
.alb-empty { color:#64748b; padding:30px 0; }
.alb-modal { position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:18px; } .alb-modal[hidden] { display:none; }
.alb-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.65); }
.alb-dialog { position:relative; background:#fff; border-radius:calc(16px * var(--mbfc-rs)); width:min(900px,100%); max-height:92vh; overflow:auto; padding:28px; box-shadow:0 24px 60px rgba(0,0,0,.35); outline:none; }
.alb-x { position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:calc(50% * var(--mbfc-rs)); border:1px solid #e2e8f0; background:#fff; cursor:pointer; font-size:16px; z-index:2; } .alb-x:hover { background:#f1f5f9; }
.alb-lock { overflow:hidden; }
.alb-pop-grid { display:grid; grid-template-columns:240px 1fr; gap:26px; } @media (max-width:700px) { .alb-pop-grid { grid-template-columns:1fr; } .alb-pop-cover { max-width:260px; } .alb-dialog { padding:20px 16px; } }
.alb-pop-cover img { width:100%; border-radius:calc(10px * var(--mbfc-rs)); box-shadow:0 6px 18px rgba(15,23,42,.2); display:block; }
.alb-pop-main h2 { font-size:26px; font-weight:800; margin:0 40px 4px 0; color:#0f172a; }
.alb-meta { color:#64748b; font-size:13px; margin:0 0 14px; } 
.alb-review p { font-size:15px; line-height:1.75; color:#334155; margin:0 0 12px; }
.alb-by { font-size:13px; color:#64748b; font-style:italic; margin:6px 0 0; }

/* ---- Members' Area ---- */
.mem-head { border-bottom:1px solid #e2e8f0; padding-bottom:20px; margin-bottom:26px; }
.mem-badge { display:inline-flex; align-items:center; gap:6px; background:#dbeafe; color:#1e40af; font-size:13px; font-weight:700; padding:7px 14px; border-radius:calc(99px * var(--mbfc-rs)); margin-bottom:14px; }
.mem-badge svg, .mem-badge i { width:14px; height:14px; }
.mem-title { display:flex; align-items:center; gap:12px; font-size:38px; font-weight:800; letter-spacing:-.02em; color:#0f172a; margin:0 0 6px; line-height:1.15; }
.mem-title-ic { display:inline-flex; width:40px; height:40px; align-items:center; justify-content:center; background:#fef3c7; color:#d97706; border-radius:calc(10px * var(--mbfc-rs)); } .mem-title-ic svg, .mem-title-ic i { width:24px; height:24px; }
.mem-sub { color:#64748b; font-size:17px; margin:0; }
.mem-gate-box { max-width:560px; margin:0 auto 26px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:calc(16px * var(--mbfc-rs)); padding:32px 28px; text-align:center; }
.mem-gate-ic { display:inline-flex; width:48px; height:48px; align-items:center; justify-content:center; background:#dbeafe; color:#2563eb; border-radius:calc(12px * var(--mbfc-rs)); margin-bottom:12px; }
.mem-gate-box h3 { font-size:19px; color:#0f172a; margin:0 0 8px; text-transform:none; letter-spacing:0; } .mem-gate-box p { color:#64748b; font-size:14px; margin:0 0 20px; }
.mem-gate-row { display:flex; gap:10px; } .mem-gate-row input { flex:1; min-width:0; text-align:center; letter-spacing:.12em; font:inherit; font-size:14px; padding:12px 14px; border:1px solid #cbd5e1; border-radius:calc(9px * var(--mbfc-rs)); background:#fff; }
.mem-gate-row input:focus { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15); }
.mem-gate-row button { display:inline-flex; align-items:center; gap:8px; background:#2563eb; color:#fff; border:0; border-radius:calc(9px * var(--mbfc-rs)); padding:0 20px; font-weight:700; font-size:14px; cursor:pointer; } .mem-gate-row button:hover { background:#1d4ed8; }
.mem-error { margin-top:12px; color:#b91c1c; background:#fef2f2; border:1px solid #fecaca; border-radius:calc(8px * var(--mbfc-rs)); padding:9px 12px; font-size:13px; font-weight:600; }
.mem-hint { margin-top:18px; font-size:12px; color:#94a3b8; }
.mem-nl { max-width:560px; margin:0 auto 30px; background:#eff6ff; border:1px solid #bfdbfe; border-radius:calc(14px * var(--mbfc-rs)); padding:20px 24px; }
.mem-nl-h { display:flex; align-items:center; gap:8px; font-weight:800; color:#1e3a8a; margin-bottom:6px; } .mem-nl p { margin:0 0 14px; font-size:14px; color:#475569; }
.mem-nl-btn { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid #93c5fd; color:#1d4ed8; font-weight:700; font-size:13px; padding:9px 16px; border-radius:calc(8px * var(--mbfc-rs)); text-decoration:none; } .mem-nl-btn:hover { background:#dbeafe; }
.mem-banner { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; border-radius:calc(14px * var(--mbfc-rs)); padding:18px 24px; margin-bottom:30px; font-weight:700; font-size:17px; }
.mem-banner > div { display:flex; align-items:center; gap:10px; } .mem-banner svg { color:#059669; width:24px; height:24px; }
.mem-banner a { color:#065f46; font-size:15px; text-decoration:underline; font-weight:600; }
.mem-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:34px; } @media (max-width:700px) { .mem-grid { grid-template-columns:1fr; } .mem-title { font-size:28px; } }
.mem-card { background:#fff; border:1px solid #e2e8f0; border-radius:calc(16px * var(--mbfc-rs)); padding:24px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.mem-card h4 { display:flex; align-items:center; gap:10px; font-size:22px; font-weight:800; color:#0f172a; margin:0 0 14px; text-transform:none; letter-spacing:-.01em; } .mem-card h4 svg { width:22px; height:22px; color:#64748b; }
.mem-card p { font-size:14.5px; color:#64748b; margin:0 0 20px; line-height:1.6; }
.mem-card-btn { display:flex; align-items:center; justify-content:center; gap:8px; height:46px; width:100%; box-sizing:border-box; background:#f8fafc; border:1px solid #cbd5e1; color:#0f172a; font-weight:700; font-size:14.5px; border-radius:calc(8px * var(--mbfc-rs)); text-decoration:none; transition:background .15s; }
.mem-card-btn:hover { background:#f1f5f9; } .mem-card-btn.primary { background:#eff6ff; border-color:#bfdbfe; color:#2563eb; } .mem-card-btn.primary:hover { background:#dbeafe; }
.mem-signoff { border-top:1px solid #e2e8f0; padding-top:24px; color:#64748b; } .mem-signoff p { margin:0 0 6px; font-size:17px; } .mem-signoff strong { display:block; font-size:21px; color:#0f172a; }
.mem-heart { color:#e11d48; display:inline-flex; vertical-align:middle; } .mem-heart svg { fill:#e11d48; width:18px; height:18px; }
.mem-holding { text-align:center; background:#f8fafc; border:1px dashed #cbd5e1; border-radius:calc(16px * var(--mbfc-rs)); padding:48px 24px; margin-bottom:34px; }
.mem-holding-ic { display:inline-flex; width:60px; height:60px; align-items:center; justify-content:center; background:#dbeafe; color:#2563eb; border-radius:calc(16px * var(--mbfc-rs)); margin-bottom:14px; } .mem-holding-ic svg { width:28px; height:28px; }
.mem-holding h3 { font-size:22px; color:#0f172a; margin:0 0 8px; text-transform:none; letter-spacing:0; } .mem-holding p { color:#64748b; margin:0 0 22px; }
.mem-banner { transition:opacity .6s ease, height .5s ease .5s, margin .5s ease .5s, padding .5s ease .5s, border-width .5s ease .5s; overflow:hidden; box-sizing:border-box; }
.mem-banner.mem-fade { opacity:0; height:0 !important; margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0; border-width:0; }
.mem-lock { margin:22px 0 0; } .mem-lock a { display:inline-flex; align-items:center; gap:6px; color:#64748b; font-size:13px; text-decoration:underline; } .mem-lock svg { width:14px; height:14px; }

/* ---- Members: On The Ball downloads ---- */
.mem-otb-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.mem-otb-title { font-size:32px; font-weight:800; letter-spacing:-.02em; color:#0f172a; margin:0; }
.mem-back { display:inline-flex; align-items:center; gap:6px; color:#64748b; font-size:13px; font-weight:600; text-decoration:none; } .mem-back:hover { color:#2563eb; } .mem-back svg { width:14px; height:14px; }
.mem-dl-box { border:1px solid #e2e8f0; border-radius:calc(8px * var(--mbfc-rs)); background:#fff; overflow:hidden; box-shadow:0 2px 8px rgba(15,23,42,.04); }
.mem-dl-bar { background:#f8fafc; border-bottom:2px solid #e2e8f0; padding:14px 18px; text-align:center; font-weight:700; color:#475569; font-size:13px; letter-spacing:.05em; }
.mem-dl-grid { display:grid; grid-template-columns:repeat(3,1fr); } @media (max-width:820px) { .mem-dl-grid { grid-template-columns:1fr 1fr; } } @media (max-width:520px) { .mem-dl-grid { grid-template-columns:1fr; } }
.mem-dl-item { padding:22px 20px 24px; border-bottom:1px solid #e2e8f0; border-right:1px solid #f1f5f9; display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; }
.mem-dl-cover { display:block; width:100%; max-width:260px; line-height:0; border-radius:calc(4px * var(--mbfc-rs)); overflow:hidden; box-shadow:0 6px 18px rgba(15,23,42,.22); transition:transform .15s, box-shadow .15s; }
.mem-dl-cover:hover, .mem-dl-cover:focus-visible { transform:translateY(-3px); box-shadow:0 12px 26px rgba(15,23,42,.3); }
.mem-dl-cover img { width:100%; height:auto; display:block; }
.mem-dl-nocover { display:flex; aspect-ratio:3/4; align-items:center; justify-content:center; background:#f1f5f9; color:#94a3b8; } .mem-dl-nocover svg { width:48px; height:48px; }
.mem-dl-item h2 { font-size:17px; font-weight:800; color:#0f172a; margin:4px 0 0; text-transform:none; letter-spacing:0; }
.mem-dl-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#2563eb; color:#fff; font-weight:700; font-size:14px; padding:11px 22px; border-radius:calc(8px * var(--mbfc-rs)); text-decoration:none; } .mem-dl-btn:hover { background:#1d4ed8; } .mem-dl-btn svg { width:16px; height:16px; }
.mem-dl-empty { text-align:center; padding:56px 20px; color:#64748b; } .mem-dl-empty svg { width:40px; height:40px; color:#94a3b8; }
.mem-vid-grid .mem-dl-item { justify-content:flex-start; gap:10px; }
.mem-vid { width:100%; max-height:460px; border-radius:calc(8px * var(--mbfc-rs)); background:#0f172a; display:block; box-shadow:0 6px 18px rgba(15,23,42,.22); }
.mem-vid-dl { display:inline-flex; align-items:center; gap:6px; color:#2563eb; font-size:13px; font-weight:700; text-decoration:none; } .mem-vid-dl:hover { text-decoration:underline; } .mem-vid-dl svg { width:14px; height:14px; }
.mem-audio { max-width:640px; margin:26px auto; padding:0 16px 8px; }
.mem-audio-now { display:flex; align-items:center; gap:12px; margin-bottom:10px; font-weight:700; color:#0f172a; }
.mem-audio-ic { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; background:#e2e8f0; color:#475569; border-radius:calc(6px * var(--mbfc-rs)); flex:none; } .mem-audio-ic svg { width:24px; height:24px; }
.mem-audio audio { width:100%; display:block; }
.mem-tracks { list-style:none; margin:16px 0 0; padding:0; border-top:1px solid #e2e8f0; }
.mem-tracks li { display:flex; align-items:center; gap:10px; border-bottom:1px solid #e2e8f0; font-size:14.5px; color:#334155; }
.mem-tracks li.on { font-weight:800; color:#0f172a; }
.mem-track-play { all:unset; box-sizing:border-box; flex:1; min-width:0; cursor:pointer; padding:10px 4px; display:flex; gap:6px; } .mem-track-play:hover .mem-track-t, .mem-track-play:focus-visible .mem-track-t { color:#2563eb; text-decoration:underline; }
.mem-track-play:focus-visible { outline:2px solid #2563eb; }
.mem-track-d { font-variant-numeric:tabular-nums; color:#64748b; font-size:13px; min-width:38px; text-align:right; }
.mem-tracks li.on .mem-track-d { color:#0f172a; }
.mem-track-dl { display:inline-flex; color:#94a3b8; padding:6px; } .mem-track-dl:hover { color:#2563eb; } .mem-track-dl svg { width:16px; height:16px; }

/* Michael's Timeline: extras */
.tl-order { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: calc(999px * var(--mbfc-rs)); font-size: 11px; font-weight: 700; color: #475569; cursor: pointer; font-family: inherit; }
.tl-order:hover { background: #f1f5f9; }
.tl-order .lucide-icon, .tl-title-ic .lucide-icon, .mbfc-filter-label .lucide-icon { width: 14px; height: 14px; vertical-align: -2px; }
.tl-title-ic .lucide-icon { width: 30px; height: 30px; vertical-align: -4px; fill: currentColor; }
.tl-year { font-size: 18px; font-weight: 800; color: #2563eb; font-family: monospace; }
.tl-card-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.tl-cat { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; background: #f1f5f9; border-radius: calc(4px * var(--mbfc-rs)); font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase; }
.tl-cat .lucide-icon { width: 12px; height: 12px; }
.tl-year-sm { font-weight: 800; color: #2563eb; font-size: 14px; }
@media (min-width: 768px) { .tl-year-sm.tl-dup { display: none; } }
.tl-title { margin: 0 0 10px 0; font-size: 18px; font-weight: 800; color: #0f172a; line-height: 1.3; }
.tl-body { margin: 0 0 12px 0; font-size: 14px; color: #334155; line-height: 1.6; }
.tl-body p { margin: 0 0 8px; }
.tl-body p:last-child { margin-bottom: 0; }
.tl-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; padding-top: 8px; border-top: 1px solid #f1f5f9; }
.tl-pill { display: inline-block; padding: 3px 10px; background: #eff6ff; border: 1px solid #dbeafe; border-radius: calc(6px * var(--mbfc-rs)); font-size: 12px; font-weight: 600; color: #1d4ed8; line-height: 1.4; }
.mbfc-timeline-item[hidden] { display: none !important; }
.mbfc-donate-heart-circle i[data-lucide], .mbfc-donate-heart-circle svg { width: 28px; height: 28px; color: #ef4444; fill: #ef4444; }
.mbfc-nav-menu [data-lucide="heart"], .mbfc-secondary-menu [data-lucide="heart"], .nav-menu [data-lucide="heart"] { fill: currentColor; }
.mem-vid-grid .mem-vid-title { font-size:16px; font-weight:800; color:#0f172a; margin:0 0 2px; text-align:center; text-transform:none; letter-spacing:0; line-height:1.3; }

/* ---- Members: book-style PDF viewer ---- */
.mem-dl-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.mem-dl-btn.alt { background:#fff; color:#2563eb; border:1px solid #bfdbfe; }
.mem-dl-btn.alt:hover { background:#eff6ff; }
body.fb-open { overflow:hidden; }
.fb-ov { position:fixed; inset:0; height:100vh; height:100dvh; z-index:10000; background:#0f172a; display:flex; flex-direction:column; color:#e2e8f0; font-family:inherit; }
.fb-bar { display:flex; align-items:center; gap:14px; padding:10px 16px; flex-wrap:wrap; background:rgba(0,0,0,.35); }
.fb-title { font-weight:800; font-size:16px; flex:1 1 200px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fb-count { font-size:13px; color:#94a3b8; }
.fb-tools { display:flex; gap:6px; flex-wrap:wrap; }
.fb-btn { background:#1e293b; color:#fff; border:1px solid #334155; border-radius:calc(8px * var(--mbfc-rs)); padding:7px 13px; font-size:15px; font-weight:700; cursor:pointer; text-decoration:none; line-height:1.2; font-family:inherit; }
.fb-btn:hover:not(:disabled) { background:#334155; }
.fb-btn:disabled { opacity:.35; cursor:default; }
.fb-close { background:#2563eb; border-color:#2563eb; }
.fb-stage { flex:1; min-height:0; position:relative; overflow:hidden; touch-action:none; }
.fb-wrap { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; transform-origin:0 0; will-change:transform; }
.fb-stage.zoomed .fb-book { cursor:grab; }
.fb-msg { color:#cbd5e1; font-size:16px; padding:20px; text-align:center; }
.fb-msg a { color:#93c5fd; }
.fb-hint { text-align:center; font-size:12px; color:#64748b; padding:6px 10px 10px; }
.fb-book { position:relative; flex:none; transition:transform .6s ease; cursor:pointer; user-select:none; -webkit-user-select:none; }
.fb-leaf { position:absolute; top:0; transform-origin:left center; transform-style:preserve-3d; transition:transform .9s cubic-bezier(.45,.05,.25,1); }
.fb-leaf.turned { transform:rotateY(-180deg); }
.fb-leaf.gone { visibility:hidden; transition:transform .9s cubic-bezier(.45,.05,.25,1), visibility 0s .9s; }
.fb-face { position:absolute; inset:0; background:#fff; backface-visibility:hidden; -webkit-backface-visibility:hidden; overflow:hidden; box-shadow:0 2px 14px rgba(0,0,0,.45); }
.fb-back { transform:rotateY(180deg); }
.fb-face { display:flex; align-items:center; justify-content:center; }
.fb-face canvas { display:block; flex:none; }
.fb-front::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(to right, rgba(0,0,0,.22), rgba(0,0,0,0) 7%); }
.fb-back::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(to left, rgba(0,0,0,.22), rgba(0,0,0,0) 7%); }
.fb-loading::before { content:""; position:absolute; left:50%; top:50%; width:30px; height:30px; margin:-15px; border:3px solid #cbd5e1; border-top-color:#2563eb; border-radius:calc(50% * var(--mbfc-rs)); animation:fbspin .8s linear infinite; z-index:1; }
@keyframes fbspin { to { transform:rotate(360deg); } }
@media (max-width:760px) { .fb-bar { gap:6px 8px; padding:8px 10px; } .fb-tools { gap:5px; } .fb-btn[data-fb=first], .fb-btn[data-fb=last] { display:none; } .fb-btn { font-size:14px; } .fb-title { font-size:14px; } .fb-hint { display:none; } .fb-btn { padding:6px 10px; } }
@media (prefers-reduced-motion:reduce) { .fb-leaf, .fb-book { transition-duration:.01s !important; } }
.fb-stage > .fb-msg { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }

/* ---- Text made with the editor: buttons, pills, tables, pictures, icons ---- */
.mbfc-btnrow { margin: 0 0 18px; }
.mbfc-btn { display: inline-block; padding: 10px 22px; background: #2563eb; color: #fff !important; text-decoration: none !important; font-weight: 700; border-radius: calc(10px * var(--mbfc-rs)); line-height: 1.3; word-break: normal; transition: filter .15s; }
.mbfc-btn:hover { filter: brightness(1.1); }
.mbfc-btn-sm { padding: 6px 14px; font-size: 13px; }
.mbfc-btn-lg { padding: 14px 30px; font-size: 18px; }
.mbfc-btn-block { display: block; text-align: center; }
.mbfc-btn .lucide-icon { vertical-align: -3px; margin: 0 4px; }
.mbfc-pill { display: inline-block; padding: 2px 10px; font-size: .8em; font-weight: 700; line-height: 1.5; vertical-align: middle; background: #dcfce7; color: #166534; border-radius: calc(999px * var(--mbfc-rs)); }
.mbfc-pill .lucide-icon { width: 1em; height: 1em; vertical-align: -2px; margin-right: 3px; }
.mbfc-tablewrap { overflow-x: auto; margin: 0 0 18px; }
.mbfc-table { border-collapse: collapse; width: 100%; font-size: 15px; }
.mbfc-table th, .mbfc-table td { padding: 8px 10px; border: 1px solid #cbd5e1; text-align: left; vertical-align: top; }
.mbfc-table th { background: #f1f5f9; font-weight: 700; }
.mbfc-striped tbody tr:nth-child(even) { background: #f8fafc; }
img[data-mbfc] { max-width: 100%; height: auto; }
.mbfc-news-body hr, .mbfc-info-body hr { margin: 20px auto; }
.mbfc-news-body pre { background: #0f172a; color: #e2e8f0; padding: 12px 14px; border-radius: calc(8px * var(--mbfc-rs)); overflow-x: auto; font-size: 13px; margin: 0 0 18px; }
.mbfc-news-body code { background: #f1f5f9; padding: 1px 5px; border-radius: calc(4px * var(--mbfc-rs)); font-size: .92em; }
.mbfc-news-body pre code { background: none; padding: 0; }
.mbfc-news-body mark { padding: 0 2px; }
hr[style*="border-top"] { border-left: 0; border-right: 0; border-bottom: 0; height: 0; }

/* gradient words in titles; icons inside buttons and pills follow the text colour */
.mbfc-gtext { -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mbfc-btn i, .mbfc-btn svg, .mbfc-btn .lucide-icon, .mbfc-pill i, .mbfc-pill svg, .mbfc-pill .lucide-icon { color: inherit !important; stroke: currentColor; }
.mbfc-custom-pill i, .mbfc-custom-pill svg, .mbfc-custom-pill .lucide-icon, .mbfc-custom-pill [data-lucide] { color: inherit !important; stroke: currentColor !important; }

/* ---------- Privacy Policy page ---------- */
.mbfc-pp { max-width: 820px; line-height: 1.7; color: var(--mbfc-text-main); }
.mbfc-pp h2 { font-size: 20px; font-weight: 800; margin: 28px 0 8px; scroll-margin-top: 80px; }
.mbfc-pp ul { padding-left: 22px; }
.mbfc-pp li { margin: 6px 0; }
.mbfc-pp a { color: var(--mbfc-primary); font-weight: 600; }
.mbfc-pp-updated { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--mbfc-text-muted); background: var(--mbfc-primary-light); border-radius: 999px; padding: 4px 12px; }
.mbfc-pp-updated svg { width: 14px; height: 14px; }
.mbfc-pp-tablewrap { overflow-x: auto; margin: 12px 0; }
.mbfc-pp-table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; }
.mbfc-pp-table th, .mbfc-pp-table td { border: 1px solid var(--mbfc-border); padding: 8px 10px; text-align: left; vertical-align: top; }
.mbfc-pp-table th { background: var(--mbfc-primary-light); }
@media (max-width: 640px) {
  .mbfc-pp-table thead { display: none; }
  .mbfc-pp-table tr { display: block; margin-bottom: 10px; border: 1px solid var(--mbfc-border); }
  .mbfc-pp-table td { display: block; border: 0; border-bottom: 1px solid var(--mbfc-border); }
  .mbfc-pp-table td::before { content: attr(data-l) ': '; font-weight: 700; }
}
.mbfc-footer-privacy a { font-size: 13px; }

/* ---------- Cookie consent banner ---------- */
.mbfc-cc[hidden] { display: none !important; }
.mbfc-cc { position: fixed; z-index: 100000; left: 0; right: 0; bottom: 0; padding: 12px; font-family: inherit; }
.mbfc-cc-card { max-width: 960px; margin: 0 auto; background: #fff; color: #1e293b; border: 1px solid #cbd5e1; border-radius: 14px; box-shadow: 0 10px 40px rgba(15, 23, 42, .28); padding: 18px 20px; max-height: calc(100vh - 24px); overflow-y: auto; }
.mbfc-cc h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 18px; font-weight: 800; }
.mbfc-cc h2 svg { width: 20px; height: 20px; color: var(--mbfc-primary, #2563eb); }
.mbfc-cc p { margin: 0 0 12px; font-size: 14px; line-height: 1.55; }
.mbfc-cc p a { color: var(--mbfc-primary, #2563eb); font-weight: 600; }
.mbfc-cc-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.mbfc-cc-btn { cursor: pointer; font: inherit; font-size: 14px; font-weight: 700; padding: 10px 18px; border-radius: 10px; border: 2px solid var(--mbfc-primary, #2563eb); background: var(--mbfc-primary, #2563eb); color: #fff; }
.mbfc-cc-btn:hover { filter: brightness(1.08); }
.mbfc-cc-btn:focus-visible, .mbfc-cc-sw input:focus-visible + .mbfc-cc-slider { outline: 3px solid #f59e0b; outline-offset: 2px; }
.mbfc-cc-btn[data-act="reject"], .mbfc-cc-btn[data-act="save"] { background: #fff; color: var(--mbfc-primary, #2563eb); }
.mbfc-cc-link { background: transparent !important; border-color: transparent !important; color: var(--mbfc-primary, #2563eb) !important; text-decoration: underline; padding-left: 6px; padding-right: 6px; }
.mbfc-cc-cat { border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; }
.mbfc-cc-cat p { margin: 4px 0 0; font-size: 13px; color: #475569; }
.mbfc-cc-cathead { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mbfc-cc-always { font-size: 12px; font-weight: 700; color: #065f46; background: #d1fae5; border-radius: 999px; padding: 2px 10px; }
.mbfc-cc-sw { position: relative; display: inline-block; width: 46px; height: 26px; flex: none; }
.mbfc-cc-sw input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
.mbfc-cc-slider { position: absolute; inset: 0; background: #94a3b8; border-radius: 999px; transition: background .2s; }
.mbfc-cc-slider::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.mbfc-cc-sw input:checked + .mbfc-cc-slider { background: var(--mbfc-primary, #2563eb); }
.mbfc-cc-sw input:checked + .mbfc-cc-slider::after { transform: translateX(20px); }
.mbfc-cc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.mbfc-cc-more { font-size: 13px !important; }
.mbfc-cc-box { left: 12px; right: auto; bottom: 12px; max-width: 420px; }
.mbfc-cc-centre { top: 0; display: flex; align-items: center; justify-content: center; background: rgba(15, 23, 42, .5); }
.mbfc-cc-centre .mbfc-cc-card { max-width: 560px; margin: 0; }
@media (max-width: 520px) { .mbfc-cc-btn { flex: 1 1 100%; text-align: center; } .mbfc-cc-box { right: 12px; max-width: none; } }
@media (prefers-reduced-motion: reduce) { .mbfc-cc-slider, .mbfc-cc-slider::after { transition: none; } }
.mbfc-footer-dates { margin-top: 6px; font-size: 12px; color: #94a3b8; }
