/* Base points style */
.driver-points {
    display: inline-block;
    min-width: 40px;
    text-align: center;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
}

/* Highlight when bonus applied */
.driver-points.bonus-highlight {
    background-color: #e6f7e6;  /* soft green, blends with table striping */
    border: 1px solid #4CAF50;
    font-weight: 600;
    color: #256029;
    box-shadow: inset 0 0 3px rgba(76, 175, 80, 0.4);
}

/* Matches DataTables hover effect */
table.dataTable tbody tr:hover .driver-points.bonus-highlight {
    background-color: #d0f2d0;
    border-color: #2e7d32;
}

/* Keep consistency in admin */
.wp-list-table .driver-points.bonus-highlight {
    background-color: #d1ffd1;
    border: 2px solid #4CAF50;
    font-weight: bold;
}

.driver-points {
    padding: 2px 6px;
    border-radius: 3px;
    font-weight: normal;
    text-align: center;
}

.driver-points.bonus-highlight {
    background: #e7ffe7;   /* pale green background */
    border: 2px solid #4CAF50;
    font-weight: bold;
    color: #2e7d32;
}

/* Charts */
.mrm-chart-wrap {
    width: 100%;
    max-width: 100%;
    position: relative;
}

/* Driver pages */
.mrm-driver-page { max-width: 1100px; margin: 0 auto; }
.mrm-driver-header { display: flex; gap: 16px; align-items: center; margin: 18px 0; }
.mrm-driver-avatar { width: 84px; height: 84px; object-fit: cover; border-radius: 999px; border: 1px solid rgba(0,0,0,0.12); }
.mrm-driver-name { margin: 0; }
.mrm-driver-sub { display: flex; gap: 12px; opacity: 0.85; }
.mrm-driver-nav { margin-top: 6px; }
.mrm-driver-charts { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 900px) { .mrm-driver-charts { grid-template-columns: 1fr 1fr; } }
.mrm-chart-card { padding: 10px; border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; background: rgba(255,255,255,0.6); }

/* Driver filters */
.mrm-driver-filters { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; margin: 12px 0 18px; padding: 10px; border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; background: rgba(255,255,255,0.6); }
.mrm-filter-field { display: flex; flex-direction: column; gap: 4px; }
.mrm-filter-field label { font-size: 13px; opacity: 0.85; }
.mrm-filter-field select { min-width: 180px; padding: 6px 8px; }
.mrm-filter-actions { margin-left: auto; }

/* Career summary */
.mrm-stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0 18px; }
@media (min-width: 900px) { .mrm-stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mrm-stat-card { padding: 12px; border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; background: rgba(255,255,255,0.6); }
.mrm-stat-label { font-size: 12px; opacity: 0.75; }
.mrm-stat-value { font-size: 22px; font-weight: 700; margin-top: 4px; }
.mrm-stat-sub { font-size: 12px; opacity: 0.75; margin-top: 2px; }

/* Track performance */
.mrm-track-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 16px 0 8px; }
@media (min-width: 900px) { .mrm-track-grid { grid-template-columns: 1fr 1fr; } }
.mrm-section-title { margin: 22px 0 10px; }


/* Track thumbnail in events list */
/*
.mrm-track-cell{display:flex;gap:8px;align-items:center;}
.mrm-track-thumb{width:72px;height:40px;object-fit:cover;border-radius:6px;border:1px solid rgba(0,0,0,0.12);}
*/
.mrm-track-cell{
  width: 160px;   /* adjust as needed */
  display:flex;
  gap:10px;
  align-items:center;
  background-color: white;
}

.mrm-track-thumb{
  width: auto;      /* increase thumbnail size if you want */
  height:60px;
  border-radius:8px;
  flex:0 0 auto;
}

.mrm-track-cell span{
  white-space:normal;     /* allow wrapping */
  line-height:1.2;
}


/* ============================= */
/* Base table */
/* ============================= */
.mrm-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: white;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  overflow: hidden;
  font-size: 14px;
}

/* Header */
.mrm-table thead th {
  background: #eeeded;
  font-weight: 600;
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(0,0,0,.12);
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 2;
  background: inherit; /* keeps your theme background */
}

/* Cells */
.mrm-table td {
  padding: 9px 12px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  vertical-align: middle;
}

/* Sticky first column (Driver/Team) */
.mrm-table th:first-child,
.mrm-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  background: inherit;
}

/* Last row cleanup */
.mrm-table tbody tr:last-child td {
  border-bottom: none;
}

/* Striped */
.mrm-table--striped tbody tr:nth-child(even) td {
  background: rgba(0,0,0,.025);
}

/* Hover */
.mrm-table tbody tr:hover td {
  background: rgba(0,0,0,.045);
}

