/*
 * AJ WooCommerce Cart & Checkout Styles
 * Enqueued via functions.php — wp_enqueue_style()
 * Targets: /cart/ and /checkout/ pages
 */

/* -- SHARED: page title -- */
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title,
h1.wp-block-post-title {
    font-family: acumin-pro-extra-condensed, sans-serif !important;
    font-size: clamp(32px, 4vw, 48px) !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
    padding: 48px 0 8px !important;
    /* Kill drop cap */
    initial-letter: normal !important;
}
/* Kill drop cap pseudo-elements and first-letter styling */
h1.wp-block-post-title::first-letter,
.entry-title::first-letter,
.page-title::first-letter {
    font-size: inherit !important;
    font-family: inherit !important;
    float: none !important;
    line-height: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* -- SHARED: page wrapper -- */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    max-width: 860px !important;
    margin: 0 auto !important;
    padding: 0 40px 80px !important;
}
@media (max-width: 600px) {
    .woocommerce-cart .entry-content,
    .woocommerce-checkout .entry-content,
    .wp-block-woocommerce-cart,
    .wp-block-woocommerce-checkout {
        padding: 0 20px 60px !important;
    }
}

/* -- CART: table -- */
.woocommerce-cart-form table.shop_table,
table.woocommerce-cart-form__contents {
    border: none !important;
    border-collapse: collapse !important;
    width: 100% !important;
}
.woocommerce-cart-form table.shop_table th,
table.woocommerce-cart-form__contents th {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--text-light) !important;
    border: none !important;
    border-bottom: 1px solid var(--rule) !important;
    padding: 0 0 12px !important;
}
.woocommerce-cart-form table.shop_table td,
table.woocommerce-cart-form__contents td {
    border: none !important;
    border-bottom: 1px solid var(--rule) !important;
    padding: 20px 0 !important;
    vertical-align: middle !important;
}

/* Cart: product name */
.woocommerce-cart-form td.product-name a,
.wc-block-cart-item__product-name a,
.wc-block-cart-item__product-name {
    font-family: chaparral-pro, Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
    text-decoration: none !important;
}
.woocommerce-cart-form td.product-name a:hover,
.wc-block-cart-item__product-name a:hover {
    color: var(--orange) !important;
}

/* Cart: price */
.woocommerce-cart-form td.product-price,
.woocommerce-cart-form td.product-subtotal,
.wc-block-cart-item__prices {
    font-family: chaparral-pro, Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
}

/* Cart: quantity input */
.woocommerce-cart-form .quantity input,
.wc-block-components-quantity-selector input {
    font-family: proxima-nova, sans-serif !important;
    font-size: 15px !important;
    border: 1px solid var(--rule) !important;
    border-radius: 0 !important;
    color: var(--dark) !important;
    text-align: center !important;
    background: white !important;
    padding: 8px !important;
    width: 52px !important;
}
.wc-block-components-quantity-selector__button {
    background: transparent !important;
    border: 1px solid var(--rule) !important;
    border-radius: 0 !important;
    color: var(--text-mid) !important;
    transition: color 0.2s, border-color 0.2s !important;
}
.wc-block-components-quantity-selector__button:hover {
    border-color: var(--dark) !important;
    color: var(--dark) !important;
}

/* Cart: remove link */
.woocommerce-cart-form a.remove,
.wc-block-cart-item__remove-link {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--text-light) !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.woocommerce-cart-form a.remove:hover,
.wc-block-cart-item__remove-link:hover {
    color: var(--orange) !important;
    background: none !important;
}

/* Cart: totals section */
.cart_totals h2,
.wc-block-cart__totals-title {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: var(--text-light) !important;
    border-bottom: 1px solid var(--rule) !important;
    padding-bottom: 12px !important;
    margin-bottom: 20px !important;
}
.cart_totals table th,
.cart_totals table td {
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    color: var(--text) !important;
    border: none !important;
    border-bottom: 1px solid var(--rule) !important;
    padding: 14px 0 !important;
}
.cart_totals .order-total th,
.cart_totals .order-total td,
.wc-block-components-totals-item--total .wc-block-components-totals-item__label,
.wc-block-components-totals-item--total .wc-block-components-totals-item__value {
    font-family: chaparral-pro, Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
    border-bottom: none !important;
    padding-top: 20px !important;
}

