/* Blessed FM site-wide dark radio theme */
:root {
  --bfm-bg: #0a0a0a;
  --bfm-elev: #111111;
  --bfm-card: #161616;
  --bfm-cream: #f5f2eb;
  --bfm-muted: #9a958c;
  --bfm-gold: #c9a84c;
  --bfm-blue: #3d7dff;
  --bfm-border: rgba(245, 242, 235, 0.08);
}

html,
body.home,
body.page,
body,
.elementor-kit-6,
.elementor-page {
  background: var(--bfm-bg) !important;
  color: var(--bfm-cream) !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif !important;
}

body {
  padding-bottom: 90px;
}

a {
  color: var(--bfm-gold);
}
a:hover {
  color: #e3c56a;
}

/* Header / nav */
header,
.elementor-location-header,
.elementor-location-header .e-con,
.elementor-location-header .elementor-element,
.site-header,
#masthead {
  background: rgba(10, 10, 10, 0.92) !important;
  color: var(--bfm-cream) !important;
  border-bottom: 1px solid var(--bfm-border) !important;
  backdrop-filter: blur(12px);
}

.elementor-nav-menu a,
.elementor-nav-menu--main .elementor-item,
.elementor-widget-nav-menu a {
  color: var(--bfm-cream) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em;
}

.elementor-nav-menu a:hover,
.elementor-item.elementor-item-active {
  color: var(--bfm-gold) !important;
}

/* Main Elementor sections */
.elementor-section,
.e-con,
.elementor-widget-wrap,
.elementor-element {
  background-color: transparent !important;
}

.elementor-element[data-settings*="background"],
.e-con.e-flex {
  background-image: none !important;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
  color: var(--bfm-cream) !important;
  font-family: Inter, system-ui, sans-serif !important;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-icon-list-text,
p, li {
  color: var(--bfm-muted) !important;
}

/* Hero: flatten the giant white rounded card */
.elementor-element[style*="background"],
.e-con[style*="background-color"] {
  background-color: transparent !important;
}

body .e-con,
body .elementor-section {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Pricing / ads cards */
.wpr-pricing-table-item,
.elementor-widget-container .wpr-pricing-table,
.elementor-widget-image-box,
.elementor-image-box-wrapper,
.elementor-widget-icon-box {
  background: var(--bfm-card) !important;
  border: 1px solid var(--bfm-border) !important;
  border-radius: 16px !important;
  color: var(--bfm-cream) !important;
}

.wpr-pricing-table-title,
.wpr-pricing-table-price,
.wpr-pricing-table-feature {
  color: var(--bfm-cream) !important;
}

.elementor-button,
.elementor-button-link,
button[type="submit"],
input[type="submit"] {
  background: var(--bfm-gold) !important;
  color: #111 !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
}

.elementor-button:hover,
button[type="submit"]:hover {
  background: #e3c56a !important;
  color: #111 !important;
}

/* Forms */
input, textarea, select {
  background: #1a1a1a !important;
  color: var(--bfm-cream) !important;
  border: 1px solid var(--bfm-border) !important;
  border-radius: 10px !important;
}

/* Footer */
footer,
.elementor-location-footer,
.elementor-location-footer .e-con,
.site-footer {
  background: #080808 !important;
  color: var(--bfm-muted) !important;
  border-top: 1px solid var(--bfm-border) !important;
}

.elementor-location-footer .elementor-heading-title,
.elementor-location-footer a {
  color: var(--bfm-cream) !important;
}

/* Images / logos on dark */
.elementor-widget-image img {
  background: transparent !important;
}

/* Hide leftover empty recently-played chrome if present as blank white slabs */
.elementor-widget-html iframe[src*="onlineradiobox"] {
  filter: none;
}

/* Radio station embed */
.bfm-radio-station {
  background: var(--bfm-bg);
  color: var(--bfm-cream);
  font-family: Inter, system-ui, sans-serif;
  padding: 12px 16px 48px;
  margin: 0;
}
.bfm-rs-inner { max-width: 1100px; margin: 0 auto; }
.bfm-rs-kicker {
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 11px;
  color: var(--bfm-gold);
  font-weight: 700;
}
.bfm-rs-title {
  margin: 6px 0 4px;
  font-size: 34px;
  line-height: 1.1;
  font-weight: 800;
  color: var(--bfm-cream) !important;
}
.bfm-rs-sub { color: var(--bfm-muted); margin: 0 0 18px; font-size: 14px; }
.bfm-now {
  display: flex;
  gap: 14px;
  align-items: center;
  background: var(--bfm-elev);
  border: 1px solid var(--bfm-border);
  border-radius: 16px;
  padding: 16px 18px;
  margin-bottom: 18px;
}
.bfm-now-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 0 6px rgba(239, 68, 68, 0.15);
  flex: 0 0 auto;
}
.bfm-now-label {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #ef4444;
  font-weight: 700;
}
.bfm-now-title { font-weight: 700; font-size: 16px; color: var(--bfm-cream); }
.bfm-now-artist { color: var(--bfm-muted); font-size: 13px; }
.bfm-panels { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 16px; }
.bfm-card {
  background: var(--bfm-elev);
  border: 1px solid var(--bfm-border);
  border-radius: 16px;
  overflow: hidden;
  min-height: 420px;
  display: flex;
  flex-direction: column;
}
.bfm-card-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 16px 16px 8px;
}
.bfm-card-head h3 {
  margin: 0;
  font-size: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bfm-cream) !important;
}
.bfm-card-head span { color: var(--bfm-muted); font-size: 12px; }
.bfm-day-bar {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 16px 12px;
  scrollbar-width: none;
}
.bfm-day-bar::-webkit-scrollbar { display: none; }
.bfm-day-btn {
  flex: 0 0 auto;
  border: 1px solid var(--bfm-border);
  background: transparent;
  color: var(--bfm-cream);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 12px;
  cursor: pointer;
}
.bfm-day-btn.active {
  background: var(--bfm-gold);
  color: #111;
  border-color: var(--bfm-gold);
  font-weight: 700;
}
.bfm-track-list {
  flex: 1;
  overflow: auto;
  max-height: 520px;
  padding: 0 8px 12px;
}
.bfm-track {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 10px;
  padding: 10px 8px;
  border-bottom: 1px solid var(--bfm-border);
  align-items: center;
}
#blessedfm-chart .bfm-track { grid-template-columns: 36px 72px 1fr; }
.bfm-rank { font-weight: 800; color: var(--bfm-gold); font-size: 14px; }
.bfm-time, .bfm-spins { color: var(--bfm-muted); font-size: 12px; }
.bfm-t { font-weight: 600; font-size: 14px; color: var(--bfm-cream); }
.bfm-a { color: var(--bfm-muted); font-size: 12px; margin-top: 2px; }
.bfm-source { margin: 0; padding: 10px 16px 14px; color: var(--bfm-muted); font-size: 12px; }
.bfm-source a { color: var(--bfm-gold); }

@media (max-width: 860px) {
  .bfm-panels { grid-template-columns: 1fr; }
  .bfm-rs-title { font-size: 28px; }
}
