/* /assets/css/style.css (DDLOGI LIGHT V2)
   - 기존 구조 유지
   - 다크 감성 제거 + 이사/운송 서비스에 맞는 밝고 신뢰감 있는 톤
*/

:root{
  /* neutrals */
  --bg:#F7F1E8;
  --card:#FFFDF9;
  --card2:#FBF4EA;
  --text:#2A211B;
  --muted:#74675C;
  --line:rgba(83,62,40,0.08);
  --line2:rgba(83,62,40,0.14);

  /* accents */
  --accent:#D97846;
  --accent2:#E89E73;
  --danger:#D95C4C;
  --ok:#728E79;

  /* shape */
  --radius:16px;
  --shadow:0 10px 28px rgba(90,63,34,0.08);
  --shadow2:0 18px 44px rgba(90,63,34,0.12);

  /* layout */
  --max: 720px;

  /* safe areas */
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);

  --stickybar-h: 86px;
  --topbar-h: calc(var(--safe-top) + 10px + var(--stickybar-h) + 16px);
  --bottomnav-h: 86px;
  --bottom-safe: calc(var(--bottomnav-h) + var(--safe-bottom) + 20px);

  --z-sticky: 60;
  --z-wizardtop: 50;
  --z-bottomnav: 70;
  --z-modal: 1000;
  --z-popup: 1100;
}

*{ box-sizing:border-box; }
html, body{
  height:auto;
  min-height:100%;
}

body{
  margin:0;
  font-family:'SUIT', system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(236, 208, 172, 0.72), transparent 28%),
    radial-gradient(circle at top right, rgba(190, 210, 194, 0.28), transparent 26%),
    linear-gradient(180deg, #F6ECDD 0%, #F7F1E8 100%);
  color:var(--text);
  padding-top:16px;
  padding-bottom:calc(var(--bottom-safe) + var(--stickybar-h));
}

a{ color:inherit; text-decoration:none; }
hr{ border:none; border-top:1px solid var(--line); margin:14px 0; }

.container{
  width:min(var(--max), calc(100% - 24px));
  margin:18px auto 24px;
  padding-bottom:var(--bottom-safe);
}

.langbar{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  margin:6px 0 10px;
}
.lang-pill{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#FFFFFF;
  color:var(--muted);
  font-weight:800;
  font-size:12px;
}
.lang-pill[aria-current="page"]{
  color:var(--accent);
  border-color:rgba(217,120,70,0.24);
  background:rgba(217,120,70,0.08);
}


.ga-floating-badge{
  position:fixed;
  top:72px;
  right:12px;
  left:auto;
  z-index:55;
  width:min(210px, calc(100vw - 24px));
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(217,120,70,0.16);
  background:rgba(255,252,247,0.94);
  box-shadow:0 12px 30px rgba(90,63,34,0.12);
  backdrop-filter:blur(10px);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.ga-floating-badge:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 36px rgba(15,23,42,0.16);
}
.ga-floating-badge.is-loading .ga-floating-badge__value{
  opacity:.58;
}
.ga-floating-badge__eyebrow{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:6px;
  color:var(--accent);
  font-size:11px;
  font-weight:900;
  letter-spacing:-0.02em;
}
.ga-floating-badge__dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#22C55E;
  box-shadow:0 0 0 4px rgba(34,197,94,0.14);
  flex:none;
}
.ga-floating-badge__value-row{
  display:flex;
  align-items:flex-end;
  gap:6px;
}
.ga-floating-badge__value{
  font-size:28px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-0.04em;
  color:var(--text);
}
.ga-floating-badge__unit{
  font-size:13px;
  font-weight:900;
  color:#334155;
  margin-bottom:3px;
}
.ga-floating-badge__desc{
  margin-top:4px;
  font-size:12px;
  line-height:1.45;
  color:#334155;
  font-weight:700;
}
.ga-floating-badge__meta{
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#64748B;
  font-size:11px;
  font-weight:800;
}
.ga-floating-badge__secondary{
  white-space:nowrap;
}
.ga-floating-badge__time{
  white-space:nowrap;
}
@media (max-width: 768px){
  .wizard-meta{
    flex-direction:column;
    align-items:flex-start;
  }
  .stage-pill-row{
    grid-template-columns:1fr;
  }
  .stage-pill{
    min-height:48px;
  }
  .ga-floating-badge{
    width:min(190px, calc(100vw - 24px));
    padding:9px 11px;
  }
  .ga-floating-badge__value{
    font-size:24px;
  }
}
@media (max-width: 560px){
  .ga-floating-badge{
    width:auto;
    min-width:156px;
    max-width:182px;
    padding:8px 10px;
    border-radius:14px;
    right:max(12px, env(safe-area-inset-right, 0px));
    left:auto !important;
  }
  .ga-floating-badge__desc{
    font-size:11px;
  }
  .ga-floating-badge__meta{
    gap:6px;
    font-size:10px;
    flex-direction:column;
    align-items:flex-start;
  }
}

