/* R6 混搭版 — R2 route (STEP 1-2) + R3 fees block and process + the live page's paper notice tabs.
   R6b (owner 11/09): fees show all four prices (no switch); process switch is 全日／半日（上午）／半日（下午）.
   Everything under .rv-r6f3; classes rs6-. Kit: /css/reserve-kit.css. */
.rv-r6f3 { --rs6-rail: 40px; --rs6-gap: 10px; --rs6-badge: 40px; }

/* ================================================================ the route (R2): rail | body, STEP 1 and STEP 2 only */
.rv-r6f3 .rs6-stop__wrap { display: grid; grid-template-columns: var(--rs6-rail) minmax(0, 1fr); column-gap: var(--rs6-gap); }
.rv-r6f3 .rs6-rail { position: relative; }
.rv-r6f3 .rs6-rail::before {
  content: ""; position: absolute; left: calc(50% - 1.5px); top: 0; bottom: calc(-1 * var(--rs-sec)); width: 3px;
  background: repeating-linear-gradient(to bottom, var(--rs-ink) 0 8px, transparent 8px 15px); opacity: .55;
}
.rv-r6f3 .rs6-stop--first .rs6-rail::before { top: 24px; }
.rv-r6f3 .rs6-stop--end .rs6-rail::before { bottom: 30px; }
/* the route ends beside 馬上預定: R2's cyan end dot */
.rv-r6f3 .rs6-stop--end .rs6-rail::after {
  content: ""; position: absolute; left: calc(50% - 8px); bottom: 22px; width: 16px; height: 16px; box-sizing: border-box;
  border: 2.5px solid var(--rs-ink); border-radius: 50%; background: var(--rs-cyan);
}
.rv-r6f3 .rs6-badge {
  position: sticky; top: calc(var(--rs-nav) + 12px); z-index: 1;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: var(--rs6-badge); margin-inline: auto; padding: 7px 0 8px; border-radius: 999px; background: var(--rs-ink); color: #fff;
  box-shadow: 0 0 0 4px #fff;
}
.rv-r6f3 .rs6-badge__k { font-size: 15px; font-weight: 800; line-height: 1.2; letter-spacing: 0; transform: scaleX(.8); }
.rv-r6f3 .rs6-badge__n {
  display: grid; place-items: center; width: 28px; height: 28px; margin-top: 4px; border-radius: 50%;
  background: #fff; color: var(--rs-ink); font-size: 18px; font-weight: 800; line-height: 1;
}
.rv-r6f3 .rs6-body { min-width: 0; }
.rv-r6f3 .rs6-body > .rs-head { min-height: 64px; }

/* STEP 1 想學什麼 (R2 cards, three items open) + the dotted divider inside the route column */
.rv-r6f3 .rs6-courses { display: grid; gap: 16px; }
.rv-r6f3 .rs6-course .rs-items { padding-top: 14px; border-top: 1.5px dashed var(--rs-line-2); }
.rv-r6f3 .rs6-dots { width: auto; margin: var(--rs-sec) 0 0; }

/* ================================================================ STEP 2 課程費用 (R3 block) */
.rv-r6f3 .rs6-seg { max-width: 420px; }
.rv-r6f3 .rs6-seg .rs-seg__btn { font-size: 16px; }
.rv-r6f3 .rs6-switch { margin-bottom: 20px; }
.rv-r6f3 .rs6-sub { display: flex; align-items: center; gap: 10px; margin-bottom: -4px; font-size: var(--rs-h3s); line-height: 1.4; }
.rv-r6f3 .rs6-fees { display: grid; gap: 16px; }
.rv-r6f3 .rs6-fees__main { display: grid; gap: 16px; align-content: start; min-width: 0; }
.rv-r6f3 .rs6-multi .rs-h4 { font-size: var(--rs-h4s); line-height: 1.45; }
.rv-r6f3 .rs-table--multi tbody th, .rv-r6f3 .rs-table__course { white-space: nowrap; }
.rv-r6f3 .rs6-book { display: flex; justify-content: center; }
.rv-r6f3 .rs6-fees__side { min-width: 0; }
.rv-r6f3 .rs6-art { margin-inline: auto; }

