/* =============================================================
   APPALOOSA — WOOCOMMERCE STYLES
   Styles for shop-specific pages: Checkout, My Account,
   Cart page, WooCommerce notifications.

   Does NOT include .cart-item/.cart-drawer — they are in main.css,
   because the drawer is rendered on ALL pages of the site.

   Loaded on all pages (see functions.php — BUG 2 fix).
   ============================================================= */

/* --- WooCommerce notifications --- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  font-family: var(--font-sans);
  font-size: 13px;
  border-top: 3px solid var(--burgundy);
  background: var(--parchment, #faf6ee);
  padding: 14px 20px;
  list-style: none;
  margin-bottom: 20px;
}
.woocommerce-error {
  border-top-color: #c0392b;
}

/* --- Cart table (Cart page) --- */
.woocommerce table.shop_table {
  border: 1px solid var(--border);
  border-radius: 4px;
  font-family: var(--font-sans);
  width: 100%;
  border-collapse: collapse;
}
.woocommerce table.shop_table th {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--burgundy-dark);
  padding: 14px 20px;
  text-align: left;
  border-bottom: 1px solid var(--border);
}
.woocommerce table.shop_table td {
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
  font-size: 14px;
  vertical-align: middle;
}
.woocommerce table.shop_table .product-thumbnail img {
  width: 60px;
  height: auto;
  border-radius: 2px;
}

/* --- My Account: login/register forms --- */
.woocommerce-account .woocommerce {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 24px 80px;
}
.woocommerce-account .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 32px;
  background: rgba(255, 255, 255, 0.5);
}
@media (max-width: 768px) {
  .woocommerce-account .col2-set {
    grid-template-columns: 1fr;
  }
}

/* --- My Account: dashboard navigation --- */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 20px;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--burgundy-dark);
  border: 1px solid var(--border);
  transition: all 0.2s ease;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--burgundy);
  color: var(--parchment);
  border-color: var(--burgundy);
}

/* --- Checkout --- */
.woocommerce-checkout .woocommerce {
  max-width: 1100px;
  margin: 0 auto;
}
.woocommerce #customer_details {
  float: none;
  width: 100%;
}
.woocommerce-checkout-review-order-table {
  font-family: var(--font-sans);
}

/* --- Order details --- */
.woocommerce-order-details h2,
.woocommerce-column__title {
  font-family: var(--font-serif);
  color: var(--burgundy);
  font-size: 1.3rem;
  margin: 24px 0 16px;
}

/* --- WooCommerce pagination --- */
.woocommerce-pagination {
  text-align: center;
  margin: 40px 0;
}
.woocommerce-pagination ul {
  display: inline-flex;
  gap: 8px;
  list-style: none;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--border);
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--burgundy-dark);
  transition: all 0.2s ease;
}
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
  background: var(--burgundy);
  color: var(--parchment);
  border-color: var(--burgundy);
}

/* --- Product add-to-cart variations (single product page) --- */
.woocommerce .variations select {
  width: auto;
  min-width: 120px;
}
.woocommerce .single_add_to_cart_button {
  margin-top: 8px !important;
}

/* =============================================================
   MY ACCOUNT — full redesign in the Appaloosa style
   ============================================================= */

/* Main container */
.woocommerce-account .woocommerce {
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}

/* Grid: nav on the left, content on the right */
.woocommerce-MyAccount-navigation {
  float: left;
  width: 220px;
}
.woocommerce-MyAccount-content {
  float: right;
  width: calc(100% - 260px);
}
@media (max-width: 768px) {
  .woocommerce-MyAccount-navigation,
  .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
  }
  .woocommerce-MyAccount-navigation {
    margin-bottom: 32px;
  }
}

/* Account navigation */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 20px;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--text-muted);
  border: 1px solid transparent;
  transition: all 0.2s ease;
  text-decoration: none;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--burgundy);
  background: var(--cream);
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--dashboard.is-active
  a {
  background: var(--burgundy);
  color: var(--parchment);
  border-color: var(--burgundy);
}

/* Account section headings */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: var(--font-serif);
  color: var(--burgundy);
  font-weight: 400;
  margin-bottom: 20px;
}
.woocommerce-MyAccount-content h2 {
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
}
.woocommerce-MyAccount-content h3 {
  font-size: 1.3rem;
  margin-top: 32px;
}

/* Dashboard text */
.woocommerce-MyAccount-content p {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-muted);
  margin-bottom: 16px;
}
.woocommerce-MyAccount-content p strong {
  color: var(--burgundy-dark);
  font-weight: 500;
}
.woocommerce-MyAccount-content a {
  color: var(--burgundy);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Orders table */
.woocommerce-orders-table,
.woocommerce-MyAccount-content table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-sans);
  font-size: 13px;
  margin-bottom: 32px;
}
.woocommerce-orders-table th,
.woocommerce-MyAccount-content table th {
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--warm-gray);
  font-weight: 500;
  padding: 12px 16px;
  border-bottom: 2px solid var(--border);
  text-align: left;
}
.woocommerce-orders-table td,
.woocommerce-MyAccount-content table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  color: var(--burgundy-dark);
  vertical-align: middle;
}
.woocommerce-orders-table tr:hover td {
  background: var(--cream);
}

/* Order status — badges */
.woocommerce-orders-table .wc-item-meta,
mark.order-status {
  font-family: var(--font-sans);
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 2px;
  background: var(--cream);
  color: var(--burgundy-dark);
}
mark.order-status.status-completed {
  background: #e8f5e9;
  color: #2e7d32;
}
mark.order-status.status-processing {
  background: #fff8e1;
  color: #f57f17;
}
mark.order-status.status-on-hold {
  background: #e3f2fd;
  color: #1565c0;
}
mark.order-status.status-cancelled {
  background: #ffebee;
  color: #c62828;
}

/* View button in the orders table */
.woocommerce-orders-table .button,
.woocommerce-MyAccount-content .button {
  padding: 8px 20px;
  font-size: 9px;
  letter-spacing: 0.14em;
}

/* Account edit form */
.woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--border);
  padding: 24px;
  margin-bottom: 24px;
}
.woocommerce-EditAccountForm legend {
  font-family: var(--font-sans);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--warm-gray);
  padding: 0 8px;
}

/* Addresses — consolidated below in the "--- Addresses ---" block. */

/* Lost password — form */
.lost_reset_password .form-row label {
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px;
  display: block;
}

/* col2-set (login + register side by side) */
.woocommerce-account .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  .woocommerce-account .col2-set {
    grid-template-columns: 1fr;
  }
}
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--border);
  padding: 32px;
  background: rgba(255, 255, 255, 0.4);
}
.woocommerce form.login h2,
.woocommerce form.register h2 {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  color: var(--burgundy);
  margin-bottom: 24px;
  font-weight: 400;
}

/* Empty orders list */
.woocommerce-MyAccount-content .woocommerce-message {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--text-muted);
  border-top: 3px solid var(--burgundy);
  padding: 16px 20px;
  background: var(--parchment);
}

/* =============================================================
   APPALOOSA v4 — MY ACCOUNT full redesign
   ============================================================= */

/* --- Remove the huge top spacing --- */
.woocommerce-account .page-content,
.woocommerce-account.woocommerce .page-content {
  padding-top: 90px;
}

/* --- Main container --- */
.woocommerce-account .woocommerce {
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 40px 80px;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 48px;
  align-items: start;
}
@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
    padding: 32px 16px 60px;
    gap: 32px;
  }
}

/* --- My Account navigation --- */
.woocommerce-MyAccount-navigation {
  /* Sticky sidebar */
  position: sticky;
  top: 120px;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
@media (max-width: 768px) {
  .woocommerce-MyAccount-navigation {
    position: static;
  }
  .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px;
  }
}