.wizard-top{
  position:static;
  top:auto;
  z-index:var(--z-wizardtop);
  background:rgba(255,252,247,0.92);
  border:1px solid rgba(83,62,40,0.08);
  border-radius:16px;
  padding:12px 12px 10px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
  margin-bottom:10px;
  overflow:hidden;
}
.wizard-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.wizard-title{
  font-weight:900;
  letter-spacing:-0.02em;
  line-height:1.3;
  text-wrap:balance;
}
.wizard-step{
  color:var(--muted);
  font-weight:900;
  font-size:12px;
}
.wizard-progress{
  margin-top:10px;
  height:8px;
  border-radius:999px;
  background:#E5E7EB;
  overflow:hidden;
}
.wizard-progress-bar{
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--accent) 0%, var(--accent2) 100%);
  transition:width .22s ease;
}
.wizard-cheer{
  margin-top:10px;
  color:#bc4d16;
  font-size:13px;
  font-weight:800;
  letter-spacing:-0.02em;
}
.wizard-stage-shell{
  display:block;
}
.stage-pill-row{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  margin-top:12px;
}
.stage-pill{
  border:1px solid rgba(83,62,40,0.08);
  background:#FCF6EE;
  color:#8A7A6C;
  border-radius:14px;
  padding:10px 8px;
  font-size:12px;
  font-weight:900;
  letter-spacing:-0.02em;
  cursor:pointer;
  text-wrap:balance;
}
.stage-pill.is-active{
  background:#FFF3E7;
  color:var(--brand-deep, #945535);
  border-color:rgba(217,120,70,0.18);
}
.stage-pill.is-done{
  background:#EEF6F0;
  color:#567160;
  border-color:rgba(114,142,121,0.18);
}
.stage-pill.is-upcoming{
  opacity:.72;
}

.section{ margin:12px 0 16px; }
.section h2{
  margin:6px 6px 10px;
  font-size:20px;
  line-height:1.25;
  letter-spacing:-0.02em;
  font-weight:1000;
  color:var(--text);
  text-wrap:balance;
}

.card{
  background:var(--card);
  border:1px solid rgba(83,62,40,0.08);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:18px;
  overflow:hidden;
}
.card-sub{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(83,62,40,0.08);
  background:#FCF6EE;
  overflow:hidden;
}

.sub{ color:var(--muted); font-weight:800; font-size:13px; line-height:1.5; }
.hint{ color:#8A7A6C; font-size:12px; line-height:1.5; }

.option{
  cursor:pointer;
}

.step-card{ display:none; }
.step-card.is-active{ display:block; }
.step-card.is-active h2{
  margin-bottom:12px;
}

body.wizard-active .dango-estimate-intro{
  margin-bottom:10px;
}
body.wizard-active .dango-estimate-intro .landing-grid{
  display:none;
}
body.wizard-active .dango-estimate-intro .landing-copy{
  max-width:560px;
}
body.wizard-active .dango-estimate-intro .dango-estimate-pills{
  display:none;
}

.hero-card{
  border-radius:20px;
  border:1px solid rgba(17,24,39,0.08);
  background:linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
  box-shadow:var(--shadow2);
  padding:20px;
}
.hero-content h1{
  margin:4px 0 8px;
  letter-spacing:-0.04em;
  font-size:30px;
  line-height:1.08;
  color:#0F172A;
}
.hero-desc{
  margin:12px 0;
  color:#475569;
  line-height:1.6;
}
.hl{ color:#111827; font-weight:1000; }
.hl2{ color:var(--accent); font-weight:1000; }
.hero-pills{ display:flex; gap:8px; flex-wrap:wrap; }
.pill{
  border:1px solid rgba(47,128,237,0.14);
  background:rgba(47,128,237,0.06);
  color:#1D4ED8;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.hero-callout{
  margin-top:10px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(47,128,237,0.12);
  background:rgba(47,128,237,0.05);
}
.hero-signature{
  margin-top:12px;
  color:#334155;
  line-height:1.6;
}
.owner-profile{
  width:62px;
  height:62px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(17,24,39,0.08);
  margin-bottom:10px;
}
.owner-profile img{ width:100%; height:100%; object-fit:cover; }
.hero-owner{ color:var(--muted); font-weight:900; }

.wizard-primary{
  width:100%;
  border:1px solid rgba(217,120,70,0.18);
  border-radius:14px;
  padding:14px 14px;
  font-weight:1000;
  font-size:15px;
  color:#FFFFFF;
  background:linear-gradient(180deg, #de8454 0%, #d97846 100%);
  box-shadow:0 8px 18px rgba(217,120,70,0.18);
  cursor:pointer;
}
.wizard-primary:hover{ filter:brightness(1.02); }
.wizard-primary:active{ transform:translateY(1px); }

.calc-btn{
  width:100%;
  margin-top:12px;
  border:1px solid rgba(217,120,70,0.18);
  background:#F9EFE4;
  color:#9b5d3a;
  border-radius:14px;
  padding:12px;
  font-weight:1000;
  cursor:pointer;
}
.calc-btn:hover{ background:#f5e5d3; }
.calc-btn:disabled{ opacity:.55; cursor:not-allowed; }

.address-input{
  width:100%;
  margin-top:8px;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(17,24,39,0.10);
  background:#FFFFFF;
  color:var(--text);
  outline:none;
  font-size:16px;
}
.address-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
.address-search-btn{
  height:50px;
  margin-top:8px;
  padding:0 18px;
  border-radius:14px;
  border:1px solid rgba(217,120,70,0.24);
  background:#FFF0E1;
  color:var(--primary);
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.address-search-btn:hover{
  background:#FFE6D1;
}
.address-input::placeholder{ color:#9CA3AF; }
.address-input:focus{
  border-color:rgba(217,120,70,0.34);
  box-shadow:0 0 0 4px rgba(217,120,70,0.10);
}

.distance-result{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(217,120,70,0.12);
  background:#FCF6EE;
}

.service-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.service-card{
  border:1px solid rgba(17,24,39,0.08);
  background:#FFFFFF;
  border-radius:16px;
  padding:14px 12px;
  cursor:pointer;
  text-align:left;
  color:var(--text);
  box-shadow:var(--shadow);
}
.service-card:hover{ background:#F8FAFC; }
.service-card.is-active,
.service-card.active{
  background:#FFF3E7;
  border-color:rgba(217,120,70,0.24);
}
.service-emoji{ font-size:22px; }
.service-title{ margin-top:8px; font-weight:1100; letter-spacing:-0.02em; }
.service-desc{ margin-top:4px; font-size:12px; color:#8A7A6C; font-weight:900; }

@media (max-width: 520px){
  .service-grid{ grid-template-columns:1fr; }
}

.vehicle{
  padding:14px 12px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,0.08);
  background:#FFFFFF;
  margin-top:10px;
  cursor:pointer;
  font-weight:1000;
  box-shadow:var(--shadow);
}
.vehicle.active,
.vehicle.selected{
  background:#FFF3E7;
  border-color:rgba(217,120,70,0.24);
}

.option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 10px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,0.08);
  background:#FFFFFF;
  margin-top:10px;
  position:relative;
  cursor:pointer;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.option > input[type="radio"],
.option > input[type="checkbox"],
.option-controls > input[type="radio"],
.option-controls > input[type="checkbox"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
  width:0;
  height:0;
}
.option:has(input:checked){
  background:#FFF3E7;
  border-color:rgba(217,120,70,0.28);
  box-shadow:0 0 0 2px rgba(217,120,70,0.10) inset;
}
.option:hover{
  border-color:rgba(217,120,70,0.28);
  background:#FFF9F4;
}
.option-controls{ display:flex; align-items:center; gap:10px; }
.option-controls:has(input[type="checkbox"]:not(:checked)) .stepper{ display:none; }
.item-qty-row{ align-items:center; }

.time-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin-top:10px;
}
.time-chip{
  position:relative;
  display:block;
  padding:12px 10px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,0.08);
  background:#FFFFFF;
  text-align:center;
  cursor:pointer;
  user-select:none;
}
.time-chip input{ position:absolute; opacity:0; pointer-events:none; }
.time-chip span{ font-weight:1000; color:var(--text); }
.time-chip *{ pointer-events:none; }
.time-chip:has(input:checked),
.time-chip.is-selected{
  background:#EFF6FF;
  border-color:rgba(47,128,237,0.24);
}
.time-chip:has(input:disabled){
  opacity:.45;
  cursor:not-allowed;
}

.stepper{
  display:flex;
  align-items:center;
  gap:8px;
}
.stepper-btn{
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid rgba(17,24,39,0.10);
  background:#F8FAFC;
  color:var(--text);
  font-weight:1000;
  cursor:pointer;
}
.stepper-btn:hover{ background:#EEF2F7; }
.stepper-btn:focus-visible{ outline:2px solid rgba(217,120,70,0.6); outline-offset:2px; }

.stepper input{
  width:64px;
  text-align:center;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(17,24,39,0.10);
  background:#FFFFFF;
  color:var(--text);
  outline:none;
  font-size:16px;
}
.stepper-unit{
  color:var(--muted);
  font-weight:1000;
  font-size:12px;
}

.seg{ display:flex; gap:8px; }
.seg-item{
  flex:1;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:12px 10px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,0.08);
  background:#FFFFFF;
  cursor:pointer;
  position:relative;
}
.seg-item input{ position:absolute; opacity:0; pointer-events:none; }
.seg-item:has(input:checked){
  background:#EFF6FF;
  border-color:rgba(47,128,237,0.24);
}
.seg-item span{ font-weight:1000; color:var(--text); font-size:13px; }

.toggles{ display:flex; gap:10px; margin-top:10px; }
.toggle{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 10px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,0.08);
  background:#FFFFFF;
  cursor:pointer;
}
.toggle span{ font-weight:1000; color:var(--text); }

.switch{
  position:relative;
  width:54px;
  height:30px;
  display:inline-block;
}
.switch input{ opacity:0; width:0; height:0; }
.slider{
  position:absolute; inset:0;
  border-radius:999px;
  background:#E5E7EB;
  border:1px solid rgba(17,24,39,0.10);
  transition:.18s ease;
}
.slider:before{
  content:"";
  position:absolute;
  width:24px; height:24px;
  left:3px; top:2px;
  border-radius:999px;
  background:#FFFFFF;
  box-shadow:0 2px 6px rgba(0,0,0,0.12);
  transition:.18s ease;
}
.switch input:checked + .slider{
  background:rgba(47,128,237,0.22);
  border-color:rgba(47,128,237,0.28);
}
.switch input:checked + .slider:before{
  transform:translateX(24px);
}

.ladder-sub{
  margin-top:10px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,0.08);
  background:#F8FAFC;
}
.row{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.muted{ color:var(--muted); font-weight:1000; }

.price-card{
  margin-top:12px;
  text-align:center;
  padding:18px;
}
.price{
  font-size:34px;
  letter-spacing:-0.04em;
  font-weight:1100;
  color:#0F172A;
}
.price-under{
  margin-top:8px;
  color:#64748B;
  line-height:1.5;
}
.contact-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}
.contact-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  appearance:none;
  cursor:pointer;
  border-radius:16px;
  padding:14px 14px;
  font-weight:1100;
  border:1px solid rgba(17,24,39,0.10);
  background:#FFFFFF;
}
.contact-btn.ghost{
  background:#F8FAFC;
  opacity:0.95;
}
.contact-btn.ghost:hover{ opacity:1; }

.cta-text{ display:flex; flex-direction:column; gap:4px; text-align:center; }
.cta-text .title{ font-size:15px; }
.cta-text .desc{ font-size:12px; color:var(--muted); font-weight:900; }

.contact-btn.mega{
  position:relative;
  border-radius:18px;
  padding:16px 16px;
  min-height:58px;
  background:linear-gradient(180deg, #de8454 0%, #d97846 100%);
  border:1px solid rgba(217,120,70,0.18);
  color:#FFFFFF;
  box-shadow:0 14px 28px rgba(217,120,70,0.22);
}
.contact-btn.mega .cta-text .title{
  font-size:16px;
  font-weight:1100;
  letter-spacing:-0.02em;
}
.contact-btn.mega .cta-text .desc{
  font-size:12px;
  font-weight:900;
  color:rgba(255,255,255,0.86);
}
.contact-btn.mega:hover{
  filter:brightness(1.02);
  transform:translateY(-1px);
}
.contact-btn.mega:active{
  transform:translateY(0px);
  filter:brightness(0.98);
}
.contact-btn.mega:focus,
.contact-btn.mega:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(217,120,70,0.18), 0 14px 28px rgba(217,120,70,0.22);
}
.contact-btn.mega::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:18px;
  pointer-events:none;
  background:radial-gradient(600px 120px at 30% 0%, rgba(255,255,255,0.18), transparent 55%);
  opacity:0.9;
}

.contact-btn.is-disabled,
.wizard-btn.is-disabled,
button[disabled].wizard-btn{
  opacity:0.52;
  cursor:not-allowed;
  pointer-events:none;
  transform:none !important;
  box-shadow:none !important;
  filter:grayscale(0.08);
}

#stickyPriceBar{
  position:fixed;
  bottom:calc(12px + var(--safe-bottom));
  left:50%;
  transform:translateX(-50%);
  z-index:var(--z-sticky);
  width:min(var(--max), calc(100% - 24px));
  pointer-events:auto;
}

