/* Compact footer: brand, support, telephone and email share one quiet row. */
.site-footer.footer-refined { width: min(1440px, calc(100% - 96px)); padding-bottom: 30px; color: #25282c; }
.footer-refined .support-block { display: grid; grid-template-columns: minmax(160px, .9fr) minmax(210px, 1.15fr) minmax(420px, 2fr); gap: 32px; align-items: center; padding: 40px 0; border-color: #e5e6e8; }
.footer-brand { display: inline-flex; align-items: center; gap: 12px; justify-self: start; min-height: 48px; color: #25282c; font-size: 1.75rem; font-weight: 600; line-height: 1.2; letter-spacing: -.045em; white-space: nowrap; text-decoration: none; }
.footer-brand .brand-symbol { width: 36px; }
.footer-refined .support-intro { min-width: 0; border-left: 1px solid #e5e6e8; padding-left: 28px; }
.footer-refined .support-intro h2 { margin: 0; color: #25282c; font-size: 1.25rem; font-weight: 600; line-height: 1.5; letter-spacing: -.025em; }
.footer-refined .support-intro > p:last-child { margin: 5px 0 0; color: #73777e; font-size: .9375rem; line-height: 1.65; word-break: keep-all; }
.footer-refined .support-links { grid-template-columns: .8fr 1.2fr; gap: 28px; margin: 0; align-items: center; }
.footer-refined .support-links > div { border-left: 1px solid #e5e6e8; padding-left: 28px; }
.footer-refined .support-links span { margin-bottom: 6px; font-size: .8125rem; line-height: 1.5; color: #73777e; }
.footer-refined .support-links a { padding: 0; color: #25282c; font-size: 1.125rem; font-weight: 450; line-height: 1.6; letter-spacing: -.02em; }
.footer-refined .support-links a[href^="tel:"] { font-size: 1.375rem; font-weight: 600; }
.footer-refined .footer-policy-links { gap: 0; padding: 20px 0; border-color: #e5e6e8; }
.footer-refined .footer-policy-links a { position: relative; min-height: 44px; margin-right: 30px; padding-right: 30px; font-size: .9375rem; font-weight: 400; color: #383c41; }
.footer-refined .footer-policy-links a:not(:last-child)::after { content: ""; position: absolute; right: 0; top: 50%; width: 1px; height: 16px; background: #dfe1e4; transform: translateY(-50%); }
.footer-refined .footer-policy-links a:last-child { margin-right: 0; padding-right: 0; }
.footer-refined .footer-business { padding: 30px 0; border-color: #e5e6e8; }
.footer-refined .footer-business h2 { margin-bottom: 18px; font-size: 1.0625rem; font-weight: 600; }
.footer-refined .footer-business dl { grid-template-columns: 132px minmax(0, 1fr); gap: 7px 20px; font-size: .9375rem; line-height: 1.75; }
.footer-refined .footer-business dt { color: #73777e; }
.footer-refined .footer-business dd { color: #383c41; }
.footer-refined .footer-business .business-role { max-width: min(1060px, calc(100% - 168px)); margin-top: 26px; color: #73777e; font-size: .8125rem; line-height: 1.8; }
.footer-refined .footer-bottom { padding-top: 20px; padding-right: 160px; color: #7a7e84; font-size: .8125rem; line-height: 1.6; border-color: #e5e6e8; }
.footer-refined a:focus-visible { outline: 2px solid #736b64; outline-offset: 4px; border-radius: 3px; }

/* The page-top button sits 12px above the existing Kakao launcher. */
.floating-back-top { position: fixed; z-index: 50; right: max(24px, env(safe-area-inset-right)); bottom: calc(88px + env(safe-area-inset-bottom)); display: none; align-items: center; justify-content: center; gap: 12px; box-sizing: border-box; min-width: 144px; min-height: 44px; padding: 10px 18px; border: 1px solid #e6e8eb; border-radius: 999px; background: #fff; color: #202327; box-shadow: 0 3px 10px rgba(27,32,39,.05), 0 8px 24px rgba(27,32,39,.08); font: 500 14px/1.4 Pretendard, sans-serif; cursor: pointer; transition: translate 220ms ease, box-shadow 220ms ease; }
body[data-page="customer"] .floating-back-top,
body[data-page="customer-support"] .floating-back-top { display: inline-flex; }
.floating-back-top[hidden], body:has(dialog[open]) .floating-back-top { display: none !important; }
.floating-back-top svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.floating-back-top:focus-visible { outline: 2px solid #736b64; outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) { .floating-back-top:hover { translate: 0 -2px; box-shadow: 0 5px 12px rgba(27,32,39,.07), 0 12px 28px rgba(27,32,39,.12); } }
@media (max-width: 1100px) {
  .footer-refined .support-block { grid-template-columns: 1fr 1.4fr; gap: 24px 32px; }
  .footer-refined .support-links { grid-column: 1 / -1; grid-template-columns: 1fr 1.4fr; gap: 32px; padding-top: 24px; border-top: 1px solid #ececee; }
  .footer-refined .support-links > div:first-child { border-left: 0; padding-left: 0; }
  .footer-refined .footer-policy-links a { margin-right: 20px; padding-right: 20px; }
}
@media (max-width: 639px) {
  body[data-kakao-support="routed"] .site-footer.footer-refined { width: calc(100% - 40px); padding-bottom: 120px; }
  .footer-refined .support-block { grid-template-columns: 1fr; gap: 22px; padding: 30px 0; }
  .footer-brand { font-size: 1.5rem; gap: 10px; }
  .footer-brand .brand-symbol { width: 30px; }
  .footer-refined .support-intro { padding-left: 0; border-left: 0; }
  .footer-refined .support-intro h2 { font-size: 1.125rem; }
  .footer-refined .support-links { grid-template-columns: 1fr; gap: 18px; padding-top: 20px; }
  .footer-refined .support-links > div { padding-left: 0; border-left: 0; }
  .footer-refined .support-links a { font-size: 1rem; }
  .footer-refined .support-links a[href^="tel:"] { font-size: 1.25rem; }
  .footer-refined .footer-policy-links { gap: 0 20px; padding: 16px 0; }
  .footer-refined .footer-policy-links a { margin: 0; padding: 0; font-size: .8125rem; }
  .footer-refined .footer-policy-links a::after { display: none; }
  .footer-refined .footer-business { padding: 24px 0; }
  .footer-refined .footer-business dl { grid-template-columns: 96px minmax(0, 1fr); gap: 8px 12px; font-size: .8125rem; }
  .footer-refined .footer-business .business-role { max-width: none; font-size: .75rem; line-height: 1.9; }
  .footer-refined .footer-bottom { flex-direction: column; gap: 7px; padding-right: 0; font-size: .75rem; }
  .floating-back-top { right: max(16px, env(safe-area-inset-right)); bottom: calc(5.5rem + 60px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .floating-back-top { transition: none; translate: none !important; } }
