/* ==========================================================================
   Replay Memberships — Brand CSS (No Shadows, Transparent Container)
   ========================================================================== */

:root{
  --replay-court:#1B3E36;
  --replay-caviar:#2E2E2E;
  --replay-off:#FFFEE9; /* retained for subtle pattern only */
  --replay-orange:#CE4A00;
  --replay-latte:#8D8418;
  --replay-radius:14px;
  --replay-gap:16px;
  --replay-border:1px solid rgba(27,62,54,.12);
}

/* Typography */
.replay-memberships,
.replay-memberships table,
.replay-membership-card{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--replay-caviar);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.replay-memberships h3,
.replay-memberships th{
  font-family:inherit;
  letter-spacing:.02em;
  font-weight:700;
}

/* ---------------- Container ---------------- */
.replay-memberships{
  background:transparent;
  padding:20px;
  border-radius:var(--replay-radius);
  border:1px solid rgba(27,62,54,.08);
  width:100%;
  overflow:hidden;
  box-shadow:none;                /* ← no drop shadow */
}
.replay-memberships.replay-striped{
  border-image:repeating-linear-gradient(
    to right,
    var(--replay-court) 0 12px,
    transparent 12px 22px
  ) 8 round;
  border-width:0 0 8px 0;
  border-style:solid;
}

