/* Shared form system. */
:root{--form-border:#dce6eb;--form-label:#425f70;--form-input-height:48px}
#sod_frm{display:grid!important;grid-template-columns:minmax(0,1fr) 340px!important;column-gap:30px!important;align-items:start!important;width:100%!important}
#sod_frm>.od_prd_list{grid-column:1/-1;width:100%;margin:0 0 32px!important}
#sod_frm .sod_left,#sod_frm .sod_right{float:none!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
#sod_frm #sod_frm_orderer,#sod_frm #sod_frm_taker{width:100%!important;padding:30px!important;margin:0 0 24px!important;background:#fff!important;border:1px solid #e0e9ee!important;border-radius:12px!important}
#sod_frm #sod_frm_orderer h2,#sod_frm #sod_frm_taker h2,#sod_frm #sod_frm_pay h2{font-size:23px!important;line-height:1.4!important;letter-spacing:-.6px!important;font-weight:700!important;padding:0 0 23px!important;border:0!important;margin:0!important;color:#243f4e!important}
#sod_frm .tbl_frm01,#sod_frm .tbl_frm01 table,#sod_frm .tbl_frm01 tbody,#sod_frm .tbl_frm01 tr,#sod_frm .tbl_frm01 th,#sod_frm .tbl_frm01 td{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;background:none!important;border:0!important;margin:0!important;padding:0!important;text-align:left!important}
#sod_frm .tbl_frm01 tr{margin:0 0 21px!important}
#sod_frm .tbl_frm01 tr:last-child{margin-bottom:0!important}
#sod_frm .tbl_frm01 th{font-size:14px!important;color:#4b6575!important;font-weight:600!important;line-height:1.5!important;margin-bottom:9px!important}
#sod_frm .tbl_frm01 td{font-size:14px!important;line-height:1.7!important;color:#607f90!important}
#sod_frm .tbl_frm01 th label{font-size:14px!important;font-weight:600!important}
#sod_frm input.frm_input,#sod_frm select,#sod_frm input[type=text],#sod_frm input[type=password]{width:100%!important;max-width:none!important;min-width:0!important;height:48px!important;font-size:16px!important;line-height:24px!important;padding:11px 14px!important;border:1px solid #dce6eb!important;border-radius:7px!important;background-color:#fff!important;background-image:none!important;box-shadow:none!important;margin:0 0 8px!important;color:#284959!important}
#sod_frm input:focus,#sod_frm textarea:focus{border-color:#2aafd3!important;outline:3px solid #e4f6fc!important;outline-offset:0!important}
#sod_frm input::placeholder,#sod_frm textarea::placeholder{color:#a0b0b9!important;font-size:14px!important}
#sod_frm #od_zip,#sod_frm #od_b_zip{width:135px!important;margin-right:8px!important;vertical-align:top!important}
#sod_frm .btn_address{height:48px!important;line-height:46px!important;padding:0 20px!important;background:#eef8fc!important;color:#1f8eaf!important;border:1px solid #d0e8f1!important;border-radius:7px!important;font-size:14px!important;font-weight:600!important;vertical-align:top!important}
#sod_frm #od_addr1,#sod_frm #od_b_addr1,#sod_frm #od_addr2,#sod_frm #od_b_addr2{display:block!important}
#sod_frm #od_addr3,#sod_frm #od_b_addr3,#sod_frm label[for=od_addr3],#sod_frm label[for=od_b_addr3],#sod_frm label[for=od_addr2],#sod_frm label[for=od_b_addr2]{display:none!important}
#sod_frm #od_memo{font-size:16px!important;height:115px!important;border:1px solid #dce6eb!important;border-radius:7px!important;padding:12px 14px!important}
#sod_frm #sod_frm_addr{padding:12px!important;background:#f5f9fb!important;border-radius:7px!important}
#sod_frm #sod_frm_addr label,#sod_frm #sod_frm_taker label{font-size:13px!important;line-height:2!important}
#sod_frm #order_address{position:static!important;display:inline-flex!important;align-items:center!important;height:35px!important;line-height:33px!important;margin:8px 0 0!important;padding:0 12px!important;font-size:12px!important;border:1px solid #dce8ee!important;border-radius:5px!important}
#sod_frm #sod_bsk_tot{padding:24px!important;margin:0 0 22px!important;width:100%!important;border-radius:12px!important;background:#f3f9fc!important;border:1px solid #dfebf1!important}
#sod_frm #sod_bsk_tot ul{display:block!important;margin:0!important;padding:0!important;border:0!important;background:none!important}
#sod_frm #sod_bsk_tot li{display:flex!important;justify-content:flex-end!important;align-items:baseline!important;float:none!important;width:100%!important;padding:11px 0!important;margin:0!important;border:0!important;background:none!important;font-size:14px!important;line-height:1.5!important;color:#46697c!important}
#sod_frm #sod_bsk_tot li span{float:none!important;margin-right:auto!important;color:#79909d!important;font-size:13px!important;line-height:1.5!important}
#sod_frm #sod_bsk_tot li strong{font-size:19px!important;line-height:1.4!important;color:#2a5065!important;font-weight:700!important;margin-right:3px!important}
#sod_frm #sod_bsk_tot li:before,#sod_frm #sod_bsk_tot li:after{display:none!important}
#sod_frm #sod_bsk_tot .sod_bsk_pt{display:none!important}
#sod_frm #sod_bsk_tot .sod_bsk_cnt{border-top:1px solid #d9e7ef!important;padding-top:18px!important;margin-top:10px!important}
#sod_frm #sod_bsk_tot .sod_bsk_cnt strong{font-size:27px!important;color:#149fc8!important}
#sod_frm #sod_frm_pay{padding:24px!important;width:100%!important;border:1px solid #e0e9ee!important;border-radius:12px!important;background:#fff!important}
#sod_frm #sod_frm_pay .tbl_frm01 td{font-size:12px!important;line-height:1.8!important;color:#8b9fa9!important}
#sod_frm #sod_frm_pay .tbl_frm01 th{font-size:13px!important;margin-bottom:5px!important}
#sod_frm #od_tot_price{width:100%!important;display:flex!important;align-items:baseline!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:4px!important;padding:17px!important;margin:20px 0!important;border:0!important;background:#eef8fb!important;color:#537888!important}
#sod_frm #od_tot_price span{margin-right:auto!important;font-size:13px!important}
#sod_frm #od_tot_price strong{font-size:27px!important;font-weight:750!important;color:#153d51!important}
#sod_frm #od_pay_sl{width:100%!important;border:0!important;padding:0!important;margin:0!important;background:none!important}
#sod_frm #od_pay_sl h3{font-size:16px!important;font-weight:700!important;margin:0 0 13px!important;padding:0!important}
#sod_frm #sod_frm_paysel{width:100%!important;border:0!important;padding:0!important;background:none!important}
#sod_frm #sod_frm_paysel .lb_icon{width:100%!important;height:auto!important;min-height:51px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-image:none!important;border:1px solid #dce8ef!important;border-radius:7px!important;padding:13px!important;font-size:14px!important;font-weight:600!important;margin:0 0 14px!important;line-height:1.5!important}
#sod_frm #sod_frm_paysel input:checked+label{color:#128fab!important;background:#e9f8fc!important;border:2px solid #34b2d3!important}
#sod_frm #settle_bank{font-size:13px!important;padding:16px!important;background:#f5f9fb!important;border:1px solid #e6eef2!important;border-radius:7px!important;line-height:1.9!important}
#sod_frm #settle_bank label{font-size:12px!important;font-weight:600!important;color:#65818f!important;margin:10px 0 5px!important}
#sod_frm #settle_bank input{height:42px!important;font-size:14px!important;margin-bottom:0!important}
#sod_frm #display_pay_button{border:0!important;padding:0!important;background:none!important;display:flex!important;width:100%!important;gap:10px!important;margin:22px 0 0!important}
#sod_frm #display_pay_button .btn_submit{height:54px!important;line-height:52px!important;font-size:16px!important;font-weight:700!important;border-radius:7px!important;flex:1!important;margin:0!important}
#sod_frm #display_pay_button .btn01{width:80px!important;height:54px!important;line-height:52px!important;font-size:14px!important;border-radius:7px!important;margin:0!important}
#sod_frm #sod_list th{font-size:14px!important;font-weight:600!important;padding:18px 12px!important;color:#557180!important;background:#f6f9fb!important;border-bottom:1px solid #e1e9ee!important}
#sod_frm #sod_list td{font-size:14px!important;padding:22px 12px!important;border-color:#e9eff3!important}
#sod_frm #sod_list .sod_name{font-size:15px!important;line-height:1.6!important}#sod_frm #sod_list .sod_opt{font-size:12px!important;color:#869ca8!important;margin-top:8px!important}
@media(max-width:1000px){#sod_frm{grid-template-columns:minmax(0,1fr) 300px!important;column-gap:20px!important}#sod_frm #sod_frm_orderer,#sod_frm #sod_frm_taker{padding:23px!important}}
@media(max-width:760px){#sod_frm{display:block!important}#sod_frm #sod_frm_orderer,#sod_frm #sod_frm_taker{padding:22px 18px!important}#sod_frm #sod_list td{padding:0!important;font-size:12px!important}#sod_frm #sod_list .sod_name{font-size:14px!important}#sod_frm #sod_list .sod_opt{font-size:11px!important}#sod_frm #sod_frm_orderer h2,#sod_frm #sod_frm_taker h2{font-size:21px!important}#sod_frm .sod_right{margin-top:25px!important}#sod_frm .tbl_frm01 tr{margin-bottom:18px!important}}

/* Preserve accessible labels without rendering zero-width text over the page. */
.sound_only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
#sod_frm .tbl_frm01 td>label.sound_only{display:block!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important}
#sod_frm .sod_name{padding-left:90px!important;position:relative!important}#sod_frm .sod_name .sod_img{left:12px!important;top:22px!important}
@media(max-width:760px){#sod_frm .sod_name{padding-left:85px!important;min-height:92px!important}#sod_frm .sod_name .sod_img{left:0!important;top:0!important}}

/* Checkout components replace legacy form-table layouts. */
#sod_frm{max-width:1160px!important;margin:0 auto!important;grid-template-columns:minmax(0,1fr) 330px!important;gap:26px!important}
#sod_frm .cs-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 18px}
#sod_frm .cs-field{min-width:0;grid-column:1/-1}
#sod_frm .cs-field:has(#od_name),#sod_frm .cs-field:has(#od_tel),#sod_frm .cs-field:has(#od_hp),#sod_frm .cs-field:has(#od_email),#sod_frm .cs-field:has(#od_b_name),#sod_frm .cs-field:has(#od_b_tel){grid-column:auto}
#sod_frm .cs-field-label{font-size:14px;font-weight:600;color:#506e7e;line-height:1.5;margin:0 0 9px}
#sod_frm .cs-required-field>.cs-field-label:after{content:' · 필수';font-size:10px;color:#46a8c4;font-weight:400}
#sod_frm .cs-field-label label{font-size:14px!important;line-height:1.5!important}
#sod_frm .cs-field-control{font-size:13px;line-height:1.7;color:#7d95a2;min-width:0}
#sod_frm .cs-field-control input{margin-bottom:0!important}
#sod_frm .cs-field-control:has(.btn_address){display:flex;flex-wrap:wrap;gap:8px}
#sod_frm .cs-field-control:has(.btn_address) input{margin:0!important}
#sod_frm .cs-field-control:has(.btn_address) input.frm_address{flex-basis:100%;margin:0!important}
#sod_frm .cs-field-control:has(.btn_address) .sound_only{display:none!important}
#sod_frm #sod_frm_addr{padding:0!important;background:none!important;border-radius:0!important}
#sod_frm #od_zip,#sod_frm #od_b_zip{width:125px!important}
#sod_frm .cs-step-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:27px}
#sod_frm .cs-step-heading>span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;background:#e7f7fc;border-radius:50%;font-size:12px;font-weight:700;color:#21a2c4;margin-top:1px}
#sod_frm .cs-step-heading h2{padding:0!important;margin:0 0 7px!important;font-size:22px!important}
#sod_frm .cs-step-heading p{font-size:13px;line-height:1.6;color:#94a6b1;margin:0}
#sod_frm .order_choice_place{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0!important;background:none!important;border:0!important;position:relative}
#sod_frm .order_choice_place>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#sod_frm .order_choice_place>label{display:flex!important;align-items:center;min-height:46px;line-height:1.5!important;padding:11px 13px!important;font-size:13px!important;font-weight:500;cursor:pointer;border:1px solid #dfe9ee;border-radius:7px;background:#fff;margin:0!important;word-break:keep-all;color:#77909f}
#sod_frm .order_choice_place>label:before{content:'';width:14px;height:14px;border:1px solid #c9d9e3;border-radius:50%;margin-right:9px;flex-shrink:0;background:white}
#sod_frm .order_choice_place>input:checked+label{background:#edf9fd;border-color:#2cb1d4;color:#168eaf}
#sod_frm .order_choice_place>input:checked+label:before{border:4px solid #25afd0}
#sod_frm .order_choice_place>input:focus-visible+label{outline:3px solid #d1edf8}
#sod_frm #order_address{margin:0!important;height:auto!important;min-height:46px;display:flex!important;align-items:center;justify-content:center;line-height:1.5!important;font-size:13px!important;background:#f6f9fb;color:#587d90!important}
#sod_frm #ad_default{margin-top:12px!important;vertical-align:middle;width:16px;height:16px;accent-color:#21a8ce}
#sod_frm label[for=ad_default]{display:inline!important;margin-left:5px;font-size:12px!important;color:#8ba0ad}
#sod_frm .sod_right{padding:25px!important;background:#fff!important;border:1px solid #dce7ee!important;border-radius:12px!important;position:sticky;top:24px;box-shadow:0 5px 20px #185e7a06}
#sod_frm #sod_bsk_tot{padding:0 0 20px!important;background:none!important;border:0!important;border-radius:0!important;margin:0!important}
#sod_frm .cs-summary-title{font-size:21px;font-weight:700;margin:0 0 17px;color:#294b5d}
#sod_frm #sod_bsk_tot li{padding:9px 0!important;font-size:14px!important}
#sod_frm #sod_bsk_tot li strong{font-size:17px!important}
#sod_frm #sod_bsk_tot .sod_bsk_cnt,#sod_frm #sod_bsk_tot .sod_bsk_point{display:none!important}
#sod_frm #sod_frm_pay{padding:0!important;border:0!important;border-radius:0!important}
#sod_frm .pay_tbl{border:0!important;padding:0 0 20px!important;margin:0!important}
#sod_frm .pay_tbl table,#sod_frm .pay_tbl tbody{display:block;width:100%;border:0!important}
#sod_frm .pay_tbl tr{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border:0!important}
#sod_frm .pay_tbl th{font-size:13px!important;white-space:nowrap;font-weight:400;color:#79909e;line-height:1.7;width:auto!important;padding:0!important;border:0!important;background:none!important}
#sod_frm .pay_tbl td{font-size:14px!important;text-align:right!important;line-height:1.7;width:auto!important;padding:0!important;border:0!important}
#sod_frm .cs-shipping-note{display:block;font-size:11px;color:#9aacb7;margin-top:4px}
#sod_frm #od_pay_sl{border-top:1px solid #e2ebf0!important;padding-top:21px!important;margin-top:0!important}
#sod_frm #od_pay_sl h3{font-size:16px!important;margin-bottom:14px!important}
#sod_frm #sod_frm_paysel .lb_icon{margin:0 0 12px!important;font-size:14px!important;min-height:49px!important}
#sod_frm #settle_bank{border:0!important;background:#f6fafc!important;padding:16px!important;margin:0 0 8px!important;font-size:12px!important;line-height:1.8!important}
#sod_frm #settle_bank label[for=od_deposit_name]{display:block!important;margin:13px 0 7px!important;font-size:12px!important}
#sod_frm #od_tot_price{border-top:1px solid #dce8ee!important;border-radius:0!important;background:none!important;margin:20px 0 12px!important;padding:20px 0 0!important}
#sod_frm #od_tot_price strong{font-size:28px!important;color:#139fc7!important}
#sod_frm .cs-checkout-note{font-size:11px;color:#9caeb8;line-height:1.7;margin:13px 0 0}
#sod_frm #display_pay_button{margin-top:19px!important}
#sod_frm .sod_name{padding-left:100px!important}
#sod_frm .sod_name .sod_img{position:absolute!important;left:14px!important;top:22px!important;width:64px!important;height:78px!important;margin:0!important}
#sod_frm .sod_name .sod_img img{width:64px!important;height:78px!important;object-fit:contain}
@media(max-width:760px){#sod_frm{display:block!important}#sod_frm .cs-field-grid{grid-template-columns:1fr;gap:19px}#sod_frm .cs-field{grid-column:1!important}#sod_frm .sod_right{position:static;padding:23px!important}#sod_frm .order_choice_place{grid-template-columns:1fr!important}#sod_frm .cs-step-heading{gap:10px;margin-bottom:24px}#sod_frm .cs-step-heading h2{font-size:21px!important}#sod_frm .cs-step-heading p{font-size:12px}#sod_frm .sod_name{padding-left:86px!important}#sod_frm .sod_name .sod_img{left:0!important;top:0!important}#sod_frm .cs-field-label,#sod_frm .cs-field-label label{font-size:14px!important}}

#sod_frm .sod_right{height:auto!important;align-self:start!important}
#sod_frm #sod_bsk_tot li{height:auto!important;min-height:0!important}
#sod_frm #sod_frm_pay{margin:0!important}
#sod_frm .cs-step-heading h2{height:auto!important;min-height:0!important;line-height:1.4!important}
#sod_frm .cs-step-heading p{padding:0!important;margin:0!important}
#sod_frm .od_pay_buttons_el{border:0!important;background:none!important;padding:0!important;margin:0!important}
#sod_frm #od_tot_price{height:auto!important;min-height:0!important}
#sod_frm .cs-summary-title{height:auto!important;line-height:1.4!important;padding:0!important;margin:0 0 17px!important}

#sod_frm{max-width:none!important;width:100%!important;margin:0!important}
#sod_frm #sod_list th:nth-child(4),#sod_frm #sod_list td:nth-child(4),#sod_frm #sod_list th:nth-child(6),#sod_frm #sod_list td:nth-child(6){display:none!important}
#sod_frm #sod_list .sod_name,#sod_frm #sod_list .sod_opt{word-break:keep-all!important;overflow-wrap:break-word!important}
