
:root{
  --bg:#FFFFFF; --ink:#111111; --ink2:#555; --mut:#999; --line:#EAEAEA; --line2:#F3F3F3; --soft:#F7F7F5;
  --green:#FD8D1C; --green-d:#E67C10; --green-bg:#FFF1E3; --accent:#FD8D1C;
  --wrap:1600px;
  --sh:0 12px 40px rgba(0,0,0,.1); --sh-s:0 6px 20px rgba(0,0,0,.07);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:0;background:none}
input,select,textarea{font-family:inherit}
em{font-style:normal}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4;font-weight:700;font-size:14px;padding:14px 28px;transition:.18s;border:1.5px solid var(--ink);border-radius:12px}
.btn-line{background:transparent;color:var(--ink)}.btn-line:hover{background:var(--ink);color:#fff}
.btn-dark{background:var(--ink);color:#fff}

/* 헤더 (전 페이지 공통 — petania_cart.css와 동일) */
.notice{background:#FD8D1C;color:#fff;font-size:12.5px;text-align:center;padding:9px 0;letter-spacing:.02em}
.notice b{color:#fff}
header.site{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;height:88px;gap:34px}
.logo{flex-shrink:0}
.logo b{font-size:24px;font-weight:900;letter-spacing:-.02em;display:block;line-height:1}
.logo .sub{font-size:9px;font-weight:700;letter-spacing:.22em;color:var(--mut);display:block;margin-top:3px}
.search{flex:1;margin:0;position:relative}
.search input{width:100%;height:46px;border:1px solid var(--line);border-radius:23px;padding:0 50px 0 20px;font-size:14.5px;outline:none}
.search button{position:absolute;right:5px;top:5px;width:36px;height:36px;border-radius:50%;background:#FD8D1C;color:#fff;display:flex;align-items:center;justify-content:center}
.search button svg{width:20px;height:20px}
.hd-util{display:flex;align-items:center;gap:24px;flex-shrink:0}
.hd-ico{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--ink2);font-weight:600;position:relative}
.hd-ico svg{width:24px;height:24px;color:var(--ink)}
.hd-ico .bdg{position:absolute;top:-6px;right:2px;background:var(--accent);color:#fff;font-size:10px;font-weight:800;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.hd-sep{width:1px;height:34px;background:var(--line)}
.hd-comm{position:relative;display:flex}
.hd-comm .submenu{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:8px;min-width:170px;opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;z-index:80}
.hd-comm .submenu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.hd-comm:hover .submenu{opacity:1;visibility:visible}
.hd-comm .submenu a{display:block;text-align:center;padding:11px 14px;font-size:13.5px;font-weight:600;color:var(--ink2);border-radius:9px;white-space:nowrap}
.hd-comm .submenu a:hover{background:var(--soft);color:var(--ink)}
.hd-cta{display:flex;flex-direction:row;gap:8px}
.hd-cta a{font-size:13px;font-weight:800;text-align:center;padding:11px 20px;border:1.5px solid var(--ink);border-radius:999px;white-space:nowrap;transition:.15s}
.hd-cta .apply{background:var(--ink);color:#fff}.hd-cta .apply:hover{background:#333}
.hd-cta .ask{background:#fff;color:var(--ink)}.hd-cta .ask:hover{background:var(--soft)}
.gnb{border-bottom:1px solid var(--line)}
.gnb .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.gnb a{font-size:16.5px;font-weight:700;color:var(--ink);padding:10px 6px;white-space:nowrap;letter-spacing:.01em}
.gnb a.on,.gnb a:hover{color:var(--accent)}
.hd-mb{display:none;align-items:center;height:58px;gap:12px}
.m-menu{width:26px;height:26px}
.hd-mb .m-right{margin-left:auto;display:flex;gap:14px}
.hd-mb .m-right a{position:relative}
.hd-mb .m-right svg{width:24px;height:24px}
.mb-search{display:none;padding:0 18px 12px}
.mb-search .box{position:relative}
.mb-search input{width:100%;height:46px;border:2px solid var(--ink);border-radius:23px;padding:0 46px 0 18px;font-size:14px;outline:none}
.mb-search button{position:absolute;right:5px;top:5px;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center}
.m-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:80}
.m-side{position:fixed;top:0;left:0;width:82%;max-width:330px;height:100%;background:#fff;z-index:90;transform:translateX(-100%);transition:.3s;overflow-y:auto;padding:24px 24px 60px}
.m-side.on{transform:translateX(0)}
.m-side .m-close{position:absolute;top:18px;right:20px;font-size:20px}
.m-side .m-logo{font-size:20px;font-weight:900;margin-bottom:24px}
.m-auth{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px}
.m-auth .btn{padding:12px 0;width:100%;font-size:13px;border-radius:11px}
.m-side .dm{list-style:none}
.m-side .dm a{display:block;padding:14px 2px;font-size:15px;font-weight:700;border-bottom:1px solid var(--line2)}
.m-side .dm a.hot{color:var(--accent)}
.member-only{display:none}
body.member .guest-only{display:none}
body.member .member-only{display:block}
body.member .hd-ico.member-only{display:flex}

/* 페이지 헤딩 + 진행 단계(장바구니→cart.php와 동일 패턴 재사용) */
.ct-head{padding:40px 0 24px;text-align:center}
.ct-head h1{font-size:30px;font-weight:900;letter-spacing:-.03em}
.ct-steps{display:flex;justify-content:center;gap:12px;margin-top:16px;font-size:13px;font-weight:700;color:var(--mut)}
.ct-steps b{color:var(--ink)}
.ct-steps span{color:var(--line)}

/* ══════════════════════════════════════════════════════════════
   주문서 (orderform.sub.php) — 그누보드5/영카트5 기본 마크업을
   클래스/구조 변경 없이 CSS만으로 재스킨. (2026-07-10)
   ══════════════════════════════════════════════════════════════ */
.container{max-width:var(--wrap);margin:0 auto;padding:0 30px 100px}
#forderform{display:block}
#sod_frm.sod_frm_pc{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}
.od_prd_list{grid-column:1/-1;min-width:0}
.sod_left{grid-column:1;min-width:0}
.sod_right{grid-column:2;min-width:0;position:sticky;top:210px}

/* ── css/default_shop.css(그누보드 기본 주문서 스타일, head.sub.php가 항상 로드) 충돌 무력화 ─────────────
   orderform.php는 이 파일이 처음 적용되는 페이지라 지금까지 아무도 이 충돌을 다룬 적이 없었음.
   default_shop.css는 .sod_left/.sod_right에 고정폭(840px/340px) float 2단 레이아웃, 특정 입력창(#od_name 등)에
   width:40%, 결제수단 라벨에 width:50%+아이콘 배경, 결제정보 h2에 font-size:0(숨김) 등을 지정해 두고 있어서
   그리드·필드·헤딩이 전부 깨져 보였음(스크린샷 확인). 전부 !important로 무력화. */
.sod_left,.sod_right{width:auto!important;float:none!important;height:auto!important;margin-right:0!important}
#sod_frm #od_name,#sod_frm #od_tel,#sod_frm #od_hp,#sod_frm #od_pwd,
#sod_frm #od_b_name,#sod_frm #od_b_tel,#sod_frm #od_b_hp,
#sod_frm #ad_subject,#sod_frm #od_hope_date{width:100%!important;max-width:440px!important}
#sod_frm .tbl_frm01.tbl_wrap,#sod_frm_taker .tbl_frm01.tbl_wrap{padding:0!important}
#sod_frm .tbl_frm01.tbl_wrap th{width:auto!important}
.sod_img{position:static!important}
#sod_list tbody td{border-top:0!important;border-left:0!important}
/* 결제정보 h2가 font-size:0·position:absolute로 숨겨져 있던 것 복원 + 전 섹션 헤딩 통일 */
#sod_frm section h2,#sod_frm #sod_frm_pay h2{
  position:static!important;font-size:17px!important;font-weight:800!important;line-height:1.4!important;
  padding:0 0 14px!important;margin:0 0 18px!important;border:0!important;border-bottom:1px solid var(--line2)!important;
  color:var(--ink)!important
}
/* 결제수단 필 버튼 — 기본 CSS가 width:50%·float·고정 아이콘 배경(존재하지 않는 이미지)을 지정해 둔 것 무력화 */
#od_pay_sl .lb_icon,#sod_frm_paysel label.lb_icon{
  float:none!important;width:auto!important;height:auto!important;margin:0!important;
  position:static!important;padding:13px 18px!important;background:#fff!important
}
#settle_bank{border:0!important;clear:none!important;line-height:1.6!important}
#settle_bank label{float:none!important;width:auto!important;display:inline-block!important}
#settle_bank select,#settle_bank input{
  width:100%!important;max-width:260px!important;height:auto!important;margin:0 0 8px!important;
  border:1.5px solid var(--line)!important;border-radius:10px!important;padding:10px 14px!important
}
#od_tot_price{background:transparent!important}
/* 결제수단 영역·요약박스에 중첩으로 씌워지던 기본 테두리 제거(섹션 카드 테두리와 이중으로 보이던 문제) */
#forderform .od_pay_buttons_el{margin-top:0!important;border:0!important;background:transparent!important;padding:0!important}
.sod_right .pay_tbl,.sod_right #od_tot_price{border:0!important}

/* 주문상품 확인 테이블 */
.tbl_head03.od_prd_list{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--sh-s);margin-bottom:0}
#sod_list{width:100%;border-collapse:collapse}
#sod_list thead th{background:var(--soft);font-size:12px;font-weight:800;color:var(--ink2);padding:14px 12px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}
#sod_list tbody td{padding:18px 12px;border-bottom:1px solid var(--line2);font-size:13.5px;text-align:center;vertical-align:middle}
#sod_list tbody tr:last-child td{border-bottom:0}
.td_prd{display:flex!important;align-items:center;gap:14px;text-align:left!important;padding-left:18px!important}
.sod_img{width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--soft);flex-shrink:0}
.sod_img img{width:100%!important;height:100%!important;object-fit:cover}
.sod_name{font-size:14px;min-width:0}
.sod_name b{font-weight:700}
.sod_opt{font-size:12px;color:var(--mut);margin-top:4px;line-height:1.5}
.cp_btn,.cp_cancel{display:inline-block;margin-top:8px;border:1.5px solid var(--line);border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:700;background:#fff;color:var(--ink2)}
.cp_btn:hover,.cp_cancel:hover{border-color:var(--ink);color:var(--ink)}
.total_price{font-weight:700}

/* 섹션 카드 공통(주문자/받는분/결제정보/에스크로) */
.sod_left section,.sod_right section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px;margin-top:20px}
.sod_left section:first-child{margin-top:20px}
.sod_left section h2,.sod_right section h2{font-size:17px;font-weight:800;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line2)}

/* 라벨-값 테이블(tbl_frm01) → 세로 스택 카드 폼으로 재구성 */
.tbl_frm01.tbl_wrap table{width:100%;border-collapse:collapse}
.tbl_frm01.tbl_wrap tbody{display:block}
.tbl_frm01.tbl_wrap tr{display:block;margin-bottom:18px}
.tbl_frm01.tbl_wrap tr:last-child{margin-bottom:0}
.tbl_frm01.tbl_wrap th{display:block;text-align:left;font-size:13.5px;font-weight:800;margin-bottom:8px;color:var(--ink)}
.tbl_frm01.tbl_wrap td{display:block}
.tbl_frm01.tbl_wrap .frm_input,
.pay_tbl select,
#settle_bank select,
.tbl_frm01.tbl_wrap select{
  width:100%;max-width:440px;border:1.5px solid var(--line);border-radius:12px;padding:12px 15px;
  font-size:13.5px;outline:none;transition:.15s;background:#fff;color:var(--ink)
}
.tbl_frm01.tbl_wrap .frm_input:focus,.tbl_frm01.tbl_wrap select:focus{border-color:var(--ink)}
.tbl_frm01.tbl_wrap .frm_input.frm_address{margin-top:8px;display:block}
.tbl_frm01.tbl_wrap .frm_info{display:block;font-size:12px;color:var(--mut);margin-bottom:6px}
.tbl_frm01.tbl_wrap .btn_address{margin-left:8px;border:1.5px solid var(--ink);border-radius:10px;padding:0 16px;height:44px;font-size:13px;font-weight:700;background:#fff;vertical-align:middle;white-space:nowrap}
.tbl_frm01.tbl_wrap .btn_address:hover{background:var(--ink);color:#fff}
#od_zip,#od_b_zip{width:140px!important;display:inline-block;vertical-align:middle}
.tbl_frm01 input[type=radio]{width:auto;margin-right:6px;vertical-align:middle;accent-color:var(--accent)}
.tbl_frm01 input[type=radio]+label{font-size:13.5px;font-weight:600;margin-right:18px;vertical-align:middle;cursor:pointer}
.order_choice_place{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
/* 배송메시지 select/textarea는 원본에 인라인 style(width/height)이 박혀 있어 !important로만 재스킨 가능 */
#od_memo_select,#od_memo{
  width:100%!important;max-width:440px!important;height:auto!important;
  border:1.5px solid var(--line)!important;border-radius:12px!important;
  padding:12px 15px!important;font-size:13.5px!important;margin:0 0 10px!important;
  background:#fff!important;font-family:inherit!important;line-height:1.6!important
}

/* 보호소 배송 안내(JS로 삽입 — petania_orderform.js) */
.pt-ship-note{background:var(--green-bg);color:var(--green-d);border-radius:12px;padding:12px 16px;font-size:12.5px;line-height:1.6;margin:-6px 0 18px;font-weight:600}

/* 주문상품 합계(sod_right 상단 요약) */
#sod_bsk_tot{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 22px;box-shadow:var(--sh-s)}
#sod_bsk_tot ul{list-style:none}
#sod_bsk_tot li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13.5px;color:var(--ink2)}
#sod_bsk_tot li strong{color:var(--ink);font-weight:700}
#sod_bsk_tot li.sod_bsk_cnt{border-top:2px solid var(--ink);margin-top:8px;padding-top:16px;font-size:14.5px;font-weight:800;color:var(--ink)}
#sod_bsk_tot li.sod_bsk_cnt strong{font-size:22px;font-weight:900;color:var(--accent)}

/* 결제정보 섹션 */
.pay_tbl table{width:100%;border-collapse:collapse}
.pay_tbl tbody{display:block}
.pay_tbl tr{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line2);font-size:13px}
.pay_tbl tr:last-child{border-bottom:0}
.pay_tbl th{font-weight:700;color:var(--ink2)}
.btn_frmline{margin-left:10px;border:1.5px solid var(--ink);border-radius:8px;padding:5px 12px;font-size:12px;font-weight:700;background:#fff}
.btn_frmline:hover{background:var(--ink);color:#fff}
#od_tot_price{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;margin:14px 0 18px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
#od_tot_price span{font-size:13.5px;font-weight:700;color:var(--ink2)}
#od_tot_price strong{font-size:24px;font-weight:900;color:var(--accent)}

/* 결제수단 선택 — 라디오+라벨을 선택형 필(pill) 버튼으로 */
#od_pay_sl h3{font-size:14px;font-weight:800;margin-bottom:12px}
#sod_frm_pt_alert{font-size:12px;color:var(--green-d);background:var(--green-bg);border-radius:10px;padding:10px 14px;margin-bottom:14px;line-height:1.6}
#sod_frm_paysel{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
#sod_frm_paysel legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#sod_frm_paysel input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
#sod_frm_paysel label.lb_icon{display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:13px 18px;border:1.5px solid var(--line);border-radius:12px;font-size:13.5px;font-weight:700;cursor:pointer;transition:.15s;color:var(--ink2);text-align:center}
#sod_frm_paysel label.lb_icon:hover{border-color:var(--ink);color:var(--ink)}
#sod_frm_paysel input[type=radio]:checked + label.lb_icon{border-color:var(--accent)!important;background:var(--green-bg)!important;color:var(--green-d)!important}
#sod_frm_paysel input[type=radio]:focus-visible + label.lb_icon{outline:2px solid var(--accent);outline-offset:2px}

/* 무통장/가상계좌 등 조건부 상세 입력(표시 여부는 JS의 inline display가 그대로 제어) */
#settle_bank{margin-top:16px;padding:16px 18px;background:var(--soft);border-radius:12px}
#settle_bank input,#settle_bank select{margin-top:8px}
#settle_bank input{border:1.5px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13px;width:100%;max-width:260px}
#settle_bank label{font-size:12.5px;font-weight:700;color:var(--ink2);display:inline-block;margin-top:10px}

/* 포인트 사용 */
.sod_frm_point{background:var(--soft);border-radius:12px;padding:16px 18px;margin-top:14px}
.sod_frm_point label{font-size:13px;font-weight:700}
.sod_frm_point input{width:90px;border:1.5px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;text-align:right;margin:0 4px}
#sod_frm_pt{display:flex;flex-wrap:wrap;gap:14px 22px;font-size:12.5px;color:var(--ink2);margin-top:10px}
#sod_frm_pt strong{color:var(--ink);margin-right:4px}
.max_point_box em{color:var(--accent);font-weight:700}

/* 최종 주문 버튼 (모든 PG 공통 .btn_submit/.btn01) */
.btn_confirm{display:flex;gap:12px;margin-top:24px}
.btn_submit{flex:1;height:58px;background:var(--accent);color:#fff;border:0;border-radius:14px;font-size:16px;font-weight:800;cursor:pointer;transition:.15s}
.btn_submit:hover{background:var(--green-d)}
.btn01{display:inline-flex;align-items:center;justify-content:center;height:58px;padding:0 26px;border:1.5px solid var(--line);border-radius:14px;font-size:14px;font-weight:700;color:var(--ink2);background:#fff;white-space:nowrap}
.btn01:hover{border-color:var(--ink);color:var(--ink)}
#display_pay_process{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:16px;font-size:13px;color:var(--ink2)}
#display_pay_process img{width:20px;height:20px}

/* 에스크로 등 기타 섹션의 원시 테이블 안전망 */
.sod_left section table,.sod_right section table{width:100%}
.sod_left section td,.sod_right section td{padding:6px 0;font-size:13px;line-height:1.7}

/* 푸터 (전 페이지 공통) */
footer.site{background:#0E0E0E;color:#999;padding:60px 0 34px;margin-top:60px}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1)}
.ft-brand b{font-size:20px;font-weight:900;color:#fff}
.ft-brand p{font-size:12.5px;line-height:1.7;margin-top:14px;max-width:290px}
.ft-col h4{font-size:12.5px;font-weight:800;color:#fff;margin-bottom:15px;letter-spacing:.05em}
.ft-col a{display:block;font-size:12.5px;padding:5px 0;color:#999}.ft-col a:hover{color:#fff}
.ft-biz{padding-top:26px;font-size:11.5px;line-height:1.9;color:#777}
.ft-copy{margin-top:12px;font-size:11px;color:#5a5a5a}

.toast{position:fixed;left:50%;bottom:34px;transform:translate(-50%,20px);background:var(--ink);color:#fff;font-size:13.5px;font-weight:700;padding:13px 22px;border-radius:999px;box-shadow:var(--sh);z-index:140;opacity:0;pointer-events:none;transition:.25s;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1080px){
  #sod_frm.sod_frm_pc{grid-template-columns:1fr}
  .od_prd_list,.sod_left,.sod_right{grid-column:1}
  .sod_right{position:static}
  .ft-top{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .notice,.hd,.gnb{display:none}
  .hd-mb{display:flex}.mb-search{display:block}
  .wrap,.container{padding:0 18px}
  .container{padding-bottom:80px}
  .ct-head{padding:26px 0 18px}.ct-head h1{font-size:23px}
  #sod_list thead{display:none}
  #sod_list tbody tr{display:block;padding:14px 0;border-bottom:1px solid var(--line2)}
  #sod_list tbody td{display:block;text-align:left!important;padding:4px 0;border-bottom:0}
  .td_prd{padding-left:0!important}
  .sod_left section,.sod_right section{padding:20px 18px}
  #sod_frm_paysel label.lb_icon{min-width:0;flex:1 1 auto}
  .btn_confirm{flex-direction:column-reverse}
  .ft-top{grid-template-columns:1fr 1fr;gap:24px}
}

/* ===== [Peternia · 로고만 유지 / 색상 원복] 2026-07-08 ===== */
.logo{display:flex;align-items:center}
.logo-img{height:42px;width:auto;display:block}
.logo-img-m{height:30px;width:auto;display:block}

/* ===== [Peternia 푸터/드로어 · 로고만 유지] 2026-07-08 ===== */
.ft-brand .ft-logo-link{display:inline-block;margin-bottom:2px}
.ft-logo{height:38px;width:auto;display:block}
.m-logo{display:flex;align-items:center;margin-bottom:24px}
.m-logo-img{height:30px;width:auto;display:block}
/* ===== [Peternia 한글 줄바꿈 정리 · 단어단위 개행] 2026-07-08 ===== */
body{word-break:keep-all;overflow-wrap:break-word}
/* [드로어 로그인/회원가입 오렌지 · 2026-07-08] */
.m-side .m-auth .btn-line{border-color:#FD8D1C;color:#FD8D1C;background:#fff}
.m-side .m-auth .btn-line:hover{background:#FD8D1C;color:#fff}
.m-side .m-auth .btn-dark{background:#FD8D1C;border-color:#FD8D1C;color:#fff}
.m-side .m-auth .btn-dark:hover{background:#E67C10;border-color:#E67C10}
/* [모바일 헤더 세모식 · 로고 중앙 + 좌측 아이콘 검색바 · 2026-07-08] */
.hd-mb{position:relative}
.hd-mb .logo{position:absolute;left:50%;transform:translateX(-50%)}
.hd-mb .m-right{margin-left:auto}
.mb-search input{border:1px solid var(--line);background:var(--soft);border-radius:24px;padding:0 18px 0 46px}
.mb-search button{left:8px;right:auto;background:transparent;color:var(--mut);width:34px;border-radius:0}
.mb-search button svg{width:20px;height:20px}
/* [모바일 드로어 개편 · 회원카드+드롭다운+구분선 · 2026-07-08] */
.m-menu{color:var(--ink)}
.mb-search{padding:0 0 12px}
.m-side .m-auth.guest-only{margin-bottom:22px}
.m-member{margin-bottom:4px}
.m-mcard{background:#FFF3E8;border:1px solid #FBD8B6;border-radius:14px;padding:15px 18px;margin-bottom:14px}
.m-mcard .mc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.m-mcard .mc-top b{font-size:16px;font-weight:800}
.m-mcard .mc-badge{background:#FD8D1C;color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:4px 11px;white-space:nowrap}
.m-mcard .mc-sub{font-size:13px;color:var(--ink2);margin-top:8px}
.m-mcard .mc-sub b{color:#FD8D1C;font-weight:800}
.m-quick{list-style:none;margin:0 0 14px;border-top:1px solid var(--line2)}
.m-quick li{border-bottom:1px solid var(--line2)}
.m-quick li a{display:flex;align-items:center;gap:12px;padding:13px 4px;font-size:14.5px;font-weight:700;color:var(--ink)}
.m-quick svg{width:20px;height:20px;color:var(--ink2);flex-shrink:0}
.m-quick .cnt{margin-left:auto;background:#FD8D1C;color:#fff;font-size:11px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.m-side .dm .has-dd .dd-t{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 2px;font-size:15px;font-weight:700;background:none;border:0;border-bottom:1px solid var(--line2);color:var(--ink);cursor:pointer}
.m-side .dm .has-dd .arr{color:var(--mut);transition:.2s;font-size:12px}
.m-side .dm .has-dd.open .arr{transform:rotate(180deg)}
.m-side .dm .dd-p{max-height:0;overflow:hidden;transition:max-height .34s cubic-bezier(.33,1,.68,1);padding-left:12px}
.m-side .dm .has-dd.open .dd-p{max-height:300px}
.m-apply{margin-top:22px;background:#FFF3E8;border:1px solid #FBD8B6;border-radius:14px;padding:16px}
.m-apply p{font-size:12.5px;font-weight:700;color:var(--ink2);margin-bottom:10px;text-align:center}
.m-apply-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.m-apply-btns a{padding:12px 0;text-align:center;border-radius:10px;font-size:13px;font-weight:800}
.m-apply .ba-apply{background:#FD8D1C;color:#fff}
.m-apply .ba-ask{background:#fff;color:#FD8D1C;border:1.5px solid #FD8D1C}
.m-side .dm .dd-p a{display:block;padding:9px 8px;font-size:13.5px;font-weight:600;color:var(--ink2);border:0}
/* [모바일 카테고리 바 · 세모식 검색창 하단 · 2026-07-08] */
@media(max-width:768px){
  .gnb{display:block!important;border-top:1px solid var(--line)}
  .gnb .wrap{justify-content:flex-start;height:auto;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-top:9px;padding-bottom:9px;gap:2px}
  .gnb .wrap::-webkit-scrollbar{display:none}
  .gnb a{font-size:13.5px;padding:6px 9px;flex-shrink:0}
  .gnb a.on{display:none}
}
/* [크림 푸터 통일 · 2026-07-08] */
footer.site{background:#F4ECDE;color:#6B6559}
footer.site .ft-top{border-bottom:1px solid #E5D9C4}
footer.site .ft-brand p,footer.site .ft-col a{color:#6B6559}
footer.site .ft-col a:hover{color:#FD8D1C}
footer.site .ft-col h4{color:#FD8D1C}
footer.site .ft-biz{color:#8F887B}
footer.site .ft-copy{color:#A99F8E}

/* ═══ [2026-07-12 주문서 UI 재제작] default_shop.css 미로드 전환(+shop.head.php 옵트아웃) 후 마감 보강 ═══ */
/* 에스크로 안내 — 개조판에서 조건(de_escrow_use) 주석 처리로 무조건 렌더되던 잔재. 서비스 미사용(설정 0)이라 표시가 오히려 부정확 → 숨김 */
#sod_frm_escrow{display:none!important}
/* 주문상품 테이블 — 상품명 열 좌측 정렬(거대 공백 해소), 셀 수직 정돈 */
#sod_list thead th:first-child{text-align:left;padding-left:18px}
#sod_list col{width:auto!important}
/* 주문/취소 버튼 — 주문하기 = 풀폭 오렌지 대형, 취소 = 보조 */
.btn_confirm .btn_submit{flex:1;min-height:58px}
.btn_confirm .btn01{flex:0 0 auto;min-width:110px}
/* 푸터 사업자 정보 — 항목 사이 간격(뭉개져 보이던 문제) */
.ft-biz .row{display:flex;flex-wrap:wrap;gap:2px 20px}
.ft-biz .row span{white-space:normal}
/* default.css 잔여 폼 스타일 정돈(테두리·라운드 통일) */
#sod_frm .frm_input{border:1.5px solid var(--line);border-radius:12px;background:#fff}
#sod_frm .frm_input:focus{border-color:var(--accent);box-shadow:none;outline:0}
/* 요약 카드 안 배송비 0원일 때도 행 유지(무료 표기는 서버 값 그대로) */
#sod_bsk_tot li.sod_bsk_dvr strong::after{content:""}

/* [2026-07-12 마감 2차] default.css 잔여 충돌 3건 */
/* 취소(a.btn01) — default.css a.btn01(display:block·padding7px)이 특이도로 이김 → 컨테이너 스코프로 재선언 */
.btn_confirm .btn01{display:inline-flex!important;align-items:center;justify-content:center;height:58px;padding:0 26px!important;border:1.5px solid var(--line);border-radius:14px;font-size:14px;font-weight:700;color:var(--ink2);background:#fff;line-height:1!important}
/* 폼 라벨(th) — default.css th 연회색 배경 바 제거, 라벨 타이포로 */
.tbl_frm01.tbl_wrap th{background:none!important;padding:0 0 8px!important;border:0!important}
/* 요약 카드 — 숫자를 우측 '원' 옆에 붙임(주문 14,500 ......... 원 벌어짐 해소) */
#sod_bsk_tot li strong{margin-left:auto;margin-right:4px}
#od_tot_price strong{margin-left:auto;margin-right:4px}
#od_tot_price{gap:4px}
#od_tot_price span:last-child{font-size:14px}

/* [2026-07-12 마감 3차] 결제수단 래퍼가 #od_pay_sl(개조판)라 #sod_frm_paysel 셀렉터가 안 맞던 것 보강 */
#od_pay_sl .od_pay_buttons_el{display:flex;flex-wrap:wrap;gap:10px}
#od_pay_sl input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
#od_pay_sl label.lb_icon{display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:13px 18px!important;border:1.5px solid var(--line);border-radius:12px;font-size:13.5px;font-weight:700;cursor:pointer;transition:.15s;color:var(--ink2);text-align:center}
#od_pay_sl label.lb_icon:hover{border-color:var(--ink);color:var(--ink)}
#od_pay_sl input[type=radio]:checked + label.lb_icon{border-color:var(--accent)!important;background:var(--green-bg)!important;color:var(--green-d)!important;font-weight:800}
#od_pay_sl input[type=radio]:focus-visible + label.lb_icon{outline:2px solid var(--accent);outline-offset:2px}

/* [2026-07-12 사장님 지시 · 1.png] 배송지목록 등 btn_frmline — default.css a.btn_frmline(다크그레이 #434a54·
   line-height 없어 텍스트 좌상단 쏠림)을 특이도로 이겨 로고색 도형 + 흰 텍스트 + 가운데 정렬로 */
a.btn_frmline,button.btn_frmline,#order_address{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:auto!important;min-width:96px;height:40px;padding:0 18px!important;
  background:#FD8D1C!important;border:0!important;border-radius:10px!important;
  color:#fff!important;font-size:13px;font-weight:700;line-height:1!important;
  text-decoration:none;vertical-align:middle;margin-left:8px;transition:.15s
}
a.btn_frmline:hover,button.btn_frmline:hover,#order_address:hover{background:#E67C10!important}

/* [2026-07-12 다보호소] 배분 카드 — 받으시는 분 섹션 내(보호소 후보 2곳 이상 상품) */
.pt-alloc-wrap{display:flex;flex-direction:column;gap:12px;margin:0 0 18px}
.pt-alloc{border:1.5px solid #FFDDB8;background:#FFFBF5;border-radius:14px;padding:16px 18px}
.pt-alloc-t{font-size:13.5px;font-weight:800;margin-bottom:10px;word-break:keep-all}
.pt-alloc-t b{color:var(--accent)}
.pt-alloc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed #F3E3CE}
.pt-alloc-row:last-of-type{border-bottom:0}
.pt-alloc-row label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;cursor:pointer;margin:0}
.pt-alloc-row label small{color:#B96F1F;font-weight:700}
.pt-alloc-chk{width:16px;height:16px;accent-color:var(--accent)}
.pt-alloc-q{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2);flex-shrink:0}
.pt-alloc-qty{width:74px;border:1.5px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13.5px;text-align:right;background:#fff}
.pt-alloc-qty:disabled{background:var(--soft);color:#bbb}
.pt-alloc-sum{font-size:12.5px;font-weight:700;margin-top:10px;word-break:keep-all}

/* ═══ [2026-07-12] 이용약관·개인정보처리방침 문서 스타일 ═══ */
.pt-policy{max-width:880px;margin:0 auto;padding:0 0 90px}
.pt-policy .doc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:38px 40px;box-shadow:var(--sh-s)}
.pt-policy h2{font-size:16px;font-weight:800;margin:30px 0 10px;color:var(--ink)}
.pt-policy h2:first-child{margin-top:0}
.pt-policy p,.pt-policy li{font-size:13.5px;line-height:1.85;color:var(--ink2);word-break:keep-all}
.pt-policy ol,.pt-policy ul{padding-left:20px;margin:6px 0}
.pt-policy table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0}
.pt-policy th{background:var(--soft);padding:9px 12px;border:1px solid var(--line);font-weight:700;color:var(--ink)}
.pt-policy td{padding:9px 12px;border:1px solid var(--line);color:var(--ink2);line-height:1.7}
.pt-policy .hl{background:#FFF4E8;border:1px solid #FFDDB8;border-radius:12px;padding:14px 18px;margin:14px 0;font-size:13px;color:#8a5a22}
.pt-policy .date{margin-top:26px;font-size:12.5px;color:var(--mut)}
.pt-policy .tabs{display:flex;gap:8px;margin:0 0 18px}
.pt-policy .tabs a{border:1.5px solid var(--line);border-radius:999px;padding:9px 20px;font-size:13.5px;font-weight:700;color:var(--ink2)}
.pt-policy .tabs a.on{border-color:var(--accent);background:#FFF4E8;color:#B96F1F}
@media(max-width:768px){.pt-policy .doc{padding:24px 20px}}
