/* ==========================================================================
   PSBacWater WooCommerce styles
   Shop loop, single product, cart, checkout, account, notices.
   ========================================================================== */

/* ---- Shared ------------------------------------------------------------- */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.wc-block-components-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    font-family: var(--font-heading);
    font-size: var(--text-sm);
    font-weight: 600;
    line-height: 1;
    color: #fff;
    background: var(--pink);
    border: 2px solid var(--ink);
    border-radius: var(--radius-full);
    box-shadow: var(--shadow-hard);
    cursor: pointer;
    text-decoration: none;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    color: #fff;
    background: var(--pink-3);
    transform: translate(-2px, -2px);
    box-shadow: 6px 6px 0 var(--ink);
}
.woocommerce .button:disabled,
.woocommerce .button.disabled,
.woocommerce button.button:disabled[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: var(--shadow-hard);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-input-wrapper .select2-container .select2-selection--single,
.woocommerce form .form-row .select2-container .select2-selection--single {
    width: 100%;
    min-height: 50px;
    padding: 12px 16px;
    border: 2px solid var(--line-2);
    border-radius: var(--radius-md);
    background: #fff;
    color: var(--ink);
    font-size: 1rem;
    outline: none;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--pink); box-shadow: var(--shadow-glow); }
.woocommerce form .form-row label { font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 600; color: var(--ink); margin-bottom: 6px; }
.woocommerce form .form-row { margin-bottom: 14px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; padding-left: 0; color: var(--ink); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; right: 10px; }
.select2-dropdown { border: 2px solid var(--line-2); border-radius: var(--radius-md); overflow: hidden; }

.woocommerce table.shop_table {
    border: 1px solid var(--line-2);
    border-radius: var(--radius-xl);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    margin-bottom: var(--space-6);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 16px; border-top: 1px solid var(--line); border-right: 0; border-left: 0; }