/* --- Menu items --- */
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 16px;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--text-muted);
  border: 1px solid transparent;
  transition: all 0.2s ease;
  text-decoration: none;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--burgundy);
  background: var(--cream);
  border-color: var(--border);
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--dashboard.is-active
  a {
  background: var(--burgundy);
  color: var(--parchment);
  border-color: var(--burgundy);
}

/* Logout — separate it visually, remove it from the main flow */
.woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 16px;
  border-top: 1px solid var(--border);
  padding-top: 12px;
}
.woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--customer-logout
  a {
  color: var(--text-muted);
  font-size: 9px;
  letter-spacing: 0.1em;
}
.woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link--customer-logout
  a:hover {
  color: #c0392b;
  background: transparent;
  border-color: transparent;
}
@media (max-width: 768px) {
  .woocommerce-MyAccount-navigation
    ul
    li.woocommerce-MyAccount-navigation-link--customer-logout {
    width: 100%;
    margin-top: 8px;
    border-top: 1px solid var(--border);
    padding-top: 8px;
  }
}

/* --- My Account content --- */
.woocommerce-MyAccount-content {
  min-width: 0;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: var(--font-serif);
  color: var(--burgundy);
  font-weight: 400;
  margin-bottom: 20px;
}
.woocommerce-MyAccount-content h2 {
  font-size: clamp(1.4rem, 2.5vw, 1.8rem);
}
.woocommerce-MyAccount-content h3 {
  font-size: 1.2rem;
  margin-top: 32px;
}
.woocommerce-MyAccount-content p {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-muted);
  margin-bottom: 16px;
}
.woocommerce-MyAccount-content p strong {
  color: var(--burgundy-dark);
  font-weight: 500;
}
.woocommerce-MyAccount-content a {
  color: var(--burgundy);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --- Orders table --- */
.woocommerce-orders-table,
.woocommerce-MyAccount-content table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-sans);
  font-size: 13px;
  margin-bottom: 32px;
}
.woocommerce-orders-table th,
.woocommerce-MyAccount-content table th {
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--warm-gray, #8c7a6b);
  font-weight: 500;
  padding: 10px 14px;
  border-bottom: 2px solid var(--border);
  text-align: left;
  background: transparent;
}
.woocommerce-orders-table td,
.woocommerce-MyAccount-content table td {
  padding: 14px;
  border-bottom: 1px solid var(--border);
  color: var(--burgundy-dark);
  vertical-align: middle;
}
.woocommerce-orders-table tbody tr:hover td {
  background: var(--cream);
}
@media (max-width: 600px) {
  .woocommerce-orders-table,
  .woocommerce-orders-table thead,
  .woocommerce-orders-table tbody,
  .woocommerce-orders-table th,
  .woocommerce-orders-table td,
  .woocommerce-orders-table tr {
    display: block;
  }
  .woocommerce-orders-table thead {
    display: none;
  }
  .woocommerce-orders-table td {
    padding: 8px 0;
    border: none;
  }
  .woocommerce-orders-table tr {
    border: 1px solid var(--border);
    padding: 12px 16px;
    margin-bottom: 8px;
  }
}

/* --- Order statuses --- */
mark.order-status {
  font-family: var(--font-sans) !important;
  font-size: 9px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 3px 8px !important;
  border-radius: 2px !important;
  background: var(--cream) !important;
  color: var(--burgundy-dark) !important;
}
mark.order-status.status-completed {
  background: #e8f5e9 !important;
  color: #2e7d32 !important;
}
mark.order-status.status-processing {
  background: #fff8e1 !important;
  color: #f57f17 !important;
}
mark.order-status.status-on-hold {
  background: #e3f2fd !important;
  color: #1565c0 !important;
}
mark.order-status.status-cancelled {
  background: #ffebee !important;
  color: #c62828 !important;
}

/* --- Buttons in My Account --- */
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content input[type="submit"],
.woocommerce-MyAccount-content button[type="submit"] {
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  background: var(--burgundy) !important;
  color: var(--parchment) !important;
  border: 1px solid var(--burgundy) !important;
  padding: 12px 24px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
  border-radius: 0 !important;
}
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover {
  background: var(--burgundy-dark) !important;
  color: var(--parchment) !important;
}

/* "Browse products" button */
.woocommerce-MyAccount-content .wc-forward {
  background: var(--burgundy) !important;
  color: var(--parchment) !important;
  border-color: var(--burgundy) !important;
}

/* --- Form fields in My Account (Account Details, Addresses) --- */
.woocommerce-MyAccount-content .woocommerce-form__label,
.woocommerce-MyAccount-content label {
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  font-weight: 500 !important;
  display: block !important;
  margin-bottom: 6px !important;
}
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content input[type="number"],
.woocommerce-MyAccount-content input[type="search"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  color: var(--burgundy-dark) !important;
  background: transparent !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  width: 100% !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease !important;
}
.woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-MyAccount-content input[type="password"]:focus,
.woocommerce-MyAccount-content input[type="tel"]:focus,
.woocommerce-MyAccount-content input[type="number"]:focus,
.woocommerce-MyAccount-content input[type="search"]:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
  border-color: var(--burgundy) !important;
  outline: none !important;
  box-shadow: none !important;
}
.woocommerce-MyAccount-content .form-row {
  margin-bottom: 20px !important;
}
.woocommerce-MyAccount-content fieldset {
  border: 1px solid var(--border) !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
}
.woocommerce-MyAccount-content fieldset legend {
  font-family: var(--font-sans) !important;
  font-size: 9px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  padding: 0 8px !important;
}

/* --- woocommerce-info (No orders, icon removed) --- */
.woocommerce-MyAccount-content .woocommerce-info {
  background: var(--parchment) !important;
  border-top: 3px solid var(--burgundy) !important;
  padding: 16px 20px !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  color: var(--text-muted) !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
/* Remove the ::before icon */
.woocommerce-MyAccount-content .woocommerce-info::before {
  display: none !important;
}
.woocommerce-info::before {
  display: none !important;
}

/* --- Addresses ---
   WooCommerce renders this list as `.woocommerce-Addresses col2-set` with
   each card as `.woocommerce-Address u-column1 col-1` (floated, ~48% wide
   by WooCommerce's own CSS). We force a clean two-column grid and neutralise
   those floats/widths so the cards sit side by side instead of in narrow,
   wrapping columns. */
.woocommerce-Addresses,
.woocommerce-account .woocommerce-Addresses.col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  float: none !important;
  width: 100% !important;
}
@media (max-width: 600px) {
  .woocommerce-Addresses,
  .woocommerce-account .woocommerce-Addresses.col2-set {
    grid-template-columns: 1fr;
  }
}
/* Each address card — kill WooCommerce's float/width on .col-1/.col-2 */
.woocommerce-Addresses .woocommerce-Address,
.woocommerce-Addresses .u-column1,
.woocommerce-Addresses .u-column2,
.woocommerce-Addresses .col-1,
.woocommerce-Addresses .col-2 {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  border: 1px solid var(--border);
  padding: 24px;
  box-sizing: border-box;
}
/* Card header: title left, edit/add link right, on one row */
.woocommerce-Address-title,
.woocommerce-Address header,
.woocommerce-Address .title {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.woocommerce-Address-title h3,
.woocommerce-Address header h3,
.woocommerce-Address .title h3 {
  margin: 0 !important;
  font-family: var(--font-serif) !important;
  font-size: 1.05rem !important;
  color: var(--burgundy) !important;
  font-weight: 400 !important;
  white-space: nowrap;
}
.woocommerce-Address-title .edit,
.woocommerce-Address header .edit,
.woocommerce-Address .title .edit {
  flex-shrink: 0;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--burgundy) !important;
  white-space: nowrap;
}
.woocommerce-Address-title .edit:hover,
.woocommerce-Address header .edit:hover {
  color: var(--burgundy-dark) !important;
}
.woocommerce-Address address {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.8;
  color: var(--text-muted);
  font-style: normal;
}