#stickyPriceBar.is-collapsed{
  --stickybar-h: 68px;
}

#stickyPriceBar.is-expanded{
  --stickybar-h: 150px;
}

#stickyPriceBar .sticky-inner{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border-radius:14px;
  background:rgba(255,255,255,0.88);
  color:var(--text);
  border:1px solid rgba(17,24,39,0.08);
  box-shadow:var(--shadow2);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:opacity .28s ease, transform .28s ease, visibility .28s ease;
}

#stickyPriceBar.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%) translateY(14px);
}

#stickyPriceBar .sticky-left{ display:flex; flex-direction:column; gap:1px; }
#stickyPriceBar .sticky-label{
  font-size:11px;
  font-weight:900;
  color:var(--muted);
}
#stickyPriceBar .sticky-price{
  font-size:18px;
  font-weight:1100;
  letter-spacing:-0.02em;
  line-height:1.1;
  white-space:nowrap;
  color:#0F172A;
}
#stickyPriceBar .sticky-under{
  font-size:11px;
  font-weight:800;
  color:#64748B;
  line-height:1.35;
}

#stickyPriceBar.is-collapsed .sticky-under,
#stickyPriceBar.is-collapsed .sticky-ga-slot{
  display:none;
}

.sticky-toggle{
  flex:none;
  align-self:center;
  min-width:54px;
  min-height:36px;
  padding:0 12px;
  border:none;
  border-radius:999px;
  background:#eef4ff;
  color:#1d4ed8;
  font-size:11px;
  font-weight:1000;
  cursor:pointer;
}

.sticky-toggle:active{
  transform:scale(0.98);
}

.wizard-nav{
  position:static;
  max-width:var(--max);
  margin:20px auto 16px;
  display:flex;
  gap:10px;
}
.wizard-btn{
  flex:1;
  border:1px solid rgba(17,24,39,0.10);
  border-radius:16px;
  padding:14px 14px;
  font-weight:1100;
  background:#FFFFFF;
  color:var(--text);
  cursor:pointer;
  box-shadow:var(--shadow);
}
.wizard-btn.ghost{ background:#F8FAFC; }
.wizard-btn:disabled{ opacity:.55; cursor:not-allowed; }

@media (max-width: 768px){
  .stage-pill-row{
    grid-template-columns:repeat(2,1fr);
  }
  .wizard-stage-shell{
    top:calc(var(--safe-top) + 6px + var(--stickybar-h) + 8px);
  }
  .detail-selection-grid{
    grid-template-columns:1fr;
  }
  .detail-picker-launch{
    flex-direction:column;
    align-items:flex-start;
  }
}

.mini-summary{
  margin-top:10px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,0.08);
  background:#F8FAFC;
  color:#334155;
  font-size:13px;
  line-height:1.5;
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.detail-picker-launch{
  width:100%;
  border:1px solid rgba(17,24,39,0.08);
  border-radius:18px;
  background:#fff;
  min-height:68px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  text-align:left;
  color:var(--text);
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  box-shadow:var(--shadow);
}

.detail-picker-launch strong{
  color:var(--primary);
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}

.detail-selection-summary{
  margin-top:14px;
}

.detail-selection-empty{
  padding:14px 16px;
  border-radius:18px;
  border:1px dashed rgba(17,24,39,0.12);
  background:rgba(255,255,255,0.72);
  color:#64748B;
  font-size:14px;
  line-height:1.5;
}

.detail-selection-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.detail-selection-chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(17,24,39,0.08);
  background:#fff;
  box-shadow:var(--shadow);
  font-size:14px;
  font-weight:800;
  color:var(--text);
}

.detail-selection-chip strong{
  color:var(--primary);
  font-weight:900;
}

.detail-selection-meta{
  margin-top:12px;
  color:#64748B;
  font-size:13px;
  font-weight:800;
}

.detail-selection-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.detail-select-card{
  border:1px solid rgba(17,24,39,0.08);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--shadow);
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:16px;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.detail-select-card:hover{
  transform:translateY(-1px);
}

.detail-select-card.is-selected{
  border-color:rgba(240,115,49,0.4);
  box-shadow:0 12px 28px rgba(240,115,49,0.12);
  background:rgba(255,247,241,0.9);
}

