/* 100% SCOPED: Regions Turnering UI */
.rt-ui{
  --rt-gold:#24963F;
  --rt-bg:#070708;
  --rt-card:#0f0f12;
  --rt-card2:#0b0b0e;
  --rt-text:#ffffff;
  --rt-muted:rgba(255,255,255,.65);

  --rt-gold-a95:rgba(36,150,63,.95);
  --rt-gold-a90:rgba(36,150,63,.90);
  --rt-gold-a85:rgba(36,150,63,.85);
  --rt-gold-a70:rgba(36,150,63,.70);
  --rt-gold-a55:rgba(36,150,63,.55);
  --rt-gold-a50:rgba(36,150,63,.50);
  --rt-gold-a45:rgba(36,150,63,.45);
  --rt-gold-a40:rgba(36,150,63,.40);
  --rt-gold-a35:rgba(36,150,63,.35);
  --rt-gold-a30:rgba(36,150,63,.30);
  --rt-gold-a28:rgba(36,150,63,.28);
  --rt-gold-a25:rgba(36,150,63,.25);
  --rt-gold-a22:rgba(36,150,63,.22);
  --rt-gold-a18:rgba(36,150,63,.18);
  --rt-gold-a16:rgba(36,150,63,.16);
  --rt-gold-a15:rgba(36,150,63,.15);
  --rt-gold-a14:rgba(36,150,63,.14);
  --rt-gold-a12:rgba(36,150,63,.12);
  --rt-gold-a10:rgba(36,150,63,.10);
  --rt-gold-a08:rgba(36,150,63,.08);
  --rt-gold-a07:rgba(36,150,63,.07);
  --rt-gold-a06:rgba(36,150,63,.06);

  color:var(--rt-text);
  background:transparent;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* UI1: keep portal views pinned to top even inside flex-centered builders */
.rt-ui.rtp-ui{
  align-self:flex-start;
  justify-self:flex-start;
  margin-top:10px;
}

/*
  Full-bleed wrapper: break out of narrow theme containers on specific pages.
  Use by adding class "rt-ui--fullbleed" to the outer .rt-ui wrapper.
  Keeps internal max-width via .rt-shell.
*/
.rt-ui.rt-ui--fullbleed{
  position: relative;
  overflow-x: clip;
  /* JS breakout vars (default off) */
  --rtp-breakout-left: 0px;
  --rtp-breakout-right: 0px;
  /* We still render the fixed viewport background via ::before,
     but we no longer force the UI to break out to 100vw.
     This way Elementor/shortcode width constraints (e.g. 70%) work. */
  background: transparent;
}

/* Optional full-bleed breakout (activated via JS by adding .rtp-breakout-active) */
.rt-ui.rt-ui--fullbleed.rtp-breakout-active{
  /* FULLWIDTH1: break out to viewport edges when the page builder/theme constrains the wrapper.
     JS measures left/right gaps and stores them in --rtp-breakout-left/right.
     We then expand width and offset margins to align to the viewport without changing inner layout. */
  max-width: none;
  width: calc(100% + var(--rtp-breakout-left) + var(--rtp-breakout-right));
  margin-left: calc(-1 * var(--rtp-breakout-left));
  margin-right: calc(-1 * var(--rtp-breakout-right));
}

/*
  Viewport background on one-page tournament view.
  Many themes keep the page background white and wrap content in a narrow container.
  We render a fixed full-viewport background here so nothing "behind" shines through.
*/
.rt-ui.rt-ui--fullbleed::before{
  content:"";
  position:fixed;
  inset:0;
  background: var(--rt-bg);
  /* Above theme "content" background, below RT UI */
  z-index:1;
  pointer-events:none;
}

.rt-ui.rt-ui--fullbleed .rt-shell{
  position:relative;
  z-index:2;
}

/* S4e: JS adds rtp-breakout-active on body when full-bleed breakout is active */
body.rtp-breakout-active{
  overflow-x:hidden;
}

@media (max-width: 720px){
  /* UI1: on small screens we use full width to avoid left/right gaps */
  .rt-ui .rt-shell{ width:100%; }

  .rt-ui.rt-ui--fullbleed .rt-shell{
    width:100%;
    margin:0;
    border-radius:0;
    padding-left:12px;
    padding-right:12px;
  }
}

@supports not (overflow: clip){
  .rt-ui.rt-ui--fullbleed{
    overflow-x:hidden;
  }
}

/* Breakout to viewport edges on mobile/tablet (only when JS adds .rtp-breakout-active)
   Uses a symmetric “50% - 50vw” technique to avoid skew.
*/
@media (max-width: 1024px){
  .rt-ui.rt-ui--fullbleed.rtp-breakout-active{
    /* FULLWIDTH1: keep breakout active on tablet/mobile too (measured gaps + overflow-x clip) */
    max-width: none;
    width: calc(100% + var(--rtp-breakout-left) + var(--rtp-breakout-right));
    margin-left: calc(-1 * var(--rtp-breakout-left));
    margin-right: calc(-1 * var(--rtp-breakout-right));
    transform: none;
  }

  html.rtp-breakout-active,
  body.rtp-breakout-active{
    overflow-x: clip;
  }
}

.rt-ui .rt-shell{
  /* UI1: make all views less narrow (requested: 90% width) */
  width:90%;
  max-width:1800px;
  margin:0 auto;
  /* tighter top spacing (requested: ~10px) */
  padding:10px 16px 44px;
  background: var(--rt-bg);
  border-radius: 18px;
}

/* S4: When fullbleed wrapper is used, let the internal shell use full available width.
   The outer wrapper may still be constrained by the theme, but JS breakout can expand it to viewport. */
.rt-ui.rt-ui--fullbleed .rt-shell{
  /* FULLWIDTH1: tournament views should use the full available width on PC/tablet/mobile */
  width:100%;
  max-width:none;
  margin:0;
}

/* Topbar */
.rt-ui .rt-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}

.rt-ui .rt-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.rt-ui .rt-logo{
  width:112px;
  height:112px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
}

.rt-ui .rt-logo-img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}


.rt-ui .rt-title{
  font-weight:900;
  color:var(--rt-gold);
  letter-spacing:.4px;
  text-transform:uppercase;
  font-size:14px;
}

.rt-ui .rt-subtitle{
  font-size:12px;
  color:var(--rt-muted);
  margin-top:2px;
}

.rt-ui .rt-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.rt-ui .rt-actions--left{
  justify-content:flex-start;
}

.rt-ui .rt-action{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}

.rt-ui .rt-action-sub{
  font-size:11px;
  line-height:1.1;
  color:var(--rt-muted);
  opacity:.95;
}

/* Buttons */
.rt-ui .rt-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  cursor:pointer;
  user-select:none;
  border-radius:12px;
  padding:10px 14px;
  font-weight:800;
  font-size:13px;
  letter-spacing:.2px;
  transition: all .15s ease;
}

.rt-ui .rt-btn-primary{
  background:var(--rt-gold);
  color:#000;
  box-shadow: 0 12px 35px rgba(0,0,0,.45);
}
.rt-ui .rt-btn-primary:hover{
  filter:brightness(.92);
  box-shadow: 0 12px 35px rgba(0,0,0,.45), 0 0 0 1px var(--rt-gold-a35);
}

.rt-ui .rt-btn-outline{
  background:transparent;
  color:#fff;
  border:1px solid var(--rt-gold-a55);
}
.rt-ui .rt-btn-outline:hover{
  background:var(--rt-gold-a06);
}

.rt-ui .rt-btn-lg{ padding:12px 16px; border-radius:12px; }
.rt-ui .rt-btn-sm{ padding:8px 12px; border-radius:10px; font-size:12px; }
.rt-ui .rt-btn-nowrap{ white-space:nowrap; }
.rt-ui .rt-block{ width:100%; }

/* Cards */
.rt-ui .rt-card,
.rt-ui .rt-hero-card{
  border-radius:18px;
  border:1px solid var(--rt-gold-a35);
  box-shadow:0 12px 35px rgba(0,0,0,.45);
  background:
    radial-gradient(120% 120% at 50% 20%, var(--rt-gold-a14), rgba(0,0,0,0)),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,0));
}

