/* Q215r：手機閱讀與聯絡入口；768px 起沿用原版面。 */
.q215r-hero-photo { display: none; }
@media (width < 768px) {
  .q215r-table-wrap { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  table.q215r-cards { display: block; width: 100%; min-width: 0; max-width: 100%; border: 0; border-collapse: separate; }
  .q215r-cards > thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .q215r-cards > tbody { display: grid; gap: 16px; width: 100%; }
  .q215r-cards > tbody > tr { display: block; min-width: 0; overflow: hidden; border: 1px solid #cfd9ea; border-radius: 16px; background: #fff; box-shadow: 0 3px 12px #0b2d6208; }
  .q215r-cards > tbody > tr > :is(th,td) { display: block; width: auto; min-width: 0; max-width: 100%; margin: 0; padding: 13px 16px; border: 0; text-align: start; vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
  .q215r-cards > tbody > tr > :first-child { background: #edf3f9; color: #193E82; font-weight: 800; }
  .q215r-cards > tbody > tr > :is(th,td) + :is(th,td) { border-top: 1px solid #e3eaf1; }
  .q215r-cards > tbody > tr > [data-label]::before { content: attr(data-label); display: block; margin-bottom: 5px; color: #1F2937; font-size: .8rem; line-height: 1.5; font-weight: 700; }
  .q215r-cards > tbody > tr > td.amount { color: #B45309; font-weight: 800; white-space: normal; }
  .q215r-cards small { white-space: normal; }
  .q215r-cards .btn { max-width: 100%; min-width: 0; white-space: normal; }
  .q215r-contact-dock .mobile-sticky { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 8px; padding: 8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
  .q215r-contact-dock .mobile-sticky > a { flex-direction: row; min-width: 0; min-height: 52px; padding: 8px 6px; margin: 0; gap: 5px; font-size: .84rem; line-height: 1.4; white-space: normal; }
  .q215r-contact-dock .mobile-sticky > a > svg { width: 18px; height: 18px; flex-shrink: 0; }
  .q215r-contact-dock .mobile-sticky > a > span { min-width: 0; text-align: center; }
  .q215r-contact-dock .mobile-sticky small { display: block; color: inherit; font-size: .8rem; font-weight: 800; letter-spacing: .02em; }
  .q215r-contact-dock .mobile-sticky > a[data-line-call] { display: none; }
  .q215r-contact-dock main > :is(.hero,.page-hero,.trust-hero):first-child :is(.hero-actions,.trust-actions,.trust-cta) { display: none; }
  .q215r-contact-dock main > section:first-child .hero-actions { display: none; }
  .q215r-contact-dock .page-hero p:has(> [data-quote-entry-r178]) { display: none; }
  :is(.q215r-hero-visual,.area-hero-photo) { display: flex; flex-direction: column; min-height: 0; overflow: visible; background-image: none !important; box-shadow: none; }
  :is(.q215r-hero-visual,.area-hero-photo)::after { display: none; }
  .q215r-hero-photo { display: block; flex: 0 0 auto; height: 280px; width: 100%; border-radius: 22px; background-size: cover; background-position: center; box-shadow: 0 6px 20px #0b2d6214; }
  .area-hero-photo > img { border-radius: 22px; }
  :is(.q215r-hero-visual,.area-hero-photo) > .page-hero-card { position: static; inset: auto; margin-top: 12px; padding: 16px; background: #f0f5fa; box-shadow: none; backdrop-filter: none; }
  :is(.q215r-hero-visual,.area-hero-photo) > .page-hero-card svg { flex-shrink: 0; }
  .qa-assist.qa-assist { position: static; width: auto; max-width: 740px; margin: 20px auto 0; padding: 0 16px calc(100px + env(safe-area-inset-bottom)); }
  .qa-assist.qa-assist .qa-launch,
  .qa-assist.qa-assist.is-auto-collapsed:not(.is-open) .qa-launch { position: relative; width: 100%; height: auto; min-height: 48px; max-width: 100%; padding: 10px 16px; gap: 9px; justify-content: center; border-radius: 12px; box-shadow: none; }
  .qa-assist.qa-assist .qa-launch::after,
  .qa-assist.qa-assist.is-auto-collapsed:not(.is-open) .qa-launch::after { display: none; }
  .qa-assist.qa-assist .qa-launch span,
  .qa-assist.qa-assist.is-auto-collapsed:not(.is-open) .qa-launch span { width: auto; max-width: none; opacity: 1; white-space: normal; }
  .qa-assist.qa-assist .qa-panel { position: relative; inset: auto; width: 100%; max-height: none; margin-top: 12px; }
}