.detail-select-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.detail-select-card__title{
  font-size:18px;
  font-weight:900;
  color:var(--text);
  line-height:1.25;
}

.detail-select-card__desc{
  margin-top:6px;
  color:#64748B;
  font-size:14px;
  line-height:1.45;
}

.detail-select-card__price{
  flex:none;
  color:var(--primary);
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}

.detail-select-stepper{
  display:inline-flex;
  align-items:center;
  gap:10px;
  align-self:flex-start;
  padding:8px;
  border-radius:999px;
  background:#FFF6EF;
}

.detail-step-btn{
  width:36px;
  height:36px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:var(--text);
  font-size:22px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 10px rgba(17,24,39,0.08);
}

.detail-select-qty{
  min-width:24px;
  text-align:center;
  color:var(--text);
  font-size:17px;
  font-weight:900;
}

.modal-foot--stack{
  display:flex;
  flex-direction:column;
}

.modal{
  position:fixed;
  inset:0;
  z-index:var(--z-modal);
  display:none;
}
.modal[aria-hidden="false"]{ display:block; }
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,0.42);
  backdrop-filter:blur(4px);
}
.modal-panel{
  position:absolute;
  left:12px;
  right:12px;
  bottom:calc(12px + var(--safe-bottom));
  max-width:var(--max);
  margin:0 auto;
  border-radius:18px;
  border:1px solid rgba(17,24,39,0.08);
  background:#FFFFFF;
  box-shadow:var(--shadow2);
  overflow:hidden;
  max-height:calc(100vh - 24px);
  display:flex;
  flex-direction:column;
}
.modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 14px;
  border-bottom:1px solid rgba(17,24,39,0.08);
}
.modal-title{
  font-weight:1100;
  letter-spacing:-0.02em;
}
.modal-x{
  width:38px;
  height:38px;
  border-radius:14px;
  border:1px solid rgba(17,24,39,0.10);
  background:#F8FAFC;
  color:var(--text);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.modal-body{
  padding:14px;
  overflow:auto;
}
.modal-foot{
  padding:12px 14px 14px;
  border-top:1px solid rgba(17,24,39,0.08);
  display:flex;
  gap:10px;
}

.date-wrap{
  position:relative;
  display:block;
  width:100%;
  cursor:pointer;
  max-width:100%;
}
.date-input{
  width:100%;
  cursor:pointer;
  padding-right:54px;
  height:52px;
  line-height:52px;
  -webkit-appearance:none;
  appearance:none;
  font-size:16px;
}
.date-icon{
  pointer-events:none;
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  opacity:.55;
  border-radius:4px;
  border:2px solid rgba(17,24,39,0.26);
}
input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:0;
  display:block;
  width:54px;
  height:52px;
  position:absolute;
  right:0;
  top:0;
}
input[type="date"]::-webkit-datetime-edit{ padding:0 12px; }
input[type="date"]::-webkit-datetime-edit-fields-wrapper{
  display:flex;
  align-items:center;
}