/* Cart: proceed to checkout button */
.wc-proceed-to-checkout .checkout-button,
.wc-block-cart__submit-button,
a.checkout-button {
    display: block !important;
    background: var(--orange) !important;
    color: var(--cream) !important;
    font-family: proxima-nova-condensed, sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    padding: 16px 32px !important;
    text-align: center !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    margin-top: 24px !important;
    width: 100% !important;
}
.wc-proceed-to-checkout .checkout-button:hover,
.wc-block-cart__submit-button:hover,
a.checkout-button:hover {
    background: var(--orange-dark) !important;
    color: var(--cream) !important;
}

/* Cart: coupon */
.coupon label,
.wc-block-components-totals-coupon__label {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--text-mid) !important;
}
.coupon input,
.wc-block-components-totals-coupon__input input {
    border: 1px solid var(--rule) !important;
    border-radius: 0 !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
    color: var(--dark) !important;
}

/* Cart: empty state */

/* Kill sad face — content + font-size needed to suppress WC icon font glyph */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
.woocommerce .wc-block-cart__empty-cart__title::before,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before,
.woocommerce-cart .cart-empty::before,
.wc-empty-cart-message .woocommerce-cart-empty-icon {
    display: none !important;
    content: none !important;
    font-size: 0 !important;
    visibility: hidden !important;
}

/* Empty heading — on-brand */
.wc-block-cart__empty-cart__title {
    font-family: acumin-pro-extra-condensed, sans-serif !important;
    font-size: clamp(28px, 3.5vw, 40px) !important;
    font-weight: 700 !important;
    font-style: normal !important;
    color: var(--dark) !important;
    text-align: left !important;
    letter-spacing: -0.01em !important;
    padding: 48px 0 0 !important;
    margin-bottom: 0 !important;
}

/* Italic subdeck */
.wc-block-cart__empty-cart__title::after {
    content: 'When you find something you love, it will show up here.';
    display: block;
    font-family: chaparral-pro, Georgia, serif;
    font-size: 17px;
    font-weight: 400;
    font-style: italic;
    color: var(--text-mid);
    letter-spacing: 0;
    margin-top: 12px;
}

.woocommerce-cart .cart-empty,
.wc-block-cart--is-empty p {
    font-family: chaparral-pro, Georgia, serif !important;
    font-size: 18px !important;
    font-style: italic !important;
    color: var(--text-mid) !important;
    text-align: left !important;
    padding: 40px 0 !important;
}

/* Return to shop link */
.return-to-shop .button,
.wc-block-cart--is-empty .wc-block-cart__empty-cart__title + a {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--cream) !important;
    background: var(--dark) !important;
    padding: 12px 24px !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    transition: background 0.2s !important;
}
.return-to-shop .button:hover { background: var(--orange) !important; }

/* -- CHECKOUT: sections -- */
.wc-block-checkout__order-summary-title,
.woocommerce-checkout h3,
.wc-block-components-order-summary__toggle-text,
.wp-block-woocommerce-checkout-order-summary-block h2 {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: var(--text-light) !important;
    /* Kill drop cap */
    initial-letter: normal !important;
}
.wc-block-checkout__order-summary-title::first-letter,
.woocommerce-checkout h3::first-letter {
    font-size: inherit !important;
    float: none !important;
    line-height: inherit !important;
    margin: 0 !important;
}

/* Checkout: section headings (Contact info, Billing address) */
.wc-block-components-checkout-step__title,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3 {
    font-family: acumin-pro-extra-condensed, sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 20px !important;
}

/* Checkout: form labels */
.wc-block-components-text-input label,
.wc-block-components-select label,
.woocommerce-checkout .form-row label,
.wc-block-checkout label {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--text-mid) !important;
}

