@font-face {
  font-family: 'Pretendard Variable';
  src: url('fonts/PretendardVariable.woff2') format('woff2');
  font-weight: 45 920;
  font-style: normal;
  font-display: swap;
}

html.service-quote-mode { zoom: 1 !important; }

/* Cleaning and logistics quotes use the same distraction-free overlay. */
body.cleaning-theme.quote-mode,
body.logistics-theme.quote-mode { overflow: hidden; }

body.logistics-theme #quote-form {
  display: none;
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 90px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  z-index: 5000;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

body.logistics-theme #quote-form.active { display: block; }

body.cleaning-theme.quote-mode #shared-top-bar,
body.cleaning-theme.quote-mode #shared-main-header,
body.cleaning-theme.quote-mode #top-bar,
body.cleaning-theme.quote-mode #main-header,
body.cleaning-theme.quote-mode .site-footer,
body.cleaning-theme.quote-mode .mobile-bottom-nav,
body.cleaning-theme.quote-mode .mobile-bottom-nav-v4,
body.cleaning-theme.quote-mode .quick-menu-wrap,
body.cleaning-theme.quote-mode #quickCta,
body.cleaning-theme.quote-mode #qctaToggle,
body.cleaning-theme.quote-mode #cbBubble,
body.cleaning-theme.quote-mode #cbWindow,
body.logistics-theme.quote-mode #shared-top-bar,
body.logistics-theme.quote-mode #shared-main-header,
body.logistics-theme.quote-mode #top-bar,
body.logistics-theme.quote-mode #main-header,
body.logistics-theme.quote-mode .site-footer,
body.logistics-theme.quote-mode .mobile-bottom-nav,
body.logistics-theme.quote-mode .mobile-bottom-nav-v4,
body.logistics-theme.quote-mode .quick-menu-wrap,
body.logistics-theme.quote-mode #quickCta,
body.logistics-theme.quote-mode #qctaToggle,
body.logistics-theme.quote-mode #cbBubble,
body.logistics-theme.quote-mode #cbWindow { display: none !important; }

body.cleaning-theme.quote-mode main,
body.logistics-theme.quote-mode main {
  max-width: none;
  margin: 0;
  padding: 0;
}

.qf-flow-target,
.logi-flow-target { scroll-margin-top: 126px; }

.qf-flow-focus { animation: quoteFlowFocus .72s ease; }

@keyframes quoteFlowFocus {
  0%, 100% { box-shadow: none; }
  45% { box-shadow: 0 0 0 4px rgba(36,95,229,.11); }
}

@media (prefers-reduced-motion: reduce) {
  .qf-flow-focus { animation: none; }
}

body.cleaning-theme,
body.logistics-theme,
body.cleaning-theme button,
body.cleaning-theme input,
body.cleaning-theme textarea,
body.cleaning-theme select,
body.logistics-theme button,
body.logistics-theme input,
body.logistics-theme textarea,
body.logistics-theme select {
  font-family: 'Pretendard Variable', Pretendard, 'Noto Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
}

body.cleaning-theme,
body.logistics-theme {
  color: #181b20;
  letter-spacing: -.012em;
}

body.cleaning-theme .hero-sub h1,
body.logistics-theme .hero-sub h1 {
  color: #181b20;
  font-weight: 750;
  letter-spacing: -.045em;
}

body.cleaning-theme .intro-sect-title,
body.logistics-theme .intro-sect-title {
  color: #20242a;
  font-weight: 730;
  letter-spacing: -.035em;
}

body.cleaning-theme .intro-sect-eb,
body.logistics-theme .intro-sect-eb,
body.cleaning-theme .intro-eb,
body.logistics-theme .intro-eb {
  color: #245fe5;
}

body.cleaning-theme .clean-card-v4,
body.cleaning-theme .price-card-v4,
body.logistics-theme .logi-card-v4,
body.logistics-theme .price-card-v4 {
  border-color: #e3e6ea;
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(24,27,32,.02), 0 10px 28px rgba(24,27,32,.035);
}

body.cleaning-theme .clean-name-v4,
body.logistics-theme .logi-name-v4,
body.cleaning-theme .price-card-v4 .pch-ton,
body.logistics-theme .price-card-v4 .pch-ton {
  font-weight: 680;
  letter-spacing: -.025em;
}