.mrm-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Compact */
.mrm-table--compact thead th,
.mrm-table--compact td {
  padding: 6px 9px;
  font-size: 13px;
}

/* Alignment helpers */
.mrm-col-center { text-align: center; }
.mrm-col-right  { text-align: right; }

/* Prevent wrapping */
.mrm-nowrap { white-space: nowrap; }

/* Reduce padding on small screens */
@media (max-width: 640px) {
  .mrm-table th, .mrm-table td {
    padding: 8px 10px;
    font-size: 13px;
    white-space: nowrap;
  }
}

/* Mobile scroll wrapper */
.mrm-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 8px 0 16px;
}

.mrm-car-image {
  width: auto;
  max-width: 120px;
  height: 40px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,0.12);
  background-color: black;
}

.mrm-car-image img.mrm-car-image {
  width: auto;
  max-width: 120px;
  height: 40px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,0.12);
  background-color: black;
}

/* Race page track image */
.mrm-race-page .mrm-track-image {
  max-width: 520px;     /* 👈 control size here */
  width: 100%;
  max-height: 200px;
  height: auto;
  margin: 0 auto 16px;  /* center it */
  display: block;
  border-radius: 12px;
}

/* ============================= */
/* Event page: Podium highlights */
/* ============================= */
.mrm-race-highlights{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(0,0,0,0.08);
  display:flex;
  flex-direction:column;
  gap:8px;
}

.mrm-podium{
  display:grid;
  flex:auto;
  gap:8px;
  align-items:end;
}

.mrm-podium-step{
  border:1px solid rgba(0,0,0,0.10);
  border-radius:12px;
  background: rgba(255,255,255,0.75);
  padding:8px 8px 7px;
  min-height:52px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  text-align:center;
}

.mrm-podium-1{ min-height:64px; font-weight:700; }
.mrm-podium-2{ min-height:56px; }
.mrm-podium-3{ min-height:54px; }