/* --- Login/Register form --- */
.woocommerce-account .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
}
@media (max-width: 600px) {
  .woocommerce-account .col2-set {
    grid-template-columns: 1fr;
  }
}
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--border);
  padding: 32px;
}
.woocommerce form.login h2,
.woocommerce form.register h2 {
  font-family: var(--font-serif) !important;
  font-size: 1.6rem !important;
  color: var(--burgundy) !important;
  margin-bottom: 24px !important;
  font-weight: 400 !important;
}
.woocommerce form.login .form-row,
.woocommerce form.register .form-row {
  margin-bottom: 20px;
}

/* ============================================================
 * FIX #5: Remove WooCommerce icons (::before)
 * ============================================================ */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
  display: none !important;
}
.woocommerce-info,
.woocommerce-message {
  padding-left: 20px !important;
}

/* ============================================================
 * FIX #12: Checkout page — fix for "Content coming soon"
 * WooCommerce block checkout: we override padding and layout
 * ============================================================ */

/* Remove the page-hero with "Content coming soon" on the checkout page */
.woocommerce-checkout .page-hero,
body.woocommerce-checkout .page-hero {
  display: none !important;
}

/* Checkout — main container */
.woocommerce-checkout .page-content,
.wp-block-woocommerce-checkout {
  padding-top: 80px;
  padding-bottom: 80px;
}

/* Place Order button */
.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button:not(:disabled) {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 32px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  width: 100% !important;
}
.wc-block-components-checkout-place-order-button:hover {
  background: var(--burgundy-dark) !important;
}

/* Checkout input fields */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout select {
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  background: var(--cream) !important;
  color: var(--burgundy-dark) !important;
  outline: none !important;
  box-shadow: none !important;
}
.wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout input:focus {
  border-color: var(--burgundy) !important;
}

/* Order summary — responsive */
@media (max-width: 768px) {
  .wp-block-woocommerce-checkout {
    display: flex !important;
    flex-direction: column !important;
  }
  .wp-block-woocommerce-checkout-order-summary-block {
    order: -1 !important;
  }
}

/* ============================================================
 * FIX #10: "Added to cart" notification
 * ============================================================ */
.woocommerce-message,
.wc-block-components-notice {
  background: var(--cream) !important;
  border: none !important;
  border-top: 3px solid var(--burgundy) !important;
  color: var(--burgundy-dark) !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  padding: 16px 20px !important;
  border-radius: 0 !important;
  box-shadow: 0 2px 12px rgba(74, 16, 16, 0.08) !important;
}
.woocommerce-message .button,
.woocommerce-message a.button {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  font-family: var(--font-sans) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 10px 20px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background 0.2s !important;
  float: none !important;
  margin-left: 16px !important;
}
.woocommerce-message .button:hover {
  background: var(--burgundy-dark) !important;
}

/* ============================================================
 * FIX #9: PRODUCT PAGE — full redesign
 * ============================================================ */

/* B) Price — color and size */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme))
  div.product
  span.price {
  color: var(--burgundy-dark) !important;
  font-size: 1.1rem !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
/* Old price — small and gray, ABOVE the main one */
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--warm-gray) !important;
  font-size: 0.85rem !important;
  opacity: 0.7 !important;
  text-decoration: line-through !important;
}
/* New price — burgundy */
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  color: var(--burgundy-dark) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  background: none !important;
}
/* Remove the default WooCommerce yellow/olive color */
.woocommerce div.product .price,
.woocommerce ul.products li.product .price {
  color: var(--burgundy-dark) !important;
}

/* C) Add to Cart button */
.woocommerce .single_add_to_cart_button,
.woocommerce button.button.alt,
.woocommerce button.single_add_to_cart_button {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 32px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  width: 100% !important;
  margin-top: 12px !important;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover,
.woocommerce button.single_add_to_cart_button:hover {
  background: var(--burgundy-dark) !important;
  color: var(--cream) !important;
}
/* disabled state */
.woocommerce .single_add_to_cart_button.disabled,
.woocommerce .single_add_to_cart_button:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
}

/* D) Tabs */
.woocommerce div.product .woocommerce-tabs .tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
  list-style: none !important;
  background: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--warm-gray) !important;
  padding: 14px 24px !important;
  display: block !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--burgundy) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid var(--burgundy) !important;
  background: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--burgundy) !important;
}

/* E) Submit button in the reviews form */
.woocommerce #reviews #respond input#submit,
.woocommerce .comment-form input[type="submit"],
#review_form .form-submit input[type="submit"],
p.form-submit input[type="submit"] {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  width: auto !important; /* do NOT stretch to full width */
  display: inline-block !important;
}
#review_form .form-submit input[type="submit"]:hover,
p.form-submit input[type="submit"]:hover {
  background: var(--burgundy-dark) !important;
}

/* F) input/select fields on the product page — like contact-form */
.woocommerce div.product input[type="text"],
.woocommerce div.product input[type="email"],
.woocommerce div.product input[type="number"],
.woocommerce div.product textarea,
.woocommerce div.product select,
.woocommerce #reviews input[type="text"],
.woocommerce #reviews input[type="email"],
.woocommerce #reviews textarea {
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  background: var(--cream) !important;
  color: var(--burgundy-dark) !important;
  outline: none !important;
  box-shadow: none !important;
  width: 100% !important;
  transition: border-color 0.2s ease !important;
}
.woocommerce div.product input:focus,
.woocommerce div.product textarea:focus,
.woocommerce div.product select:focus,
.woocommerce #reviews input:focus,
.woocommerce #reviews textarea:focus {
  border-color: var(--burgundy) !important;
}

/* A) Variations — hide the standard select-table, JS will add custom swatches */
.woocommerce .variations_form table.variations {
  display: none !important;
}
/* Custom swatches container */
.appaloosa-swatches-wrap {
  margin: 16px 0;
}
.appaloosa-swatch-label {
  font-family: var(--font-sans);
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--warm-gray);
  margin-bottom: 10px;
  display: block;
}
.appaloosa-swatch-label span {
  color: var(--burgundy-dark);
  margin-left: 6px;
}
.appaloosa-size-swatches,
.appaloosa-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.appaloosa-size-btn {
  min-width: 44px;
  height: 44px;
  border: 1px solid var(--border);
  background: var(--cream);
  color: var(--burgundy-dark);
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
}
.appaloosa-size-btn:hover {
  border-color: var(--burgundy);
  color: var(--burgundy);
}
.appaloosa-size-btn.active,
.appaloosa-size-btn.selected {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--cream);
}
.appaloosa-size-btn.disabled-swatch {
  opacity: 0.35;
  cursor: not-allowed;
  text-decoration: line-through;
}
.appaloosa-color-swatch {
  width: 36px;
  height: 36px;
  border: 2px solid var(--border);
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.appaloosa-color-swatch:hover {
  border-color: var(--burgundy);
}
.appaloosa-color-swatch.active,
.appaloosa-color-swatch.selected {
  border-color: var(--burgundy);
  box-shadow:
    0 0 0 2px var(--cream),
    0 0 0 4px var(--burgundy);
}

/* G) All button hover states — var(--burgundy-dark) */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--burgundy-dark) !important;
  color: var(--cream) !important;
}

/* Sale badge — in the site design */
.woocommerce span.onsale {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  font-family: var(--font-sans) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 4px 10px !important;
  min-width: auto !important;
  min-height: auto !important;
  line-height: 1.4 !important;
}

/* Default Sorting select */
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 10px 16px !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background: var(--cream) !important;
  color: var(--burgundy-dark) !important;
  outline: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.woocommerce .woocommerce-ordering select:focus {
  border-color: var(--burgundy) !important;
}