/* Label pills */
.replay-memberships .pill{
  display:inline-block;
  background:rgba(27,62,54,.08);
  color:var(--replay-court);
  border:1px solid rgba(27,62,54,.18);
  padding:3px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.replay-memberships .accent{
  height:4px;width:60px;background:var(--replay-orange);
  border-radius:2px;margin:6px 0 10px;
}

/* ---------------- Table layout ---------------- */
.replay-memberships table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:var(--replay-radius);
}
.replay-memberships thead th{
  background:var(--replay-court);
  color:#fff;
  padding:14px 16px;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.08em;
  border:none;
}
.replay-memberships tbody td{
  background:#fff;
  border-bottom:1px solid rgba(27,62,54,.12);
  padding:14px 16px;
  vertical-align:top;
  line-height:1.55;
}
.replay-memberships tbody tr:nth-child(odd) td{
  background:rgba(27,62,54,.02);
}
.replay-memberships .yes{color:#059669;font-weight:700;}
.replay-memberships .no{color:#B91C1C;font-weight:700;}

/* ---------------- Card layout ---------------- */
.replay-membership-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:var(--replay-gap);
  margin:6px 0 0;
}
.replay-membership-card{
  background:#fff;
  border:var(--replay-border);
  border-radius:var(--replay-radius);
  padding:18px;
  position:relative;
  overflow:hidden;
  box-shadow:none;                /* ← no shadow on cards */
}
.replay-membership-card:before{
  content:"";
  position:absolute;inset:0 0 auto 0;height:14px;
  background:radial-gradient(circle at 7px 7px,#fff 7px,transparent 8px)repeat-x;
  background-size:14px 14px;
}
.replay-membership-card h3{
  margin:10px 0 8px;
  font-size:20px;
  color:var(--replay-court);
}
.replay-membership-card p{margin:6px 0;}
.replay-membership-card p strong{color:var(--replay-caviar);}
.replay-membership-card .yes{color:#059669;font-weight:700;margin-right:4px;}
.replay-membership-card .no{color:#B91C1C;font-weight:700;margin-right:4px;}

/* ---------------- Responsive ---------------- */
@media(max-width:980px){
  .replay-memberships thead{display:none;}
  .replay-memberships table,
  .replay-memberships tbody,
  .replay-memberships tr,
  .replay-memberships td{
    display:block;width:100%;
  }
  .replay-memberships tbody tr{
    background:#fff;
    border:var(--replay-border);
    border-radius:var(--replay-radius);
    margin:0 0 12px 0;
    box-shadow:none;              /* ← no shadow on mobile cards */
  }
  .replay-memberships tbody td{
    border:none;
    border-bottom:1px solid rgba(27,62,54,.1);
    padding:12px 14px;
  }
  .replay-memberships tbody td:before{
    content:attr(data-th);
    display:block;
    font-weight:800;
    color:var(--replay-court);
    margin-bottom:4px;
  }
}

/* ---------------- Buttons (future use) ---------------- */
.replay-btn{
  background:var(--replay-court);
  color:#fff;
  padding:10px 14px;
  border-radius:10px;
  font-weight:700;
  letter-spacing:.02em;
  transition:background .2s ease;
  box-shadow:none;               /* no button shadow */
}
.replay-btn:hover{
  background:#244e44;
}
.replay-btn--outline{
  background:transparent;
  color:var(--replay-court);
  border:2px solid var(--replay-court);
}
.replay-btn--accent{
  background:var(--replay-orange);
  color:#fff;
}


/* ===== Tabs strip ===== */
.replay-tabs .replay-tabs__strip{
  display:flex; gap:12px; align-items:center;
  border-bottom:1px solid rgba(27,62,54,.12);
  margin-bottom:16px;
}
.replay-tabs .replay-tab{
  appearance:none; background:transparent; border:0; cursor:pointer;
  padding:10px 14px; border-radius:999px;
  color:#6b7280; font-weight:700; letter-spacing:.02em;
}
.replay-tabs .replay-tab.is-active{
  background:rgba(27,62,54,.08);
  color:var(--replay-court);
}

/* ===== Plan row ===== */
.replay-plan{
  display:grid;
  grid-template-columns: 1.2fr 1.8fr; /* left intro / right list */
  gap:28px;
  padding:12px 0;
}
.replay-plan__title{
  margin:6px 0 4px;
  font-size:24px;
  color:var(--replay-court);
}
.replay-plan__price{
  font-size:22px; font-weight:800; color:var(--replay-caviar);
}
.replay-plan__unit{ font-size:14px; color:#6b7280; margin-left:6px; }
.replay-plan__desc{ margin-top:10px; color:#4b5563; }

/* Right column list with leaders */
.replay-line{
  display:grid;
  grid-template-columns: 180px 1fr;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid rgba(27,62,54,.10);
}
.replay-line:last-child{ border-bottom:0; }
.replay-line__title{
  font-weight:700; color:#374151;
}
.replay-line__dots{
  display:none; /* reserved if you want dot leaders */
}
.replay-line__value{
  justify-self:start; color:#111827;
}
.replay-line.is-muted .replay-line__title{ color:#6b7280; }
.replay-line.is-muted .replay-line__value{ color:#6b7280; }

/* separators between plans */
.replay-sep{
  border:0; border-top:1px solid rgba(27,62,54,.12);
  margin:12px 0 4px;
}

/* Pills reused */
.replay-plan .pill{
  margin-bottom:6px;
}

/* Responsive */
@media (max-width: 900px){
  .replay-plan{
    grid-template-columns: 1fr;
  }
  .replay-line{
    grid-template-columns: 1fr;
    gap:6px;
  }
}

/* ===== Benefit Matrix (Unified, System Fonts) ===== */
.replay-benefit-matrix{ margin-top:12px; }
.replay-matrix__heading{
  font-family:inherit;
  font-size:1.75rem;
  line-height:1.2;
  font-weight:700;
  color:#fff;
  margin:0 0 14px;
}
.replay-matrix__row{
  display:grid;
  grid-template-columns:1fr 140px 140px; /* label | Icons | Legends */
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.replay-matrix__row--head{
  border-bottom:1px solid rgba(255,255,255,.26);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
  font-size:.85rem;
  color:rgba(255,255,255,.85);
  padding-top:2px;
  padding-bottom:12px;
}
.replay-matrix__cell{ color:rgba(255,255,255,.92); }
.replay-matrix__cell--label{
  color:#fff;
  font-size:.98rem;
  font-weight:500;
}
.replay-matrix__cell--col{
  text-align:right;
  font-weight:600;
  font-size:.9rem;
  color:#fff;
}

/* Small, clean status icons */
.replay-check,
.replay-circle{
  display:inline-block;
  width:16px; height:16px;
  border-radius:50%;
  border:1.5px solid #fff;
  vertical-align:middle;
  position:relative;
  margin-right:6px;
  top:-1px;
}
.replay-check::after{
  content:"";
  position:absolute;
  left:4px; top:1px;
  width:5px; height:9px;
  border-right:1.5px solid #fff;
  border-bottom:1.5px solid #fff;
  transform:rotate(45deg);
}
.replay-circle::after{ content:""; } /* hollow */

.replay-badge-note{
  display:inline-block;
  min-width:70px;
  text-align:right;
  font-weight:700;
  color:#fff;
  font-size:.9rem;
}

/* Hover ease */
.replay-benefit-matrix .replay-matrix__row:not(.replay-matrix__row--head):hover{
  background:rgba(255,255,255,.04);
}

/* Responsive columns */
@media (max-width:1100px){
  .replay-matrix__row{ grid-template-columns:1fr 110px 110px; }
}
@media (max-width:780px){
  .replay-matrix__row{ grid-template-columns:1fr 92px 92px; }
  .replay-badge-note{ min-width:56px; font-size:.85rem; }
}

/* ===== Two-column layout wrapper (optional) ===== */
.replay-two-col {
  display:grid; grid-template-columns: 1.1fr 1.3fr; gap:48px;
}
.replay-two-col .replay-divider-y {
  border-left:1px solid rgba(255,255,255,.22);
  margin-left:-24px; padding-left:24px;
}

/* Font helpers (assumes @font-face already registered in theme) */
:root{
  --replay-serif: "GT Ultra Fine", Georgia, serif;
  --replay-sans: "Muli", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Headings above each matrix */
.replay-matrix__heading{
  font-family: var(--replay-serif);
  font-weight: 600; /* tweak if your GT Ultra Fine weight differs */
  letter-spacing: .01em;
}

/* Header row labels: Benefit / Icons / Legends */
.replay-benefit-matrix .replay-matrix__row--head .replay-matrix__cell{
  font-family: var(--replay-sans);
  font-weight: 700; /* Muli Bold */
}

/* Left column hero pieces */
.replay-heading-serif{
  font-family: var(--replay-serif);
  font-weight: 600;
  letter-spacing: .01em;
  color: #fff;
  font-size: clamp(1.8rem, 2.2vw, 2.6rem);
  margin: 0 0 8px;
}
.replay-price-lg{
  display:flex; align-items:baseline; gap:8px;
  margin: 6px 0 14px;
}
.replay-price-amount{
  font-family: var(--replay-sans);
  font-weight: 800;
  font-size: clamp(2rem, 3vw, 3.2rem);
  color:#fff;
  line-height:1;
}
.replay-price-unit{
  font-family: var(--replay-sans);
  font-weight: 500;
  color: rgba(255,255,255,.8);
}
.replay-intro-copy{
  font-family: var(--replay-sans);
  color: rgba(255,255,255,.9);
  line-height: 1.7;
}

/* =========================================================
   Themed Shortcode Containers
   ========================================================= */
.replay-theme {
  --bg: #093F36;        /* default = dark green */
  --fg: #F8F7F2;        /* ivory text */
  --rule: rgba(255,255,255,0.15);
  --rule-strong: rgba(255,255,255,0.25);
  --accent: #F8F7F2;
}

.replay-theme[data-theme="light"] {
  --bg: #F8F7F2;        /* ivory background */
  --fg: #093F36;        /* dark green text */
  --rule: rgba(9,63,54,0.12);
  --rule-strong: rgba(9,63,54,0.22);
  --accent: #093F36;
}

/* Apply these vars throughout */
.replay-theme .replay-benefit-matrix,
.replay-theme .replay-sport-intro,
.replay-theme .replay-memberships {
  background: var(--bg);
  color: var(--fg);
}

.replay-theme .replay-matrix__heading,
.replay-theme .replay-heading-serif {
  color: var(--fg);
}

.replay-theme .replay-matrix__row {
  border-bottom: 1px solid var(--rule);
}

.replay-theme .replay-matrix__row--head {
  border-bottom: 1px solid var(--rule-strong);
}

.replay-theme .replay-check,
.replay-theme .replay-circle {
  border-color: var(--accent);
}

.replay-theme .replay-check::after {
  border-color: var(--accent);
}

.replay-theme .replay-badge-note,
.replay-theme .replay-matrix__cell--label,
.replay-theme .replay-matrix__cell--col {
  color: var(--fg);
}

.replay-theme .replay-matrix__row:hover {
  background-color: rgba(255,255,255,0.04);
}

.replay-price-unit {
  margin-left: 6px;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  opacity: 0.85;
}

/* Circled X for explicit "Not included" */
.replay-x{
  display:inline-block;
  width:16px; height:16px;
  border:1.5px solid var(--accent);
  border-radius:50%;
  position:relative;
  vertical-align:middle;
  margin-right:6px;
  top:-1px;
}
.replay-x::before,
.replay-x::after{
  content:"";
  position:absolute;
  left:50%; top:50%;
  width:9px; height:1.5px;
  background: var(--accent);
  transform-origin:center;
}
.replay-x::before{ transform: translate(-50%,-50%) rotate(45deg); }
.replay-x::after{  transform: translate(-50%,-50%) rotate(-45deg); }

.replay-theme .replay-tier-cards{
  display: grid;
  gap: 16px;
}
.replay-tier-card{
  display:flex; gap:14px; align-items:flex-start;
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--rule-strong, rgba(255,255,255,.22));
  border-radius: 12px;
  padding: 16px 16px 14px;
}
.replay-theme[data-theme="light"] .replay-tier-card{
  background: rgba(9,63,54,0.04);
  border-color: var(--rule-strong, rgba(9,63,54,.22));
}
.replay-card__icon, .replay-tier-card__iconwrap .replay-card__icon, .replay-tier-card__iconwrap svg{
  width: 28px; height: 28px; color: var(--accent);
}
.replay-tier-card__title{
  font-family: var(--replay-sans);
  font-weight: 800;
  margin: 2px 0 6px;
  display:flex; gap:8px; align-items: baseline;
}
.replay-tier-card__price{
  font-weight: 700; opacity:.9;
}
.replay-tier-card__desc{
  margin: 0 0 10px;
  opacity: .9;
}
.replay-tier-card__cta{
  display:inline-flex; gap:8px; align-items:center;
  font-weight: 700; text-decoration:none;
  border-top: 1px solid var(--rule, rgba(255,255,255,.16));
  padding-top: 10px;
}

.replay-tier-card__iconwrap { flex: 0 0 auto; }
.replay-card__icon {
  width: 32px;
  height: auto;
  display: block;
  filter: none;           /* keep original artwork colors */
}

/* End file */