.mrm-medal{ font-size:20px; line-height:1; margin-bottom:4px; }
.mrm-podium-name{ font-size:12px; line-height:1.15; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.mrm-race-awards{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.mrm-award{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.65);
  font-size:12px;
  line-height:1;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width: 420px){
  .mrm-podium{ grid-template-columns: 1fr; }
  .mrm-podium-step{ text-align:left; flex-direction:row; align-items:center; justify-content:flex-start; gap:10px; min-height:auto; }
  .mrm-medal{ margin:0; }
  .mrm-podium-name{ white-space:normal; }
}

/* ============================= */
/* Race page track image */
/* ============================= */
.mrm-race-page img.mrm-track-image {
  max-width: 520px;
  width: auto;
  max-height: 200px;
  height: auto;
  display: block;
  margin: 14px auto;
  border-radius: 12px;
}

/* ============================= */
/* Race-like summary (podium + awards + movers) */
/* ============================= */
.mrm-race-like-summary {
  margin: 10px 0 14px;
}

.mrm-podium-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
@media (min-width: 900px) {
  .mrm-podium-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.mrm-podium-card {
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 14px;
  background: rgba(255,255,255,0.7);
  padding: 12px;
}

.mrm-podium-rank {
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  margin-bottom: 6px;
}
.mrm-podium-rank span { opacity: 0.75; font-weight: 700; }

.mrm-podium-name {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
}
.mrm-podium-sub {
  font-size: 12px;
  opacity: 0.8;
  margin-top: 4px;
}

.mrm-awards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media (min-width: 900px) {
  .mrm-awards-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.mrm-award-card {
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 14px;
  background: rgba(255,255,255,0.7);
  padding: 12px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.mrm-award-icon {
  font-size: 18px;
  line-height: 1;
  margin-top: 2px;
}

.mrm-award-label {
  font-size: 12px;
  opacity: 0.75;
}

.mrm-award-who {
  font-size: 14px;
  font-weight: 800;
  margin-top: 4px;
}

.mrm-award-val {
  font-size: 12px;
  opacity: 0.8;
  margin-top: 2px;
}

.mrm-movers-list {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.mrm-movers-list li {
  font-size: 12px;
  margin: 6px 0;
  line-height: 1.25;
}

.mrm-movers-badge {
  display: inline-block;
  min-width: 34px;
  text-align: center;
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.14);
  font-weight: 800;
  margin-right: 6px;
}

.mrm-movers-sub {
  opacity: 0.7;
  margin-left: 4px;
}

.mrm-podium-link{display:block;color:inherit;text-decoration:none;cursor:pointer;}
.mrm-podium-link:hover{box-shadow:0 8px 20px rgba(0,0,0,0.08);transform:translateY(-1px);}



/* Points transparency helper */
.mrm-points-detail{font-size:11px;color:#666;line-height:1.2;}

/* Standings chart toggle */
.mrm-standings-chart-toggle .button{
  cursor:pointer;
}
.mrm-standings-chart-toggle .mrm-active{
  font-weight:700;
  box-shadow: inset 0 0 0 2px currentColor;
}


/* Team standings logo */
.mrm-team-cell{display:flex;align-items:center;gap:10px;}
.mrm-team-logo{width:26px;height:26px;border-radius:8px;border:1px solid rgba(0,0,0,0.12);background:#fff;flex:0 0 auto;}

.mrm-team-link{color:inherit;text-decoration:none;}
.mrm-team-link:hover{text-decoration:underline;}



/* =============================
   Room Grouping (Event Page)
   ============================= */
.mrm-room-group{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  background: rgba(255,255,255,0.65);
  padding: 14px;
  margin: 16px 0 18px;
}

.mrm-room-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin: 0 0 10px;
}

.mrm-room-title{
  font-weight: 800;
  font-size: 16px;
  letter-spacing: .2px;
}

.mrm-room-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size: 12px;
  opacity: .85;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.08);
}

.mrm-room-subhead{
  margin: 12px 0 8px;
  font-size: 14px;
  font-weight: 700;
}

.mrm-muted{ opacity: .75; }

/* Race block inside a room group (replaces inline styles) */
.mrm-race-block{
  margin: 14px 0;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  background: rgba(255,255,255,0.75);
}


/* Room visual wrapper (groups podium + overall + races for a room) */
.mrm-room-visual-wrapper{
  border: 2px solid rgba(0,0,0,.10);
  padding: 16px;
  margin: 12px 0 26px;
  border-radius: 14px;
  background: rgba(255,255,255,0.55);
}

.mrm-room-subhead{
  margin-top: 4px;
  font-size: 12px;
  opacity: .75;
}


/* ------------------------------------------------------------
 * MRM "Private" notice (used when public shortcodes are disabled)
 * ------------------------------------------------------------ */
.mrm-private-notice {
    display: flex;
    gap: 12px;
    padding: 14px 16px;
    margin: 12px 0;
    border: 1px solid rgba(0,0,0,0.08);
    border-left: 4px solid var(--mrm-primary, #0B5FFF);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.mrm-private-notice__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--mrm-primary, #0B5FFF);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
    height: fit-content;
}

.mrm-private-notice__icon svg {
    display: block;
}

.mrm-private-notice__icon svg path {
    fill: currentColor;
}

.mrm-private-notice__content {
    min-width: 0;
}

.mrm-private-notice__title {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 2px 0;
    color: #111827;
}

.mrm-private-notice__body {
    font-size: 14px;
    line-height: 1.45;
    color: #374151;
}

@media (max-width: 480px) {
    .mrm-private-notice {
        flex-direction: column;
    }
    .mrm-private-notice__badge {
        align-self: flex-start;
    }
}



/* --------------------------------------------------------------------------
 * MRM SaaS Signup + Notices
 * -------------------------------------------------------------------------- */
.mrm-notice{
  border:1px solid rgba(0,0,0,0.12);
  border-left:6px solid var(--mrm-primary, #0B5FFF);
  background: rgba(0,0,0,0.03);
  padding:12px 14px;
  border-radius:10px;
  margin:12px 0;
  font-size:14px;
}
.mrm-notice--success{ border-left-color: #16a34a; }
.mrm-notice--error{ border-left-color: #dc2626; }
.mrm-notice--info{ border-left-color: var(--mrm-primary, #0B5FFF); }

.mrm-signup{
  max-width: 560px;
  margin: 0 auto;
}
.mrm-signup__form{
  border:1px solid rgba(0,0,0,0.10);
  border-radius:14px;
  padding:16px;
  background: rgba(255,255,255,0.8);
}
.mrm-signup__field{ margin: 0 0 14px 0; }
.mrm-signup__field label{
  font-weight: 600;
  display:inline-block;
  margin-bottom:6px;
}
.mrm-signup__field input[type="text"],
.mrm-signup__field input[type="email"],
.mrm-signup__field input[type="password"],
.mrm-signup__field input[type="url"]{
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,0.18);
  border-radius: 10px;
  font-size: 15px;
}
.mrm-signup__field small{
  display:block;
  opacity:0.75;
  margin-top:6px;
}
.mrm-signup__terms label{
  font-weight: 500;
}
.mrm-signup__submit{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin: 10px 0 0 0;
}
.mrm-signup__submit button{
  background: var(--mrm-primary, #0B5FFF);
  color:#fff;
  border:none;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight:700;
  cursor:pointer;
}
.mrm-signup__submit button:hover{
  filter: brightness(0.95);
}


/* Signup CAPTCHA */
.mrm-signup__captcha {
  margin: 14px 0;
}