.rt-ui .rt-card{ padding:16px; max-width:100%; overflow:hidden; }

/* Guard: prevent inner content (tables/images/long strings) from overflowing cards */
.rt-ui .rt-card img{ max-width:100%; height:auto; }
.rt-ui .rt-card table{ max-width:100%; width:100%; }
.rt-ui .rt-card pre, .rt-ui .rt-card code{ max-width:100%; overflow:auto; }
.rt-ui .rt-card a{ overflow-wrap:anywhere; word-break:break-word; }

/* Hero (landing) */
.rt-ui .rt-hero{
  display:grid;
  grid-template-columns: 1.35fr .85fr;
  gap:14px;
  margin-top:10px;
}
.rt-ui .rt-hero-card{
  padding:18px 18px 16px;
}
.rt-ui .rt-hero-badge{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}
.rt-ui .rt-pill{
  border-radius:999px;
  border:1px solid var(--rt-gold-a45);
  background:var(--rt-gold-a06);
  color:var(--rt-gold);
  font-weight:900;
  font-size:11px;
  padding:6px 10px;
  letter-spacing:.3px;
}
.rt-ui .rt-h1{
  margin:0;
  color:var(--rt-gold);
  font-weight:900;
  letter-spacing:.4px;
  text-transform:uppercase;
  line-height:1.05;
  font-size:34px;
}
.rt-ui .rt-lead{
  margin:12px 0 16px;
  color:rgba(255,255,255,.70);
  font-size:14px;
  line-height:1.55;
}
.rt-ui .rt-hero-cta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:14px;
}

.rt-ui .rt-side{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.rt-ui .rt-card-head{ margin-bottom:10px; }

.rt-ui .rt-card-title{
  color:var(--rt-gold);
  font-weight:900;
  letter-spacing:.3px;
  text-transform:uppercase;
  font-size:14px;
}
.rt-ui .rt-card-sub{
  margin-top:4px;
  color:rgba(255,255,255,.65);
  font-size:12px;
}

/* Pricing */
.rt-ui .rt-price{
  margin:10px 0 12px;
  padding:12px;
  border-radius:14px;
  border:1px solid var(--rt-gold-a22);
  background:var(--rt-gold-a06);
}
.rt-ui .rt-price-big{
  font-size:18px;
  font-weight:900;
  letter-spacing:.2px;
  color:#fff;
}
.rt-ui .rt-price-small{
  margin-top:4px;
  color:rgba(255,255,255,.65);
  font-size:12px;
}

.rt-ui .rt-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:10px 0 14px;
}
.rt-ui .rt-list--room{ margin-top:14px; }
.rt-ui .rt-list-item{
  font-size:15px;
  color:rgba(255,255,255,.70);
}
.rt-ui .rt-muted-note{
  margin-top:10px;
  font-size:12px;
  color:rgba(255,255,255,.55);
}

/* Mini card */
.rt-ui .rt-mini-title{
  color:var(--rt-gold);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.3px;
  font-size:13px;
}
.rt-ui .rt-mini-text{
  margin-top:6px;
  color:rgba(255,255,255,.65);
  font-size:13px;
  line-height:1.5;
}

/* Metrics */
.rt-ui .rt-metrics{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
  margin-top:6px;
}
.rt-ui .rt-metric{
  border-radius:14px;
  border:1px solid var(--rt-gold-a22);
  background:linear-gradient(180deg, var(--rt-gold-a10), rgba(0,0,0,0));
  padding:12px;
  display:flex;
  gap:10px;
  align-items:center;
}
.rt-ui .rt-metric-num{
  width:34px;
  height:34px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--rt-gold-a10);
  border:1px solid var(--rt-gold-a35);
  color:var(--rt-gold);
  font-weight:900;
}
.rt-ui .rt-metric-text{
  font-size:12px;
  font-weight:900;
  letter-spacing:.2px;
  text-transform:uppercase;
  color:#fff;
}
.rt-ui .rt-metric-text span{
  display:block;
  margin-top:2px;
  font-weight:700;
  color:rgba(255,255,255,.65);
  text-transform:none;
}

/* Sections */
.rt-ui .rt-section{ margin-top:18px; }
.rt-ui .rt-section-head{
  margin:18px 2px 12px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.rt-ui .rt-h2{
  font-weight:900;
  color:var(--rt-gold);
  letter-spacing:.35px;
  text-transform:uppercase;
  font-size:18px;
}
.rt-ui .rt-muted{
  color:rgba(255,255,255,.65);
  font-size:13px;
}

.rt-ui .rt-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:12px;
}
.rt-ui .rt-grid-1{ grid-template-columns: 1fr; }
.rt-ui .rt-grid-2{ grid-template-columns: repeat(2, 1fr); }
.rt-ui .rt-grid-3{ grid-template-columns: repeat(3, 1fr); }

/* S4h: Pools grid stretch + de-conflict
   - Ensure the pools grid and cards always stretch full width of the section.
   - Use minmax(0,1fr) to prevent long content from forcing narrow columns.
   - Add !important to win over theme/Elementor styles that sometimes override grid sizing.
*/
.rt-ui .rt-grid.rt-grid-pools{
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  justify-content: stretch !important;
  align-items: start;
}
.rt-ui .rt-grid.rt-grid-pools > .rt-card{
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
.rt-ui .rt-grid.rt-grid-pools > .rt-card:only-child{ grid-column: 1 / -1; }
/* Tablet should still be 2 columns; drop to 1 column only on smaller phones */
@media (max-width: 599px){
  .rt-ui .rt-grid.rt-grid-pools{ grid-template-columns: 1fr !important; }
}
@media (max-width: 980px){
  .rt-ui .rt-grid-3{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .rt-ui .rt-grid-2,
  .rt-ui .rt-grid-3{ grid-template-columns: 1fr; }
}

/* Table card */
.rt-ui .rt-table-wrap{
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--rt-gold-a22);
}
.rt-ui .rt-table{
  width:100%;
  border-collapse:collapse;
}
.rt-ui .rt-table thead th{
  background:var(--rt-gold-a10);
  color:var(--rt-gold);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.2px;
  padding:10px 12px;
}
.rt-ui .rt-table td{
  padding:10px 12px;
  border-top:1px solid var(--rt-gold-a16);
  font-size:15px;
  color:#fff;
}
.rt-ui .rt-table tbody tr{ background: rgba(255,255,255,.01); }
.rt-ui .rt-table tbody tr:nth-child(even){ background: rgba(255,255,255,.02); }
.rt-ui .rt-table tbody tr:hover{ background: var(--rt-gold-a06); }
.rt-ui .rt-td-muted{ color:rgba(255,255,255,.65); }
.rt-ui .rt-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid var(--rt-gold-a45);
  background:var(--rt-gold-a06);
  color:var(--rt-gold);
  font-weight:900;
  padding:6px 10px;
  font-size:11px;
  letter-spacing:.3px;
}

.rt-ui .rt-badge-ico{ margin-right:6px; font-size:12px; line-height:1; transform: translateY(-.5px); }
.rt-ui .rt-badge--active{ background:var(--rt-gold); color:#000; border-color:var(--rt-gold-a90); }
.rt-ui .rt-badge--upcoming{ }
.rt-ui .rt-badge--locked{ background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.14); color:rgba(255,255,255,.82); }


/* Copy/QR tool row */
.rt-ui .rt-linktools{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:10px; }
.rt-ui .rt-linktools--spaced{ justify-content:flex-start; }
/* Tournament cards (dashboard) */
.rt-ui .rt-tcards{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.rt-ui .rt-tcard{
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border:1px solid var(--rt-gold-a18);
  border-radius:16px;
  padding:12px 14px;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}

.rt-ui .rt-tcard--locked{
  opacity:.78;
}

.rt-ui .rt-tcard-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  flex-wrap:wrap;
}

.rt-ui .rt-tcard-main{
  flex:1;
  min-width:220px;
}

.rt-ui .rt-tcard-title{
  font-size:15px;
  font-weight:900;
  letter-spacing:.2px;
  margin:0 0 4px 0;
  color:#fff;
}

.rt-ui .rt-tcard-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  font-size:12px;
}

.rt-ui .rt-dot{
  opacity:.55;
  padding:0 2px;
}