.dd-popup{
  position:fixed;
  inset:0;
  z-index:var(--z-popup);
  display:none;
}
.dd-popup[aria-hidden="false"]{ display:block; }
.dd-popup__dim{
  position:absolute; inset:0;
  background:rgba(15,23,42,.45);
  backdrop-filter:blur(4px);
}
.dd-popup__card{
  position:relative;
  width:min(92vw, 420px);
  margin:12vh auto 0;
  border-radius:var(--radius, 18px);
  background:var(--card, #fff);
  border:1px solid var(--line, rgba(17,24,39,.08));
  box-shadow:var(--shadow2);
  overflow:hidden;
}
.dd-popup__x{
  position:absolute;
  top:10px;
  right:10px;
  width:36px;
  height:36px;
  border-radius:12px;
  border:1px solid var(--line, rgba(17,24,39,.08));
  background:#F8FAFC;
  color:var(--text, #111827);
  cursor:pointer;
}
.dd-popup__body{ padding:18px 16px 16px; }
.dd-popup__badge{
  display:inline-block;
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(47,128,237,0.14);
  color:#1D4ED8;
  background:rgba(47,128,237,0.06);
}
.dd-popup__title{
  margin:10px 0 8px;
  font-size:18px;
  line-height:1.25;
  color:var(--text, #111827);
}
.dd-popup__text{
  margin:0 0 8px;
  line-height:1.45;
  color:var(--text, #111827);
}
.dd-popup__text--muted{ color:var(--muted, #6B7280); }
.dd-popup__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.dd-popup__btn{
  height:44px;
  border-radius:14px;
  border:1px solid var(--line, rgba(17,24,39,.08));
  background:#FFFFFF;
  color:var(--text, #111827);
  cursor:pointer;
}
.dd-popup__btn--primary{
  background:linear-gradient(180deg, #2F80ED 0%, #2563EB 100%);
  border-color:rgba(47,128,237,0.18);
  color:#FFFFFF;
  font-weight:700;
}
.dd-popup__today{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  font-size:13px;
  color:var(--muted, #6B7280);
}

@media (min-width: 1100px){
  :root{ --max: 820px; }
}

@media (max-width: 520px){
  body:has(input:focus),
  body:has(textarea:focus),
  body:has(select:focus){
    padding-bottom:calc(16px + var(--safe-bottom));
  }
  body:has(input:focus) .wizard-nav,
  body:has(textarea:focus) .wizard-nav,
  body:has(select:focus) .wizard-nav{
    opacity:.25;
    pointer-events:none;
  }
}

@keyframes shake {
  0%,100%{transform:translateX(0);}
  20%{transform:translateX(-6px);}
  40%{transform:translateX(6px);}
  60%{transform:translateX(-4px);}
  80%{transform:translateX(4px);}
}
.shake{animation:shake .35s ease;}

.date-icon{ pointer-events:none; }

.dd-footer{
  margin:18px 0 28px;
}
.dd-footer-inner{
  border:1px solid var(--line);
  background:var(--card);
  border-radius:var(--radius);
  padding:14px 14px;
  box-shadow:var(--shadow);
}
.dd-footer-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:transparent;
  border:0;
  padding:10px 6px;
  color:var(--text);
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}
.dd-footer-caret{
  opacity:.8;
  transform:translateY(-1px);
}
.dd-footer-biz{
  border-top:1px solid var(--line);
  margin-top:10px;
  padding-top:12px;
}
.dd-footer-line{
  color:var(--text);
  font-size:13px;
  line-height:1.6;
  margin:4px 0;
}
.dd-footer-line b{
  color:var(--accent);
  font-weight:700;
}
.dd-footer-muted{
  color:var(--muted);
  margin-top:8px;
  font-size:12px;
}

.compare-chart-section{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(17,24,39,0.08);
}
.compare-chart-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.compare-chart-title{
  font-size:14px;
  font-weight:1000;
  color:var(--text);
}
.compare-chart-average{
  font-size:12px;
  font-weight:1000;
  color:var(--muted);
  white-space:nowrap;
}
.compare-chart-wrap{
  position:relative;
  width:100%;
  min-width:0;
  height:180px;
  min-height:180px;
  margin-top:8px;
  overflow:hidden;
}
.compare-chart-wrap canvas{
  display:block !important;
  width:100% !important;
  height:100% !important;
}
.compare-chart-note{
  margin-top:12px;
  font-size:12px;
  line-height:1.5;
  color:#64748B;
}

@media (max-width: 520px){
  .compare-chart-head{
    flex-direction:column;
    gap:6px;
  }
  .compare-chart-average{ white-space:normal; }
  .compare-chart-wrap{
    height:220px;
    min-height:220px;
  }
}

.waypoint-tools{
  margin-top:12px;
  padding:14px;
  border:1px solid rgba(17,24,39,0.08);
  border-radius:14px;
  background:#F8FAFC;
}
.waypoint-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}
.ghost-lite{
  background:#FFFFFF;
  color:var(--text);
  border:1px solid rgba(17,24,39,0.10);
}
.is-disabled-option{ opacity:.72; }
.switch.is-disabled{
  pointer-events:none;
  opacity:.65;
}
.disabled-note{
  margin-top:10px;
  padding:12px 14px;
  border-radius:12px;
  background:#FFFFFF;
  border:1px dashed rgba(17,24,39,0.12);
}
.case-view-btn{
  width:100%;
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(17,24,39,0.10);
  background:#FFFFFF;
  color:var(--text);
  font-weight:800;
  cursor:pointer;
}
.case-view-btn:hover{ background:#F8FAFC; }
.modal-panel-wide{ max-width:760px; }
.case-intro{
  padding:14px 16px;
  border-radius:14px;
  background:#F8FAFC;
  color:var(--text);
  line-height:1.6;
  margin-bottom:14px;
}
.case-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.case-card{
  border:1px solid rgba(17,24,39,0.08);
  border-radius:16px;
  overflow:hidden;
  background:#FFFFFF;
}
.case-shot{
  width:100%;
  background:#E5E7EB;
}
.case-image{
  display:block;
  width:100%;
  height:auto;
  cursor:zoom-in;
}
.case-copy{ padding:14px; }
.case-copy strong{
  display:block;
  margin-bottom:8px;
  font-size:15px;
  color:#0F172A;
}
.case-copy p{
  margin:0;
  line-height:1.6;
  color:#475569;
}
.modal-panel-image{ width:min(92vw, 980px); }
.image-modal-body{
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:10px;
}
.case-image-zoomed{
  display:block;
  width:100%;
  max-width:100%;
  max-height:75vh;
  object-fit:contain;
  border-radius:16px;
  background:#F1F5F9;
}

#throwToBlock[hidden],
.waypoint-step-panel[hidden]{ display:none !important; }

.waypoint-actions .wizard-primary,
#openWaypointSetupModalBtn,
#openWaypointItemsModalBtn,
#openWaypointThrowModalBtn,
#openDamageCasesModalBtn,
.case-image{
  pointer-events:auto !important;
  touch-action:manipulation;
}
#waypointWrap, .waypoint-tools, .waypoint-actions{
  position:relative;
  z-index:1;
}
.modal{ isolation:isolate; }
.modal.open{ display:flex !important; }
.modal-panel{
  position:relative;
  z-index:2;
  pointer-events:auto;
}
.modal-backdrop{ z-index:1; }
.modal-x, .modal-foot button, .wizard-btn, .wizard-primary, .ghost-lite{
  touch-action:manipulation;
}
body.modal-open{ overflow:hidden; }
.case-image{ cursor:zoom-in; }
@media (max-width:640px){
  .modal-panel{
    width:min(92vw, 720px);
    max-height:86vh;
  }
}

#waypointSetupModal.has-nested-modal > .modal-panel > .modal-body > .waypoint-step-panel,
#waypointSetupModal.has-nested-modal > .modal-panel > .modal-body > #waypointModalStepLabel,
#waypointSetupModal.has-nested-modal > .modal-panel > .modal-foot{
  opacity:.18;
  pointer-events:none;
  user-select:none;
}

#waypointNestedHost{
  position:absolute;
  inset:0;
  z-index:40;
  display:none;
  pointer-events:none;
}
#waypointSetupModal.has-nested-modal #waypointNestedHost{ display:block; }

#waypointNestedHost > .modal.nested-in-waypoint{
  position:absolute;
  inset:0;
  opacity:1;
  pointer-events:auto;
  background:rgba(15,23,42,.16);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:14px 14px calc(14px + var(--safe-bottom));
  z-index:30;
}
#waypointNestedHost > .modal.nested-in-waypoint[aria-hidden="true"]{
  display:none;
}
#waypointNestedHost > .modal.nested-in-waypoint .modal-backdrop{
  display:none;
}
#waypointNestedHost > .modal.nested-in-waypoint .modal-panel{
  width:min(100%, 640px);
  max-width:100%;
  max-height:72vh;
  overflow:auto;
  box-shadow:var(--shadow2);
}

#waypointSetupModal.has-nested-modal #waypointNestedHost,
#waypointSetupModal.has-nested-modal #waypointNestedHost *{
  pointer-events:auto;
}
#waypointSetupModal.has-nested-modal #waypointNestedHost .modal-foot,
#waypointSetupModal.has-nested-modal #waypointNestedHost .wizard-btn,
#waypointSetupModal.has-nested-modal #waypointNestedHost .modal-x,
#waypointSetupModal.has-nested-modal #waypointNestedHost .stepper-btn{
  opacity:1 !important;
  filter:none !important;
  pointer-events:auto !important;
}
#waypointNestedHost > .modal.nested-in-waypoint{
  width:100%;
  box-sizing:border-box;
}
#waypointNestedHost > .modal.nested-in-waypoint .modal-panel{
  width:min(92vw, 640px);
  max-width:92vw;
  min-width:0;
  box-sizing:border-box;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
#waypointNestedHost > .modal.nested-in-waypoint .modal-body,
#waypointNestedHost > .modal.nested-in-waypoint .modal-head,
#waypointNestedHost > .modal.nested-in-waypoint .modal-foot{
  min-width:0;
  box-sizing:border-box;
}
.option.item-qty-row{ min-width:0; }
.option.item-qty-row > :first-child{
  flex:1 1 auto;
  min-width:0;
  overflow-wrap:anywhere;
  word-break:keep-all;
  padding-right:8px;
}
.stepper{
  flex:0 0 auto;
  min-width:0;
}
.stepper-btn{ flex:0 0 34px; }
.stepper input{
  width:72px;
  min-width:0;
  box-sizing:border-box;
}

#wizardNav{
  display:flex;
}
.wizard-top{
  display:block;
}

.waypoint-tools,
.waypoint-actions{
  width:100%;
  min-width:0;
}

#waypointWrap,
#waypointWrap .card,
#waypointWrap .waypoint-tools{
  overflow:hidden;
}

#confirmInquiryModal .modal-foot{ display:block; }
#confirmInquiryModal .wizard-btn.primary.large{
  display:block;
  width:100%;
  min-height:60px;
  font-size:17px;
  font-weight:1000;
  border-radius:18px;
  background:linear-gradient(180deg, #2F80ED 0%, #2563EB 100%);
  color:#FFFFFF;
  border-color:rgba(47,128,237,0.18);
}
#confirmInquiryModal .confirm-sub-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}
#confirmInquiryModal .confirm-sub-actions .wizard-btn.small{
  min-height:44px;
  font-size:14px;
  font-weight:800;
  border-radius:14px;
}
@media (max-width: 640px){
  #confirmInquiryModal .confirm-sub-actions{ grid-template-columns:1fr; }
}

