/*
 * Buscando a Memo — WooCommerce Purchase-Flow Styles
 *
 * @package buscandoamemo
 * @version 1.0.0
 *
 * Single source of styling for the purchase flow (cart, checkout,
 * order-received/order-confirmation). Consumes the --memo-* custom
 * properties defined in style.css (:root) and the theme fonts
 * (Lilita One for headings, Plus Jakarta Sans for body).
 *
 * Selectors are DUAL: they target both the classic `.woocommerce` wrappers
 * (if a classic shortcode/page is used) and the modern `.wc-block-*` block
 * template class names, so the brand styling applies regardless of which
 * markup WooCommerce outputs.
 */

/* =========================================================================
   1. PAGE SHELL — main.bam-page wraps the flow in the theme shell
   ========================================================================= */

.bam-page {
  background: linear-gradient(180deg, var(--cream) 0%, #fff 32%);
  color: var(--dark);
}

.bam-page__header {
  margin-bottom: clamp(24px, 4vw, 40px);
}

.bam-page__title {
  font-family: 'Lilita One', cursive;
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1.15;
  color: var(--dark);
  margin: 0;
}

/* =========================================================================
   2. COMMON — buttons, links, tables, labels
   ========================================================================= */

/* Primary action button (place order, update cart, etc.) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-cart button,
.wc-block-checkout button,
.wc-block-cart .wp-block-button__link,
.wc-block-checkout .wp-block-button__link {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.4px;
  background: var(--memo-orange);
  border: 2px solid var(--memo-orange);
  border-radius: 10px;
  padding: 12px 26px;
  line-height: 1.4;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(247, 147, 30, 0.28);
  transition: background 0.2s ease, border-color 0.2s ease,
    transform 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-cart button:hover,
.wc-block-checkout button:hover {
  background: var(--memo-deep-orange);
  border-color: var(--memo-deep-orange);
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(232, 93, 4, 0.36);
}

/* Speculative buttons / ghost / secondary */
.woocommerce a.button:not(.alt),
.woocommerce button.button:not(.alt),
.woocommerce input.button:not(.alt) {
  background: transparent;
  color: var(--ocean-blue);
  border-color: var(--ocean-blue);
  box-shadow: none;
}

.woocommerce a.button:not(.alt):hover,
.woocommerce button.button:not(.alt):hover,
.woocommerce input.button:not(.alt):hover {
  background: rgba(8, 126, 164, 0.08);
  border-color: var(--deep-ocean);
  color: var(--deep-ocean);
  box-shadow: none;
  transform: translateY(-2px);
}

/* Primary button for block checkout/cart that uses .is-style-fill */
.wc-block-components-button,
.wc-block-components-totals-wrapper .wc-block-components-totals-footer-item .wc-block-components-button {
  border: 2px solid var(--memo-orange);
  background: var(--memo-orange);
  border-radius: 10px;
  font-weight: 800;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.wc-block-components-button:hover,
.wc-block-components-totals-wrapper .wc-block-components-totals-footer-item .wc-block-components-button:hover {
  background: var(--memo-deep-orange);
  border-color: var(--memo-deep-orange);
  transform: translateY(-2px);
}

/* Links */
.woocommerce a,
.wc-block-components-totals-item a,
.wc-block-order-confirmation a,
.woocommerce-order a {
  text-decoration: none;
  transition: color 0.2s ease;
}

.woocommerce a:hover,
.wc-block-components-totals-item a:hover,
.wc-block-order-confirmation a:hover,
.woocommerce-order a:hover {
  color: var(--deep-ocean);
}

.woocommerce p.stars a {
  color: var(--memo-gold) !important;
}

.woocommerce p.stars a:hover {
  color: var(--memo-orange);
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, 
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
  box-shadow: none;
  border: 1px solid var(--wc-separator-color, color-mix(in srgb, currentColor 20%, transparent));
}

/* =========================================================================
   3. CART — table, product rows, quantities, totals, coupons
   ========================================================================= */

/* Cart table wrapper */
.woocommerce table.shop_table,
.wc-block-cart__items,
.wc-block-cart-table {
  border-collapse: collapse;
  width: 100%;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(6, 27, 53, 0.08);
}

.woocommerce table.shop_table {
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border: none;
}

.woocommerce table.shop_table thead th,
.wc-block-cart-item__row > div,
.wc-block-cart-table thead {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--ocean-blue);
  background: rgba(8, 126, 164, 0.06);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 16px 18px;
}

.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tbody td {
  border-bottom: 1px solid rgba(6, 27, 53, 0.06);
  vertical-align: middle;
}

.woocommerce table.shop_table tr:last-child td {
  border-bottom: none;
}

.woocommerce table.shop_table .product-name a {
  font-family: 'Lilita One', cursive;
  font-size: 1.05rem;
  color: var(--dark);
  text-decoration: none;
}

.woocommerce table.shop_table .product-name a:hover {
  color: var(--memo-orange);
}

/* Quantity input */
.woocommerce .quantity .qty,
.woocommerce form .quantity .qty,
.wc-block-components-quantity-selector {
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.2);
  border-radius: 8px;
}

.woocommerce .quantity .qty {
  width: 4em;
  padding: 8px;
  text-align: center;
  color: var(--dark);
}

.wc-block-components-quantity-selector {
  border-radius: 8px;
}

.wc-block-components-quantity-selector__button {
  color: var(--ocean-blue);
}

/* Remove link */
.woocommerce a.remove,
.woocommerce-cart .wc-block-cart__remove,
.wc-block-cart-item__remove-link {
  color: var(--show-red) !important;
  font-weight: 700;
}

.woocommerce a.remove {
  border-radius: 50%;
  width: 22px;
  height: 22px;
  line-height: 20px;
  text-align: center;
}

/* =========================================================================
   4. CART TOTALS
   ========================================================================= */

.woocommerce .cart_totals,
.wc-block-cart__totals,
.wc-block-components-totals-wrapper {
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
  padding: 24px 28px;
}

.woocommerce .cart_totals h2,
.wc-block-cart__totals h2,
.wc-block-components-totals-wrapper h2,
.wc-block-components-title {
  font-family: 'Lilita One', cursive;
  font-size: 1.4rem;
  color: var(--dark);
  margin: 0 0 18px;
}

.woocommerce .cart_totals table.shop_table {
  box-shadow: none;
  border: none;
  border-radius: 0;
}

.woocommerce .cart_totals table.shop_table td,
.woocommerce .cart_totals table.shop_table th {
  padding: 12px 0;
}

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td,
.wc-block-components-totals-footer-item {
  border-top: 2px solid var(--memo-orange);
  font-weight: 800;
  color: var(--dark);
  padding-top: 18px !important;
}

