/* =====================================================================
   GLOBAL THEME CSS  —  Chart CMS  (all custom classes use the bm- prefix)
   ---------------------------------------------------------------------
   STEP 1 — IMAGES (the CMS cannot hold <img>, so images load from here).
   Upload the 4 files, then replace each `none` below with
   url("https://your-domain/path/file.jpg").  While a value is `none`
   the page shows the built-in CSS-only design instead, so nothing breaks.
   ===================================================================== */
:root {
  --bm-slide-1-img: none;      /* bm-slide-1-results.jpg   1920 x 640 */
  --bm-slide-2-img: none;      /* bm-slide-2-webapp.jpg    1920 x 640 */
  --bm-slide-3-img: none;      /* bm-slide-3-charts.jpg    1920 x 640 */
  --bm-ios-steps-img: none;    /* bm-ios-install-steps.jpg 2252 x 1062 */

  /* Phones crop the left/right edges of a slide so the centre text stays
     readable. Set to 0px to always show the whole 3:1 banner instead. */
  --bm-slider-min-h: 200px;
}

/* Optional web font (the reference look uses Poppins). Remove the comment
   marks on the next line to enable it; without it system fonts are used.
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap");
*/

/* ------------------------------ 1. Tokens ------------------------------ */
:root {
  --bm-brand: #2b3597;
  --bm-brand-dark: #1f2775;
  --bm-brand-soft: #eceefa;
  --bm-orange: #ff9a32;
  --bm-orange-ink: #b45309;
  --bm-green: #138806;
  --bm-bg: #f7f8fc;
  --bm-surface: #ffffff;
  --bm-border: #e3e5f0;
  --bm-text: #14162b;
  --bm-muted: #595f78;
  --bm-success: #138806;
  --bm-warning: #b45309;
  --bm-focus: #0b57d0;

  --bm-max: 1240px;
  --bm-gutter: clamp(10px, 2vw, 20px);
  --bm-radius: 12px;
  --bm-radius-sm: 8px;
  --bm-shadow: 0 1px 2px rgba(20, 22, 60, .06), 0 4px 14px rgba(20, 22, 60, .05);
  --bm-header-h: 64px;
  --bm-font: "Poppins", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

/* ------------------------------ 2. Base -------------------------------- */
body {
  margin: 0;
  background: var(--bm-bg);
  color: var(--bm-text);
  font-family: var(--bm-font);
  font-size: 16px;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  overflow-wrap: break-word;
}

.wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--bm-max);
  margin-left: auto;
  margin-right: auto;
  padding: 0 var(--bm-gutter);
}

.wrap a,
.bm-header a,
.bm-footer a { color: var(--bm-brand); }

.wrap a:focus-visible,
.bm-header a:focus-visible,
.bm-footer a:focus-visible,
.bm-slider button:focus-visible,
.bm-faq__btn:focus-visible {
  outline: 3px solid var(--bm-focus);
  outline-offset: 2px;
  border-radius: 6px;
}

.bm-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* ------------------------------ 3. Header ------------------------------ */
/* Works whether the CMS prints the header inside or outside .wrap:
   the white bar is painted edge to edge with a shadow, never with overflow. */
.bm-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 50;
  filter: drop-shadow(0 2px 5px rgba(20, 22, 60, .10));
}

.bm-header__bar {
  background: var(--bm-surface);
  box-shadow: 0 0 0 100vmax var(--bm-surface);
  -webkit-clip-path: inset(0 -100vmax);
  clip-path: inset(0 -100vmax);
}

.bm-header__inner {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 16px;
  max-width: var(--bm-max);
  min-height: var(--bm-header-h);
  margin: 0 auto;
  padding: 8px var(--bm-gutter);
}

.wrap .bm-header__inner { padding-left: 0; padding-right: 0; }

.bm-header a.bm-logo,
.bm-footer a.bm-logo {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.01em;
  text-decoration: none;
  color: var(--bm-orange);
}

/* Two-colour wordmark painted over plain text (falls back to solid orange). */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .bm-logo__text {
    background: linear-gradient(90deg, var(--bm-orange) 0 52%, var(--bm-green) 52% 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }
}

.bm-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}

.bm-header a.bm-nav__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 clamp(14px, 2vw, 26px);
  border: 1px solid #eef0f5;
  border-radius: 999px;
  background: var(--bm-surface);
  box-shadow: 0 2px 5px rgba(20, 22, 60, .10);
  color: var(--bm-text);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.bm-header a.bm-nav__link:hover {
  background: var(--bm-brand);
  border-color: var(--bm-brand);
  color: #fff;
}