/* ============================================================
 * FIX #11: CART PAGE (block cart)
 * ============================================================ */

/* Common container */
.wc-block-cart__main,
.wc-block-cart-items {
  padding: 0 !important;
}
.wc-block-cart {
  gap: 40px !important;
}

/* Coupon fields */
.wc-block-components-totals-coupon__input input,
.wc-block-components-totals-coupon .wc-block-components-text-input input {
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  background: var(--cream) !important;
  color: var(--burgundy-dark) !important;
  outline: none !important;
  box-shadow: none !important;
}
.wc-block-components-totals-coupon__input input:focus {
  border-color: var(--burgundy) !important;
}

/* Apply button */
.wc-block-components-totals-coupon__button,
.wc-block-components-button.wc-block-components-totals-coupon__button {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 24px !important;
  transition: background 0.2s ease !important;
}
.wc-block-components-totals-coupon__button:hover {
  background: var(--burgundy-dark) !important;
}

/* Proceed to Checkout button */
.wc-block-cart__submit-button,
.wp-element-button.wc-block-cart__submit-button {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 32px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  width: 100% !important;
}
.wc-block-cart__submit-button:hover {
  background: var(--burgundy-dark) !important;
}

/* Cart responsive */
@media (max-width: 768px) {
  .wc-block-cart {
    flex-direction: column !important;
  }
  .wc-block-cart__sidebar {
    width: 100% !important;
  }
}

/* ============================================================
 * FIX #14: MY ACCOUNT — full redesign
 * ============================================================ */

/* Logout — hide it from the main list */
.woocommerce-MyAccount-navigation-link--customer-logout {
  display: none !important;
}

/* Browse products button */
.woocommerce-Button.wc-forward,
a.woocommerce-Button.wc-forward {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 28px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background 0.2s ease !important;
}
.woocommerce-Button.wc-forward:hover {
  background: var(--burgundy-dark) !important;
}

/* My Account form fields */
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea {
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  background: var(--cream) !important;
  color: var(--burgundy-dark) !important;
  outline: none !important;
  box-shadow: none !important;
  width: 100% !important;
}
.woocommerce-account .woocommerce-MyAccount-content input:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus,
.woocommerce-account .woocommerce-MyAccount-content textarea:focus {
  border-color: var(--burgundy) !important;
}

/* My Account Save buttons */
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  width: auto !important;
}
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover {
  background: var(--burgundy-dark) !important;
}

/* .woocommerce-info without icon */
.woocommerce-account .woocommerce-info::before {
  display: none !important;
}
.woocommerce-account .woocommerce-info {
  border-top-color: var(--burgundy) !important;
  padding-left: 20px !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  color: var(--text-muted) !important;
}

/* My Account mobile navigation — horizontal scroll */
@media (max-width: 768px) {
  .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 0 !important;
    border-bottom: 1px solid var(--border) !important;
    padding-bottom: 0 !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .woocommerce-MyAccount-navigation ul li {
    flex-shrink: 0 !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
  }
  .woocommerce-MyAccount-navigation ul li.is-active {
    border-bottom: 2px solid var(--burgundy) !important;
  }
  .woocommerce-MyAccount-navigation ul li a {
    white-space: nowrap !important;
    padding: 12px 16px !important;
  }
}

/* wc-tabs additional selector */
ul.wc-tabs,
.woocommerce-tabs ul.wc-tabs {
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
  list-style: none !important;
  background: none !important;
}
ul.wc-tabs li a,
.woocommerce-tabs ul.wc-tabs li a {
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--warm-gray) !important;
  padding: 14px 24px !important;
  display: block !important;
  text-decoration: none !important;
}
ul.wc-tabs li.active a,
.woocommerce-tabs ul.wc-tabs li.active a {
  color: var(--burgundy) !important;
}
ul.wc-tabs li.active,
.woocommerce-tabs ul.wc-tabs li.active {
  border-bottom: 2px solid var(--burgundy) !important;
}

/* =============================================================
   APPALOOSA v4.6 — WOOCOMMERCE + PAYMENT FINAL FIXES
   ============================================================= */

/* ---- FIX #8: wc-tabs full rewrite ---- */
ul.wc-tabs,
.woocommerce-tabs ul.tabs.wc-tabs {
  border-bottom: 1px solid var(--border) !important;
  display: flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
  background: none !important;
}
ul.wc-tabs::before,
ul.wc-tabs::after {
  display: none !important;
}
ul.wc-tabs li {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
ul.wc-tabs li a {
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  padding: 14px 24px !important;
  border-bottom: 2px solid transparent !important;
  display: block !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
ul.wc-tabs li a:hover {
  color: var(--burgundy) !important;
}
ul.wc-tabs li.active {
  border: none !important;
  background: none !important;
}
ul.wc-tabs li.active a {
  color: var(--burgundy) !important;
  border-bottom-color: var(--burgundy) !important;
}
ul.wc-tabs li::before,
ul.wc-tabs li::after {
  display: none !important;
}

/* ---- FIX #9: shop_attributes table ---- */
table.shop_attributes,
.woocommerce-product-attributes.shop_attributes {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-top: 16px !important;
}
table.shop_attributes th {
  width: 40% !important;
  text-align: left !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--text-muted) !important;
  padding: 10px 0 !important;
  vertical-align: top !important;
  background: none !important;
}
table.shop_attributes td {
  color: var(--burgundy-dark) !important;
  padding: 10px 0 !important;
  font-style: normal !important;
  background: none !important;
}

/* ---- FIX #10: comment-respond / reviews ---- */
.comment-respond,
#review_form_wrapper {
  margin-top: 32px;
}
.comment-respond .comment-reply-title,
#reviews .comment-reply-title {
  font-family: var(--font-serif) !important;
  color: var(--burgundy) !important;
  font-size: 1.1rem !important;
  margin-bottom: 20px !important;
}
#reviews .commentlist {
  list-style: none !important;
  padding: 0 !important;
}

/* ---- FIX #11: #comment + form-submit ---- */
#comment {
  min-height: 100px !important;
}
.comment-form .form-submit,
p.form-submit {
  margin: 0 !important;
  padding: 0 !important;
}
.comment-form .form-submit input.submit,
p.form-submit input#submit,
#review_form .form-submit input[type="submit"] {
  width: auto !important;
  display: inline-block !important;
  background: var(--burgundy) !important;
  color: #fff !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 40px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}
.comment-form .form-submit input.submit:hover,
p.form-submit input#submit:hover {
  background: var(--burgundy-dark) !important;
}

/* ---- FIX #12: notices-wrapper outline ---- */
.woocommerce-notices-wrapper:empty {
  display: none !important;
}
.woocommerce-notices-wrapper {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ---- FIX #13: cart layout grid ---- */
.wc-block-cart.is-large .wc-block-components-sidebar-layout,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 40px !important;
  align-items: start !important;
}
@media (max-width: 768px) {
  .wc-block-cart.is-large .wc-block-components-sidebar-layout,
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}
.wc-block-cart-items,
.wc-block-cart__main {
  padding: 0 !important;
}

/* ---- FIX #14: coupon label overlaps ---- */
.wc-block-components-totals-coupon__form {
  display: flex !important;
  gap: 8px !important;
  align-items: stretch !important;
}
.wc-block-components-totals-coupon__input {
  position: relative !important;
  flex: 1 !important;
}
.wc-block-components-totals-coupon__input label {
  font-size: 10px !important;
  font-family: var(--font-sans) !important;
  color: var(--warm-gray) !important;
  transform: translateY(-50%) !important;
  left: 16px !important;
}
.wc-block-components-totals-coupon__input input:focus + label,
.wc-block-components-totals-coupon__input
  input:not(:placeholder-shown)
  + label {
  font-size: 9px !important;
  top: 0 !important;
}