.woocommerce .cart_totals .amount,
.wc-block-components-totals-item .wc-block-components-totals-item__value {
  color: var(--memo-deep-orange);
  font-weight: 800;
}

/* Coupons */
.woocommerce form.checkout_coupon,
.woocommerce-cart .coupon,
.wc-block-cart__coupon-form,
.wc-block-components-discounts {
  background: rgba(22, 198, 232, 0.06);
  border: 1px dashed var(--ocean-blue);
  border-radius: 10px;
  padding: 18px 20px;
}

.woocommerce form.checkout_coupon .form-row input,
.woocommerce-cart .coupon input.input-text,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-discounts__form .wc-block-components-text-input input {
  border: 1px solid rgba(6, 27, 53, 0.2);
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  color: var(--dark);
}

/* =========================================================================
   5. CHECKOUT — form fields, place order, PayPal container
   ========================================================================= */

.woocommerce form.checkout,
.wc-block-checkout,
.wc-block-checkout__main {
  background: transparent;
}

/* Field layout container */
.woocommerce form.checkout .col2-set,
.woocommerce form.checkout #order_review,
.wc-block-checkout__form {
  display: block;
}

/* Fields wrapper */
.woocommerce form .form-row,
.wc-block-checkout__form .wc-block-components-address-form .wc-block-components-text-input,
.wc-block-checkout__form .wc-block-components-text-input,
.wc-block-checkout__form .wc-block-components-select {
  margin-bottom: 18px;
}

/* Labels — always visible (WCAG: no placeholder-as-label) */
.woocommerce form .form-row label,
.wc-block-components-form .wc-block-components-text-input label,
.wc-block-checkout__form .wc-block-components-label,
.woocommerce-checkout #customer_details label {
  display: block;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--dark);
  margin-bottom: 6px;
  line-height: 1.4;
}

.woocommerce form .form-row label .required {
  color: var(--show-red);
}

/* Inputs */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-checkout__form .wc-block-components-text-input input,
.wc-block-components-select .wc-block-components-select__element {
  width: 100%;
  border: 1px solid var(--wc-separator-color, color-mix(in srgb, currentColor 20%, transparent)) !important;
  border-radius: 8px;
  padding: 12px 14px;
  background: #fff;
  color: var(--dark);
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.wc-block-components-form .wc-block-components-text-input input:focus,
.wc-block-checkout__form .wc-block-components-text-input input:focus,
.wc-block-components-select .wc-block-components-select__element:focus,
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.wc-block-components-button:focus,
.wc-block-components-quantity-selector__button:focus {
  outline: 3px solid var(--cyan);
  outline-offset: 2px;
  border-color: var(--ocean-blue);
}

/* Checklist / radio options (shipping, payment) */
.woocommerce ul#shipping_method li,
.woocommerce .woocommerce-shipping-fields,
.woocommerce .wc-block-checkout__payment-method,
.wc-block-checkout__shipping-option,
.wc-block-components-radio-control__option {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 1rem;
  color: var(--dark);
}

.wc-block-components-radio-control__label > span {
  padding-left: 32px;
}

/* Order review ("Your order") section on classic checkout */
.woocommerce-checkout #order_review_heading {
  font-family: 'Lilita One', cursive;
  font-size: 1.5rem;
  color: var(--dark);
  margin: 32px 0 16px;
}

.woocommerce table.shop_table.woocommerce-checkout-review-order-table {
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
}

/* Payment methods panel */
.woocommerce #payment,
.wc-block-checkout__payment-method,
.wc-block-components-payment-methods {
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
  padding: 20px 24px;
}

.woocommerce #payment {
  background: rgba(6, 27, 53, 0.03);
  border-radius: 14px;
}

/* Place order button */
.woocommerce #payment #place_order,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.wc-block-checkout__actions .wc-block-components-button:not(.is-outlined) {
  width: 100%;
  text-align: center;
  padding: 16px 28px;
  font-size: 1.15rem;
}

/* PayPal button container — keep layout sane, brand the frame */
.woocommerce .ppc-button-wrapper,
.woocommerce #payment div.payment_box .ppc-button-wrapper,
.wc-block-checkout #payment .payment_method_paypal .payment_box,
.wc-block-components-payment-methods #payment .payment_method_paypal .payment_box {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(6, 27, 53, 0.08);
}

.woocommerce .ppc-button-wrapper iframe,
.woocommerce #payment div.payment_box .ppc-button-wrapper iframe {
  max-width: 100%;
}

/* =========================================================================
   6. ORDER CONFIRMATION / ORDER-RECEIVED
   ========================================================================= */

.woocommerce-thankyou-order-received,
.woocommerce .woocommerce-thankyou-order-received,
.wc-block-order-confirmation-status,
.woocommerce-order-received.woocommerce .woocommerce-thankyou-order-received {
  font-family: 'Lilita One', cursive;
  font-size: 1.6rem;
  line-height: 1.3;
  color: var(--ocean-blue);
  background: rgba(22, 198, 232, 0.08);
  border-left: 4px solid var(--cyan);
  border-radius: 0 12px 12px 0;
  padding: 18px 24px;
  margin-bottom: 32px;
}

.woocommerce ul.woocommerce-thankyou-order-details,
.wc-block-order-confirmation-summary,
.wc-block-order-confirmation-totals,
.woocommerce .woocommerce-columns--addresses,
.wc-block-order-confirmation-address-wrapper {
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
  padding: 24px 28px;
}

.woocommerce ul.woocommerce-thankyou-order-details {
  list-style: none;
  margin: 0 0 28px;
}

.woocommerce ul.woocommerce-thankyou-order-details li {
  float: none;
  display: inline-block;
  margin: 0 28px 16px 0;
  font-size: 0.95rem;
  color: rgba(23, 19, 19, 0.75);
}

.woocommerce ul.woocommerce-thankyou-order-details li strong {
  display: block;
  color: var(--dark);
  font-weight: 800;
}

.woocommerce .woocommerce-order > h2,
.woocommerce .woocommerce-columns--addresses h3,
.wc-block-order-confirmation-totals-heading h2,
.wc-block-order-confirmation-address-wrapper h3 {
  font-family: 'Lilita One', cursive;
  font-size: 1.35rem;
  color: var(--dark);
  margin: 28px 0 14px;
}

.woocommerce .woocommerce-customer-details address {
  border-left: 4px solid var(--memo-orange);
  border-radius: 0 12px 12px 0;
  background: rgba(247, 147, 30, 0.05);
  padding: 18px 22px;
  font-style: normal;
  color: var(--dark);
}

/* =========================================================================
   7. NOTICES — info, success, error (dual selectors)
   ========================================================================= */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-error,