:root{
  --anim-fast:120ms;
  --anim-mid:200ms;
  --anim-slow:500ms;
}
button{
  transition:transform var(--anim-fast) ease, box-shadow var(--anim-fast) ease;
}
button:active{ transform:scale(0.97); }
.service-card{
  transition:transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
.service-card.active{ transform:translateY(-4px); }
.reveal{
  opacity:0;
  transform:translateY(12px);
  transition:opacity 200ms ease, transform 200ms ease;
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}
.loading-dots span{ animation:dotPulse 1s infinite; }
.loading-dots span:nth-child(2){ animation-delay:.2s; }
.loading-dots span:nth-child(3){ animation-delay:.4s; }
@keyframes dotPulse{
  0%,80%,100%{ opacity:.2; }
  40%{ opacity:1; }
}
@media (prefers-reduced-motion: reduce){
  *{
    animation:none !important;
    transition:none !important;
  }
}
.service-step-hidden{display:none !important;}
[data-step="service"]{display:none !important;}

.cleaning-upsell-body{
  margin-top:14px;
  border:1px solid rgba(17,24,39,0.08);
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
  border-radius:18px;
  padding:16px;
}
.cleaning-upsell-tip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(47,128,237,0.10);
  color:var(--text);
  margin-bottom:14px;
  font-weight:700;
}
.cleaning-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.cleaning-option-card{
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,0.04);
}
.seg.compact{gap:8px; flex-wrap:wrap;}
.clean-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
  margin-top:10px;
}
.clean-check-grid label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:var(--text);
}
.clean-inline-steppers,
.clean-metrics-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.cleaning-actions{
  margin-top:12px;
}
.option.compact,.field.compact{
  padding:10px 0 0;
  border-top:1px solid rgba(17,24,39,0.06);
  margin-top:10px;
}
.cleaning-estimate-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(17,24,39,0.08);
}
.cleaning-estimate-price{
  font-size:28px;
  font-weight:800;
  line-height:1;
}
@media (max-width: 768px){
  .cleaning-grid,
  .clean-check-grid,
  .clean-inline-steppers,
  .clean-metrics-grid{
    grid-template-columns:1fr;
  }
  .cleaning-estimate-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .cleaning-estimate-price{
    font-size:24px;
  }
}


.cleaning-upsell-body .option input[type="text"],
.cleaning-upsell-body .option input[type="number"],
.cleaning-upsell-body .option select,
.cleaning-upsell-body textarea,
.cleaning-upsell-body .field,
.cleaning-upsell-body .input,
.cleaning-upsell-body .text-input{
  width:100%;
  box-sizing:border-box;
}

.cleaning-upsell-body textarea{
  min-height:110px;
  resize:vertical;
}

.cleaning-upsell-body label{
  word-break:keep-all;
}

.cleaning-upsell-body .modal-grid,
.cleaning-upsell-body .grid-2,
.cleaning-upsell-body .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.cleaning-upsell-body .chip,
.cleaning-upsell-body .pill,
.cleaning-upsell-body .seg-item{
  min-width:0;
}

.sticky-subamount-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:4px;
  font-size:12px;
  color:var(--muted);
}
.sticky-subamount-value{
  color:var(--text);
  font-weight:700;
}
@media (max-width:768px){
  .cleaning-upsell-body .modal-grid,
  .cleaning-upsell-body .grid-2,
  .cleaning-upsell-body .form-grid{
    grid-template-columns:1fr;
  }
}


.clean-inline-steppers{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.clean-inline-steppers .option.compact{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-width:0;
  margin-top:0;
  padding:12px;
  border:1px solid rgba(17,24,39,0.08);
  border-radius:16px;
  background:#FFFFFF;
}
.clean-inline-steppers .option.compact > div:first-child{
  margin-bottom:8px;
  font-weight:800;
}
.clean-inline-steppers .stepper{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(64px,72px) 34px auto;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
}
.clean-inline-steppers .stepper input{
  width:100%;
  min-width:0;
  max-width:72px;
  padding-left:0;
  padding-right:0;
}
.clean-inline-steppers .stepper-btn{
  width:34px;
  min-width:34px;
  flex:0 0 34px;
}
.clean-inline-steppers .stepper-unit{
  min-width:0;
  white-space:nowrap;
}
#moveCleanOuterWindowBody[hidden]{
  display:none !important;
}
.cleaning-actions .mini-summary{
  width:100%;
  box-sizing:border-box;
}
@media (max-width: 768px){
  .clean-inline-steppers{
    grid-template-columns:1fr;
  }
}


#moveCleanBasicMiniSummary,
#moveCleanApplianceMiniSummary,
#moveCleanNotePreview{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}

.small-discount{
  display:block;
  font-size:12px;
  margin-top:4px;
  color:#6ee7ff;
  opacity:0.85;
}

