/* Allan Benoit Studios — Cart / Checkout / My Account (minimal redesign) */

:root {
  --ab-ink: #1A2A4A;
  --ab-bg: #F8F6F1;
  --ab-gold: #F5C842;
  --ab-sky: #7BB3D4;
  --ab-hair: #E2DDD0;
  --ab-muted: #4a5572;
  --ab-soft: #8a8472;
}

.ab-page.ab-commerce * {
  box-sizing: border-box;
}

.ab-page.ab-commerce {
  background: var(--ab-bg);
  color: var(--ab-ink);
  font-family: 'Jost', Arial, sans-serif;
  font-weight: 400;
}

.ab-page.ab-commerce .ab-wrap {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 48px 90px !important;
  width: 100% !important;
}

.ab-page.ab-commerce .ab-hero-eyebrow {
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ab-sky);
  font-weight: 500;
  margin-bottom: 18px;
}

.ab-page.ab-commerce .ab-pagehead {
  padding: 60px 0 40px;
  border-bottom: 1px solid var(--ab-hair);
  margin-bottom: 40px;
}

.ab-page.ab-commerce .ab-pagehead h1 {
  font-family: 'Jost', Arial, sans-serif;
  font-weight: 300;
  font-size: 42px;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--ab-ink);
}

.ab-page.ab-commerce .ab-commerce-body {
  max-width: 920px;
}

.ab-page.ab-commerce a {
  color: var(--ab-ink);
  text-decoration: underline;
  text-decoration-color: var(--ab-gold);
  text-underline-offset: 3px;
}

.ab-page.ab-commerce a:hover {
  opacity: 0.85;
}

/* Primary buttons — match product page */
.ab-page.ab-commerce .ab-commerce-btn,
.ab-page.ab-commerce .wc-block-components-button,
.ab-page.ab-commerce .wc-block-cart__submit-button,
.ab-page.ab-commerce .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,
.ab-page.ab-commerce button.button,
.ab-page.ab-commerce a.button,
.ab-page.ab-commerce .woocommerce-button,
.ab-page.ab-commerce .woocommerce-Button,
.ab-page.ab-commerce button[type="submit"],
.ab-page.ab-commerce .wp-block-button__link {
  display: inline-block;
  padding: 14px 30px !important;
  background: var(--ab-ink) !important;
  color: var(--ab-bg) !important;
  font-family: 'Jost', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  cursor: pointer;
}

.ab-page.ab-commerce .ab-commerce-btn:hover,
.ab-page.ab-commerce .wc-block-components-button:hover,
.ab-page.ab-commerce button.button:hover,
.ab-page.ab-commerce a.button:hover,
.ab-page.ab-commerce .woocommerce-button:hover,
.ab-page.ab-commerce .wp-block-button__link:hover {
  opacity: 0.92;
}

.ab-page.ab-commerce .wc-block-components-button.is-link,
.ab-page.ab-commerce .wc-block-components-product-name,
.ab-page.ab-commerce a.wc-block-components-product-name {
  background: transparent !important;
  color: var(--ab-ink) !important;
  padding: 0 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-decoration-color: var(--ab-gold) !important;
  text-underline-offset: 3px !important;
}

/* Empty cart */
.ab-page.ab-commerce .wc-block-cart__empty-cart__title,
.ab-page.ab-commerce .wp-block-woocommerce-empty-cart-block .wp-block-heading.wc-block-cart__empty-cart__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic;
  font-weight: 400 !important;
  font-size: 28px !important;
  color: var(--ab-ink) !important;
  text-align: left !important;
  margin: 0 0 24px !important;
}

.ab-page.ab-commerce .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before {
  display: none !important;
}

.ab-page.ab-commerce .ab-empty-cart-cta {
  margin: 0 0 8px;
}

/* Hide broken default "New in store" cross-sell placeholders */
.ab-page.ab-commerce .wp-block-woocommerce-empty-cart-block .wp-block-separator,
.ab-page.ab-commerce .wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.wc-block-cart__empty-cart__title),
.ab-page.ab-commerce .wp-block-woocommerce-empty-cart-block .wp-block-product-new,
.ab-page.ab-commerce .wp-block-woocommerce-empty-cart-block .wc-block-grid,
.ab-page.ab-commerce .wp-block-woocommerce-product-new,
.ab-page.ab-commerce .wc-block-product-new {
  display: none !important;
}