/* Checkout: form inputs */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-combobox input,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout select {
    border: 1px solid var(--rule) !important;
    border-radius: 0 !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    color: var(--dark) !important;
    padding: 12px 14px !important;
    background: white !important;
    transition: border-color 0.2s !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.woocommerce-checkout input:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus {
    border-color: var(--dark) !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Checkout: place order button */
.wc-block-components-checkout-place-order-button,
#place_order,
.woocommerce-checkout #place_order {
    background: var(--orange) !important;
    color: var(--cream) !important;
    font-family: proxima-nova-condensed, sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    padding: 18px 40px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    width: 100% !important;
}
.wc-block-components-checkout-place-order-button:hover,
#place_order:hover {
    background: var(--orange-dark) !important;
}

/* Checkout: order summary items */
.wc-block-components-order-summary-item__quantity {
    background: var(--dark) !important;
    color: var(--cream) !important;
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 11px !important;
    border-radius: 50% !important;
}
.wc-block-components-order-summary-item__name {
    font-family: chaparral-pro, Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
}
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__total-price {
    font-family: chaparral-pro, Georgia, serif !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
}

/* Checkout: totals */
.wc-block-components-totals-item__label {
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    color: var(--text-mid) !important;
}
.wc-block-components-totals-item__value {
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    color: var(--dark) !important;
    font-weight: 500 !important;
}

/* Checkout: checkbox */
.wc-block-components-checkbox input[type="checkbox"]:checked {
    background-color: var(--dark) !important;
    border-color: var(--dark) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__label {
    font-family: proxima-nova, sans-serif !important;
    font-size: 13px !important;
    color: var(--text-mid) !important;
}

/* Checkout: express payment (Apple Pay, etc) separator */
.wc-block-components-express-payment__title-separator {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--text-light) !important;
}

/* -- KILL DROP CAPS everywhere inside WooCommerce -- */
/* GeneratePress targets .entry-content p::first-letter — match that specificity */
.entry-content .wc-block-components-product-metadata__description p::first-letter,
.entry-content .wc-block-components-product-metadata p::first-letter,
.entry-content .wc-block-cart-item__wrap p::first-letter,
.entry-content .wc-block-cart p::first-letter,
.entry-content .wc-block-checkout p::first-letter,
.entry-content .woocommerce-cart-form p::first-letter,
.entry-content .wc-block-components-order-summary p::first-letter,
.woocommerce-cart p::first-letter,
.woocommerce-checkout p::first-letter,
.wc-block-cart p::first-letter,
.wc-block-checkout p::first-letter,
.woocommerce-cart-form p::first-letter,
.wc-block-cart-item__description p::first-letter,
.wc-block-components-order-summary p::first-letter,
.wc-block-components-product-metadata p::first-letter,
.wc-block-components-product-metadata__description p::first-letter,
.wc-block-cart-item__wrap p::first-letter,
.woocommerce-mini-cart p::first-letter {
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    float: none !important;
    line-height: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    initial-letter: normal !important;
    width: auto !important;
    height: auto !important;
    display: inline !important;
}

/* Hide "New in store" product grid on empty cart */
.wp-block-woocommerce-empty-cart-block .wp-block-separator,
.wp-block-woocommerce-empty-cart-block hr,
.wp-block-woocommerce-empty-cart-block h2.wp-block-heading:not(.wc-block-cart__empty-cart__title),
.wp-block-woocommerce-empty-cart-block .wc-block-grid,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-handpicked-products,
.wp-block-woocommerce-empty-cart-block [class*="handpicked"],
.wp-block-woocommerce-empty-cart-block [class*="product-grid"],
.wp-block-woocommerce-empty-cart-block ul.products,
.woocommerce-cart .woocommerce h2.woocommerce-loop-product__title,
.wc-block-handpicked-products h2 {
    display: none !important;
}

/* ==========================================
   ORDER RECEIVED (Thank You page)
========================================== */

/* Kill drop cap on "Thank you. Your order has been received." */
.woocommerce-order-received .entry-content p:first-of-type::first-letter {
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    float: none !important;
}