.wc-block-components-notice,
.wc-block-store-notices .wc-block-components-notice-banner {
  border-radius: 10px;
  padding: 16px 20px 16px 52px;
  position: relative;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--dark);
  border: 1px solid transparent;
  border-left-width: 4px;
  margin-bottom: 18px;
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
  background: rgba(22, 198, 232, 0.1);
  border-color: var(--cyan);
}

.woocommerce-info,
.wc-block-components-notice-banner.is-info {
  background: rgba(8, 126, 164, 0.08);
  border-color: var(--ocean-blue);
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
  background: rgba(255, 48, 48, 0.08);
  border-color: var(--show-red);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.wc-block-components-notice-banner::before {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.1rem;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  font-weight: 700;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  margin-left: 8px;
}

/* =========================================================================
   8. ACCESSIBILITY — visible focus everywhere (WCAG 2.2 AA)
   ========================================================================= */

.woocommerce a.button:focus-visible,
.woocommerce button:focus-visible,
.woocommerce input:focus-visible,
.woocommerce a:focus-visible,
.wc-block-components-button:focus-visible,
.wc-block-components-quantity-selector__button:focus-visible,
.wc-block-cart a:focus-visible,
.wc-block-checkout a:focus-visible,
.wc-block-components-text-input input:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 2px;
}

.woocommerce input[type='checkbox']:focus-visible,
.woocommerce input[type='radio']:focus-visible,
.wc-block-components-radio-control__input:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 2px;
}

/* =========================================================================
   9. RESPONSIVE — collapse / scroll below 768px
   ========================================================================= */

@media (max-width: 768px) {
  /* Cart table becomes a scrollable region so columns don't crush */
  .woocommerce table.shop_table,
  .wc-block-cart-table,
  .wc-block-cart__items {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .woocommerce table.shop_table,
  .woocommerce table.shop_table thead,
  .woocommerce table.shop_table tbody,
  .woocommerce table.shop_table tr {
    width: 100%;
  }

  .woocommerce table.shop_table td,
  .woocommerce table.shop_table th {
    white-space: nowrap;
  }

  /* Cart totals sit below the items table on mobile */
  .woocommerce .cart-collaterals,
  .wc-block-cart__sidebar,
  .wc-block-cart__totals {
    margin-top: 24px;
  }

  /* Checkout columns stack */
  .woocommerce form.checkout .col2-set,
  .woocommerce form.checkout .col2-set .col-1,
  .woocommerce form.checkout .col2-set .col-2,
  .wc-block-checkout__form,
  .wc-block-checkout__main,
  .wc-block-order-confirmation-address-wrapper .wp-block-column {
    width: 100%;
    float: none;
    margin-left: 0;
    margin-right: 0;
  }

  .wc-block-order-confirmation-address-wrapper {
    display: block;
  }

  .wc-block-order-confirmation-address-wrapper .wp-block-column {
    margin-bottom: 24px;
  }

  /* Full-width CTAs on small screens */
  .woocommerce #payment #place_order,
  .woocommerce .wc-proceed-to-checkout a.checkout-button,
  .wc-block-checkout__actions .wc-block-components-button:not(.is-outlined),
  .woocommerce a.button.alt,
  .woocommerce button.button.alt {
    width: 100%;
  }

  .woocommerce .cart_totals,
  .wc-block-cart__totals,
  .wc-block-components-totals-wrapper {
    padding: 18px 20px;
  }
}

/* =========================================================================
   10. REDUCED MOTION
   ========================================================================= */

@media (prefers-reduced-motion: reduce) {
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .wc-block-components-button {
    transition: none;
    transform: none;
  }
}

/* =========================================================================
   11. BLOCK REFINEMENTS — additive coherence for the block UI
   Adds BAM framing to shipping/pickup options, checkbox/textarea inputs,
   cart quantities and product images. Existing rules above are untouched.
   ========================================================================= */

/* Shipping method options — radio-control cards */
.wc-block-checkout__shipping-method-option,
.wc-block-components-radio-control__option {
  border: 2px solid rgba(6, 59, 99, 0.15);
  border-radius: 10px;
  padding: 12px 16px;
  transition: border-color 0.2s ease;
}

.wc-block-checkout__shipping-method-option:hover,
.wc-block-components-radio-control__option:hover {
  border-color: var(--ocean-blue);
}

.wc-block-components-radio-control__option-checked,
.wc-block-checkout__shipping-method-option.is-checked {
  border-color: var(--memo-orange);
  background: rgba(247, 147, 30, 0.05);
}

/* Pickup options — same treatment as shipping cards */
.wc-block-checkout__pickup-options {
  border: 2px solid rgba(6, 59, 99, 0.15);
  border-radius: 10px;
  padding: 12px 16px;
}

/* Checkbox — BAM accent + focus */
.wc-block-checkout .wc-block-components-checkbox {
  accent-color: var(--memo-orange);
  border-radius: 8px;
}

.wc-block-checkout .wc-block-components-checkbox input[type='checkbox'] {
  accent-color: var(--memo-orange);
  width: 1.1em;
  height: 1.1em;
}

.wc-block-checkout .wc-block-components-checkbox input[type='checkbox']:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 2px;
}

/* Textarea — match the existing text-input treatment */
.wc-block-checkout .wc-block-components-textarea {
  width: 100%;
  border: 1px solid var(--ocean-blue);
  border-radius: 8px;
  padding: 12px 14px;
  background: #fff;
  color: var(--dark);
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wc-block-checkout .wc-block-components-textarea:focus,
.wc-block-checkout .wc-block-components-textarea:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 2px;
  border-color: var(--ocean-blue);
}

/* Cart page quantity selector — ocean border to match checkout inputs */
.wc-block-cart .wc-block-components-quantity-selector {
  border: 2px solid var(--ocean-blue);
  border-radius: 8px;
}

/* Cart item images — framed thumbnails */
.wc-block-cart-item__image img {
  border-radius: 10px;
  border: 2px solid rgba(247, 147, 30, 0.3);
}

/* =========================================================================
   12. CHECKOUT BAM POLISH — additive section cards + express divider
   Existing rules above remain untouched; this section only adds BAM
   framing to the checkout block sections (white cards over the cream
   shell), the express payment frame/divider and the order summary.
   ========================================================================= */

/* Step sections become warm white cards over the cream shell */
.wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-contact-information-block,
.wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-shipping-method-block,
.wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-pickup-options-block,
.wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-shipping-address-block,
.wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-billing-address-block,
.wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-shipping-methods-block,
.wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-additional-information-block {
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
  padding: 22px 24px;
  margin-bottom: 20px;
}

/* Section titles — Lilita One with a small orange accent bar */
.wp-block-woocommerce-checkout-fields-block .wc-block-components-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  font-size: 1.35rem;
}

.wp-block-woocommerce-checkout-fields-block .wc-block-components-title::before {
  content: '';
  width: 5px;
  height: 1.1em;
  border-radius: 3px;
  background: var(--memo-orange);
  flex: 0 0 auto;
}

