/* ==========================================================================
   Оформление заказа — тема OnePage «snabsoft» (для шаблона snabsoft).
   Переменные цветов и шрифтов — из templates/snabsoft/css/template.css.
   ========================================================================== */
#vmMainPageOPC{--co-gap:18px}
#vmMainPageOPC br{display:none}
.co h1{font:800 34px/1.12 var(--f-head,Manrope,sans-serif);letter-spacing:-.01em;margin:6px 0 4px}
.co-head{margin-bottom:18px}
.co-head p{margin:0;color:var(--mut,#6b7280)}
.co-card{background:#fff;border:1px solid var(--line,#dfe3e8);border-radius:14px;padding:18px 20px;margin:0 0 var(--co-gap)}
.co-card__h{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:0 0 14px}
.co-card h2{display:flex;align-items:center;gap:10px;font:700 19px/1.25 var(--f-head,Manrope,sans-serif);margin:0}
.co-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink,#17191d);color:#fff;font:700 14px/1 var(--f-head,Manrope,sans-serif);flex:none}
.co-req{font-size:12.5px;color:var(--mut,#6b7280)}
.co .continue_link{font-size:14px;color:var(--red,#c00)!important;text-decoration:none;font-weight:500}
.co .continue_link:hover{text-decoration:underline}

/* --- корзина --- */
.co-bt{display:grid;grid-template-columns:minmax(0,1fr) 150px 250px 150px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line,#dfe3e8)}
.co-bt--h{padding:0 0 8px;border-bottom:1.5px solid var(--ink,#17191d);font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut,#6b7280);font-weight:600}
.co-bt .op_col5,.co-bt .op_col7,.co-bt .op_col7_header,.co-bt--h .op_col5{text-align:right}
.co-bt--h .op_col6{text-align:center}
.co-bt .op_col2 a{font-weight:600;color:var(--ink,#17191d);text-decoration:none}
.co-bt .op_col2 a:hover{color:var(--red,#c00)}
.co-sku{display:block;font:12.5px var(--f-text,Arial,sans-serif);color:var(--mut,#6b7280);margin-top:2px}
.co-attr{font-size:13px;color:#59606a}
.co-bt .op_col5,.co-bt .op_col7{font:700 16px var(--f-head,Manrope,sans-serif);white-space:nowrap}
.co-bt .op_col5{font-weight:600;color:var(--ink-2,#3b4048)}
.co-bt .opc_price_general,.co-bt .opc_PricesalesPrice{display:inline!important}
.co-qty{display:flex;align-items:center;gap:8px;justify-content:center;margin:0}
.co-qty .inputbox{width:58px;height:36px;border:1px solid #d5d9df;border-radius:6px;text-align:center;font:600 15px var(--f-text,sans-serif)}
.co-qty .updatebtn{height:36px;padding:0 10px;border:1px solid #d5d9df;border-radius:6px;background:#fff;font:500 13px var(--f-text,sans-serif);cursor:pointer}
.co-qty .updatebtn:hover{border-color:var(--ink,#17191d)}
.co-qty .deletebtn{font-size:13px;color:var(--mut,#6b7280)!important;text-decoration:none}
.co-qty .deletebtn:hover{color:var(--red,#c00)!important}
.co-bline,.co-btotal{display:flex;justify-content:flex-end;gap:16px;padding:8px 0;align-items:baseline}
.co-btotal{padding-top:14px}
.co-btotal .discount_label{color:var(--mut,#6b7280)}
.co-btotal .discount_desc{font:800 24px var(--f-head,Manrope,sans-serif)}
.co-btotal .discount_desc *{display:inline!important}
.co-coupon{margin-top:10px}
#couponcode_field{float:none!important;width:auto!important;margin:0!important}
.coupon_wrapper{display:flex;gap:8px;justify-content:flex-end}
.coupon_input{height:36px;border:1px solid #d5d9df;border-radius:6px;padding:0 10px;font:inherit;color:var(--mut,#6b7280);width:240px}
#submit_coupon_button{height:36px;padding:0 14px;border:1px solid #d5d9df;border-radius:6px;background:#fff;font:500 14px var(--f-text,sans-serif);cursor:pointer}

/* --- форма: две колонки --- */
.co-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--co-gap);align-items:start}
.co-side{position:sticky;top:calc(var(--stk,66px) + 16px)}
.co fieldset{border:0;padding:0;margin:0}
.co legend{display:none}
.co-fields>div{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:10px 18px;align-items:center;width:auto!important}
.co-fields .formLabel{font-size:14px;color:var(--ink-2,#3b4048);line-height:1.35}
.co-fields .formLabel label{font-weight:500}
.co-fields .formField input[type=text],.co-fields .formField input[type=email],.co-fields .formField input[type=tel],.co-fields .formField input[type=password],.co-fields .formField select,.co-fields .formField textarea{width:100%;height:42px;border:1px solid #d5d9df;border-radius:8px;padding:0 12px;font:15px var(--f-text,sans-serif);color:var(--ink,#17191d);background:#fff;outline:0;transition:border-color .15s,box-shadow .15s}
.co-fields .formField input:focus,.co-fields .formField select:focus,#customer_note_field:focus{border-color:var(--ink,#17191d);box-shadow:0 0 0 3px rgba(23,25,29,.08)}
.co-fields .formField input[type=checkbox]{width:18px;height:18px;accent-color:var(--red,#c00);margin:0}
.co-fields input::placeholder{color:transparent}
.co .invalid,.co input.invalid,.co .formField .invalid{border-color:var(--red,#c00)!important;background:#fff8f8!important}
.co-check{display:flex;gap:10px;align-items:center;font-weight:500;cursor:pointer}
#customer_note_field{width:100%;min-height:96px;border:1px solid #d5d9df;border-radius:8px;padding:10px 12px;font:15px/1.5 var(--f-text,sans-serif);resize:vertical;outline:0}
#customer_note_field::placeholder{color:#9aa0a8}

/* --- доставка и оплата: карточки выбора --- */
.co-opts{display:grid;gap:10px}
.co-opts #payment_html{display:grid;gap:10px}
.co-opts #payment_html>div{clear:none!important}
.co-opts input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
.co-opts input[type=radio]+label{position:relative;display:block;margin:0;padding:12px 14px 12px 44px;border:1.5px solid var(--line,#dfe3e8);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}
.co-opts input[type=radio]+label::before{content:"";position:absolute;left:14px;top:14px;width:18px;height:18px;border-radius:50%;border:2px solid #c3c7cd;box-sizing:border-box;background:#fff}
.co-opts input[type=radio]+label:hover{border-color:#c3c7cd}
.co-opts input[type=radio]:checked+label{border-color:var(--red,#c00);background:#fff8f8}
.co-opts input[type=radio]:checked+label::before{border:5.5px solid var(--red,#c00)}
.co-opts input[type=radio]:focus-visible+label{box-shadow:0 0 0 3px rgba(204,0,0,.2)}
.vmshipment_name,.payment_name{display:block;font-weight:600}
.vmshipment_description,.payment_description{display:block;font-size:13px;color:var(--mut,#6b7280);margin-top:3px;line-height:1.45}
.payment_description:empty{display:none}
.vmshipment_cost,.vmpayment_cost{font-weight:600}

/* --- итого и отправка --- */
.co-sum h2{margin-bottom:10px}
#totalam>div{padding:4px 0;font-size:14.5px;overflow:hidden}
#totalam .bottom_totals_txt{float:left;color:var(--ink-2,#3b4048)}
#totalam>div:empty,#totalam .bottom_totals_txt:empty+.bottom_totals:empty{display:none}
#totalam .bottom_totals{float:right;font-weight:600;white-space:nowrap;text-align:right}
#tt_total_div{border-top:1px solid var(--line,#dfe3e8);margin-top:6px;padding-top:10px!important}
#tt_total_div .bottom_totals_txt{font-weight:600}
#tt_total_div .bottom_totals{font:800 24px var(--f-head,Manrope,sans-serif)}
#tt_total_div .bottom_totals_txt{line-height:34px}
#payment_info:empty{display:none}
.co-tos{margin:14px 0 4px;font-size:13.5px;line-height:1.4}
#agreed_div{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
#agreed_field{width:17px;height:17px;margin:1px 0 0;accent-color:var(--red,#c00);flex:none}
#agreed_div label{flex:1;min-width:0}
.co-tos__more{color:var(--red,#c00)!important;margin-left:25px}
.co-captcha:empty{display:none}
.co-captcha{margin:12px 0 0;overflow:hidden}
.co-captcha .g-recaptcha{transform-origin:0 0}
#onepage_submit_section{margin-top:14px}
.co-submit{display:block;width:100%;height:52px;border:0;border-radius:8px;background:var(--red,#c00);color:#fff;font:700 16px var(--f-text,sans-serif);cursor:pointer;transition:background .15s}
.co-submit:hover{background:var(--red-d,#a50000)}
.co-submit[disabled]{opacity:.6;cursor:wait}
.co-note{font-size:12.5px;color:var(--mut,#6b7280);margin:10px 0 0;text-align:center}
.co-help{margin-top:12px;padding:14px 18px;background:var(--bg,#f5f5f7);border-radius:14px;font-size:14px;display:grid;gap:2px}
.co-help a{color:var(--ink,#17191d);text-decoration:none;font-weight:600}
.co-help a:hover{color:var(--red,#c00)}

/* ошибки OnePage */
.opc_errors{border:0!important;background:var(--red-bg,#fdeceb);color:var(--red,#c00);border-radius:10px;padding:12px 16px;margin:0 0 16px;width:auto!important}
.co-empty{padding:30px 0 10px}
.co-empty p{color:var(--mut,#6b7280)}

/* ==========================================================================
   Телефон
   ========================================================================== */
@media (max-width:900px){
  .co h1{font-size:26px}
  .co-card{padding:14px;border-radius:12px}
  .co-grid{grid-template-columns:1fr}
  .co-side{position:static}
  .co-bt--h{display:none}
  .co-bt{grid-template-columns:1fr auto;gap:6px 12px}
  .co-bt .op_col2{grid-column:1/-1}
  .co-bt .op_col6{grid-column:1/-1;order:3}
  .co-bt .op_col5{text-align:left}
  .co-bt .op_col5::before,.co-bt .op_col7::before{content:attr(data-label);display:block;font:400 11.5px var(--f-text,sans-serif);color:var(--mut,#6b7280)}
  .co-qty{justify-content:flex-start}
  .co-fields>div{grid-template-columns:1fr;gap:4px}
  .co-fields .formField{margin-bottom:8px}
  .coupon_wrapper{justify-content:stretch}
  .coupon_input{flex:1;width:auto}
}