/* Confirmation banner */
.woocommerce-order-received .woocommerce-order {
    max-width: 720px;
    margin: 0 auto;
    padding: 40px 40px 80px;
}

.woocommerce-order-received .woocommerce-notice--success,
.wc-block-order-confirmation-status__title {
    font-family: acumin-pro-extra-condensed, sans-serif !important;
    font-size: clamp(24px, 3vw, 36px) !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
    border: none !important;
    background: none !important;
    padding: 0 0 8px !important;
    margin-bottom: 32px !important;
}

/* Order details table */
.woocommerce-order-received .woocommerce-order-overview,
.wc-block-order-confirmation-summary {
    background: var(--cream-dark) !important;
    border: none !important;
    padding: 28px 32px !important;
    margin-bottom: 40px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    list-style: none !important;
}
.woocommerce-order-received .woocommerce-order-overview li,
.wc-block-order-confirmation-summary__row {
    font-family: proxima-nova, sans-serif !important;
    font-size: 13px !important;
    color: var(--text-mid) !important;
    border-right: 1px solid var(--rule) !important;
    padding: 0 28px 0 0 !important;
    margin: 0 28px 0 0 !important;
    border-bottom: none !important;
    border-top: none !important;
}
.woocommerce-order-received .woocommerce-order-overview li:last-child {
    border-right: none !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
}
.woocommerce-order-received .woocommerce-order-overview li strong,
.wc-block-order-confirmation-summary__value {
    font-family: chaparral-pro, Georgia, serif !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
    display: block !important;
    font-size: 16px !important;
    margin-top: 4px !important;
}

/* Order items table */
.woocommerce-order-received table.woocommerce-table--order-details th,
.wc-block-order-confirmation-totals th {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--text-light) !important;
    border-bottom: 1px solid var(--rule) !important;
    background: none !important;
}
.woocommerce-order-received table.woocommerce-table--order-details td,
.wc-block-order-confirmation-totals td {
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    color: var(--text) !important;
    border-bottom: 1px solid var(--rule) !important;
    background: none !important;
}
.woocommerce-order-received .woocommerce-table--order-details tfoot th,
.woocommerce-order-received .woocommerce-table--order-details tfoot td {
    font-family: chaparral-pro, Georgia, serif !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
    font-size: 18px !important;
}

/* Continue shopping button */
.woocommerce-order-received .button,
.wc-block-order-confirmation__actions .button {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    background: var(--dark) !important;
    color: var(--cream) !important;
    padding: 12px 28px !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 0 !important;
    transition: background 0.2s !important;
}
.woocommerce-order-received .button:hover { background: var(--orange) !important; color: var(--cream) !important; }


/* Account nav */
.woocommerce-MyAccount-navigation {
    padding-top: 4px !important;
}
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: 1px solid var(--rule) !important;
}
.woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--rule) !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-MyAccount-navigation ul li a {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--text-mid) !important;
    text-decoration: none !important;
    display: block !important;
    padding: 12px 0 !important;
    transition: color 0.2s !important;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--orange) !important;
}

/* Account content area */
.woocommerce-MyAccount-content {
    min-width: 0 !important;
}

/* Kill drop cap in account content */
.woocommerce-account .entry-content p:first-of-type::first-letter,
.woocommerce-MyAccount-content p::first-letter {
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    float: none !important;
}

/* Account: headings */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    font-family: acumin-pro-extra-condensed, sans-serif !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 20px !important;
}
.woocommerce-MyAccount-content h2 { font-size: 24px !important; }
.woocommerce-MyAccount-content h3 { font-size: 18px !important; }

/* Account: welcome message links */
.woocommerce-MyAccount-content a {
    color: var(--orange) !important;
    text-decoration: none !important;
}
.woocommerce-MyAccount-content a:hover {
    color: var(--orange-dark) !important;
    text-decoration: underline !important;
}