/* Filled cart layout */
.ab-page.ab-commerce .wp-block-woocommerce-cart,
.ab-page.ab-commerce .wc-block-cart {
  font-family: 'Jost', Arial, sans-serif;
  color: var(--ab-ink);
}

.ab-page.ab-commerce .wc-block-cart-items,
.ab-page.ab-commerce table.wc-block-cart-items,
.ab-page.ab-commerce .wc-block-cart-items__header,
.ab-page.ab-commerce .wc-block-cart-items__row {
  border-color: var(--ab-hair) !important;
}

.ab-page.ab-commerce .wc-block-cart-item__image img,
.ab-page.ab-commerce .wc-block-components-product-image img {
  border: 1px solid var(--ab-hair);
  background: var(--ab-bg);
  object-fit: contain;
}

.ab-page.ab-commerce .wc-block-components-product-metadata,
.ab-page.ab-commerce .wc-block-cart-item__prices,
.ab-page.ab-commerce .wc-block-components-product-price,
.ab-page.ab-commerce .wc-block-components-totals-item,
.ab-page.ab-commerce .wc-block-components-totals-footer-item {
  color: var(--ab-muted);
  font-size: 14px;
}

.ab-page.ab-commerce .wc-block-components-totals-footer-item-tax,
.ab-page.ab-commerce .wc-block-components-totals-item__label,
.ab-page.ab-commerce .wc-block-components-totals-item__value {
  color: var(--ab-ink);
}

.ab-page.ab-commerce .wc-block-cart__sidebar,
.ab-page.ab-commerce .wp-block-woocommerce-cart-order-summary-block,
.ab-page.ab-commerce .wc-block-components-sidebar {
  border: 1px solid var(--ab-hair);
  background: transparent;
  padding: 24px;
}

.ab-page.ab-commerce .wc-block-cart__totals-title,
.ab-page.ab-commerce .wp-block-woocommerce-cart-order-summary-heading-block,
.ab-page.ab-commerce .wc-block-components-checkout-order-summary__title,
.ab-page.ab-commerce .wc-block-components-panel__button {
  font-family: 'Jost', Arial, sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ab-ink) !important;
}

.ab-page.ab-commerce .wc-block-components-quantity-selector,
.ab-page.ab-commerce .wc-block-components-text-input input,
.ab-page.ab-commerce .wc-block-components-textarea textarea,
.ab-page.ab-commerce .wc-block-components-combobox input,
.ab-page.ab-commerce .wc-block-components-select select,
.ab-page.ab-commerce .woocommerce form .input-text,
.ab-page.ab-commerce .woocommerce form select,
.ab-page.ab-commerce .woocommerce-Input,
.ab-page.ab-commerce input.input-text,
.ab-page.ab-commerce textarea {
  border: 1px solid var(--ab-hair) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--ab-ink) !important;
  font-family: 'Jost', Arial, sans-serif !important;
  box-shadow: none !important;
}

.ab-page.ab-commerce .wc-block-components-text-input label,
.ab-page.ab-commerce .woocommerce form label,
.ab-page.ab-commerce .woocommerce-form-row label {
  color: var(--ab-soft);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
}

/* Checkout */
.ab-page.ab-commerce .wp-block-woocommerce-checkout,
.ab-page.ab-commerce .wc-block-checkout {
  color: var(--ab-ink);
}

.ab-page.ab-commerce .wc-block-components-checkout-step__title,
.ab-page.ab-commerce .wc-block-components-checkout-step__heading {
  font-family: 'Jost', Arial, sans-serif !important;
  font-weight: 300 !important;
  font-size: 22px !important;
  color: var(--ab-ink) !important;
  letter-spacing: -0.01em;
}

.ab-page.ab-commerce .wc-block-components-radio-control-accordion-option,
.ab-page.ab-commerce .wc-block-components-radio-control__option {
  border-color: var(--ab-hair) !important;
}

.ab-page.ab-commerce .wc-block-components-notice-banner,
.ab-page.ab-commerce .woocommerce-info,
.ab-page.ab-commerce .woocommerce-message,
.ab-page.ab-commerce .woocommerce-error {
  border: 1px solid var(--ab-hair) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--ab-ink) !important;
  box-shadow: none !important;
}

