/* Внутренние страницы филиала: оформление заказа, «спасибо», документы */

.page-body { padding: 32px 0 72px; }
.page-title { margin: 0 0 24px; font: 800 clamp(30px, 3.4vw, 44px)/1.1 var(--display); letter-spacing: -.02em; }
.page-content { max-width: 1120px; }
.page-content > p, .page-content > ul, .page-content > ol, .page-content > h2, .page-content > h3 { max-width: 72ch; }
.page-content h2 { margin: 32px 0 12px; font: 800 24px/1.2 var(--display); }
.page-content h3 { margin: 24px 0 8px; font: 700 19px/1.3 var(--display); }
.page-content p, .page-content li { color: #e4ddd3; }
.page-content a { color: var(--mandarin); }

/* ---------- Поля ---------- */
.woocommerce form .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; font-size: 14px; color: var(--ash); }
.woocommerce form .form-row .required { color: var(--chopstick); text-decoration: none; border: 0; }
.woocommerce form .form-row .optional { display: none; }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select, .co-address select {
  width: 100%; min-height: 50px; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: 12px; background: var(--coal); color: var(--rice);
  font: 400 16px/1.3 var(--text);
}
.woocommerce textarea { min-height: 96px; resize: vertical; }
.woocommerce input.input-text:focus, .woocommerce textarea:focus, .woocommerce select:focus { outline: 2px solid var(--mandarin); outline-offset: 0; border-color: transparent; }
.woocommerce input::placeholder, .woocommerce textarea::placeholder { color: #7d746d; }
.woocommerce form .woocommerce-invalid input.input-text, .woocommerce form .woocommerce-invalid select { border-color: var(--chopstick); }
.form-row-first, .form-row-last { width: calc(50% - 8px); display: inline-block; vertical-align: top; }
.form-row-first { margin-right: 12px !important; }
.form-row-third { width: calc(33.33% - 9px); display: inline-block; vertical-align: top; }
.form-row-third + .form-row-third { margin-left: 9px !important; }

/* ---------- Раскладка оформления ---------- */
form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 0 40px; align-items: start; }
form.checkout > .co-block, form.checkout > .co-title, form.checkout > #customer_details { grid-column: 1; }
form.checkout > #order_review_heading { display: none; }
form.checkout > #order_review { grid-column: 2; grid-row: 1 / span 4; position: sticky; top: 24px; }
#order_review::before { content: "Ваш заказ"; display: block; margin: 0 0 12px; font: 800 24px/1.2 var(--display); }
.woocommerce-NoticeGroup { grid-column: 1 / -1; }

.co-block { padding: 24px; border-radius: 20px; background: var(--graphite); margin-bottom: 24px; }
.co-block h2, .co-title, #order_review_heading { margin: 0 0 16px; font: 800 24px/1.2 var(--display); }
.co-title { margin-top: 4px; }
#customer_details { padding: 24px; border-radius: 20px; background: var(--graphite); }
#customer_details .col-1, #customer_details .col-2 { width: 100%; float: none; }
#customer_details h3 { display: none; }
.woocommerce-additional-fields { margin-top: 6px; }

.mode--big { display: flex; margin: 0 0 18px; padding: 4px; border-radius: var(--r-control); background: var(--coal); }
.mode--big label { flex: 1; cursor: pointer; }
.mode--big input { position: absolute; opacity: 0; pointer-events: none; }
.mode--big span { display: grid; place-items: center; min-height: 46px; border-radius: var(--r-control); color: var(--ash); font-weight: 600; }
.mode--big input:checked + span { background: var(--mandarin); color: var(--ink); }
.mode--big input:focus-visible + span { outline: 3px solid var(--mandarin); outline-offset: 2px; }
.co-pickup p { display: flex; gap: 12px; margin: 0; line-height: 1.5; }
.co-pickup svg { width: 22px; height: 22px; flex: none; color: var(--mandarin); margin-top: 2px; }
.co-note { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: var(--coal); color: var(--ash); font-size: 14px; }
[data-show][hidden] { display: none; }

