/**
 * OMNIUM WooCommerce — Complete Style Override
 * Every WooCommerce element styled to match the dark cinematic theme
 * Section-aware: uses --section-accent for per-section coloring
 * © Omar Dakhane
 */

/* ═══ GLOBAL WOO RESETS ═══ */
.woocommerce, .woocommerce-page { color: var(--soft); }
.woocommerce a { color: var(--soft); transition: color 0.3s; }
.woocommerce a:hover { color: var(--white); }
.woocommerce .woocommerce-result-count { color: var(--dim); font-size: var(--fs-small, 0.8rem); }
.woocommerce .woocommerce-ordering select {
    background: var(--surface); border: 1px solid var(--border); color: var(--soft);
    padding: 0.6rem 1rem; font-family: var(--sans); font-size: var(--fs-small, 0.8rem);
    border-radius: 6px; cursor: pointer;
}

/* ═══ SHOP ARCHIVE ═══ */
.omnium-shop { padding: 0; }
.shop-container { width: var(--container); margin: 0 auto; }

/* Archive page title (category name) */
.woocommerce-products-header {
    margin-bottom: 2rem;
}
.woocommerce-products-header__title {
    font-family: var(--serif);
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 300;
    color: var(--white);
    margin-bottom: 0.5rem;
}
.woocommerce-products-header .term-description,
.woocommerce-products-header .taxonomy-description {
    color: var(--dim);
    font-size: var(--fs-body, 1rem);
    line-height: 1.7;
    max-width: 600px;
}
/* Result count and ordering bar */
.woocommerce .woocommerce-result-count {
    color: var(--dim);
    font-size: var(--fs-small, 0.8rem);
    margin-bottom: 1.5rem;
}
.woocommerce .woocommerce-ordering {
    margin-bottom: 1.5rem;
}

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem; list-style: none; padding: 0; margin: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; } /* kill WP clearfix floats */

.woocommerce ul.products li.product {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--radius, 16px); overflow: hidden; float: none !important;
    width: 100% !important; margin: 0 !important; padding: 0 !important;
    transition: transform 0.5s var(--ease), border-color 0.4s, box-shadow 0.5s;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}

/* Product image */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    width: 100%; height: 280px; object-fit: cover;
    transition: transform 0.6s var(--ease);
    margin: 0 !important; display: block;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.05); }

/* Sale badge */
.woocommerce span.onsale {
    background: var(--gold) !important; color: var(--black) !important;
    font-family: var(--mono); font-size: 0.55rem; letter-spacing: 0.1em; text-transform: uppercase;
    min-width: auto; min-height: auto; padding: 0.4rem 0.8rem; line-height: 1;
    border-radius: 3px; top: 1rem; left: 1rem; right: auto;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--serif); font-size: var(--fs-card-title, 1.3rem);
    font-weight: 400; color: var(--white);
    padding: 1.5rem 1.5rem 0.5rem; margin: 0;
}

/* Price */
.woocommerce ul.products li.product .price {
    padding: 0 1.5rem 1.2rem; font-family: var(--sans);
    font-weight: 700; color: var(--gold); font-size: 1.1rem;
}
.woocommerce ul.products li.product .price del { color: var(--muted); font-weight: 300; font-size: 0.85em; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* Star rating in loop */
.woocommerce ul.products li.product .star-rating {
    margin: 0 1.5rem 0.5rem; font-size: 0.75rem; color: var(--gold);
}

/* Add to cart button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_simple {
    display: block !important; text-align: center; width: 100%;
    padding: 1rem 1.5rem; margin: 0 !important;
    background: var(--deep); color: var(--soft);
    font-family: var(--sans); font-size: 0.7rem; font-weight: 600;
    letter-spacing: 0.15em; text-transform: uppercase;
    border: none; border-top: 1px solid var(--border);
    border-radius: 0 !important; transition: all 0.4s var(--ease);
    cursor: pointer;
}
.woocommerce ul.products li.product .button:hover {
    background: var(--section-accent, var(--gold)); color: var(--black);
}

/* ═══ SINGLE PRODUCT ═══ */
/* Container */
.single-product .woocommerce {
    width: var(--container);
    margin: 0 auto;
    padding: 9rem 0 var(--section-gap);
}

/* Override WooCommerce default floats with proper layout */
.woocommerce div.product {
    overflow: hidden; /* clearfix for floats */
}
.woocommerce div.product div.images {
    width: 48% !important;
    float: left !important;
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--surface);
    border: 1px solid var(--border);
}
.woocommerce div.product div.images img {
    width: 100%;
    height: auto;
    display: block;
}
.woocommerce div.product div.images .flex-control-thumbs {
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem;
    list-style: none;
    margin: 0;
}
.woocommerce div.product div.images .flex-control-thumbs li { flex: 1; }
.woocommerce div.product div.images .flex-control-thumbs li img {
    border-radius: 6px;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.3s;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
    opacity: 1;
}