.woocommerce table.shop_table thead th { border-top: 0; background: var(--cream); font-family: var(--font-heading); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.woocommerce table.shop_table td.product-name a { color: var(--ink); font-weight: 600; }
.woocommerce table.shop_table td.product-name a:hover { color: var(--pink); }
.woocommerce-Price-amount { font-family: var(--font-heading); font-weight: 700; color: var(--ink); }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
    position: relative;
    padding: 16px 20px 16px 52px !important;
    margin-bottom: var(--space-6) !important;
    border: 1px solid var(--line-2) !important;
    border-left-width: 5px !important;
    border-radius: var(--radius-lg) !important;
    background: #fff !important;
    color: var(--ink) !important;
    font-size: var(--text-sm);
    list-style: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { top: 16px; left: 20px; }
.woocommerce-message { border-left-color: var(--color-success) !important; }
.woocommerce-message::before { color: var(--color-success); }
.woocommerce-info { border-left-color: var(--aqua) !important; }
.woocommerce-info::before { color: var(--aqua); }
.woocommerce-error { border-left-color: var(--color-error) !important; }
.woocommerce-error::before { color: var(--color-error); }
.woocommerce-message .button,
.woocommerce-info .button { float: right; margin-left: 12px; padding: 10px 16px; font-size: var(--text-xs); }

/* ---- Shop loop ---------------------------------------------------------- */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
    margin: 0;
    padding: 0;
    list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-2xl);
    overflow: hidden;
    text-align: left;
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}
.woocommerce ul.products li.product:hover { transform: translateY(-6px); border-color: var(--ink); box-shadow: 8px 8px 0 var(--ink); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; }
.woocommerce ul.products li.product a img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    margin: 0;
    background: var(--gradient-hero);
}
.woocommerce ul.products li.product .shop-loop-category,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button { margin-left: var(--space-6); margin-right: var(--space-6); }
.woocommerce ul.products li.product .shop-loop-category { margin-top: var(--space-5); font-family: var(--font-heading); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--pink-3); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 6px 0 0; font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 700; color: var(--ink); }
.woocommerce ul.products li.product .price { margin-top: 6px; margin-bottom: var(--space-4); font-size: var(--text-lg); color: var(--ink); }
.woocommerce ul.products li.product .price del { color: var(--muted); font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin-top: auto; margin-bottom: var(--space-6); }
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    position: absolute;
    top: 16px;
    left: 16px;
    min-height: 0;
    min-width: 0;
    padding: 6px 12px;
    margin: 0;
    background: var(--pink);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: var(--radius-full);
    line-height: 1.2;
    z-index: 2;
}
.stock-badge { display: inline-flex; align-items: center; gap: 4px; margin: var(--space-5) var(--space-6) 0; padding: 4px 10px; border-radius: var(--radius-full); font-size: 0.7rem; font-weight: 700; text-transform: uppercase; }
.stock-badge--low { background: #FFF4E0; color: #B26A00; }
.stock-badge--out { background: #FDECEF; color: var(--color-error); }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { display: none; }
.woocommerce-products-header { margin-bottom: var(--space-8); }
.woocommerce-products-header__title { font-size: var(--text-4xl); }

/* ---- Single product ----------------------------------------------------- */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); align-items: start; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product section.related,
.woocommerce div.product section.upsells { grid-column: 1 / -1; }

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border: 1px solid var(--line); border-radius: var(--radius-2xl); overflow: hidden; background: var(--gradient-hero); }
.woocommerce div.product div.images img { width: 100%; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px; margin: 0; }
.woocommerce div.product div.images .flex-control-thumbs img { border: 2px solid var(--line-2); border-radius: var(--radius-md); opacity: 0.7; cursor: pointer; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover { border-color: var(--pink); opacity: 1; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { display: none; }

.woocommerce div.product .product_title { font-size: clamp(1.9rem, 3.4vw, 2.6rem); letter-spacing: -0.03em; margin-bottom: var(--space-3); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-family: var(--font-heading); font-size: var(--text-3xl); font-weight: 800; color: var(--ink); margin-bottom: var(--space-4); }
.woocommerce div.product p.price del { color: var(--muted); font-size: var(--text-lg); font-weight: 500; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--muted); margin-bottom: var(--space-6); }
.woocommerce div.product .woocommerce-product-details__short-description ul { list-style: disc; margin-left: 1.2em; }
.woocommerce div.product .woocommerce-product-rating { margin-bottom: var(--space-4); }
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before { color: var(--pink); }

/* Variations (selects are converted to buttons by main.js) */
.woocommerce div.product form.cart table.variations { margin-bottom: var(--space-4); border: 0; }
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations th { display: block; padding: 0; border: 0; line-height: 1.4; }
.woocommerce div.product form.cart table.variations tr { display: block; margin-bottom: var(--space-4); }
.woocommerce div.product form.cart table.variations th.label { font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 600; color: var(--ink); margin-bottom: 8px; }
.woocommerce div.product form.cart table.variations select { display: none; }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: 6px; font-size: var(--text-xs); color: var(--muted); }
.variation-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.variation-btn {
    padding: 12px 20px;
    border: 2px solid var(--line-2);
    border-radius: var(--radius-full);
    background: #fff;
    color: var(--ink);
    font-family: var(--font-heading);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition-fast);
}
.variation-btn:hover { border-color: var(--ink); }
.variation-btn.active { background: var(--ink); border-color: var(--ink); color: #fff; box-shadow: 3px 3px 0 var(--pink); }
.variation-buttons.needs-selection .variation-btn { border-color: var(--pink); animation: var-flash 0.8s ease 2; }
@keyframes var-flash { 50% { box-shadow: 0 0 0 4px rgba(255, 45, 135, 0.2); } }
.ps-inline-notice {
    display: flex; align-items: center; gap: 8px;
    margin-bottom: var(--space-4);
    padding: 12px 14px;
    border: 1px solid #F7C2CF;
    border-radius: var(--radius-md);
    background: #FDECEF;
    color: var(--color-error);
    font-size: var(--text-sm);
    font-weight: 600;
    opacity: 0; transform: translateY(-6px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.ps-inline-notice.is-visible { opacity: 1; transform: none; }
.woocommerce div.product form.cart .woocommerce-variation-price { margin-bottom: var(--space-3); }
.woocommerce div.product form.cart .woocommerce-variation-availability { font-size: var(--text-sm); color: var(--muted); margin-bottom: var(--space-3); }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.woocommerce div.product form.cart .button.single_add_to_cart_button { padding: 18px 32px; font-size: var(--text-base); flex: 1; }
.woocommerce .quantity .qty { min-height: 54px; width: 90px; padding: 0 12px; border: 2px solid var(--line-2); border-radius: var(--radius-full); text-align: center; font-family: var(--font-heading); font-weight: 700; }
.woocommerce div.product .product_meta { margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--line); font-size: var(--text-xs); color: var(--muted); }
.woocommerce div.product .product_meta span { display: block; margin-bottom: 4px; }

/* Product tabs as pills */
.woocommerce div.product .woocommerce-tabs { margin-top: var(--space-12); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 var(--space-6); padding: 0; overflow: visible; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.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 { margin: 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: inline-block; padding: 12px 22px; border: 1px solid var(--line-2); border-radius: var(--radius-full); background: #fff; color: var(--ink-2); font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { background: var(--ink); border-color: var(--ink); color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel { padding: var(--space-8); border: 1px solid var(--line); border-radius: var(--radius-xl); background: #fff; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: var(--text-xl); margin-bottom: var(--space-4); }
.woocommerce div.product .woocommerce-tabs .panel ul { list-style: disc; margin-left: 1.2em; }
.woocommerce table.woocommerce-product-attributes th,
.woocommerce table.woocommerce-product-attributes td { padding: 10px 12px; border-bottom: 1px solid var(--line); }
.woocommerce div.product section.related h2,
.woocommerce div.product section.upsells h2 { text-align: center; margin: var(--space-12) 0 var(--space-8); }

/* ---- Cart --------------------------------------------------------------- */
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--space-10); align-items: start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .psp-ship-bar-host,
.woocommerce-cart .woocommerce > .cart-empty,
.woocommerce-cart .woocommerce > .return-to-shop { grid-column: 1 / -1; }
.woocommerce-cart table.cart img { width: 72px; border-radius: var(--radius-md); }
.woocommerce-cart table.cart td.product-remove a.remove { width: 30px; height: 30px; line-height: 28px; border: 1px solid var(--line-2); border-radius: 50%; color: var(--muted) !important; font-weight: 400; }
.woocommerce-cart table.cart td.product-remove a.remove:hover { background: var(--color-error); border-color: var(--color-error); color: #fff !important; }
.woocommerce-cart table.cart td.actions { background: var(--cream); }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { min-height: 46px; width: 180px !important; padding: 0 14px; border: 2px solid var(--line-2); border-radius: var(--radius-full); }
.woocommerce-cart table.cart td.actions .button { padding: 12px 18px; font-size: var(--text-xs); }
.woocommerce-cart .cart_totals { width: 100% !important; float: none !important; padding: var(--space-8); border: 1px solid var(--ink); border-radius: var(--radius-2xl); background: #fff; box-shadow: 8px 8px 0 var(--blush-2); }
.woocommerce-cart .cart_totals h2 { font-size: var(--text-xl); margin-bottom: var(--space-4); }
.woocommerce-cart .cart_totals table.shop_table { border: 0; border-radius: 0; }
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td { padding: 12px 0; }
.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount { font-size: var(--text-xl); }
.woocommerce-cart .wc-proceed-to-checkout { padding: var(--space-4) 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; padding: 18px; font-size: var(--text-base); margin: 0; }
.woocommerce-cart .cart-empty { text-align: center; font-size: var(--text-lg); }
.woocommerce-cart .return-to-shop { text-align: center; }
.woocommerce .cart-collaterals .cross-sells { display: none; }

/* ---- Checkout ----------------------------------------------------------- */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-10); align-items: start; }
.woocommerce-checkout form.checkout #customer_details { display: block; }
.woocommerce-checkout form.checkout .col-1,
.woocommerce-checkout form.checkout .col-2 { width: 100% !important; float: none !important; margin-bottom: var(--space-8); }
.woocommerce-checkout form.checkout h3 { font-size: var(--text-xl); margin-bottom: var(--space-5); }
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle { margin-bottom: var(--space-6); }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 0 !important; }
.woocommerce-checkout #order_review_heading { display: none; }
.woocommerce-checkout #order_review { padding: var(--space-8); border: 1px solid var(--ink); border-radius: var(--radius-2xl); background: #fff; box-shadow: 8px 8px 0 var(--blush-2); position: sticky; top: calc(var(--header-height) + 30px); }
.woocommerce-checkout #order_review table.shop_table { border: 0; border-radius: 0; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { padding: 10px 0; }
.woocommerce-checkout #order_review .order-total .woocommerce-Price-amount { font-size: var(--text-xl); }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0; border: 0; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 14px 16px; margin-bottom: 8px; border: 1px solid var(--line-2); border-radius: var(--radius-md); }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 600; color: var(--ink); }
.woocommerce-checkout #payment div.payment_box { background: var(--cream); border-radius: var(--radius-md); color: var(--ink-2); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--cream); }
.woocommerce-checkout #payment div.place-order { padding: var(--space-4) 0 0; }
.woocommerce-checkout #payment #place_order { width: 100%; padding: 18px; font-size: var(--text-base); float: none; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: var(--text-xs); color: var(--muted); }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-bottom: var(--space-4); font-size: var(--text-sm); }

/* Thank-you page */
.woocommerce-order .woocommerce-thankyou-order-received { padding: var(--space-6) var(--space-8); margin-bottom: var(--space-6); border: 1px solid var(--ink); border-radius: var(--radius-xl); background: var(--aqua-3); font-family: var(--font-heading); font-weight: 700; color: var(--ink); }
.woocommerce-order ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 0 0 var(--space-8); padding: 0; }
.woocommerce-order ul.order_details li { float: none; margin: 0; padding: 14px 16px; border: 1px solid var(--line-2) !important; border-radius: var(--radius-md); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
.woocommerce-order ul.order_details li strong { display: block; margin-top: 4px; font-size: var(--text-base); text-transform: none; letter-spacing: 0; color: var(--ink); }

/* ---- My account --------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 100% !important; float: none !important; margin-bottom: var(--space-8); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: inline-block; padding: 12px 20px; border: 1px solid var(--line-2); border-radius: var(--radius-full); background: #fff; color: var(--ink-2); font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; float: none !important; padding: var(--space-8); border: 1px solid var(--line); border-radius: var(--radius-2xl); background: #fff; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: var(--text-xl); margin-bottom: var(--space-4); }
.woocommerce-account .woocommerce-orders-table .button { padding: 10px 14px; font-size: var(--text-xs); margin-right: 6px; }

/* Login / register */
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce form.checkout_coupon,
.woocommerce form.woocommerce-form-login { padding: var(--space-8); border: 1px solid var(--ink); border-radius: var(--radius-2xl); background: #fff; box-shadow: 8px 8px 0 var(--blush-2); }
.woocommerce-account:not(.logged-in) .woocommerce > h2 { font-size: var(--text-2xl); margin-bottom: var(--space-4); }
.woocommerce form .woocommerce-form-login__rememberme { display: block; margin: var(--space-3) 0; }
.woocommerce form .show-password-input { top: 14px; }
.woocommerce .u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); }
.woocommerce .u-columns.col2-set .col-1,
.woocommerce .u-columns.col2-set .col-2 { width: 100% !important; float: none !important; }

/* ---- Responsive --------------------------------------------------------- */
@media (max-width: 960px) {
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
    .woocommerce div.product { grid-template-columns: 1fr; gap: var(--space-8); }
    .woocommerce-cart .woocommerce,
    .woocommerce-checkout form.checkout,
    .woocommerce .u-columns.col2-set { grid-template-columns: 1fr; }
    .woocommerce-checkout #order_review { position: static; }
}
@media (max-width: 600px) {
    .woocommerce ul.products { grid-template-columns: 1fr; }
    .woocommerce table.shop_table_responsive tr td { text-align: left !important; }
    .woocommerce table.shop_table_responsive tr td::before { font-weight: 700; color: var(--muted); }
    .woocommerce-cart table.cart td.actions .coupon { flex-direction: column; }
    .woocommerce-cart table.cart td.actions .coupon .input-text { width: 100% !important; }
    .woocommerce div.product form.cart .button.single_add_to_cart_button { width: 100%; }
}