/* ================================================================ 上課流程 (R3; R6b: 全日課程／半日課程（上午）／半日課程（下午）) */
.rv-r6f3 .rs6-seg--3 { max-width: 600px; }
.rv-r6f3 .rs6-ampm { display: inline-block; white-space: nowrap; }   /* phones: 半日課程 / （上午） on two lines, never mid-word */
.rv-r6f3 .rs6-tls { display: grid; gap: 16px; }
.rv-r6f3 .rs6-tl { padding: 20px 18px; }
.rv-r6f3 .rs6-tl .rs-tl--yellow .rs-tl__step:not(:last-child)::before { background: var(--rs-yellow-line); }

/* ================================================================ 注意事項: the live page's paper tabs and paper box */
.rv-r6f3 #notice { scroll-margin-top: calc(var(--rs-nav) + 16px); }   /* reserve-layout.css sets 28px */
.rv-r6f3 .rs6-nhead { position: relative; }
.rv-r6f3 .rs6-nhead::after {   /* the live page's cyan asterisk, drawn (not text) */
  content: "\2733"; position: absolute; right: 8%; top: 4px; color: var(--rs-cyan); font-size: 20px; line-height: 1;
}
/* the outer paper frame goes (as reserve-layout.css does on the live page): heading, then paper tabs, then the paper box */
.rv-r6f3 .rs6-paper { display: block; padding: 0; border: 0; background: transparent; box-shadow: none; clip-path: none; }
.rv-r6f3 #notice .tab-link { color: #375b4e; text-decoration: none; }
.rv-r6f3 #notice .tab-link .notice-text { display: block; color: inherit; font-weight: 700; }   /* was a bold h3 on the live page */
.rv-r6f3 #notice .tabs-content .show { color: #375b4e; font-size: var(--rs-body); }   /* live page: 17px from 600; SPEC-R: 16 below 1024 */
/* the group's h3 lives in its pane (the tab shows the same words): read by screen readers, shown only without JS */
.rv-r6f3.rs6-js #notice .rs6-ptitle { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rv-r6f3 #notice .rs6-ptitle { margin: 0 0 6px; color: #375b4e; font-size: 18px; line-height: 1.5; }
/* no JS: no tab bar, every pane in order */
.rv-r6f3:not(.rs6-js) #notice .w-tab-menu { display: none; }
.rv-r6f3:not(.rs6-js) #notice .w-tab-pane { display: block; }
.rv-r6f3:not(.rs6-js) #notice .w-tab-pane + .w-tab-pane { margin-top: 16px; }

/* ================================================================ sizes */
@media (max-width: 599px) {
  .rv-r6f3 .rs6-body .rs-card:not(.rs-tablecard), .rv-r6f3 .rs6-body .rs-box, .rv-r6f3 .rs6-tl { padding: 16px 14px; }
  .rv-r6f3 .rs6-body .rs-art { padding: 10px; }
  .rv-r6f3 .rs6-course .rs-course__img { width: 88px; }
  .rv-r6f3 .rs6-seg--3 .rs-seg__btn { padding-inline: 6px; }
}
@media (min-width: 600px) {
  .rv-r6f3 { --rs6-rail: 56px; --rs6-gap: 18px; --rs6-badge: 52px; }
  .rv-r6f3 .rs6-badge__n { width: 34px; height: 34px; font-size: 20px; }
}
@media (min-width: 1024px) {
  .rv-r6f3 { --rs6-rail: 96px; --rs6-gap: 24px; --rs6-badge: 72px; }
  .rv-r6f3 .rs6-badge { padding: 10px 0 12px; }
  .rv-r6f3 .rs6-badge__k { font-size: 16px; letter-spacing: .08em; transform: none; }
  .rv-r6f3 .rs6-badge__n { width: 44px; height: 44px; margin-top: 6px; font-size: 26px; }
  .rv-r6f3 .rs6-stop--first .rs6-rail::before { top: 40px; }
  .rv-r6f3 .rs6-courses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rv-r6f3 .rs6-fees { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 28px; align-items: start; }
  .rv-r6f3 .rs6-fees__side { position: sticky; top: calc(var(--rs-nav) + 16px); }
  .rv-r6f3 .rs6-tl { padding: 26px 28px 28px; }
  .rv-r6f3 .rs6-tl .rs-tl__steps { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); column-gap: 20px; }
  .rv-r6f3 .rs6-tl .rs-tl__step { padding: 60px 0 0; }
  .rv-r6f3 .rs6-tl .rs-tl__step:not(:last-child)::before { left: 50px; right: -16px; top: 22px; bottom: auto; width: auto; height: 3px; }
}