.crew-section{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(17,24,39,0.08);
}
.crew-title{
  font-size:15px;
  font-weight:900;
  color:#0F172A;
  margin-bottom:12px;
}
.crew-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.crew-card{
  margin:0;
  text-align:center;
}
.crew-photo-wrap{
  width:78px;
  height:78px;
  margin:0 auto 8px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(17,24,39,0.08);
  background:#F8FAFC;
  box-shadow:0 6px 14px rgba(15,23,42,0.06);
}
.crew-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.crew-card figcaption{
  font-size:12px;
  font-weight:800;
  color:#475569;
}
.crew-help{
  margin-top:12px;
  color:#64748B;
  font-size:12px;
  line-height:1.5;
}
@media (max-width: 380px){
  .crew-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
#caseImageModal{ z-index: 9999 !important; }
#caseImageModal .modal-panel{ z-index: 10000 !important; }

/* ===== Result screen cleanup ===== */
.result-step{
  padding-bottom: 10px;
}
.result-shell{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.result-card-kicker{
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--muted);
  margin-bottom:10px;
}
.result-summary-card,
.result-price-card,
.result-info-card{
  border-radius:20px;
}
.result-summary{
  line-height:1.7;
  color:var(--text);
}
.result-price-card{
  padding:20px;
}
.result-price-top{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.result-price-under{
  line-height:1.6;
}
.result-price-breakdown{
  margin-top:14px;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(17,24,39,.04);
  border:1px solid rgba(17,24,39,.07);
  display:grid;
  gap:6px;
}
.result-price-breakdown .breakdown-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
  color:var(--muted,#6e6255);
}
.result-price-breakdown .breakdown-row.total-row{
  font-weight:700;
  color:var(--text,#20170f);
  font-size:14px;
  padding-top:6px;
  margin-top:2px;
  border-top:1px solid rgba(17,24,39,.08);
}
.result-trust-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.result-chip{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(17,24,39,.06);
  font-size:12px;
  font-weight:700;
  color:var(--text);
}
.result-cta-stack{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.result-main-cta{
  min-height:72px;
}

.result-main-cta--checkout{
  background:linear-gradient(180deg, #ed6b2f 0%, #d85a20 100%);
  border-color:rgba(237,107,47,0.22);
  box-shadow:0 16px 30px rgba(237,107,47,0.24);
}

.result-main-cta--checkout:focus,
.result-main-cta--checkout:focus-visible{
  box-shadow:0 0 0 3px rgba(237,107,47,0.18), 0 16px 30px rgba(237,107,47,0.24);
}

.checkout-modal-copy{
  margin:0 0 16px;
  color:var(--muted);
  line-height:1.7;
}

.field{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.field label{
  font-size:14px;
  font-weight:900;
  color:var(--text);
}

.field input,
.field textarea{
  width:100%;
  min-height:52px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid rgba(17,24,39,0.12);
  background:#fff;
  font:inherit;
  color:var(--text);
}

.field textarea{
  min-height:120px;
  padding:14px 16px;
  resize:vertical;
}

.field input:focus,
.field textarea:focus{
  outline:none;
  border-color:rgba(237,107,47,0.36);
  box-shadow:0 0 0 4px rgba(237,107,47,0.10);
}

.modal-actions{
  display:flex;
  gap:10px;
  padding:0 14px 16px;
}

.modal-actions > *{
  width:100%;
}

.checkout-form{
  display:grid;
  gap:12px;
}

.checkout-field{
  display:grid;
  gap:8px;
}

.checkout-field span{
  font-size:14px;
  font-weight:900;
  color:var(--text);
}

.checkout-field input{
  width:100%;
  min-height:52px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid rgba(17,24,39,0.12);
  background:#fff;
  font:inherit;
  color:var(--text);
}

.checkout-field input:focus{
  outline:none;
  border-color:rgba(237,107,47,0.36);
  box-shadow:0 0 0 4px rgba(237,107,47,0.10);
}
.result-info-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.result-info-title{
  font-weight:800 !important;
  margin-bottom:10px !important;
}
@media (min-width: 768px){
  .result-info-grid{
    grid-template-columns:1fr 1fr;
  }
}

/* ===== Landing / page connection ===== */
.page-linkbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 14px;
}
.page-linkbar--space{
  justify-content:center;
  align-items:center;
}
.page-linkbar__group{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  width:100%;
}
.page-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,0.10);
  background:#FFFFFF;
  color:#334155;
  font-size:14px;
  font-weight:900;
  box-shadow:var(--shadow);
  white-space:nowrap;
}
.page-link.is-current{
  color:#1D4ED8;
  border-color:rgba(47,128,237,0.24);
  background:#EFF6FF;
}
.landing-shell{
  display:grid;
  gap:18px;
}
.landing-hero{
  border-radius:26px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFF 100%);
  border:1px solid rgba(17,24,39,0.08);
  box-shadow:var(--shadow2);
  padding:34px;
}
.landing-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  background:#EFF6FF;
  color:#1D4ED8;
  font-size:14px;
  font-weight:1000;
}
.landing-title{
  margin:18px 0 14px;
  font-size:62px;
  line-height:1.02;
  letter-spacing:-0.05em;
  color:#0F172A;
  text-wrap:balance;
}
.landing-title .accent{ color:#3B82F6; }
.landing-copy{
  margin:0;
  color:#475569;
  font-size:17px;
  line-height:1.7;
  font-weight:800;
  max-width:30rem;
}
.landing-live{
  margin-top:22px;
  padding:18px 22px;
  border-radius:22px;
  border:1px solid rgba(59,130,246,0.20);
  background:#F1F5FF;
}
.landing-live__title{
  font-size:16px;
  font-weight:1000;
  color:#0F172A;
}
.landing-live__sub{
  margin-top:8px;
  color:#475569;
  font-size:14px;
  line-height:1.6;
  font-weight:800;
}
.landing-cta-stack{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.landing-main-cta,
.landing-sub-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:84px;
  padding:0 22px;
  border-radius:26px;
  font-size:20px;
  font-weight:1000;
  box-shadow:var(--shadow);
}
.landing-main-cta{
  border:1px solid rgba(47,128,237,0.18);
  color:#FFFFFF;
  background:linear-gradient(180deg,#3B82F6 0%,#2563EB 100%);
  box-shadow:0 16px 32px rgba(37,99,235,0.22);
}
.landing-sub-cta{
  border:1px solid rgba(17,24,39,0.10);
  background:#FFFFFF;
  color:#111827;
}
.landing-grid{
  display:grid;
  grid-template-columns:1.15fr 0.95fr;
  gap:18px;
}
.service-switcher-shell{
  margin-top:18px;
  margin-bottom:18px;
}
.service-switcher-head{
  display:grid;
  gap:6px;
  margin-bottom:16px;
}
.service-switcher-head h2{
  margin:0;
  font-size:clamp(1.4rem,2vw,1.9rem);
}
.service-switcher-head p{
  margin:0;
  color:#6b7280;
}
.service-switcher-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.service-switcher-card{
  display:grid;
  gap:8px;
  padding:18px 20px;
  border-radius:18px;
  border:1px solid #e8dccf;
  background:#fffdfa;
  color:#2b211c;
  text-decoration:none;
  box-shadow:0 12px 26px rgba(177, 126, 77, .08);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-switcher-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 32px rgba(177, 126, 77, .12);
  border-color:#f59e72;
}
.service-switcher-card strong{
  font-size:1rem;
}
.service-switcher-card span{
  color:#6b7280;
  line-height:1.5;
}
.service-directory-shell{
  margin-top:18px;
  margin-bottom:18px;
}
.service-directory-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.service-directory-card{
  display:grid;
  gap:10px;
  padding:22px 24px;
  border-radius:22px;
  border:1px solid rgba(70,50,31,0.10);
  background:linear-gradient(180deg,#fffaf3 0%,#fffdf9 100%);
  box-shadow:var(--shadow);
  color:var(--text);
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-directory-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow2);
  border-color:rgba(237,107,47,0.20);
}
.service-directory-card strong{
  font-size:1.08rem;
  line-height:1.3;
}
.service-directory-card span{
  color:var(--muted);
  line-height:1.6;
  font-weight:800;
}
.service-directory-card em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(237,107,47,0.10);
  color:var(--accent);
  font-style:normal;
  font-size:13px;
  font-weight:1000;
}
.landing-card{
  border-radius:24px;
  border:1px solid rgba(17,24,39,0.08);
  background:#FFFFFF;
  box-shadow:var(--shadow);
  padding:28px;
}
.landing-card h3{
  margin:0 0 18px;
  font-size:20px;
  line-height:1.25;
  color:#0F172A;
  font-weight:1000;
}
.landing-checklist,
.landing-links,
.landing-proof-list{
  display:grid;
  gap:12px;
}
.landing-checklist li,
.landing-links li,
.landing-proof-list li{
  list-style:none;
  color:#334155;
  font-size:16px;
  line-height:1.55;
  font-weight:900;
}
.landing-warning{
  margin-top:14px;
  color:#EF4444;
  font-size:16px;
  line-height:1.55;
  font-weight:1000;
}
.landing-proof{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(17,24,39,0.08);
}
.landing-links a{
  color:#334155;
}
.landing-note{
  margin-top:16px;
  color:#64748B;
  font-size:14px;
  line-height:1.6;
  font-weight:800;
}
@media (max-width: 900px){
  .landing-title{ font-size:48px; }
  .landing-grid{ grid-template-columns:1fr; }
  .service-switcher-grid{ grid-template-columns:1fr; }
  .service-directory-grid{ grid-template-columns:1fr; }
  .address-search-row{ grid-template-columns:1fr; }
  .address-search-btn{ width:100%; }
}
@media (max-width: 640px){
  .page-linkbar--space{ align-items:flex-start; }
  .page-linkbar,
  .page-linkbar__group{ gap:8px; }
  .page-link{
    flex:1 1 calc(33.333% - 6px);
    min-width:0;
    padding:0 10px;
    font-size:13px;
  }
  .landing-hero,
  .landing-card{ padding:22px; }
  .landing-title{ font-size:42px; }
  .landing-copy{ font-size:15px; max-width:none; }
  .landing-main-cta,
  .landing-sub-cta{ min-height:74px; font-size:18px; border-radius:22px; }
}

/* ===== DANG-O estimate overrides ===== */
:root{
  --bg:#f6efe4;
  --card:#fffaf3;
  --card2:#fff6ea;
  --text:#20170f;
  --muted:#6f6255;
  --line:rgba(70,50,31,0.12);
  --line2:rgba(70,50,31,0.18);
  --accent:#ed6b2f;
  --accent2:#ffb36d;
  --shadow:0 12px 28px rgba(77,45,13,0.08);
  --shadow2:0 22px 52px rgba(77,45,13,0.12);
  --radius:20px;
  --max:780px;
}

body{
  font-family:'SUIT', system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans KR", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(255,216,169,0.72), transparent 28%),
    linear-gradient(180deg, #f7e7cb 0%, #f8f1e8 36%, #f7f4ef 100%);
  color:var(--text);
  padding-top:12px;
}

.container{
  width:min(var(--max), calc(100% - 22px));
  margin:14px auto 24px;
}

.page-linkbar{
  margin:0 0 18px;
}

.page-link,
.lang-pill{
  min-height:44px;
  border-color:var(--line);
  background:rgba(255,250,243,0.9);
  color:var(--muted);
  box-shadow:var(--shadow);
}

.page-link.is-current,
.lang-pill[aria-current="page"]{
  background:rgba(237,107,47,0.1);
  border-color:rgba(237,107,47,0.24);
  color:var(--accent);
}

.dango-estimate-intro{
  margin-bottom:18px;
}

.landing-hero{
  border-radius:28px;
  border-color:rgba(70,50,31,0.1);
  background:
    linear-gradient(135deg, rgba(255,245,227,0.96), rgba(255,252,247,0.92));
  padding:30px;
}

.landing-eyebrow{
  background:rgba(237,107,47,0.1);
  color:var(--accent);
}

.landing-title{
  font-size:56px;
  color:var(--text);
}

.landing-title .accent{
  color:var(--accent);
}

.landing-copy{
  color:var(--muted);
  font-weight:700;
  max-width:30rem;
}

.dango-estimate-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.dango-estimate-pills span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(70,50,31,0.1);
  color:#8f451c;
  font-size:13px;
  font-weight:800;
}

.landing-card,
.card,
.card-sub,
.wizard-top,
.dd-footer-inner,
.modal-panel,
#stickyPriceBar .sticky-inner{
  border-color:var(--line);
  background:rgba(255,250,243,0.96);
}

.landing-card{
  border-radius:24px;
  background:linear-gradient(180deg,#fffaf3 0%,#ffffff 100%);
  border-color:rgba(70,50,31,0.10);
}

.landing-card h3,
.section h2,
.wizard-title,
.modal-title{
  color:var(--text);
}

.section{
  margin:14px 0 18px;
}

.section h2{
  margin:0 4px 10px;
  font-size:22px;
  line-height:1.2;
}

.sub,
.hint,
.price-under,
.dd-footer-line,
.landing-note,
.landing-checklist li,
.landing-proof-list li{
  color:var(--muted);
}

.step-card.is-active{
  display:block;
  padding:6px 0;
}

.service-switcher-head p{
  color:var(--muted);
  font-weight:800;
}

.service-switcher-card{
  border-color:rgba(70,50,31,0.10);
  background:linear-gradient(180deg,#fffaf3 0%,#fffdf9 100%);
  box-shadow:var(--shadow);
}

.service-switcher-card strong{
  color:var(--text);
}

.service-switcher-card span{
  color:var(--muted);
  font-weight:800;
}

.card,
.hero-card,
.landing-card{
  position:relative;
  overflow:hidden;
}

.card::before,
.landing-card::before,
.hero-card::before,
.price-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg, rgba(237,107,47,0.9), rgba(255,196,146,0.35));
}

.vehicle,
.option,
.seg-item,
.time-chip,
.toggle,
.contact-btn,
.mini-summary,
.distance-result,
.ladder-sub,
.waypoint-tools{
  border-color:var(--line);
  background:#fffdf9;
}

.vehicle.active,
.vehicle.selected,
.time-chip:has(input:checked),
.time-chip.is-selected,
.seg-item:has(input:checked){
  background:rgba(237,107,47,0.09);
  border-color:rgba(237,107,47,0.24);
}

.wizard-primary,
.contact-btn.mega,
.dd-popup__btn--primary{
  background:linear-gradient(180deg, #ed6b2f 0%, #d85a20 100%);
  border-color:rgba(237,107,47,0.18);
  box-shadow:0 14px 28px rgba(237,107,47,0.2);
}

.calc-btn{
  border-color:rgba(237,107,47,0.18);
  background:rgba(237,107,47,0.08);
  color:#a1481d;
}

.calc-btn:hover{
  background:rgba(237,107,47,0.12);
}

.address-input,
.stepper input{
  border-color:var(--line2);
  background:#fff;
  color:var(--text);
}

.address-input:focus{
  border-color:rgba(237,107,47,0.34);
  box-shadow:0 0 0 4px rgba(237,107,47,0.1);
}

.price{
  color:#1e170f;
  font-size:38px;
}

#stickyPriceBar .sticky-price{
  color:#1e170f;
}

#stickyPriceBar .sticky-inner{
  border-radius:18px;
  background:rgba(255,249,241,0.92);
  align-items:stretch;
  gap:14px;
}