/* Summary */
.woocommerce div.product div.summary {
    width: 48% !important;
    float: right !important;
}

/* Title */
.woocommerce div.product .product_title {
    font-family: var(--serif);
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 300;
    color: var(--white);
    line-height: 1.2;
    margin-bottom: 1rem;
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gold);
    display: block;
    margin-bottom: 1.5rem;
}
.woocommerce div.product p.price del {
    color: var(--muted);
    font-weight: 300;
    font-size: 0.7em;
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--soft);
    line-height: var(--line-height, 1.8);
    font-size: var(--fs-body, 1rem);
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--border);
}

/* Add to cart form */
.woocommerce div.product form.cart {
    margin-bottom: 2rem;
}
.woocommerce div.product form.cart .quantity .qty {
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--white);
    padding: 0.7rem 0.5rem;
    text-align: center;
    width: 60px;
    font-size: 1rem;
    border-radius: 8px;
}
.woocommerce div.product .single_add_to_cart_button {
    background: var(--gold) !important;
    color: var(--black) !important;
    font-family: var(--sans);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 1rem 2.5rem;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.4s var(--ease);
}
.woocommerce div.product .single_add_to_cart_button:hover {
    background: var(--white) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
}

/* Product meta (categories, tags) */
.woocommerce div.product .product_meta {
    font-size: var(--fs-small, 0.8rem);
    color: var(--dim);
    padding-top: 1.5rem;
    border-top: 1px solid var(--border);
    margin-top: 1.5rem;
}
.woocommerce div.product .product_meta > span {
    display: block;
    margin-bottom: 0.4rem;
}
.woocommerce div.product .product_meta a {
    color: var(--gold);
}

/* Notices */
.woocommerce-message {
    background: var(--surface) !important;
    border: 1px solid var(--mint) !important;
    color: var(--mint) !important;
    border-radius: 8px;
    padding: 1rem 1.5rem;
    margin-bottom: 2rem;
}
.woocommerce-message::before { color: var(--mint) !important; }
.woocommerce-message .button { color: var(--mint) !important; font-weight: 600; }
.woocommerce-error {
    background: var(--surface) !important;
    border: 1px solid var(--ember) !important;
    color: var(--ember) !important;
    border-radius: 8px;
    padding: 1rem 1.5rem;
    list-style: none;
    margin-bottom: 2rem;
}
.woocommerce-info {
    background: var(--surface) !important;
    border: 1px solid var(--gold) !important;
    color: var(--gold) !important;
    border-radius: 8px;
    padding: 1rem 1.5rem;
    margin-bottom: 2rem;
}

/* Mobile single product */
@media (max-width: 768px) {
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        width: 100% !important;
        float: none !important;
    }
    .woocommerce div.product div.images {
        margin-bottom: 2rem;
    }
}

