/* ==========================================================================
   견적문의 (2026-09-28) — 간편주문 write_c.php · 세부옵션주문 write_p.php (배포 위치 css/esti2026.css)
   예전 스크립트가 찾는 이름(.number·.form-check·.bottomType·.select_*·.design_plan.on·#plus_color_cnt 등)은 그대로 두고 모양만 입힘
   ========================================================================== */
.es-page{background:var(--bg)}

/* ---- 첫 화면 + 주문 방식 ---- */
.es-hero{padding:132px 0 34px;background:radial-gradient(760px 420px at 85% 0%,rgba(234,123,53,.14),transparent 62%),var(--bg)}
.es-hero-in{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.es-hero h1{font-size:76px;line-height:1;letter-spacing:-.05em;margin:16px 0 18px;font-weight:800}
.es-hero h1 em{font-style:normal;color:var(--orange)}
.es-hero .lead{max-width:640px;margin:0;color:rgba(245,239,230,.8);font-size:16.5px;line-height:1.8}
.es-kakao{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border-radius:18px;background:#FEE500;color:#191600;min-width:250px}
.es-kakao span{font-size:13px;opacity:.75}
.es-kakao b{font-size:16px}
.es-types{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.es-types a{position:relative;display:block;padding:24px 26px;border-radius:22px;border:1px solid var(--line-2);background:linear-gradient(180deg,var(--panel),var(--bg-2));transition:border-color .2s,transform .2s}
.es-types a:hover{transform:translateY(-3px);border-color:rgba(234,123,53,.5)}
.es-types a.active{border-color:var(--orange);background:radial-gradient(420px 200px at 100% 0%,rgba(234,123,53,.22),transparent 70%),linear-gradient(180deg,#2A2119,#1B1612)}
.es-types-k{font-size:11.5px;color:var(--orange);letter-spacing:.12em}
.es-types h4{margin:6px 0 6px;font-size:24px;letter-spacing:-.03em}
.es-types p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}
.es-types i{position:absolute;right:20px;top:20px;font-style:normal;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted)}
.es-types a.active i{background:var(--orange);color:#1a120b}

/* ---- 본문: 왼쪽 입력, 오른쪽 요약 ---- */
.es-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;padding-top:26px;padding-bottom:120px}
.es-form{display:flex;flex-direction:column;gap:16px;min-width:0}
.es-step{border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:28px 28px 30px;scroll-margin-top:150px}
.es-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.es-h .title-label{display:flex;align-items:center;gap:12px;margin:0;font-size:21px;font-weight:800;letter-spacing:-.03em;color:var(--text)}
.es-step .number{flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:var(--orange);color:#1a120b;font-family:var(--mono);font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.es-help{flex:0 0 32px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--muted);font:inherit;font-weight:800;cursor:pointer}
.es-help:hover{border-color:var(--orange);color:var(--orange)}
.es-desc{margin:10px 0 18px;color:var(--muted);font-size:14.5px;line-height:1.7}
.es-desc strong{color:var(--text)}
.es-desc-after{margin:14px 0 0;font-size:13px}
.es-keep{display:none}

/* 입력 칸 */
.es-page .form-group label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin:0 0 7px}
.es-page .form-group label i{font-style:normal;color:var(--orange)}
.es-page .form-control,.es-page .form-select{width:100%;height:50px;border-radius:13px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--text);padding:0 15px;font:inherit;font-size:15.5px;outline:0;transition:border-color .15s,background .15s}
.es-page textarea.form-control{height:110px;padding:13px 15px;resize:vertical;line-height:1.6}
.es-page .form-control:focus,.es-page .form-select:focus{border-color:var(--orange);background:rgba(234,123,53,.06)}
.es-page .form-control[readonly]{cursor:default}
.es-page .form-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23A79D91' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:12px;padding-right:40px}
.es-page .form-select option{background:#1B1815;color:#F5EFE6}
.es-page ::placeholder{color:var(--dim)}
.es-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.es-unit{position:relative}
.es-unit span{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:12.5px;color:var(--dim);pointer-events:none}
.es-unit input{padding-right:46px}

/* 박스 유형 */
.es-boxes{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.es-box input{display:none}
.es-box .radio_box{position:relative;border:1px solid var(--line-2);border-radius:18px;background:var(--bg-2);padding:10px 10px 12px;text-align:center;transition:border-color .2s,transform .2s,box-shadow .2s;height:100%}
.es-box .radio_box:hover{border-color:rgba(234,123,53,.55);transform:translateY(-2px)}
.es-box-img{aspect-ratio:1/1;border-radius:12px;background:#F4EEE6;display:flex;align-items:center;justify-content:center;overflow:hidden}
.es-box-img img{width:86%;height:86%;object-fit:contain}
.es-box .radio_box > span{display:block;margin:10px 0 2px;font-weight:800;font-size:16px}
.es-box label{position:absolute;inset:0;margin:0;cursor:pointer;border-radius:18px}
.es-box label em{position:absolute;left:10px;top:10px;font-style:normal;font-size:11.5px;font-weight:800;padding:3px 8px;border-radius:999px;background:rgba(20,18,16,.72);color:#F5EFE6;opacity:0;transition:opacity .2s}
.es-box .radio_box:hover label em{opacity:1}
.es-box a{position:relative;z-index:2;display:inline-block;margin-top:2px;font-size:12.5px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.es-box a:hover{color:var(--orange)}
.es-box input:checked + .radio_box{border-color:var(--orange);box-shadow:0 0 0 3px rgba(234,123,53,.18);background:linear-gradient(180deg,#2A2119,#1B1612)}
.es-box input:checked + .radio_box label em{opacity:1;background:var(--orange);color:#1a120b}
.es-box input:checked + .radio_box label em::before{content:"✓ "}

/* 크기 */
.es-size{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center}
.es-size-art{width:100%;height:auto}
.es-size-in{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}

/* 옵션 카드(세부옵션) */
.es-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;align-items:start}
.es-opt input{display:none}
.es-opt label{display:flex;flex-direction:column;gap:9px;margin:0;padding:9px 9px 12px;border:1px solid var(--line-2);border-radius:16px;background:var(--bg-2);cursor:pointer;text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s}
.es-opt label:hover{border-color:rgba(234,123,53,.55);transform:translateY(-2px)}
.es-opt-img{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border-radius:11px;background:#F4EEE6;overflow:hidden}
.es-opt-img img{width:100%;height:100%;object-fit:cover}
.es-opt-img.none{background:rgba(255,255,255,.04);border:1px dashed var(--line-2);color:var(--dim);font-size:13px;font-weight:700}
.es-opt-t{font-weight:700;font-size:14.5px;color:var(--text)}
.es-opt input:checked + label{border-color:var(--orange);box-shadow:0 0 0 3px rgba(234,123,53,.18);background:linear-gradient(180deg,#2A2119,#1B1612)}
.es-opt input:checked + label .es-opt-t{color:var(--orange)}
.es-opt input:checked + label .es-opt-t::before{content:"✓ "}
.es-opt .paper_type_sub{margin-top:8px;height:44px;font-size:14.5px}
.paper_thick_items .es-opt-img{aspect-ratio:3/2;background:#fff}
.paper_thick_items .es-opt-img img{object-fit:contain;padding:6px}
.es-opts-color{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
#plus_color_cnt{display:none;align-self:center;height:50px}

/* 디자인 플랜 */
.es-plans{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.es-plans input{display:none}
.es-plans label{display:block;margin:0;cursor:pointer}
.es-plans .design_plan{height:100%;border:1px solid var(--line-2);border-radius:18px;padding:16px 16px 14px;background:var(--bg-2);transition:border-color .2s,box-shadow .2s,transform .2s}
.es-plans label:hover .design_plan{border-color:rgba(234,123,53,.55);transform:translateY(-2px)}
.es-plans .design_plan h3{margin:0;font-size:13px;font-family:var(--mono);color:var(--orange);letter-spacing:.04em}
.es-plans .design_plan .plan_price{margin:8px 0 0;font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--text)}
.es-plan-d{margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--line-2);font-size:13px;line-height:1.5;color:var(--muted)}
.es-plan-d small{display:block;margin-top:4px;color:var(--dim);font-size:12px}
.es-plans .design_plan.on{border-color:var(--orange);box-shadow:0 0 0 3px rgba(234,123,53,.18);background:radial-gradient(260px 140px at 100% 0%,rgba(234,123,53,.22),transparent 70%),#1B1612}
.es-plans .design_plan.on h3::after{content:"  ✓ 선택";color:var(--text)}

/* 수량·금액 */
.es-money input{font-size:22px;font-weight:800;color:var(--orange);letter-spacing:-.02em;height:56px;background:rgba(234,123,53,.07);border-color:rgba(234,123,53,.35)}
.es-qty .es-grid2{align-items:end}
.es-qty label small{font-weight:600;color:var(--dim)}
.es-min{margin:14px 0 0;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);font-size:13.5px;color:var(--text)}
.es-min.low{background:rgba(255,106,90,.1);border-color:rgba(255,106,90,.5);color:#ff9d8f;font-weight:700}
.es-min[hidden]{display:none}

/* 디자인 파일 */
.es-note{margin:12px 0 16px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.7}
.es-note p{margin:0}
.es-note ul{margin:8px 0 10px;padding-left:18px}
.es-note strong{color:var(--text)}
.file-upload-select{display:flex;align-items:center;gap:14px;padding:12px;border:1.5px dashed var(--line-2);border-radius:16px;cursor:pointer;transition:border-color .2s,background .2s}
.file-upload-select:hover{border-color:var(--orange);background:rgba(234,123,53,.05)}
.file-select-button{flex:0 0 auto;height:44px;padding:0 18px;border-radius:12px;background:var(--orange);color:#1a120b;font-weight:800;display:inline-flex;align-items:center;gap:6px}
.file-select-name{color:var(--muted);font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.file-upload-select input[type="file"]{display:none}

/* 개인정보 동의·버튼 */
.es-privacy{border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:20px 24px}
.es-privacy > input{display:none}
.es-privacy .title-label{display:flex;align-items:center;gap:12px;margin:0;font-size:17px;font-weight:800;cursor:pointer}
.es-privacy .title-label i{font-style:normal;color:var(--orange);font-size:13px}
.es-privacy .checkbox{width:26px;height:26px;border-radius:8px;border:1.5px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;color:transparent;font-weight:900;transition:all .15s}
.es-privacy > input:checked + label .checkbox{background:var(--orange);border-color:var(--orange);color:#1a120b}
.es-privacy .show_provision{display:inline-block;margin:10px 0 0 38px;color:var(--muted);font-size:13.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.es-privacy .privacy_all{display:none;margin-top:12px;padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.75;max-height:260px;overflow-y:auto}
.es-btns{display:flex;gap:10px;justify-content:center;padding-top:8px}
.es-btns .btn{min-width:180px;height:58px;font-size:17px}

/* 요약(넓은 화면 오른쪽, 따라 내려옴) */
.es-aside{position:sticky;top:100px}
.es-sum{border:1px solid var(--line-2);border-radius:24px;background:linear-gradient(180deg,#221D18,#191512);padding:22px 22px 20px}
.es-sum-h{display:flex;flex-direction:column;gap:3px;padding-bottom:14px;border-bottom:1px dashed var(--line-2)}
.es-sum-h span{font-size:11px;color:var(--orange);letter-spacing:.14em}
.es-sum-h b{font-size:19px;letter-spacing:-.02em}
.es-sum-money{margin:16px 0 4px;padding:16px;border-radius:16px;background:rgba(234,123,53,.08);border:1px solid rgba(234,123,53,.3)}
.es-sum-money span{display:block;font-size:12.5px;color:var(--muted)}
.es-sum-money b{display:block;margin:4px 0 2px;font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--dim)}
.es-sum-money b.on{color:var(--orange)}
.es-sum-money b.on::after{content:" 원";font-size:15px;color:var(--muted)}
.es-sum-money small{font-size:11.5px;color:var(--dim);line-height:1.5;display:block}
.es-sum dl{margin:12px 0 0;display:flex;flex-direction:column}
.es-sum dl > div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.es-sum dl > div[hidden]{display:none}
.es-sum dt{color:var(--dim);flex:0 0 auto}
.es-sum dl b{text-align:right;color:var(--dim);font-weight:600;word-break:keep-all}
.es-sum dl > div.done b{color:var(--text)}
.es-sum-note{margin:14px 0 0;font-size:12.5px;line-height:1.65;color:var(--dim)}
.es-sum-btn{width:100%;margin-top:16px;height:52px}
.es-mbar{display:none}

/* ---- 도움말 창(부트스트랩 스크립트용 최소 스타일) ---- */
.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}
.modal-dialog{position:relative;width:auto;margin:1.75rem auto;max-width:720px;pointer-events:none}
.modal-lg{max-width:960px}
.modal.fade .modal-dialog{transition:transform .25s ease-out;transform:translateY(-30px)}
.modal.show .modal-dialog{transform:none}
.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 3.5rem)}
.modal-dialog-scrollable{height:calc(100% - 3.5rem)}
.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}
.modal-dialog-scrollable .modal-body{overflow-y:auto}
.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:#1B1815;color:var(--text);border:1px solid var(--line-2);border-radius:24px;box-shadow:0 40px 100px rgba(0,0,0,.5)}
.modal-body{position:relative;flex:1 1 auto;padding:30px 30px 26px}
.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background:#0a0908}
.modal-backdrop.fade{opacity:0}
.modal-backdrop.show{opacity:.72}
.fade{transition:opacity .15s linear}
.fade:not(.show){opacity:0}
body.modal-open{overflow:hidden}
.es-modal .close{position:sticky;top:0;float:right;z-index:3;width:40px;height:40px;margin:-10px -10px 0 0;border-radius:12px;border:1px solid var(--line-2);background:rgba(20,18,16,.9);color:var(--text);font-size:22px;cursor:pointer}
.es-mh{margin-bottom:18px}
.es-mh span{font-size:11.5px;color:var(--orange);letter-spacing:.14em}
.es-mh h2{margin:6px 0 6px;font-size:26px;letter-spacing:-.03em}
.es-mh p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.7}
.es-bt-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.es-bt-list li{display:block}
.es-bt-list li > div{border-radius:14px;overflow:hidden;background:#F4EEE6}
.es-bt-list img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain}
.es-bt-list p{margin:0;padding:8px;background:#211E1A;color:var(--text);font-weight:700;font-size:13.5px;text-align:center}
.option_info h3{display:inline-block;margin:0 0 8px;font-size:15px;font-weight:800;color:#1a120b;background:var(--orange);padding:3px 12px;border-radius:999px}
.option_info h6{margin:0 0 8px;font-size:13.5px;color:var(--muted);font-weight:600}
.option_info p{margin:0;font-size:14.5px;line-height:1.7;color:rgba(245,239,230,.86)}
.option_info p strong{display:block;margin-bottom:5px;font-weight:800;color:var(--text)}
.option_info .text-muted{display:block;margin-top:8px;font-size:13px;line-height:1.5;color:var(--dim)}
.es-hi{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.es-hi:last-of-type{border-bottom:0}
.es-hi-img{display:grid;grid-template-columns:1fr;gap:8px}
.es-hi-img.two{grid-template-columns:1fr 1fr}
.es-hi-img img{width:100%;border-radius:12px;display:block}
.es-hi-thick .es-hi-img img{background:#fff;padding:6px;max-height:120px;object-fit:contain}
.es-hi-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center}
.es-hi-3 img{width:100%;border-radius:12px;display:block;margin-bottom:12px;background:#fff}
.es-hi-4{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.es-hi-4 img{width:100%;border-radius:12px;display:block}
.es-hi-foot{margin:16px 0 0;text-align:center;color:var(--orange);font-size:14px}
.es-hi-foot a{color:var(--text);text-decoration:underline;text-underline-offset:3px;margin-left:6px}
.es-dp{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.es-dp-card{border:1px solid var(--line-2);border-radius:18px;padding:18px;background:var(--bg-2)}
.es-dp-card span{font-size:12.5px;color:var(--orange)}
.es-dp-card b{display:block;margin:6px 0 4px;font-size:26px;letter-spacing:-.03em}
.es-dp-card b small{font-size:14px;color:var(--muted);margin-left:2px}
.es-dp-card em{display:block;font-style:normal;font-size:12.5px;color:var(--muted)}
.es-dp-card ul{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px dashed var(--line-2);display:flex;flex-direction:column;gap:7px}
.es-dp-card li{font-size:13.5px;line-height:1.5;color:rgba(245,239,230,.86);padding-left:14px;position:relative}
.es-dp-card li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--orange)}

/* ---- 화면 폭별 ---- */
@media (max-width:1180px){
  .es-wrap{grid-template-columns:1fr}
  .es-aside{display:none}
  .es-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:75;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:rgba(20,18,16,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line-2)}
  .es-mbar span{display:block;font-size:11.5px;color:var(--dim)}
  .es-mbar b{display:block;font-size:17px;font-weight:800;color:var(--dim)}
  .es-mbar b.on{color:var(--orange)}
  .es-mbar b.on::after{content:" 원";font-size:13px;color:var(--muted)}
  .es-mbar .btn{height:46px;min-width:110px}
  .es-page .kakao-fab,.es-page .top-fab{bottom:88px}
  .es-wrap{padding-bottom:110px}
  .es-boxes{grid-template-columns:repeat(4,1fr)}
  .es-plans{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
  .es-hero{padding:100px 0 22px}
  .es-hero h1{font-size:50px}
  .es-hero .lead{font-size:15px}
  .es-kakao{width:100%}
  .es-types{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .es-types a{padding:16px 14px;border-radius:18px}
  .es-types h4{font-size:18px}
  .es-types p{font-size:12.5px}
  .es-types p br{display:none}
  .es-types i{position:static;display:inline-block;margin-top:10px}
  .es-step{padding:20px 16px 22px;border-radius:20px}
  .es-h .title-label{font-size:18px}
  .es-boxes{grid-template-columns:repeat(3,1fr);gap:8px}
  .es-box .radio_box{padding:7px 7px 9px;border-radius:14px}
  .es-box .radio_box > span{font-size:14.5px;margin-top:7px}
  .es-size{grid-template-columns:1fr}
  .es-size-art{max-width:200px;margin:0 auto}
  .es-size-in{grid-template-columns:1fr}
  .es-grid2{grid-template-columns:1fr}
  .es-opts{grid-template-columns:repeat(2,1fr);gap:8px}
  .es-page .form-control,.es-page .form-select{font-size:16px}
  .es-plans{grid-template-columns:1fr 1fr;gap:8px}
  .es-plans .design_plan .plan_price{font-size:20px}
  .es-btns .btn{min-width:0;flex:1}
  .modal-dialog{margin:.5rem}
  .modal-dialog-centered{min-height:calc(100% - 1rem)}
  .modal-dialog-scrollable{height:calc(100% - 1rem)}
  .modal-body{padding:22px 16px}
  .es-bt-list{grid-template-columns:repeat(2,1fr)}
  .es-hi{grid-template-columns:1fr}
  .es-hi-3,.es-dp{grid-template-columns:1fr}
}
