/* v13.1.0: GCSE Masterclass, the family's page (timetable, quick picks, live price).
   Shown in the run's Preview tab now and on /masterclass/<slug> from stage 4.
   Modelled on the October booking poster: days down the side, time slots across
   the top, big colour-coded sessions, a sticky price summary at the side, a bottom
   bar on phones. Track colours arrive as --mc-bg, --mc-on, --mc-ink on each session. */
.mcp{ --mcp-ink:#24135F; --mcp-muted:#5B5280; --mcp-line:#E6DFFA; --mcp-lav:#E4DCFF; --mcp-pink:#E11D74; --mcp-pinkbg:#FFE4EC;
  --mcp-yellow:#FDE68A; --mcp-panel:#fff; --mcp-good:#047857; --mcp-goodbg:#D1FAE5;
  color:var(--mcp-ink); display:flex; flex-direction:column; gap:18px; line-height:1.4; }
.mcp *{ box-sizing:border-box; }
.mcp-preview-note{ margin:0; background:#FFF8E8; border:1px solid #F3D9A6; border-radius:12px; padding:10px 14px; font-weight:600; font-size:.9rem; }
.mcp-hero{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px; }
.mcp-eyebrow{ margin:0; color:var(--mcp-pink); font-weight:800; font-size:.9rem; letter-spacing:.03em; }
.mcp-hero h1{ margin:4px 0 0; font-size:clamp(30px, 5.5vw, 56px); line-height:1; font-weight:800; text-wrap:balance; }
.mcp-date{ display:inline-block; background:var(--mcp-lav); border-radius:999px; padding:6px 18px; font-weight:800; font-size:1.05rem; margin:10px 0 0; }
.mcp-intro{ max-width:440px; color:var(--mcp-muted); font-weight:700; }
.mcp-intro p{ margin:0 0 8px; }
.mcp-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.mcp-chips span{ background:var(--mcp-pinkbg); color:var(--mcp-ink); border-radius:999px; padding:3px 10px; font-size:.8rem; font-weight:800; }
.mcp-how{ margin:0; font-weight:700; color:var(--mcp-muted); }
.mcp-picks{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.mcp-picks b{ font-size:1rem; margin-right:2px; }
.mcp-pill{ font:inherit; font-weight:800; font-size:.9rem; cursor:pointer; border:2px solid var(--mcp-line); background:var(--mcp-panel); color:var(--mcp-ink);
  border-radius:999px; padding:9px 16px; min-height:44px; }
.mcp-pill:hover{ border-color:var(--mcp-pink); }
.mcp-pill:focus-visible, .mcp-sess:focus-visible, .mcp-cta:focus-visible{ outline:3px solid var(--mcp-pink); outline-offset:2px; }
.mcp-main{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:20px; align-items:start; }
.mcp-tt{ display:grid; grid-template-columns:110px repeat(var(--mcp-cols, 3), minmax(0,1fr)); gap:10px; }
.mcp-hd{ background:var(--mcp-lav); border-radius:999px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  font-weight:800; font-size:1rem; min-height:44px; padding:4px 10px; }
.mcp-hd small{ font-size:.72rem; font-weight:700; opacity:.85; }
.mcp-hd-day{ background:var(--mcp-pink); color:#fff; }
.mcp-day{ background:var(--mcp-pinkbg); border-radius:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  font-weight:800; font-size:1.1rem; line-height:1.1; padding:10px; }
.mcp-slot{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.mcp-slot.is-empty{ align-items:center; justify-content:center; border:2px dashed var(--mcp-line); border-radius:14px; color:var(--mcp-muted); font-weight:700; min-height:60px; }
.mcp-slotlab{ display:none; }
.mcp-sess{ font:inherit; text-align:center; cursor:pointer; border:2px solid transparent; border-radius:14px; padding:10px 10px 11px; display:flex; flex-direction:column;
  align-items:center; gap:3px; flex:1 1 auto; min-height:92px; position:relative; color:var(--mcp-ink); background:var(--mc-bg);
  transition:background .15s, border-color .15s, opacity .15s, transform .1s; }
.mcp-sess:active{ transform:scale(.985); }
.mcp-sess[aria-pressed="true"]{ background:var(--mc-on); border-color:var(--mc-ink); }
.mcp-t{ font-weight:800; font-size:1rem; line-height:1.1; color:var(--mc-ink); }
.mcp-lv{ font-weight:800; font-size:.72rem; letter-spacing:.03em; border-radius:999px; padding:1px 9px; background:var(--mcp-panel); color:var(--mc-ink); }
.mcp-x{ font-weight:700; font-size:.82rem; line-height:1.25; overflow-wrap:anywhere; }
.mcp-tick{ position:absolute; top:6px; right:6px; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--mcp-panel); border:2px solid currentColor; color:var(--mc-ink); font-size:.75rem; font-weight:900; opacity:0; transition:opacity .15s; }
.mcp-sess[aria-pressed="true"] .mcp-tick{ opacity:1; }
.mcp-sess.dim{ opacity:.55; }
.mcp-sess.dim:hover{ opacity:.85; }
.mcp-sess.is-full{ cursor:not-allowed; opacity:.5; }
.mcp-full{ background:var(--mcp-ink); color:#fff; border-radius:999px; padding:1px 9px; font-size:.72rem; font-weight:800; }
.mcp-sum{ position:sticky; top:12px; background:var(--mcp-panel); border:2px solid var(--mcp-line); border-radius:20px; padding:18px; display:flex; flex-direction:column; gap:12px; }
.mcp-sum h2{ margin:0; font-size:1.25rem; }
.mcp-count{ display:flex; align-items:baseline; gap:8px; }
.mcp-count b{ font-weight:800; font-size:2.6rem; line-height:1; font-variant-numeric:tabular-nums; }
.mcp-count span{ color:var(--mcp-muted); font-weight:800; }
.mcp-meter{ height:10px; background:var(--mcp-lav); border-radius:999px; overflow:hidden; }
.mcp-meter i{ display:block; height:100%; width:0; background:var(--mcp-pink); border-radius:999px; transition:width .25s; }
.mcp-price{ display:grid; grid-template-columns:1fr auto; gap:4px 10px; font-weight:700; font-variant-numeric:tabular-nums; align-items:baseline; }
.mcp-lbl{ color:var(--mcp-muted); }
.mcp-tot{ font-weight:800; font-size:2rem; line-height:1.1; }
.mcp-save{ background:var(--mcp-goodbg); color:var(--mcp-good); border-radius:12px; padding:8px 12px; font-weight:800; font-size:.9rem; }
.mcp-nudge{ border:2px dashed var(--mcp-pink); border-radius:12px; padding:8px 12px; font-weight:800; font-size:.9rem; }
.mcp-ladder{ display:grid; grid-template-columns:repeat(auto-fit, minmax(62px, 1fr)); gap:6px; }
.mcp-rung{ border:2px solid var(--mcp-line); border-radius:12px; padding:6px 4px; text-align:center; font-size:.72rem; font-weight:800; color:var(--mcp-muted); }
.mcp-rung b{ display:block; font-size:1rem; color:var(--mcp-ink); }
.mcp-rung.on{ border-color:var(--mcp-pink); background:var(--mcp-pinkbg); color:var(--mcp-ink); }
.mcp-list{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:4px; font-weight:700; font-size:.9rem; }
.mcp-list li{ display:flex; justify-content:space-between; gap:8px; }
.mcp-list .n{ font-variant-numeric:tabular-nums; color:var(--mcp-muted); }
.mcp-dot{ display:inline-block; width:12px; height:12px; border-radius:50%; background:var(--mc-bg); border:2px solid var(--mc-ink); margin-right:6px; vertical-align:-1px; }
.mcp-cta{ font:inherit; font-weight:800; font-size:1.05rem; cursor:pointer; border:none; border-radius:999px; padding:12px 18px; min-height:48px; background:var(--mcp-pink); color:#fff; }
.mcp-cta:disabled{ opacity:.45; cursor:not-allowed; }
.mcp-note{ margin:0; color:var(--mcp-muted); font-size:.82rem; font-weight:700; }
.mcp-bar{ display:none; }
.mcp-desc{ background:var(--mcp-panel); border:2px solid var(--mcp-line); border-radius:20px; padding:16px 20px; }
.mcp-rules{ color:var(--mcp-muted); font-size:.88rem; }
.mcp-rules p{ margin:4px 0; }
@media (max-width:960px){
  .mcp-main{ grid-template-columns:minmax(0,1fr); }
  .mcp-sum{ position:static; }
  .mcp-bar{ display:flex; position:sticky; bottom:0; z-index:5; justify-content:space-between; align-items:center; gap:10px; background:var(--mcp-panel);
    border:2px solid var(--mcp-line); border-radius:16px; padding:8px 8px 8px 14px; box-shadow:0 -6px 20px rgba(36,19,95,.12); font-variant-numeric:tabular-nums; }
  .mcp-bar .mcp-cta{ min-height:44px; padding:8px 16px; font-size:.95rem; }
}
@media (max-width:720px){
  .mcp-tt{ grid-template-columns:minmax(0,1fr); }
  .mcp-hd{ display:none; }
  .mcp-day{ flex-direction:row; gap:8px; justify-content:flex-start; border-radius:999px; padding:8px 16px; margin-top:8px; }
  .mcp-slotlab{ display:block; font-weight:800; font-size:.85rem; color:var(--mcp-muted); margin:2px 0 -2px 4px; }
  .mcp-slot.two{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); }
  .mcp-slot.two .mcp-slotlab{ grid-column:1 / -1; }
  .mcp-slot.is-empty{ display:none; }
}
/* v13.2.0: already booked, a slot closed by a booked session, a seat kept from the waiting list */
.mcp-sess.is-full{ cursor:pointer; }
.mcp-sess.is-mine{ cursor:default; background:var(--mc-on); border-color:var(--mc-ink); }
.mcp-sess.is-shut{ cursor:not-allowed; opacity:.4; }
.mcp-mine{ background:var(--mc-ink); }
.mcp-offer{ background:var(--mcp-good); }
.mcp-state{ margin:0; border-radius:14px; padding:12px 16px; font-weight:700; background:var(--mcp-lav); }
.mcp-state.is-warn{ background:#FFF8E8; border:1px solid #F3D9A6; }
/* v13.2.0: the public list of runs (/gcse-masterclass) and the run page frame */
.mcs-index .mcs-lead{ max-width:640px; color:var(--grey, #5B5280); }
.mcs-cards{ display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:18px; margin-top:18px; }
.mcs-card{ display:flex; flex-direction:column; gap:8px; padding:20px; border-radius:20px; background:#fff; border:2px solid #E6DFFA; color:#24135F; text-decoration:none;
  box-shadow:0 8px 24px rgba(36,19,95,.06); transition:transform .15s, border-color .15s; }
.mcs-card:hover{ transform:translateY(-2px); border-color:#E11D74; }
.mcs-dates{ align-self:flex-start; background:#E4DCFF; border-radius:999px; padding:3px 12px; font-weight:800; font-size:.85rem; }
.mcs-name{ font-size:1.3rem; line-height:1.15; }
.mcs-sum{ color:#5B5280; font-size:.92rem; }
.mcs-tracks{ display:flex; flex-wrap:wrap; gap:5px; }
.mcs-tracks i{ font-style:normal; font-weight:800; font-size:.75rem; border-radius:999px; padding:2px 9px; }
.mcs-foot{ display:flex; justify-content:space-between; gap:8px; align-items:center; margin-top:auto; padding-top:6px; }
.mcs-go{ color:#E11D74; font-weight:800; }
.mcs-note{ font-size:.82rem; color:#8A5A00; font-weight:700; }
.mcs-empty{ background:#fff; border:2px dashed #E6DFFA; border-radius:20px; padding:28px; text-align:center; margin-top:18px; }
.mcs-run{ padding-top:20px; }
.mcs-crumb{ margin:0 0 12px; }
.mcs-modal{ max-width:620px; }
.mcp-t{ padding:0 20px; }   /* v13.2.0: room for the tick beside a long track name */
/* v13.4.0: the "tap a session" note, Clear all in the price panel, and the brand gradient
   on the count, the meter and the button (as on the rest of the site) */
.mcp-how{ background:var(--mcp-panel); border-left:5px solid #D22CB2; border-radius:14px; padding:12px 16px; color:var(--mcp-ink); box-shadow:0 4px 12px rgba(34,34,60,.05); }
.mcp-how b{ color:#3F27BD; }
.mcp-clear{ align-self:flex-start; background:none; border:0; padding:4px 0; font:inherit; font-weight:700; color:#3F27BD; text-decoration:underline; cursor:pointer; min-height:32px; }
.mcp-sess{ border-color:rgba(34,34,60,.06); box-shadow:0 4px 12px rgba(34,34,60,.05); }
.mcp-sess.dim{ opacity:.72; }
.mcp-meter i{ background:linear-gradient(90deg,#3F27BD,#D22CB2); }
.mcp-cta{ background:linear-gradient(90deg,#3F27BD,#D22CB2); }
.mcp-hd{ color:#3F27BD; }
.mcp-hd-day{ background:linear-gradient(90deg,#3F27BD,#D22CB2); color:#fff; }
.mcp-day{ background:#FDF4FA; border:2px solid #F7D7EE; color:#D22CB2; }
.mcp-date{ background:linear-gradient(90deg,#3F27BD,#D22CB2); color:#fff; }
/* v13.4.0: How the classes work, and Before you book */
.mcp-info{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; margin-top:16px; }
.mcp-info-card{ background:var(--mcp-panel); border:2px solid var(--mcp-line); border-radius:20px; padding:16px 18px; box-shadow:0 4px 14px rgba(63,39,189,.06); }
.mcp-info-card h3{ margin:0 0 8px; font-size:1.05rem; color:var(--mcp-ink); }
.mcp-info-card ul{ margin:0; padding-left:18px; display:grid; gap:6px; font-size:.92rem; line-height:1.5; color:var(--mcp-ink); }
.mcp-info-card .mcp-how-list{ list-style:none; padding-left:0; }
.mcp-terms{ border-left:4px solid #8B5CF6; }
/* v13.5.1: Track bundles: book a whole track */
.mcp-offers{ background:var(--mcp-panel); border:2px solid var(--mcp-line); border-radius:22px; padding:18px 20px; margin:0 0 14px; }
.mcp-offers h2{ margin:0 0 4px; font-size:1.25rem; color:var(--mcp-ink); }
.mcp-offers-lead{ margin:0 0 12px; color:var(--mcp-muted); font-size:.95rem; }
.mcp-offer-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; }
.mcp-offer{ background:var(--mc-bg); border:2px solid transparent; border-radius:18px; padding:14px 14px 12px; display:flex; flex-direction:column; gap:6px;
  box-shadow:0 4px 14px rgba(63,39,189,.07); transition:transform .12s, box-shadow .12s; }
.mcp-offer:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(63,39,189,.12); }
.mcp-offer.is-on{ border-color:var(--mc-ink); background:var(--mc-on); }
.mcp-offer-top{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.mcp-offer-name{ color:var(--mc-ink); font-size:1.05rem; }
.mcp-offer-when{ margin:0; font-size:.85rem; color:var(--mcp-muted); }
.mcp-offer-price{ margin:2px 0 4px; font-size:.95rem; color:var(--mcp-muted); }
.mcp-offer-price b{ font-size:1.6rem; color:var(--mc-ink); margin-right:4px; }
.mcp-offer-price s{ opacity:.7; }
.mcp-offer-save{ display:inline-block; background:#fff; color:#B4237A; font-weight:800; font-size:.8rem; border-radius:999px; padding:2px 9px; margin-left:4px; }
.mcp-offer-btn{ margin-top:auto; border:0; border-radius:999px; padding:9px 12px; font:inherit; font-weight:800; cursor:pointer; color:#fff;
  background:linear-gradient(90deg,#3F27BD,#D22CB2); min-height:40px; }
.mcp-offer.is-on .mcp-offer-btn{ background:#fff; color:var(--mc-ink); border:2px solid var(--mc-ink); }
.mcp-offer-btn:disabled{ background:#D9D7E8; color:#5D5A78; cursor:not-allowed; }
.mcp-week{ margin-top:12px; display:flex; flex-direction:column; gap:3px; border-radius:16px; padding:12px 14px; color:#3B1D3A;
  background:linear-gradient(90deg,#F1ECFC,#FCEEF6); border:2px dashed #D22CB2; }
.mcp-week-prog{ font-size:.85rem; font-weight:700; color:#5B3CC4; }
.mcp-nudge-btn{ display:inline-block; margin-top:6px; border:0; border-radius:999px; padding:6px 12px; font:inherit; font-weight:800; font-size:.85rem; cursor:pointer;
  color:#fff; background:linear-gradient(90deg,#3F27BD,#D22CB2); }
/* v13.5.2: choose-one groups */
.mcp-offer-rival{ margin:0; font-size:.8rem; font-weight:700; color:var(--mc-ink); opacity:.85; }
.mcp-sess.is-rival{ opacity:.45; filter:saturate(.6); }
.mcp-swap{ border-radius:12px; padding:8px 12px; font-size:.85rem; font-weight:700; background:#F1ECFC; color:#5B3CC4; }
/* v13.5.3: what each day of a track covers (a link on the card, a wide panel under the cards) */
.mcp-outline-link{ align-self:flex-start; border:0; background:none; padding:0; font:inherit; font-size:.85rem; font-weight:800; color:var(--mc-ink); text-decoration:underline; cursor:pointer; }
.mcp-outline{ margin-top:12px; background:var(--mc-bg); border:2px solid var(--mc-ink); border-radius:18px; padding:14px 16px; }
.mcp-outline h3{ margin:0 0 10px; color:var(--mc-ink); font-size:1.05rem; }
.mcp-outline-days{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; }
.mcp-outline-day{ background:rgba(255,255,255,.8); border-radius:12px; padding:10px 12px; font-size:.85rem; line-height:1.45; }
.mcp-outline-date{ margin:0 0 2px; font-weight:800; color:var(--mc-ink); text-transform:uppercase; font-size:.75rem; letter-spacing:.04em; }
.mcp-outline-day ul{ margin:6px 0 0; padding-left:16px; display:grid; gap:3px; }
.mcp-key{ margin:6px 0 0; font-weight:700; color:var(--mc-ink); }
.mcp-offer-grid{ align-items:start; }

/* v13.6.0: the key skill on a tile, in its own type, and the tile's popup (points and an example GCSE question) */
.mcp-ks{ font-family:"Fraunces","Playfair Display",Georgia,serif; font-style:italic; font-weight:600; font-size:.8rem; line-height:1.3; color:var(--mc-ink);
  margin-top:3px; padding:5px 18px 0; border-top:1px dashed color-mix(in srgb, var(--mc-ink) 35%, transparent); }
.mcp-ks-l{ font-family:"Open Sans",system-ui,sans-serif; font-style:normal; font-weight:800; font-size:.64rem; letter-spacing:.05em; text-transform:uppercase; }
.mcp-idot{ position:absolute; right:7px; bottom:7px; width:20px; height:20px; border-radius:50%; display:grid; place-items:center;
  font:italic 700 12px Georgia,serif; color:#fff; background:var(--mc-ink); opacity:.85; cursor:help; }
.mcp-pop{ position:fixed; z-index:1000; background:#fff; border-radius:16px; padding:14px 16px; box-shadow:0 18px 50px rgba(34,34,60,.25);
  border-top:5px solid var(--mc-ink); font-size:13.5px; line-height:1.45; color:#22223C; max-height:calc(100vh - 24px); overflow:auto; text-align:left; }
.mcp-pop[hidden]{ display:none; }
.mcp-pop-date{ margin:0; font-weight:800; color:var(--mc-ink); text-transform:uppercase; font-size:11px; letter-spacing:.05em; }
.mcp-pop h4{ margin:2px 0 6px; font:700 16px Poppins,system-ui,sans-serif; }
.mcp-pop ul{ margin:0 0 6px; padding-left:18px; display:grid; gap:3px; }
.mcp-pop-key{ margin:6px 0 0; font-family:"Fraunces","Playfair Display",Georgia,serif; font-style:italic; font-weight:600; font-size:14px; color:var(--mc-ink); }
.mcp-pop-ex{ margin-top:10px; background:var(--mc-bg); border-radius:12px; padding:10px 12px; }
.mcp-pop-ex > b{ display:block; font:700 13px Poppins,system-ui,sans-serif; color:var(--mc-ink); margin-bottom:4px; }
.mcp-pop-ex p{ margin:0; }
.mcp-pop-ex ol{ margin:5px 0 0; padding-left:22px; list-style:lower-alpha; display:grid; gap:3px; }
.mcp-pop-marks{ color:#6B6F8E; font-size:12px; text-align:right; font-weight:700; margin-top:4px !important; }

/* v13.6.3: /gcse-masterclass: a row per run, its tracks as cards (three or four across) */
.mcs-how{ display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:12px; margin:18px 0 6px; }
.mcs-how-tile{ display:flex; gap:10px; align-items:flex-start; background:#fff; border:2px solid #EEE8FC; border-radius:16px; padding:12px 14px; color:#3A2F6B; font-size:.92rem; line-height:1.4; font-weight:600; }
.mcs-how-tile .ico{ font-size:1.4rem; line-height:1; }
.mcs-row{ margin-top:24px; background:linear-gradient(180deg,#F7F4FF,#fff 120px); border:2px solid #E6DFFA; border-radius:26px; padding:clamp(16px,3vw,28px); }
.mcs-row-head{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; align-items:flex-start; }
.mcs-row-head .mcs-name{ margin:8px 0 4px; font-size:clamp(1.3rem,2.4vw,1.7rem); color:#24135F; }
.mcs-row-head .mcs-sum{ margin:0 0 8px; max-width:62ch; }
.mcs-chips{ display:flex; flex-wrap:wrap; gap:6px; margin:0; }
.mcs-chips span{ background:#fff; border:1.5px solid #E6DFFA; border-radius:999px; padding:3px 10px; font-size:.82rem; font-weight:800; color:#3F27BD; }
.mcs-row-cta{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; text-align:right; }
.mcs-btn{ display:inline-block; background:linear-gradient(135deg,#3F27BD,#D22CB2); color:#fff; font-weight:800; border-radius:999px; padding:12px 22px; text-decoration:none;
  box-shadow:0 8px 20px rgba(63,39,189,.25); }
.mcs-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
.mcs-tgrid{ display:grid; gap:14px; margin-top:18px; grid-template-columns:1fr; }
@media (min-width:640px){ .mcs-tgrid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:980px){ .mcs-tgrid.cols-3{ grid-template-columns:repeat(3, minmax(0,1fr)); } .mcs-tgrid.cols-4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
  .mcs-tgrid.cols-1{ grid-template-columns:minmax(0,420px); } }
.mcs-tcard{ display:flex; flex-direction:column; gap:8px; background:#fff; border-radius:18px; border:2px solid var(--tc-on); text-decoration:none; color:#24135F;
  overflow:hidden; transition:transform .15s, box-shadow .15s; }
.mcs-tcard:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(36,19,95,.12); border-color:var(--tc-ink); }
.mcs-tcard-top{ background:var(--tc-bg); color:var(--tc-ink); padding:12px 14px; display:flex; flex-direction:column; gap:2px; }
.mcs-tcard-top b{ font-size:1.08rem; }
.mcs-tcard-top i{ font-style:normal; font-size:.78rem; font-weight:800; opacity:.85; }
.mcs-tcard-when{ padding:0 14px; font-size:.85rem; font-weight:700; color:#5B5280; }
.mcs-tcard-topics{ margin:0; padding:0 14px 0 30px; font-size:.86rem; line-height:1.35; display:grid; gap:3px; color:#3A2F6B; }
.mcs-tcard-topics .more{ list-style:none; margin-left:-16px; color:#8A85A8; font-weight:700; }
.mcs-tcard-rival{ margin:0 14px; font-size:.78rem; font-weight:800; color:var(--tc-ink); }
.mcs-tcard-foot{ margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 14px; border-top:1.5px dashed var(--tc-on); font-size:.9rem; }
.mcs-tcard-foot b{ font-size:1.15rem; color:var(--tc-ink); }
.mcs-tcard-foot em{ font-style:normal; background:#E9F7EC; color:#1F6B2E; font-weight:800; font-size:.78rem; border-radius:999px; padding:2px 9px; }
.mcs-week{ margin:14px 0 0; background:#FFF6E0; border-radius:14px; padding:10px 14px; color:#6B4A00; }
@media (max-width:640px){ .mcs-row-cta{ align-items:stretch; text-align:left; width:100%; } .mcs-btn{ text-align:center; } }