/* R6d (owner 11/10): 段標組裡的第三行「2026–27 雪季課程價格」＋ 9 折單獨面板 */
.rv-r6f3 .rs-head .rs6-sub--merged { display: block; margin: 10px 0 0; font-size: 18px; line-height: 1.4; font-weight: 700; color: var(--rs-ink); }
.rv-r6f3 .rs6-promo { display: grid; gap: 6px; padding: 16px 18px; border-color: #f2b9cc; background: #fff2f6; }
.rv-r6f3 .rs6-promo__title { font-size: 18px; line-height: 1.75; }
.rv-r6f3 .rs6-promo__title strong { color: #c81e4a; }
.rv-r6f3 .rs6-promo__body { font-size: var(--rs-body); line-height: 1.75; color: var(--rs-ink2, #3a5167); }
@media (min-width: 768px) {
  .rv-r6f3 .rs-head .rs6-sub--merged { font-size: 20px; }
  .rv-r6f3 .rs6-promo__title { font-size: 20px; }
}

/* ================================================================ G7（11/10 介面審查）修正 */
/* S10: 600 以上「STEP」不壓扁（徽章 52px 放得下 15px 的字） */
@media (min-width: 600px) { .rv-r6f3 .rs6-badge__k { transform: none; } }
@media (min-width: 1024px) {
  /* S7: 徽章左緣貼齊頁面左緣（主軸欄 72＋間距 48＝原本的 96＋24，內容左緣不變） */
  .rv-r6f3 { --rs6-rail: 72px; --rs6-gap: 48px; }
  /* S1: 兩張課程卡並排時人物圖同高，卡內的虛線與三個小標才會對齊 */
  .rv-r6f3 .rs6-course .rs-course__img { height: 122px; object-fit: contain; object-position: center bottom; }
  /* S6: 橫向步驟的說明字不留孤字 */
  .rv-r6f3 .rs6-tl .rs-tl__text { text-wrap: balance; }
}

/* ================================================================ R6F3 一覽表（owner 11/10：課程費用段重作；F3b「不要圖片、精修」）
   借早鳥頁 /early-bird 的白卡表格（.eb-table）：一張寬表 課程｜上課時間｜1–2 人｜3–4 人｜第 2 天｜第 3 天起，
   表頭兩層（課程／上課時間跨兩列，課程價格／多日訂課優惠兩個欄群），備註句是卡片最後一列；表下 9 折橫幅、計費說明、
   置中的馬上預定（不放海報）。< 1200px 每門課一張卡（F3c／F3d／G7）（上半價格、下半淡黃多日優惠，小標用 CSS 產生）。
   class rs6f3-；只管 #fees。 */
.rv-r6f3 .rs6f3-fees { display: grid; gap: 18px; }
.rv-r6f3 .rs6f3-sheet { min-width: 0; }

/* ---------------------------------------------------------------- the wide table (>= 1200px) */
.rv-r6f3 .rs6f3-card { padding: 0; overflow: hidden; border: 1px solid var(--rs-edge); border-radius: 20px; }
.rv-r6f3 .rs6f3-table { font-variant-numeric: tabular-nums; }
.rv-r6f3 .rs6f3-table th, .rv-r6f3 .rs6f3-table td { padding: 18px 8px; border-top: 1px solid var(--rs-line); vertical-align: middle; }
/* the head: one coloured band, no blank corner */
.rv-r6f3 .rs6f3-table thead th { padding: 10px 8px; border-top: 0; background: var(--rs-band); color: var(--rs-ink); font-size: 15px; font-weight: 700; line-height: 1.5; white-space: nowrap; }
.rv-r6f3 .rs6f3-table thead .rs6f3-h-course { padding-left: 34px; }
.rv-r6f3 .rs6f3-table thead .rs6f3-g { padding: 10px 8px 6px; text-align: center; }
.rv-r6f3 .rs6f3-table thead .rs6f3-g--price { background: var(--rs-cyan-pale); }
.rv-r6f3 .rs6f3-table thead .rs6f3-c-price { padding-top: 4px; background: #ecfbfd; text-align: center; }
.rv-r6f3 .rs6f3-table thead .rs6f3-g--multi { background: var(--rs-yellow-soft); }
.rv-r6f3 .rs6f3-table thead .rs6f3-c-m { padding-top: 4px; background: #fff8dc; text-align: center; }
.rv-r6f3 .rs6f3-glab {
  display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--rs-ink);
  font-size: 18px; font-weight: 700; line-height: 1.45; letter-spacing: .02em; white-space: nowrap;
}
/* 多日優惠兩欄：整欄淡黃，左緣黃色虛線 */
.rv-r6f3 .rs6f3-table .rs6f3-g--multi, .rv-r6f3 .rs6f3-table .rs6f3-c-m1, .rv-r6f3 .rs6f3-table .rs6f3-off--d2 { border-left: 2px dashed #e5c469; }
/* the rows */
.rv-r6f3 .rs6f3-table .rs6f3-course { position: relative; padding-left: 20px; color: var(--rs-ink); font-size: 18px; font-weight: 700; line-height: 1.45; white-space: nowrap; }
.rv-r6f3 .rs6f3-course > span { display: inline-block; padding-left: 14px; }
.rv-r6f3 .rs6f3-course::before {
  content: ""; position: absolute; left: 20px; top: 50%; width: 6px; height: 30px; margin-top: -15px; border-radius: 3px; background: var(--rs-cyan);
}
.rv-r6f3 .rs6f3-row--half .rs6f3-course::before { background: var(--rs-yellow); }
.rv-r6f3 .rs6f3-time .rs-time__main { font-size: 17px; line-height: 1.6; }
.rv-r6f3 .rs6f3-time .rs-time__sub { color: var(--rs-en); font-size: 15px; line-height: 1.6; }
.rv-r6f3 .rs6f3-price { text-align: center; }
.rv-r6f3 .rs6f3-table .rs-price { font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; }
.rv-r6f3 .rs6f3-party {   /* the column head says it; read by screen readers and shown on the phone cards */
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.rv-r6f3 .rs6f3-table .rs6f3-off { background: #fffbea; color: var(--rs-ink); font-size: 15px; font-weight: 700; text-align: center; white-space: nowrap; }
.rv-r6f3 .rs6f3-off .rs-off { font-size: 20px; font-variant-numeric: tabular-nums; }
/* the note: the card's last row, pale yellow, dashed top */
.rv-r6f3 .rs6f3-table .rs6f3-foot > td { padding: 12px 20px; border-top: 2px dashed #e5c469; background: #fffbea; }
.rv-r6f3 .rs6f3-note { display: flex; align-items: flex-start; gap: 10px; color: var(--rs-ink); font-size: 16px; line-height: 1.75; }
.rv-r6f3 .rs6f3-note::before {
  content: ""; flex: 0 0 auto; width: 10px; height: 10px; margin-top: calc((1.75em - 10px) / 2); border-radius: 50%;
  background: var(--rs-yellow); box-shadow: 0 0 0 1.5px #e5b83e;
}

/* ---------------------------------------------------------------- under the table: 9 折 banner, billing, 馬上預定 (all full width) */
.rv-r6f3 .rs6f3-promo {
  display: flex; align-items: center; gap: 14px; padding: 14px 20px;
  border: 1.5px solid #f2b9cc; border-radius: 16px; background: #fff2f6; color: var(--rs-ink);
}
.rv-r6f3 .rs6f3-promo > .rs-ic { flex: 0 0 auto; box-shadow: inset 0 0 0 1.5px #f2b9cc; }
.rv-r6f3 .rs6f3-promo__text { display: grid; min-width: 0; font-size: 16px; line-height: 1.75; }
.rv-r6f3 .rs6f3-promo__title { font-size: 18px; line-height: 1.6; }
.rv-r6f3 .rs6f3-promo__title strong { color: var(--rs-red); }
.rv-r6f3 .rs6f3-promo__body { color: var(--rs-ink); }
.rv-r6f3 .rs6f3-book { margin-top: 6px; }

/* ---------------------------------------------------------------- phones, the 703 preview and small laptops (< 1200px): one card per course */
@media (max-width: 1199px) {
  .rv-r6f3 .rs6f3-card { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
  .rv-r6f3 .rs6f3-table, .rv-r6f3 .rs6f3-table thead, .rv-r6f3 .rs6f3-table tbody, .rv-r6f3 .rs6f3-table tfoot, .rv-r6f3 .rs6f3-table tr,
  .rv-r6f3 .rs6f3-table th, .rv-r6f3 .rs6f3-table td { display: block; }
  /* the two group labels stay as a colour key over the cards (white = prices, yellow = 多日訂課優惠) */
  .rv-r6f3 .rs6f3-table .rs6f3-groups { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
  .rv-r6f3 .rs6f3-table .rs6f3-h-course, .rv-r6f3 .rs6f3-table .rs6f3-h-time, .rv-r6f3 .rs6f3-table .rs6f3-cols { display: none; }
  .rv-r6f3 .rs6f3-table thead .rs6f3-g { padding: 3px 14px 3px 4px; border: 0; border-radius: 999px; text-align: left; }
  .rv-r6f3 .rs6f3-table thead .rs6f3-g--price { background: #fff; box-shadow: inset 0 0 0 1.5px var(--rs-line-2); }
  .rv-r6f3 .rs6f3-table thead .rs6f3-g--multi { box-shadow: inset 0 0 0 1.5px #e5c469; }
  .rv-r6f3 .rs6f3-table tbody { display: grid; gap: 14px; }
  .rv-r6f3 .rs6f3-table .rs6f3-row {
    display: flex; flex-direction: column; min-width: 0; overflow: hidden;
    border: 1px solid var(--rs-edge); border-radius: 20px; background: #fff; box-shadow: var(--rs-shadow);
  }
  .rv-r6f3 .rs6f3-table .rs6f3-row > * { padding: 0 16px; border: 0; text-align: left; }
  .rv-r6f3 .rs6f3-table .rs6f3-row > .rs6f3-course { padding: 16px 16px 2px; font-size: 20px; }
  .rv-r6f3 .rs6f3-course::before { left: 16px; top: 19px; height: 24px; margin-top: 0; }
  .rv-r6f3 .rs6f3-table .rs6f3-row > .rs6f3-time { padding: 0 16px 12px 30px; }
  .rv-r6f3 .rs6f3-table .rs6f3-row > .rs6f3-price {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; border-top: 1px solid var(--rs-line);
  }
  .rv-r6f3 .rs6f3-party { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; color: var(--rs-ink); font-size: 16px; font-weight: 700; }
  /* the yellow part: a small 多日訂課優惠 heading drawn from data-multi (CSS text, not DOM text), then 第 2 天／第 3 天起 */
  .rv-r6f3 .rs6f3-row::after {
    content: attr(data-multi); order: 1; padding: 12px 16px 2px; border-top: 2px dashed #e5c469; background: var(--rs-yellow-soft);
    color: var(--rs-ink); font-size: 16px; font-weight: 700; line-height: 1.5;
  }
  .rv-r6f3 .rs6f3-table .rs6f3-row > .rs6f3-off {
    order: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: baseline; column-gap: 6px; padding: 6px 16px;
    border-left: 0; background: var(--rs-yellow-soft); text-align: left;
  }
  .rv-r6f3 .rs6f3-table .rs6f3-row > .rs6f3-off--d3 { padding-bottom: 14px; }
  .rv-r6f3 .rs6f3-off::before { content: attr(data-label); color: var(--rs-ink); font-size: 15px; font-weight: 700; }
  .rv-r6f3 .rs6f3-table .rs6f3-foot > td { margin-top: 12px; padding: 0 4px; border: 0; background: none; }
}
@media (max-width: 599px) {
  .rv-r6f3 .rs6f3-promo { align-items: flex-start; gap: 10px; padding: 14px 14px; }
  .rv-r6f3 .rs6f3-promo > .rs-ic { width: 32px; height: 32px; }
  .rv-r6f3 .rs6f3-promo > .rs-ic svg { width: 22px; height: 22px; }
  .rv-r6f3 .rs6f3-billing { padding: 14px 14px; }
}
@media (min-width: 600px) and (max-width: 1199px) {
  .rv-r6f3 .rs6f3-table tbody { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
  /* F3c: 兩張卡的每一列等高（課程名、時間、兩列價格、小標、兩列優惠＝7 列） */
  @supports (grid-template-rows: subgrid) {
    .rv-r6f3 .rs6f3-table .rs6f3-row { display: grid; grid-template-rows: subgrid; grid-row: span 7; }
  }
}
@media (min-width: 768px) {   /* 9 折：標題與日期句一行（基線對齊） */
  .rv-r6f3 .rs6f3-promo__text { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 14px; }
  .rv-r6f3 .rs6f3-promo__title { font-size: 20px; }
}
@media (min-width: 1024px) {
  .rv-r6f3 .rs6f3-promo__body { font-size: 17px; }
  .rv-r6f3 .rs6f3-billing { display: flex; flex-wrap: wrap; gap: 8px 32px; }
}
@media (min-width: 1200px) {   /* F3d／G7（1100 → 1200）: 寬表從 1100 起（「原價折 ¥…」比「折 ¥…」寬） */
  .rv-r6f3 .rs6f3-table th, .rv-r6f3 .rs6f3-table td { padding: 20px 10px; }
  .rv-r6f3 .rs6f3-table thead th { padding: 12px 10px; }
  .rv-r6f3 .rs6f3-table thead .rs6f3-h-course { padding-left: 38px; }
  .rv-r6f3 .rs6f3-table thead .rs6f3-g { padding: 12px 10px 6px; }
  .rv-r6f3 .rs6f3-table thead .rs6f3-c-price, .rv-r6f3 .rs6f3-table thead .rs6f3-c-m { padding-top: 4px; }
  .rv-r6f3 .rs6f3-table .rs6f3-course { padding-left: 24px; }
  .rv-r6f3 .rs6f3-course::before { left: 24px; }
  .rv-r6f3 .rs6f3-table .rs-price { font-size: 26px; }
  .rv-r6f3 .rs6f3-table .rs6f3-foot > td { padding: 12px 24px; }
  .rv-r6f3 .rs6f3-time .rs-time__main, .rv-r6f3 .rs6f3-time .rs-time__sub { white-space: nowrap; }   /* F3c */
}
@media (min-width: 1280px) {
  .rv-r6f3 .rs6f3-table th, .rv-r6f3 .rs6f3-table td { padding-inline: 16px; }
  .rv-r6f3 .rs6f3-table .rs-price { font-size: 28px; }
}

/* 主軸收尾的青色小圓點跟「馬上預定」同高（按鈕 48px 高、中心離底 24px） */
.rv-r6f3 .rs6-stop--end .rs6-rail::after { bottom: 16px; }
.rv-r6f3 .rs6-stop--end .rs6-rail::before { bottom: 24px; }

/* ================================================================ G7（11/10 介面審查）修正 */
/* P4: 計費說明裡的粗體詞不拆行 */
.rv-r6f3 .rs6f3-billing strong { display: inline-block; }
@media (max-width: 1199px) {   /* S4: 圖例不要長得像切換鈕（去掉膠囊外形，圖示當色票） */
  .rv-r6f3 .rs6f3-table .rs6f3-groups { gap: 4px 18px; margin-bottom: 10px; }
  .rv-r6f3 .rs6f3-table thead .rs6f3-g, .rv-r6f3 .rs6f3-table thead .rs6f3-g--price, .rv-r6f3 .rs6f3-table thead .rs6f3-g--multi {
    padding: 0; border-radius: 0; background: none; box-shadow: none;
  }
  .rv-r6f3 .rs6f3-glab { gap: 6px; letter-spacing: 0; }
  .rv-r6f3 .rs6f3-glab .rs-ic { width: 24px; height: 24px; }
  .rv-r6f3 .rs6f3-glab .rs-ic svg { width: 16px; height: 16px; }
  .rv-r6f3 .rs6f3-g--multi .rs6f3-glab .rs-ic { background: var(--rs-yellow-soft); box-shadow: inset 0 0 0 1.5px #e5c469; }
}
@media (min-width: 1280px) {   /* B1: 表頭與表身的左右內距一致（「上課時間」欄左緣對齊） */
  .rv-r6f3 .rs6f3-table thead th { padding-inline: 16px; }
}
@media (min-width: 1200px) {   /* KB-B1: 使用者把字距調大（WCAG 1.4.12）時寬表會比卡片寬，改成可以橫向捲動，不裁掉最右欄的金額 */
  .rv-r6f3 .rs6f3-card { overflow-x: auto; overflow-y: hidden; }
}
