:root{
  --ll-lime:#B8E04A;
  --ll-lime-dark:#8ab530;
  --ll-lime-hover:#a0cc35;
  --ll-ink:#0F1A0A;
  --ll-ink2:#1e2e12;
  --ll-cream:#F4F1EB;
  --ll-bg:#f8f9f5;
  --ll-white:#ffffff;
  --ll-muted:#6B7568;
  --ll-border:rgba(0,0,0,0.1);
  --ll-border2:rgba(0,0,0,0.06);
  --ll-radius:8px;
  --ll-shadow:0 2px 12px rgba(15,26,10,0.08);
  --ll-shadow-lg:0 8px 32px rgba(15,26,10,0.14);
}

#llbk-wrap{font-family:'Noto Sans KR',sans-serif;max-width:680px;margin:0 auto;padding:0 20px 80px}

/* ── 서비스 선택 ── */
.llbk-service-select{padding:28px 0 0}
.llbk-service-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ll-muted);font-weight:700;margin-bottom:10px}
.llbk-service-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.llbk-svc-tab{border:1.5px solid var(--ll-border);background:var(--ll-white);border-radius:var(--ll-radius);padding:16px 18px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;text-align:left}
.llbk-svc-tab::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--ll-lime);transform:scaleX(0);transition:transform .2s;transform-origin:left}
.llbk-svc-tab:hover{border-color:var(--ll-lime-dark)}
.llbk-svc-tab:hover::before{transform:scaleX(.5)}
.llbk-svc-tab.active{border-color:var(--ll-lime);background:#f7fef0}
.llbk-svc-tab.active::before{transform:scaleX(1)}
.llbk-svc-icon{font-size:20px;margin-bottom:7px}
.llbk-svc-title{font-size:14px;font-weight:700;color:var(--ll-ink);margin-bottom:3px}
.llbk-svc-desc{font-size:12px;color:var(--ll-muted);line-height:1.5}
.llbk-svc-badge{display:inline-block;font-size:10px;font-weight:700;background:var(--ll-lime);color:var(--ll-ink);padding:2px 8px;border-radius:10px;margin-top:6px}

/* ── 스텝 인디케이터 ── */
#llbk-stepper{background:var(--ll-ink);padding:20px 32px 0;display:flex;margin-top:16px}
.llbk-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}
.llbk-step:not(:last-child)::after{content:'';position:absolute;top:14px;left:calc(50% + 15px);right:calc(-50% + 15px);height:1px;background:rgba(255,255,255,.12)}
.llbk-step.done:not(:last-child)::after{background:var(--ll-lime)}
.llbk-circle{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:11px;color:rgba(255,255,255,.4);font-weight:600;background:transparent;transition:all .3s;z-index:1}
.llbk-step.active .llbk-circle{background:var(--ll-lime);border-color:var(--ll-lime);color:var(--ll-ink);font-weight:700}
.llbk-step.done .llbk-circle{background:var(--ll-lime-dark);border-color:var(--ll-lime-dark);color:var(--ll-ink)}
.llbk-label{font-size:10px;color:rgba(255,255,255,.3);margin-top:6px;letter-spacing:.5px;margin-bottom:14px;text-align:center}
.llbk-step.active .llbk-label{color:rgba(255,255,255,.8)}
.llbk-step.done .llbk-label{color:var(--ll-lime-dark)}

/* ── 패널 ── */
.llbk-panel{display:none;padding:32px 32px;background:var(--ll-white);border:1px solid var(--ll-border2);border-top:none}
.llbk-panel.active{display:block}
.llbk-panel-title{font-size:28px;font-weight:700;color:var(--ll-ink);margin-bottom:4px;letter-spacing:-1px}
.llbk-panel-sub{font-size:13px;color:var(--ll-muted);margin-bottom:24px}

/* ── 폼 그리드 ── */
.llbk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:14px}
.llbk-field{display:flex;flex-direction:column;gap:5px}
.llbk-field label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ll-muted);font-weight:700}
.llbk-field input,.llbk-field select,.llbk-field textarea{background:var(--ll-white);border:1px solid var(--ll-border);padding:10px 13px;font-size:14px;color:var(--ll-ink);outline:none;border-radius:6px;transition:border-color .2s,box-shadow .2s;width:100%;font-family:inherit}
.llbk-field input:focus,.llbk-field select:focus,.llbk-field textarea:focus{border-color:var(--ll-lime-dark);box-shadow:0 0 0 3px rgba(138,181,48,.1)}
.llbk-field textarea{resize:vertical;min-height:76px}
.llbk-full{grid-column:1/-1}
.llbk-field-hint{font-size:11px;color:var(--ll-muted);margin-top:3px;line-height:1.4}