body.cleaning-theme .price-card-v4 .pch,
body.logistics-theme .price-card-v4 .pch {
  background: #182235;
}

body.cleaning-theme .price-card-v4 .pcr-price,
body.logistics-theme .price-card-v4 .pcr-price {
  color: #245fe5;
  font-weight: 720;
}

.price-basis-v5 {
  display: block;
  margin-top: 2px;
  color: #8b929c;
  font-size: 10.5px;
  font-weight: 500;
  line-height: 1.35;
}

.price-guide-note-v5 {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #dfe3e8;
  border-radius: 14px;
  background: #f8fafc;
  color: #68717d;
  font-size: 12px;
  line-height: 1.65;
}

body.logistics-theme .price-grid-v4 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.logistics-theme .price-card-v4 { overflow: hidden; background: #fff; }
body.logistics-theme .price-card-v4 .pch { padding: 14px 18px; color: #fff; }
body.logistics-theme .price-card-v4 .pcb { padding: 8px 18px 14px; }
body.logistics-theme .price-card-v4 .pcr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px dashed #e8ebef;
  font-size: 13px;
}
body.logistics-theme .price-card-v4 .pcr:last-child { border-bottom: 0; }
body.logistics-theme .price-card-v4 .pcr-svc { color: #4b535e; font-weight: 600; }

@media (max-width: 640px) {
  body.logistics-theme .price-grid-v4 { grid-template-columns: 1fr; }
}

body.cleaning-theme .intro-cta-btn-v4,
body.logistics-theme .intro-cta-btn-v4 {
  background: #245fe5;
  border-radius: 14px;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(36,95,229,.18);
}

body.quote-mode {
  --qf-accent: #245fe5;
  --qf-accent-soft: #edf3ff;
  --qf-accent-mid: #d8e5ff;
  --qf-ink: #181b20;
  --qf-ink2: #4b535e;
  --qf-gray: #8b929c;
  --qf-border: #dfe3e8;
  --qf-bg: #f5f6f8;
  --qf-radius: 20px;
  --qf-shadow: 0 1px 2px rgba(24,27,32,.02), 0 10px 30px rgba(24,27,32,.035);
  --accent: #245fe5;
  --accent-soft: #edf3ff;
  --accent-mid: #d8e5ff;
  --wink: #181b20;
  --wink2: #4b535e;
  --wgray: #8b929c;
  --wborder: #dfe3e8;
  --wbg: #f5f6f8;
}

body.quote-mode #quote-form {
  background: #f5f6f8;
  color: #181b20;
}

body.quote-mode .qf-topbar,
body.quote-mode .logi-topbar {
  padding: 18px 24px 15px;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(24,27,32,.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body.quote-mode .qf-topbar-row,
body.quote-mode .logi-topbar-row { margin-bottom: 15px; }

body.quote-mode .qf-title,
body.quote-mode .logi-title {
  color: #181b20;
  font-size: 16px;
  font-weight: 720;
  letter-spacing: -.025em;
}

body.quote-mode .qf-close,
body.quote-mode .logi-close-btn {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #737b86;
  font-size: 16px;
  transition: background .16s, color .16s;
}

body.quote-mode .qf-close:hover,
body.quote-mode .logi-close-btn:hover { background: #f0f2f5; color: #181b20; }

body.quote-mode .qf-prog-wrap,
body.quote-mode .prog-wrap { gap: 6px; max-width: 560px; }

body.quote-mode .qf-seg,
body.quote-mode .prog-seg {
  height: 3px;
  border-radius: 99px;
  background: #e7e9ed;
}

body.quote-mode .qf-seg.done,
body.quote-mode .qf-seg.cur,
body.quote-mode .prog-seg.done,
body.quote-mode .prog-seg.active { background: #245fe5; }

body.quote-mode .qf-lbls,
body.quote-mode .step-labels {
  justify-content: flex-start;
  max-width: 560px;
  margin-top: 9px;
}

body.quote-mode .qf-lbl,
body.quote-mode .step-lbl { display: none; }

body.quote-mode .qf-lbl.cur,
body.quote-mode .step-lbl.active {
  display: block;
  color: #245fe5;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -.015em;
}

body.quote-mode .qf-content,
body.quote-mode .logi-content {
  max-width: 600px;
  padding: 32px 20px 112px;
}

body.quote-mode .qf-card,
body.quote-mode .w-card {
  padding: 30px;
  margin-bottom: 18px;
  border: 1px solid rgba(24,27,32,.08);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(24,27,32,.02), 0 10px 30px rgba(24,27,32,.035);
}

body.quote-mode .qf-q-title,
body.quote-mode .q-title {
  margin-bottom: 22px;
  color: #181b20;
  font-size: 22px;
  font-weight: 740;
  letter-spacing: -.04em;
  line-height: 1.35;
}

body.quote-mode .qf-section-label,
body.quote-mode .w-section-label,
body.quote-mode .addr-lbl {
  color: #4b535e;
  font-size: 13px;
  font-weight: 680;
}

body.quote-mode .qf-section-label::before { display: none; }

body.quote-mode .qf-svc-card,
body.quote-mode .svc-card-w {
  padding: 15px 16px;
  border: 1px solid #dfe3e8;
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}

body.quote-mode .qf-start-price,
body.quote-mode .svc-start-price {
  display: inline-flex;
  margin-top: 7px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #edf3ff;
  color: #2453b8;
  font-size: 11px;
  font-weight: 680;
}

body.quote-mode .qf-svc-icon,
body.quote-mode .svc-icon-w { display: none; }

body.quote-mode .qf-svc-card.selected,
body.quote-mode .svc-card-w.selected {
  border-color: #245fe5;
  background: #245fe5;
  box-shadow: 0 5px 14px rgba(36,95,229,.16);
}

body.quote-mode .qf-svc-card.selected .qf-svc-name,
body.quote-mode .qf-svc-card.selected .qf-svc-desc,
body.quote-mode .qf-svc-card.selected .qf-start-price,
body.quote-mode .svc-card-w.selected .svc-card-name,
body.quote-mode .svc-card-w.selected .svc-card-desc,
body.quote-mode .svc-card-w.selected .svc-start-price { color: #fff; }

body.quote-mode .qf-svc-card.selected .qf-start-price,
body.quote-mode .svc-card-w.selected .svc-start-price { background: rgba(255,255,255,.16); }

body.quote-mode .qf-svc-card.selected .qf-svc-check,
body.quote-mode .svc-card-w.selected .svc-check {
  border-color: #fff;
  background: #fff;
}

body.quote-mode .qf-svc-card.selected .qf-svc-check::after,
body.quote-mode .svc-card-w.selected .svc-check::after { border-color: #245fe5; }

body.quote-mode .qf-field,
body.quote-mode .qf-select-wrap select,
body.quote-mode .fi,
body.quote-mode .verify-input-wrap,
body.quote-mode .qf-input-line,
body.quote-mode .qf-textarea,
body.quote-mode .free-textarea {
  border-color: #dfe3e8;
  border-radius: 14px;
  background: #fff;
}

body.quote-mode .qf-field,
body.quote-mode .qf-select-wrap select,
body.quote-mode .fi { height: 52px; }

body.quote-mode .qf-field:focus,
body.quote-mode .qf-select-wrap select:focus,
body.quote-mode .fi:focus,
body.quote-mode .qf-textarea:focus,
body.quote-mode .free-textarea:focus {
  border-color: #245fe5;
  box-shadow: 0 0 0 3px rgba(36,95,229,.09);
}

body.quote-mode .qf-tag,
body.quote-mode .qf-time-chip,
body.quote-mode .del-btn,
body.quote-mode .body-item {
  border-color: #e0e4e9;
  border-radius: 11px;
  background: #fff;
}

body.quote-mode .qf-tag.on,
body.quote-mode .qf-time-chip.on,
body.quote-mode .del-btn.selected,
body.quote-mode .body-item.selected {
  border-color: #245fe5;
  background: #edf3ff;
  color: #2453b8;
}

body.quote-mode .qf-date-disp,
body.quote-mode .cal-date-display {
  border: 0;
  border-radius: 12px;
  background: #f1f5fd;
  color: #2453b8;
  font-weight: 680;
}

body.quote-mode .qf-bottom,
body.quote-mode .bottom-nav-w {
  justify-content: center;
  padding: 14px 20px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(24,27,32,.08);
  background: rgba(255,255,255,.96);
  box-shadow: 0 -8px 28px rgba(24,27,32,.035);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body.quote-mode .qf-btn-back,
body.quote-mode .btn-back-w {
  flex: 0 0 112px;
  min-width: 0;
  height: 52px;
  border: 1px solid #dfe3e8;
  border-radius: 14px;
  color: #606873;
  font-size: 14px;
  font-weight: 640;
}

body.quote-mode .qf-btn-next,
body.quote-mode .btn-next-w {
  flex: 0 1 420px;
  height: 52px;
  border-radius: 14px;
  background: #245fe5;
  font-size: 15px;
  font-weight: 720;
  box-shadow: 0 6px 18px rgba(36,95,229,.18);
}

@media (max-width: 640px) {
  body.quote-mode #quote-form { background: #fff; }
  body.quote-mode .qf-topbar,
  body.quote-mode .logi-topbar { padding: 16px 18px 13px; }
  body.quote-mode .qf-content,
  body.quote-mode .logi-content { padding: 24px 16px 104px; }
  body.quote-mode .qf-card,
  body.quote-mode .w-card {
    padding: 20px 16px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  body.quote-mode .qf-q-title,
  body.quote-mode .q-title { font-size: 20px; }
  body.quote-mode .qf-bottom,
  body.quote-mode .bottom-nav-w { padding-left: 16px; padding-right: 16px; }
  body.quote-mode .qf-btn-back,
  body.quote-mode .btn-back-w { flex-basis: 88px; }
  body.quote-mode .qf-btn-next,
  body.quote-mode .btn-next-w { flex: 1; }
}

/* Refined cleaning & logistics form system */
body.quote-mode .qf-content,
body.quote-mode .logi-content {
  max-width: 680px;
  padding-top: 38px;
}

body.quote-mode .qf-card,
body.quote-mode .w-card {
  padding: 32px;
  border: 1px solid #e7eaf0;
  border-radius: 24px;
  box-shadow: 0 1px 2px rgba(17, 24, 39, .025), 0 18px 48px rgba(17, 24, 39, .055);
}

body.quote-mode .qf-q-title,
body.quote-mode .q-title {
  margin-bottom: 24px;
  font-size: 23px;
  font-weight: 750;
}

body.quote-mode #qfstep0 .qf-card > div[style*="flex-direction:column"],
body.quote-mode #step0 .svc-list-w {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
}

body.quote-mode .qf-svc-card,
body.quote-mode .svc-card-w {
  box-sizing: border-box;
  height: 100%;
  min-height: 116px;
  padding: 17px;
  border-color: #e1e6ed;
  border-radius: 16px;
  background: #fff;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.quote-mode .qf-svc-card:hover,
body.quote-mode .svc-card-w:hover {
  border-color: #b9c9ed;
  box-shadow: 0 10px 26px rgba(36, 95, 229, .07);
  transform: translateY(-1px);
}

body.quote-mode .qf-svc-icon,
body.quote-mode .svc-icon-w {
  display: flex;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: #f0f5ff;
  font-size: 21px;
}

body.quote-mode .qf-svc-card.selected,
body.quote-mode .svc-card-w.selected {
  border-color: #245fe5;
  background: #f7faff;
  box-shadow: 0 0 0 1px rgba(36, 95, 229, .08), 0 12px 28px rgba(36, 95, 229, .09);
}

body.quote-mode .qf-svc-card.selected .qf-svc-name,
body.quote-mode .svc-card-w.selected .svc-card-name { color: #181b20; }

body.quote-mode .qf-svc-card.selected .qf-svc-desc,
body.quote-mode .svc-card-w.selected .svc-card-desc { color: #69727e; }

body.quote-mode .qf-svc-card.selected .qf-start-price,
body.quote-mode .svc-card-w.selected .svc-start-price {
  background: #e8f0ff;
  color: #2453b8;
}

body.quote-mode .qf-svc-card.selected .qf-svc-icon,
body.quote-mode .svc-card-w.selected .svc-icon-w { background: #e4edff; }

body.quote-mode .qf-svc-card.selected .qf-svc-check,
body.quote-mode .svc-card-w.selected .svc-check {
  border-color: #245fe5;
  background: #245fe5;
}

body.quote-mode .qf-svc-card.selected .qf-svc-check::after,
body.quote-mode .svc-card-w.selected .svc-check::after { border-color: #fff; }

body.quote-mode .qf-field,
body.quote-mode .qf-select-wrap select,
body.quote-mode .fi {
  min-height: 54px;
  padding-left: 16px;
  padding-right: 16px;
  border-color: #dbe1e9;
  background: #fbfcfe;
}

body.quote-mode .qf-select-wrap select { padding-right: 42px; }
body.quote-mode .search-field-w .fi { padding-right: 44px; }

body.quote-mode .qf-textarea,
body.quote-mode .free-textarea {
  padding: 15px 16px;
  border-color: #dbe1e9;
  background: #fbfcfe;
}

/* The rounded wrapper owns the border; the real input owns the inner spacing. */
body.quote-mode .qf-input-line,
body.quote-mode .verify-input-wrap {
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #dbe1e9 !important;
  border-radius: 14px;
  background: #fbfcfe;
  transition: border-color .18s ease, box-shadow .18s ease;
}

body.quote-mode .qf-input-line input,
body.quote-mode .verify-input-wrap input {
  width: 100%;
  height: 54px;
  padding: 0 16px !important;
  box-sizing: border-box;
  border: 0;
  outline: 0;
  background: transparent;
  color: #181b20;
  font-family: inherit;
  font-size: 15px;
}

body.quote-mode .qf-input-line:focus-within,
body.quote-mode .verify-input-wrap:focus-within {
  border-color: #245fe5 !important;
  box-shadow: 0 0 0 3px rgba(36, 95, 229, .09);
}

body.quote-mode .qf-agree-section,
body.quote-mode .agree-section {
  padding: 16px;
  border: 1px solid #e5e9ef;
  border-radius: 16px;
  background: #f8fafc;
}

body.quote-mode .consent-summary {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 14px;
  border: 0;
  border-radius: 14px;
  background: #f5f6f8;
  cursor: pointer;
}

body.quote-mode .consent-summary input {
  width: 19px;
  height: 19px;
  margin: 1px 0 0;
  flex: 0 0 auto;
  accent-color: #245fe5;
}

body.quote-mode .consent-copy { display: block; flex: 1; }
body.quote-mode .consent-copy strong { display: block; color: #20242a; font-size: 14px; }
body.quote-mode .consent-copy small { display: block; margin-top: 5px; color: #7b8490; font-size: 11.5px; line-height: 1.55; }
body.quote-mode .consent-links { display: flex; gap: 12px; margin: 10px 0 0 30px; }
body.quote-mode .consent-more {
  padding: 0;
  border: 0;
  background: none;
  color: #245fe5;
  font: inherit;
  font-size: 11.5px;
  text-decoration: underline;
  cursor: pointer;
}

body.quote-mode .qf-agree-all,
body.quote-mode .agree-all {
  padding-bottom: 13px;
  margin-bottom: 13px;
}

body.quote-mode .vehicle-section {
  padding: 18px;
  border: 1px solid #e5e9ef;
  border-radius: 18px;
  background: #f8fafc;
}

body.quote-mode .ton-list {
  overflow: hidden;
  border: 1px solid #e2e7ed;
  border-radius: 14px;
  background: #fff;
}

body.quote-mode .ton-item { padding: 13px 14px; }
body.quote-mode .body-grid { gap: 10px; }

@media (max-width: 640px) {
  body.quote-mode #quote-form { background: #f6f8fb; }

  body.quote-mode .qf-content,
  body.quote-mode .logi-content {
    padding: 20px 14px 104px;
  }

  body.quote-mode .qf-card,
  body.quote-mode .w-card {
    padding: 22px 18px;
    border: 1px solid #e7eaf0;
    border-radius: 19px;
    box-shadow: 0 10px 30px rgba(17, 24, 39, .045);
  }

  body.quote-mode .qf-q-title,
  body.quote-mode .q-title { font-size: 21px; }

  body.quote-mode #qfstep0 .qf-card > div[style*="flex-direction:column"],
  body.quote-mode #step0 .svc-list-w { grid-template-columns: 1fr; }

  body.quote-mode .qf-svc-card,
  body.quote-mode .svc-card-w { min-height: 104px; }

  body.quote-mode .qf-agree-grid { grid-template-columns: 1fr; }
}