.ab-page.ab-commerce .woocommerce-info::before,
.ab-page.ab-commerce .woocommerce-message::before,
.ab-page.ab-commerce .woocommerce-error::before {
  color: var(--ab-ink) !important;
}

/* Classic My Account */
.ab-page.ab-commerce .woocommerce h2 {
  font-family: 'Jost', Arial, sans-serif;
  font-weight: 300;
  font-size: 28px;
  letter-spacing: -0.01em;
  margin: 0 0 24px;
  color: var(--ab-ink);
}

.ab-page.ab-commerce .woocommerce-form-login,
.ab-page.ab-commerce .woocommerce-form-register {
  max-width: 420px;
}

.ab-page.ab-commerce .woocommerce-form-row {
  margin-bottom: 18px;
}

.ab-page.ab-commerce .woocommerce-LostPassword a,
.ab-page.ab-commerce .woocommerce-MyAccount-navigation a {
  color: var(--ab-ink);
  text-decoration: underline;
  text-decoration-color: var(--ab-gold);
  text-underline-offset: 3px;
}

.ab-page.ab-commerce .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  border-bottom: 1px solid var(--ab-hair);
  padding-bottom: 18px;
}

.ab-page.ab-commerce .woocommerce-MyAccount-navigation a {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  opacity: 0.75;
}

.ab-page.ab-commerce .woocommerce-MyAccount-navigation .is-active a,
.ab-page.ab-commerce .woocommerce-MyAccount-navigation a:hover {
  opacity: 1;
  text-decoration: underline;
  text-decoration-color: var(--ab-gold);
  text-underline-offset: 4px;
}

.ab-page.ab-commerce .woocommerce table.shop_table {
  border: 1px solid var(--ab-hair) !important;
  border-radius: 0 !important;
  background: transparent !important;
  border-collapse: collapse;
  width: 100%;
}

.ab-page.ab-commerce .woocommerce table.shop_table th,
.ab-page.ab-commerce .woocommerce table.shop_table td {
  border-color: var(--ab-hair) !important;
  color: var(--ab-ink);
  font-family: 'Jost', Arial, sans-serif;
  padding: 14px 16px;
  vertical-align: top;
}

/* ── Order received / thank you (classic WooCommerce markup) ── */

.ab-page.ab-commerce.ab-commerce--thankyou .ab-commerce-body--thankyou {
  max-width: 820px;
}

.ab-page.ab-commerce .woocommerce-order {
  font-family: 'Jost', Arial, sans-serif;
  color: var(--ab-ink);
}

.ab-page.ab-commerce .woocommerce-order .screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.ab-page.ab-commerce .woocommerce-thankyou-order-received,
.ab-page.ab-commerce .woocommerce-notice.woocommerce-thankyou-order-received,
.ab-page.ab-commerce p.woocommerce-notice--success.woocommerce-thankyou-order-received {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic;
  font-weight: 400 !important;
  font-size: 26px !important;
  line-height: 1.35;
  color: var(--ab-ink) !important;
  margin: 0 0 36px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ab-page.ab-commerce .woocommerce-thankyou-order-received::before,
.ab-page.ab-commerce .woocommerce-notice--success.woocommerce-thankyou-order-received::before {
  display: none !important;
}

.ab-page.ab-commerce .woocommerce-order-overview,
.ab-page.ab-commerce ul.woocommerce-order-overview,
.ab-page.ab-commerce ul.order_details.woocommerce-thankyou-order-details {
  list-style: none !important;
  margin: 0 0 40px !important;
  padding: 28px 32px !important;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 22px 28px;
  border: 1px solid var(--ab-hair);
  background: #fff;
  float: none !important;
}

.ab-page.ab-commerce .woocommerce-order-overview li,
.ab-page.ab-commerce ul.order_details.woocommerce-thankyou-order-details li {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  list-style: none !important;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ab-soft);
  line-height: 1.4;
}

.ab-page.ab-commerce .woocommerce-order-overview li strong,
.ab-page.ab-commerce ul.order_details.woocommerce-thankyou-order-details li strong {
  display: block;
  margin-top: 8px;
  font-family: 'Jost', Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--ab-ink);
  line-height: 1.35;
}

