/* ===========================================================================
 * Redesign Phase 6 — cart, checkout, order received, my account, 404, search.
 * Restyle only: no markup or logic of the cart / checkout / payment changes.
 * Scoped by body class. Loaded after redesign.css.
 * ======================================================================== */

/* The copied SOLOS templates still carry the old dark-theme utility classes (text-white ...). */
.woocommerce-cart .oxa-page .text-white, .woocommerce-cart .oxa-page .\!text-white,
.woocommerce-checkout .oxa-page .text-white, .woocommerce-checkout .oxa-page .\!text-white,
.woocommerce-account .oxa-page .text-white, .woocommerce-account .oxa-page .\!text-white,
.error404 #main .text-white, .search #main .text-white { color: #000; }
.woocommerce-cart .oxa-page .border-gray-100, .woocommerce-checkout .oxa-page .border-gray-100 { border-color: var(--oxa-border); }

/* Page frame and headings */
.woocommerce-cart .oxa-page, .woocommerce-checkout .oxa-page, .woocommerce-account .oxa-page { padding: 48px 20px 90px; }
.woocommerce-cart .oxa-page h1, .woocommerce-checkout .oxa-page h1, .woocommerce-account .oxa-page h1,
.woocommerce-cart .oxa-page h2, .woocommerce-checkout .oxa-page h2, .woocommerce-account .oxa-page h2,
.woocommerce-checkout .oxa-page h3 { margin: 0 0 20px; font-size: 28px; font-weight: 300; line-height: 1.2; color: #000; }
@media (min-width: 768px) {
  .woocommerce-cart .oxa-page h2, .woocommerce-checkout .oxa-page h2, .woocommerce-checkout .oxa-page h3, .woocommerce-account .oxa-page h2 { font-size: 36px; }
}

/* Buttons: primary dark, hover orange. */
body .oxa-page .button, body .oxa-page button.button, body .oxa-page input.button,
body .oxa-page #place_order, body .oxa-page .woocommerce-Button, body .oxa-page button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 16px 28px; border: 1px solid #1d1d1d; border-radius: 0;
  background: #1d1d1d; color: #fff;
  font-size: 13px; font-weight: 400; line-height: 1; letter-spacing: 2.4px; text-transform: uppercase;
  cursor: pointer; transition: background-color var(--oxa-dur) ease, border-color var(--oxa-dur) ease, color var(--oxa-dur) ease;
}
body .oxa-page .button:hover, body .oxa-page button.button:hover, body .oxa-page input.button:hover,
body .oxa-page #place_order:hover, body .oxa-page .woocommerce-Button:hover, body .oxa-page button[type="submit"]:hover {
  background: var(--oxa-accent); border-color: var(--oxa-accent); color: #fff;
}
body .oxa-page .button:disabled, body .oxa-page button[disabled] { opacity: .4; cursor: default; }
body .oxa-page #place_order { width: 100%; min-height: 58px; font-size: 14px; }