/* ═══ TABS ═══ */
.woocommerce div.product .woocommerce-tabs {
    margin-top: 2rem; padding-top: 3rem;
    border-top: 1px solid var(--border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    list-style: none; display: flex; gap: 0; padding: 0; margin: 0 0 2rem;
    border-bottom: 1px solid var(--border); overflow-x: auto;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none; background: none; padding: 0; margin: 0; white-space: nowrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: var(--mono); font-size: var(--fs-mono, 0.65rem);
    letter-spacing: 0.15em; text-transform: uppercase;
    color: var(--muted); padding: 1rem 2rem; display: block;
    border-bottom: 2px solid transparent; transition: all 0.3s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--soft); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--section-accent, var(--gold));
    border-bottom-color: var(--section-accent, var(--gold));
}
.woocommerce div.product .woocommerce-tabs .panel {
    color: var(--soft); line-height: var(--line-height, 1.8);
    font-size: var(--fs-body, 1rem);
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: var(--serif); font-size: 1.5rem; font-weight: 400;
    color: var(--white); margin-bottom: 1rem;
}

/* Related products */
.woocommerce div.product .related.products {
    margin-top: 4rem; padding-top: 3rem;
    border-top: 1px solid var(--border);
}
.woocommerce div.product .related.products h2 {
    font-family: var(--serif); font-size: 1.8rem; font-weight: 300;
    color: var(--white); margin-bottom: 2rem;
}

/* ═══ CART ═══ */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    width: var(--container); margin: 0 auto;
    padding-bottom: var(--section-gap);
}

/* Empty cart spacing */
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .woocommerce-info {
    text-align: center;
    padding: 2rem 0 1rem;
    color: var(--dim);
    font-family: var(--serif);
}
.woocommerce-cart .return-to-shop {
    text-align: center;
    margin-bottom: 2rem;
}
.woocommerce-cart .return-to-shop .button {
    background: var(--gold) !important; color: var(--black) !important;
    font-family: var(--sans); font-size: 0.7rem; font-weight: 700;
    letter-spacing: 0.15em; text-transform: uppercase;
    padding: 1rem 2.5rem; border: none; border-radius: 8px;
    cursor: pointer; transition: background 0.3s;
}
.woocommerce-cart .return-to-shop .button:hover { background: var(--white) !important; }

/* Spacing before "New in store" products — this is the key fix */
.woocommerce-cart .page-content hr,
.woocommerce-cart .entry-content hr,
.woocommerce-cart .omnium-main hr {
    border: none;
    border-top: 1px solid var(--border);
    margin: 3rem 0;
}
/* WooCommerce "New in store" heading */
.woocommerce-cart .page-content > .woocommerce > h2,
.woocommerce-cart .entry-content > .woocommerce > h2,
.woocommerce-cart h2:not(.cart-empty) {
    font-family: var(--serif);
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--white);
    margin: 3rem 0 2rem;
    padding-top: 2rem;
}
/* Product grid spacing in cart page */
.woocommerce-cart .woocommerce ul.products {
    margin-top: 1rem !important;
}

.woocommerce-cart .woocommerce-cart-form { margin-bottom: 3rem; }

.woocommerce table.shop_table {
    border: 1px solid var(--border); border-radius: var(--radius);
    overflow: hidden; border-collapse: collapse; width: 100%;
}
.woocommerce table.shop_table th {
    font-family: var(--mono); font-size: var(--fs-mono, 0.6rem);
    letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--dim); background: var(--surface);
    border-bottom: 1px solid var(--border); padding: 1.2rem 1.5rem;
    text-align: left;
}
.woocommerce table.shop_table td {
    background: var(--deep); border-bottom: 1px solid var(--border);
    color: var(--soft); padding: 1.2rem 1.5rem; vertical-align: middle;
}
.woocommerce table.shop_table td.product-name a {
    color: var(--white); font-family: var(--serif); font-size: 1.1rem;
}
.woocommerce table.shop_table td.product-name a:hover { color: var(--gold); }
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal {
    color: var(--gold); font-weight: 600; font-size: 1.05rem;
}
.woocommerce table.shop_table td.product-remove a {
    color: var(--muted) !important; font-size: 1.3rem; transition: color 0.3s;
}
.woocommerce table.shop_table td.product-remove a:hover { color: var(--ember) !important; }
.woocommerce table.shop_table td.product-thumbnail img {
    width: 70px; height: 70px; object-fit: cover; border-radius: 8px;
}
.woocommerce table.shop_table .actions { padding: 1.5rem; background: var(--surface); }
.woocommerce table.shop_table .actions .button {
    background: var(--gold); color: var(--black);
    font-family: var(--sans); font-size: 0.7rem; font-weight: 700;
    letter-spacing: 0.15em; text-transform: uppercase;
    padding: 0.9rem 2rem; border: none; border-radius: 6px;
    cursor: pointer; transition: background 0.3s;
}
.woocommerce table.shop_table .actions .button:hover { background: var(--white); }