/* UIR7: simple status dot for dashboard event list */
.rt-ui .rt-sdot{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
  flex:0 0 auto;
  margin-right:8px;
  box-shadow:0 0 0 2px rgba(255,255,255,.08);
}
.rt-ui .rt-sdot--green{ background:#22c55e; }
.rt-ui .rt-sdot--yellow{ background:#fbbf24; }
.rt-ui .rt-sdot--red{ background:#ef4444; }


.rt-ui .rt-tcard-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
}

.rt-ui .rt-links-row{
  margin-top:10px;
}

/* Dashboard hero override */
.rt-ui .rt-hero--dash{
  grid-template-columns: 1fr 1fr;
  align-items:stretch;
}
.rt-ui .rt-note{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--rt-gold-a22);
  background:var(--rt-gold-a06);
  color:rgba(255,255,255,.65);
  font-size:12px;
  line-height:1.45;
}

.rt-ui .rt-divider{
  height:1px;
  background:var(--rt-gold-a16);
  margin:14px 0;
}

.rt-ui .rt-quick-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
}

/* Code block */
.rt-ui .rt-code{
  margin-top:10px;
  border-radius:14px;
  border:1px solid var(--rt-gold-a22);
  background:linear-gradient(180deg, var(--rt-gold-a10), rgba(0,0,0,0));
  padding:12px;
}
.rt-ui .rt-code-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding:6px 0;
  border-top:1px solid var(--rt-gold-a16);
}
.rt-ui .rt-code-line:first-child{ border-top:0; padding-top:0; }
.rt-ui .rt-code-label{
  color:var(--rt-gold);
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.2px;
}
.rt-ui code{
  color:#fff;
  background:#000;
  border:1px solid var(--rt-gold-a35);
  padding:4px 8px;
  border-radius:10px;
  font-size:12px;
}

/* FAQ (dashboard) */
.rt-ui .rt-faq{
  padding:0;
  overflow:hidden;
  border-radius:18px;
}
.rt-ui .rt-faq-top{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid var(--rt-gold-a16);
  background:linear-gradient(180deg, var(--rt-gold-a07), rgba(0,0,0,0));
}
.rt-ui .rt-faq-search{ flex:1; }
.rt-ui .rt-faq-admin-actions{ flex:0 0 auto; }

.rt-ui .rt-faq-list{ padding:0; }

.rt-ui .rt-faq-item{
  border-top:1px solid var(--rt-gold-a16);
}
.rt-ui .rt-faq-item:first-child{ border-top:0; }

.rt-ui .rt-faq-q{
  width:100%;
  text-align:left;
  background:transparent;
  border:0;
  color:#fff;
  padding:14px 16px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:900;
  letter-spacing:.2px;
}
.rt-ui .rt-faq-q:hover{ background:var(--rt-gold-a06); }
.rt-ui .rt-faq-qtext{ flex:1; }

.rt-ui .rt-faq-icon{
  color:var(--rt-gold);
  font-size:16px;
  font-weight:900;
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid var(--rt-gold-a28);
  background:var(--rt-gold-a10);
  flex:0 0 auto;
}

.rt-ui .rt-faq-a{
  padding:0 16px 14px;
  color:rgba(255,255,255,.65);
  font-size:13px;
  line-height:1.55;
}
.rt-ui .rt-faq-a[hidden]{ display:none; }

.rt-ui .rt-faq-item.is-open .rt-faq-q{
  background:var(--rt-gold-a06);
}

.rt-ui .rt-faq-msg{
  margin:12px 16px 16px;
}

.rt-ui .rt-faq-editor-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.rt-ui .rt-faq-editor-list{
  margin-top:12px;
}

.rt-ui .rt-faq-row{
  margin:0 0 12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.02);
}
.rt-ui .rt-faq-row.is-dragging{ opacity:.65; }

.rt-ui .rt-faq-row-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 10px;
}

.rt-ui .rt-faq-row-actions{
  display:flex;
  align-items:center;
  gap:6px;
}

.rt-ui .rt-faq-move{
  display:none;
  padding:0 10px;
  line-height:1;
  font-weight:900;
}
.rt-ui .rt-faq-drag{
  cursor:grab;
  user-select:none;
  color:rgba(255,255,255,.6);
  font-weight:900;
  letter-spacing:.3px;
}

/* Sorting UX: on touch/coarse pointers use up/down arrows instead of drag handle */
@media (pointer: coarse){
  .rt-ui .rt-faq-move{ display:inline-flex; }
  .rt-ui .rt-faq-drag{ display:none; }
}

/* Fallback hook (in case media query is not supported) */
.rt-ui .rt-faq-editor--coarse .rt-faq-move{ display:inline-flex; }
.rt-ui .rt-faq-editor--coarse .rt-faq-drag{ display:none; }
.rt-ui .rt-faq-io{
  margin-top:12px;
}
.rt-ui .rt-foot{ margin-top:10px; }

/* Responsive */
@media (max-width: 980px){
  .rt-ui .rt-hero{ grid-template-columns: 1fr; }
  .rt-ui .rt-hero--dash{ grid-template-columns: 1fr; }
  .rt-ui .rt-quick-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .rt-ui .rt-h1{ font-size:28px; }
  .rt-ui .rt-grid{ grid-template-columns: 1fr; }
  .rt-ui .rt-quick-grid{ grid-template-columns: 1fr; }
}


/* Expandable rows */
.rt-ui .rt-cell-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.rt-ui .rt-row-main:hover td{
  background:var(--rt-gold-a06);
}

.rt-ui .rt-expand-row td{
  padding:0;
  border-top:0;
}

.rt-ui .rt-expand{
  padding:12px;
  border-top:1px solid var(--rt-gold-a16);
  background:linear-gradient(180deg, var(--rt-gold-a10), rgba(0,0,0,0));
}

.rt-ui .rt-expand-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}

.rt-ui .rt-expand-col{
  border:1px solid var(--rt-gold-a22);
  background:rgba(0,0,0,.25);
  border-radius:14px;
  padding:12px;
}

.rt-ui .rt-expand-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.rt-ui .rt-expand-title{
  color:var(--rt-gold);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.2px;
  font-size:12px;
}

.rt-ui .rt-expand-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* Toast */
.rt-ui .rt-toast{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:9999;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--rt-gold-a35);
  background:rgba(15,15,18,.92);
  box-shadow:0 22px 70px rgba(0,0,0,.55);
  color:#fff;
  font-weight:800;
  font-size:12px;
  letter-spacing:.2px;
  display:none;
}

@media (max-width: 980px){
  .rt-ui .rt-expand-grid{ grid-template-columns: 1fr; }
}


/* Controls container (admin tools) */
.rt-ui .rt-controls{
  border-radius:14px;
  border:1px solid var(--rt-gold-a35);
  background:linear-gradient(180deg, var(--rt-gold-a15), rgba(0,0,0,0));
  padding:14px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:12px 0 10px;
}
.rt-ui .rt-field{ display:flex; flex-direction:column; gap:6px; min-width:220px; flex:1; }
.rt-ui .rt-label{ color:var(--rt-gold); font-weight:800; font-size:13px; letter-spacing:.2px; }
.rt-ui .rt-input{
  background:#000000 !important;
  color:#ffffff !important;
  border:1px solid var(--rt-gold-a50) !important;
  border-radius:10px;
  padding:10px 12px;
  font-size:13px;
  outline:none;
}
.rt-ui .rt-input::placeholder{ color:rgba(255,255,255,.5); }
.rt-ui select.rt-input{ color:var(--rt-gold) !important; }

.rt-ui .rt-mb{ margin-bottom:14px; }

/* Checkboxes */
.rt-ui input[type="checkbox"]{ accent-color: var(--rt-gold); width:18px; height:18px; }

/* Filter bar (participants) */
.rt-ui .rt-filterbar{
  border-radius:14px;
  border:1px solid var(--rt-gold-a22);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,0));
  padding:12px 14px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 12px;
}
.rt-ui .rt-checkline{
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.82);
  font-weight:700;
  font-size:13px;
  user-select:none;
}