/* ---- FIX #16: validation-error icon ---- */
.wc-block-components-validation-error {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: var(--burgundy) !important;
}
.wc-block-components-validation-error svg {
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
}

/* ---- FIX #15: ALL input/textarea/select unified style ---- */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="search"],
.woocommerce textarea,
.woocommerce select,
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-textarea textarea,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form textarea,
.wpforms-form select {
  width: 100% !important;
  padding: 14px 16px !important;
  border: 1px solid var(--border) !important;
  background: #fff !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  color: var(--burgundy-dark) !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 0.2s !important;
  box-shadow: none !important;
}
.woocommerce input:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus,
.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus {
  border-color: var(--burgundy) !important;
}
/* qty input in .qty-wrapper should not stretch to 100% */
.woocommerce .qty-wrapper input[type="number"] {
  width: 48px !important;
}

/* ---- FIX #23: My Account flex layout ---- */
.woocommerce-account .woocommerce {
  display: flex !important;
  gap: 40px !important;
  align-items: flex-start !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 220px !important;
  flex-shrink: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1 !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    flex-direction: column !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
  }
}

/* ---- FIX #27: WPForms submit like the site buttons ---- */
.wpforms-form button[type="submit"],
.wpforms-submit {
  background: var(--burgundy) !important;
  color: #fff !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 40px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  width: auto !important;
}
.wpforms-form button[type="submit"]:hover,
.wpforms-submit:hover {
  background: var(--burgundy-dark) !important;
}

/* ---- FIX #29: maib / Stripe payment fields ---- */
#maib-payment-form input,
.maib-checkout-container input,
.StripeElement {
  border: 1px solid var(--border) !important;
  padding: 14px 16px !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-family: var(--font-sans) !important;
}
.StripeElement--focus,
#maib-payment-form input:focus {
  border-color: var(--burgundy) !important;
}
@media (max-width: 768px) {
  .woocommerce-checkout #maib-payment-form,
  .woocommerce-checkout .StripeElement {
    width: 100% !important;
  }
}

/* =============================================================
   APPALOOSA v4.7 — AUDIT FIXES (shop layer)
   Loaded site-wide but every rule is scoped to WooCommerce / shop
   markup, so non-shop pages are unaffected. Touch + cross-browser
   refinements that must live here because this file loads last.
   ============================================================= */

/* TOUCH — 44x44 tap targets for shop controls (touch devices only).
   These selectors are defined in this file, so the override must be
   here to win the cascade over the compact desktop sizes above. */
@media (pointer: coarse) {
  .appaloosa-color-swatch {
    width: 44px;
    height: 44px;
  }
  .woocommerce .button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce-pagination a,
  .woocommerce-pagination span {
    min-height: 44px;
  }
  .woocommerce-pagination a,
  .woocommerce-pagination span {
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* CROSS-BROWSER — keep the WooCommerce ordering <select> caret
   consistent across engines (matches main.css select reset). */
.woocommerce-ordering select,
.woocommerce select.orderby {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* RESPONSIVE — never let product/cart imagery exceed its column. */
.woocommerce img,
.woocommerce .wp-post-image,
.product-single img {
  max-width: 100%;
  height: auto;
}

/* =============================================================
   APPALOOSA v4.8 — UNIFIED INTERACTIVE ELEMENTS (shop)
   Forces every WooCommerce-rendered button / input / textarea /
   select / label onto the single Appaloosa standard. Appended last
   and uses !important to win over WooCommerce core + block styles.
   Payment fields (maib / Stripe) are explicitly excluded.
   ============================================================= */

/* ---- BUTTONS — burgundy / #fff / 11px / 0.14em / radius 0 --------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.woocommerce #respond input#submit,
.woocommerce button.single_add_to_cart_button,
.woocommerce .single_add_to_cart_button,
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content input[type="submit"],
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-message a.button,
p.form-submit input[type="submit"],
#review_form .form-submit input[type="submit"],
.woocommerce #reviews #respond input#submit,
.comment-form input[type="submit"],
.wpforms-form button[type="submit"],
.wpforms-submit,
.wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-totals-coupon__button,
.wp-element-button {
  background: var(--burgundy) !important;
  color: #fff !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  padding: 16px 40px !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer;
  transition: background 0.2s ease !important;
  box-shadow: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.single_add_to_cart_button:hover,
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover,
.wpforms-submit:hover,
.wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-totals-coupon__button:hover,
.wp-element-button:hover {
  background: var(--burgundy-dark) !important;
  color: #fff !important;
}
.woocommerce .single_add_to_cart_button:disabled,
.woocommerce button.button:disabled,
.wc-block-components-button:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}

/* ---- INPUTS / TEXTAREAS / SELECTS — shared field standard ---------
   Excludes payment gateway fields (maib / Stripe) entirely. */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="search"],
.woocommerce textarea,
.woocommerce select,
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea,
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-totals-coupon__input input,
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout select {
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  background-color: transparent !important;
  color: var(--burgundy-dark) !important;
  box-shadow: none !important;
}
/* Never restyle payment-gateway inputs */
#maib-payment-form input,
.StripeElement,
.StripeElement input,
.wc-stripe-elements-field,
.payment_box input {
  border-radius: revert !important;
  font-size: revert !important;
}
.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="number"]:focus,
.woocommerce input[type="search"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content textarea:focus,
.wc-block-components-text-input input:focus {
  border-color: var(--burgundy) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Quantity input keeps the unified ± stepper component (qty-wrapper);
   only normalise the bare number field's type metrics. */
.woocommerce .quantity input.qty {
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  border-radius: 0 !important;
}

/* ---- LABELS — 11px / 0.12em / uppercase / muted -------------------
   Classic + My Account labels only. Block-checkout floating labels are
   left to WooCommerce so the float animation keeps working. */
.woocommerce form .form-row label,
.woocommerce-MyAccount-content label,
.woocommerce-MyAccount-content .woocommerce-form__label,
.woocommerce-form-row label,
.lost_reset_password .form-row label {
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
}

/* ---- ORDERING SELECT — the custom dropdown trigger (built by JS)
   inherits the shared trigger style; keep the native select hidden. */
.woocommerce-ordering .custom-select-wrapper {
  min-width: 220px;
}

/* ---- CHECKOUT country/state stay native for reliability, but match
   the field standard so they look unified (no risky DOM surgery). --- */
.woocommerce-checkout select,
.wc-block-components-country-input select,
.wc-block-components-state-input select {
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  background-color: transparent !important;
  color: var(--burgundy-dark) !important;
}

/* =============================================================
   APPALOOSA v4.8 — EDITORIAL REFINEMENT LAYER (shop)
   CSS-only elevation of the WooCommerce experience. Same brand
   tokens, button & input standards — refined layout, hover,
   tabs, swatches, cart, checkout and account pages.
   Appended last so it elevates without rewriting the rules above.
   ============================================================= */

/* ---- SHOP CATALOG — filter bar + grid rhythm -------------------- */
.shop-products-grid {
  gap: clamp(20px, 2.5vw, 40px) clamp(16px, 2vw, 32px);
}
.shop-filter-bar {
  backdrop-filter: blur(8px);
}
.shop-filter-tab {
  position: relative;
  transition: color 0.25s ease;
}
.shop-filter-tab::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: var(--burgundy);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s var(--ease-out, ease);
}
.shop-filter-tab:hover::after,
.shop-filter-tab.active::after {
  transform: scaleX(1);
}

/* ---- SINGLE PRODUCT — layout, gallery, price ------------------- */
.product-single {
  gap: clamp(32px, 5vw, 72px);
}
.product-single-main {
  box-shadow: 0 36px 70px -48px rgba(40, 8, 8, 0.55);
}
.product-single-thumb {
  transition:
    opacity 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}
.product-single-thumb:hover {
  transform: translateY(-2px);
}
.product-single-title {
  letter-spacing: -0.015em;
  line-height: 1.1;
}
.product-single-price {
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}
.product-single-price ins {
  text-decoration: none;
  color: var(--burgundy);
}
.product-single-price del {
  color: var(--warm-gray);
  margin-right: 10px;
  font-size: 1rem;
}

/* ---- SINGLE PRODUCT — refined detail rows (tabs alternative) --- */
.modal-details,
.product-single .modal-details {
  border-top: 1px solid var(--border);
  margin-top: 8px;
}
.modal-detail-row {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 13px 0;
  border-bottom: 1px solid var(--border);
}
.modal-detail-key {
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--warm-gray);
}
.modal-detail-val {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--burgundy-dark);
  text-align: right;
}