.ab-page.ab-commerce .woocommerce-order-details,
.ab-page.ab-commerce .woocommerce-order-downloads,
.ab-page.ab-commerce .woocommerce-customer-details {
  margin: 0 0 40px;
}

.ab-page.ab-commerce .woocommerce-order-details__title,
.ab-page.ab-commerce .woocommerce-order-downloads__title,
.ab-page.ab-commerce .woocommerce-column__title,
.ab-page.ab-commerce .woocommerce-customer-details h2,
.ab-page.ab-commerce .woocommerce-order h2 {
  font-family: 'Jost', Arial, sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ab-ink) !important;
  margin: 0 0 18px !important;
}

.ab-page.ab-commerce table.woocommerce-table--order-details,
.ab-page.ab-commerce table.shop_table.order_details {
  border: 1px solid var(--ab-hair) !important;
  background: #fff !important;
}

.ab-page.ab-commerce table.shop_table.order_details thead th {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ab-soft);
  text-align: left;
  border-bottom: 1px solid var(--ab-hair) !important;
  background: transparent;
}

.ab-page.ab-commerce table.shop_table.order_details tbody td,
.ab-page.ab-commerce table.shop_table.order_details tfoot th,
.ab-page.ab-commerce table.shop_table.order_details tfoot td {
  border-top: 1px solid var(--ab-hair) !important;
  font-size: 15px;
  line-height: 1.5;
}

.ab-page.ab-commerce table.shop_table.order_details .product-name a {
  text-decoration: none;
  color: var(--ab-ink);
}

.ab-page.ab-commerce table.shop_table.order_details .product-name a:hover {
  text-decoration: underline;
  text-decoration-color: var(--ab-gold);
  text-underline-offset: 3px;
}

/* Fix smashed “× 2$44.00” — qty and amount need breathing room */
.ab-page.ab-commerce .product-quantity,
.ab-page.ab-commerce strong.product-quantity {
  font-weight: 400;
  color: var(--ab-muted);
  margin-left: 0.4em;
  white-space: nowrap;
  letter-spacing: 0.02em;
}

.ab-page.ab-commerce td.product-total,
.ab-page.ab-commerce th.product-total,
.ab-page.ab-commerce .woocommerce-table__product-total {
  text-align: right;
  white-space: nowrap;
  padding-left: 24px !important;
}

.ab-page.ab-commerce .product-quantity + .amount,
.ab-page.ab-commerce .product-quantity + .woocommerce-Price-amount,
.ab-page.ab-commerce .product-name .woocommerce-Price-amount {
  margin-left: 0.45em;
}

.ab-page.ab-commerce .woocommerce-Price-amount,
.ab-page.ab-commerce .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
  white-space: nowrap;
}

.ab-page.ab-commerce table.shop_table.order_details tfoot th {
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-align: left;
  color: var(--ab-muted);
}

.ab-page.ab-commerce table.shop_table.order_details tfoot td {
  text-align: right;
  white-space: nowrap;
}

.ab-page.ab-commerce table.shop_table.order_details tfoot tr:last-child th,
.ab-page.ab-commerce table.shop_table.order_details tfoot tr:last-child td {
  color: var(--ab-ink);
  font-weight: 500;
}

.ab-page.ab-commerce .woocommerce-table--order-details .wc-item-meta,
.ab-page.ab-commerce .woocommerce-table--order-details .variation {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  color: var(--ab-muted);
}

.ab-page.ab-commerce .woocommerce-customer-details .woocommerce-columns--addresses,
.ab-page.ab-commerce .woocommerce-columns.woocommerce-columns--2.addresses,
.ab-page.ab-commerce .woocommerce-columns--2.col2-set.addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin: 0;
  float: none;
}

.ab-page.ab-commerce .woocommerce-customer-details .woocommerce-column,
.ab-page.ab-commerce .woocommerce-columns--addresses .col-1,
.ab-page.ab-commerce .woocommerce-columns--addresses .col-2 {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 24px !important;
  border: 1px solid var(--ab-hair);
  background: #fff;
}

.ab-page.ab-commerce .woocommerce-customer-details address {
  font-style: normal;
  font-size: 15px;
  line-height: 1.7;
  color: var(--ab-muted);
  margin: 0;
}