/* Links panel */
.rt-ui .rt-actions-cell{ white-space:nowrap; }
.rt-ui .rt-links-panel{
  border-radius:14px;
  border:1px solid var(--rt-gold-a22);
  background:var(--rt-gold-a06);
  padding:12px;
}
.rt-ui .rt-links-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.rt-ui .rt-links-col{
  border-radius:12px;
  border:1px solid var(--rt-gold-a22);
  background:linear-gradient(180deg, var(--rt-gold-a10), rgba(0,0,0,0));
  padding:12px;
}
.rt-ui .rt-links-head{
  color:var(--rt-gold);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.2px;
  font-size:12px;
  margin-bottom:8px;
}
.rt-ui .rt-link{
  display:block;
  padding:8px 10px;
  border-radius:10px;
  text-decoration:none;
  color:#fff;
  border:1px solid var(--rt-gold-a22);
  margin-bottom:8px;
}
.rt-ui .rt-link:hover{ background:var(--rt-gold-a06); }

@media (max-width: 980px){
  .rt-ui .rt-links-grid{ grid-template-columns: 1fr; }
  .rt-ui .rt-actions-cell{ white-space:normal; }
}

/* Note variants */
.rt-ui .rt-note.rt-ok{
  border:1px solid var(--rt-gold-a35);
  background:var(--rt-gold-a10);
}
.rt-ui .rt-note.rt-warn{
  border:1px solid var(--rt-gold-a55);
  background:var(--rt-gold-a06);
}

/* Frontend login */
.rt-ui .rt-login-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.rt-ui .rt-login-remember{
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.85);
  font-weight:700;
  font-size:13px;
}
.rt-ui .rt-login-remember input{ accent-color: var(--rt-gold); }
.rt-ui .rt-login-forgot{
  color:var(--rt-gold-a95);
  text-decoration:none;
  font-weight:800;
  font-size:13px;
}
.rt-ui .rt-login-forgot:hover{ text-decoration:underline; }


/* Portal tabs (Turnering) */
.rt-ui .rt-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.rt-ui .rt-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  text-decoration:none;
  color:var(--rt-text);
  background:var(--rt-card2);
  border:1px solid rgba(255,255,255,.10);
  transition: transform .08s ease, border-color .15s ease, background .15s ease;
}
.rt-ui .rt-tab:hover{
  transform: translateY(-1px);
  border-color: var(--rt-gold-a55);
}
.rt-ui .rt-tab.is-active{
  border-color: var(--rt-gold-a85);
  box-shadow: 0 0 0 2px var(--rt-gold-a15);
}

/* One-page foldable sections (Puljer + Slutspil) */
.rt-ui .rt-section-nav{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.rt-ui .rt-onepage-hint{
  margin-left:auto;
  font-size:12px;
  opacity:.75;
}
.rt-ui .rt-accordion{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.rt-ui details.rt-fold{
  border:1px solid rgba(255,255,255,.10);
  background: var(--rt-card2);
  border-radius:16px;
  overflow:hidden;
}
.rt-ui details.rt-fold > summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  padding:12px 14px;
  font-weight:900;
  letter-spacing:.2px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.rt-ui details.rt-fold > summary::-webkit-details-marker{display:none;}
.rt-ui details.rt-fold > summary:after{
  content:'▾';
  opacity:.75;
  transform: rotate(-90deg);
  transition: transform .12s ease, opacity .12s ease;
}
.rt-ui details.rt-fold[open] > summary:after{
  transform: rotate(0deg);
  opacity:1;
}
.rt-ui .rt-fold-body{
  padding: 12px 14px 14px;
}

/* Match list (read-only) */
.rt-ui .rt-match-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}
.rt-ui .rt-match-item{
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:10px 12px;
}
.rt-ui .rt-match-title{
  font-weight:650;
  font-size:14px;
}
.rt-ui .rt-match-meta{
  margin-top:6px;
  display:flex;
  align-items:center;
  gap:10px;
}
.rt-ui .rt-score{
  font-weight:700;
  color: var(--rt-gold);
}

/* Pool header tools (QR + open-on-tablet) */
.rt-ui .rt-pool-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.rt-ui .rt-pool-head-left{min-width:0}
.rt-ui .rt-pool-banenr-preview{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:10px;
}
.rt-ui .rt-pool-banenr-preview__label{
  font-size:11px;
  font-weight:900;
  letter-spacing:.3px;
  text-transform:uppercase;
  color:var(--rt-muted);
}
.rt-ui .rt-pool-banenr-preview__input{
  width:92px;
  min-width:92px;
  height:36px;
  border-radius:10px;
  border:1px solid var(--rt-gold-a35);
  background:rgba(255,255,255,.04);
  color:#fff;
  padding:0 10px;
  box-sizing:border-box;
}
.rt-ui .rt-pool-banenr-preview__input::placeholder{
  color:rgba(255,255,255,.42);
}
.rt-ui .rt-pool-banenr-preview__input:focus{
  outline:none;
  border-color:var(--rt-gold-a55);
  box-shadow:0 0 0 2px var(--rt-gold-a12);
}
.rt-ui .rt-pool-banenr-preview__btn[disabled]{
  opacity:.58;
  cursor:not-allowed;
}
.rt-ui .rt-pool-tools{
  display:flex;
  align-items:center;
  gap:12px;
}
.rt-ui .rt-qr{
  /*
    Keep QR square even if the theme applies aggressive global img rules
    (common in Elementor/themes: img{max-width:100%;height:auto;} or width... !important).
    We size the wrapper and let the image fill it.
  */
  flex:0 0 auto;
  width:clamp(100px, 22vw, 140px);
  height:clamp(100px, 22vw, 140px);
}

.rt-ui .rt-qr img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  aspect-ratio:1 / 1;
  object-fit:contain;
  border-radius:12px;
  border:1px solid var(--rt-gold-a35);
  background:#fff;
  padding:6px;
  box-sizing:border-box;
}
.rt-ui .rt-btn.rt-btn-sm{
  padding:8px 12px;
  font-size:13px;
  border-radius:10px;
  white-space:nowrap;
}

@media (max-width: 780px){
  .rt-ui .rt-pool-head{flex-direction:column;align-items:stretch}
  .rt-ui .rt-pool-tools{justify-content:flex-start}
}