/* Menu button: only shown when JavaScript is running and the screen is small. */
.bm-header a.bm-nav-toggle { display: none; }

@media (max-width: 719px) {
  .bm-header__inner { min-height: 56px; }

  .bm-js .bm-header a.bm-nav-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid var(--bm-border);
    border-radius: 999px;
    background: var(--bm-surface);
    color: var(--bm-text);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
  }

  .bm-nav-toggle::before {
    content: "";
    width: 16px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    box-shadow: 0 5px 0 currentColor, 0 -5px 0 currentColor;
  }

  .bm-nav { width: 100%; padding-bottom: 6px; }
  .bm-js .bm-nav { display: none; }
  .bm-js .bm-header.is-open .bm-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .bm-header a.bm-nav__link { padding: 0 12px; }
}

/* ------------------------------ 4. Slider ------------------------------ */
.bm-hero { margin: clamp(10px, 1.6vw, 16px) 0 0; }

.bm-slider {
  position: relative;
}

.bm-slider__track {
  display: flex;
  overflow-x: auto;
  border-radius: var(--bm-radius);
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.bm-slider__track::-webkit-scrollbar { display: none; }

.wrap a.bm-slide,
a.bm-slide {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex: 0 0 100%;
  align-items: center;
  justify-content: center;
  aspect-ratio: 3 / 1;
  min-height: var(--bm-slider-min-h);
  overflow: hidden;
  padding: 16px clamp(16px, 6vw, 90px);
  scroll-snap-align: start;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: linear-gradient(135deg, #ffab45 0%, #ff8a00 55%, #f26a00 100%);
}

a.bm-slide--2 { background: linear-gradient(135deg, #4450c8 0%, #2b3597 55%, #1b2270 100%); }
a.bm-slide--3 { background: linear-gradient(135deg, #2aa51b 0%, #138806 55%, #0c6204 100%); }

a.bm-slide:focus-visible { outline-offset: -4px; }

/* Soft white wave: decoration for the CSS-only version of a slide. */
.bm-slide::before {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: -62%;
  height: 90%;
  border-radius: 50%;
  background: rgba(255, 255, 255, .16);
  transform: rotate(-4deg);
}

/* Banner image layer. With `none` it paints nothing and the text below shows. */
.bm-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bm-slide--1::after { background-image: var(--bm-slide-1-img); }
.bm-slide--2::after { background-image: var(--bm-slide-2-img); }
.bm-slide--3::after { background-image: var(--bm-slide-3-img); }

.bm-slide__body {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(4px, 1vw, 12px);
  max-width: 760px;
}

.bm-slide__kicker {
  padding: 3px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: var(--bm-brand);
  font-size: clamp(11px, 1.3vw, 15px);
  font-weight: 700;
  letter-spacing: .04em;
}

.bm-slide__title {
  font-size: clamp(24px, 5.2vw, 60px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.01em;
  text-shadow: 0 3px 0 rgba(0, 0, 0, .14);
}

.bm-slide__text {
  font-size: clamp(12px, 1.6vw, 19px);
  font-weight: 500;
  line-height: 1.35;
}

.bm-slide__cta {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 2px clamp(14px, 2.4vw, 30px);
  border-radius: 999px;
  background: #fff;
  color: var(--bm-brand);
  font-size: clamp(12px, 1.5vw, 17px);
  font-weight: 700;
}

/* Arrows and dots are created by the theme JavaScript. */
.bm-slider__arrow {
  position: absolute;
  top: calc(50% - 14px);
  z-index: 2;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.bm-slider__arrow--prev { left: 0; }
.bm-slider__arrow--next { right: 0; }

.bm-slider__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -7px 0 0 -5px;
  border: 7px solid transparent;
  border-left: 10px solid #fff;
  border-right-width: 0;
  filter: drop-shadow(0 0 1px rgba(20, 22, 60, .9)) drop-shadow(0 1px 3px rgba(20, 22, 60, .6));
}

.bm-slider__arrow--prev::before { transform: scaleX(-1); }

.bm-slider__dots {
  display: flex;
  justify-content: center;
  height: 28px;
}

.bm-slider__dot {
  position: relative;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.bm-slider__dot::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  background: #b9bde0;
  transition: width .2s ease, margin .2s ease, background-color .2s ease;
}

.bm-slider__dot[aria-current="true"]::before {
  width: 20px;
  margin-left: -10px;
  border-radius: 999px;
  background: var(--bm-brand);
}

/* --------------------------- 5. Trust strip ---------------------------- */
.bm-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 10px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}

.bm-trust__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 6px 14px;
  border: 1px solid var(--bm-border);
  border-radius: 999px;
  background: var(--bm-surface);
  color: var(--bm-muted);
  font-size: 13px;
  line-height: 1.3;
}

.bm-trust__item strong { color: var(--bm-brand); font-weight: 700; }

/* --------------------- 6. Sections, titles, panels --------------------- */
.bm-section {
  margin: clamp(22px, 3.4vw, 40px) 0 0;
  scroll-margin-top: calc(var(--bm-header-h) + 16px);
}

.bm-section > :first-child { margin-top: 0; }

.bm-title {
  margin: 0;
  color: var(--bm-brand);
  font-size: clamp(24px, 3.4vw, 36px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .04em;
  text-align: center;
}

.bm-title--sm { font-size: clamp(20px, 2.6vw, 28px); letter-spacing: .02em; }

.bm-subtitle {
  margin: 2px auto 0;
  max-width: 720px;
  color: var(--bm-text);
  font-size: 15px;
  text-align: center;
}

.bm-panel {
  box-sizing: border-box;
  padding: clamp(16px, 3vw, 32px);
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  background: var(--bm-surface);
  box-shadow: var(--bm-shadow);
}

.bm-panel > :first-child { margin-top: 0; }
.bm-panel > :last-child { margin-bottom: 0; }

.wrap a.bm-btn,
a.bm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border: 2px solid var(--bm-brand);
  border-radius: var(--bm-radius-sm);
  background: var(--bm-brand);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease;
}

a.bm-btn:hover { background: var(--bm-brand-dark); border-color: var(--bm-brand-dark); }

.wrap a.bm-btn--ghost,
a.bm-btn--ghost { background: transparent; color: var(--bm-brand); }
a.bm-btn--ghost:hover { background: var(--bm-brand-soft); border-color: var(--bm-brand); }

.bm-btn-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 18px 0 0;
}

/* --------------------------- 7. App install ---------------------------- */
.bm-install__badge-row { margin: 0 0 clamp(12px, 2vw, 22px); text-align: center; }

.wrap a.bm-store-badge,
a.bm-store-badge {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  min-height: 46px;
  padding: 2px 26px 2px 54px;
  border-radius: 999px;
  background: var(--bm-brand);
  color: #fff;
  line-height: 1.15;
  text-align: left;
  text-decoration: none;
  position: relative;
}

a.bm-store-badge:hover { background: var(--bm-brand-dark); }

/* Small phone outline icon, drawn with CSS. */
.bm-store-badge::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 24px;
  width: 13px;
  height: 22px;
  margin-top: -13px;
  border: 2px solid #fff;
  border-radius: 5px;
  box-shadow: inset 0 -4px 0 -2px #fff;
}

.bm-store-badge__small { font-size: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.bm-store-badge__big { font-size: 15px; font-weight: 700; }

.bm-shots-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.bm-shots {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5%;
  aspect-ratio: 2252 / 1062;
  min-width: 600px;
  max-width: 1080px;
  margin: 0 auto;
  padding: 1.5% 4%;
}

/* Screenshot layer: covers the CSS phones as soon as an image URL is set. */
.bm-shots::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bm-ios-steps-img) center / contain no-repeat;
}

.bm-phone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  border: 4px solid #14162b;
  border-radius: clamp(18px, 3vw, 34px);
  background: linear-gradient(180deg, #ffffff 0%, var(--bm-brand-soft) 100%);
  text-align: center;
}

.bm-phone__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--bm-brand);
  color: #fff;
  font-weight: 700;
}