.sticky-ga-slot{
  flex:0 0 206px;
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
}

.ga-floating-badge--inline{
  position:static;
  width:100%;
  max-width:206px;
  padding:9px 10px;
  border-radius:14px;
  box-shadow:none;
  border:1px solid rgba(237,107,47,0.14);
  background:rgba(255,255,255,0.78);
}

.ga-floating-badge--inline .ga-floating-badge__hero-copy{
  font-size:11px;
}

.ga-floating-badge--inline .ga-floating-badge__desc{
  margin-top:4px;
  font-size:10px;
}

.ga-floating-badge--inline .ga-floating-badge__stat{
  padding:6px 8px;
  border-radius:10px;
}

.wizard-btn{
  border-color:var(--line);
  background:#fffaf3;
}

.wizard-btn.ghost,
.contact-btn.ghost{
  background:#fff;
}

.ga-floating-badge{
  border-color:rgba(237,107,47,0.18);
  background:rgba(255,250,243,0.95);
}

.ga-floating-badge__eyebrow{
  color:var(--accent);
}

.ga-floating-badge__desc,
.ga-floating-badge__meta,
.ga-floating-badge__unit{
  color:var(--muted);
}

.modal-backdrop{
  background:rgba(34,24,16,0.38);
}

.modal-head,
.modal-foot{
  border-color:var(--line);
}

.dd-footer-line b{
  color:var(--accent);
}

@media (max-width: 900px){
  .landing-title{
    font-size:44px;
  }
}

@media (max-width: 640px){
  :root{
    --stickybar-h: 76px;
  }

  .landing-eyebrow{
    font-size:12px;
    padding:9px 12px;
  }
  .wizard-top{
    padding:12px 10px 10px;
  }
  .wizard-title{
    font-size:17px;
  }
  .wizard-cheer{
    font-size:12px;
  }
  .section h2{
    font-size:20px;
  }
  .landing-hero,
  .landing-card,
  .card,
  .card-sub{
    padding:20px;
  }

  .landing-title{
    font-size:36px;
  }

  .dango-estimate-pills{
    display:grid;
    grid-template-columns:1fr;
  }

  #stickyPriceBar .sticky-inner{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    padding:8px 9px;
  }

  .sticky-ga-slot{
    grid-column:1 / -1;
    flex-basis:auto;
    width:100%;
  }

  .ga-floating-badge--inline{
    max-width:none;
    padding:8px 9px;
  }

  .ga-floating-badge--inline .ga-floating-badge__desc{
    display:none;
  }

  #stickyPriceBar .sticky-price{
    font-size:17px;
  }

  #stickyPriceBar .sticky-under{
    font-size:10px;
  }

  #stickyPriceBar.is-expanded{
    --stickybar-h: 178px;
  }
}

.waste-item-row{
  align-items:center;
}

.waste-item-stepper{
  display:flex;
  align-items:center;
  gap:8px;
}