/* Express payment (PayPal) — soft dashed ocean frame */
.wc-block-checkout .wc-block-components-express-payment--checkout {
  background-color: #fff;
  border: 1px dashed var(--ocean-blue);
  border-radius: 9px;
  padding: 18px 18px;
  margin-bottom: 20px;
}

.wc-block-checkout .wc-block-components-express-payment-continue-rule {
  color: rgba(23, 19, 19, 0.6);
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 1px;
}

.wc-block-components-express-payment--disabled .wc-block-components-express-payment__content {
  opacity: 1;
}

/* Order summary rows — friendly dashed separators + framed images */
.wc-block-checkout__sidebar .wc-block-components-order-summary-item {
  border-bottom: 1px dashed rgba(6, 27, 53, 0.12);
  padding-bottom: 12px;
  margin-bottom: 12px;
}

.wc-block-checkout__sidebar .wc-block-components-order-summary-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.wc-block-checkout__sidebar .wc-block-components-order-summary-item .wc-block-components-product-image img {
  border-radius: 10px;
}

/* Payment method rows — breathing room between options */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option {
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-contact-information-block,
  .wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-shipping-method-block,
  .wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-pickup-options-block,
  .wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-shipping-address-block,
  .wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-billing-address-block,
  .wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-shipping-methods-block,
  .wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-additional-information-block {
    padding: 18px 16px;
  }
}

/* =========================================================================
   12b. EXPRESS PAYMENT + ORDER SUMMARY — forced resets
   Neutralizes the block default inner box of the express payment content,
   forces the title/divider container placement, and strips the boxy
   wrapper of the order summary block so it sits clean inside its card.
   ========================================================================= */

.wc-block-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {
  border: none;
  border-radius: 0;
  border-top: 0;
  margin-top: 0;
  min-height: 0;
  padding: 0;
}

.wc-block-components-express-payment--checkout .wc-block-components-express-payment__event-buttons {
  grid-template-columns: auto;
}

.wc-block-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container {
  display: flex;
  flex-direction: row;
  left: 0;
  position: initial;
  right: 0;
  top: -4px;
  vertical-align: middle;
}

.wc-block-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before,
.wc-block-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after {
  border-radius: 0 !important;
}

.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-bottom: 1px solid var(--wc-separator-color, color-mix(in srgb, currentColor 20%, transparent));
  box-sizing: border-box;
  font-size: inherit;
  line-height: inherit;
}

.wp-block-woocommerce-checkout-order-summary-totals-block {
  padding-bottom: 0 !important;
}

/* =========================================================================
   12c. HIDE EMPTY CONDITIONAL STEPS
   Shipping method and pickup options only render content when they apply
   (e.g. local pickup enabled). When WooCommerce leaves the wrapper empty,
   hide it entirely instead of showing a blank card.
   ========================================================================= */

.wp-block-woocommerce-checkout-shipping-method-block:empty,
.wp-block-woocommerce-checkout-pickup-options-block:empty {
  display: none;
}

/* =========================================================================
   12d. CHECKOUT STEP — wrapper cleanup (no padding reset)
   ========================================================================= */

.wc-block-components-form .wc-block-components-checkout-step {
  background: none;
  border: none;
  margin: 0 0 24px;
  padding: 20px 24px;
  position: relative;
}

/* =========================================================================
   12e. ORDER SUMMARY — unified single card (BAM)
   The whole right column reads as ONE block: the summary wrapper becomes
   the single white card; the totals and coupon boxes inside are flattened
   and sections breathe with subtle dashed separators only.
   ========================================================================= */

/* Single card for the whole summary column */
.wp-block-woocommerce-checkout-order-summary-block {
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
  padding: 26px 28px;
}

/* Flatten the totals box so it lives inside the card */
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 16px 0 0;
  margin: 0;
}

/* Summary title — BAM heading, no boxy borders on the toggle header */
.wc-block-components-checkout-order-summary__title,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title {
  border-top: none;
  border-bottom: none;
  padding: 0 0 14px;
  margin: 0 0 10px;
}

.wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
  font-family: 'Lilita One', cursive;
  font-size: 1.35rem;
  color: var(--dark);
  margin: 0;
}

/* Coupon inside the summary — blend with the card, keep the fields usable */
.wc-block-checkout__sidebar .wc-block-components-discounts,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-discounts {
  background: transparent;
  border: none;
  padding: 4px 0 12px;
}

.wc-block-components-sidebar .wc-block-components-panel, .wc-block-components-sidebar .wc-block-components-totals-coupon {
  padding-bottom: 16px;
}

/* Items block rhythm inside the card */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary {
  margin-top: 4px;
}

/* =========================================================================
   12f. HIDE EMPTY TOTALS ITEMS / WRAPPERS
   Discount, fee, shipping and tax wrappers only render content when they
   apply. When WooCommerce leaves them (or a totals description) empty,
   hide it entirely instead of drawing a blank row.
   ========================================================================= */

.wc-block-checkout__sidebar .wc-block-components-totals-wrapper:empty,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:empty,
.wc-block-components-totals-item__description:empty {
  display: none;
}

.wc-block-components-button:not(.is-link):focus {
  box-shadow: none;
  outline: 0;
  border-color: transparent;
}

/* =========================================================================
   12g. CART — unified summary card (checkout 12e parity)
   The cart totals sidebar reads as ONE block, exactly like the checkout
   order summary: the cart order summary wrapper becomes the single white
   card; the totals and coupon boxes inside are flattened and only the
   footer total keeps its bold orange top border.
   ========================================================================= */

/* Single card for the whole cart totals column */
.wp-block-woocommerce-cart-order-summary-block {
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
  padding: 26px 28px;
}

/* Flatten the totals boxes so they live inside the card */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 16px 0 0;
  margin: 0;
}

/* Coupon inside the card — blend with the card, keep the fields usable */
.wc-block-cart__sidebar .wc-block-components-discounts {
  background: transparent;
  border: none;
  padding: 4px 0 12px;
}

/* Hide wrappers WooCommerce leaves empty (discount/fee/shipping/taxes) */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper:empty {
  display: none;
}

/* Same card padding as checkout on small screens */
@media (max-width: 782px) {
  .wp-block-woocommerce-cart-order-summary-block {
    padding: 18px 20px;
  }
}

/* Cart totals heading — same BAM font as the checkout summary title.
   The cart heading is a plain h2 (no wc-block-components-title class),
   so it needs an explicit font-family override. */
.wp-block-woocommerce-cart-order-summary-heading-block h2,
.wp-block-woocommerce-cart-order-summary-heading-block .wp-block-heading {
  font-family: 'Lilita One', cursive;
  font-size: 1.4rem;
  color: var(--dark);
  margin: 0 0 18px;
}

