.rrd-note{font-size:.9rem;color:#555;margin:.5rem 0 1rem}
.rrd-table{width:100%;border-collapse:collapse;font-size:14px}
.rrd-table th,.rrd-table td{border:1px solid #ddd;padding:.6rem .5rem;vertical-align:top}
.rrd-table thead th{background:#f5f5f7;font-weight:600;text-align:left}
.rrd-table tbody tr:nth-child(even){background:#fafafa}
.rrd-table select.rrd-score{width:100%;max-width:110px;padding:.35rem;border:1px solid #ccc;border-radius:4px;background:#fff}

.rrd-table-wrap{overflow-x:auto}



/* ===== JUDGE PAGE MOBILE FIXES (page id 114) ===== */
@media (max-width: 800px){
  /* kill theme gutters */
  .page-id-114 .wp-site-blocks{
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .page-id-114 .entry-content,
  .page-id-114 .alignfull,
  .page-id-114 .alignwide{
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  /* our wrappers/tables must never exceed viewport */
  .page-id-114 .rrd-judge-wrap,
  .page-id-114 .rrd-super-wrap{
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .page-id-114 .rrd-table-wrap{
    overflow-x: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .page-id-114 .rrd-table{
    width: 100% !important;
    table-layout: fixed;         /* prevent columns from stretching width */
  }
  .page-id-114 .rrd-table td{ padding-left: .5rem; padding-right: .5rem; }
}

/* global safety */
html, body { overflow-x: hidden; }



/* Mobile: stack cells with labels */
@media (max-width: 800px){
  .rrd-table thead{display:none}
  .rrd-table, .rrd-table tbody, .rrd-table tr, .rrd-table td{display:block;width:100%}
  .rrd-table tr{margin:0 0 .9rem;border:1px solid #eee;border-radius:8px;overflow:hidden}
  .rrd-table td{border:none;border-bottom:1px solid #eee}
  .rrd-table td:last-child{border-bottom:none}
  .rrd-table td[data-label]::before{
    content: attr(data-label) " ";
    font-weight:600; display:block; margin-bottom:.25rem; color:#333;
  }
  .rrd-table select.rrd-score{max-width:100%}
}

.rrd-table td .rrd-judge-mini{
  font-size: 0.8em;
  color: #666;
  margin-top: 2px;
  line-height: 1.1;
  white-space: nowrap;
}

/* keep score + judge name on one line, even on mobile */
.rrd-score-inline{
  display: inline-block;      /* prevents theme turning inner spans into blocks */
  white-space: nowrap;        /* keep together */
  line-height: 1.2;
}

.rrd-judge-inline{
  display: inline !important; /* override themes that blockify spans in tables */
  color: #666;
  font-size: 0.85em;
  margin-left: 6px;
}

/* Keep judge score and name on one line in every layout */
.rrd-judgecell{
  display: flex !important;     /* override theme/mobile block layout */
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;          /* don't wrap between score and name */
}

.rrd-judgecell .name{
  color: #666;
  font-size: 0.85em;
}

/* Prevent horizontal swiping/scroll on mobile */
@media (max-width: 800px){
  html, body { overflow-x: hidden; }
  .rrd-table-wrap { 
    overflow-x: hidden;              /* no horizontal scroll area */
    -webkit-overflow-scrolling: auto;
    touch-action: pan-y;             /* vertical gestures only (supported on most modern mobile browsers) */
    overscroll-behavior-x: contain;  /* stop sideways bounce on Android/Chrome */
  }
  .rrd-table { width: 100%; }
}

/* Tighter card alignment on mobile */
@media (max-width: 800px){
  .rrd-table tr {
    margin-left: 0;          /* remove outer left gap */
    margin-right: 0;         /* optional: keeps symmetry */
    border-radius: 6px;      /* slightly smaller corners */
  }
  .rrd-table td {
    padding-left: 0.5rem;   /* narrower inner padding */
    padding-right: 0.5rem;
  }
  body, .rrd-judge-wrap {
    padding-left: 0.5rem;    /* less outer padding */
    padding-right: 0.5rem;
  }
}


/* Match Judge page margins and borders to Super Judge */
.rrd-judge-wrap{ max-width:100%; margin:0 auto; padding:0; border:none; background:transparent; }
.rrd-judge-wrap .rrd-table{ border-collapse:collapse; width:100%; margin:0; }
.rrd-judge-wrap .rrd-table th,
.rrd-judge-wrap .rrd-table td{ border:1px solid #ddd; background:#fff; }
.rrd-judge-wrap .rrd-table tbody tr:nth-child(even){ background:#fafafa; }
.rrd-table-wrap{ overflow-x:auto; padding:0; border:none; }



/* Judge/Super pages — keep everything inside the viewport on mobile */
@media (max-width: 800px){
  /* Replace PAGE_ID with the actual page id for your Judge page.
     Use body class like .page-id-123 (you can view source to find it) */
  .page-id-PAGE_ID .wp-site-blocks{
    /* remove big theme gutters; honor iOS safe areas */
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .page-id-PAGE_ID .entry-content{
    margin: 0 !important;
    padding: 0 !important;
  }
  .page-id-PAGE_ID .alignfull,
  .page-id-PAGE_ID .alignwide{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Our wrappers: no funny business, just fill the content width */
  .page-id-PAGE_ID .rrd-judge-wrap,
  .page-id-PAGE_ID .rrd-super-wrap{
    width: auto;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Tables should not expand past viewport */
  .page-id-PAGE_ID .rrd-table-wrap{ overflow-x: hidden; }
  .page-id-PAGE_ID .rrd-table{
    width: 100%;
    table-layout: fixed;   /* stops cells from blowing out width */
  }

  /* Small inner padding so borders don’t feel glued to the edge */
  .page-id-PAGE_ID .rrd-table td{ padding-left: .5rem; padding-right: .5rem; }
}

/* Global: prevent any accidental horizontal scroll */
html, body { overflow-x: hidden; }

/* ==== FINAL mobile fix for Judge page (ID 114) ==== */
@media (max-width: 800px){
  /* kill all block-theme gutters on this page */
  .page-id-114 .wp-site-blocks,
  .page-id-114 .wp-block-post-content,
  .page-id-114 main,
  .page-id-114 .is-layout-constrained,
  .page-id-114 .wp-block-group,
  .page-id-114 .wp-block-group__inner-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* our wrappers/tables must never exceed the viewport */
  .page-id-114 .rrd-judge-wrap,
  .page-id-114 .rrd-table-wrap,
  .page-id-114 .rrd-table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* selects shouldn’t push width */
  .page-id-114 .rrd-table select.rrd-score {
    width: 100% !important;
    max-width: none !important;s
  }
}

/* global safety */
html, body { overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }


/* SUPER JUDGE: show judge name beside score, compact layout */
.rrd-super-wrap .rrd-table td { padding: .2rem .3rem; } /* tighten spacing */
.rrd-judgecell {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}
.rrd-judgecell .name {
  color: #666;
  font-size: 0.85em;
}


/* SUPER JUDGE: always use the compact mobile/card layout */
.rrd-super-wrap .rrd-table thead { display: none; }

.rrd-super-wrap .rrd-table,
.rrd-super-wrap .rrd-table tbody,
.rrd-super-wrap .rrd-table tr,
.rrd-super-wrap .rrd-table td {
  display: block;
  width: 100%;
}

.rrd-super-wrap .rrd-table tr {
  margin: 0 0 .9rem;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
}

.rrd-super-wrap .rrd-table td {
  border: none;
  border-bottom: 1px solid #eee;
  padding: .2rem .2rem;      /* nice, tight spacing */
}

.rrd-super-wrap .rrd-table td:last-child { border-bottom: none; }

/* keep score + judge name on one line */
.rrd-super-wrap .rrd-judgecell {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}

.rrd-super-wrap .rrd-judgecell .name {
  color: #666;
  font-size: .85em;
}


/* === Tighten outer margins on Super Judge (desktop + mobile) === */
.rrd-super-wrap {
  margin: 0 !important;
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
  max-width: 100% !important;
}

.rrd-super-wrap .rrd-table tr {
  margin-left: 0 !important;
  margin-right: 0 !important;
}



/* === Super Judge: full-bleed edge-to-edge (desktop + mobile) === */
.rrd-super-wrap{
  /* break out of the theme’s centered container */
  width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;

  /* small, even inset so borders don’t touch glass */
  padding-left: max(8px, env(safe-area-inset-left)) !important;
  padding-right: max(8px, env(safe-area-inset-right)) !important;
}

.rrd-super-wrap .rrd-table,
.rrd-super-wrap .rrd-table-wrap{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.rrd-super-wrap .rrd-table *{
  box-sizing: border-box;
}

/* Optional: slightly tighter card sides */
@media (min-width: 801px){
  .rrd-super-wrap .rrd-table td{ padding-left:.6rem; padding-right:.6rem; }
}

/* === Fix lingering right-side inset on Super Judge === */
.rrd-super-wrap {
  margin-right: -0.5rem !important;   /* nudge out of container */
  padding-right: 0 !important;        /* remove internal gap */
}

@media (min-width: 801px) {
  .rrd-super-wrap {
    margin-right: -1rem !important;   /* slightly more on desktop */
  }
}


/* === Super Judge page fix (page-id-116) === */
.page-id-116 .wp-block-post-content,
.page-id-116 .entry-content,
.page-id-116 .wp-site-blocks,
.page-id-116 .is-layout-constrained,
.page-id-116 .has-global-padding {
  padding-right: 0 !important;
  margin-right: 0 !important;
}

/* Ensure our Super Judge content fills full width */
.page-id-116 .rrd-super-wrap {
  width: 100%;
  max-width: 100%;
  padding-right: 0 !important;
  margin-right: 0 !important;
}