/* Cart totals */
.woocommerce .cart-collaterals .cart_totals {
    float: none; width: 100%; max-width: 500px; margin-left: auto;
}
.woocommerce .cart-collaterals .cart_totals h2 {
    font-family: var(--serif); font-size: 1.5rem; font-weight: 300;
    color: var(--white); margin-bottom: 1rem;
}

/* Proceed to checkout */
.woocommerce .wc-proceed-to-checkout .checkout-button {
    background: var(--gold) !important; color: var(--black) !important;
    font-family: var(--sans); font-size: 0.8rem; font-weight: 700;
    letter-spacing: 0.2em; text-transform: uppercase;
    padding: 1.2rem; border-radius: 8px;
    transition: all 0.4s var(--ease);
}
.woocommerce .wc-proceed-to-checkout .checkout-button:hover {
    background: var(--white) !important; transform: translateY(-2px);
}

/* ═══ CHECKOUT ═══ */
.woocommerce form .form-row { margin-bottom: 1.25rem; }
.woocommerce form .form-row label {
    font-family: var(--mono); font-size: var(--fs-mono, 0.65rem);
    letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--dim); margin-bottom: 0.5rem; display: block;
}
.woocommerce form .form-row label .required { color: var(--ember); }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-input-wrapper input,
.woocommerce-input-wrapper select,
.select2-container--default .select2-selection--single {
    background: var(--surface) !important; border: 1px solid var(--border) !important;
    color: var(--white) !important; padding: 0.9rem 1.2rem;
    font-family: var(--sans); font-size: var(--fs-body, 0.95rem);
    border-radius: 8px; transition: border-color 0.3s; width: 100%;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--gold) !important; outline: none;
}

/* Headings in checkout */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
    font-family: var(--serif); font-size: 1.5rem; font-weight: 300;
    color: var(--white); margin-bottom: 1.5rem; padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

/* Place order */
.woocommerce #place_order {
    background: var(--gold); color: var(--black);
    font-family: var(--sans); font-size: 0.8rem; font-weight: 700;
    letter-spacing: 0.2em; text-transform: uppercase;
    padding: 1.3rem 3rem; border: none; border-radius: 8px;
    cursor: pointer; transition: all 0.4s var(--ease);
    width: 100%;
}
.woocommerce #place_order:hover { background: var(--white); transform: translateY(-2px); }

/* Payment methods */
.woocommerce-checkout #payment { background: var(--surface); border-radius: var(--radius); padding: 2rem; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 2rem; }
.woocommerce-checkout #payment ul.payment_methods li {
    padding: 1rem; border: 1px solid var(--border); border-radius: 8px;
    margin-bottom: 0.5rem; transition: border-color 0.3s;
}
.woocommerce-checkout #payment ul.payment_methods li:hover { border-color: var(--gold); }
.woocommerce-checkout #payment ul.payment_methods li label {
    color: var(--soft); font-size: var(--fs-body, 1rem); text-transform: none;
    letter-spacing: 0; cursor: pointer;
}
.woocommerce-checkout #payment .payment_box { color: var(--dim); font-size: var(--fs-small, 0.85rem); line-height: 1.6; padding: 1rem 0 0; }

/* ═══ MY ACCOUNT ═══ */
.woocommerce-account .woocommerce {
    width: var(--container); margin: 0 auto;
    padding-bottom: var(--section-gap);
}
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none !important; width: 100% !important; margin-bottom: 2rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none; display: flex; gap: 0; flex-wrap: wrap;
    border-bottom: 1px solid var(--border); padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    font-family: var(--mono); font-size: var(--fs-mono, 0.65rem);
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--muted); padding: 1rem 1.5rem; display: block;
    border-bottom: 2px solid transparent; transition: all 0.3s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { color: var(--soft); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--gold); border-bottom-color: var(--gold);
}
.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important; width: 100% !important;
    color: var(--soft); line-height: var(--line-height, 1.7);
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-family: var(--serif); font-weight: 300; color: var(--white);
}