/* =========================================================================
   12h. SINGLE PRODUCT — page polish (BAM)
   The WooCommerce default block template for a single product: framed
   gallery, BAM heading/price, orange pill add-to-cart and a card for the
   details tabs — consistent with the rest of the store.
   ========================================================================= */

/* Breadcrumbs — quiet and small */
.single-product main {
  padding-top: 120px; /* clear the fixed .bam-header, same rhythm as other pages */
  padding-bottom: 80px; /* keep the details block off the footer */
}
.single-product .wp-block-woocommerce-breadcrumbs .woocommerce-breadcrumb {
  font-size: 0.8rem;
  color: rgba(6, 27, 53, 0.6);
}
.single-product .wp-block-woocommerce-breadcrumbs .woocommerce-breadcrumb a {
  color: var(--ocean-blue);
  text-decoration: none;
}
.single-product .wp-block-woocommerce-breadcrumbs .woocommerce-breadcrumb a:hover {
  text-decoration: underline;
}

/* Gallery — framed and rounded */
.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__wrapper {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(6, 27, 53, 0.08);
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
}
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  margin-top: 12px;
  gap: 12px;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img {
  border-radius: 8px;
  border: 1px solid rgba(6, 27, 53, 0.08);
}

/* Title, price and excerpt */
.single-product .wp-block-post-title {
  font-size: clamp(1.75rem, 4vw, 2.6rem);
  line-height: 1.1;
  margin-bottom: 12px;
}
.single-product .wp-block-woocommerce-product-price .wc-block-components-product-price {
  color: var(--memo-deep-orange);
  font-weight: 800;
  font-size: 2rem;
  margin: 0 0 12px;
}
.single-product .wp-block-post-excerpt {
  color: rgba(6, 27, 53, 0.75);
  font-size: 1.05rem;
  margin: 0 0 24px;
}

/* Add to cart — BAM quantity + primary pill */
.single-product .wp-block-woocommerce-add-to-cart-form .quantity .qty {
  width: 72px;
  height: 48px;
  border: 2px solid rgba(6, 27, 53, 0.2);
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--dark);
  background: #fff;
  text-align: center;
}
.single-product .single_add_to_cart_button {
  height: 48px;
  background: var(--memo-orange);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 0 28px;
  font-weight: 800;
  font-size: 1rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.single-product .single_add_to_cart_button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 28px rgba(247, 147, 30, 0.4);
}

/* Meta — clean category chip */
.single-product .wp-block-woocommerce-product-meta div.wp-block-group {
  flex-flow: column;
  align-items: flex-start;
  gap: inherit;
}

.single-product .wp-block-woocommerce-product-meta .wp-block-post-terms {
  font-size: 0.8rem;
  color: rgba(6, 27, 53, 0.6);
  margin-top: 16px;
}

.single-product .wp-block-woocommerce-product-meta .wp-block-post-terms a {
  display: inline-block;
  background: rgba(22, 198, 232, 0.12);
  color: var(--ocean-blue);
  border-radius: 999px;
  padding: 4px 12px;
  font-weight: 700;
  text-decoration: none;
  margin: 5px;
}

/* Details tabs — BAM card */
.single-product .wp-block-woocommerce-product-details .woocommerce-tabs {
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
  padding: 8px 28px 28px;
  margin-top: 48px;
}
.single-product .woocommerce-tabs ul.tabs {
  margin: 0 0 20px;
  padding: 0;
  border-bottom: 1px solid rgba(6, 27, 53, 0.08);
}
.single-product .woocommerce-tabs ul.tabs li {
  border: none;
  background: transparent;
  border-radius: 0;
  position: relative;
  margin: 0 24px 0 0;
  padding: 0;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
  display: none;
}
.single-product .woocommerce-tabs ul.tabs li a {
  color: rgba(6, 27, 53, 0.6);
  font-weight: 700;
}
.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--memo-deep-orange);
}
.single-product .woocommerce-tabs ul.tabs li.active::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--memo-orange);
  border-radius: 3px 3px 0 0;
}
.single-product .woocommerce-Tabs-panel {
  padding-top: 18px;
}
.single-product .woocommerce-Tabs-panel h2 {
  font-family: 'Lilita One', cursive;
  color: var(--dark);
}

/* Reviews — BAM card + Memo form fields */
.single-product .comment-respond {
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  padding: 24px 28px;
  margin-top: 24px;
}
.single-product .comment-reply-title {
  font-family: 'Lilita One', cursive;
  font-size: 1.3rem;
  color: var(--dark);
  display: block;
  margin-bottom: 8px;
}
.single-product .comment-form label {
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--dark);
}
.single-product .comment-form input[type='text'],
.single-product .comment-form input[type='email'],
.single-product .comment-form textarea,
.single-product .comment-form select {
  width: 100%;
  border: 2px solid rgba(6, 27, 53, 0.15);
  border-radius: 10px;
  padding: 12px 14px;
  font: inherit;
  color: var(--dark);
  background: #fff;
}
.single-product .comment-form input:focus,
.single-product .comment-form textarea:focus,
.single-product .comment-form select:focus {
  border-color: var(--ocean-blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(22, 198, 232, 0.15);
}
.single-product .comment-form textarea {
  resize: vertical;
}
.single-product .comment-form .form-submit .submit {
  background: linear-gradient(135deg, var(--memo-orange), var(--memo-deep-orange));
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 12px 28px;
  font-weight: 800;
  font-size: 1rem;
}
.single-product .comment-form .form-submit .submit:hover {
  filter: brightness(0.94);
}
/* comment_form() only prints this cookie checkbox for guests, and guests
   no longer see the review fields — hide it so the login prompt stays clean. */
.single-product .comment-form-cookies-consent {
  display: none;
}

/* Guest review prompt — SAME design as the home story quote (bam-story__quote):
   identical markup classes and the exact values from landing.css so the
   unlogged review block looks exactly like the home quote. */
.single-product .comment-respond:has(.bam-story__quote) {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin-top: 16px;
  max-width: none;
}
.single-product .comment-respond:has(.bam-story__quote) .comment-reply-title {
  display: none;
}
.single-product .comment-respond:has(.bam-story__quote) .comment-form {
  margin: 0;
  padding: 0;
}
.single-product .bam-story__quote {
  position: relative;
  margin: 24px 0 0;
  padding: 28px 36px;
  max-width: 100%;
  border-left: 4px solid var(--memo-orange);
  background: rgba(247, 147, 30, 0.06);
  border-radius: 0 12px 12px 0;
}
.single-product .bam-story__quote-text {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1.75;
  color: var(--dark);
  margin: 0 0 14px;
}
.single-product .bam-story__quote-author {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--memo-orange);
  margin: 0;
}
.single-product .bam-story__quote-author a {
  color: var(--memo-orange);
  text-decoration: underline;
}
.single-product .bam-story__quote-author a:hover {
  color: var(--memo-deep-orange);
}
.wc-block-grid__product-rating .star-rating span, 
.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span, 
.wc-block-grid__product-rating .wc-block-product-review-rating__stars span, 
.wp-block-woocommerce-product-review-rating .star-rating span, 
.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars span, 
.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars span {
  color: var(--memo-gold);
}