/* Fields */
.oxa-page input[type="text"], .oxa-page input[type="email"], .oxa-page input[type="tel"], .oxa-page input[type="password"],
.oxa-page input[type="number"], .oxa-page input.input-text, .oxa-page textarea, .oxa-page select {
  min-height: 46px; border: 1px solid #d9d9d9; border-radius: 0; background-color: #fff; color: #000; font-size: 15px;
}
.oxa-page input:focus, .oxa-page textarea:focus, .oxa-page select:focus { outline: none; border-color: #000; }
.oxa-page label { font-size: 13px; color: #272727; }
.oxa-page .required { color: var(--oxa-accent); text-decoration: none; }

/* Notices (the orange bars on checkout, messages, errors) */
.oxa-page .woocommerce-info, .oxa-page .woocommerce-message, .oxa-page .woocommerce-error {
  margin: 0 0 16px; padding: 16px 20px; border: 0; border-left: 3px solid var(--oxa-accent); border-radius: 0;
  background: var(--oxa-surface); color: #000; font-size: 14px; list-style: none;
}
.oxa-page .woocommerce-error { border-left-color: #c0392b; }
.oxa-page .woocommerce-info a, .oxa-page .woocommerce-message a, .oxa-page .woocommerce-error a { color: #000; text-decoration: underline; }
.oxa-page .woocommerce-info::before, .oxa-page .woocommerce-message::before { display: none; }

/* Cart */
.woocommerce-cart .oxa-page form img { background: var(--oxa-surface); mix-blend-mode: multiply; }
.woocommerce-cart .oxa-page .cart-collaterals h2 { margin-bottom: 16px; }
.woocommerce-cart .oxa-page .cart-collaterals a.checkout-button { width: 100%; }
.woocommerce-cart .oxa-page .woocommerce-shipping-calculator a { color: #000; text-decoration: underline; }

/* Checkout */
.woocommerce-checkout .oxa-page #order_review, .woocommerce-checkout .oxa-page .woocommerce-checkout-review-order { color: #000; }
.woocommerce-checkout .oxa-page table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout .oxa-page table th, .woocommerce-checkout .oxa-page table td { padding: 12px 0; border-bottom: 1px solid var(--oxa-border); color: #000; }
.woocommerce-checkout .oxa-page table img { background: var(--oxa-surface); mix-blend-mode: multiply; }
.woocommerce-checkout .oxa-page .woocommerce-privacy-policy-text, .woocommerce-checkout .oxa-page .payment_box { color: #272727; font-size: 13px; }
.woocommerce-checkout .oxa-page input[type="radio"], .woocommerce-checkout .oxa-page input[type="checkbox"] { accent-color: #1d1d1d; }

/* My account */
.woocommerce-account .oxa-page .woocommerce-form-login, .woocommerce-account .oxa-page .woocommerce-form-register { padding: 0; border: 0; }
.woocommerce-account .oxa-page a:not(.button) { color: #000; text-decoration: underline; }
.woocommerce-account .oxa-page .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .oxa-page .woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; border-bottom: 1px solid var(--oxa-border); font-size: 13px; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; }
.woocommerce-account .oxa-page .woocommerce-MyAccount-navigation .is-active a { color: var(--oxa-accent); }

/* 404 and search */
.error404 #main { padding-bottom: 80px; }
.error404 #main h1, .search #main h1 { margin: 40px 0 32px; font-size: 36px; font-weight: 300; line-height: 1.2; color: #000; text-align: left; }
.error404 #main h1 { text-align: center; }
.error404 #main ul.products, .search #main ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 16px; margin: 0 0 40px; padding: 0; list-style: none; }
.error404 #main ul.products li.product, .search #main ul.products li.product { width: auto; margin: 0; display: flex; flex-direction: column; }
@media (min-width: 768px) { .error404 #main ul.products, .search #main ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.error404 #main .text-accent, .error404 #main a.text-xl { font-size: 13px; font-weight: 400; letter-spacing: 2.4px; text-transform: uppercase; color: #000; }
.error404 #main a.text-xl .text-accent { color: var(--oxa-accent); border-color: var(--oxa-accent); }
.search #main { padding-bottom: 80px; }
.search #main .page-title { margin-top: 40px; }
.search #main .page-title span { color: var(--oxa-accent); }
.search #main .no-results .page-content p { font-size: 15px; color: #272727; }
.search #main .navigation.pagination ul, .search #main ul.page-numbers { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 40px; padding: 0; list-style: none; }
.search #main .page-numbers { padding: 10px 16px; border: 1px solid var(--oxa-border); color: #000; }
.search #main .page-numbers.current { background: #1d1d1d; border-color: #1d1d1d; color: #fff; }

/* Checkout button of the cart and the remove (x) icon, which is a white picture. */
body .oxa-page a.checkout-button, body .oxa-page .wc-proceed-to-checkout a {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; padding: 0 28px; border-radius: 0;
  background: #1d1d1d; color: #fff; font-size: 13px; letter-spacing: 2.4px; text-transform: uppercase; transition: background-color var(--oxa-dur) ease;
}
body .oxa-page a.checkout-button:hover, body .oxa-page .wc-proceed-to-checkout a:hover { background: var(--oxa-accent); color: #fff; }
.woocommerce-cart .oxa-page form a[data-product_id] img { background: none; mix-blend-mode: normal; filter: invert(1); opacity: .6; transition: opacity var(--oxa-dur) ease; }
.woocommerce-cart .oxa-page form a[data-product_id]:hover img { opacity: 1; }

@media (max-width: 767px) {
  .woocommerce-cart .oxa-page form .grid > div { min-width: 0; }
  .woocommerce-cart .oxa-page form .table-cell { display: block; padding-right: 0; }
  .woocommerce-cart .oxa-page form a, .woocommerce-cart .oxa-page form .table-cell { overflow-wrap: anywhere; }
  .woocommerce-cart .oxa-page form .px-32 { padding-inline: 0; }
}

/* Phase 7 QA: the cart's coupon row had 128px side padding, which pushed tablet widths 6px too wide. */
.woocommerce-cart .oxa-page form .px-32 { padding-inline: 0; }
.woocommerce-cart .oxa-page .max-w-screen-xl { max-width: 100%; }