/* Состав заказа */
#order_review { padding: 24px; border-radius: 20px; background: var(--graphite); }
.shop_table { width: 100%; border-collapse: collapse; font-size: 15px; }
.shop_table th, .shop_table td { padding: 10px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.shop_table td:last-child, .shop_table th:last-child { text-align: right; white-space: nowrap; }
.shop_table thead { display: none; }
.shop_table .product-quantity { color: var(--ash); font-weight: 400; }
.shop_table .order-total th, .shop_table .order-total td { border-bottom: 0; padding-top: 14px; font: 800 22px/1.2 var(--display); }
.shop_table .cart-subtotal th, .shop_table .fee th { font-weight: 400; color: var(--ash); }
.wc-item-meta { margin: 4px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--ash); }
.wc-item-meta p { display: inline; margin: 0; }

/* Оплата */
#payment { margin-top: 18px; }
#payment ul.payment_methods { margin: 0 0 16px; padding: 0; list-style: none; }
#payment ul.payment_methods li { padding: 12px 14px; border-radius: 12px; background: var(--coal); }
#payment ul.payment_methods li + li { margin-top: 8px; }
#payment ul.payment_methods li label { font-weight: 600; }
#payment .payment_box { margin-top: 6px; font-size: 14px; color: var(--ash); }
#payment .payment_box p { margin: 0; }
.woocommerce-privacy-policy-text { display: none; }
.co-consent label { display: flex !important; gap: 10px; align-items: flex-start; color: var(--rice) !important; font-size: 14px !important; line-height: 1.45; }
.co-consent input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--mandarin); flex: none; }
.co-consent a { color: var(--mandarin); }
#place_order { width: 100%; min-height: 56px; border: 0; border-radius: var(--r-control); background: var(--mandarin); color: var(--ink); font: 700 18px var(--text); cursor: pointer; }
#place_order:hover { background: #ff9d26; }
.blockUI.blockOverlay { background: rgba(36, 33, 31, .6) !important; }

/* Сообщения */
.woocommerce-error, .woocommerce-message, .woocommerce-info { margin: 0 0 20px; padding: 14px 18px; border-radius: 14px; list-style: none; background: var(--graphite); }
.woocommerce-error { box-shadow: inset 4px 0 0 var(--chopstick); }
.woocommerce-error li + li { margin-top: 4px; }
.woocommerce-message, .woocommerce-info { box-shadow: inset 4px 0 0 var(--mandarin); }

/* ---------- «Спасибо» ---------- */
.woocommerce-order { max-width: 760px; }
.woocommerce-thankyou-order-received { font-size: 18px; }
ul.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0 0 24px; padding: 20px 24px; border-radius: 20px; background: var(--graphite); list-style: none; color: var(--ash); font-size: 14px; }
ul.woocommerce-order-overview strong { display: block; color: var(--rice); font: 700 17px var(--display); }
.co-receive { font-size: 17px; }
.co-receive a { color: var(--mandarin); }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: 28px; }
.woocommerce-order-details__title, .woocommerce-column__title { font: 800 22px/1.2 var(--display); }
.woocommerce-customer-details address { padding: 16px 20px; border-radius: 16px; background: var(--graphite); font-style: normal; color: #e4ddd3; }
.woocommerce-customer-details .col2-set { display: grid; gap: 16px; }

@media (max-width: 980px) {
  form.checkout { grid-template-columns: 1fr; }
  form.checkout > #order_review { grid-column: 1; grid-row: auto; position: static; margin-top: 24px; }
}
@media (max-width: 560px) {
  .page-body { padding-top: 20px; }
  .co-block, #customer_details, #order_review { padding: 18px; border-radius: 16px; }
  .form-row-first, .form-row-last { width: 100%; margin-right: 0 !important; }
  .form-row-third { width: calc(33.33% - 6px); }
  .form-row-third + .form-row-third { margin-left: 6px !important; }
}
@media (max-width: 760px) { body.page-inner { padding-bottom: 0; } .page-inner .cookie { bottom: 16px; } .page-inner .head { position: relative; } }