/* Login form (My Account) — BAM card + Memo fields + orange pill button */
.woocommerce-account .woocommerce h2 {
  font-family: 'Lilita One', cursive;
  font-size: 1.6rem;
  color: var(--dark);
}
/* My Account two-columns (Acceder | Registrarse) — same size and alignment */
.woocommerce-account #customer_login {
  display: flex;
  align-items: stretch;
  gap: 24px;
}
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
  flex: 1;
  width: auto;
  float: none;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  flex: 1;
  max-width: none;
  margin: 16px 0 0;
  padding: 28px 32px;
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
}
.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-login .woocommerce-form-row,
.woocommerce-account .woocommerce-form-register .woocommerce-form-row {
  margin-bottom: 12px;
}
.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label {
  display: block;
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--dark);
  margin-bottom: 4px;
}
.woocommerce-account .woocommerce-form-login input[type='text'],
.woocommerce-account .woocommerce-form-login input[type='password'],
.woocommerce-account .woocommerce-form-login input[type='email'],
.woocommerce-account .woocommerce-form-register input[type='text'],
.woocommerce-account .woocommerce-form-register input[type='password'],
.woocommerce-account .woocommerce-form-register input[type='email'] {
  width: 100%;
  border: 2px solid rgba(6, 27, 53, 0.15);
  border-radius: 10px;
  padding: 12px 14px;
  font: inherit;
  color: var(--dark);
  background: #fff;
}
.woocommerce-account .woocommerce-form-login input:focus,
.woocommerce-account .woocommerce-form-register input:focus {
  border-color: var(--ocean-blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(22, 198, 232, 0.15);
}
.woocommerce-account .woocommerce-form-login .form-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.woocommerce-account .woocommerce-form-login .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding-bottom: 4px;
  font-weight: 400;
}
.woocommerce-account .woocommerce-form-login .woocommerce-form__input-checkbox {
  accent-color: var(--memo-orange);
  width: 16px;
  height: 16px;
}
.woocommerce-account #customer_login .woocommerce-form-login__submit,
.woocommerce-account #customer_login .woocommerce-form-register__submit {
  width: 100%;
  display: inline-flex;
  align-items: center;
  padding: 14px 32px;
  background: var(--memo-orange);
  color: #fff;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 20px rgba(247, 147, 30, 0.3);
}
.woocommerce-account #customer_login .woocommerce-form-login__submit:hover,
.woocommerce-account #customer_login .woocommerce-form-register__submit:hover {
  background: var(--memo-orange);
  transform: translateY(-2px);
  box-shadow: 0 6px 28px rgba(247, 147, 30, 0.4);
}
.woocommerce-account .woocommerce-form-register > p,
.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-text {
  font-size: 0.85rem;
  color: var(--dark);
  opacity: 0.75;
  margin: 0 0 10px;
}
.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-text a {
  color: var(--memo-orange);
}
.woocommerce-account .woocommerce-form-login .lost_password {
  margin: 12px 0 0;
}
.woocommerce-account .woocommerce-form-login .lost_password a {
  color: var(--memo-orange);
  font-weight: 600;
  text-decoration: underline;
}
.woocommerce-account .woocommerce-form-login .lost_password a:hover {
  color: var(--memo-deep-orange);
  text-decoration: none;
}

/* Lost password (My Account) — same BAM card + button as login/register */
.woocommerce-account.woocommerce-lost-password h1 {
  font-family: 'Lilita One', cursive;
  font-size: 1.6rem;
  color: var(--dark);
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.woocommerce-account .lost_reset_password {
  max-width: 480px;
  margin: 16px auto 0;
  padding: 28px 32px;
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
}
.woocommerce-account .lost_reset_password > p:not(.form-row):not(.woocommerce-form-row) {
  font-size: 0.9rem;
  color: var(--dark);
  opacity: 0.75;
  margin: 0 0 16px;
}
.woocommerce-account .lost_reset_password .form-row {
  margin-bottom: 12px;
  width: 100%;
  float: none;
}
.woocommerce-account .lost_reset_password .form-row label {
  display: block;
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--dark);
  margin-bottom: 4px;
}
.woocommerce-account .lost_reset_password .form-row input[type='text'] {
  width: 100%;
  border: 2px solid rgba(6, 27, 53, 0.15);
  border-radius: 10px;
  padding: 12px 14px;
  font: inherit;
  color: var(--dark);
  background: #fff;
}
.woocommerce-account .lost_reset_password .form-row input:focus {
  border-color: var(--ocean-blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(22, 198, 232, 0.15);
}
.woocommerce-account .lost_reset_password button.woocommerce-Button {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
  background: var(--memo-orange);
  color: #fff;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 20px rgba(247, 147, 30, 0.3);
}
.woocommerce-account .lost_reset_password button.woocommerce-Button:hover {
  background: var(--memo-orange);
  transform: translateY(-2px);
  box-shadow: 0 6px 28px rgba(247, 147, 30, 0.4);
}

@media (max-width: 782px) {
  .single-product .wp-block-woocommerce-add-to-cart-form form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }
  .single-product .single_add_to_cart_button {
    flex: 1;
    min-width: 200px;
  }
  .single-product .wp-block-woocommerce-product-details .woocommerce-tabs {
    padding: 8px 18px 22px;
  }
  .single-product .bam-story__quote {
    padding: 20px 24px;
  }
  .woocommerce-account #customer_login {
    flex-direction: column;
    gap: 16px;
  }
}

/* ============================================================
   12i. PRODUCT ARCHIVE (shop) — BAM polish
   WooCommerce block archive: breadcrumb clearance + quiet breadcrumb,
   Memo "Ordenar" select and BAM add-to-cart buttons, matching the
   single product treatment.
   ============================================================ */

/* Breadcrumbs — clear the fixed header, same rhythm as single product */
.post-type-archive-product main {
  padding-top: 120px;
  padding-bottom: 80px;
}
.post-type-archive-product .wp-block-woocommerce-breadcrumbs .woocommerce-breadcrumb {
  font-size: 0.8rem;
  color: rgba(6, 27, 53, 0.6);
}
.post-type-archive-product .wp-block-woocommerce-breadcrumbs .woocommerce-breadcrumb a {
  color: var(--ocean-blue);
  text-decoration: none;
}
.post-type-archive-product .wp-block-woocommerce-breadcrumbs .woocommerce-breadcrumb a:hover {
  text-decoration: underline;
}