/* Account: orders table */
.woocommerce-orders-table th,
.woocommerce-MyAccount-content table th {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--text-light) !important;
    border-bottom: 1px solid var(--rule) !important;
    background: none !important;
    padding: 8px 0 !important;
}
.woocommerce-orders-table td,
.woocommerce-MyAccount-content table td {
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    color: var(--text) !important;
    border-bottom: 1px solid var(--rule) !important;
    background: none !important;
    padding: 14px 0 !important;
}
.woocommerce-orders-table .button,
.woocommerce-MyAccount-content .button {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    background: var(--dark) !important;
    color: var(--cream) !important;
    padding: 8px 16px !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
}
.woocommerce-orders-table .button:hover,
.woocommerce-MyAccount-content .button:hover {
    background: var(--orange) !important;
    color: var(--cream) !important;
}

/* Account: form fields */
.woocommerce-MyAccount-content .woocommerce-form label,
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--text-mid) !important;
}
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content select {
    border: 1px solid var(--rule) !important;
    border-radius: 0 !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    color: var(--dark) !important;
    padding: 10px 14px !important;
    background: white !important;
}
.woocommerce-MyAccount-content input[type="submit"],
.woocommerce-MyAccount-content button[type="submit"] {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    background: var(--orange) !important;
    color: var(--cream) !important;
    padding: 13px 28px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.woocommerce-MyAccount-content input[type="submit"]:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover {
    background: var(--orange-dark) !important;
}

/* ==========================================
   LOGIN PAGE (my-account when logged out)
========================================== */

/* Override grid for login — single centered column */
.woocommerce-account:not(.logged-in) .woocommerce {
    grid-template-columns: 1fr !important;
    max-width: 480px !important;
    gap: 0 !important;
}

.woocommerce-form-login,
.woocommerce-form-register {
    background: white !important;
    border: 1px solid var(--rule) !important;
    padding: 40px !important;
    margin-bottom: 24px !important;
    /* v3.10.25 — ROOT FIX for the /my-account/ horizontal slide on iOS. The card
       stretches to its column width (~full viewport on mobile); without border-box
       the 40px all-round padding was ADDED on top, making the card ~80px wider than
       the screen and sliding the whole page (footer shifted too). Contain it. */
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.woocommerce-form-login .woocommerce-form__label,
.woocommerce-form-register .woocommerce-form__label {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--text-mid) !important;
}

.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="email"],
.woocommerce-form-register input[type="password"] {
    border: 1px solid var(--rule) !important;
    border-radius: 0 !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    color: var(--dark) !important;
    padding: 11px 14px !important;
    width: 100% !important;
    background: white !important;
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    background: var(--orange) !important;
    color: var(--cream) !important;
    padding: 14px 32px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    width: 100% !important;
}
.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover {
    background: var(--orange-dark) !important;
}

.woocommerce-LostPassword a,
.woocommerce-privacy-policy-text a {
    font-family: proxima-nova, sans-serif !important;
    font-size: 13px !important;
    color: var(--text-light) !important;
    text-decoration: none !important;
}
.woocommerce-LostPassword a:hover { color: var(--orange) !important; }

/* Lost password page */
.woocommerce-ResetPassword .woocommerce-form {
    background: white !important;
    border: 1px solid var(--rule) !important;
    padding: 40px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 768px) {
    .woocommerce-account .entry-content,
    .woocommerce-account .woocommerce {
        grid-template-columns: 1fr !important;
        padding: 24px 20px 60px !important;
        gap: 32px !important;
    }

    /* v3.10.25 — 40px all-round padding is too heavy on a phone; trim it so the
       white login/register/reset card breathes inside the narrow column. */
    .woocommerce-form-login,
    .woocommerce-form-register,
    .woocommerce-ResetPassword .woocommerce-form {
        padding: 24px 20px !important;
    }
}

/* ==========================================
   == AJ SHOP + PRODUCT PAGES ==
   Matches approved mockup: aj_shop_redesign_v3.html
   All cream. No dark sections below the nav.
========================================== */