/* ---- SINGLE PRODUCT — swatches polish -------------------------- */
.appaloosa-swatch-label {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--warm-gray);
  margin-bottom: 12px;
}
.appaloosa-size-btn {
  transition:
    border-color 0.2s ease,
    color 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease;
}
.appaloosa-size-btn:hover {
  transform: translateY(-1px);
}
.appaloosa-color-swatch {
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease;
}
.appaloosa-color-swatch:hover {
  transform: translateY(-1px);
}

/* ---- CART DRAWER — cleaner line items -------------------------- */
.cart-drawer-header {
  padding: 24px 24px 18px;
  border-bottom: 1px solid var(--border);
}
.cart-item {
  padding: 18px 24px;
  gap: 16px;
  transition: background 0.2s ease;
}
.cart-item:hover {
  background: var(--parchment);
}
.cart-item-img {
  border-radius: 0;
}
.cart-item-name {
  letter-spacing: 0.01em;
}
.cart-item-remove {
  transition: color 0.2s ease;
}
.cart-drawer-footer {
  padding: 22px 24px 26px;
  gap: 14px;
}

/* ---- CHECKOUT — elegant form layout ---------------------------
   Grid → flex: the 1fr 1fr grid broke the two columns when combined
   with WooCommerce core's float/width rules. Flex + wrap lets billing
   and order-notes sit side by side and stack cleanly on mobile, while
   #order_review spans the full checkout width in a row below. */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details.col2-set {
  display: flex !important;
  flex-wrap: wrap;
  gap: clamp(24px, 4vw, 56px);
  float: none !important;
  width: 100% !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  float: none !important;
  flex: 1 1 480px;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
}
/* #order_review (order table + payment) must span the full width in its
   own row below the columns — override WooCommerce core's float:right/48%. */
#order_review_heading,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
  float: none !important;
  width: 100% !important;
  clear: both;
}
.woocommerce-checkout .form-row {
  margin-bottom: 18px;
}
.woocommerce-checkout h3,
#order_review_heading {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  color: var(--burgundy);
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
#order_review,
.woocommerce-checkout-review-order {
  border: 1px solid var(--border);
  padding: clamp(20px, 3vw, 32px);
  background: var(--parchment);
}
/* Order review table — unified table look, total row emphasised */
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-sans);
  font-size: 14px;
  margin-bottom: 24px;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 8px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  color: var(--burgundy-dark);
}
.woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout-review-order-table th:last-child {
  text-align: right;
}
.woocommerce-checkout-review-order-table thead th {
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--warm-gray);
  font-weight: 500;
}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  color: var(--burgundy);
  border-top: 1px solid var(--border);
  border-bottom: none;
}
/* Payment box + Place Order button */
#payment {
  background: transparent !important;
  border-radius: 0 !important;
  margin-top: 16px;
}
#payment ul.payment_methods {
  border: 1px solid var(--border) !important;
  padding: 16px !important;
  list-style: none !important;
  margin: 0 0 16px !important;
  background: rgba(255, 255, 255, 0.4);
}
#payment #place_order,
.woocommerce-checkout #place_order {
  width: 100% !important;
  margin-top: 8px !important;
}
/* Coupon toggle — proper bordered info bar, not a stray line */
.woocommerce-form-coupon-toggle .woocommerce-info,
.checkout_coupon.woocommerce-form-coupon {
  border: 1px solid var(--border) !important;
  border-left: 3px solid var(--burgundy) !important;
  background: var(--parchment) !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  color: var(--burgundy-dark) !important;
  padding: 16px 20px !important;
  margin: 0 0 28px !important;
  border-radius: 0 !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info .showcoupon {
  color: var(--burgundy) !important;
  font-weight: 500 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---- MY ACCOUNT — dashboard sidebar + content ------------------ */
.woocommerce-MyAccount-navigation ul {
  border: 1px solid var(--border);
}
.woocommerce-MyAccount-navigation ul li a {
  position: relative;
  display: block;
  padding: 15px 18px;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  transition:
    background 0.2s ease,
    color 0.2s ease,
    padding-left 0.2s ease;
}
.woocommerce-MyAccount-navigation ul li:last-child a {
  border-bottom: none;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--parchment);
  color: var(--burgundy);
  padding-left: 24px;
}
.woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--burgundy);
  color: #fff;
}
.woocommerce-MyAccount-navigation ul li.is-active a:hover {
  background: var(--burgundy-dark);
  color: #fff;
  padding-left: 18px;
}
.woocommerce-MyAccount-content {
  border: 1px solid var(--border);
  padding: clamp(24px, 3.5vw, 44px);
  background: rgba(255, 255, 255, 0.35);
}
.woocommerce-MyAccount-content > h2:first-child,
.woocommerce-MyAccount-content > h3:first-child {
  margin-top: 0;
}

/* ---- MY ACCOUNT — spacious forms ------------------------------ */
.woocommerce-EditAccountForm,
.woocommerce-address-fields,
.woocommerce form.edit-account {
  max-width: 560px;
}
.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row {
  margin-bottom: 20px;
}
.woocommerce-EditAccountForm fieldset {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

/* ---- ORDER HISTORY — clean table ------------------------------ */
.woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table {
  border: 1px solid var(--border);
  border-collapse: separate;
  border-spacing: 0;
}
.woocommerce-orders-table thead th,
.woocommerce-MyAccount-content table.shop_table thead th {
  background: var(--parchment);
  font-family: var(--font-sans);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--warm-gray);
  padding: 16px;
  border-bottom: 1px solid var(--border);
}
.woocommerce-orders-table tbody td,
.woocommerce-MyAccount-content table.shop_table tbody td {
  padding: 16px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}
.woocommerce-orders-table tbody tr:last-child td {
  border-bottom: none;
}
.woocommerce-orders-table tbody tr {
  transition: background 0.2s ease;
}
.woocommerce-orders-table tbody tr:hover td {
  background: var(--parchment);
}

/* ---- REDUCED MOTION ------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .product-single-thumb:hover,
  .appaloosa-size-btn:hover,
  .appaloosa-color-swatch:hover {
    transform: none !important;
  }
}

/* =============================================================
   APPALOOSA — ISSUE FIXES (variations / account / order-received)
   Appended last so these rules are the authoritative layer.
   ============================================================= */

/* ---- ISSUE #1: out-of-stock COLOR swatch — clearly non-clickable ---
   Size swatches already have .disabled-swatch (line-through). Colour
   swatches are square chips, so we dim them and draw a diagonal strike. */
.appaloosa-color-swatch.disabled-swatch {
  opacity: 0.32;
  cursor: not-allowed;
  border-color: var(--border);
  box-shadow: none;
}
.appaloosa-color-swatch.disabled-swatch:hover {
  transform: none;
  border-color: var(--border);
}
.appaloosa-color-swatch.disabled-swatch::after {
  content: "";
  position: absolute;
  inset: -2px;
  background: linear-gradient(
    to top right,
    transparent calc(50% - 0.75px),
    var(--warm-gray) 50%,
    transparent calc(50% + 0.75px)
  );
  pointer-events: none;
}

