/* Корзина, оформление, «Заказ принят». Классические шорткоды WooCommerce в стиле варианта D (D-Cart, D-Checkout, D-Success). */

.woocommerce-cart .om-page, .woocommerce-checkout .om-page { padding-bottom: 80px; }
.om-page .woocommerce { color: var(--text); }
.om-page .woocommerce a { color: var(--navy); }

/* Поля */
.woocommerce form .form-row { margin: 0 0 16px; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 500; color: var(--ink); }
.woocommerce form .form-row .required { color: var(--danger); text-decoration: none; }
.woocommerce form .form-row .optional { display: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea { width: 100%; height: 52px; padding: 0 16px; border: 1px solid var(--field); border-radius: 12px; font: 400 16px var(--font); background: #fff; color: var(--ink); }
.woocommerce form .form-row textarea { height: 110px; padding: 14px 16px; }
.woocommerce form .form-row input:focus, .woocommerce form .form-row select:focus, .woocommerce form .form-row textarea:focus { outline: 2px solid var(--navy); outline-offset: 0; border-color: var(--navy); }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 8px); float: left; }
.woocommerce form .form-row-first { margin-right: 16px; }
.woocommerce form .form-row-last { margin-right: 0; }
.woocommerce form .form-row-wide { clear: both; }

/* Оформление: две колонки */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; }
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review_heading { margin: 0; font-size: 24px; color: var(--ink); }
.woocommerce-checkout #order_review { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.woocommerce-checkout h3 { margin: 0 0 16px; font-size: 22px; color: var(--ink); }
.woocommerce-checkout .col-1, .woocommerce-checkout .col-2 { width: 100%; float: none; }

/* Таблицы заказа и корзины */
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; border: 0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.woocommerce table.shop_table .order-total th, .woocommerce table.shop_table .order-total td { font-size: 22px; font-weight: 700; color: var(--ink); border-bottom: 0; }
.woocommerce table.cart img { width: 72px; height: auto; border-radius: 12px; background: var(--soft2); }
.woocommerce table.cart .product-remove a { color: var(--muted); text-decoration: none; font-size: 22px; }
.woocommerce table.cart .quantity input { width: 72px; height: 44px; text-align: center; border: 1px solid var(--field); border-radius: 12px; font: 600 16px var(--font); }
.woocommerce .cart-collaterals { margin-top: 32px; display: flex; justify-content: flex-end; }
.woocommerce .cart_totals { width: min(420px, 100%); padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.woocommerce .cart_totals h2 { margin: 0 0 12px; font-size: 22px; color: var(--ink); }

/* Способы доставки и оплаты — радио-карточки */
.woocommerce ul#shipping_method, .woocommerce #payment ul.payment_methods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.woocommerce ul#shipping_method li, .woocommerce #payment ul.payment_methods li { padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.woocommerce ul#shipping_method li:has(input:checked), .woocommerce #payment ul.payment_methods li:has(input:checked) { border: 2px solid var(--navy); padding: 13px 15px; background: #F7F9FC; }
.woocommerce ul#shipping_method li label, .woocommerce #payment ul.payment_methods li label { display: inline; font-weight: 500; color: var(--ink); }
.woocommerce #payment { background: transparent; border-radius: 0; }
.woocommerce #payment div.payment_box { margin: 12px 0 0; padding: 0; background: transparent; color: var(--text); }
.woocommerce #payment div.payment_box::before { display: none; }
.woocommerce #payment .place-order { padding: 16px 0 0; }

/* Кнопки */
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit, .woocommerce #place_order,
.woocommerce a.checkout-button { display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 28px; border: 0; border-radius: 12px; background: var(--navy); color: #fff; font: 600 16px var(--font); cursor: pointer; text-decoration: none; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce #place_order:hover, .woocommerce a.checkout-button:hover { background: var(--ink); color: #fff; }
.woocommerce #place_order, .woocommerce a.checkout-button { width: 100%; }
.woocommerce a.button.wc-forward { width: auto; }

/* Сообщения */
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 0 0 20px; padding: 14px 18px; border-radius: 12px; background: var(--lime-bg); color: var(--ink); border: 0; }
.woocommerce-error { background: #FBE9E7; color: var(--danger); }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }

/* «Заказ принят» */
.woocommerce-order { max-width: 760px; }
.woocommerce-thankyou-order-received { padding: 20px 24px; border-radius: 18px; background: var(--success-bg); color: var(--success-ink); font-size: 20px; font-weight: 600; }
.woocommerce-order-overview { list-style: none; margin: 24px 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.woocommerce-order-overview li { padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; font-size: 13px; color: var(--muted); }
.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 16px; color: var(--ink); }

/* Вход и регистрация */
.om-auth-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.om-authbox { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.om-authbox h2 { margin: 0 0 16px; font-size: 24px; color: var(--ink); }
.om-authbox .button { width: 100%; }
.om-authbox__hint { margin: 0; font-size: 13px; color: var(--muted); }
.om-cart-choice { margin-top: 20px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--soft2); }
.om-cart-choice h3 { margin: 0 0 12px; font-size: 20px; color: var(--ink); }
.om-cart-choice p { margin: 8px 0 16px; font-size: 14px; color: var(--muted); }
.om-cart-choice .button { width: 100%; }
.om-cart-choice .button--outline { background: #fff; color: var(--navy); border: 1.5px solid var(--navy); }

@media (max-width: 900px) {
	.om-auth-cols { grid-template-columns: 1fr; }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; gap: 24px; }
	.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; }
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; margin-right: 0; }
	.woocommerce-order-overview { grid-template-columns: 1fr; }
}