.ab-page.ab-commerce .woocommerce-customer-details--phone,
.ab-page.ab-commerce .woocommerce-customer-details--email {
  margin: 10px 0 0;
  color: var(--ab-ink);
}

.ab-page.ab-commerce .woocommerce-thankyou-order-failed-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

/* Blocks order confirmation (if Checkout block thank-you path is used) */
.ab-page.ab-commerce .wc-block-order-confirmation,
.ab-page.ab-commerce .wp-block-woocommerce-order-confirmation-status,
.ab-page.ab-commerce .wp-block-woocommerce-order-confirmation-summary,
.ab-page.ab-commerce .wp-block-woocommerce-order-confirmation-totals,
.ab-page.ab-commerce .wp-block-woocommerce-order-confirmation-billing-address,
.ab-page.ab-commerce .wp-block-woocommerce-order-confirmation-shipping-address {
  color: var(--ab-ink);
  font-family: 'Jost', Arial, sans-serif;
}

.ab-page.ab-commerce .wc-block-order-confirmation-summary,
.ab-page.ab-commerce .wp-block-woocommerce-order-confirmation-summary {
  border: 1px solid var(--ab-hair) !important;
  background: #fff !important;
  padding: 24px 28px !important;
  margin: 0 0 32px !important;
}

.ab-page.ab-commerce .wc-block-order-confirmation-totals__wrapper,
.ab-page.ab-commerce .wp-block-woocommerce-order-confirmation-totals table {
  border: 1px solid var(--ab-hair) !important;
  background: #fff;
}

@media (max-width: 760px) {
  .ab-page.ab-commerce .ab-wrap {
    padding: 0 24px 64px !important;
  }

  .ab-page.ab-commerce .ab-pagehead {
    padding: 40px 0 28px;
  }

  .ab-page.ab-commerce .ab-pagehead h1 {
    font-size: 32px;
  }

  .ab-page.ab-commerce .wc-block-cart__sidebar,
  .ab-page.ab-commerce .wp-block-woocommerce-cart-order-summary-block {
    padding: 18px;
  }

  .ab-page.ab-commerce .woocommerce-thankyou-order-received,
  .ab-page.ab-commerce p.woocommerce-notice--success.woocommerce-thankyou-order-received {
    font-size: 22px !important;
  }

  .ab-page.ab-commerce .woocommerce-order-overview,
  .ab-page.ab-commerce ul.woocommerce-order-overview,
  .ab-page.ab-commerce ul.order_details.woocommerce-thankyou-order-details {
    padding: 22px !important;
    grid-template-columns: 1fr 1fr;
  }

  .ab-page.ab-commerce .woocommerce-customer-details .woocommerce-columns--addresses,
  .ab-page.ab-commerce .woocommerce-columns.woocommerce-columns--2.addresses,
  .ab-page.ab-commerce .woocommerce-columns--2.col2-set.addresses {
    grid-template-columns: 1fr;
  }

  .ab-page.ab-commerce table.shop_table.order_details,
  .ab-page.ab-commerce table.shop_table.order_details thead,
  .ab-page.ab-commerce table.shop_table.order_details tbody,
  .ab-page.ab-commerce table.shop_table.order_details tfoot,
  .ab-page.ab-commerce table.shop_table.order_details tr,
  .ab-page.ab-commerce table.shop_table.order_details th,
  .ab-page.ab-commerce table.shop_table.order_details td {
    display: block;
    width: 100%;
  }

  .ab-page.ab-commerce table.shop_table.order_details thead {
    display: none;
  }

  .ab-page.ab-commerce table.shop_table.order_details tbody tr,
  .ab-page.ab-commerce table.shop_table.order_details tfoot tr {
    border-bottom: 1px solid var(--ab-hair);
    padding: 14px 16px;
  }

  .ab-page.ab-commerce table.shop_table.order_details td,
  .ab-page.ab-commerce table.shop_table.order_details th {
    border: none !important;
    padding: 4px 0 !important;
    text-align: left !important;
  }

  .ab-page.ab-commerce table.shop_table.order_details td.product-total {
    padding-top: 8px !important;
    color: var(--ab-ink);
  }

  .ab-page.ab-commerce table.shop_table.order_details tfoot th {
    font-size: 12px;
    margin-top: 4px;
  }
}