/* =============================================================
   ISSUE #3: MY ACCOUNT — empty-state centering + card polish
   The sidebar/content grid, burgundy active state and unified
   inputs/buttons are established above; here we only correct the
   empty states (Orders / Downloads), which WooCommerce renders as
   a left-aligned info banner, into a centred card with the CTA
   button on its own line.
   ============================================================= */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notice {
  display: block !important;
  text-align: center;
  padding: 48px 32px !important;
  border: 1px solid var(--border) !important;
  border-top: 3px solid var(--burgundy) !important;
  background: var(--parchment) !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: var(--text-muted) !important;
  margin: 0 0 24px !important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account
  .woocommerce-MyAccount-content
  .woocommerce-info
  a.wc-forward,
.woocommerce-account
  .woocommerce-MyAccount-content
  .woocommerce-message
  .button,
.woocommerce-account
  .woocommerce-MyAccount-content
  .woocommerce-message
  a.wc-forward {
  display: block !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  margin: 24px auto 0 !important;
  float: none !important;
}
/* Addresses grid — keep the two cards equal-height and top-aligned. */
.woocommerce-Addresses,
.woocommerce-account .woocommerce-Addresses.col2-set {
  align-items: start;
}

/* =============================================================
   ISSUE #4: CHECKOUT — ORDER RECEIVED (THANK YOU) PAGE
   Styles the classic order-received markup: success banner,
   order overview summary, order-details table and the billing
   address card — all on the Appaloosa brand standard.
   ============================================================= */
.woocommerce-order {
  max-width: 820px;
  margin: 0 auto;
}

/* Success banner — burgundy accent instead of a plain paragraph */
.woocommerce-notice--success,
p.woocommerce-thankyou-order-received {
  display: block;
  border: 1px solid var(--border);
  border-left: 4px solid var(--burgundy);
  background: var(--parchment);
  font-family: var(--font-serif);
  font-size: clamp(1.1rem, 2.2vw, 1.5rem);
  line-height: 1.4;
  color: var(--burgundy);
  padding: 24px 28px;
  margin: 0 0 32px;
}

/* Order overview — clean summary grid: number / date / total / method */
ul.woocommerce-order-overview,
ul.woocommerce-order-overview.order_details {
  list-style: none;
  margin: 0 0 40px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  border: 1px solid var(--border);
}
ul.woocommerce-order-overview li {
  list-style: none;
  margin: 0;
  padding: 18px 24px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  font-family: var(--font-sans);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--warm-gray);
}
ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 8px;
  font-family: var(--font-serif);
  font-size: 1.05rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--burgundy);
  font-weight: 400;
}

/* Section headings — site h2 style (burgundy serif) */
.woocommerce-order-details__title,
.woocommerce-order-details h2,
.woocommerce-column__title {
  font-family: var(--font-serif) !important;
  color: var(--burgundy) !important;
  font-weight: 400 !important;
  font-size: clamp(1.3rem, 2.2vw, 1.6rem) !important;
  margin: 32px 0 16px !important;
}

/* Order details table — unified table style (matches cart / orders) */
.woocommerce-table--order-details,
.woocommerce-order-details table.shop_table,
.woocommerce-order table.order_details {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--border);
  font-family: var(--font-sans);
  font-size: 14px;
  margin-bottom: 40px;
}
.woocommerce-table--order-details thead th,
.woocommerce-order-details table.shop_table thead th {
  background: var(--parchment);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--warm-gray);
  font-weight: 500;
  text-align: left;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
}
.woocommerce-table--order-details tbody td,
.woocommerce-order-details table.shop_table tbody td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
  color: var(--burgundy-dark);
  vertical-align: top;
}
.woocommerce-table--order-details tbody td.product-total,
.woocommerce-table--order-details tfoot td {
  text-align: right;
}
.woocommerce-table--order-details tfoot th {
  text-align: left;
  padding: 12px 18px;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--warm-gray);
  border-top: 1px solid var(--border);
}
.woocommerce-table--order-details tfoot td {
  padding: 12px 18px;
  color: var(--burgundy-dark);
  border-top: 1px solid var(--border);
}
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  color: var(--burgundy);
}

/* Customer / billing details — bordered card matching the account page */
.woocommerce-customer-details .col2-set,
.woocommerce-customer-details .woocommerce-columns--2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 600px) {
  .woocommerce-customer-details .col2-set,
  .woocommerce-customer-details .woocommerce-columns--2 {
    grid-template-columns: 1fr;
  }
}
.woocommerce-customer-details address {
  font-style: normal;
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.9;
  color: var(--text-muted);
  border: 1px solid var(--border);
  border-radius: 0;
  padding: 24px;
  background: rgba(255, 255, 255, 0.35);
  margin: 0;
}

/* =============================================================
   APPALOOSA — GRID → FLEX LAYOUT REGRESSION FIXES
   Authoritative last layer. Converts the fragile grid-based cart /
   checkout / account layouts to resilient flex (wrap + flex-basis)
   and swaps any hardcoded-pixel grid columns for minmax(), so the
   1440px container cap can no longer squeeze columns. fr-based
   product / footer / home-section grids are relative and were left
   as grids (nothing to fix there).
   ============================================================= */

/* ---- Block cart: pixel column → minmax so it never overflows ---- */
.wc-block-cart.is-large .wc-block-components-sidebar-layout,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px) !important;
}

/* ---- My Account: login/register grid → flex -------------------- */
.woocommerce-account .col2-set {
  display: flex !important;
  flex-wrap: wrap;
  gap: 40px;
}
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2 {
  flex: 1 1 320px;
  min-width: 0;
  float: none !important;
  width: auto !important;
  max-width: none !important;
}

/* ---- My Account: addresses grid → flex (cleaner mobile stack) --- */
.woocommerce-Addresses,
.woocommerce-account .woocommerce-Addresses.col2-set {
  display: flex !important;
  flex-wrap: wrap;
  gap: 24px;
  align-items: stretch;
}
.woocommerce-Addresses .woocommerce-Address,
.woocommerce-Addresses .u-column1,
.woocommerce-Addresses .u-column2,
.woocommerce-Addresses .col-1,
.woocommerce-Addresses .col-2 {
  flex: 1 1 320px;
  min-width: 0;
}

/* =============================================================
   CART PAGE (classic) — form + totals side by side
   ============================================================= */
.woocommerce-cart .woocommerce {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(24px, 3vw, 48px);
  align-items: flex-start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
  flex: 0 0 100%;
}
.woocommerce-cart .woocommerce-cart-form {
  flex: 2 1 460px;
  min-width: 0;
}
.woocommerce-cart .woocommerce-cart-form table.cart {
  width: 100%;
}
.woocommerce-cart .cart-collaterals {
  flex: 1 1 300px;
  min-width: 0;
  float: none !important;
  width: auto !important;
}
.woocommerce-cart .cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
  border: 1px solid var(--border);
  padding: clamp(20px, 3vw, 32px);
  background: var(--parchment);
}
.woocommerce-cart .cart_totals h2 {
  font-family: var(--font-serif);
  color: var(--burgundy) !important;
  font-size: 1.3rem;
  font-weight: 400;
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.woocommerce-cart .cart_totals table.shop_table {
  border: none;
  margin: 0;
}
@media (max-width: 768px) {
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    flex: 1 1 100%;
  }
}

/* ---- Coupon "Apply" + "Update cart" — burgundy, not faded pink -- */
.woocommerce-cart .coupon .button,
.woocommerce-cart button[name="apply_coupon"],
.woocommerce-cart input[name="apply_coupon"],
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart input[name="update_cart"] {
  background: var(--burgundy) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 14px 22px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}