/* -- Kill any dark backgrounds GP or WC applies to shop/product pages -- */
.woocommerce-shop .site-main,
.woocommerce-shop .content-area,
.single-product .site-main,
.single-product .content-area,
.woocommerce-page .entry-content,
.woocommerce-shop #page,
.single-product #page {
    background: #F5F0E8 !important;
}

/* ==================================
   SHOP PAGE
================================== */

.aj-shop { background: #F5F0E8; }

/* Max-width wrapper for all shop content */
.aj-shop-hero,
.aj-section {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* Full-bleed section separators */
.aj-section-wrap {
    background: #F5F0E8;
}
.aj-section-wrap + .aj-section-wrap {
    border-top: 1px solid #D4C9B0;
}

.aj-shop-hero {
    padding: 44px 48px 28px;
    border-bottom: 1px solid #D4C9B0;
}
.aj-eyebrow {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #D4521A;
    margin-bottom: 8px;
}
.aj-shop-title {
    font-family: acumin-pro-extra-condensed, sans-serif;
    font-size: 40px;
    font-weight: 700;
    color: #1C1C1A;
    line-height: 1;
    margin-bottom: 6px;
}
.aj-shop-sub {
    font-family: proxima-nova, sans-serif;
    font-size: 13px;
    color: #5A5750;
}

.aj-section {
    padding: 40px 48px;
    background: #F5F0E8;
}
.aj-section + .aj-section {
    border-top: 1px solid #D4C9B0;
}
.aj-section-label {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #5A5750;
    margin-bottom: 5px;
}
.aj-section-heading {
    font-family: acumin-pro-extra-condensed, sans-serif;
    font-size: 20px;
    color: #1C1C1A;
    margin-bottom: 24px;
}

/* Buttons */
.aj-btn-primary {
    display: inline-block;
    background: #D4521A;
    color: #fff !important;
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 8px 18px;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}
.aj-btn-primary:hover { background: #B84416; }

.aj-btn-outline {
    display: inline-block;
    background: transparent;
    color: #1C1C1A !important;
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 8px 18px;
    text-decoration: none !important;
    border: 1px solid #1C1C1A;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.aj-btn-outline:hover { background: #1C1C1A; color: #F5F0E8 !important; }

/* -- Subscription cards -- */
.aj-sub-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    align-items: start;
}
.aj-sub-card {
    background: #F5F0E8;
    border: 1.5px solid #C8BFA8;
    border-radius: 3px;
    padding: 24px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    position: relative;
}
.aj-sub-featured {
    border: 2px solid #1C1C1A;
}
.aj-sub-featured::before {
    content: 'MOST POPULAR';
    position: absolute;
    top: -1px;
    left: 24px;
    background: #1C1C1A;
    color: #F5F0E8;
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 0.12em;
    padding: 3px 8px;
}
.aj-sub-thumb {
    width: 64px;
    height: 84px;
    flex-shrink: 0;
    object-fit: cover;
    border-radius: 2px;
    display: block;
    margin-top: 6px;
}
.aj-sub-thumb-ph { background: #C8BFA8; }
.aj-card-tag {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #D4521A;
    margin-bottom: 6px;
}
.aj-card-title {
    font-family: acumin-pro-extra-condensed, sans-serif;
    font-size: 17px;
    color: #1C1C1A;
    margin-bottom: 6px;
    line-height: 1.2;
}
.aj-card-desc {
    font-family: proxima-nova, sans-serif;
    font-size: 12px;
    color: #5A5750;
    line-height: 1.6;
    margin-bottom: 14px;
}
.aj-card-price {
    font-family: proxima-nova, sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #1C1C1A;
    margin-bottom: 14px;
}

/* -- Four pack -- */
.aj-four-pack {
    display: flex;
    gap: 28px;
    align-items: center;
    border: 1.5px solid #C8BFA8;
    border-radius: 3px;
    padding: 24px 32px;
    max-width: 680px;
}
.aj-fp-covers {
    display: flex;
    flex-shrink: 0;
}
.aj-fp-cover {
    width: 64px;
    height: 84px;
    border-radius: 2px;
    border: 3px solid #F5F0E8;
    flex-shrink: 0;
    object-fit: cover;
    display: block;
}
.aj-fp-cover-ph { background: #C8BFA8; }
.aj-four-pack-note {
    font-family: proxima-nova, sans-serif;
    font-size: 12px;
    color: #5A5750;
    margin-top: 5px;
    margin-bottom: 14px;
    line-height: 1.6;
    max-width: 360px;
}

/* -- Single issues grid -- */
.aj-issues-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.aj-issue-card { }
.aj-issue-img-link { display: block; text-decoration: none; }
.aj-issue-cover {
    width: 100%;
    aspect-ratio: 3/4;
    border-radius: 2px;
    margin-bottom: 11px;
    position: relative;
    overflow: hidden;
    background: #DDD7CB;
}
.aj-issue-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}
.aj-issue-card:hover .aj-issue-cover img { transform: scale(1.03); }
.aj-issue-cover-ph { width: 100%; height: 100%; background: #DDD7CB; }
.aj-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: #D4521A;
    color: #fff;
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 3px 7px;
    text-transform: uppercase;
}
.aj-issue-label {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8A8780;
    margin-bottom: 3px;
}
.aj-issue-name {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1C1C1A;
    margin-bottom: 3px;
}
.aj-issue-price {
    font-family: proxima-nova, sans-serif;
    font-size: 11px;
    color: #5A5750;
}

/* -- Merch grid -- */
.aj-merch-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    max-width: 900px;
}
.aj-merch-img {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 2px;
    margin-bottom: 11px;
    overflow: hidden;
    background: #EDE7D9;
}
.aj-merch-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}
.aj-merch-card:hover .aj-merch-img img { transform: scale(1.03); }
.aj-merch-img-ph { width: 100%; height: 100%; background: #DDD7CB; }
.aj-merch-name {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #1C1C1A;
    margin-bottom: 3px;
}
.aj-merch-price {
    font-family: proxima-nova, sans-serif;
    font-size: 11px;
    color: #5A5750;
    margin-bottom: 11px;
}

/* ==================================
   PRODUCT PAGES
================================== */

.aj-product {
    background: #F5F0E8;
    min-height: 70vh;
    padding: 56px 40px 80px;
}
.aj-product-inner {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 72px;
    align-items: stretch;
    max-width: 1020px;
    margin: 0 auto;
}

.aj-breadcrumb {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8A8780;
    margin-bottom: 32px;
}
.aj-breadcrumb a { color: #8A8780; text-decoration: none; transition: color 0.2s; }
.aj-breadcrumb a:hover { color: #D4521A; }

.aj-save-badge {
    display: inline-block;
    background: #D4521A;
    color: #F5F0E8;
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 4px 12px;
    margin-bottom: 20px;
}

.aj-product-title {
    font-family: acumin-pro-extra-condensed, sans-serif;
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 700;
    color: #1C1C1A;
    line-height: 1.1;
    margin-bottom: 24px;
    letter-spacing: -0.01em;
}
.aj-product-price {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 30px;
    font-weight: 600;
    color: #1C1C1A;
    letter-spacing: 0.02em;
    margin-bottom: 6px;
    line-height: 1;
}
.aj-product-ship {
    font-family: proxima-nova, sans-serif;
    font-size: 14px;
    color: #8A8780;
    margin-bottom: 36px;
}
.aj-product-desc {
    font-family: proxima-nova, sans-serif;
    font-size: 15px;
    color: #3A3730;
    line-height: 1.7;
    margin-bottom: 28px;
    border-top: 1px solid #D4C9B5;
    padding-top: 24px;
}
.aj-product-desc p { margin-bottom: 14px; }
.aj-product-desc p:last-child { margin-bottom: 0; }

.aj-perks {
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
    border-top: 1px solid #D4C9B5;
}
.aj-perks li {
    font-family: proxima-nova, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #2A2925;
    padding: 18px 0;
    border-bottom: 1px solid #D4C9B5;
    display: flex;
    gap: 16px;
    align-items: center;
    line-height: 1.4;
}
.aj-perks li::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 20px;
    height: 2px;
    background: #D4521A;
}

/* ATC button — solid dark */
.aj-atc-btn {
    display: block;
    width: 100%;
    background: #1C1C1A;
    color: #F5F0E8 !important;
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 20px 32px;
    text-align: center;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    box-sizing: border-box;
    margin-bottom: 20px;
}
.aj-atc-btn:hover { background: #2E2E2A; color: #F5F0E8 !important; }

/* Subscribe upsell strip */
.aj-upsell {
    font-family: proxima-nova, sans-serif;
    font-size: 14px;
    color: #8A8780;
    line-height: 1.6;
    padding-top: 18px;
    border-top: 1px solid #D4C9B5;
}
.aj-upsell strong { color: #1C1C1A; }
.aj-upsell a { color: #D4521A !important; text-decoration: none; }
.aj-upsell a:hover { text-decoration: underline; }

/* Right rail cover image */
.aj-product-right {
    position: static;
    display: flex;
    flex-direction: column;
}
.aj-product-img {
    width: 100%;
    flex: 1;
    object-fit: cover;
    display: block;
    box-shadow: 0 12px 48px rgba(0,0,0,0.18);
    min-height: 0;
}
.aj-product-img-sq {
    aspect-ratio: 1/1;
    object-fit: cover;
}
.aj-product-img-ph {
    width: 100%;
    aspect-ratio: 3/4;
    background: #C8BFA8;
}

/* Four-pack 2×2 grid */
.aj-fp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.aj-fp-grid-img {
    width: 100%;
    height: auto;
    display: block;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}
.aj-fp-grid-ph { aspect-ratio: 3/4; background: #C8BFA8; }

/* Stat bar */
.aj-stat-bar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid #D4C9B5;
    border-top: none;
}
.aj-stat {
    padding: 20px 12px;
    text-align: center;
    border-right: 1px solid #D4C9B5;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.aj-stat:last-child { border-right: none; }
.aj-stat-num {
    font-family: acumin-pro-extra-condensed, sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #1C1C1A;
    display: block;
    margin-bottom: 6px;
    line-height: 1;
}
.aj-stat-lbl {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #8A8780;
    text-align: center;
}

/* Merch: size swatches */
.aj-size-wrap { margin-bottom: 24px; }
.aj-size-label {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #8A8780;
    margin-bottom: 10px;
}
.aj-size-swatches { display: flex; gap: 8px; flex-wrap: wrap; }
.aj-swatch {
    font-family: proxima-nova-condensed, sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: #2A2925;
    border: 1px solid #D4C9B5;
    padding: 6px 14px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}
.aj-swatch:hover { border-color: #1C1C1A; background: #EDE7D9; }
.aj-swatch.active {
    border-color: #1C1C1A;
    background: #1C1C1A;
    color: #F5F0E8;
}

/* WC variable add-to-cart overrides */
.aj-product .variations_form .variations { display: none; }
.aj-product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    background: #1C1C1A !important;
    color: #F5F0E8 !important;
    font-family: proxima-nova-condensed, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    padding: 20px 32px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    text-align: center !important;
    box-sizing: border-box !important;
    margin-bottom: 20px !important;
}
.aj-product .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
    background: #2E2E2A !important;
    color: #F5F0E8 !important;
}

/* Mobile */
@media (max-width: 768px) {
    .aj-shop-hero { padding: 28px 24px 20px; }
    .aj-section { padding: 28px 24px; }
    .aj-sub-grid { grid-template-columns: 1fr; }
    .aj-issues-grid { grid-template-columns: repeat(2, 1fr); }
    .aj-merch-grid { grid-template-columns: repeat(2, 1fr); }
    .aj-four-pack { flex-direction: column; }
    .aj-product {
        padding: 40px 24px 64px;
    }
    .aj-product-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .aj-product-right {
        position: static;
        order: -1;
    }
    .aj-product-img { max-width: 280px; margin: 0 auto; }
    .aj-perks li { font-size: 15px; padding: 14px 0; }
}