.bm-phone__label { color: var(--bm-text); font-size: clamp(12px, 1.3vw, 15px); font-weight: 600; line-height: 1.3; }

.bm-install__title {
  margin: clamp(14px, 2.4vw, 26px) 0 8px;
  color: var(--bm-brand);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: .03em;
}

.bm-install__steps {
  margin: 0;
  padding-left: 24px;
  font-size: 14px;
  line-height: 1.5;
}

.bm-install__steps li { padding: 5px 0; }
.bm-install__steps a { font-weight: 600; overflow-wrap: anywhere; }

.bm-install__more { margin: 12px 0 0; color: var(--bm-muted); font-size: 14px; }

/* ------------------------------ 8. Rates ------------------------------- */
.bm-rates {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
  gap: clamp(10px, 1.4vw, 16px);
  margin: clamp(12px, 1.6vw, 18px) 0 0;
  padding: 0;
  list-style: none;
}

.bm-rate {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 6px clamp(14px, 2vw, 24px);
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  background: var(--bm-surface);
  box-shadow: var(--bm-shadow);
}

.bm-rate::before {
  content: "";
  flex: 0 0 22px;
  height: 22px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b3597' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4H5.5A1.5 1.5 0 0 0 4 5.500v13A1.5 1.5 0 0 0 5.5 20H9' stroke='%239aa0c8'/%3E%3Cpath d='M9 12h11M15.500 7.500 20 12l-4.500 4.500'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bm-rate__name { flex: 1 1 auto; font-size: clamp(15px, 1.6vw, 18px); font-weight: 600; letter-spacing: .03em; }

.bm-rate__value {
  flex: 0 0 auto;
  color: var(--bm-brand);
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}

/* ------------- 9. Result cards printed by [site_latest_results] -------- */
.wrap .grid,
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: clamp(10px, 1.6vw, 20px);
  margin: clamp(14px, 2vw, 22px) 0 0;
  padding: 0;
}

