/* ================================================================
   YY Print Quote — 前台樣式
   全部選擇器都以 .yypq- 開頭並 scope 落 .yypq-wrap，
   → 唔會撞 Woodmart / Elementor / WooCommerce 原本嘅樣式
   ================================================================ */
.yypq-wrap {
  --yypq-ink:#16265f;
  --yypq-ink2:#4d5c93;
  --yypq-mute:#93a1b5;
  --yypq-line:#d5dcee;
  --yypq-bg:#f6f7fd;
  --yypq-acc:#E60012;
  --yypq-acc-bg:#fdecee;
  --yypq-ok:#21b573;
  --yypq-dark:#0f1f6b;
  font-family:inherit;
  color:var(--yypq-ink);
  font-size:14px;
  line-height:1.5;
  max-width:1240px;
  margin:0 auto;
}
.yypq-wrap *,.yypq-wrap *::before,.yypq-wrap *::after {box-sizing:border-box}
.yypq-wrap p {margin:0 0 .6em}
.yypq-wrap label {display:block;margin:0}
.yypq-wrap .yypq-head {display:flex;align-items:center;gap:13px;margin-bottom:16px}
.yypq-wrap .yypq-logo {width:46px;height:46px;border-radius:14px;flex:none;
  background:linear-gradient(135deg,#E60012,#122A88);display:flex;
  align-items:center;justify-content:center;font-size:23px;
  box-shadow:0 4px 12px rgba(18,42,136,.30)}
.yypq-wrap .yypq-h2 {font-size:21px;font-weight:800;letter-spacing:.2px;line-height:1.25;margin:0;padding:0;
  border:0;text-transform:none;color:var(--yypq-ink)}
.yypq-wrap .yypq-sub {font-size:12.5px;color:var(--yypq-ink2);margin:4px 0 0}
.yypq-wrap .yypq-tabs {display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.yypq-wrap .yypq-tab {padding:8px 17px;border-radius:999px;background:#fff;border:1px solid var(--yypq-line);
  font-size:13px;font-weight:600;color:#5a6a80;cursor:pointer;user-select:none}
.yypq-wrap .yypq-tab.is-on {background:var(--yypq-dark);color:#fff;border-color:var(--yypq-dark)}
.yypq-wrap .yypq-tab.is-soon {opacity:.5;cursor:not-allowed}
.yypq-wrap .yypq-tab-cfg {margin-left:auto;border-color:var(--yypq-acc);color:#b3000e}
.yypq-wrap .yypq-grid {display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:18px;align-items:start}
.yypq-wrap .yypq-grid > * {min-width:0}
.yypq-wrap .yypq-card {background:#fff;border-radius:18px;padding:18px 20px;
  box-shadow:0 2px 10px rgba(30,60,110,.06);border:1px solid #eef3f9}
.yypq-wrap .yypq-mt {margin-top:15px}
.yypq-wrap .yypq-h3 {font-size:13.5px;font-weight:700;color:var(--yypq-ink);letter-spacing:.2px;
  text-transform:none;margin:0 0 13px;padding:0;border:0;
  display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.yypq-wrap .yypq-hint {font-size:11px;font-weight:600;color:var(--yypq-mute);text-transform:none;letter-spacing:0}
.yypq-wrap .yypq-row {display:flex;gap:12px;margin-bottom:14px;align-items:flex-start}
.yypq-wrap .yypq-row>label {width:70px;flex:none;font-size:13px;color:var(--yypq-ink2);
  padding-top:8px;font-weight:600}
.yypq-wrap .yypq-row>label small {font-weight:500;color:var(--yypq-mute)}
.yypq-wrap .yypq-opts {display:flex;flex-wrap:wrap;gap:7px;flex:1}
.yypq-wrap .yypq-opt {padding:7px 13px;border:1px solid var(--yypq-line);border-radius:8px;background:#fbfcff;
  font-size:12.5px;color:#22316f;cursor:pointer;white-space:nowrap;
  font-variant-numeric:tabular-nums;user-select:none;transition:.12s;line-height:1.35}
.yypq-wrap .yypq-opt:hover {border-color:#b9c6d8}
.yypq-wrap .yypq-opt small {color:var(--yypq-mute);font-size:11px;margin-left:5px}
.yypq-wrap .yypq-opt.is-on {border-color:var(--yypq-acc);background:var(--yypq-acc-bg);
  color:#b3000e;font-weight:700}
.yypq-wrap .yypq-opt.is-on small {color:#d4525c}
.yypq-wrap .yypq-qty .yypq-opt{min-width:104px;text-align:center;padding:8px 12px}
/* 「左右滑」提示：桌面（>900px）完全唔出 */
.yypq-wrap .yypq-swipe{display:none}

/* ══ ★ e-print 風格卡片選項（2026-09-17）══════════════════════
   每個選項 = 卡片：上面 icon、下面文字，揀中出藍色圓形勾。
   ⚠️ 唔影響數量掣（.yypq-qopt 唔用 .is-cards 容器） */
.yypq-wrap .yypq-opts.is-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));
  gap:9px;width:100%}
.yypq-wrap .yypq-optcard{position:relative;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:5px;padding:11px 8px 10px;min-height:78px;
  border:1.5px solid #dfe6ef;border-radius:13px;background:#fff;
  white-space:normal;text-align:center;transition:border-color .14s,box-shadow .14s,background .14s}
.yypq-wrap .yypq-optcard:hover{border-color:#b9c6d8;box-shadow:0 2px 8px rgba(20,40,70,.07)}
.yypq-wrap .yypq-optcard.is-on{border-color:#E60012;background:#fdecee;
  box-shadow:0 0 0 1px #E60012 inset}
.yypq-wrap .yypq-optcard.is-on .yypq-ico{color:#0f7fae}
.yypq-wrap .yypq-ico{width:30px;height:30px;line-height:0;color:#7186a0;flex:none}
.yypq-wrap .yypq-ico svg{width:30px;height:30px;display:block}
.yypq-wrap .yypq-optlabel{font-size:12.5px;font-weight:600;color:#22316f;line-height:1.35}
.yypq-wrap .yypq-optcard small{display:block;margin:2px 0 0;font-size:11px;font-weight:400;
  color:#8794a8;white-space:nowrap}
/* 勾選圈（揀中才出） */
.yypq-wrap .yypq-tick{position:absolute;right:-7px;bottom:-7px;width:21px;height:21px;
  border-radius:50%;background:#E60012;display:none;align-items:center;justify-content:center;
  box-shadow:0 1px 4px rgba(15,127,174,.35)}
.yypq-wrap .yypq-tick svg{width:13px;height:13px;display:block}
.yypq-wrap .yypq-optcard.is-on .yypq-tick{display:flex}
/* 數量掣唔套卡片樣式（佢本身有價錢三行） */
.yypq-wrap .yypq-qty.is-cards{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}
.yypq-wrap .yypq-qty .yypq-optcard{min-height:auto;padding:9px 8px}
/* ★ e-print 做法：每個數量直接標價（數量 / 總價 / 每張）*/
.yypq-wrap .yypq-qopt{display:flex;flex-direction:column;gap:2px;line-height:1.3}
.yypq-wrap .yypq-qopt b{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.yypq-wrap .yypq-qopt span{font-size:12px;font-weight:700;color:#22316f;font-variant-numeric:tabular-nums}
.yypq-wrap .yypq-qopt em{font-size:10.5px;font-style:normal;color:var(--yypq-mute);font-variant-numeric:tabular-nums}
.yypq-wrap .yypq-qopt.is-on span{color:#b3000e}
.yypq-wrap .yypq-qopt.is-on em{color:#d4525c}
/* 預計交貨期 */
.yypq-wrap .yypq-lead{margin-top:13px;padding-top:12px;border-top:1px dashed #20306e;
  font-size:12.5px;color:#b6c0dd;line-height:1.7}
.yypq-wrap .yypq-lead b{color:#fff}
.yypq-wrap .yypq-free {display:flex;align-items:center;gap:9px;margin:12px 0 0;padding-top:13px;
  border-top:1px dashed #e2e8f0;flex-wrap:wrap}
.yypq-wrap .yypq-free label {font-size:12.5px;color:var(--yypq-ink2);font-weight:600}
.yypq-wrap .yypq-free input {width:120px;padding:8px 11px;border:1px solid var(--yypq-line);border-radius:8px;
  font-size:13.5px;font-variant-numeric:tabular-nums;font-family:inherit;
  background:#fff;color:var(--yypq-ink);height:auto;margin:0}
.yypq-wrap .yypq-free input:focus {outline:2px solid #ffd6da;border-color:var(--yypq-acc)}
.yypq-wrap .yypq-u {font-size:12.5px;color:var(--yypq-mute)}
/* ── 報價卡 ── */
.yypq-wrap .yypq-quote {background:linear-gradient(160deg,#1c3bb0,#122A88);color:#fff;
  border-radius:20px;padding:22px;box-shadow:0 8px 26px rgba(27,35,48,.22)}
.yypq-wrap .yypq-qh {color:#8f9cc4;font-size:12px;font-weight:700;letter-spacing:1px;
  text-transform:uppercase;margin:0 0 13px;padding:0;border:0}
.yypq-wrap .yypq-total {font-size:42px;font-weight:800;letter-spacing:-1.4px;
  font-variant-numeric:tabular-nums;line-height:1;color:#fff}
.yypq-wrap .yypq-total span {font-size:20px;font-weight:700;margin-right:3px;letter-spacing:0}
.yypq-wrap .yypq-per {color:#8f9cc4;font-size:13px;margin-top:7px;line-height:1.5}
.yypq-wrap .yypq-per b {color:#fff}
.yypq-wrap .yypq-break {margin-top:15px;padding-top:14px;border-top:1px dashed #20306e}
.yypq-wrap .yypq-break .yypq-b {display:flex;justify-content:space-between;gap:12px;
  font-size:12.5px;color:#a8b8cf;padding:3px 0}
.yypq-wrap .yypq-break .yypq-b b {color:#e6edf7;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.yypq-wrap .yypq-break .yypq-b.is-tot {border-top:1px solid #20306e;margin-top:6px;padding-top:8px;
  font-size:13.5px;color:#fff;font-weight:800}
.yypq-wrap .yypq-break .yypq-b.is-tot b {color:#fff}
.yypq-wrap .yypq-mkt {margin-top:15px;padding-top:14px;border-top:1px dashed #20306e}
.yypq-wrap .yypq-mkt .yypq-line {display:flex;justify-content:space-between;
  font-size:13px;padding:3.5px 0;color:#b6c0dd}
.yypq-wrap .yypq-mkt .yypq-line b {color:#fff;font-variant-numeric:tabular-nums}
.yypq-wrap .yypq-save {display:inline-block;margin-top:11px;background:var(--yypq-ok);color:#fff;
  font-size:12px;font-weight:800;padding:5px 13px;border-radius:999px}
.yypq-wrap .yypq-cta {margin-top:17px;background:var(--yypq-acc);color:#fff;text-align:center;
  padding:14px;border-radius:10px;font-weight:800;font-size:15px;
  cursor:pointer;user-select:none;transition:.12s}
.yypq-wrap .yypq-cta:active {transform:scale(.99)}
.yypq-wrap .yypq-cta.is-dis {background:#20306e;color:#7d88b3;cursor:not-allowed}
.yypq-wrap .yypq-cta.is-busy {background:#8c3a1c;cursor:wait}
.yypq-wrap .yypq-steps {margin-top:13px;font-size:11.5px;color:#7d88b3;line-height:1.95}
.yypq-wrap .yypq-steps b {color:#b6c0dd}
/* ── 階梯表 ── */
.yypq-wrap .yypq-tier {width:100%;border-collapse:collapse;font-size:12.5px;margin:0;
  background:transparent;border:0}
.yypq-wrap .yypq-tier th,.yypq-wrap .yypq-tier td {padding:7px 9px;text-align:right;
  border:0;border-bottom:1px solid #eef1f6;font-variant-numeric:tabular-nums;
  white-space:nowrap;background:transparent;color:var(--yypq-ink)}
.yypq-wrap .yypq-tier th {color:var(--yypq-ink2);font-weight:600;font-size:11.5px}
.yypq-wrap .yypq-tier td:first-child,.yypq-wrap .yypq-tier th:first-child {text-align:left}
.yypq-wrap .yypq-tier tr.is-hi td {background:var(--yypq-acc-bg);color:#b3000e;font-weight:700}
/* ★ 撳表揀數量：整行可撳 */
.yypq-wrap .yypq-tier tbody tr {cursor:pointer;transition:background .12s}
.yypq-wrap .yypq-tier tbody tr:hover td {background:#fff3ec}
.yypq-wrap .yypq-tier tbody tr.is-hi:hover td {background:var(--yypq-acc-bg)}
/* ── 加入購物車 ── */
.yypq-wrap .yypq-btn-cart {background:#25d366;border-color:#25d366;color:#fff;font-weight:700;
  text-decoration:none;margin-top:10px;display:block;text-align:center;box-sizing:border-box}
.yypq-wrap .yypq-btn-cart:hover {background:#1eb455;border-color:#1eb455;color:#fff}
.yypq-wrap .yypq-btn-cart.is-dis {background:#33437f;border-color:#33437f;color:#8f9cc4;
  pointer-events:none;opacity:.75}
.yypq-wrap .yypq-note {font-size:11.5px;color:var(--yypq-mute);line-height:1.8;margin:11px 0 0}
/* ── 上載 ── */
.yypq-wrap .yypq-drop {border:2px dashed #cfd9e6;border-radius:11px;padding:22px;text-align:center;
  color:#7d88b3;font-size:13px;cursor:pointer;background:#fbfcff;transition:.15s;line-height:1.7}
.yypq-wrap .yypq-drop:hover,.yypq-wrap .yypq-drop.is-over {border-color:var(--yypq-acc);
  background:#fff6f2;color:#b3000e}
.yypq-wrap .yypq-drop b {display:block;font-size:14px;color:#22316f;margin-bottom:5px}
.yypq-wrap .yypq-drop.is-over b {color:#b3000e}
.yypq-wrap .yypq-files {margin-top:11px;display:flex;flex-direction:column;gap:7px}
.yypq-wrap .yypq-f {display:flex;align-items:center;gap:10px;background:var(--yypq-bg);
  border:1px solid #e6ecf4;border-radius:9px;padding:9px 12px;font-size:12.5px}
.yypq-wrap .yypq-f .nm {flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.yypq-wrap .yypq-f .sz {color:var(--yypq-mute);font-size:11.5px;font-variant-numeric:tabular-nums}
.yypq-wrap .yypq-f .rm {color:var(--yypq-acc);cursor:pointer;font-weight:800;padding:0 3px}
.yypq-wrap .yypq-f .warn {color:var(--yypq-acc);font-size:11.5px;font-weight:700}
/* ── 報價單 ── */
.yypq-wrap .yypq-sheet {background:#fff;padding:22px;font-size:12.5px;color:#26303e;
  border:1px solid #e9ecf8;border-radius:10px}
.yypq-wrap .yypq-sheet .sh {display:flex;justify-content:space-between;align-items:flex-start;
  border-bottom:2px solid var(--yypq-dark);padding-bottom:12px;margin-bottom:14px;gap:14px}
.yypq-wrap .yypq-sheet .sh h3 {font-size:19px;font-weight:800;letter-spacing:.5px;margin:0;padding:0;
  border:0;color:#26303e;text-transform:none}
.yypq-wrap .yypq-sheet .sh .r {text-align:right;font-size:12px;color:var(--yypq-ink2);line-height:1.7}
.yypq-wrap .yypq-sheet .meta {font-size:11.5px;color:#7d88b3;margin-top:3px}
.yypq-wrap .yypq-sheet .kv {display:grid;grid-template-columns:78px 1fr;gap:3px 10px;font-size:12.5px}
.yypq-wrap .yypq-sheet .kv i {color:#7d88b3;font-style:normal}
.yypq-wrap .yypq-sheet table {width:100%;border-collapse:collapse;margin-top:14px;border:0;background:none}
.yypq-wrap .yypq-sheet table th {background:var(--yypq-dark);color:#fff;font-size:11.5px;
  padding:8px 9px;text-align:left;border:0}
.yypq-wrap .yypq-sheet table td {padding:8px 9px;border:0;border-bottom:1px solid #e9ecf8;
  color:inherit;background:none}
.yypq-wrap .yypq-sheet table td.r {text-align:right;font-variant-numeric:tabular-nums}
.yypq-wrap .yypq-sheet .tt {margin-top:14px;text-align:right;font-size:17px;font-weight:800}
.yypq-wrap .yypq-sheet .tt small {font-size:12.5px;font-weight:600;color:#7d88b3}
.yypq-wrap .yypq-sheet .terms {margin-top:16px;font-size:11.5px;color:var(--yypq-ink2);line-height:1.85;
  border-top:1px solid #e9ecf8;padding-top:12px;white-space:pre-line}
.yypq-wrap .yypq-bar {display:flex;gap:9px;margin-top:14px;flex-wrap:wrap}
.yypq-wrap .yypq-btn {display:inline-block;padding:9px 17px;border-radius:9px;font-size:13px;
  font-weight:700;cursor:pointer;border:1px solid var(--yypq-line);background:#fff;
  color:#22316f;text-decoration:none;line-height:1.3}
.yypq-wrap .yypq-btn:hover {color:#22316f}
.yypq-wrap .yypq-btn-pri {background:var(--yypq-dark);color:#fff;border-color:var(--yypq-dark)}
.yypq-wrap .yypq-btn-pri:hover {color:#fff}
.yypq-wrap .yypq-btn:active {transform:scale(.98)}
/* ★ WhatsApp 落單掣（2026-09-17）：用 WhatsApp 品牌綠，一眼認得 */
.yypq-wrap .yypq-btn-wa {background:#25d366;border-color:#25d366;color:#fff;font-weight:800}
.yypq-wrap .yypq-btn-wa:hover {background:#1eb455;border-color:#1eb455;color:#fff}
.yypq-wrap .yypq-btn-wa.is-dis {background:#33437f;border-color:#33437f;color:#8f9cc4;
  pointer-events:none;opacity:.75}
/* ── 前台價目表面板 ── */
.yypq-wrap .yypq-pt {display:none}
.yypq-wrap .yypq-pt.is-on {display:block}
.yypq-wrap .yypq-ptl {display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.yypq-wrap .yypq-ptl .grp {margin-bottom:16px}
.yypq-wrap .yypq-ptl h4 {font-size:12px;font-weight:700;color:var(--yypq-ink2);margin:0 0 9px;
  text-transform:uppercase;letter-spacing:.7px}
.yypq-wrap .yypq-ptrow {display:grid;grid-template-columns:1fr 96px;gap:10px;align-items:center;
  padding:5px 0;font-size:12.5px}
.yypq-wrap .yypq-ptrow input {width:100%;padding:6px 9px;border:1px solid var(--yypq-line);
  border-radius:7px;font-size:12.5px;font-family:inherit;
  font-variant-numeric:tabular-nums;text-align:right;background:#fff;height:auto;margin:0}
.yypq-wrap .yypq-ptrow input:focus {outline:2px solid #ffd6da;border-color:var(--yypq-acc)}
/* ── 客人資料表單 ── */
.yypq-wrap .yypq-form {display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0}
.yypq-wrap .yypq-form .full {grid-column:1/-1}
.yypq-wrap .yypq-form input,.yypq-wrap .yypq-form textarea {width:100%;padding:9px 11px;border:1px solid var(--yypq-line);
  border-radius:8px;font-size:13px;font-family:inherit;background:#fff;color:var(--yypq-ink);
  height:auto;margin:0}
.yypq-wrap .yypq-form textarea {resize:vertical;min-height:62px}
.yypq-wrap .yypq-form input:focus,.yypq-wrap .yypq-form textarea:focus {outline:2px solid #ffd6da;border-color:var(--yypq-acc)}
.yypq-wrap .yypq-req {color:var(--yypq-acc)}
.yypq-wrap .yypq-done {background:#eefaf3;border:1px solid #bfe8d3;color:#0f7a4a;
  border-radius:10px;padding:14px;font-size:13.5px;line-height:1.7}
/* ── 手機 ── */
@media (max-width:900px) {
  /* ★ 關鍵：grid item 預設 min-width:auto 會被 carousel 內容撐爆
     → 一定要 minmax(0,1fr) + min-width:0，唔係 carousel 會變成整頁橫向溢出 */
  .yypq-wrap .yypq-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .yypq-wrap .yypq-grid > *{min-width:0}
  .yypq-quote{position:static}
  .yypq-ptl{grid-template-columns:1fr}
  .yypq-total{font-size:36px}
  .yypq-form{grid-template-columns:1fr}
  .yypq-row{flex-direction:column;gap:7px}
  .yypq-row>label{width:auto;font-size:12.5px}
  .yypq-tab-cfg{margin-left:0}
  .yypq-sheet{padding:15px}
  .yypq-card{padding:15px 16px;border-radius:15px}
  .yypq-quote{padding:18px;border-radius:17px}
  .yypq-head{gap:11px}
  .yypq-logo{width:42px;height:42px;font-size:21px}
  .yypq-h2{font-size:18px}
  /* 數量階梯表：窄螢幕縮細 */
  .yypq-tier{font-size:12px}
  .yypq-tier th,.yypq-tier td{padding:6px 7px}
  /* ══ ★ 手機 carousel（2026-09-17）══════════════════════════
     唔再用 2 欄 grid（會夾硬縮到文字遮擋／斷字），
     改成橫向 scroll-snap carousel：一行滑過、卡片固定寬度，
     label 同內容永遠唔會疊埋。
     ⚠️ min-width:0 係關鍵 —— flex item 預設 min-width:auto 會被內容撐大，
        撐大之後 overflow-x:auto 就唔會出現滑動（scrollWidth == clientWidth）。 */
  .yypq-wrap .yypq-opts.is-cards,
  .yypq-wrap .yypq-qty{
    display:flex;flex-wrap:nowrap;gap:9px;
    overflow-x:auto;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    padding:3px 2px 11px;
    margin:0;
    width:100%;max-width:100%;
    min-width:0;          /* ★ 唔可以少 */
    scrollbar-width:thin;
  }
  /* 數量卡固定寬 */
  .yypq-wrap .yypq-qty > .yypq-opt{
    flex:0 0 auto;
    scroll-snap-align:start;
    width:118px;
    min-width:118px;
  }
  /* 規格卡固定寬 */
  .yypq-wrap .yypq-opts.is-cards > .yypq-optcard{
    flex:0 0 auto;
    scroll-snap-align:start;
    width:128px;
    min-width:128px;
  }
  /* 滑動條：幼身、低調（Chrome / Safari） */
  .yypq-wrap .yypq-qty::-webkit-scrollbar,
  .yypq-wrap .yypq-opts.is-cards::-webkit-scrollbar{height:5px}
  .yypq-wrap .yypq-qty::-webkit-scrollbar-thumb,
  .yypq-wrap .yypq-opts.is-cards::-webkit-scrollbar-thumb{
    background:#cfd8e4;border-radius:3px}
  .yypq-wrap .yypq-qty::-webkit-scrollbar-track,
  .yypq-wrap .yypq-opts.is-cards::-webkit-scrollbar-track{background:transparent}
  /* 提示：可以左右滑（只有手機 carousel 才顯示） */
  .yypq-wrap .yypq-h3 .yypq-swipe{font-size:10.5px;font-weight:600;
    font-style:normal;color:var(--yypq-mute);display:inline}
  /* 卡片內容：固定高、文字唔會被遮 */
  .yypq-wrap .yypq-optcard{min-height:74px;padding:10px 8px 9px;border-radius:12px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
  .yypq-wrap .yypq-optlabel{font-size:12px;line-height:1.3;
    word-break:break-word;overflow-wrap:anywhere;white-space:normal}
  .yypq-wrap .yypq-optcard small{font-size:10.5px;white-space:normal}
  .yypq-wrap .yypq-ico,.yypq-wrap .yypq-ico svg{width:26px;height:26px}
  .yypq-wrap .yypq-tick{width:19px;height:19px;right:-6px;bottom:-6px}
  /* 數量卡（有 3 行價錢）高少少 */
  .yypq-wrap .yypq-qty .yypq-optcard{min-height:66px;padding:8px 6px}
  .yypq-wrap .yypq-qopt b{font-size:13.5px}
  .yypq-wrap .yypq-qopt span{font-size:12px}
  .yypq-wrap .yypq-qopt em{font-size:10px;white-space:nowrap}
  /* 規格掣：可以換行 */
  .yypq-opts{flex-wrap:wrap}
  /* ★ 關鍵：row 本身都係 flex，要 min-width:0 先唔會被 carousel 撐爆 */
  .yypq-wrap .yypq-row{min-width:0}
  .yypq-wrap .yypq-row > *{min-width:0}
  .yypq-wrap .yypq-opts:not(.is-cards){min-width:0}
}

/* ── 細手機 ── */
@media (max-width:480px) {
  .yypq-wrap{font-size:13.5px}
  .yypq-total{font-size:31px}
  /* ★ 細手機：carousel 卡片窄啲，一樣橫向滑 */
  .yypq-wrap .yypq-qty > *{width:100px}
  .yypq-wrap .yypq-opts.is-cards > .yypq-optcard{width:108px}
  .yypq-tier{font-size:11.5px}
  .yypq-tier th,.yypq-tier td{padding:5px 6px}
  .yypq-tier th:nth-child(3),.yypq-tier td:nth-child(3){display:none}  /* 手機藏「每張」欄 */
  .yypq-opts{gap:6px}
  .yypq-opt{padding:7px 10px;font-size:12.5px}
  .yypq-card{padding:13px 14px}
  .yypq-quote{padding:16px}
}