/* "Ordenar" select — Memo style (card input + chevron) */
.post-type-archive-product .woocommerce-ordering select.orderby {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--dark);
  background-color: #fff;
  border: 2px solid rgba(6, 27, 53, 0.15);
  border-radius: 10px;
  padding: 10px 42px 10px 14px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5B73' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 14px;
}
.post-type-archive-product .woocommerce-ordering select.orderby:focus {
  outline: none;
  border-color: var(--ocean-blue);
  box-shadow: 0 0 0 3px rgba(22, 198, 232, 0.15);
}

/* Product "add to cart" buttons — Memo primary (hero-cta clone) */
.post-type-archive-product .wc-block-components-product-button .wp-block-button__link {
  background: var(--memo-orange);
  color: #fff;
  border: none;
  border-radius: 10px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 22px;
  box-shadow: 0 4px 20px rgba(247, 147, 30, 0.3);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.post-type-archive-product .wc-block-components-product-button .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 28px rgba(247, 147, 30, 0.4);
}

/* ============================================================
   13. My Account internal pages (logged-in only) — BAM style
   Sidebar navigation card + content card + tables + forms
   ============================================================ */

/* Layout: sidebar + content */
@media (min-width: 783px) {
  .logged-in.woocommerce-account .entry-content {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .logged-in.woocommerce-account .bam-page__header {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .logged-in.woocommerce-account .bam-page__title {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .logged-in.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-start;
    max-width: none;
  }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 250px;
    width: auto !important;
    float: none;
    margin: 0;
  }
  .logged-in.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 1 0;
    width: auto !important;
    float: none;
    min-width: 0;
  }
}

