#app[data-view="policy_refund"] {
  background: #f6f4f0;
}

#app[data-view="policy_refund"] > .app-content {
  width: 100%;
  max-width: 960px;
  padding: 36px 28px 56px;
  overflow: visible;
}

.refund-policy.policy-content {
  max-width: 860px;
  padding: 32px 36px;
  border: 1px solid #e4dfd7;
  border-radius: 8px;
  background: #fff;
  color: #302c28;
  font-size: .94rem;
  line-height: 1.85;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.refund-policy p { margin: 0 0 12px; }
.refund-policy .refund-policy-eyebrow { margin: 0 0 8px; color: #776c5e; font-size: .82rem; font-weight: 600; }
.refund-policy h1 { margin: 0 0 14px; font-size: clamp(1.75rem, 3vw, 2.1rem); line-height: 1.4; letter-spacing: -.045em; }
.refund-policy .refund-policy-intro { color: #5e5851; }
.refund-policy .refund-policy-date { margin: 16px 0 0; color: #7b746b; font-size: .8rem; }
.refund-policy-summary { margin: 24px 0 28px; padding: 16px 20px; border: 1px solid #ebe5da; background: #faf8f3; }
.refund-policy ul { margin: 8px 0 0; padding-left: 20px; list-style: disc; }
.refund-policy li + li { margin-top: 8px; }
.refund-policy-summary ul { margin: 0; }
.refund-policy-summary li + li { margin-top: 4px; }
.refund-policy-section { padding: 25px 0; border-top: 1px solid #e9e5df; }
.refund-policy-section:last-child { padding-bottom: 0; }
.refund-policy h2 { margin: 0 0 12px; color: #282420; font-size: 1.09rem; line-height: 1.55; letter-spacing: -.025em; }
.refund-policy-table { width: 100%; margin: 18px 0 16px; border-collapse: collapse; font-size: .87rem; text-align: left; }
.refund-policy-table th, .refund-policy-table td { padding: 14px 12px; border-bottom: 1px solid #e7e3dd; vertical-align: top; }
.refund-policy-table thead th { border-top: 1px solid #ddd6cb; background: #f7f5f1; color: #50493f; font-size: .8rem; }
.refund-policy-table tbody th { width: 22%; color: #332d27; font-weight: 650; }
.refund-policy-table td:last-child { width: 33%; color: #6c6359; }
.refund-policy .refund-policy-note { margin: 12px 0 0; color: #746b61; font-size: .82rem; line-height: 1.8; }
.refund-policy-process { margin: 18px 0 20px; padding: 0; list-style: none; counter-reset: refund-step; }
.refund-policy-process li { display: grid; grid-template-columns: 26px 1fr; gap: 0 10px; padding: 12px 0; counter-increment: refund-step; }
.refund-policy-process li + li { margin: 0; border-top: 1px solid #eeeae5; }
.refund-policy-process li::before { grid-row: 1 / 3; content: counter(refund-step); font-size: .8rem; font-weight: 700; color: #7c6a50; }
.refund-policy-process strong { font-size: .9rem; }
.refund-policy-process span { grid-column: 2; color: #675f56; font-size: .88rem; }
.refund-policy-contact { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border: 1px solid #e4dfd7; background: #faf9f6; }
.refund-policy-contact > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.refund-policy-contact strong { font-size: .88rem; }
.refund-policy-contact a { text-underline-offset: 4px; }
.refund-policy-contact .refund-policy-link { font-size: .83rem; white-space: nowrap; }
.refund-policy-methods { margin: 16px 0 0; }
.refund-policy-methods > div { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 14px 0; border-top: 1px solid #eeeae5; }
.refund-policy-methods dt { font-size: .88rem; font-weight: 650; }
.refund-policy-methods dd { margin: 0; color: #645b51; font-size: .88rem; }
.refund-policy-related { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 18px; font-size: .85rem; }
.refund-policy a:focus-visible { outline: 2px solid #8e7655; outline-offset: 4px; border-radius: 2px; }
.refund-policy-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

@media (max-width: 640px) {
  #app[data-view="policy_refund"] > .app-content { padding: 20px 14px 32px; }
  .refund-policy.policy-content { padding: 24px 20px; font-size: .9rem; border-radius: 6px; }
  .refund-policy-summary { padding: 14px 16px; }
  .refund-policy-section { padding: 22px 0; }
  .refund-policy-table, .refund-policy-table tbody { display: block; }
  .refund-policy-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .refund-policy-table tr { display: block; padding: 14px 0; border-bottom: 1px solid #e7e3dd; }
  .refund-policy-table tbody tr:first-child { border-top: 1px solid #e7e3dd; }
  .refund-policy-table tbody th, .refund-policy-table td, .refund-policy-table td:last-child { display: block; width: 100%; padding: 0; border: 0; }
  .refund-policy-table tbody th { margin-bottom: 6px; font-size: .91rem; }
  .refund-policy-table td:last-child { margin-top: 8px; font-size: .8rem; }
  .refund-policy-contact { flex-direction: column; align-items: flex-start; padding: 16px; }
  .refund-policy-methods > div { grid-template-columns: 1fr; gap: 5px; }
}

@media print {
  #app[data-view="policy_refund"] .app-header,
  #app[data-view="policy_refund"] .app-footer,
  #app[data-view="policy_refund"] .tabbar { display: none; }
  #app[data-view="policy_refund"] > .app-content { max-width: none; min-height: 0; padding: 0; }
  .refund-policy.policy-content { max-width: none; padding: 0; border: 0; }
  .refund-policy-section, .refund-policy-table tr { break-inside: avoid; }
}