.card {
  box-sizing: border-box;
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  background: var(--bm-surface);
  box-shadow: var(--bm-shadow);
}

.card.today-result-card,
.today-result-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto minmax(44px, auto);
  grid-template-areas:
    "name   play"
    "result play"
    "chart  play";
  align-items: center;
  gap: 0 12px;
  min-width: 0;
  margin: 0;
  padding: 14px clamp(12px, 1.4vw, 18px) 8px;
}

.today-result-card > h2 {
  grid-area: name;
  margin: 0;
  color: #15194a;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
  text-align: left;
  overflow-wrap: anywhere;
}

/* Open Panel - Jodi - Close Panel */
.today-result-card > .today-result,
.today-result {
  grid-area: result;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 5px;
  margin: 5px 0 0;
  color: #454a63;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .03em;
  font-variant-numeric: tabular-nums;
}

.today-result > span { color: #454a63; }

.today-result > strong {
  color: var(--bm-brand);
  font-size: 18px;
  font-weight: 800;
}

.today-result > i {
  color: #9297b0;
  font-style: normal;
  font-weight: 400;
}

/* Waiting state  *** - ** - ***  keeps exactly the same size and position. */
.today-result.today-result-pending,
.today-result-pending > span,
.today-result-pending > strong { color: #8a8fa8; }

.today-result-pending > strong { font-weight: 700; }

/* Play: server-rendered link, shown as the button on the right. */
.wrap a.today-play-action,
a.today-play-action {
  grid-area: play;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 12px 0 16px;
  border-radius: var(--bm-radius-sm);
  background: var(--bm-brand);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .15s ease;
}

a.today-play-action:hover { background: var(--bm-brand-dark); }

.today-play-action::after {
  content: "";
  flex: 0 0 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.500 7.200v9.600a.6.6 0 0 0 .92.500l7.300-4.800a.6.6 0 0 0 0-1L10.420 6.700a.6.6 0 0 0-.92.500z' fill='%232b3597'/%3E%3C/svg%3E") center / 20px no-repeat;
}

/* View chart: the one chart link the CMS prints for a market. */
.wrap .today-result-card > a:not(.today-play-action),
.wrap a.today-chart-action,
.today-result-card > a:not(.today-play-action),
a.today-chart-action {
  grid-area: chart;
  justify-self: start;
  align-self: center;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 2px;
  color: var(--bm-orange-ink);
  font-size: 15px;
  font-weight: 500;
  text-decoration: underline dotted #3d4160;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}

.today-result-card > a:not(.today-play-action):hover,
a.today-chart-action:hover { color: var(--bm-brand); }

@media (max-width: 359px) {
  .wrap a.today-play-action, a.today-play-action { padding: 0 8px 0 12px; font-size: 15px; }
  .today-result-card > h2 { font-size: 16px; }
}

/* ----------------- 10. Long-form content, cards, FAQ ------------------- */
.bm-prose { max-width: 880px; margin-left: auto; margin-right: auto; }
.bm-prose h2 { margin: 0 0 10px; color: var(--bm-brand); font-size: clamp(21px, 2.6vw, 28px); font-weight: 700; line-height: 1.25; }
.bm-prose h3 { margin: 22px 0 6px; color: var(--bm-text); font-size: 18px; font-weight: 600; line-height: 1.3; }
.bm-prose h4 { margin: 16px 0 4px; font-size: 16px; font-weight: 600; }
.bm-prose p { margin: 0 0 12px; }
.bm-prose ul, .bm-prose ol { margin: 0 0 12px; padding-left: 22px; }
.bm-prose li { margin: 0 0 6px; }
.bm-prose a { font-weight: 600; text-underline-offset: 3px; }
.bm-prose hr { height: 1px; margin: 22px 0; border: 0; background: var(--bm-border); }

.bm-prose blockquote,
.bm-note {
  margin: 14px 0;
  padding: 12px 16px;
  border: 1px solid #f3d9b4;
  border-left: 4px solid var(--bm-warning);
  border-radius: var(--bm-radius-sm);
  background: #fff8ee;
  color: #4a3410;
  font-size: 14px;
}

.bm-note > :last-child, .bm-prose blockquote > :last-child { margin-bottom: 0; }
.bm-note--center { max-width: 880px; margin-left: auto; margin-right: auto; text-align: center; }

.bm-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: clamp(10px, 1.6vw, 18px);
  margin: clamp(12px, 1.6vw, 18px) 0 0;
}

.bm-card {
  box-sizing: border-box;
  padding: 18px;
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  background: var(--bm-surface);
  box-shadow: var(--bm-shadow);
}

.bm-card__tag {
  display: inline-block;
  margin: 0 0 8px;
  padding: 2px 10px;
  border-radius: 999px;
  background: var(--bm-brand-soft);
  color: var(--bm-brand);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.bm-card h3 { margin: 0 0 6px; color: var(--bm-text); font-size: 17px; font-weight: 600; line-height: 1.3; }
.bm-card p { margin: 0; color: var(--bm-muted); font-size: 14px; }

.bm-steps {
  counter-reset: bm-step;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: clamp(10px, 1.6vw, 18px);
  margin: clamp(12px, 1.6vw, 18px) 0 0;
  padding: 0;
  list-style: none;
}

.bm-steps > li {
  counter-increment: bm-step;
  position: relative;
  padding: 16px 16px 16px 60px;
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  background: var(--bm-surface);
  box-shadow: var(--bm-shadow);
  color: var(--bm-muted);
  font-size: 14px;
}

.bm-steps > li::before {
  content: counter(bm-step);
  position: absolute;
  top: 16px;
  left: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bm-brand);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}

.bm-steps strong { display: block; margin-bottom: 2px; color: var(--bm-text); font-size: 16px; font-weight: 600; }

.bm-faq { max-width: 880px; margin: clamp(12px, 1.6vw, 18px) auto 0; }

.bm-faq__item {
  margin: 0 0 10px;
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  background: var(--bm-surface);
  box-shadow: var(--bm-shadow);
}

.bm-faq__q { margin: 0; padding: 14px 18px 0; color: var(--bm-text); font-size: 16px; font-weight: 600; line-height: 1.4; }
.bm-faq__a { padding: 6px 18px 14px; color: var(--bm-muted); font-size: 15px; }
.bm-faq__a p { margin: 0; }
.bm-faq__a[hidden] { display: none; }

/* With JavaScript the question becomes a real button (accordion). */
.bm-js .bm-faq__q { padding: 0; }

.bm-faq__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  padding: 10px 18px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.bm-faq__btn::after {
  content: "";
  flex: 0 0 9px;
  height: 9px;
  margin-top: -4px;
  border-right: 2px solid var(--bm-brand);
  border-bottom: 2px solid var(--bm-brand);
  transform: rotate(45deg);
  transition: transform .2s ease;
}

.bm-faq__btn[aria-expanded="true"]::after { margin-top: 4px; transform: rotate(-135deg); }

/* --------------------------- 11. Chart pages --------------------------- */
.bm-crumbs { margin: 0 0 8px; color: var(--bm-muted); font-size: 13px; text-align: center; }
.bm-crumbs a { font-weight: 600; text-decoration: none; }
.bm-crumbs a:hover { text-decoration: underline; }

.bm-chip-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 14px 0 0; }

.wrap a.bm-chip,
a.bm-chip {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid var(--bm-border);
  border-radius: 999px;
  background: var(--bm-surface);
  box-shadow: var(--bm-shadow);
  color: var(--bm-brand);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

a.bm-chip:hover { background: var(--bm-brand); border-color: var(--bm-brand); color: #fff; }

/* Chart tables printed by [market_chart ...] and any table in page content. */
.wrap .scroll,
.scroll {
  max-width: 100%;
  margin: clamp(12px, 1.6vw, 18px) 0 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius);
  background: var(--bm-surface);
  box-shadow: var(--bm-shadow);
}

.wrap table {
  width: 100%;
  border-collapse: collapse;
  background: var(--bm-surface);
  font-size: 14px;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
}

.wrap table caption {
  padding: 10px 12px;
  color: var(--bm-muted);
  font-size: 13px;
  font-weight: 600;
  text-align: left;
}

.wrap table th,
.wrap table td {
  padding: 9px 10px;
  border: 1px solid var(--bm-border);
  text-align: center;
  vertical-align: middle;
}

.wrap table thead th {
  background: var(--bm-brand);
  border-color: #3f49ad;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.wrap table tbody th { background: var(--bm-brand-soft); color: var(--bm-text); font-weight: 600; white-space: nowrap; }
.wrap table tbody tr:nth-child(even) td { background: #fafbff; }
.wrap table td strong { color: var(--bm-brand); font-weight: 800; }

/* Tables written in page content sit inside a panel, without a .scroll box. */
.bm-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ------------------------------ 12. Footer ----------------------------- */
.bm-footer {
  --bm-focus: #ffd27a;
  margin-top: clamp(28px, 4vw, 48px);
  background: var(--bm-brand);
  box-shadow: 0 0 0 100vmax var(--bm-brand);
  -webkit-clip-path: inset(0 -100vmax);
  clip-path: inset(0 -100vmax);
  color: #fff;
  text-align: center;
}

.bm-footer__inner {
  box-sizing: border-box;
  max-width: 1000px;
  margin: 0 auto;
  padding: clamp(22px, 3vw, 34px) var(--bm-gutter) 22px;
}

.bm-footer a.bm-logo { font-size: clamp(30px, 4.4vw, 46px); min-height: 0; }
.bm-footer .bm-logo__text { background-image: linear-gradient(90deg, var(--bm-orange) 0 52%, #37c52a 52% 100%); }

.bm-footer p { margin: 12px 0 0; font-size: 14px; line-height: 1.6; }
.bm-footer__lead { font-weight: 600; }

.bm-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2px 6px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.bm-footer .bm-footer__links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.bm-footer .bm-footer__links a:hover { text-decoration: underline; text-underline-offset: 4px; }

.bm-footer hr { height: 0; margin: 16px 0 0; border: 0; border-top: 1px dotted rgba(255, 255, 255, .7); }
.bm-footer__copy { font-size: 15px; }

/* --------------------- 13. Motion and reduced motion ------------------- */
@media (prefers-reduced-motion: no-preference) {
  .bm-reveal-on .bm-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .5s ease, transform .5s ease;
  }

  .bm-reveal-on .bm-reveal.is-in { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .bm-slider__track { scroll-behavior: auto; }

  .bm-header *,
  .bm-slider *,
  .bm-faq *,
  .today-result-card *,
  a.bm-btn,
  a.bm-chip {
    transition: none !important;
    animation: none !important;
  }
}

@media print {
  .bm-header { position: static; filter: none; }
  .bm-slider__arrow, .bm-slider__dots, .bm-nav-toggle { display: none !important; }
}

/* BM REFERENCE LAYOUT V2 - APPENDED OVERRIDES */
/*
 * IMPORTANT: THIS IS AN ADD-ON / OVERRIDE FILE, NOT THE COMPLETE THEME.
 * Paste it only at the END of the existing full Bharat Matka Theme CSS.
 * Never replace the complete Theme CSS with this file by itself.
 */
/* Custom Bharat Matka landing-page refinement based on the approved reference. */
:root{--bm-max:1180px;--bm-gutter:clamp(12px,2vw,22px);--bm-radius:12px;--bm-shadow:0 5px 16px rgba(30,39,88,.07)}
.bm-header__inner{min-height:52px;padding-top:5px;padding-bottom:5px}.bm-header .bm-logo{font-size:clamp(19px,2vw,25px)}
.bm-nav__link{min-height:34px!important;padding:5px 14px!important;border:1px solid #e8eaf1;border-radius:999px;background:#fff;box-shadow:0 2px 7px rgba(31,36,89,.05);font-size:12px!important}
.bm-hero{margin-top:10px!important}.bm-slider__track{border-radius:8px!important;box-shadow:0 5px 18px rgba(31,36,89,.10)}
.bm-slide,a.bm-slide{aspect-ratio:3.35/1;min-height:170px;padding:12px clamp(14px,4vw,54px)}body a.bm-slide>img{object-fit:contain!important;background:#fff}
.bm-slider__arrow{width:36px;height:36px}.bm-slider__dots{margin-top:7px!important}.bm-trust{margin-top:10px!important;gap:6px!important}.bm-trust__item{min-height:34px!important;padding:5px 12px!important;font-size:11px!important}
.bm-section{margin-top:clamp(22px,3vw,34px)!important}.bm-panel{padding:clamp(14px,2vw,22px);border-radius:10px}.bm-install .bm-panel{border-color:#dfe2ea;box-shadow:0 5px 16px rgba(31,36,89,.06)}
.bm-install__badge-row{margin:0 0 8px!important}.bm-store-badge{transform:scale(.9);transform-origin:center}.bm-shots{max-width:1030px;padding:1% 3%;gap:4%}.bm-phone{border-width:3px;border-radius:clamp(16px,2.4vw,28px);box-shadow:0 6px 18px rgba(15,23,42,.11)}
.bm-install__title{margin-top:12px!important;font-size:13px!important}.bm-install__steps{font-size:11px!important;line-height:1.45!important}
.bm-title{font-size:clamp(24px,3vw,33px);letter-spacing:.01em}.bm-subtitle{margin-top:3px!important;font-size:12px!important}
.bm-rates{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.bm-rate{min-height:44px;padding:5px 14px;border-radius:8px;box-shadow:0 3px 9px rgba(31,36,89,.055)}.bm-rate::before{flex-basis:17px;height:17px}.bm-rate__name{font-size:13px}.bm-rate__value{font-size:12px}
.bm-anchor-latest-results{margin-bottom:12px!important}body .wrap>.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:0}
body .grid .today-result-card{min-height:132px;padding:14px 15px 12px;border-radius:10px;background:#fff;box-shadow:0 4px 13px rgba(31,36,89,.065)}
body .grid .today-result-card::before{height:3px;opacity:.9}body .grid .today-result-card::after{display:none}body .grid .today-result-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(31,36,89,.11)}
body .grid .today-result-card>h2{max-width:calc(100% - 103px);margin:2px 0 5px;font-size:14px;line-height:1.2;text-transform:uppercase;letter-spacing:0}
body .grid .today-result-card .today-market-info{width:18px;height:18px;min-height:18px;flex-basis:18px;font-size:10px;background:#fff;box-shadow:none}
body .grid .today-result-card>.today-result{min-height:28px;margin:0 0 8px;gap:5px;font-size:14px;letter-spacing:.01em}
body .grid .today-result-card>.today-result>strong{min-width:auto;min-height:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#2f2aa0;font-size:15px}
body .grid .today-result-card>.today-result-pending>strong{background:none;color:#a1a8ba}
body .grid .today-result-card>.today-play-action{top:15px;right:14px;min-width:88px;min-height:34px;padding:0 12px;font-size:12px}body .grid .today-result-card>.today-play-action.is-play-open{box-shadow:0 5px 12px rgba(47,42,160,.2)}body .grid .today-result-card>.today-play-action .today-play-icon{font-size:9px!important}
body .grid .today-result-card>.today-chart-action{min-height:30px;padding:3px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#d87900;font-size:11px;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:2px;text-underline-offset:5px}
body .grid .today-result-card>.today-chart-action::after{content:none}body .grid .today-result-card>.today-chart-action:hover{transform:none;background:transparent;color:#2f2aa0}
.market-schedule-dialog{border-radius:16px!important}.bm-footer{margin-top:34px}.bm-footer__inner{padding-top:24px;padding-bottom:18px}.bm-footer p{max-width:850px;margin-left:auto;margin-right:auto;font-size:11px}.bm-footer .bm-footer__links a{min-height:36px;font-size:12px}.bm-footer__copy{font-size:11px!important}
@media(max-width:900px){body .wrap>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.bm-rates{grid-template-columns:1fr}body .wrap>.grid{grid-template-columns:1fr;gap:10px}body .grid .today-result-card{min-height:128px}.bm-slide,a.bm-slide{aspect-ratio:2.2/1;min-height:155px}.bm-nav__link{border:0;border-radius:7px;box-shadow:none}}
@media(prefers-reduced-motion:reduce){body .grid .today-result-card{transform:none!important}}
/* END BM REFERENCE LAYOUT V2 */


/*
 * IMPORTANT: THIS IS AN ADD-ON / OVERRIDE FILE, NOT THE COMPLETE THEME.
 * Paste it only at the END of the existing full Bharat Matka Theme CSS.
 * Never replace the complete Theme CSS with this file by itself.
 */
/* Custom Bharat Matka landing-page refinement based on the approved reference. */
:root{--bm-max:1180px;--bm-gutter:clamp(12px,2vw,22px);--bm-radius:12px;--bm-shadow:0 5px 16px rgba(30,39,88,.07)}
.bm-header__inner{min-height:52px;padding-top:5px;padding-bottom:5px}.bm-header .bm-logo{font-size:clamp(19px,2vw,25px)}
.bm-nav__link{min-height:34px!important;padding:5px 14px!important;border:1px solid #e8eaf1;border-radius:999px;background:#fff;box-shadow:0 2px 7px rgba(31,36,89,.05);font-size:12px!important}
.bm-hero{margin-top:10px!important}.bm-slider__track{border-radius:8px!important;box-shadow:0 5px 18px rgba(31,36,89,.10)}
.bm-slide,a.bm-slide{aspect-ratio:3.35/1;min-height:170px;padding:12px clamp(14px,4vw,54px)}body a.bm-slide>img{object-fit:contain!important;background:#fff}
.bm-slider__arrow{width:36px;height:36px}.bm-slider__dots{margin-top:7px!important}.bm-trust{margin-top:10px!important;gap:6px!important}.bm-trust__item{min-height:34px!important;padding:5px 12px!important;font-size:11px!important}
.bm-section{margin-top:clamp(22px,3vw,34px)!important}.bm-panel{padding:clamp(14px,2vw,22px);border-radius:10px}.bm-install .bm-panel{border-color:#dfe2ea;box-shadow:0 5px 16px rgba(31,36,89,.06)}
.bm-install__badge-row{margin:0 0 8px!important}.bm-store-badge{transform:scale(.9);transform-origin:center}.bm-shots{max-width:1030px;padding:1% 3%;gap:4%}.bm-phone{border-width:3px;border-radius:clamp(16px,2.4vw,28px);box-shadow:0 6px 18px rgba(15,23,42,.11)}
.bm-install__title{margin-top:12px!important;font-size:13px!important}.bm-install__steps{font-size:11px!important;line-height:1.45!important}
.bm-title{font-size:clamp(24px,3vw,33px);letter-spacing:.01em}.bm-subtitle{margin-top:3px!important;font-size:12px!important}
.bm-rates{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.bm-rate{min-height:44px;padding:5px 14px;border-radius:8px;box-shadow:0 3px 9px rgba(31,36,89,.055)}.bm-rate::before{flex-basis:17px;height:17px}.bm-rate__name{font-size:13px}.bm-rate__value{font-size:12px}
.bm-anchor-latest-results{margin-bottom:12px!important}body .wrap>.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:0}
body .grid .today-result-card{min-height:132px;padding:14px 15px 12px;border-radius:10px;background:#fff;box-shadow:0 4px 13px rgba(31,36,89,.065)}
body .grid .today-result-card::before{height:3px;opacity:.9}body .grid .today-result-card::after{display:none}body .grid .today-result-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(31,36,89,.11)}
body .grid .today-result-card>h2{max-width:calc(100% - 103px);margin:2px 0 5px;font-size:14px;line-height:1.2;text-transform:uppercase;letter-spacing:0}
body .grid .today-result-card .today-market-info{width:18px;height:18px;min-height:18px;flex-basis:18px;font-size:10px;background:#fff;box-shadow:none}
body .grid .today-result-card>.today-result{min-height:28px;margin:0 0 8px;gap:5px;font-size:14px;letter-spacing:.01em}
body .grid .today-result-card>.today-result>strong{min-width:auto;min-height:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#2f2aa0;font-size:15px}
body .grid .today-result-card>.today-result-pending>strong{background:none;color:#a1a8ba}
body .grid .today-result-card>.today-play-action{top:15px;right:14px;min-width:88px;min-height:34px;padding:0 12px;font-size:12px}body .grid .today-result-card>.today-play-action.is-play-open{box-shadow:0 5px 12px rgba(47,42,160,.2)}body .grid .today-result-card>.today-play-action .today-play-icon{font-size:9px!important}
body .grid .today-result-card>.today-chart-action{min-height:30px;padding:3px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#d87900;font-size:11px;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:2px;text-underline-offset:5px}
body .grid .today-result-card>.today-chart-action::after{content:none}body .grid .today-result-card>.today-chart-action:hover{transform:none;background:transparent;color:#2f2aa0}
.market-schedule-dialog{border-radius:16px!important}.bm-footer{margin-top:34px}.bm-footer__inner{padding-top:24px;padding-bottom:18px}.bm-footer p{max-width:850px;margin-left:auto;margin-right:auto;font-size:11px}.bm-footer .bm-footer__links a{min-height:36px;font-size:12px}.bm-footer__copy{font-size:11px!important}
@media(max-width:900px){body .wrap>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.bm-rates{grid-template-columns:1fr}body .wrap>.grid{grid-template-columns:1fr;gap:10px}body .grid .today-result-card{min-height:128px}.bm-slide,a.bm-slide{aspect-ratio:2.2/1;min-height:155px}.bm-nav__link{border:0;border-radius:7px;box-shadow:none}}
@media(prefers-reduced-motion:reduce){body .grid .today-result-card{transform:none!important}}