/* ── 안내 박스 ── */
.llbk-notice{border-left:3px solid var(--ll-lime);border:1px solid var(--ll-border2);border-left:3px solid var(--ll-lime);padding:11px 14px;font-size:12px;color:var(--ll-muted);line-height:1.6;margin-bottom:20px;border-radius:0 6px 6px 0}
.llbk-notice strong{color:var(--ll-ink)}
.llbk-info-box{background:#f0f7ff;border:1px solid #b3d4f5;border-radius:var(--ll-radius);padding:14px 16px;font-size:13px;color:#1a3c5e;line-height:1.7;margin-bottom:14px}

/* ── 박스 카드 ── */
.llbk-box-card{background:var(--ll-white);border:1px solid var(--ll-border);padding:18px;border-radius:var(--ll-radius);margin-bottom:10px;transition:border-color .2s}
.llbk-box-card:hover{border-color:rgba(138,181,48,.3)}
.llbk-box-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.llbk-box-title{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ll-muted)}
.llbk-box-badge{background:var(--ll-ink);color:var(--ll-lime);font-size:13px;font-weight:700;padding:4px 10px;border-radius:4px;font-family:'Courier New',monospace;min-width:56px;text-align:center}
.llbk-box-remove{background:none;border:none;font-size:11px;color:#ccc;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:color .2s;padding:4px 6px}
.llbk-box-remove:hover{color:#e24b4a}

/* ── 무게 버튼 ── */
.llbk-weight-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:4px}
.llbk-weight-btn{border:1px solid var(--ll-border);background:#fff;padding:8px 3px;font-size:11px;cursor:pointer;text-align:center;color:var(--ll-muted);transition:all .2s;border-radius:5px;font-family:inherit;line-height:1.3}
.llbk-weight-btn:hover{border-color:var(--ll-lime-dark);color:var(--ll-ink)}
.llbk-weight-btn.selected{background:var(--ll-ink);border-color:var(--ll-ink);color:var(--ll-lime);font-weight:700}
.llbk-weight-btn.heavy-btn{border-color:#f5a623;color:#b45309;background:#fff8ec}
.llbk-weight-btn.heavy-btn.selected{background:#f5a623;border-color:#d97706;color:#fff}

/* ── 타입 토글 ── */
.llbk-type-toggle{display:flex;gap:7px;margin-top:4px}
.llbk-type-btn{flex:1;border:1px solid var(--ll-border);background:#fff;padding:9px;font-size:13px;cursor:pointer;color:var(--ll-muted);transition:all .2s;border-radius:5px;font-family:inherit}
.llbk-type-btn:hover{border-color:var(--ll-lime-dark)}
.llbk-type-btn.selected{background:var(--ll-ink);border-color:var(--ll-ink);color:var(--ll-lime);font-weight:700}

/* ── 박스 추가 버튼 ── */
.llbk-add-box{border:1.5px dashed var(--ll-border);background:transparent;width:100%;padding:13px;font-size:12px;color:var(--ll-muted);cursor:pointer;letter-spacing:1px;text-transform:uppercase;font-family:inherit;transition:all .2s;border-radius:6px;margin-bottom:4px}
.llbk-add-box:hover{border-color:var(--ll-lime-dark);color:var(--ll-ink);background:rgba(184,224,74,.04)}

/* ── 가격 소계 바 ── */
.llbk-price-bar{background:var(--ll-ink);border-radius:8px;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;margin:16px 0 4px}
.llbk-price-bar-label{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:1px;text-transform:uppercase}
.llbk-price-bar-sub{font-size:10px;color:rgba(255,255,255,.25);margin-top:2px}
.llbk-price-bar-value{font-family:'Courier New',monospace;font-size:24px;font-weight:700;color:var(--ll-lime)}

/* ── Heavy 입력 ── */
.llbk-heavy-wrap{margin-top:10px;padding:13px 15px;background:#f0f7ff;border:1px solid #b3d4f5;border-radius:7px;animation:llbk-fadein .2s ease}
.llbk-heavy-wrap label{display:block;font-size:11px;font-weight:700;margin-bottom:6px;color:#1a3c5e;letter-spacing:.5px;text-transform:uppercase}
.llbk-heavy-wrap input{width:140px;padding:8px 11px;border:1px solid #90bde0;border-radius:5px;font-size:14px;font-family:inherit}
.llbk-heavy-info{margin-top:8px;font-size:12px;line-height:1.7;color:#444}

/* ── 캐리어 안내 ── */
.llbk-carrier-notice{display:none;margin-top:8px;padding:9px 13px;background:#fffbea;border-left:4px solid #f5a623;border-radius:4px;font-size:12px;color:#5d4037;line-height:1.6;animation:llbk-fadein .2s ease}

/* ── 구매대행 ── */
.llbk-purchase-section{background:#f7fef0;border:1px solid rgba(138,181,48,.25);border-radius:var(--ll-radius);padding:18px;margin-bottom:14px}
.llbk-purchase-section-title{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ll-lime-dark);font-weight:700;margin-bottom:12px}
.llbk-purchase-add{border:1.5px dashed rgba(138,181,48,.4);background:transparent;width:100%;padding:10px;font-size:12px;color:var(--ll-lime-dark);cursor:pointer;letter-spacing:.5px;text-transform:uppercase;font-family:inherit;transition:all .2s;border-radius:6px;margin-top:8px}
.llbk-purchase-add:hover{border-color:var(--ll-lime-dark);background:rgba(184,224,74,.06)}
.llbk-purchase-total{display:flex;justify-content:space-between;align-items:center;padding:10px 0 0;margin-top:8px;border-top:1px dashed rgba(138,181,48,.3);font-size:13px}
.llbk-purchase-total strong{font-family:'Courier New',monospace;font-size:15px;color:var(--ll-lime-dark)}
.llbk-purchase-item{background:var(--ll-white);border:1px solid var(--ll-border);border-radius:6px;padding:14px;margin-bottom:8px}
.llbk-purchase-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.llbk-purchase-item-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ll-muted)}
.llbk-purchase-item-remove{background:none;border:none;font-size:11px;color:#ccc;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:color .2s}
.llbk-purchase-item-remove:hover{color:#e24b4a}

/* ── 요약 ── */
.llbk-summary{background:var(--ll-ink);padding:22px;border-radius:var(--ll-radius);margin-bottom:18px}
.llbk-sum-section{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(184,224,74,.45);padding:5px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.llbk-sum-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:12px}
.llbk-sum-row span:first-child{color:rgba(255,255,255,.45)}
.llbk-sum-row span:last-child{color:rgba(255,255,255,.85)}
.llbk-sum-total{display:flex;justify-content:space-between;align-items:center;padding:14px 0 0;margin-top:6px;border-top:1px solid rgba(255,255,255,.12)}
.llbk-sum-total span:first-child{font-size:11px;color:rgba(255,255,255,.45);letter-spacing:1px;text-transform:uppercase}
.llbk-sum-total span:last-child{font-family:'Courier New',monospace;font-size:30px;font-weight:700;color:var(--ll-lime)}

/* ── 약관&middot;에러 ── */
.llbk-terms-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:13px;color:var(--ll-muted)}
.llbk-terms-row input{width:16px;height:16px;accent-color:var(--ll-lime-dark);cursor:pointer}
.llbk-terms-row a{color:var(--ll-lime-dark);text-decoration:underline}
.llbk-error{background:#fff0f0;border:1px solid #ffaaaa;color:#c00;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:14px}
.llbk-step-error{background:#fff0f0;border:1px solid #e74c3c;border-radius:6px;padding:11px 15px;margin:10px 0 4px;color:#c0392b;font-size:13px;line-height:1.8;display:none}

/* ── 버튼 ── */
.llbk-btn-row{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}
.llbk-btn-next{background:var(--ll-lime);color:var(--ll-ink);border:none;padding:13px 32px;font-size:13px;font-weight:700;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;font-family:inherit;transition:all .2s;border-radius:6px}
.llbk-btn-next:hover{background:var(--ll-lime-hover);transform:translateY(-1px);box-shadow:0 4px 14px rgba(138,181,48,.3)}
.llbk-btn-next:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}
.llbk-btn-prev{background:transparent;color:var(--ll-ink);border:1px solid var(--ll-border);padding:13px 22px;font-size:13px;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;font-family:inherit;transition:all .2s;border-radius:6px}
.llbk-btn-prev:hover{border-color:#888;background:var(--ll-bg)}

/* ── 완료 ── */
.llbk-success{background:var(--ll-ink);padding:44px 28px;text-align:center;border-radius:var(--ll-radius)}
.llbk-success-icon{width:54px;height:54px;background:var(--ll-lime);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:22px;color:var(--ll-ink);font-weight:700}
.llbk-success-label{font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.7);text-transform:uppercase;margin-bottom:4px}
.llbk-success-no{font-family:'Courier New',monospace;font-size:34px;font-weight:700;color:var(--ll-lime);letter-spacing:2px;margin:4px 0 14px}
.llbk-success-title{font-size:16px;color:#fff;font-weight:600;margin-bottom:8px}
.llbk-success-sub{font-size:13px;color:rgba(255,255,255,.85);line-height:1.8}
.llbk-success-contact{font-size:11px;color:rgba(255,255,255,.55);margin-top:14px}

/* ── 주소 버튼 ── */
.llbk-addr-btn{background:var(--ll-ink);color:#fff;border:none;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer;border-radius:6px;font-family:inherit;white-space:nowrap;transition:background .18s;flex-shrink:0}
.llbk-addr-btn:hover{background:var(--ll-ink2)}

/* ── 카카오 팝업 ── */
#llbk-postcode-wrap{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:99999;align-items:center;justify-content:center}
#llbk-postcode-wrap.open{display:flex}
#llbk-postcode-inner{background:#fff;border-radius:10px;overflow:hidden;width:100%;max-width:500px;box-shadow:var(--ll-shadow-lg);position:relative}
#llbk-postcode-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:22px;cursor:pointer;color:#888;z-index:1;line-height:1}
#llbk-postcode-close:hover{color:#000}

/* ── 약관 모달 ── */
#llbk-terms-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.55);z-index:99999;align-items:center;justify-content:center}
#llbk-terms-modal.open{display:flex}

/* ── 우편번호 안내 ── */
.llbk-postal-notice{margin-top:6px;padding:9px 12px;border-radius:6px;font-size:13px;display:none;line-height:1.5}

/* ── 애니메이션 ── */
@keyframes llbk-fadein{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* ── 반응형 ── */
@media(max-width:600px){
  #llbk-stepper{padding:14px 14px 0}
  .llbk-panel{padding:22px 16px}
  .llbk-weight-grid{grid-template-columns:repeat(4,1fr)}
  .llbk-service-tabs{grid-template-columns:1fr}
  .llbk-btn-next,.llbk-btn-prev{padding:11px 18px;font-size:12px}
  .llbk-panel-title{font-size:22px}
}

/* ── 구매대행 결제 옵션 카드 ── */
.llbk-pay-option{border:1.5px solid var(--ll-border);background:var(--ll-white);border-radius:var(--ll-radius);padding:14px 16px;cursor:pointer;transition:all .2s;position:relative}
.llbk-pay-option::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--ll-lime);transform:scaleX(0);transition:transform .2s;transform-origin:left;border-radius:var(--ll-radius) var(--ll-radius) 0 0}
.llbk-pay-option:hover{border-color:var(--ll-lime-dark)}
.llbk-pay-option:hover::before{transform:scaleX(.5)}
.llbk-pay-option.active{border-color:var(--ll-lime);background:#f7fef0}
.llbk-pay-option.active::before{transform:scaleX(1)}

/* ── 구매대행 Step1 전용 ── */
#llbk-shipping-step1 .llbk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:14px}
#llbk-shipping-step1{margin-top:0}
.shipping-only{width:100%}
.purchase-only{width:100%}

/* ── 모바일 오버플로우 수정 ── */
#llbk-wrap,
#llbk-wrap * {
  max-width: 100%;
  box-sizing: border-box;
}
#llbk-wrap input,
#llbk-wrap select,
#llbk-wrap textarea,
#llbk-wrap button {
  max-width: 100%;
}

/* 서비스 선택 카드 모바일 */
@media (max-width: 600px) {
  .llbk-service-tabs {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .llbk-svc-tab {
    width: 100% !important;
  }

  /* 스텝바 글자 크기 */
  #llbk-stepper .llbk-label {
    font-size: 10px !important;
  }

  /* 그리드 1열로 */
  .llbk-grid {
    grid-template-columns: 1fr !important;
  }
  .llbk-field.llbk-full {
    grid-column: 1 !important;
  }

  /* 버튼 행 세로로 */
  .llbk-btn-row {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .llbk-btn-prev,
  .llbk-btn-next {
    width: 100% !important;
    text-align: center !important;
  }

  /* 결제방식/재포장 모바일 */
  .llbk-pay-grid,
  .llbk-repack-grid {
    grid-template-columns: 1fr !important;
  }
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns:1fr 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  /* 박스 무게 버튼 */
  .llbk-weight-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
  }
  .llbk-weight-btn {
    font-size: 11px !important;
    padding: 6px 4px !important;
  }

  /* 요약 테이블 */
  .llbk-sum-row {
    flex-direction: column !important;
    gap: 2px !important;
    align-items: flex-start !important;
  }
  .llbk-sum-row span:last-child {
    font-size: 13px !important;
    word-break: break-all !important;
  }

  /* 박스 카드 */
  .llbk-box-card {
    padding: 14px !important;
  }

  /* 구매대행 배송비 표 */
  .llbk-info-box table {
    font-size: 11px !important;
  }
  .llbk-info-box table td,
  .llbk-info-box table th {
    padding: 4px 6px !important;
  }

  /* 약관 모달 */
  #llbk-terms-modal > div {
    margin: 10px !important;
    max-height: 90vh !important;
  }

  /* 우편번호 팝업 */
  #llbk-postcode-wrap > div {
    margin: 10px !important;
  }
  #llbk-postcode-frame {
    height: 380px !important;
  }
}

/* ══ 가독성 보완 v2 ══ */

/* 라벨 가독성 */
.llbk-field label {
  color: var(--ll-ink2, #2d4a1a) !important;
  font-weight: 600 !important;
}

/* input 포커스 링 */
.llbk-field input:focus,
.llbk-field select:focus,
.llbk-field textarea:focus {
  outline: none;
  border-color: var(--ll-lime, #9DC938) !important;
  box-shadow: 0 0 0 3px rgba(157,201,56,.15) !important;
}

/* 박스 카드 구분 */
.llbk-box-card {
  border-left: 3px solid var(--ll-lime, #9DC938) !important;
}

/* 구매 아이템 카드 */
.llbk-purchase-item {
  border-left: 3px solid #7ab8e8 !important;
}

/* notice 박스 */
.llbk-notice {
  font-size: 13px !important;
  line-height: 1.6 !important;
}

/* 요약 행 글씨 - 어두운 배경이므로 흰색 유지 */
.llbk-sum-row {
  font-size: 13px !important;
}
.llbk-sum-row span:first-child {
  color: rgba(255,255,255,.45) !important;
  font-size: 12px !important;
}
.llbk-sum-row span:last-child {
  color: rgba(255,255,255,.85) !important;
  font-weight: 600 !important;
}

/* 총액 강조 */
.llbk-sum-total {
  font-size: 15px !important;
}
.llbk-sum-total strong,
.llbk-sum-total #s-total {
  font-size: 22px !important;
  color: var(--ll-lime-dark, #7aaa1a) !important;
}

/* 배송비 참고표 */
.llbk-info-box table th {
  font-size: 11px !important;
  font-weight: 700 !important;
}
.llbk-info-box table td {
  font-size: 12px !important;
}

/* 접수 완료 화면 */
.llbk-success-no {
  font-size: 18px !important;
  letter-spacing: .08em !important;
}
.llbk-success-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #fff !important;
}
.llbk-success-sub {
  font-size: 14px !important;
  color: rgba(255,255,255,.85) !important;
  line-height: 1.7 !important;
}

/* 모바일 추가 보완 */
@media (max-width: 480px) {
  .llbk-panel-title {
    font-size: 20px !important;
  }
  .llbk-panel-sub {
    font-size: 13px !important;
  }
  .llbk-service-tabs {
    grid-template-columns: 1fr !important;
  }
}

/* 서비스 카드 이모지 (CSS content - 인코딩 안전) */
.svc-icon-box::before  { content: "\1F4E6"; font-style: normal; }
.svc-icon-shop::before { content: "\1F6CD"; font-style: normal; }