/* Steps (frontpage) */
.rt-ui .rt-hero-steps{ margin-top: 16px; }
.rt-ui .rt-hero-steps-head{ margin: 0 0 10px; }
.rt-ui .rt-hero-steps-title{ font-weight: 900; letter-spacing: .2px; text-transform: uppercase; font-size: 13px; color: #fff; }
.rt-ui .rt-hero-steps-sub{ margin-top: 4px; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.35; }
.rt-ui .rt-hero-steps-grid{ gap: 10px; }
.rt-ui .rt-hero-steps-grid .rt-step{ min-height: 96px; }

.rt-ui .rt-grid-steps{ grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px){ .rt-ui .rt-grid-steps{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .rt-ui .rt-grid-steps{ grid-template-columns: 1fr; } }

.rt-ui .rt-step{ position: relative; padding: 16px; min-height: 110px; }
.rt-ui .rt-step-num{ position: absolute; top: 12px; left: 12px; width: 32px; height: 32px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-weight: 900; background: var(--rt-gold-a18); border: 1px solid var(--rt-gold-a25); color: var(--rt-gold); }
.rt-ui .rt-step-title{ margin-left: 44px; font-weight: 900; letter-spacing: .2px; text-transform: uppercase; color: #fff; font-size: 13px; }
.rt-ui .rt-step-sub{ margin-left: 44px; margin-top: 6px; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.4; }

/* Packages (frontpage) */
.rt-ui .rt-packages{ display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; margin-top: 12px; }
.rt-ui .rt-package{ border-radius: 14px; border: 1px solid var(--rt-gold-a22); background: rgba(0,0,0,.25); padding: 12px; }
.rt-ui .rt-package-title{ font-weight: 900; text-transform: uppercase; letter-spacing: .2px; font-size: 12px; color: var(--rt-gold); }
.rt-ui .rt-package-price{ margin-top: 6px; font-size: 15px; font-weight: 900; color: #fff; }
.rt-ui .rt-package-price del{ color: rgba(255,255,255,.45); font-weight: 700; }
.rt-ui .rt-package-price ins{ text-decoration: none; }
.rt-ui .rt-package-actions{ margin-top: 10px; }



/* Step 2B18 — Design polish */

.rt-ui{
  --rt-radius-1: 12px;
  --rt-radius-2: 18px;
  --rt-shadow-1: 0 12px 35px rgba(0,0,0,.45);
  --rt-shadow-2: 0 18px 60px rgba(0,0,0,.55);
  --rt-ring: 0 0 0 2px var(--rt-gold-a18);
  --rt-ease: cubic-bezier(.2,.8,.2,1);
}

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

/* Landing container alias (some templates use .rt-container instead of .rt-shell) */
.rt-ui.rtp-ui .rt-container{
  max-width:1100px;
  margin:0 auto;
  padding:22px 16px 44px;
}

/* Brand text aliases used on landing */
.rt-ui .rt-brand-title{
  font-weight:900;
  color:var(--rt-gold);
  letter-spacing:.4px;
  text-transform:uppercase;
  font-size:14px;
}
.rt-ui .rt-brand-sub{
  font-size:12px;
  color:var(--rt-muted);
  margin-top:2px;
}

/* Landing form field aliases */
.rt-ui .rt-form{ margin:0; }
.rt-ui .rt-field{ display:flex; flex-direction:column; gap:6px; }
.rt-ui .rt-field-label{
  color:var(--rt-gold);
  font-weight:800;
  font-size:13px;
  letter-spacing:.2px;
}
.rt-ui .rt-field-input{
  background:#000000 !important;
  color:#ffffff !important;
  border:1px solid var(--rt-gold-a50) !important;
  border-radius:10px;
  padding:10px 12px;
  font-size:13px;
  outline:none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .12s var(--rt-ease);
}
.rt-ui .rt-field-input::placeholder{ color:rgba(255,255,255,.5); }

/* Focus states (keyboard-friendly) */
.rt-ui .rt-btn:focus-visible,
.rt-ui .rt-link:focus-visible,
.rt-ui .rt-tab:focus-visible,
.rt-ui .rt-field-input:focus-visible,
.rt-ui .rt-input:focus-visible{
  outline:none;
  box-shadow: var(--rt-shadow-1), var(--rt-ring);
}

/* Micro-interactions */
.rt-ui .rt-btn{
  transition: transform .12s var(--rt-ease), box-shadow .15s ease, background .15s ease, border-color .15s ease, filter .15s ease;
  will-change: transform;
}
.rt-ui .rt-btn:hover{ transform: translateY(-1px); }
.rt-ui .rt-btn:active{ transform: translateY(0); filter: brightness(.96); }

.rt-ui .rt-card,
.rt-ui .rt-hero-card,
.rt-ui .rt-tcard,
.rt-ui .rt-package,
.rt-ui .rt-step,
.rt-ui .rt-links-panel,
.rt-ui .rt-links-col,
.rt-ui .rt-expand-col,
.rt-ui .rt-note,
.rt-ui .rt-code,
.rt-ui .rt-table-wrap{
  transition: transform .12s var(--rt-ease), border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

/* Lift only clearly interactive cards */
.rt-ui .rt-step:hover,
.rt-ui .rt-package:hover,
.rt-ui .rt-tcard:hover,
.rt-ui .rt-link:hover{
  transform: translateY(-1px);
}

/* Subtle glow for cards when hovered / focused */
.rt-ui .rt-card:hover,
.rt-ui .rt-hero-card:hover,
.rt-ui .rt-tcard:hover,
.rt-ui .rt-links-col:hover,
.rt-ui .rt-expand-col:hover,
.rt-ui .rt-card:focus-within,
.rt-ui .rt-hero-card:focus-within,
.rt-ui .rt-tcard:focus-within{
  border-color: var(--rt-gold-a45);
  box-shadow: var(--rt-shadow-2);
}

/* Slightly calmer typography rhythm */
.rt-ui .rt-lead{ letter-spacing:.1px; }
.rt-ui .rt-muted, .rt-ui .rt-card-sub{ line-height:1.45; }

/* Footer polish (landing) */
.rt-ui .rt-footer{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--rt-gold-a16);
  display:flex;
  gap:12px;
  justify-content:space-between;
  flex-wrap:wrap;
  color:rgba(255,255,255,.55);
  font-size:12px;
}
.rt-ui .rt-footer-left{ font-weight:700; }
.rt-ui .rt-footer-right{ color:rgba(255,255,255,.65); }

.rt-ui .rt-pricing-note{ margin-top:12px; color:rgba(255,255,255,.55); font-size:12px; line-height:1.4; }

/* Packages: make titles a bit easier to scan */
.rt-ui .rt-package-title{ line-height:1.2; }

/* Tables: improve readability on dense views */
.rt-ui .rt-table td{ line-height:1.35; }


/* Packages: short description */
.rt-ui .rt-package-desc{ margin-top:6px; color:rgba(255,255,255,.72); font-size:12px; line-height:1.35; }

/* Modal (QR / misc) */
.rt-ui .rt-modal{ position:fixed; inset:0; z-index:999999; display:none; }
.rt-ui .rt-modal.is-open{ display:block; }
.rt-ui .rt-modal-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.72); backdrop-filter: blur(6px); }
.rt-ui .rt-modal-card{
  position:relative;
  width:min(920px, 92vw);
  margin:10vh auto 0;
  border-radius:18px;
  border:1px solid var(--rt-gold-a35);
  box-shadow:0 24px 70px rgba(0,0,0,.70);
  background:
    radial-gradient(120% 120% at 50% 20%, var(--rt-gold-a14), rgba(0,0,0,0)),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,0));
  padding:16px;
}
.rt-ui .rt-modal-close{
  position:absolute;
  right:12px; top:12px;
  width:36px; height:36px;
  border-radius:12px;
  background:rgba(15,15,18,.85);
  border:1px solid var(--rt-gold-a35);
  color:#fff;
  cursor:pointer;
  font-weight:900;
  font-size:18px;
  line-height:1;
}
.rt-ui .rt-modal-close:hover{ background:var(--rt-gold-a12); }
.rt-ui .rt-modal-title{ font-weight:900; letter-spacing:.2px; margin:4px 0 12px; color:#fff; font-size:16px; }
.rt-ui .rt-qr-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:14px; }
.rt-ui .rt-qr-card{
  border-radius:16px;
  border:1px solid var(--rt-gold-a22);
  background:rgba(0,0,0,.35);
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.rt-ui .rt-qr-head{ display:flex; justify-content:space-between; gap:10px; align-items:center; }
.rt-ui .rt-qr-label{ font-weight:900; color:var(--rt-gold); font-size:12px; letter-spacing:.3px; text-transform:uppercase; }
.rt-ui .rt-qr-url{ font-size:11px; color:rgba(255,255,255,.65); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rt-ui .rt-qr-img{ width:100%; display:flex; justify-content:center; }
.rt-ui .rt-qr-img img{ max-width:240px; width:100%; height:auto; border-radius:14px; border:1px solid rgba(255,255,255,.08); background:#fff; }

/* Fullscreen shell (in-page iframe) */
.rt-ui .rt-fs-overlay{ position:fixed; inset:0; z-index:999999; display:none; background:#000; }
.rt-ui .rt-fs-overlay.is-open{ display:block; }
.rt-ui .rt-fs-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid var(--rt-gold-a22);
  background:
    radial-gradient(120% 120% at 50% 0%, var(--rt-gold-a12), rgba(0,0,0,0)),
    rgba(10,10,12,.92);
}
.rt-ui .rt-fs-title{ font-weight:900; color:#fff; letter-spacing:.2px; font-size:13px; }
.rt-ui .rt-fs-actions{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.rt-ui .rt-fs-frame{ width:100%; height:100%; border:0; background:#000; }

/* Onboarding bubbles (first-time guide) */
.rt-ui .rt-onboard{ position:fixed; inset:0; z-index:999998; display:none; }
.rt-ui .rt-onboard.is-open{ display:block; }
.rt-ui .rt-onboard-dim{ position:absolute; inset:0; background:rgba(0,0,0,.68); backdrop-filter: blur(3px); }
.rt-ui .rt-onboard-focus{
  position:absolute;
  border-radius:18px;
  border:2px solid var(--rt-gold-a85);
  box-shadow:0 0 0 6px var(--rt-gold-a12), 0 30px 80px rgba(0,0,0,.65);
  pointer-events:none;
}
.rt-ui .rt-onboard-bubble{
  position:absolute;
  width:min(380px, 88vw);
  border-radius:18px;
  border:1px solid var(--rt-gold-a35);
  background:
    radial-gradient(120% 120% at 50% 20%, var(--rt-gold-a14), rgba(0,0,0,0)),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,0));
  box-shadow:0 24px 70px rgba(0,0,0,.75);
  padding:14px;
}
.rt-ui .rt-onboard-bubble h3{ margin:0 0 6px; font-size:15px; line-height:1.2; color:#fff; letter-spacing:.2px; }
.rt-ui .rt-onboard-bubble p{ margin:0 0 12px; font-size:12px; line-height:1.5; color:rgba(255,255,255,.75); }
.rt-ui .rt-onboard-actions{ display:flex; gap:10px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.rt-ui .rt-onboard-actions .rt-onboard-steps{ color:rgba(255,255,255,.65); font-size:11px; font-weight:800; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .rt-ui .rt-btn,
  .rt-ui .rt-card,
  .rt-ui .rt-hero-card,
  .rt-ui .rt-tcard,
  .rt-ui .rt-package,
  .rt-ui .rt-step,
  .rt-ui .rt-link{ transition:none !important; transform:none !important; }
}

/*
  RTP portal screens should feel like an app (no theme header/menu).
  Scoped by body class `rtp-scope` so it only applies on pages that contain
  the portal shortcode or RTP special views (turnering/live/tablet/tilmelding).
  We target common theme header wrappers (Elementor/Astra/GeneratePress/etc.).
*/
body.rtp-scope .elementor-location-header,
body.rtp-scope header.site-header,
body.rtp-scope .site-header,
body.rtp-scope #site-header,
body.rtp-scope #header,
body.rtp-scope .header,
body.rtp-scope .header-wrap,
body.rtp-scope .header-wrapper,
body.rtp-scope .header-main,
body.rtp-scope .top-header,
body.rtp-scope .topbar,
body.rtp-scope #masthead,
body.rtp-scope header#masthead,
body.rtp-scope .ast-header-wrap,
body.rtp-scope .ast-primary-header-bar,
body.rtp-scope .ast-mobile-header-wrap,
body.rtp-scope .generate-header,
body.rtp-scope .main-header,
body.rtp-scope .oceanwp-header,
body.rtp-scope #top-bar-wrap,
body.rtp-scope .top-bar,
body.rtp-scope #site-navigation,
body.rtp-scope nav#site-navigation,
body.rtp-scope .site-navigation,
body.rtp-scope .main-navigation{ display:none !important; }

/* Some themes output their primary navigation outside the header wrappers. */
body.rtp-scope nav{ display:none !important; }
body.rtp-scope .rt-ui nav{ display:block !important; }

body.rtp-scope .breadcrumb,
body.rtp-scope .breadcrumbs,
body.rtp-scope .yoast-breadcrumb,
body.rtp-scope .rank-math-breadcrumb,
body.rtp-scope .woocommerce-breadcrumb{ display:none !important; }

body.rtp-scope .entry-header,
body.rtp-scope .page-header{ display:none !important; }

body.rtp-scope #content,
body.rtp-scope .site-content,
body.rtp-scope .content-area{ margin-top:0 !important; padding-top:0 !important; }

/* S4b: Ensure portal UI can use full viewport width on tablet+mobile even inside boxed Elementor/theme containers */
@media (max-width: 1400px){
  body.rtp-scope .elementor-section.elementor-section-boxed > .elementor-container,
  body.rtp-scope .elementor-container,
  body.rtp-scope .elementor-widget-wrap,
  body.rtp-scope .elementor-column,
  body.rtp-scope .elementor-widget-container,
  body.rtp-scope .e-con,
  body.rtp-scope .e-con-inner,
  body.rtp-scope .ast-container,
  body.rtp-scope .container,
  body.rtp-scope .site-main,
  body.rtp-scope .entry-content{
    max-width:none !important;
    width:100% !important;
  }
}

/* Some themes output a visible "main content" label; hide it on portal screens. */
body.rtp-scope .skip-link,
body.rtp-scope .screen-reader-text{ position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

/* Internal sync panel (Phase 3) */
.rt-ui .rt-sync-panel{
  border:1px solid rgba(34,197,94,0.18);
  background: rgba(34,197,94,0.06);
  border-radius: 14px;
  padding: 12px 12px;
  margin: 10px 0 14px;
}
.rt-ui .rt-sync-panel .rt-sync-row{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.rt-ui .rt-sync-panel .rt-sync-status{ font-size:12px; opacity:0.9; }
.rt-ui .rt-sync-panel .rt-sync-bar{ height:8px; border-radius:999px; background: rgba(255,255,255,0.08); overflow:hidden; margin-top:8px; }
.rt-ui .rt-sync-panel .rt-sync-bar > span{ display:block; height:100%; width:0%; background: rgba(34,197,94,0.85); border-radius:999px; transition: width 200ms ease; }
/* Guided flow + embedded participants on turnering view */
.rt-ui .rt-participants-embed .rt-table-wrap{
  max-height: 420px;
  overflow: auto;
}

.rt-ui .rt-participants-embed .rt-table thead th{
  position: sticky;
  top: 0;
  z-index: 2;
  background: linear-gradient(180deg, rgba(15,15,18,.98), rgba(15,15,18,.92));
  backdrop-filter: blur(6px);
}

.rt-ui .rt-guided-pulse{
  position: relative;
}

.rt-ui .rt-guided-pulse:before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 18px;
  border: 1px solid var(--rt-gold-a55);
  box-shadow: 0 0 0 0 var(--rt-gold-a35);
  pointer-events:none;
  animation: rtPulse 1.1s ease-out 2;
}

@keyframes rtPulse{
  0%{ box-shadow: 0 0 0 0 var(--rt-gold-a35); opacity:1; }
  100%{ box-shadow: 0 0 0 12px rgba(154,126,16,.0); opacity:0; }
}


/* ------------------------------------------------------------
   Fase 4: Payment UI (MobilePay/Vipps) – scoped
------------------------------------------------------------ */
.rt-ui .rt-paygrid{
  display:grid;
  grid-template-columns: 1fr 1fr .7fr auto;
  gap:12px;
  align-items: stretch;
}
@media (max-width: 980px){
  .rt-ui .rt-paygrid{ grid-template-columns: 1fr; }
}
.rt-ui .rt-payform .rt-field{ margin:0; }
.rt-ui .rt-payform .rt-label{
  font-weight:900;
  letter-spacing:.25px;
  text-transform:uppercase;
  font-size:11px;
  color:rgba(255,255,255,.72);
  margin:0 0 6px;
}
.rt-ui .rt-paypreview{
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  border-radius:14px;
  padding:12px;
}
.rt-ui .rt-paypreview__title{
  font-weight:900;
  letter-spacing:.35px;
  text-transform:uppercase;
  font-size:11px;
  color:rgba(255,255,255,.80);
  margin-bottom:10px;
}
.rt-ui .rt-paypreview__grid{
  display:grid;
  grid-template-columns: 1.35fr .65fr;
  gap:12px;
  align-items:stretch;
}
@media (max-width: 980px){
  .rt-ui .rt-paypreview__grid{ grid-template-columns: 1fr; }
}
.rt-ui .rt-paypreview__main{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.rt-ui .rt-paypreview__row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.rt-ui .rt-paypreview__qr{
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}


/* Participants power tools (KPIs + sticky save bar) */
.rt-ui .rt-kpi-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:10px;
}
@media (max-width: 820px){
  .rt-ui .rt-kpi-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
.rt-ui .rt-kpi{
  appearance:none;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 10px 12px;
  text-align:left;
  cursor:pointer;
  transition: transform .08s ease, border-color .12s ease, background .12s ease;
}
.rt-ui .rt-kpi:hover{
  border-color: rgba(140,255,189,.22);
  background: rgba(140,255,189,.04);
}
.rt-ui .rt-kpi:active{ transform: translateY(1px); }
.rt-ui .rt-kpi:focus-visible{
  outline: 2px solid rgba(140,255,189,.45);
  outline-offset: 2px;
}
.rt-ui .rt-kpi__label{
  font-size: 11px;
  letter-spacing: .35px;
  text-transform: uppercase;
  color: rgba(255,255,255,.70);
}
.rt-ui .rt-kpi__value{
  margin-top: 2px;
  font-size: 22px;
  font-weight: 900;
  color: rgba(255,255,255,.92);
}

.rt-ui .rt-stickybar{
  display:none;
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 9999;
  background: rgba(12,12,15,.92);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 10px;
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  backdrop-filter: blur(8px);
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}
.rt-ui .rt-stickybar__left{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width: 0;
}
.rt-ui .rt-stickybar__right{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
@media (max-width: 860px){
  .rt-ui .rt-stickybar{ display:flex; }
  .rt-ui form[data-rt-participants-scope="1"]{ padding-bottom: 96px; }
}

/* --- Division edit table (external signups) --- */
.rt-ui .rtp-divisions-table .rt-input{ padding:8px 10px; border-radius:12px; }
.rt-ui .rtp-divisions-table th{ white-space:nowrap; }
.rt-ui .rtp-divisions-table td{ vertical-align:middle; }
.rt-ui .rtp-divisions-table .rtp-div-move{ display:flex; gap:6px; }
.rt-ui .rtp-divisions-table .rt-btn.rt-btn-sm{ padding:6px 10px; font-size:12px; border-radius:12px; }
.rt-ui .rtp-divisions-table .rt-row-active{ outline: 1px solid rgba(16,185,129,.35); background: rgba(16,185,129,.06); }

.rt-ui .rtp-divisions-table .rtp-invalid{ border-color: rgba(239,68,68,.85) !important; box-shadow: 0 0 0 2px rgba(239,68,68,.20); }



/* Islev Step UI+LIVE: keep portal layouts wide and at top without affecting other plugins */
.rt-ui.rtp-ui{ margin-top:10px !important; margin-bottom:auto !important; }
.rt-ui.rtp-ui .rt-container{
  max-width:none !important;
  /* Avoid vw-based negative margins which can create horizontal overflow on desktop (scrollbar width). */
  width:min(1800px, 96%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* REG14: Prevent wide blocks (tables/QR/images/long text) from overflowing the portal container */
.rt-ui.rtp-ui .rt-fold-body,
.rt-ui.rtp-ui .rt-card{
  max-width:100%;
  box-sizing:border-box;
}

/* UIW6a: Cup (motor renderer) – avoid horizontal overflow on mobile/desktop.
   Goal: no scrollbar on the whole card; only scroll inside real wide tables/brackets. */
.rt-ui.rtp-ui .rtp-motor-wrap{
  max-width:100%;
  overflow-x:hidden; /* prevent whole-card horizontal scrollbar */
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
}

/* UIW6e: Some motor layouts use a "wide" container technique (width: calc(100% + X) with negative margins)
   which causes left-clipping and horizontal overflow inside the portal.
   We neutralize that ONLY inside the motor wrap. */
.rt-ui.rtp-ui .rtp-motor-wrap .rt-ui.rt-portal,
.rt-ui.rtp-ui .rtp-motor-wrap .rt-container,
.rt-ui.rtp-ui .rtp-motor-wrap .rt-container--wide,
.rt-ui.rtp-ui .rtp-motor-wrap .rt-card,
.rt-ui.rtp-ui .rtp-motor-wrap .dsdk-print-area,
.rt-ui.rtp-ui .rtp-motor-wrap details.rt-fold{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box;
}

/* Motor cards/subcards should never force a wider layout */
.rt-ui.rtp-ui .rtp-motor-wrap .rt-card,
.rt-ui.rtp-ui .rtp-motor-wrap .rt-subcard{
  max-width:100%;
  box-sizing:border-box;
  min-width:0;
}

/* Tables are the only elements allowed to scroll horizontally */
.rt-ui.rtp-ui .rtp-motor-wrap .rt-table{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.rt-ui.rtp-ui .rtp-motor-wrap table{
  max-width:100%;
}
.rt-ui.rtp-ui .rtp-motor-wrap table.widefat{
  min-width:720px;
}

/* Force wrapping on typical flex rows in the motor UI */
.rt-ui.rtp-ui .rtp-motor-wrap .dsdk-cups-head,
.rt-ui.rtp-ui .rtp-motor-wrap .rt-pillrow,
.rt-ui.rtp-ui .rtp-motor-wrap .rt-actions,
.rt-ui.rtp-ui .rtp-motor-wrap .dsdk-actions-row{
  flex-wrap:wrap;
}

/* Tablet overview: button + QR must wrap instead of pushing width */
.rt-ui.rtp-ui .rtp-motor-wrap .dsdk-tablet-overview{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  max-width:100%;
}
.rt-ui.rtp-ui .rtp-motor-wrap .dsdk-tablet-overview .rt-btn{
  flex:1 1 240px;
  max-width:100%;
}
.rt-ui.rtp-ui .rtp-motor-wrap .dsdk-qr-link,
.rt-ui.rtp-ui .rtp-motor-wrap .dsdk-qr-link--big{
  flex:0 0 auto;
  max-width:100%;
}

.rt-ui.rtp-ui .rtp-motor-wrap img,
.rt-ui.rtp-ui .rtp-motor-wrap svg{
  max-width:100%;
  height:auto;
}
.rt-ui.rtp-ui .rtp-motor-wrap .dsdk-qr--big{
  width: min(260px, 100%);
  height:auto;
}

.rt-ui.rtp-ui .rtp-motor-wrap pre,
.rt-ui.rtp-ui .rtp-motor-wrap code{
  white-space:pre;
}
.rt-ui.rtp-ui .rtp-motor-wrap *{
  overflow-wrap:anywhere;
}

@media (max-width: 620px){
  .rt-ui.rtp-ui .rtp-motor-wrap .dsdk-qr--big{ width: min(220px, 100%); }
  .rt-ui.rtp-ui .rtp-motor-wrap .dsdk-tablet-overview .rt-btn{ flex:1 1 100%; }
}

/* SEED2: Manuel seedning (puljer) – drag-and-drop UI (scoped) */
.rt-ui .rtp-seed-builder{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.03);
}
.rt-ui .rtp-seed-cols{
  display:grid;
  /* Auto-fit columns to avoid forcing an empty 3-col layout and to reduce overflow on narrower widths */
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:12px;
}
@media (max-width: 620px){
  .rt-ui .rtp-seed-cols{ grid-template-columns:1fr; }
}
.rt-ui .rtp-seed-col-title{
  font-weight:700;
  font-size:13px;
  letter-spacing:.02em;
  margin-bottom:8px;
  opacity:.92;
}
.rt-ui .rtp-seed-list{
  list-style:none;
  margin:0;
  padding:8px;
  min-height:56px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:12px;
  background:rgba(0,0,0,.16);
}
.rt-ui .rtp-seed-pill{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  margin:6px 0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  cursor:grab;
  user-select:none;
  max-width:100%;
  min-width:0;
}
.rt-ui .rtp-seed-handle{
  width:18px;
  text-align:center;
  opacity:.8;
  cursor:grab;
}

.rt-ui .rtp-seed-label{
  /* Some themes/plugins apply aggressive span rules; force label to stay visible */
  display:block !important;
  color: rgba(255,255,255,.94);
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Touch/tablet helper controls (shown only when JS adds .rtp-touch) */
.rt-ui .rtp-seed-tools{
  display:none;
  gap:6px;
  align-items:center;
  flex:0 0 auto;
}
.rt-ui .rtp-touch .rtp-seed-tools{
  display:flex;
}

/* SEED4c: Always show move controls on small screens (mobile) even if JS touch-detection is skipped,
   e.g. when seed builder is locked/read-only. Controls will still be disabled via JS/CSS when locked. */
@media (max-width: 900px){
  .rt-ui .rtp-seed-tools{
    display:flex;
  }

  /* Give names more room on smaller screens: move tools to their own row */
  .rt-ui .rtp-seed-pill{ flex-wrap:wrap; border-radius:16px; cursor:default; }
  .rt-ui .rtp-seed-label{ flex:1 1 100%; white-space:normal; }
  .rt-ui .rtp-seed-tools{ flex:1 1 100%; justify-content:flex-end; }
}
.rt-ui .rtp-touch .rtp-seed-pill{
  padding:10px 12px;
}
.rt-ui .rtp-seed-tools button{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.22);
  color:rgba(255,255,255,.92);
  border-radius:10px;
  padding:6px 8px;
  line-height:1;
  cursor:pointer;
}
.rt-ui .rtp-seed-tools select{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.22);
  color:rgba(255,255,255,.92);
  border-radius:10px;
  padding:6px 8px;
  font-size:12px;
  width:auto;
  max-width:120px;
}

/* UIW3: Prevent inner controls/cards from causing horizontal overflow in some themes */
.rt-ui input,
.rt-ui select,
.rt-ui textarea,
.rt-ui button{
  max-width:100%;
  box-sizing:border-box;
}
.rt-ui .rtp-seed-disabled .rtp-seed-tools{
  opacity:.6;
  pointer-events:none;
}
.rt-ui .rtp-seed-pill:active,
.rt-ui .rtp-seed-pill.rtp-seed-dragging{
  cursor:grabbing;
}
.rt-ui .rtp-seed-placeholder{
  margin:6px 0;
  height:38px;
  border-radius:999px;
  border:1px dashed rgba(255,255,255,.22);
  background:rgba(255,255,255,.03);
}
.rt-ui .rtp-seed-disabled{
  opacity:.55;
  filter:grayscale(20%);
}
.rt-ui .rtp-seed-disabled .rtp-seed-pill{
  cursor:not-allowed;
}

/* =====================================================
 * stepUIW1-overflow-fix
 * Prevent horizontal overflow from inner blocks (no page-wide side-scroll)
 * Scoped to .rt-ui only.
 * ===================================================== */
.rt-ui { overflow-x: clip; }
@supports not (overflow: clip) {
  .rt-ui { overflow-x: hidden; }
}
.rt-ui, .rt-ui .rt-shell, .rt-ui .rt-card { max-width: 100%; }
.rt-ui .rt-shell, .rt-ui .rt-card { min-width: 0; }
.rt-ui * { box-sizing: border-box; }
.rt-ui img, .rt-ui svg, .rt-ui canvas, .rt-ui video { max-width: 100%; height: auto; }
.rt-ui input, .rt-ui select, .rt-ui textarea { max-width: 100%; }
.rt-ui table { max-width: 100%; }
.rt-ui pre, .rt-ui code { overflow-wrap: anywhere; word-break: break-word; }

/* Admin cards: keep buttons aligned consistently ("Åbn" under dato) */
.rt-ui .rt-tcard--admin .rt-tcard-top{
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}
.rt-ui .rt-tcard--admin .rt-tcard-actions{
  justify-content: flex-start;
}

/* ------------------------------------------------------------
   Pool VUK buttons
   ------------------------------------------------------------ */
.rt-ui .rt-btn--xs{
  padding: 4px 10px;
  font-size: 12px;
  line-height: 1.1;
}

.rt-ui .rt-match-title .rt-match-player{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.rt-ui .rt-match-title .rt-match-vs{
  margin: 0 8px;
  opacity: .85;
}

/* ==== RTP UI STEP UI1: Din statistik – values større (2x) ==== */
/*
  NOTE: I første micro-step skalerer vi KPI value-typografien, da “Din statistik”
  (og beslægtede KPI-kort) bruger .rt-kpi__value. Hvis der viser sig at være
  andre KPI-grids der ikke skal påvirkes, snævrer vi scopen ind i næste step.
*/
.rt-ui.rtp-ui .rt-kpi__value{
  font-size: 44px; /* 2x af 22px (baseline) */
  line-height: 1.05;
}

/* ==== RTP UI STEP UI1b: Din statistik – values større (2x) ==== */
/*
  Formål: gøre tallene i “Din statistik” markant større.
  - I dette step bruger vi en bred selector + !important for at bekræfte at CSS’en loader.
  - Hvis den rammer for bredt, snævrer vi scopen ind i næste step til den konkrete blok.
*/
.rt-ui .rt-kpi__value{
  font-size: 44px !important; /* 2x af 22px (baseline) */
  line-height: 1.05;
}

/* Admin-only build badge (kun synlig for loggede-in med admin bar) */
body.admin-bar .rt-ui.rtp-ui::after{
  content: "RTP UI1b";
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 999999;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .4px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(140,255,189,.35);
  color: rgba(255,255,255,.85);
  pointer-events: none;
}

/* POOLRESULT-UI1: inline preview for "Ret resultat" on finished pool matches */
.rt-ui .rt-match-edit-lock{
  margin-top:10px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  flex-wrap:wrap;
}
.rt-ui .rt-match-edit-preview{
  margin-top:10px;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.02);
}
.rt-ui .rt-match-edit-preview > summary{
  list-style:none;
  cursor:pointer;
  padding:10px 12px;
}
.rt-ui .rt-match-edit-preview > summary::-webkit-details-marker{ display:none; }
.rt-ui .rt-match-edit-preview__body{
  border-top:1px solid rgba(255,255,255,.08);
  padding:12px;
}
.rt-ui .rt-match-edit-preview__note{
  color:rgba(255,255,255,.72);
  font-size:12px;
  margin-bottom:10px;
}
.rt-ui .rt-match-edit-preview__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px;
}
.rt-ui .rt-match-edit-preview__field{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  color:rgba(255,255,255,.86);
}
.rt-ui .rt-match-edit-preview__field input{
  width:100%;
}
.rt-ui .rt-match-edit-preview__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}


/* POOLRESULT-POLISH1: success flash + visual highlight for recently edited pool match */
.rt-pool-result-flash--success{
  border:1px solid rgba(34,197,94,.35);
  box-shadow:0 12px 28px rgba(34,197,94,.10);
}
.rt-pool-result-flash__sub{
  margin-top:6px;
  font-size:12px;
  opacity:.9;
}
.rt-match-item--recently-edited{
  border:2px solid rgba(34,197,94,.55);
  box-shadow:0 0 0 3px rgba(34,197,94,.12), 0 18px 34px rgba(15,23,42,.18);
  background:linear-gradient(180deg, rgba(34,197,94,.08), rgba(255,255,255,.02));
  animation:rtPoolRecentlyEditedPulse 2.2s ease-out 1;
}
.rt-match-item--recently-edited .rt-match-main{
  position:relative;
}
.rt-match-item--recently-edited .rt-match-main::after{
  content:'Lige rettet';
  position:absolute;
  top:-10px;
  right:0;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  background:#22c55e;
  color:#052e16;
  box-shadow:0 10px 20px rgba(34,197,94,.25);
}
@keyframes rtPoolRecentlyEditedPulse{
  0%{ box-shadow:0 0 0 0 rgba(34,197,94,.38), 0 18px 34px rgba(15,23,42,.18); }
  70%{ box-shadow:0 0 0 10px rgba(34,197,94,0), 0 18px 34px rgba(15,23,42,.18); }
  100%{ box-shadow:0 0 0 3px rgba(34,197,94,.12), 0 18px 34px rgba(15,23,42,.18); }
}

/* POOLQUALDOT1: discreet qualification dots in pool standings */
.rtp-pool-advancing-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.rtp-qual-legend{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.rtp-qual-legend__item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  font-size:12px;
}
.rtp-qual-col{
  width:20px;
  min-width:20px;
  text-align:right;
  padding-right:10px;
}
.rt-table .rtp-qual-col{
  vertical-align:middle;
}
.rtp-qual-dot{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(255,255,255,.16), 0 0 0 3px rgba(255,255,255,.03);
}
.rtp-qual-dot--direct{
  background:#22c55e;
}
.rtp-qual-dot--extra{
  background:#facc15;
}
@media (max-width: 680px){
  .rtp-pool-advancing-note{
    align-items:flex-start;
  }
  .rtp-qual-legend{
    gap:10px;
  }
  .rtp-qual-legend__item{
    font-size:11px;
  }
  .rtp-qual-col{
    width:18px;
    min-width:18px;
    padding-right:8px;
  }
}