/* Login/Register form */
.woocommerce form.login, .woocommerce form.register {
    border: 1px solid var(--border) !important; border-radius: var(--radius);
    padding: 2.5rem !important; background: var(--surface);
    margin: 0 !important;
}
.woocommerce .woocommerce-form-login__submit,
.woocommerce .woocommerce-form-register__submit,
.woocommerce .woocommerce-Button {
    background: var(--gold) !important; color: var(--black) !important;
    font-family: var(--sans); font-size: 0.7rem; font-weight: 700;
    letter-spacing: 0.15em; text-transform: uppercase;
    padding: 1rem 2.5rem; border: none; border-radius: 6px;
    cursor: pointer; transition: background 0.3s;
}
.woocommerce .woocommerce-form-login__submit:hover,
.woocommerce .woocommerce-form-register__submit:hover,
.woocommerce .woocommerce-Button:hover { background: var(--white) !important; }

/* ═══ NOTICES ═══ */
.woocommerce-message, .wc-block-components-notice-banner.is-success {
    background: var(--surface) !important; border: 1px solid var(--mint) !important;
    color: var(--mint); border-radius: 8px; padding: 1rem 1.5rem;
    font-size: var(--fs-body, 0.95rem);
}
.woocommerce-message .button { color: var(--mint) !important; font-weight: 600; }
.woocommerce-error, .wc-block-components-notice-banner.is-error {
    background: var(--surface) !important; border: 1px solid var(--ember) !important;
    color: var(--ember); border-radius: 8px; padding: 1rem 1.5rem;
    list-style: none;
}
.woocommerce-info, .wc-block-components-notice-banner.is-info {
    background: var(--surface) !important; border: 1px solid var(--gold) !important;
    color: var(--gold); border-radius: 8px; padding: 1rem 1.5rem;
}

/* ═══ STAR RATINGS ═══ */
.woocommerce .star-rating { color: var(--gold); }
.woocommerce .star-rating::before { color: var(--border); }

/* ═══ BREADCRUMBS ═══ */
.woocommerce .woocommerce-breadcrumb {
    font-family: var(--mono); font-size: var(--fs-mono, 0.6rem);
    letter-spacing: 0.1em; color: var(--muted); margin-bottom: 2rem;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--dim); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--gold); }

/* ═══ PAGINATION ═══ */
.woocommerce nav.woocommerce-pagination ul {
    display: flex; gap: 0.5rem; justify-content: center;
    list-style: none; padding: 0; margin: 3rem 0 0;
    border: none;
}
.woocommerce nav.woocommerce-pagination ul li {
    border: none; margin: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex; width: 40px; height: 40px;
    align-items: center; justify-content: center;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 8px; color: var(--dim); font-size: 0.8rem;
    transition: all 0.3s var(--ease);
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
    border-color: var(--gold); color: var(--gold);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--gold); border-color: var(--gold); color: var(--black); font-weight: 700;
}
.omnium-pagination a, .omnium-pagination span {
    display: inline-flex; padding: 0.5rem 1rem; margin: 0 0.25rem;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 6px; color: var(--dim); font-size: 0.8rem;
    transition: all 0.3s var(--ease); text-decoration: none;
}
.omnium-pagination a:hover { border-color: var(--gold); color: var(--gold); }
.omnium-pagination .current { background: var(--gold); border-color: var(--gold); color: var(--black); }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 900px) {
    .woocommerce div.product { flex-direction: column; gap: 2rem; }
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary { width: 100% !important; }
    .woocommerce ul.products { grid-template-columns: 1fr !important; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: column; }
}
@media (pointer: coarse) {
    .woocommerce ul.products li.product .button,
    .woocommerce .single_add_to_cart_button,
    .woocommerce #place_order,
    .woocommerce .checkout-button { cursor: pointer !important; }
}