/* Sidebar navigation card */
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
  padding: 16px;
  align-self: flex-start;
  margin-bottom: 24px;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li,
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link {
  margin: 0 0 6px !important;
  padding: 0 !important;
  border-bottom: 0 !important;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link a {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 8px;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--dark) !important;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
  background: rgba(247, 147, 30, 0.12);
  color: var(--memo-orange) !important;
  text-decoration: none !important;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a,
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link a[aria-current='page'] {
  background: var(--memo-orange);
  color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 20px rgba(247, 147, 30, 0.3);
}

/* Icons: same family as WooCommerce customer-account / mini-cart SVGs (viewBox 1 1 29 29, stroke 2, round caps) */
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link a {
  gap: 10px;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link a::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: currentColor;
  -webkit-mask: var(--bam-account-icon, none) center / contain no-repeat;
  mask: var(--bam-account-icon, none) center / contain no-repeat;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a {
  --bam-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1 1 29 29' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='11' height='11' rx='2'/%3E%3Crect x='17' y='3' width='11' height='11' rx='2'/%3E%3Crect x='3' y='17' width='11' height='11' rx='2'/%3E%3Crect x='17' y='17' width='11' height='11' rx='2'/%3E%3C/svg%3E");
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a {
  --bam-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1 1 29 29' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 11.5h14l-1.3 12.8a3 3 0 0 1-3 2.7h-5.4a3 3 0 0 1-3-2.7L8.5 11.5z'/%3E%3Cpath d='M11.5 11.5V7.7a4 4 0 0 1 8 0v3.8'/%3E%3C/svg%3E");
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a {
  --bam-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1 1 29 29' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.5 3.5v11'/%3E%3Cpath d='M11 10.5l4.5 4.5 4.5-4.5'/%3E%3Cpath d='M5.5 19.5v2.5a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2.5'/%3E%3C/svg%3E");
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a {
  --bam-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1 1 29 29' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.5 26s-7.5-6.4-7.5-12.4a7.5 7.5 0 0 1 15 0c0 6-7.5 12.4-7.5 12.4z'/%3E%3Ccircle cx='15.5' cy='13.5' r='3.2'/%3E%3C/svg%3E");
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods a {
  --bam-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1 1 29 29' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='7' width='23' height='16' rx='2.5'/%3E%3Cpath d='M4 12h23'/%3E%3Ccircle cx='10.5' cy='9.5' r='1.3'/%3E%3C/svg%3E");
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a {
  --bam-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1 1 29 29' fill='none'%3E%3Ccircle cx='16' cy='10.5' r='3.5' stroke='black' stroke-width='2' fill='none'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11.5 18.5H20.5C21.8807 18.5 23 19.6193 23 21V25.5H25V21C25 18.5147 22.9853 16.5 20.5 16.5H11.5C9.01472 16.5 7 18.5147 7 21V25.5H9V21C9 19.6193 10.1193 18.5 11.5 18.5Z' fill='black'/%3E%3C/svg%3E");
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
  --bam-account-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1 1 29 29' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.5 5.5H8a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h3.5'/%3E%3Cpath d='M16.5 10.5l5 4.5-5 4.5'/%3E%3Cpath d='M21.5 15H10.5'/%3E%3C/svg%3E");
}

/* Tables (orders, downloads, payment methods, order details) */
.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
  width: 100%;
  margin: 16px 0 0;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
  background: rgba(6, 27, 53, 0.04);
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--dark);
  padding: 12px 16px;
  border-bottom: 1px solid rgba(6, 27, 53, 0.08);
  text-align: left;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(6, 27, 53, 0.06);
  color: var(--dark);
  vertical-align: middle;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:last-child td {
  border-bottom: none;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:hover td {
  background: rgba(247, 147, 30, 0.05);
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table a:not(.button) {
  color: var(--memo-orange);
  font-weight: 600;
  text-decoration: none;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content table.shop_table a:not(.button):hover {
  color: var(--memo-deep-orange);
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination {
  margin: 16px 0 0;
}

/* Neutralize plugin layout.css clearfix pseudo boxes (they become
   phantom flex/grid items and break the sidebar + card layout) */
.logged-in.woocommerce-account .woocommerce::before,
.logged-in.woocommerce-account .woocommerce::after,
.logged-in.woocommerce-account .woocommerce-Addresses::before,
.logged-in.woocommerce-account .woocommerce-Addresses::after {
  content: none;
}

/* Neutralize plugin layout.css col2-set float/48% on address cards */
.logged-in.woocommerce-account .woocommerce-Addresses .u-column1,
.logged-in.woocommerce-account .woocommerce-Addresses .u-column2,
.logged-in.woocommerce-account .woocommerce-Addresses .col-1,
.logged-in.woocommerce-account .woocommerce-Addresses .col-2 {
  float: none;
  width: auto !important;
}

/* Addresses (my-address + view-order customer details) */
.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
.logged-in.woocommerce-account .woocommerce-customer-details .woocommerce-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
  margin-top: 16px;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
.logged-in.woocommerce-account .woocommerce-customer-details .woocommerce-column {
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 10px;
  padding: 18px;
  background: rgba(6, 27, 53, 0.02);
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
.logged-in.woocommerce-account .woocommerce-customer-details h2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
.logged-in.woocommerce-account .woocommerce-customer-details h2 {
  margin: 0;
  font-family: 'Lilita One', cursive;
  font-size: 1.05rem;
  color: var(--dark);
}
.logged-in.woocommerce-account .woocommerce-customer-details h2.woocommerce-column__title {
  margin: 0 0 10px;  
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit,
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward {
  color: var(--memo-orange) !important;
  font-weight: 600;
  font-size: 0.8rem;
  text-decoration: underline;
  white-space: nowrap;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover,
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:hover {
  color: var(--memo-deep-orange) !important;
  text-decoration: none;
  transform: none !important;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address,
.logged-in.woocommerce-account .woocommerce-customer-details address {
  font-style: normal;
  font-size: 0.9rem;
  color: var(--dark);
  opacity: 0.8;
  line-height: 1.7;
}
.woocommerce-account .addresses .title::after, .woocommerce-account .addresses .title::before {
  display: none;
}

/* BAM buttons (small) inside account content */
.logged-in.woocommerce-account .woocommerce-MyAccount-content a.button:not(.wc-forward),
.logged-in.woocommerce-account .woocommerce-MyAccount-content button.button,
.logged-in.woocommerce-account .woocommerce-MyAccount-content button.woocommerce-Button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 18px;
  background: var(--memo-orange) !important;
  color: #fff !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.85rem;
  font-weight: 800;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none !important;
  box-shadow: 0 3px 12px rgba(247, 147, 30, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content a.button:not(.wc-forward):hover,
.logged-in.woocommerce-account .woocommerce-MyAccount-content button.button:hover,
.logged-in.woocommerce-account .woocommerce-MyAccount-content button.woocommerce-Button:hover {
  background: var(--memo-orange) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 5px 16px rgba(247, 147, 30, 0.35);
}

/* Forms (edit address, account details) */
.logged-in.woocommerce-account .woocommerce-MyAccount-content form .form-row {
  margin-bottom: 12px;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content form .form-row-first {
  width: 48%;
  float: left;
  margin-right: 0;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content form .form-row-last {
  width: 48%;
  float: right;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content form .clear {
  clear: both;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content form label {
  display: block;
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--dark);
  margin: 0 0 4px;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content form .woocommerce-input-wrapper {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content form input.input-text,
.logged-in.woocommerce-account .woocommerce-MyAccount-content form select,
.logged-in.woocommerce-account .woocommerce-MyAccount-content form textarea {
  width: 100%;
  border: 2px solid rgba(6, 27, 53, 0.15);
  border-radius: 10px;
  padding: 12px 14px;
  font: inherit;
  color: var(--dark);
  background: #fff;
  box-sizing: border-box;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content form input:focus,
.logged-in.woocommerce-account .woocommerce-MyAccount-content form select:focus,
.logged-in.woocommerce-account .woocommerce-MyAccount-content form textarea:focus {
  border-color: var(--ocean-blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(22, 198, 232, 0.15);
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content form fieldset {
  border: 0;
  padding: 0;
  margin: 16px 0 0;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content form legend {
  font-family: 'Lilita One', cursive;
  font-size: 1.15rem;
  color: var(--dark);
  margin-bottom: 10px;
  padding: 0;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content form .form-row em {
  font-size: 0.78rem;
  opacity: 0.7;
  font-style: italic;
}

/* selectWoo (select2) widgets — country/state in address form, BAM input pattern */
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single {
  height: auto;
  min-height: 45px;
  display: flex;
  align-items: center;
  border: 1px solid var(--wc-separator-color, color-mix(in srgb, currentColor 20%, transparent));
  border-radius: 10px;
  padding: 0 14px;
  background: #fff;
  box-sizing: border-box;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--dark);
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  padding: 0;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-selection--single .select2-selection__arrow {
  position: static;
  margin-left: auto;
  height: auto;
  width: auto;
  background: transparent;
  border: none;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-top-color: #4a5b73;
  left: auto;
  right: 3%; 
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--ocean-blue);
  box-shadow: 0 0 0 3px rgba(22, 198, 232, 0.15);
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-dropdown {
  border: 1px solid var(--wc-separator-color, color-mix(in srgb, currentColor 20%, transparent));
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(6, 27, 53, 0.12);
  overflow: hidden;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-results__option {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.95rem;
  padding: 10px 14px;
  color: var(--dark);
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: rgba(247, 147, 30, 0.15);
  color: var(--dark);
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-results__option[aria-selected='true'] {
  background: rgba(6, 27, 53, 0.08);
  color: var(--dark);
}

/* Payment method radios (add-payment-method) */
.logged-in.woocommerce-account #add_payment_method ul {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}
.logged-in.woocommerce-account #add_payment_method li label {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
}
.logged-in.woocommerce-account #add_payment_method input[type='radio'] {
  accent-color: var(--memo-orange);
}

/* Content card */
.logged-in.woocommerce-account .woocommerce-MyAccount-content {
  padding: 28px 32px;
  background: #fff;
  border: 1px solid rgba(6, 27, 53, 0.08);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(6, 27, 53, 0.08);
  margin: 0;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content > p {
  font-size: 0.95rem;
  color: var(--dark);
  line-height: 1.6;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content > p a {
  color: var(--memo-orange);
  font-weight: 600;
  text-decoration: none;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content > p a:hover {
  color: var(--memo-deep-orange);
  text-decoration: none;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content mark {
  background: transparent;
  color: inherit;
  font-weight: 700;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content mark.order-status {
  color: var(--memo-orange);
}

/* =========================================================================
   Checkout breadcrumb
   The checkout is the one step a customer can strand themselves on: the block
   checkout offers no back link, and on a phone the fixed header is the only
   navigation left. One quiet line that wraps rather than overflows, with every
   step kept at a 44px tap target.
   ========================================================================= */
.bam-page__header .bam-breadcrumb {
  margin-bottom: 10px;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.8rem;
  line-height: 1.2;
}
.bam-page__header .bam-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.bam-page__header .bam-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.bam-page__header .bam-breadcrumb__link,
.bam-page__header .bam-breadcrumb__current {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 2px;
  color: var(--ocean-blue);
  text-decoration: none;
  white-space: nowrap;
}
.bam-page__header .bam-breadcrumb__link:hover {
  text-decoration: underline;
}
.bam-page__header .bam-breadcrumb__current {
  color: rgba(6, 27, 53, 0.55);
}
/* Decorative only: the links and aria-current carry the semantics. */
.bam-page__header .bam-breadcrumb__sep {
  color: rgba(6, 27, 53, 0.35);
  padding: 0 4px;
}