/* apply_coupon is never disabled — force full opacity so it can't look faded */
.woocommerce-cart .coupon .button,
.woocommerce-cart button[name="apply_coupon"],
.woocommerce-cart input[name="apply_coupon"] {
  opacity: 1 !important;
}
.woocommerce-cart .coupon .button:hover,
.woocommerce-cart button[name="apply_coupon"]:hover,
.woocommerce-cart input[name="apply_coupon"]:hover,
.woocommerce-cart button[name="update_cart"]:not([disabled]):hover,
.woocommerce-cart input[name="update_cart"]:not([disabled]):hover {
  background: var(--burgundy-dark) !important;
  color: #fff !important;
}

/* ---- "Proceed to checkout" — stop the 3-line cramped wrap ------- */
.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: 20px;
  padding: 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  white-space: normal !important;
  padding: 16px 20px !important;
  letter-spacing: 0.1em !important;
  line-height: 1.3 !important;
  font-size: 11px !important;
}

/* =============================================================
   APPALOOSA — MY ACCOUNT (authoritative, matched to LIVE markup)
   Earlier account rules were scoped to body.woocommerce-account and/or
   targeted .woocommerce-Address-title h3, but the live markup uses <h2>
   and the layout sits in a plain .woocommerce wrapper. These rules key
   off the exact classes in the rendered HTML (nav.woocommerce-MyAccount-
   navigation > ul > li.woocommerce-MyAccount-navigation-link[.is-active]
   > a, .woocommerce-MyAccount-content, .woocommerce-Addresses.col2-set >
   .u-column1/.u-column2, .woocommerce-EditAccountForm, .woocommerce-Input
   .input-text, .woocommerce-Button.button) with NO body-class dependency,
   so they render regardless. Appended last = authoritative.
   ============================================================= */

/* ---- Layout: sidebar + content side by side (body-class independent) - */
.woocommerce:has(> .woocommerce-MyAccount-navigation) {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: clamp(24px, 3vw, 48px);
  max-width: 1100px;
  margin: 0 auto;
}
.woocommerce > .woocommerce-MyAccount-navigation {
  flex: 0 0 220px;
  max-width: 220px;
}
.woocommerce > .woocommerce-MyAccount-content {
  flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 768px) {
  .woocommerce > .woocommerce-MyAccount-navigation,
  .woocommerce > .woocommerce-MyAccount-content {
    flex: 1 1 100%;
    max-width: none;
  }
}

/* ---- Navigation: bordered list, uppercase links, burgundy active ----- */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--border);
}
.woocommerce-MyAccount-navigation-link {
  list-style: none;
  margin: 0;
  border-bottom: 1px solid var(--border);
}
.woocommerce-MyAccount-navigation-link:last-child {
  border-bottom: none;
}
.woocommerce-MyAccount-navigation-link a {
  display: block;
  padding: 14px 18px;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--text-muted);
  text-decoration: none;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}
.woocommerce-MyAccount-navigation-link a:hover {
  background: var(--parchment);
  color: var(--burgundy);
}
.woocommerce-MyAccount-navigation-link.is-active a {
  background: var(--burgundy);
  color: #fff;
}

/* ---- Content: bordered card ------------------------------------------ */
.woocommerce-MyAccount-content {
  border: 1px solid var(--border);
  padding: clamp(24px, 3.5vw, 40px);
  background: rgba(255, 255, 255, 0.35);
}
.woocommerce-MyAccount-content > p {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-muted);
  margin: 0 0 16px;
}
.woocommerce-MyAccount-content > p:last-child {
  margin-bottom: 0;
}
.woocommerce-MyAccount-content p strong {
  color: var(--burgundy-dark);
  font-weight: 600;
}
.woocommerce-MyAccount-content a {
  color: var(--burgundy);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---- Empty state (Orders / Downloads): centered banner + CTA button --- */
.woocommerce-MyAccount-content .woocommerce-info {
  border: 1px solid var(--border);
  border-top: 3px solid var(--burgundy);
  background: var(--parchment);
  text-align: center;
  padding: 40px 32px;
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--text-muted);
  list-style: none;
  margin: 0;
}
.woocommerce-MyAccount-content .woocommerce-info::before {
  display: none;
}
.woocommerce-MyAccount-content .woocommerce-info .woocommerce-Button.wc-forward,
.woocommerce-MyAccount-content .woocommerce-info a.button {
  display: inline-block;
  margin-top: 20px;
  background: var(--burgundy);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 14px 32px;
  border: none;
  border-radius: 0;
  text-decoration: none;
  transition: background 0.2s ease;
}
.woocommerce-MyAccount-content
  .woocommerce-info
  .woocommerce-Button.wc-forward:hover,
.woocommerce-MyAccount-content .woocommerce-info a.button:hover {
  background: var(--burgundy-dark);
  color: #fff;
}

/* ---- Addresses: flex cards, header (h2 left / edit right) ------------- */
.woocommerce-Addresses.col2-set {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0;
}
.woocommerce-Addresses .u-column1,
.woocommerce-Addresses .u-column2 {
  flex: 1 1 320px;
  min-width: 0;
  float: none;
  width: auto;
  margin: 0;
  border: 1px solid var(--border);
  padding: 24px;
  background: rgba(255, 255, 255, 0.35);
  box-sizing: border-box;
}
.woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--burgundy);
}
.woocommerce-Address-title .edit {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--burgundy);
  text-decoration: none;
  white-space: nowrap;
}
.woocommerce-Address-title .edit:hover {
  color: var(--burgundy-dark);
  text-decoration: underline;
}
.woocommerce-Address address {
  font-style: normal;
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.9;
  color: var(--text-muted);
  margin: 0;
}

/* ---- Edit Account form: rows, inputs, fieldset, save button ---------- */
.woocommerce-EditAccountForm {
  max-width: 560px;
}
.woocommerce-form-row {
  display: block;
  margin: 0 0 20px;
}
.woocommerce-form-row label {
  display: block;
  margin-bottom: 8px;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 500;
}
.woocommerce-form-row .required {
  color: var(--burgundy);
  border: none;
  text-decoration: none;
}
.woocommerce-Input.input-text {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  background: transparent;
  border-radius: 0;
  padding: 14px 16px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--burgundy-dark);
  box-shadow: none;
  transition: border-color 0.2s ease;
}
.woocommerce-Input.input-text:focus {
  border-color: var(--burgundy);
  outline: none;
  box-shadow: none;
}
.woocommerce-EditAccountForm fieldset {
  margin: 28px 0 24px;
  padding: 24px;
  border: 1px solid var(--border);
}
.woocommerce-EditAccountForm fieldset legend {
  padding: 0 8px;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 500;
}
/* Password field wrapper — position the show/hide toggle inside the input */
.woocommerce-form-row .password-input {
  display: block;
  position: relative;
}
.woocommerce-form-row .password-input .input-text {
  padding-right: 48px;
}
.woocommerce-form-row .password-input .show-password-input {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  color: var(--warm-gray);
  line-height: 1;
}
.woocommerce-form-row .password-input .show-password-input::after {
  content: "\1F441";
  font-size: 15px;
}
.woocommerce-form-row .password-input .show-password-input.display-password {
  color: var(--burgundy);
}
/* Save changes — unified primary button */
.woocommerce-Button.button[name="save_account_details"],
.woocommerce-EditAccountForm .woocommerce-Button.button {
  display: inline-block;
  background: var(--burgundy);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1.2;
  padding: 16px 40px;
  border: none;
  border-radius: 0;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s ease;
}
.woocommerce-Button.button[name="save_account_details"]:hover,
.woocommerce-EditAccountForm .woocommerce-Button.button:hover {
  background: var(--burgundy-dark);
  color: #fff;
}
