/**
 * SuperTheme WooCommerce Styles
 * Modern & Professional Design System
 * Version 2.2 - Plugin Conflict Fixes
 */

/* ============================================
   CSS VARIABLES
   ============================================ */
:root {
    --st-woo-primary: #0066cc;
    --st-woo-primary-hover: #0052a3;
    --st-woo-primary-light: #e6f0ff;
    --st-woo-success: #10b981;
    --st-woo-success-light: #d1fae5;
    --st-woo-danger: #ef4444;
    --st-woo-danger-light: #fee2e2;
    --st-woo-warning: #f59e0b;
    --st-woo-dark: #1a1a2e;
    --st-woo-gray-50: #f9fafb;
    --st-woo-gray-100: #f3f4f6;
    --st-woo-gray-200: #e5e7eb;
    --st-woo-gray-300: #d1d5db;
    --st-woo-gray-400: #9ca3af;
    --st-woo-gray-500: #6b7280;
    --st-woo-gray-600: #4b5563;
    --st-woo-gray-700: #374151;
    --st-woo-gray-800: #1f2937;
    --st-woo-gray-900: #111827;
    --st-woo-radius: 12px;
    --st-woo-radius-lg: 16px;
    --st-woo-radius-xl: 24px;
    --st-woo-radius-sm: 6px;
    --st-woo-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
    --st-woo-shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
    --st-woo-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
    --st-woo-shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);
    --st-woo-transition: 0.2s ease;
    --st-woo-columns: 4;
    --st-woo-aspect: 4/3;
    --st-woo-related-cols: 4;
}

/* ============================================
   PLUGIN CONFLICT RESET - MAXIMUM SPECIFICITY
   Override ALL plugin styles - uses multiple selector patterns
   ============================================ */

/* ============================================
   FLIGHT TICKET SALE PLUGIN - EXCLUSION RESET
   Prevent SuperTheme WooCommerce styles from affecting 
   Flight Ticket Sale plugin elements
   ============================================ */
body.supertheme-woo .fts-search-form,
body.supertheme-woo .fts-search-form *,
body.supertheme-woo .flight-search-form,
body.supertheme-woo .flight-search-form *,
body.supertheme-woo [class*="fts-"],
body.supertheme-woo [class*="flight-ticket-"] {
    all: revert;
    box-sizing: border-box;
}

/* Restore Flight Ticket Sale form styles */
body.supertheme-woo .fts-search-form label,
body.supertheme-woo .flight-search-form label,
body.supertheme-woo [class*="fts-"] label {
    display: revert;
    margin-bottom: revert;
    font-weight: revert;
    font-size: revert;
    color: revert;
}

body.supertheme-woo .fts-search-form input,
body.supertheme-woo .fts-search-form select,
body.supertheme-woo .fts-search-form button,
body.supertheme-woo .flight-search-form input,
body.supertheme-woo .flight-search-form select,
body.supertheme-woo .flight-search-form button,
body.supertheme-woo [class*="fts-"] input,
body.supertheme-woo [class*="fts-"] select,
body.supertheme-woo [class*="fts-"] button {
    width: revert;
    padding: revert;
    border: revert;
    border-radius: revert;
    background: revert;
    font-size: revert;
    color: revert;
    transition: revert;
    display: revert;
    align-items: revert;
    justify-content: revert;
    gap: revert;
    transform: revert;
    box-shadow: revert;
}

body.supertheme-woo .fts-search-form .button,
body.supertheme-woo .flight-search-form .button,
body.supertheme-woo [class*="fts-"] .button {
    display: revert;
    align-items: revert;
    justify-content: revert;
    gap: revert;
    padding: revert;
    background: revert;
    color: revert;
    border: revert;
    border-radius: revert;
    font-size: revert;
    font-weight: revert;
    transform: revert;
    box-shadow: revert;
}

/* ===========================================
   CART PAGE - NUCLEAR RESET
   =========================================== */
html body.woocommerce-cart.st-cart-page .woocommerce,
html body.woocommerce-cart.st-cart-page > .woocommerce,
html body.woocommerce-cart.st-cart-page .site-main .woocommerce,
html body.woocommerce-cart.st-cart-page #main .woocommerce,
html body.woocommerce-cart.st-cart-page #content .woocommerce,
html body.woocommerce-cart.st-cart-page .content-area .woocommerce,
html body.woocommerce-cart.st-cart-page article .woocommerce,
html body.woocommerce-cart.st-cart-page .entry-content .woocommerce,
html body.st-cart-page .st-woo-content .woocommerce,
html body.st-cart-page .st-woo-content > .woocommerce,
html body.st-cart-page #wrapper .woocommerce,
html body.st-cart-page .wrapper .woocommerce {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
    position: relative !important;
}

/* Cart Table Nuclear Reset */
html body.st-cart-page table.shop_table,
html body.st-cart-page table.shop_table.shop_table_responsive,
html body.st-cart-page table.shop_table.cart,
html body.st-cart-page .woocommerce table.shop_table,
html body.st-cart-page .woocommerce-cart-form table.shop_table,
html body.st-cart-page .woocommerce-cart-form__contents,
html body.woocommerce-cart table.shop_table,
html body.woocommerce-cart .woocommerce table.shop_table,
html body.st-cart-page #wrapper table.shop_table,
html body.st-cart-page .site-content table.shop_table {
    border: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    table-layout: auto !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body.st-cart-page table.shop_table th,
html body.st-cart-page table.shop_table td,
html body.st-cart-page table.shop_table thead th,
html body.st-cart-page table.shop_table tbody td,
html body.st-cart-page .woocommerce table.shop_table th,
html body.st-cart-page .woocommerce table.shop_table td,
html body.woocommerce-cart table.shop_table th,
html body.woocommerce-cart table.shop_table td {
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    background: transparent !important;
}

/* Cart Totals Nuclear Reset */
html body.st-cart-page .cart_totals,
html body.st-cart-page .woocommerce .cart_totals,
html body.st-cart-page .cart-collaterals .cart_totals,
html body.woocommerce-cart .cart_totals,
html body.woocommerce-cart .woocommerce .cart_totals,
html body.st-cart-page #wrapper .cart_totals {
    float: none !important;
    width: auto !important;
    clear: both !important;
}

html body.st-cart-page .cart-collaterals,
html body.st-cart-page .woocommerce .cart-collaterals,
html body.woocommerce-cart .cart-collaterals {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.st-cart-page .wc-proceed-to-checkout,
html body.st-cart-page .woocommerce .wc-proceed-to-checkout,
html body.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

html body.st-cart-page .woocommerce-cart-form,
html body.st-cart-page .woocommerce .woocommerce-cart-form,
html body.woocommerce-cart .woocommerce-cart-form {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

/* ===========================================
   CHECKOUT PAGE - NUCLEAR RESET
   =========================================== */
html body.woocommerce-checkout.st-checkout-page .woocommerce,
html body.woocommerce-checkout.st-checkout-page > .woocommerce,
html body.woocommerce-checkout.st-checkout-page .site-main .woocommerce,
html body.woocommerce-checkout.st-checkout-page #main .woocommerce,
html body.woocommerce-checkout.st-checkout-page #content .woocommerce,
html body.woocommerce-checkout.st-checkout-page .content-area .woocommerce,
html body.woocommerce-checkout.st-checkout-page article .woocommerce,
html body.woocommerce-checkout.st-checkout-page .entry-content .woocommerce,
html body.st-checkout-page .st-woo-content .woocommerce,
html body.st-checkout-page .st-woo-content > .woocommerce,
html body.st-checkout-page #wrapper .woocommerce,
html body.st-checkout-page .wrapper .woocommerce {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
}

html body.st-checkout-page form.checkout,
html body.st-checkout-page form.woocommerce-checkout,
html body.st-checkout-page .woocommerce form.checkout,
html body.st-checkout-page .woocommerce-checkout form.checkout,
html body.woocommerce-checkout form.checkout,
html body.woocommerce-checkout .woocommerce form.checkout,
html body.st-checkout-page #wrapper form.checkout {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
}

html body.st-checkout-page #customer_details,
html body.st-checkout-page .woocommerce #customer_details,
html body.st-checkout-page form.checkout #customer_details,
html body.woocommerce-checkout #customer_details,
html body.st-checkout-page #wrapper #customer_details {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    float: none !important;
    clear: both !important;
}

html body.st-checkout-page #customer_details .col-1,
html body.st-checkout-page #customer_details .col-2,
html body.st-checkout-page #customer_details > .col-1,
html body.st-checkout-page #customer_details > .col-2,
html body.st-checkout-page .woocommerce #customer_details .col-1,
html body.st-checkout-page .woocommerce #customer_details .col-2,
html body.woocommerce-checkout #customer_details .col-1,
html body.woocommerce-checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
}

html body.st-checkout-page #order_review,
html body.st-checkout-page #order_review_heading,
html body.st-checkout-page .woocommerce #order_review,
html body.st-checkout-page .woocommerce #order_review_heading,
html body.st-checkout-page form.checkout #order_review,
html body.woocommerce-checkout #order_review,
html body.woocommerce-checkout #order_review_heading,
html body.st-checkout-page #wrapper #order_review {
    margin: 0 !important;
    width: auto !important;
    float: none !important;
    clear: both !important;
    /* Note: padding is set by each layout-specific style */
}

html body.st-checkout-page .woocommerce-billing-fields,
html body.st-checkout-page .woocommerce-shipping-fields,
html body.st-checkout-page .woocommerce-additional-fields,
html body.st-checkout-page .woocommerce .woocommerce-billing-fields,
html body.st-checkout-page .woocommerce .woocommerce-shipping-fields,
html body.st-checkout-page .woocommerce .woocommerce-additional-fields,
html body.woocommerce-checkout .woocommerce-billing-fields,
html body.woocommerce-checkout .woocommerce-shipping-fields,
html body.woocommerce-checkout .woocommerce-additional-fields {
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
}

/* ===========================================
   ACCOUNT PAGE - NUCLEAR RESET
   =========================================== */
html body.woocommerce-account.st-account-page .woocommerce,
html body.woocommerce-account.st-account-page > .woocommerce,
html body.woocommerce-account.st-account-page .site-main .woocommerce,
html body.woocommerce-account.st-account-page #main .woocommerce,
html body.woocommerce-account.st-account-page #content .woocommerce,
html body.woocommerce-account.st-account-page .content-area .woocommerce,
html body.woocommerce-account.st-account-page article .woocommerce,
html body.woocommerce-account.st-account-page .entry-content .woocommerce,
html body.st-account-page .st-woo-content .woocommerce,
html body.st-account-page .st-woo-content > .woocommerce,
html body.st-account-page #wrapper .woocommerce,
html body.st-account-page .wrapper .woocommerce {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
}

html body.st-account-page .woocommerce-MyAccount-navigation,
html body.st-account-page .woocommerce-MyAccount-content,
html body.st-account-page .woocommerce .woocommerce-MyAccount-navigation,
html body.st-account-page .woocommerce .woocommerce-MyAccount-content,
html body.woocommerce-account .woocommerce-MyAccount-navigation,
html body.woocommerce-account .woocommerce-MyAccount-content,
html body.st-account-page #wrapper .woocommerce-MyAccount-navigation,
html body.st-account-page #wrapper .woocommerce-MyAccount-content {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    clear: both !important;
}

/* ===========================================
   FORM FIELD RESET - ALL PAGES
   =========================================== */
html body.st-cart-page .form-row,
html body.st-checkout-page .form-row,
html body.st-account-page .form-row,
html body.woocommerce-cart .form-row,
html body.woocommerce-checkout .form-row,
html body.woocommerce-account .form-row {
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
}

html body.st-cart-page .form-row input.input-text,
html body.st-checkout-page .form-row input.input-text,
html body.st-account-page .form-row input.input-text,
html body.st-cart-page .form-row textarea,
html body.st-checkout-page .form-row textarea,
html body.st-account-page .form-row textarea,
html body.st-cart-page .form-row select,
html body.st-checkout-page .form-row select,
html body.st-account-page .form-row select,
html body.woocommerce-cart .form-row input.input-text,
html body.woocommerce-checkout .form-row input.input-text,
html body.woocommerce-account .form-row input.input-text {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* ===========================================
   BUTTON RESET - ALL PAGES
   =========================================== */
html body.st-cart-page .button,
html body.st-checkout-page .button,
html body.st-account-page .button,
html body.st-cart-page .woocommerce .button,
html body.st-checkout-page .woocommerce .button,
html body.st-account-page .woocommerce .button,
html body.woocommerce-cart .button,
html body.woocommerce-checkout .button,
html body.woocommerce-account .button {
    display: inline-block !important;
    text-decoration: none !important;
    cursor: pointer !important;
    float: none !important;
}

/* ===========================================
   COMMON PLUGIN OVERRIDES
   Target specific popular plugins
   =========================================== */

/* Elementor Overrides */
html body.st-cart-page .elementor-widget-woocommerce-cart .woocommerce,
html body.st-checkout-page .elementor-widget-woocommerce-checkout .woocommerce,
html body.st-account-page .elementor-widget-woocommerce-my-account .woocommerce,
html body.st-cart-page .elementor .woocommerce,
html body.st-checkout-page .elementor .woocommerce,
html body.st-account-page .elementor .woocommerce {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Flatsome Theme Overrides */
html body.st-cart-page .shop-container .woocommerce,
html body.st-checkout-page .shop-container .woocommerce,
html body.st-account-page .shop-container .woocommerce {
    max-width: none !important;
    float: none !important;
}

/* Astra Theme Overrides */
html body.st-cart-page .ast-container .woocommerce,
html body.st-checkout-page .ast-container .woocommerce,
html body.st-account-page .ast-container .woocommerce,
html body.st-cart-page .ast-woocommerce-container,
html body.st-checkout-page .ast-woocommerce-container,
html body.st-account-page .ast-woocommerce-container {
    max-width: none !important;
    float: none !important;
    width: 100% !important;
}

/* OceanWP Theme Overrides */
html body.st-cart-page .owp-content-area .woocommerce,
html body.st-checkout-page .owp-content-area .woocommerce,
html body.st-account-page .owp-content-area .woocommerce {
    max-width: none !important;
    float: none !important;
}

/* GeneratePress Theme Overrides */
html body.st-cart-page .inside-article .woocommerce,
html body.st-checkout-page .inside-article .woocommerce,
html body.st-account-page .inside-article .woocommerce {
    max-width: none !important;
    float: none !important;
}

/* Divi Theme Overrides */
html body.st-cart-page .et_pb_module .woocommerce,
html body.st-checkout-page .et_pb_module .woocommerce,
html body.st-account-page .et_pb_module .woocommerce,
html body.st-cart-page #et-main-area .woocommerce,
html body.st-checkout-page #et-main-area .woocommerce,
html body.st-account-page #et-main-area .woocommerce {
    max-width: none !important;
    float: none !important;
    width: 100% !important;
}

/* WooCommerce Blocks Overrides */
html body.st-cart-page .wp-block-woocommerce-cart,
html body.st-checkout-page .wp-block-woocommerce-checkout,
html body.st-cart-page .wc-block-cart,
html body.st-checkout-page .wc-block-checkout {
    max-width: none !important;
}

/* CartFlows Plugin Override */
html body.st-checkout-page .wcf-checkout-form,
html body.st-checkout-page .cartflows-container {
    max-width: none !important;
    width: 100% !important;
}

/* Jepack WooCommerce Analytics */
html body.st-cart-page .jetpack-woocommerce-analytics,
html body.st-checkout-page .jetpack-woocommerce-analytics {
    display: none !important;
}

html body.st-cart-page .form-row input.input-text,
html body.st-checkout-page .form-row input.input-text,
html body.st-account-page .form-row input.input-text,
html body.st-cart-page .form-row textarea,
html body.st-checkout-page .form-row textarea,
html body.st-account-page .form-row textarea,
html body.st-cart-page .form-row select,
html body.st-checkout-page .form-row select,
html body.st-account-page .form-row select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Button Reset */
html body.st-cart-page .button,
html body.st-checkout-page .button,
html body.st-account-page .button,
html body.st-cart-page .woocommerce .button,
html body.st-checkout-page .woocommerce .button,
html body.st-account-page .woocommerce .button {
    display: inline-block !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

/* Table Reset for all pages */
html body.st-cart-page .woocommerce table.shop_table,
html body.st-checkout-page .woocommerce table.shop_table,
html body.st-account-page .woocommerce table.shop_table {
    border-radius: 0 !important;
}

/* ============================================
   BASE LAYOUT & WRAPPERS
   ============================================ */
body.supertheme-woo .st-woo-main {
    background: linear-gradient(180deg, var(--st-woo-gray-50) 0%, #fff 100%);
    min-height: 60vh;
}

body.supertheme-woo .st-woo-main .st-container {
    padding: 2rem 1.5rem 4rem;
    max-width: 1400px;
    margin: 0 auto;
}

body.supertheme-woo .st-woo-content {
    flex: 1;
    min-width: 0;
}

body.supertheme-woo .st-woo-layout {
    display: flex;
    gap: 2.5rem;
}

body.supertheme-woo .st-woo-layout.no-sidebar {
    display: block;
}

body.supertheme-woo .st-woo-layout.has-sidebar.sidebar-left {
    flex-direction: row;
}

body.supertheme-woo .st-woo-layout.has-sidebar.sidebar-right {
    flex-direction: row;
}

body.supertheme-woo .st-woo-sidebar {
    width: 280px;
    flex-shrink: 0;
}

/* ============================================
   BREADCRUMBS
   ============================================ */
body.supertheme-woo .woocommerce-breadcrumb {
    padding: 1rem 0 1.5rem;
    margin: 0;
    font-size: 0.875rem;
    color: var(--st-woo-gray-500);
}

body.supertheme-woo .woocommerce-breadcrumb a {
    color: var(--st-woo-primary);
    text-decoration: none;
    transition: color 0.2s;
}

body.supertheme-woo .woocommerce-breadcrumb a:hover {
    color: var(--st-woo-primary-hover);
    text-decoration: underline;
}

/* ============================================
   PAGE HEADERS & TITLES
   ============================================ */
body.supertheme-woo .woocommerce-products-header {
    margin-bottom: 2rem;
}

body.supertheme-woo .woocommerce-products-header__title,
body.supertheme-woo .page-title {
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--st-woo-gray-900);
    margin: 0 0 0.5rem;
    letter-spacing: -0.02em;
}

body.supertheme-woo .term-description,
body.supertheme-woo .page-description {
    color: var(--st-woo-gray-600);
    font-size: 1rem;
    line-height: 1.6;
    max-width: 700px;
}

/* ============================================
   SHOP CONTROLS - FILTERING & SORTING
   ============================================ */
body.supertheme-woo .woocommerce-notices-wrapper {
    margin-bottom: 1.5rem;
}

body.st-shop .st-woo-content > .woocommerce::before,
body.st-shop .st-woo-content > .woocommerce::after {
    display: none !important;
    content: none !important;
}

/* Shop Toolbar - Main Container */
body.st-shop .st-shop-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: var(--st-woo-gray-50, #f9fafb);
    border-radius: 12px;
    margin-bottom: 1.5rem;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb);
}

body.st-shop .st-shop-toolbar-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

body.st-shop .st-shop-toolbar-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Result Count */
body.st-shop .st-shop-result-count {
    font-size: 0.875rem;
    color: var(--st-woo-gray-600, #4b5563);
    font-weight: 500;
}

body.st-shop .st-shop-result-count .woocommerce-result-count {
    margin: 0 !important;
    padding: 0 !important;
}

/* Category Filter Dropdown */
body.st-shop .st-shop-category-filter select {
    padding: 0.625rem 2.25rem 0.625rem 1rem;
    border: 2px solid var(--st-woo-gray-200, #e5e7eb);
    border-radius: 8px;
    background-color: #fff;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--st-woo-gray-700, #374151);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    min-width: 180px;
    transition: all 0.2s;
}

body.st-shop .st-shop-category-filter select:hover {
    border-color: var(--st-woo-primary, #0066cc);
}

body.st-shop .st-shop-category-filter select:focus {
    outline: none;
    border-color: var(--st-woo-primary, #0066cc);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

/* Ordering Dropdown */
body.st-shop .st-shop-ordering .woocommerce-ordering {
    margin: 0 !important;
}

body.st-shop .st-shop-ordering select,
body.supertheme-woo .woocommerce-ordering select {
    padding: 0.625rem 2.25rem 0.625rem 1rem;
    border: 2px solid var(--st-woo-gray-200, #e5e7eb);
    border-radius: 8px;
    background-color: #fff;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--st-woo-gray-700, #374151);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    min-width: 200px;
    transition: all 0.2s;
}

body.st-shop .st-shop-ordering select:hover,
body.supertheme-woo .woocommerce-ordering select:hover {
    border-color: var(--st-woo-primary, #0066cc);
}

body.st-shop .st-shop-ordering select:focus,
body.supertheme-woo .woocommerce-ordering select:focus {
    outline: none;
    border-color: var(--st-woo-primary, #0066cc);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

/* Remove old absolute positioning for standalone result-count/ordering */
body.st-shop .woocommerce > .woocommerce-result-count,
body.st-shop .woocommerce > .woocommerce-ordering {
    display: none !important;
}

body.st-shop .st-woo-content > .woocommerce {
    position: relative;
}

/* Products now don't need extra top margin since toolbar handles spacing */
body.st-shop ul.products {
    margin-top: 0 !important;
}

/* ============================================
   PRODUCT GRID - BASE STYLES
   ============================================ */
body.supertheme-woo ul.products {
    display: grid !important;
    grid-template-columns: repeat(var(--st-woo-columns, 4), 1fr);
    gap: 1.75rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.supertheme-woo ul.products::before,
body.supertheme-woo ul.products::after {
    display: none !important;
    content: none !important;
}

/* ============================================
   PRODUCT CARD - BASE STYLES
   ============================================ */
body.supertheme-woo ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
    border-radius: var(--st-woo-radius);
    overflow: hidden;
    box-shadow: var(--st-woo-shadow);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    position: relative;
}

body.supertheme-woo ul.products li.product:hover {
    box-shadow: var(--st-woo-shadow-xl);
    transform: translateY(-6px);
}

/* Product Image Container */
body.supertheme-woo ul.products li.product > a:first-of-type {
    display: block;
    position: relative;
    overflow: hidden;
    background: var(--st-woo-gray-100);
}

body.supertheme-woo ul.products li.product > a:first-of-type img,
body.supertheme-woo ul.products li.product .attachment-woocommerce_thumbnail {
    width: 100% !important;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.5s ease, opacity 0.3s ease;
    aspect-ratio: var(--st-woo-aspect, 4/3);
}

/* Image Aspect Ratios */
body.st-card-ratio-1-1 ul.products li.product > a:first-of-type img { aspect-ratio: 1/1 !important; }
body.st-card-ratio-4-3 ul.products li.product > a:first-of-type img { aspect-ratio: 4/3 !important; }
body.st-card-ratio-3-4 ul.products li.product > a:first-of-type img { aspect-ratio: 3/4 !important; }
body.st-card-ratio-16-9 ul.products li.product > a:first-of-type img { aspect-ratio: 16/9 !important; }
body.st-card-ratio-auto ul.products li.product > a:first-of-type img { aspect-ratio: auto !important; }

/* Hover Effects */
body.st-shop-hover-zoom ul.products li.product:hover > a:first-of-type img {
    transform: scale(1.08);
}

body.st-shop-hover-fade ul.products li.product:hover > a:first-of-type img {
    opacity: 0.85;
}

body.st-shop-hover-slide ul.products li.product > a:first-of-type img {
    transition: transform 0.4s ease;
}

body.st-shop-hover-slide ul.products li.product:hover > a:first-of-type img {
    transform: translateY(-8px);
}

body.st-shop-hover-none ul.products li.product:hover > a:first-of-type img {
    transform: none;
}

/* Product Badges */
body.supertheme-woo ul.products li.product .st-product-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 10;
}

body.supertheme-woo .st-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 6px;
    color: #fff;
    line-height: 1;
    white-space: nowrap;
}

body.supertheme-woo .st-badge-sale {
    background: linear-gradient(135deg, #ef4444, #dc2626);
}

body.supertheme-woo .st-badge-new {
    background: linear-gradient(135deg, #10b981, #059669);
}

body.supertheme-woo .st-badge-featured {
    background: linear-gradient(135deg, #f59e0b, #d97706);
}

body.supertheme-woo .st-badge-soldout {
    background: linear-gradient(135deg, #6b7280, #4b5563);
}

/* Hide default WooCommerce sale badge */
body.supertheme-woo ul.products li.product .onsale,
body.supertheme-woo .onsale {
    display: none !important;
}

/* Product Card Content Area */
body.supertheme-woo ul.products li.product .st-product-cat {
    padding: 1rem 1.25rem 0;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--st-woo-primary);
}

body.supertheme-woo ul.products li.product .st-product-cat a {
    color: inherit;
    text-decoration: none;
}

body.supertheme-woo ul.products li.product .woocommerce-loop-product__title {
    padding: 0.75rem 1.25rem 0.5rem;
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--st-woo-gray-900);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* No category - adjust title padding */
body.supertheme-woo:not(.st-show-category) ul.products li.product .woocommerce-loop-product__title {
    padding-top: 1rem;
}

/* Star Rating */
body.supertheme-woo ul.products li.product .star-rating {
    margin: 0 1.25rem 0.5rem;
    font-size: 0.8rem;
    color: #fbbf24;
}

body.supertheme-woo ul.products li.product .star-rating::before {
    color: var(--st-woo-gray-200);
}

/* Price */
body.supertheme-woo ul.products li.product .price {
    padding: 0 1.25rem 1rem;
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--st-woo-gray-900);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

body.supertheme-woo ul.products li.product .price del {
    color: var(--st-woo-gray-400);
    font-size: 0.9rem;
    font-weight: 500;
}

body.supertheme-woo ul.products li.product .price ins {
    text-decoration: none;
    color: var(--st-woo-danger);
}

/* Add to Cart Button */
body.supertheme-woo ul.products li.product .button,
body.supertheme-woo ul.products li.product .add_to_cart_button,
body.supertheme-woo ul.products li.product .product_type_simple,
body.supertheme-woo ul.products li.product .product_type_variable {
    display: block;
    width: calc(100% - 2.5rem);
    margin: auto 1.25rem 1.25rem !important;
    padding: 0.875rem 1.5rem;
    background: var(--st-woo-primary);
    color: #fff !important;
    border: none;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    line-height: 1.4;
}

body.supertheme-woo ul.products li.product .button:hover {
    background: var(--st-woo-primary-hover);
    transform: translateY(-2px);
}

body.supertheme-woo ul.products li.product .added_to_cart {
    display: block;
    text-align: center;
    padding: 0.5rem 1.25rem;
    font-size: 0.8rem;
    color: var(--st-woo-success);
    font-weight: 600;
}

/* ============================================
   ADD TO CART BUTTON STYLES
   ============================================ */

/* Style: Icon Only */
body.st-shop-cart-style-icon ul.products li.product .button,
body.st-shop-cart-style-icon ul.products li.product .add_to_cart_button {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    padding: 0 !important;
    margin: auto 1.25rem 1.25rem auto !important;
    border-radius: 50% !important;
    font-size: 0 !important;
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

body.st-shop-cart-style-icon ul.products li.product .button::before,
body.st-shop-cart-style-icon ul.products li.product .add_to_cart_button::before {
    content: "\f07a";
    font-family: "Font Awesome 5 Free", "FontAwesome", dashicons;
    font-weight: 900;
    font-size: 16px !important;
    line-height: 1;
}

/* Fallback icon using dashicons */
body.st-shop-cart-style-icon ul.products li.product .button::before,
body.st-shop-cart-style-icon ul.products li.product .add_to_cart_button::before {
    content: "\f174";
    font-family: dashicons;
    font-size: 20px !important;
}

/* Style: Show on Hover */
body.st-shop-cart-style-hover ul.products li.product .button,
body.st-shop-cart-style-hover ul.products li.product .add_to_cart_button {
    position: absolute !important;
    bottom: 80px !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(20px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: calc(100% - 2rem) !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
    z-index: 10;
}

body.st-shop-cart-style-hover ul.products li.product {
    position: relative;
}

body.st-shop-cart-style-hover ul.products li.product:hover .button,
body.st-shop-cart-style-hover ul.products li.product:hover .add_to_cart_button {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
}

/* Style: Hidden */
body.st-shop-cart-style-hidden ul.products li.product .button,
body.st-shop-cart-style-hidden ul.products li.product .add_to_cart_button,
body.st-shop-cart-style-hidden ul.products li.product .added_to_cart {
    display: none !important;
}

/* ============================================
   PAGINATION
   ============================================ */
body.supertheme-woo nav.woocommerce-pagination {
    margin-top: 3rem;
    text-align: center;
}

body.supertheme-woo nav.woocommerce-pagination ul {
    display: inline-flex;
    gap: 0.5rem;
    padding: 0;
    margin: 0;
    list-style: none;
    border: none;
}

body.supertheme-woo nav.woocommerce-pagination ul li {
    margin: 0;
    padding: 0;
    border: none;
}

body.supertheme-woo nav.woocommerce-pagination ul li a,
body.supertheme-woo nav.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 1rem;
    background: #fff;
    color: var(--st-woo-gray-700);
    border: 2px solid var(--st-woo-gray-200);
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}

body.supertheme-woo nav.woocommerce-pagination ul li a:hover {
    border-color: var(--st-woo-primary);
    color: var(--st-woo-primary);
}

body.supertheme-woo nav.woocommerce-pagination ul li span.current {
    background: var(--st-woo-primary);
    border-color: var(--st-woo-primary);
    color: #fff;
}

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

/* Layout: Grid Default - Standard grid layout */
body.st-shop.st-shop-layout-grid-default ul.products {
    display: grid !important;
    grid-template-columns: repeat(var(--st-woo-columns, 4), 1fr) !important;
    gap: 1.75rem !important;
}

/* Layout: Grid Modern - Larger cards with more spacing */
body.st-shop.st-shop-layout-grid-modern ul.products {
    display: grid !important;
    grid-template-columns: repeat(var(--st-woo-columns, 3), 1fr) !important;
    gap: 2rem !important;
}

body.st-shop.st-shop-layout-grid-modern ul.products li.product {
    border-radius: var(--st-woo-radius-lg);
}

body.st-shop.st-shop-layout-grid-modern ul.products li.product > a:first-of-type img {
    aspect-ratio: 1/1 !important;
}

body.st-shop.st-shop-layout-grid-modern ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.1rem;
    padding: 1.25rem 1.5rem 0.75rem;
}

body.st-shop.st-shop-layout-grid-modern ul.products li.product .price {
    padding: 0 1.5rem 1.25rem;
    font-size: 1.25rem;
}

body.st-shop.st-shop-layout-grid-modern ul.products li.product .button {
    width: calc(100% - 3rem);
    margin: auto 1.5rem 1.5rem !important;
    padding: 1rem 1.5rem;
}

/* Layout: Grid Masonry - Variable height cards */
body.st-shop.st-shop-layout-grid-masonry ul.products {
    display: block !important;
    column-count: var(--st-woo-columns, 4) !important;
    column-gap: 1.5rem;
}

body.st-shop.st-shop-layout-grid-masonry ul.products li.product {
    break-inside: avoid;
    margin-bottom: 1.5rem !important;
    display: inline-block;
    width: 100%;
}

body.st-shop.st-shop-layout-grid-masonry ul.products li.product > a:first-of-type img {
    aspect-ratio: auto !important;
}

/* Layout: List View - Horizontal cards */
body.st-shop.st-shop-layout-list ul.products {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
}

body.st-shop.st-shop-layout-list ul.products li.product {
    display: grid !important;
    grid-template-columns: 250px 1fr auto !important;
    grid-template-rows: auto;
    gap: 0;
    align-items: center;
    padding: 1.5rem;
    flex-direction: row;
}

body.st-shop.st-shop-layout-list ul.products li.product:hover {
    transform: translateY(-3px);
}

body.st-shop.st-shop-layout-list ul.products li.product > a:first-of-type {
    grid-column: 1;
    grid-row: 1 / span 4;
    margin-right: 1.5rem;
}

body.st-shop.st-shop-layout-list ul.products li.product > a:first-of-type img {
    aspect-ratio: 4/3 !important;
    border-radius: var(--st-woo-radius);
    width: 250px;
    height: auto;
}

body.st-shop.st-shop-layout-list ul.products li.product .st-product-badges {
    top: 1.5rem;
    left: 1.5rem;
}

body.st-shop.st-shop-layout-list ul.products li.product .st-product-cat {
    grid-column: 2;
    padding: 0 0 0.25rem;
}

body.st-shop.st-shop-layout-list ul.products li.product .woocommerce-loop-product__title {
    grid-column: 2;
    padding: 0 0 0.5rem;
    font-size: 1.125rem;
}

body.st-shop.st-shop-layout-list ul.products li.product .star-rating {
    grid-column: 2;
    margin: 0 0 0.5rem;
}

body.st-shop.st-shop-layout-list ul.products li.product .price {
    grid-column: 2;
    padding: 0;
    font-size: 1.25rem;
}

body.st-shop.st-shop-layout-list ul.products li.product .button {
    grid-column: 3;
    grid-row: 1 / span 4;
    align-self: center;
    width: auto;
    margin: 0 !important;
    padding: 1rem 2rem;
    white-space: nowrap;
}

/* Shop Columns Override Classes */
body.st-shop.st-shop-cols-1 ul.products { --st-woo-columns: 1; }
body.st-shop.st-shop-cols-2 ul.products { --st-woo-columns: 2; }
body.st-shop.st-shop-cols-3 ul.products { --st-woo-columns: 3; }
body.st-shop.st-shop-cols-4 ul.products { --st-woo-columns: 4; }
body.st-shop.st-shop-cols-5 ul.products { --st-woo-columns: 5; }
body.st-shop.st-shop-cols-6 ul.products { --st-woo-columns: 6; }

/* --------------------------------------------------------------------------
   SHOP COLUMNS

   The column count is chosen in the shop settings and arrives as a body class
   (st-shop-cols-N). It used to be applied as one `!important` grid rule per
   count, at a higher specificity than the responsive rules further down. Both
   were `!important`, so specificity decided, the column rule won at every
   screen size, and a 4-column shop stayed 4 columns on a phone.

   Now the class only sets variables, and a single rule reads them:

     --st-cols-xl   the chosen count, on wide screens
     --st-cols-lg   up to 1200px: at most 3
     --st-cols-md   up to 768px:  at most 2
     --st-cols-sm   up to 480px:  the "columns on phones" setting (1 or 2)

   A smaller count is never raised: a 2-column shop is still 2 columns at
   1200px, not 3. */
body.st-shop.st-shop-cols-1 { --st-cols-xl: 1; --st-cols-lg: 1; --st-cols-md: 1; }
body.st-shop.st-shop-cols-2 { --st-cols-xl: 2; --st-cols-lg: 2; --st-cols-md: 2; }
body.st-shop.st-shop-cols-3 { --st-cols-xl: 3; --st-cols-lg: 3; --st-cols-md: 2; }
body.st-shop.st-shop-cols-4 { --st-cols-xl: 4; --st-cols-lg: 3; --st-cols-md: 2; }
body.st-shop.st-shop-cols-5 { --st-cols-xl: 5; --st-cols-lg: 3; --st-cols-md: 2; }
body.st-shop.st-shop-cols-6 { --st-cols-xl: 6; --st-cols-lg: 3; --st-cols-md: 2; }

/* Phones: 2 across, or 1 if chosen. A 1-column shop stays 1. */
body.st-shop { --st-cols-sm: 2; }
body.st-shop.st-shop-mcols-1 { --st-cols-sm: 1; }
body.st-shop.st-shop-cols-1 { --st-cols-sm: 1; }

/* The variable the grid reads, stepped down at each breakpoint. Same selector
   throughout, so the later rule wins by source order and nothing depends on
   specificity. */
body.st-shop ul.products { --st-shop-cols: var(--st-cols-xl, 4); }
@media (max-width: 1200px) { body.st-shop ul.products { --st-shop-cols: var(--st-cols-lg, 3); } }
@media (max-width: 768px)  { body.st-shop ul.products { --st-shop-cols: var(--st-cols-md, 2); } }
@media (max-width: 480px)  { body.st-shop ul.products { --st-shop-cols: var(--st-cols-sm, 2); } }

/* minmax(0, 1fr) rather than 1fr: a plain 1fr track will not shrink below the
   widest thing inside it, so one long unbroken title or price pushed the grid
   wider than the screen on phones. */
body.st-shop:not(.st-shop-layout-list):not(.st-shop-layout-grid-masonry) ul.products {
    grid-template-columns: repeat(var(--st-shop-cols, 4), minmax(0, 1fr)) !important;
}
body.st-shop.st-shop-layout-grid-masonry ul.products {
    column-count: var(--st-shop-cols, 4) !important;
}

/* ============================================
   SINGLE PRODUCT PAGE - BASE STYLES
   ============================================ */
body.st-single-product .st-woo-main {
    background: var(--st-woo-gray-50);
}

body.st-single-product .st-woo-content {
    max-width: 1200px;
    margin: 0 auto;
}

/* Ensure single product WooCommerce container is properly laid out */
body.st-single-product .st-woo-content .woocommerce {
    display: block !important;
}

/* Clear floats from WooCommerce elements */
body.st-single-product .st-woo-content .woocommerce::after {
    content: "";
    display: table;
    clear: both;
}

/* Tabs - full width below product */
body.st-single-product .woocommerce-tabs {
    clear: both !important;
    float: none !important;
    width: 100% !important;
}

/* Related Products - full width below tabs */
body.st-single-product .related.products,
body.st-single-product .upsells.products,
body.st-single-product section.related,
body.st-single-product section.upsells {
    clear: both !important;
    float: none !important;
    width: 100% !important;
}

/* Product Container Base */
body.st-single-product div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    background: #fff;
    border-radius: var(--st-woo-radius-xl);
    padding: 2.5rem;
    box-shadow: var(--st-woo-shadow);
    margin-bottom: 2rem;
    position: relative;
    align-items: flex-start;
}

/* Tabs and Related Products should be full width (span both columns) */
body.st-single-product div.product .woocommerce-tabs,
body.st-single-product div.product .related.products,
body.st-single-product div.product .upsells.products,
body.st-single-product div.product section.related,
body.st-single-product div.product section.upsells,
body.st-single-product div.product > .related,
body.st-single-product div.product > section.related,
.woocommerce div.product .related.products,
.woocommerce div.product section.related {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

/* ============================================
   GALLERY WRAPPER - Contains badges + gallery
   ============================================ */
body.st-single-product div.product .st-gallery-wrapper {
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
}

/* ============================================
   GALLERY BASE - Override WooCommerce defaults
   Keep Flexslider functionality intact
   ============================================ */
body.st-single-product div.product .woocommerce-product-gallery {
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    /* DO NOT add display:flex or display:grid here - breaks Flexslider */
}

/* DO NOT set width on wrapper - Flexslider calculates total slide width */
body.st-single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
}

/* Flex viewport - the visible window for slides */
body.st-single-product div.product .woocommerce-product-gallery .flex-viewport {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
}

/* DO NOT set width on slides inside flex-viewport - Flexslider controls this */
body.st-single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    position: relative;
}

body.st-single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
    display: block;
}

/* Images should fill their slide container */
body.st-single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    border-radius: var(--st-woo-radius-lg);
    height: auto !important;
    max-width: 100%;
    display: block;
}

/* Flexslider navigation arrows (if enabled) */
body.st-single-product div.product .woocommerce-product-gallery .flex-direction-nav {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    box-sizing: border-box;
    pointer-events: none;
}

body.st-single-product div.product .woocommerce-product-gallery .flex-direction-nav a {
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    color: var(--st-woo-gray-700);
    text-decoration: none;
    font-size: 18px;
    box-shadow: var(--st-woo-shadow);
    transition: all 0.2s;
    opacity: 0;
}

body.st-single-product div.product .woocommerce-product-gallery:hover .flex-direction-nav a {
    opacity: 1;
}

body.st-single-product div.product .woocommerce-product-gallery .flex-direction-nav a:hover {
    background: #fff;
    box-shadow: var(--st-woo-shadow-lg);
}

/* Thumbnails - Base styling */
body.st-single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    display: flex;
    gap: 0.75rem;
    margin-top: 1rem;
    padding: 0;
    list-style: none;
    flex-wrap: wrap;
}

body.st-single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 auto;
    width: 80px;
    height: 80px;
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
    border-radius: 8px;
}

body.st-single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.2s;
    border: 2px solid transparent;
    display: block;
}

body.st-single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover,
body.st-single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    opacity: 1;
    border-color: var(--st-woo-primary);
}

/* ============================================
   FLEXSLIDER CRITICAL STYLES
   DO NOT override widths - Flexslider sets these inline via JavaScript
   ============================================ */

/* Flexslider container - must have overflow hidden */
body.st-single-product div.product .woocommerce-product-gallery .flex-viewport {
    overflow: hidden !important;
    position: relative !important;
}

/* Each slide inside flex-viewport - must be floated for Flexslider */
body.st-single-product div.product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image {
    float: left !important;
    display: block !important;
    position: relative !important;
    margin: 0 !important;
}

/* For single-image galleries (no Flexslider), wrapper is direct child of gallery */
body.st-single-product div.product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    width: 100% !important;
}

body.st-single-product div.product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
    float: none !important;
    width: 100% !important;
}

body.st-single-product div.product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
    width: 100% !important;
}

/* ============================================
   BADGES POSITIONING
   ============================================ */
/* Hide default WooCommerce sale badge */
body.st-single-product div.product > .onsale {
    display: none !important;
}

/* Badges inside gallery wrapper */
body.st-single-product div.product .st-gallery-wrapper .st-product-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Fallback: Badges as direct child of product (if wrapper not used) */
body.st-single-product div.product > .st-product-badges {
    position: absolute;
    top: 2.5rem;
    left: 2.5rem;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Summary Base */
body.st-single-product div.product .summary {
    padding: 0;
}

body.st-single-product div.product .product_title {
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--st-woo-gray-900);
    margin: 0 0 1rem;
    line-height: 1.3;
}

body.st-single-product div.product .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

body.st-single-product div.product .star-rating {
    font-size: 0.9rem;
    color: #fbbf24;
}

body.st-single-product div.product .woocommerce-review-link {
    font-size: 0.875rem;
    color: var(--st-woo-primary);
    text-decoration: none;
}

body.st-single-product div.product .woocommerce-review-link:hover {
    text-decoration: underline;
}

body.st-single-product div.product .price {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--st-woo-gray-900);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

body.st-single-product div.product .price del {
    color: var(--st-woo-gray-400);
    font-size: 1.25rem;
    font-weight: 500;
}

body.st-single-product div.product .price ins {
    text-decoration: none;
    color: var(--st-woo-danger);
}

body.st-single-product div.product .woocommerce-product-details__short-description {
    color: var(--st-woo-gray-600);
    line-height: 1.7;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--st-woo-gray-200);
}

body.st-single-product div.product .woocommerce-product-details__short-description p {
    margin: 0;
}

/* Add to Cart Form */
body.st-single-product div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--st-woo-gray-200);
}

body.st-single-product div.product form.cart .quantity {
    display: flex;
    align-items: center;
    border: 2px solid var(--st-woo-gray-200);
    border-radius: 8px;
    overflow: hidden;
}

body.st-single-product div.product form.cart .quantity .qty {
    width: 60px;
    border: none;
    text-align: center;
    font-weight: 600;
    font-size: 1rem;
    padding: 0.875rem 0.5rem;
    -moz-appearance: textfield;
}

body.st-single-product div.product form.cart .quantity .qty::-webkit-outer-spin-button,
body.st-single-product div.product form.cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

body.st-single-product div.product form.cart button.single_add_to_cart_button {
    flex: 1;
    min-width: 200px;
    padding: 1rem 2rem;
    background: linear-gradient(135deg, var(--st-woo-primary), var(--st-woo-primary-hover));
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

body.st-single-product div.product form.cart button.single_add_to_cart_button:hover {
    transform: translateY(-2px);
    box-shadow: var(--st-woo-shadow-lg);
}

/* Product Meta */
body.st-single-product div.product .product_meta {
    font-size: 0.875rem;
    color: var(--st-woo-gray-500);
}

body.st-single-product div.product .product_meta > span {
    display: block;
    margin-bottom: 0.5rem;
}

body.st-single-product div.product .product_meta a {
    color: var(--st-woo-primary);
    text-decoration: none;
}

body.st-single-product div.product .product_meta a:hover {
    text-decoration: underline;
}

/* ============================================
   SINGLE PRODUCT LAYOUTS
   ============================================ */

/* Base Reset - Ensure product grid works properly (except Full Width which uses flex) */
/* IMPORTANT: Use div.product specifically to avoid affecting li.product in related products */
body.st-single-product:not(.st-product-layout-full-width) .st-woo-content > div.product {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
    align-items: flex-start !important;
}

body.st-single-product:not(.st-product-layout-full-width) .st-woo-content > div.product > .st-gallery-wrapper,
body.st-single-product:not(.st-product-layout-full-width) .st-woo-content > div.product > .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.st-single-product:not(.st-product-layout-full-width) .st-woo-content > div.product > .summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
}

/* Related/Upsells span full width */
body.st-single-product .st-woo-content > div.product > .related,
body.st-single-product .st-woo-content > div.product > .upsells,
body.st-single-product .st-woo-content > div.product > .woocommerce-tabs,
body.st-single-product .st-woo-content > div.product > section.related,
body.st-single-product .st-woo-content > div.product > section.upsells {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

/* ============================================
   Layout: DEFAULT - Gallery Left, Summary Right (50/50)
   Thumbnails appear HORIZONTALLY below main image
   ============================================ */
body.st-single-product.st-product-layout-default .st-woo-content > div.product {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
    align-items: flex-start !important;
}

/* Reset gallery - NO left padding for default - OVERRIDE ANY GALLERY STYLE */
body.st-single-product.st-product-layout-default .woocommerce-product-gallery,
body.st-single-product.st-product-layout-default.st-product-gallery-vertical .woocommerce-product-gallery,
body.st-single-product.st-product-layout-default.st-product-gallery-slider .woocommerce-product-gallery {
    position: relative !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Thumbnails - horizontal row below image for Default - OVERRIDE ANY GALLERY STYLE */
body.st-single-product.st-product-layout-default .woocommerce-product-gallery .flex-control-thumbs,
body.st-single-product.st-product-layout-default.st-product-gallery-vertical .woocommerce-product-gallery .flex-control-thumbs,
body.st-single-product.st-product-layout-default.st-product-gallery-slider .woocommerce-product-gallery .flex-control-thumbs {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    margin-top: 1rem !important;
}

body.st-single-product.st-product-layout-default .woocommerce-product-gallery .flex-control-thumbs li,
body.st-single-product.st-product-layout-default.st-product-gallery-vertical .woocommerce-product-gallery .flex-control-thumbs li {
    width: 80px !important;
    height: 80px !important;
    flex: 0 0 80px !important;
    max-width: 80px !important;
    margin: 0 !important;
}

body.st-single-product.st-product-layout-default .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 4px !important;
}

/* ============================================
   Layout: GALLERY LEFT - Vertical thumbnails on LEFT side
   ============================================ */
body.st-single-product.st-product-layout-gallery-left .st-woo-content > div.product {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
    align-items: flex-start !important;
}

/* Gallery container - add left padding for thumbnails - OVERRIDE ANY GALLERY STYLE */
body.st-single-product.st-product-layout-gallery-left .woocommerce-product-gallery,
body.st-single-product.st-product-layout-gallery-left.st-product-gallery-slider .woocommerce-product-gallery,
body.st-single-product.st-product-layout-gallery-left.st-product-gallery-vertical .woocommerce-product-gallery {
    position: relative !important;
    padding-left: 95px !important;
}

/* Main image viewport - full width of remaining space */
body.st-single-product.st-product-layout-gallery-left .woocommerce-product-gallery .flex-viewport {
    width: 100% !important;
}

/* For galleries without Flexslider (single image) */
body.st-single-product.st-product-layout-gallery-left .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    width: 100% !important;
}

/* Thumbnails - position absolute on left - OVERRIDE ANY GALLERY STYLE */
body.st-single-product.st-product-layout-gallery-left .woocommerce-product-gallery .flex-control-thumbs,
body.st-single-product.st-product-layout-gallery-left.st-product-gallery-slider .woocommerce-product-gallery .flex-control-thumbs,
body.st-single-product.st-product-layout-gallery-left.st-product-gallery-vertical .woocommerce-product-gallery .flex-control-thumbs {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 80px !important;
    flex-direction: column !important;
    margin-top: 0 !important;
    gap: 0.5rem !important;
    flex-wrap: nowrap !important;
    display: flex !important;
}

body.st-single-product.st-product-layout-gallery-left .woocommerce-product-gallery .flex-control-thumbs li,
body.st-single-product.st-product-layout-gallery-left.st-product-gallery-slider .woocommerce-product-gallery .flex-control-thumbs li,
body.st-single-product.st-product-layout-gallery-left.st-product-gallery-vertical .woocommerce-product-gallery .flex-control-thumbs li {
    width: 80px !important;
    height: 80px !important;
    flex: 0 0 80px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.st-single-product.st-product-layout-gallery-left .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Badge position adjustment for gallery-left */
body.st-single-product.st-product-layout-gallery-left .st-gallery-wrapper .st-product-badges {
    left: calc(95px + 12px) !important;
}

/* ============================================
   Layout: FULL WIDTH - Gallery on top, Summary below, centered
   ============================================ */
body.st-single-product.st-product-layout-full-width .st-woo-content > div.product {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 2rem !important;
    grid-template-columns: none !important;
}

/* Reset grid properties for Full Width - must use flex, not grid */
body.st-single-product.st-product-layout-full-width .st-woo-content > div.product > .st-gallery-wrapper,
body.st-single-product.st-product-layout-full-width .st-woo-content > div.product > .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 700px !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

body.st-single-product.st-product-layout-full-width .st-woo-content > div.product > .summary {
    text-align: center !important;
    width: 100% !important;
    max-width: 700px !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

/* Reset gallery - NO left padding for full-width - OVERRIDE ANY GALLERY STYLE */
body.st-single-product.st-product-layout-full-width .woocommerce-product-gallery,
body.st-single-product.st-product-layout-full-width.st-product-gallery-vertical .woocommerce-product-gallery,
body.st-single-product.st-product-layout-full-width.st-product-gallery-slider .woocommerce-product-gallery {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Thumbnails - horizontal row below image for Full Width - OVERRIDE ANY GALLERY STYLE */
body.st-single-product.st-product-layout-full-width .woocommerce-product-gallery .flex-control-thumbs,
body.st-single-product.st-product-layout-full-width.st-product-gallery-vertical .woocommerce-product-gallery .flex-control-thumbs,
body.st-single-product.st-product-layout-full-width.st-product-gallery-slider .woocommerce-product-gallery .flex-control-thumbs {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    margin-top: 1rem !important;
}

body.st-single-product.st-product-layout-full-width .woocommerce-product-gallery .flex-control-thumbs li,
body.st-single-product.st-product-layout-full-width.st-product-gallery-vertical .woocommerce-product-gallery .flex-control-thumbs li {
    width: 80px !important;
    height: 80px !important;
    flex: 0 0 80px !important;
    max-width: 80px !important;
    margin: 0 !important;
}

body.st-single-product.st-product-layout-full-width .product .summary .product_title {
    font-size: 2.25rem !important;
}

body.st-single-product.st-product-layout-full-width .product .summary .woocommerce-product-rating {
    justify-content: center !important;
}

body.st-single-product.st-product-layout-full-width .product .summary .price {
    justify-content: center !important;
    font-size: 2rem !important;
    display: flex !important;
}

body.st-single-product.st-product-layout-full-width .product form.cart {
    justify-content: center !important;
}

body.st-single-product.st-product-layout-full-width .product .product_meta {
    text-align: center !important;
}

/* ============================================
   Layout: CENTERED - Gallery and Summary side by side, VERTICALLY CENTERED
   Thumbnails appear HORIZONTALLY below main image
   ============================================ */
body.st-single-product.st-product-layout-centered .st-woo-content > div.product {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
    align-items: center !important;
}

/* Reset gallery - NO left padding for centered - OVERRIDE ANY GALLERY STYLE */
body.st-single-product.st-product-layout-centered .woocommerce-product-gallery,
body.st-single-product.st-product-layout-centered.st-product-gallery-vertical .woocommerce-product-gallery,
body.st-single-product.st-product-layout-centered.st-product-gallery-slider .woocommerce-product-gallery {
    position: relative !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Thumbnails - horizontal row below image for Centered - OVERRIDE ANY GALLERY STYLE */
body.st-single-product.st-product-layout-centered .woocommerce-product-gallery .flex-control-thumbs,
body.st-single-product.st-product-layout-centered.st-product-gallery-vertical .woocommerce-product-gallery .flex-control-thumbs,
body.st-single-product.st-product-layout-centered.st-product-gallery-slider .woocommerce-product-gallery .flex-control-thumbs {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    margin-top: 1rem !important;
}

body.st-single-product.st-product-layout-centered .woocommerce-product-gallery .flex-control-thumbs li,
body.st-single-product.st-product-layout-centered.st-product-gallery-vertical .woocommerce-product-gallery .flex-control-thumbs li {
    width: 80px !important;
    height: 80px !important;
    flex: 0 0 80px !important;
    max-width: 80px !important;
    margin: 0 !important;
}

body.st-single-product.st-product-layout-centered .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 4px !important;
}

body.st-single-product.st-product-layout-centered .st-woo-content > div.product > .summary {
    padding: 2rem 0 !important;
}

/* ============================================
   GALLERY STYLES
   ============================================ */

/* Gallery: Slider (default) - handled by WooCommerce Flexslider */
body.st-single-product.st-product-gallery-slider div.product .woocommerce-product-gallery .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
    flex-direction: row;
}

body.st-single-product.st-product-gallery-slider div.product .woocommerce-product-gallery .flex-control-thumbs li {
    width: 80px;
    height: 80px;
    flex: 0 0 80px;
}

/* Gallery: Grid - Show all images in grid */
body.st-single-product.st-product-gallery-grid div.product .woocommerce-product-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem !important;
    padding-left: 0 !important;
}

body.st-single-product.st-product-gallery-grid div.product .woocommerce-product-gallery .flex-viewport,
body.st-single-product.st-product-gallery-grid div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    display: contents !important;
}

/* Override Flexslider float - images must not be floated in grid */
body.st-single-product.st-product-gallery-grid div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    float: none !important;
    display: block !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    overflow: hidden;
    border-radius: var(--st-woo-radius);
}

/* Ensure links are clickable for lightbox */
body.st-single-product.st-product-gallery-grid div.product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    cursor: zoom-in !important;
    pointer-events: auto !important;
}

/* First image spans full width */
body.st-single-product.st-product-gallery-grid div.product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
    grid-column: span 2;
}

/* Images fill their container */
body.st-single-product.st-product-gallery-grid div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    pointer-events: none !important; /* Let clicks pass to parent link */
}

/* Hide thumbnails in grid mode */
body.st-single-product.st-product-gallery-grid div.product .woocommerce-product-gallery .flex-control-thumbs {
    display: none !important;
}

/* Hide navigation arrows in grid mode */
body.st-single-product.st-product-gallery-grid div.product .woocommerce-product-gallery .flex-direction-nav {
    display: none !important;
}

/* Ensure zoom trigger is visible in grid mode */
body.st-single-product.st-product-gallery-grid div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    display: block !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 10 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Gallery: Vertical Thumbs - Use absolute positioning to preserve Flexslider */
body.st-single-product.st-product-gallery-vertical div.product .woocommerce-product-gallery {
    position: relative !important;
    padding-left: 95px !important;
}

body.st-single-product.st-product-gallery-vertical div.product .woocommerce-product-gallery .flex-viewport {
    width: 100% !important;
}

/* For galleries without Flexslider (single image) */
body.st-single-product.st-product-gallery-vertical div.product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    width: 100% !important;
}

body.st-single-product.st-product-gallery-vertical div.product .woocommerce-product-gallery .flex-control-thumbs {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 80px !important;
    flex-direction: column !important;
    margin-top: 0 !important;
    gap: 0.5rem !important;
}

body.st-single-product.st-product-gallery-vertical div.product .woocommerce-product-gallery .flex-control-thumbs li {
    width: 80px !important;
    height: 80px !important;
    flex: 0 0 80px !important;
    max-width: none !important;
    margin: 0 !important;
}

/* ============================================
   TABS STYLES
   ============================================ */
body.st-single-product .woocommerce-tabs {
    background: #fff;
    border-radius: var(--st-woo-radius-xl);
    padding: 2rem 2.5rem;
    box-shadow: var(--st-woo-shadow);
    margin-bottom: 2rem;
    clear: both;
    width: 100%;
}

body.st-single-product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem;
    border-bottom: 2px solid var(--st-woo-gray-200);
}

body.st-single-product .woocommerce-tabs ul.tabs::before,
body.st-single-product .woocommerce-tabs ul.tabs::after {
    display: none !important;
}

body.st-single-product .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    background: none !important;
    border: none !important;
    border-radius: 0;
}

body.st-single-product .woocommerce-tabs ul.tabs li::before,
body.st-single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

body.st-single-product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 1rem 1.5rem;
    color: var(--st-woo-gray-500);
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: all 0.2s;
    background: none !important;
}

body.st-single-product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--st-woo-primary);
}

body.st-single-product .woocommerce-tabs ul.tabs li.active a {
    color: var(--st-woo-primary);
    border-bottom-color: var(--st-woo-primary);
}

body.st-single-product .woocommerce-tabs .panel {
    padding: 0;
}

body.st-single-product .woocommerce-tabs .panel > h2:first-child {
    display: none;
}

body.st-single-product .woocommerce-tabs .panel p {
    color: var(--st-woo-gray-600);
    line-height: 1.7;
}

/* Tabs: Horizontal (default) - already styled above */

/* Tabs: Accordion */
body.st-single-product.st-product-tabs-accordion .woocommerce-tabs ul.tabs {
    display: none !important;
}

body.st-single-product.st-product-tabs-accordion .woocommerce-tabs .panel {
    border: 2px solid var(--st-woo-gray-200);
    border-radius: var(--st-woo-radius);
    margin-bottom: 1rem;
    overflow: hidden;
}

body.st-single-product.st-product-tabs-accordion .woocommerce-tabs .panel > h2:first-child {
    display: block !important;
    font-size: 1rem;
    margin: 0;
    padding: 1rem 1.5rem;
    background: var(--st-woo-gray-50);
    cursor: pointer;
    position: relative;
}

body.st-single-product.st-product-tabs-accordion .woocommerce-tabs .panel > h2:first-child::after {
    content: '+';
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.25rem;
    color: var(--st-woo-gray-400);
}

body.st-single-product.st-product-tabs-accordion .woocommerce-tabs .panel > *:not(h2:first-child) {
    padding: 1.5rem;
}

/* Tabs: Vertical */
body.st-single-product.st-product-tabs-vertical .woocommerce-tabs {
    display: grid !important;
    grid-template-columns: 200px 1fr !important;
    gap: 2rem !important;
    align-items: start !important;
}

body.st-single-product.st-product-tabs-vertical .woocommerce-tabs ul.tabs {
    flex-direction: column !important;
    border-bottom: none !important;
    border-right: 2px solid var(--st-woo-gray-200) !important;
    padding-right: 0;
    padding-bottom: 0;
    margin: 0;
}

body.st-single-product.st-product-tabs-vertical .woocommerce-tabs ul.tabs li a {
    border-bottom: none !important;
    border-right: 3px solid transparent !important;
    margin-bottom: 0;
    margin-right: -2px;
    padding: 1rem 1.5rem;
    text-align: left;
}

body.st-single-product.st-product-tabs-vertical .woocommerce-tabs ul.tabs li.active a {
    border-right-color: var(--st-woo-primary) !important;
    border-bottom-color: transparent !important;
    background: var(--st-woo-primary-light) !important;
}

/* ============================================
   RELATED PRODUCTS
   ============================================ */
body.st-single-product .related.products,
body.st-single-product .upsells.products,
body.st-single-product section.related,
body.st-single-product section.upsells {
    display: block !important;
    background: #fff;
    border-radius: var(--st-woo-radius-xl);
    padding: 2rem 2.5rem 2.5rem;
    box-shadow: var(--st-woo-shadow);
    margin-bottom: 2rem;
    clear: both !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.st-single-product .related.products > h2,
body.st-single-product .upsells.products > h2,
body.st-single-product section.related > h2,
body.st-single-product section.upsells > h2 {
    display: block !important;
    width: 100% !important;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--st-woo-gray-900);
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--st-woo-gray-200);
}

body.st-single-product .related.products ul.products,
body.st-single-product .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(var(--st-related-cols, 4), minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
}

body.st-single-product .related.products ul.products li.product,
body.st-single-product .upsells.products ul.products li.product {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
    background: #fff;
    border-radius: var(--st-woo-radius);
    border: 1px solid var(--st-woo-gray-200);
    overflow: hidden;
    transition: all 0.3s ease;
}

body.st-single-product .related.products ul.products li.product:hover,
body.st-single-product .upsells.products ul.products li.product:hover {
    box-shadow: var(--st-woo-shadow-lg);
    transform: translateY(-4px);
}

/* Related Products - Image container */
body.st-single-product .related.products ul.products li.product .st-product-thumb,
body.st-single-product .upsells.products ul.products li.product .st-product-thumb,
body.st-single-product .related.products ul.products li.product > a:first-of-type,
body.st-single-product .upsells.products ul.products li.product > a:first-of-type {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/3;
    width: 100% !important;
}

/* Related Products - Images - IMPORTANT FIX */
body.st-single-product .related.products ul.products li.product img,
body.st-single-product .upsells.products ul.products li.product img,
.woocommerce .related.products ul.products li.product img,
.woocommerce .upsells.products ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    min-height: 180px;
    max-height: 250px;
    object-fit: cover !important;
    display: block !important;
}

/* Ensure the link container fills available space */
body.st-single-product .related.products ul.products li.product > a,
body.st-single-product .upsells.products ul.products li.product > a,
.woocommerce .related.products ul.products li.product > a,
.woocommerce .upsells.products ul.products li.product > a {
    display: block !important;
    width: 100% !important;
}

/* Related Products - Content area */
body.st-single-product .related.products ul.products li.product .st-product-content,
body.st-single-product .upsells.products ul.products li.product .st-product-content {
    padding: 1rem;
}

body.st-single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.st-single-product .upsells.products ul.products li.product .woocommerce-loop-product__title,
body.st-single-product .related.products ul.products li.product h2,
body.st-single-product .upsells.products ul.products li.product h2 {
    font-size: 0.95rem !important;
    font-weight: 600;
    margin: 0.5rem 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.st-single-product .related.products ul.products li.product .price,
body.st-single-product .upsells.products ul.products li.product .price {
    font-size: 1rem;
    font-weight: 700;
    color: var(--st-woo-danger);
}

body.st-single-product .related.products ul.products li.product .button,
body.st-single-product .upsells.products ul.products li.product .button {
    width: 100%;
    text-align: center;
    margin-top: 0.75rem;
    padding: 0.6rem 1rem;
    font-size: 0.85rem;
}

/* ============================================

/* ============================================
   GLOBAL FORM ELEMENTS
   ============================================ */
body.supertheme-woo input[type="text"],
body.supertheme-woo input[type="email"],
body.supertheme-woo input[type="tel"],
body.supertheme-woo input[type="number"],
body.supertheme-woo input[type="password"],
body.supertheme-woo select,
body.supertheme-woo textarea {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 2px solid var(--st-woo-gray-200);
    border-radius: var(--st-woo-radius-sm);
    background: #fff;
    font-size: 0.9375rem;
    color: var(--st-woo-gray-800);
    transition: all var(--st-woo-transition);
    font-family: inherit;
}

body.supertheme-woo input:focus,
body.supertheme-woo select:focus,
body.supertheme-woo textarea:focus {
    outline: none;
    border-color: var(--st-woo-primary);
    box-shadow: 0 0 0 4px rgba(var(--st-woo-primary-rgb), 0.1);
}

body.supertheme-woo label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--st-woo-gray-700);
}

/* Global Button Styles */
body.supertheme-woo .button,
body.supertheme-woo button[type="submit"],
body.supertheme-woo input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1.75rem;
    background: linear-gradient(135deg, var(--st-woo-primary), var(--st-woo-primary-hover));
    color: #fff !important;
    border: none;
    border-radius: var(--st-woo-radius-sm);
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--st-woo-transition);
    text-decoration: none;
    font-family: inherit;
}

body.supertheme-woo .button:hover,
body.supertheme-woo button[type="submit"]:hover,
body.supertheme-woo input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(var(--st-woo-primary-rgb), 0.3);
}

body.supertheme-woo .button:disabled,
body.supertheme-woo button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* ============================================
   FLIGHT TICKET SALE / TRIP PACKAGE PLUGIN EXCLUSIONS
   Prevent theme styles from affecting plugin search forms
   ============================================ */
body.supertheme-woo .fts-search-form input[type="text"],
body.supertheme-woo .fts-search-form input[type="email"],
body.supertheme-woo .fts-search-form input[type="tel"],
body.supertheme-woo .fts-search-form input[type="number"],
body.supertheme-woo .fts-search-form select,
body.supertheme-woo .flight-search-form input[type="text"],
body.supertheme-woo .flight-search-form select,
body.supertheme-woo .st-search-widget input[type="text"],
body.supertheme-woo .st-search-widget select,
body.supertheme-woo .st-flight-search-widget input,
body.supertheme-woo .st-flight-search-widget select,
body.supertheme-woo .st-trip-search-widget input,
body.supertheme-woo .st-trip-search-widget select,
body.supertheme-woo [class*="fts-"] input,
body.supertheme-woo [class*="fts-"] select,
body.supertheme-woo [class*="trip-search"] input,
body.supertheme-woo [class*="trip-search"] select {
    width: auto;
    padding: initial;
    border: initial;
    border-radius: initial;
    background: initial;
    font-size: initial;
    color: initial;
    transition: initial;
}

body.supertheme-woo .fts-search-form label,
body.supertheme-woo .flight-search-form label,
body.supertheme-woo .st-search-widget label,
body.supertheme-woo .st-flight-search-widget label,
body.supertheme-woo .st-trip-search-widget label,
body.supertheme-woo [class*="fts-"] label,
body.supertheme-woo [class*="trip-search"] label {
    display: initial;
    margin-bottom: initial;
    font-weight: initial;
    font-size: initial;
    color: initial;
}

body.supertheme-woo .fts-search-form .button,
body.supertheme-woo .fts-search-form button,
body.supertheme-woo .flight-search-form .button,
body.supertheme-woo .flight-search-form button,
body.supertheme-woo .st-search-widget .button,
body.supertheme-woo .st-search-widget button:not([type="submit"]),
body.supertheme-woo .st-flight-search-widget .button,
body.supertheme-woo .st-flight-search-widget button:not([type="submit"]),
body.supertheme-woo .st-trip-search-widget .button,
body.supertheme-woo .st-trip-search-widget button:not([type="submit"]),
body.supertheme-woo [class*="fts-"] .button,
body.supertheme-woo [class*="fts-"] button:not([type="submit"]),
body.supertheme-woo [class*="trip-search"] .button,
body.supertheme-woo [class*="trip-search"] button:not([type="submit"]) {
    display: initial;
    align-items: initial;
    justify-content: initial;
    gap: initial;
    padding: initial;
    background: initial;
    color: initial !important;
    border: initial;
    border-radius: initial;
    font-size: initial;
    font-weight: initial;
    cursor: initial;
    transition: initial;
    text-decoration: initial;
    transform: none;
    box-shadow: none;
}

body.supertheme-woo .fts-search-form .button:hover,
body.supertheme-woo .fts-search-form button:hover,
body.supertheme-woo .flight-search-form .button:hover,
body.supertheme-woo .flight-search-form button:hover,
body.supertheme-woo .st-search-widget button:hover,
body.supertheme-woo .st-flight-search-widget button:hover,
body.supertheme-woo .st-trip-search-widget button:hover,
body.supertheme-woo [class*="fts-"] .button:hover,
body.supertheme-woo [class*="fts-"] button:hover,
body.supertheme-woo [class*="trip-search"] .button:hover,
body.supertheme-woo [class*="trip-search"] button:hover {
    transform: none;
    box-shadow: none;
}

/* ============================================
   NOTICES & ALERTS
   ============================================ */
body.supertheme-woo .woocommerce-message,
body.supertheme-woo .woocommerce-info,
body.supertheme-woo .woocommerce-error {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    border-radius: var(--st-woo-radius);
    border: none;
    list-style: none;
    font-size: 0.9375rem;
    line-height: 1.5;
}

/* WooCommerce core sets `position:absolute; top:1em; left:1.5em` on the notice
   icon, which made it sit on top of the message text. Put it back in flow so
   the flex row can lay it out next to the text. */
body.supertheme-woo .woocommerce-message::before,
body.supertheme-woo .woocommerce-info::before,
body.supertheme-woo .woocommerce-error::before {
    content: "";
    position: static;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin: 0;
    font-size: 0;
    line-height: 1;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Message text takes the rest of the row; extra error lines wrap underneath */
body.supertheme-woo .woocommerce-error li {
    flex: 1 1 calc(100% - 40px);
    margin: 0;
}

/* "View cart" / "Continue shopping" buttons float in core WooCommerce CSS */
body.supertheme-woo .woocommerce-message .button,
body.supertheme-woo .woocommerce-info .button {
    float: none;
    margin-left: auto;
    align-self: center;
}

body.supertheme-woo .woocommerce-message {
    background: var(--st-woo-success-light);
    color: #065f46;
    border-left: 4px solid var(--st-woo-success);
}

body.supertheme-woo .woocommerce-message::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2310b981'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
}

body.supertheme-woo .woocommerce-info {
    background: var(--st-woo-info-light);
    color: #1e40af;
    border-left: 4px solid var(--st-woo-info);
}

body.supertheme-woo .woocommerce-info::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%233b82f6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
}

body.supertheme-woo .woocommerce-error {
    background: var(--st-woo-danger-light);
    color: #991b1b;
    border-left: 4px solid var(--st-woo-danger);
}

body.supertheme-woo .woocommerce-error::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ef4444'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
}

body.supertheme-woo .woocommerce-error li {
    list-style: none;
}

body.supertheme-woo .woocommerce-message a,
body.supertheme-woo .woocommerce-info a {
    font-weight: 600;
    text-decoration: underline;
}

/* ============================================
   CART PAGE - MODERN LAYOUT
   ============================================ */
html body.st-cart-page .st-woo-main {
    background: var(--st-woo-gray-50);
}

/* Page Header */
html body.st-cart-page .st-woo-content::before {
    content: var(--st-i18n-cart-title, "Shopping Cart");
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: var(--st-woo-gray-900);
    margin-bottom: 2rem;
    letter-spacing: -0.02em;
}

/* Cart Layout Container - Base styles only, layout handled by layout-specific rules */
html body.st-cart-page .st-woo-content > .woocommerce {
    /* Grid layout is set by st-cart-layout-* classes */
}

/* Cart Form - Main Area */
html body.st-cart-page .woocommerce-cart-form {
    background: #fff;
    border-radius: var(--st-woo-radius-lg);
    box-shadow: var(--st-woo-shadow);
    overflow: hidden;
}

/* Cart Table */
html body.st-cart-page table.shop_table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

html body.st-cart-page table.shop_table thead {
    background: var(--st-woo-gray-50);
    border-bottom: 2px solid var(--st-woo-gray-100);
}

html body.st-cart-page table.shop_table th {
    padding: 1rem 1.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--st-woo-gray-500);
    text-align: left;
    border: none !important;
}

html body.st-cart-page table.shop_table th.product-thumbnail {
    width: 120px;
}

html body.st-cart-page table.shop_table th.product-remove {
    width: 50px;
}

html body.st-cart-page table.shop_table tbody tr {
    transition: background var(--st-woo-transition);
}

html body.st-cart-page table.shop_table tbody tr:hover {
    background: var(--st-woo-gray-50);
}

html body.st-cart-page table.shop_table td {
    padding: 1.5rem;
    vertical-align: middle;
    border: none !important;
    border-bottom: 1px solid var(--st-woo-gray-100) !important;
}

html body.st-cart-page table.shop_table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Product Thumbnail */
html body.st-cart-page table.shop_table .product-thumbnail img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: var(--st-woo-radius-sm);
    box-shadow: var(--st-woo-shadow-sm);
}

/* Product Name */
html body.st-cart-page table.shop_table .product-name {
    font-weight: 600;
}

html body.st-cart-page table.shop_table .product-name a {
    color: var(--st-woo-gray-900);
    text-decoration: none;
    font-size: 1rem;
    line-height: 1.4;
    display: block;
    transition: color var(--st-woo-transition);
}

html body.st-cart-page table.shop_table .product-name a:hover {
    color: var(--st-woo-primary);
}

html body.st-cart-page table.shop_table .product-name .variation {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: var(--st-woo-gray-500);
    font-weight: 400;
}

/* Product Price */
html body.st-cart-page table.shop_table .product-price .woocommerce-Price-amount {
    font-weight: 600;
    color: var(--st-woo-gray-700);
}

/* Product Subtotal */
html body.st-cart-page table.shop_table .product-subtotal .woocommerce-Price-amount {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--st-woo-primary);
}

/* Quantity Input */
html body.st-cart-page .quantity {
    display: inline-flex;
    align-items: center;
    gap: 0;
    background: var(--st-woo-gray-100);
    border-radius: var(--st-woo-radius-sm);
    overflow: hidden;
}

html body.st-cart-page .quantity .qty {
    width: 50px;
    padding: 0.625rem;
    border: none;
    background: transparent;
    text-align: center;
    font-weight: 600;
    font-size: 1rem;
    -moz-appearance: textfield;
}

html body.st-cart-page .quantity .qty::-webkit-outer-spin-button,
html body.st-cart-page .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

html body.st-cart-page .quantity .qty:focus {
    outline: none;
    box-shadow: none;
}

/* Quantity Buttons (if added via JS) */
html body.st-cart-page .quantity .qty-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--st-woo-gray-500);
    transition: all var(--st-woo-transition);
}

html body.st-cart-page .quantity .qty-btn:hover {
    background: var(--st-woo-gray-200);
    color: var(--st-woo-gray-700);
}

/* Remove Button */
html body.st-cart-page table.shop_table .product-remove a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--st-woo-gray-100);
    color: var(--st-woo-gray-400);
    border-radius: 50%;
    text-decoration: none;
    font-size: 1.25rem;
    transition: all var(--st-woo-transition);
}

html body.st-cart-page table.shop_table .product-remove a:hover {
    background: var(--st-woo-danger-light);
    color: var(--st-woo-danger);
    transform: scale(1.1);
}

/* Cart Actions Row */
html body.st-cart-page table.shop_table td.actions {
    background: var(--st-woo-gray-50);
    padding: 1.5rem;
    border-top: 2px solid var(--st-woo-gray-100) !important;
    border-bottom: none !important;
}

html body.st-cart-page .coupon {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

html body.st-cart-page .coupon label {
    display: none;
}

html body.st-cart-page .coupon input[type="text"] {
    max-width: 200px;
    padding: 0.75rem 1rem;
}

html body.st-cart-page .coupon button {
    padding: 0.75rem 1.25rem;
    background: var(--st-woo-gray-800);
    font-size: 0.875rem;
}

html body.st-cart-page .coupon button:hover {
    background: var(--st-woo-gray-900);
    transform: none;
    box-shadow: var(--st-woo-shadow);
}

html body.st-cart-page button[name="update_cart"] {
    float: right;
    background: transparent;
    color: var(--st-woo-gray-600);
    border: 2px solid var(--st-woo-gray-300);
    padding: 0.75rem 1.25rem;
    font-size: 0.875rem;
}

html body.st-cart-page button[name="update_cart"]:hover {
    border-color: var(--st-woo-primary);
    color: var(--st-woo-primary);
    transform: none;
    box-shadow: none;
}

html body.st-cart-page button[name="update_cart"]:disabled {
    opacity: 0.4;
}

/* Cart Totals - Sidebar */
html body.st-cart-page .cart-collaterals {
    position: sticky;
    top: 100px;
}

html body.st-cart-page .cart_totals {
    background: #fff;
    padding: 2rem;
    border-radius: var(--st-woo-radius-lg);
    box-shadow: var(--st-woo-shadow);
}

html body.st-cart-page .cart_totals > h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--st-woo-gray-900);
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--st-woo-gray-100);
}

html body.st-cart-page .cart_totals table {
    width: 100%;
    margin-bottom: 1.5rem;
}

html body.st-cart-page .cart_totals table th,
html body.st-cart-page .cart_totals table td {
    padding: 1rem 0;
    border: none !important;
    border-bottom: 1px solid var(--st-woo-gray-100) !important;
    vertical-align: top;
}

html body.st-cart-page .cart_totals table th {
    font-weight: 500;
    color: var(--st-woo-gray-600);
    text-align: left;
}

html body.st-cart-page .cart_totals table td {
    text-align: right;
    font-weight: 600;
}

html body.st-cart-page .cart_totals .order-total th,
html body.st-cart-page .cart_totals .order-total td {
    font-size: 1.25rem;
    font-weight: 700;
    padding-top: 1.5rem;
    border-bottom: none !important;
}

html body.st-cart-page .cart_totals .order-total td .woocommerce-Price-amount {
    color: var(--st-woo-primary);
    font-size: 1.5rem;
}

/* Proceed to Checkout */
html body.st-cart-page .wc-proceed-to-checkout {
    margin-top: 1.5rem;
}

html body.st-cart-page .wc-proceed-to-checkout a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
    padding: 1.125rem 2rem;
    background: linear-gradient(135deg, var(--st-woo-primary), var(--st-woo-primary-hover));
    color: #fff !important;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: var(--st-woo-radius-sm);
    transition: all var(--st-woo-transition);
}

html body.st-cart-page .wc-proceed-to-checkout a:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(var(--st-woo-primary-rgb), 0.3);
}

html body.st-cart-page .wc-proceed-to-checkout a::after {
    content: "→";
    font-size: 1.25rem;
}

/* Cart Shipping Calculator */
html body.st-cart-page .shipping-calculator-form {
    margin-top: 1rem;
    padding: 1.5rem;
    background: var(--st-woo-gray-50);
    border-radius: var(--st-woo-radius-sm);
}

html body.st-cart-page .shipping-calculator-form p {
    margin-bottom: 1rem;
}

/* ============================================
   EMPTY CART STATE
   ============================================ */
html body.st-cart-page .cart-empty {
    text-align: center;
    padding: 4rem 2rem;
    background: #fff;
    border-radius: var(--st-woo-radius-xl);
    box-shadow: var(--st-woo-shadow);
    max-width: 500px;
    margin: 0 auto;
}

html body.st-cart-page .cart-empty::before {
    content: "🛒";
    display: block;
    font-size: 4rem;
    margin-bottom: 1.5rem;
    opacity: 0.5;
}

html body.st-cart-page .cart-empty.woocommerce-info {
    background: #fff;
    border-left: none;
    color: var(--st-woo-gray-600);
    font-size: 1.125rem;
    display: block;
}

html body.st-cart-page .cart-empty.woocommerce-info::before {
    content: "🛒";
    display: block;
    font-size: 4rem;
    width: auto;
    height: auto;
    background: none;
    margin-bottom: 1.5rem;
}

html body.st-cart-page .return-to-shop {
    margin-top: 2rem;
}

html body.st-cart-page .return-to-shop a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    background: linear-gradient(135deg, var(--st-woo-primary), var(--st-woo-primary-hover));
    color: #fff !important;
    font-weight: 600;
    border-radius: var(--st-woo-radius-sm);
    text-decoration: none;
    transition: all var(--st-woo-transition);
}

html body.st-cart-page .return-to-shop a:hover {
    transform: translateY(-2px);
    box-shadow: var(--st-woo-shadow-lg);
}

html body.st-cart-page .return-to-shop a::before {
    content: "←";
}

/* ============================================
   CROSS-SELLS
   ============================================ */
html body.st-cart-page .cross-sells {
    margin-top: 3rem;
    background: #fff;
    border-radius: var(--st-woo-radius-lg);
    padding: 2rem;
    box-shadow: var(--st-woo-shadow);
    grid-column: 1;
}

html body.st-cart-page .cross-sells > h2 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--st-woo-gray-100);
}

html body.st-cart-page .cross-sells ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ============================================
   CART LAYOUT VARIATIONS
   4 Modern Cart Layouts
   ============================================ */

/* ===========================================
   LAYOUT 1: CLASSIC TABLE (Default)
   Traditional table with right-aligned totals
   =========================================== */

/* Primary selectors with our custom classes */
html body.st-cart-page.st-cart-layout-default .st-woo-content > .woocommerce,
html body.st-cart-page.st-cart-layout-default .woocommerce,
/* Fallback: Use WooCommerce native body class */
html body.woocommerce-cart.st-cart-layout-default .woocommerce,
html body.woocommerce-cart.st-cart-layout-default .site-main .woocommerce,
html body.woocommerce-cart.st-cart-layout-default .entry-content .woocommerce,
html body.woocommerce-cart.st-cart-layout-default #content .woocommerce,
html body.woocommerce-cart.st-cart-layout-default #main .woocommerce,
html body.woocommerce-cart.st-cart-layout-default article .woocommerce {
    display: block !important;
}

html body.st-cart-page.st-cart-layout-default .woocommerce-cart-form,
html body.woocommerce-cart.st-cart-layout-default .woocommerce-cart-form {
    background: #fff !important;
    border-radius: var(--st-woo-radius) !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1) !important;
    overflow: hidden !important;
    margin-bottom: 2rem !important;
}

html body.st-cart-page.st-cart-layout-default table.shop_table,
html body.woocommerce-cart.st-cart-layout-default table.shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
}

html body.st-cart-page.st-cart-layout-default table.shop_table thead,
html body.woocommerce-cart.st-cart-layout-default table.shop_table thead {
    background: #f8fafc !important;
}

html body.st-cart-page.st-cart-layout-default table.shop_table th,
html body.woocommerce-cart.st-cart-layout-default table.shop_table th {
    text-align: left !important;
    padding: 20px !important;
    color: var(--st-woo-gray-500) !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    border: none !important;
}

html body.st-cart-page.st-cart-layout-default table.shop_table td,
html body.woocommerce-cart.st-cart-layout-default table.shop_table td {
    padding: 20px !important;
    border-bottom: 1px solid var(--st-woo-gray-200) !important;
    vertical-align: middle !important;
    border-left: none !important;
    border-right: none !important;
}

html body.st-cart-page.st-cart-layout-default table.shop_table .product-thumbnail img,
html body.woocommerce-cart.st-cart-layout-default table.shop_table .product-thumbnail img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    vertical-align: middle !important;
}

html body.st-cart-page.st-cart-layout-default .cart-collaterals,
html body.woocommerce-cart.st-cart-layout-default .cart-collaterals {
    display: flex !important;
    justify-content: flex-end !important;
}

html body.st-cart-page.st-cart-layout-default .cart_totals,
html body.woocommerce-cart.st-cart-layout-default .cart_totals {
    width: 350px !important;
    max-width: 100% !important;
    background: #fff !important;
    padding: 25px !important;
    border-radius: var(--st-woo-radius) !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1) !important;
}

html body.st-cart-page.st-cart-layout-default .cart_totals h2,
html body.woocommerce-cart.st-cart-layout-default .cart_totals h2 {
    font-size: 1.1rem !important;
    margin-bottom: 1rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 1px solid var(--st-woo-gray-200) !important;
}

html body.st-cart-page.st-cart-layout-default .cart_totals .order-total td,
html body.woocommerce-cart.st-cart-layout-default .cart_totals .order-total td {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
}

html body.st-cart-page.st-cart-layout-default .wc-proceed-to-checkout .checkout-button,
html body.woocommerce-cart.st-cart-layout-default .wc-proceed-to-checkout .checkout-button {
    background: var(--st-woo-gray-900) !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 24px !important;
    border-radius: var(--st-woo-radius) !important;
    font-weight: 600 !important;
    width: 100% !important;
    transition: opacity 0.2s !important;
}

html body.st-cart-page.st-cart-layout-default .wc-proceed-to-checkout .checkout-button:hover {
    opacity: 0.9 !important;
}

/* ===========================================
   LAYOUT 2: MODERN SPLIT
   Item cards on left, sticky sidebar on right
   =========================================== */

/* Main container - use flexbox for more reliable layout */
html body.st-cart-page.st-cart-layout-modern .st-woo-content,
html body.st-cart-page.st-cart-layout-modern .woocommerce-page .st-woo-content,
html body.woocommerce-cart.st-cart-layout-modern .woocommerce,
html body.woocommerce-cart.st-cart-layout-modern .site-main > .woocommerce,
html body.woocommerce-cart.st-cart-layout-modern .entry-content > .woocommerce,
html body.woocommerce-cart.st-cart-layout-modern #content > .woocommerce,
html body.woocommerce-cart.st-cart-layout-modern article > .woocommerce {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    align-items: flex-start !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Cart form takes 2/3 of the space */
html body.st-cart-page.st-cart-layout-modern .woocommerce-cart-form,
html body.woocommerce-cart.st-cart-layout-modern .woocommerce-cart-form {
    flex: 2 1 600px !important;
    min-width: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    order: 1 !important;
}

/* Cart collaterals/totals takes 1/3 of the space */
html body.st-cart-page.st-cart-layout-modern .cart-collaterals,
html body.woocommerce-cart.st-cart-layout-modern .cart-collaterals {
    flex: 1 1 300px !important;
    min-width: 280px !important;
    max-width: 400px !important;
    position: sticky !important;
    top: 120px !important;
    order: 2 !important;
}

/* Cross-sells full width at bottom */
html body.st-cart-page.st-cart-layout-modern .cross-sells,
html body.woocommerce-cart.st-cart-layout-modern .cross-sells {
    flex: 1 1 100% !important;
    order: 3 !important;
}

/* Return to shop link full width */
html body.st-cart-page.st-cart-layout-modern .woocommerce-notices-wrapper,
html body.woocommerce-cart.st-cart-layout-modern .woocommerce-notices-wrapper,
html body.st-cart-page.st-cart-layout-modern .return-to-shop,
html body.woocommerce-cart.st-cart-layout-modern .return-to-shop {
    flex: 1 1 100% !important;
    order: 0 !important;
}

/* Table styling - card-based items */
html body.st-cart-page.st-cart-layout-modern table.shop_table,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table {
    border: none !important;
    background: transparent !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

html body.st-cart-page.st-cart-layout-modern table.shop_table thead,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table thead {
    display: none !important;
}

html body.st-cart-page.st-cart-layout-modern table.shop_table tbody,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

html body.st-cart-page.st-cart-layout-modern table.shop_table tbody tr.woocommerce-cart-form__cart-item,
html body.st-cart-page.st-cart-layout-modern table.shop_table tbody tr.cart_item,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table tbody tr.woocommerce-cart-form__cart-item,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table tbody tr.cart_item {
    display: flex !important;
    gap: 16px !important;
    background: #fff !important;
    padding: 20px !important;
    border-radius: 12px !important;
    align-items: center !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    transition: box-shadow 0.2s ease !important;
}

html body.st-cart-page.st-cart-layout-modern table.shop_table tbody tr:hover,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table tbody tr:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
}

/* Actions row (coupon + update) */
html body.st-cart-page.st-cart-layout-modern table.shop_table tbody tr.actions,
html body.st-cart-page.st-cart-layout-modern table.shop_table tbody tr td.actions,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table tbody tr.actions,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table tbody tr td.actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    background: var(--st-woo-gray-50, #f9fafb) !important;
    padding: 20px !important;
    border-radius: 12px !important;
    border: 1px dashed var(--st-woo-gray-300, #d1d5db) !important;
    box-shadow: none !important;
    justify-content: flex-start !important;
    align-items: center !important;
}

html body.st-cart-page.st-cart-layout-modern table.shop_table td,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table td {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    vertical-align: middle !important;
}

/* Product remove (X button) */
html body.st-cart-page.st-cart-layout-modern table.shop_table .product-remove,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-remove {
    flex: 0 0 30px !important;
    order: 0 !important;
}

html body.st-cart-page.st-cart-layout-modern table.shop_table .product-remove a,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-remove a {
    color: var(--st-woo-danger, #ef4444) !important;
    font-size: 1.2rem !important;
    text-decoration: none !important;
}

/* Product thumbnail */
html body.st-cart-page.st-cart-layout-modern table.shop_table .product-thumbnail,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-thumbnail {
    flex: 0 0 80px !important;
    order: 1 !important;
}

html body.st-cart-page.st-cart-layout-modern table.shop_table .product-thumbnail img,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}

/* Product name */
html body.st-cart-page.st-cart-layout-modern table.shop_table .product-name,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-name {
    flex: 1 1 150px !important;
    min-width: 100px !important;
    order: 2 !important;
}

html body.st-cart-page.st-cart-layout-modern table.shop_table .product-name a,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-name a {
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: var(--st-woo-gray-900, #111827) !important;
    text-decoration: none !important;
    display: block !important;
}

/* Product price - hidden in modern layout */
html body.st-cart-page.st-cart-layout-modern table.shop_table .product-price,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-price {
    display: none !important;
}

/* Product quantity */
html body.st-cart-page.st-cart-layout-modern table.shop_table .product-quantity,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-quantity {
    flex: 0 0 auto !important;
    order: 3 !important;
}

/* Product subtotal */
html body.st-cart-page.st-cart-layout-modern table.shop_table .product-subtotal,
html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-subtotal {
    flex: 0 0 100px !important;
    text-align: right !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    color: var(--st-woo-primary, #0066CC) !important;
    order: 4 !important;
}

/* Cart totals box */
html body.st-cart-page.st-cart-layout-modern .cart_totals,
html body.woocommerce-cart.st-cart-layout-modern .cart_totals {
    background: #fff !important;
    padding: 24px !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    width: 100% !important;
}

html body.st-cart-page.st-cart-layout-modern .cart_totals h2,
html body.woocommerce-cart.st-cart-layout-modern .cart_totals h2 {
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    text-transform: none !important;
}

html body.st-cart-page.st-cart-layout-modern .cart_totals table,
html body.woocommerce-cart.st-cart-layout-modern .cart_totals table {
    width: 100% !important;
    border: none !important;
}

html body.st-cart-page.st-cart-layout-modern .cart_totals table th,
html body.st-cart-page.st-cart-layout-modern .cart_totals table td,
html body.woocommerce-cart.st-cart-layout-modern .cart_totals table th,
html body.woocommerce-cart.st-cart-layout-modern .cart_totals table td {
    padding: 10px 0 !important;
    border: none !important;
    background: transparent !important;
    color: var(--st-woo-gray-600, #4b5563) !important;
    font-size: 0.9rem !important;
}

html body.st-cart-page.st-cart-layout-modern .cart_totals .order-total th,
html body.st-cart-page.st-cart-layout-modern .cart_totals .order-total td,
html body.woocommerce-cart.st-cart-layout-modern .cart_totals .order-total th,
html body.woocommerce-cart.st-cart-layout-modern .cart_totals .order-total td {
    padding-top: 16px !important;
    margin-top: 8px !important;
    border-top: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
    color: var(--st-woo-gray-900, #111827) !important;
}

html body.st-cart-page.st-cart-layout-modern .cart_totals .order-total td .woocommerce-Price-amount,
html body.woocommerce-cart.st-cart-layout-modern .cart_totals .order-total td .woocommerce-Price-amount {
    color: var(--st-woo-primary, #0066CC) !important;
}

/* Proceed to checkout button */
html body.st-cart-page.st-cart-layout-modern .wc-proceed-to-checkout .checkout-button,
html body.woocommerce-cart.st-cart-layout-modern .wc-proceed-to-checkout .checkout-button {
    background: var(--st-woo-primary, #0066CC) !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 24px !important;
    border-radius: var(--st-woo-radius, 8px) !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    width: 100% !important;
    margin-top: 16px !important;
    display: block !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

html body.st-cart-page.st-cart-layout-modern .wc-proceed-to-checkout .checkout-button:hover,
html body.woocommerce-cart.st-cart-layout-modern .wc-proceed-to-checkout .checkout-button:hover {
    background: var(--st-woo-primary-dark, #0052a3) !important;
    transform: translateY(-1px) !important;
}

/* Coupon form styling */
html body.st-cart-page.st-cart-layout-modern .coupon,
html body.woocommerce-cart.st-cart-layout-modern .coupon {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

html body.st-cart-page.st-cart-layout-modern .coupon label,
html body.woocommerce-cart.st-cart-layout-modern .coupon label {
    display: none !important;
}

html body.st-cart-page.st-cart-layout-modern .coupon input[type="text"],
html body.woocommerce-cart.st-cart-layout-modern .coupon input[type="text"] {
    flex: 1 1 150px !important;
    min-width: 120px !important;
    padding: 10px 14px !important;
    border: 1px solid var(--st-woo-gray-300, #d1d5db) !important;
    border-radius: var(--st-woo-radius, 8px) !important;
    font-size: 0.9rem !important;
}

html body.st-cart-page.st-cart-layout-modern .coupon button,
html body.woocommerce-cart.st-cart-layout-modern .coupon button {
    background: var(--st-woo-primary, #0066CC) !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 16px !important;
    border-radius: var(--st-woo-radius, 8px) !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

/* Update cart button */
html body.st-cart-page.st-cart-layout-modern button[name="update_cart"],
html body.woocommerce-cart.st-cart-layout-modern button[name="update_cart"] {
    background: var(--st-woo-secondary, #ff6b35) !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 16px !important;
    border-radius: var(--st-woo-radius, 8px) !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
    cursor: pointer !important;
    margin-left: auto !important;
}

html body.st-cart-page.st-cart-layout-modern button[name="update_cart"]:disabled,
html body.woocommerce-cart.st-cart-layout-modern button[name="update_cart"]:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

/* Mobile responsive for modern cart */
@media (max-width: 900px) {
    html body.st-cart-page.st-cart-layout-modern .st-woo-content,
    html body.st-cart-page.st-cart-layout-modern .woocommerce-page .st-woo-content,
    html body.woocommerce-cart.st-cart-layout-modern .woocommerce,
    html body.woocommerce-cart.st-cart-layout-modern .site-main > .woocommerce,
    html body.woocommerce-cart.st-cart-layout-modern .entry-content > .woocommerce {
        flex-direction: column !important;
    }
    
    html body.st-cart-page.st-cart-layout-modern .woocommerce-cart-form,
    html body.woocommerce-cart.st-cart-layout-modern .woocommerce-cart-form {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
    
    html body.st-cart-page.st-cart-layout-modern .cart-collaterals,
    html body.woocommerce-cart.st-cart-layout-modern .cart-collaterals {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        position: relative !important;
        top: 0 !important;
    }
}

@media (max-width: 600px) {
    html body.st-cart-page.st-cart-layout-modern table.shop_table tbody tr.woocommerce-cart-form__cart-item,
    html body.st-cart-page.st-cart-layout-modern table.shop_table tbody tr.cart_item,
    html body.woocommerce-cart.st-cart-layout-modern table.shop_table tbody tr.woocommerce-cart-form__cart-item,
    html body.woocommerce-cart.st-cart-layout-modern table.shop_table tbody tr.cart_item {
        flex-wrap: wrap !important;
        padding: 16px !important;
    }
    
    html body.st-cart-page.st-cart-layout-modern table.shop_table .product-name,
    html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-name {
        flex: 1 1 calc(100% - 120px) !important;
    }
    
    html body.st-cart-page.st-cart-layout-modern table.shop_table .product-quantity,
    html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-quantity {
        flex: 0 0 100% !important;
        margin-top: 12px !important;
    }
    
    html body.st-cart-page.st-cart-layout-modern table.shop_table .product-subtotal,
    html body.woocommerce-cart.st-cart-layout-modern table.shop_table .product-subtotal {
        flex: 0 0 100% !important;
        text-align: left !important;
        margin-top: 8px !important;
    }
}

/* ===========================================
   LAYOUT 3: MINIMAL DRAWER
   Mobile-inspired centered card design
   =========================================== */
html body.st-cart-page.st-cart-layout-minimal .st-woo-content > .woocommerce,
html body.st-cart-page.st-cart-layout-minimal .woocommerce {
    display: block !important;
    max-width: 500px !important;
    margin: 0 auto !important;
}

html body.st-cart-page.st-cart-layout-minimal .woocommerce-cart-form {
    background: #fff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important;
    border: 1px solid var(--st-woo-gray-200) !important;
}

html body.st-cart-page.st-cart-layout-minimal .woocommerce-cart-form::before {
    content: var(--st-i18n-cart-title, "Shopping Cart") !important;
    display: block !important;
    padding: 20px !important;
    text-align: center !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    border-bottom: 1px solid var(--st-woo-gray-200) !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table {
    border: none !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table thead {
    display: none !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table tbody tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 20px !important;
    border-bottom: 1px solid var(--st-woo-gray-200) !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table tbody tr:last-child {
    border-bottom: none !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table td {
    padding: 0 !important;
    border: none !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-thumbnail {
    flex: 0 0 50px !important;
    order: 1 !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-thumbnail img {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-name {
    flex: 1 !important;
    order: 2 !important;
    padding-left: 15px !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-name a {
    font-weight: 600 !important;
    color: var(--st-woo-gray-900) !important;
    text-decoration: none !important;
    font-size: 0.95rem !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-price {
    display: none !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-quantity {
    order: 3 !important;
    flex: 0 0 auto !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-subtotal {
    display: none !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-remove {
    order: 4 !important;
    flex: 0 0 30px !important;
    margin-left: 10px !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table td.actions {
    display: none !important;
}

html body.st-cart-page.st-cart-layout-minimal .cart-collaterals {
    margin-top: -1px !important;
}

html body.st-cart-page.st-cart-layout-minimal .cart_totals {
    background: #fafafa !important;
    padding: 20px !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important;
    border: 1px solid var(--st-woo-gray-200) !important;
    border-top: none !important;
    max-width: 500px !important;
    margin: 0 auto !important;
}

html body.st-cart-page.st-cart-layout-minimal .cart_totals h2 {
    display: none !important;
}

html body.st-cart-page.st-cart-layout-minimal .cart_totals table {
    margin-bottom: 15px !important;
}

html body.st-cart-page.st-cart-layout-minimal .cart_totals table th,
html body.st-cart-page.st-cart-layout-minimal .cart_totals table td {
    padding: 8px 0 !important;
    font-size: 0.9rem !important;
}

html body.st-cart-page.st-cart-layout-minimal .cart_totals .order-total th,
html body.st-cart-page.st-cart-layout-minimal .cart_totals .order-total td {
    padding-top: 15px !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    border-top: 1px solid var(--st-woo-gray-200) !important;
}

html body.st-cart-page.st-cart-layout-minimal .wc-proceed-to-checkout .checkout-button {
    background: var(--st-woo-gray-900) !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 24px !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    width: 100% !important;
    margin-top: 15px !important;
}

html body.st-cart-page.st-cart-layout-minimal .cross-sells {
    max-width: 500px !important;
    margin: 2rem auto 0 !important;
}

/* ===========================================
   LAYOUT 4: SPLIT - LEGACY STYLES DISABLED
   =========================================== 
   NOTE: Split layout has been redesigned in v3.0
   New styles are in woo-cart-checkout.css
   The old card-grid style has been moved to 'grid' layout
   =========================================== */

/* Old split layout styles disabled - see woo-cart-checkout.css for v3.0 split layout */

html body.st-cart-page.st-cart-layout-minimal .woocommerce-cart-form {
    background: transparent;
    box-shadow: none;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table {
    border: none;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table thead {
    display: none;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table tbody tr {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--st-woo-gray-200);
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table td {
    padding: 0;
    border: none !important;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-thumbnail {
    flex: 0 0 80px;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-thumbnail img {
    width: 80px;
    height: 80px;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-name {
    flex: 1;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-price {
    flex: 0 0 100px;
    text-align: right;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-quantity {
    flex: 0 0 120px;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-subtotal {
    flex: 0 0 100px;
    text-align: right;
    font-weight: 700;
}

html body.st-cart-page.st-cart-layout-minimal table.shop_table .product-remove {
    flex: 0 0 40px;
}

html body.st-cart-page.st-cart-layout-minimal .cart-collaterals {
    margin-top: 2rem;
    max-width: 400px;
    margin-left: auto;
}

html body.st-cart-page.st-cart-layout-minimal .cross-sells {
    max-width: 100%;
    margin-left: 0;
}

/* ============================================
   CHECKOUT PAGE - MODERN LAYOUT
   ============================================ */
html body.st-checkout-page .st-woo-main {
    background: var(--st-woo-gray-50);
    padding: 2rem 0 4rem;
}

html body.st-checkout-page .st-woo-content::before {
    content: var(--st-i18n-checkout-title, "Checkout");
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: var(--st-woo-gray-900);
    margin-bottom: 2rem;
    letter-spacing: -0.02em;
}

/* Checkout Layout - Base styles only, grid layout handled by st-checkout-layout-* classes */
html body.st-checkout-page form.checkout,
html body.st-checkout-page form.checkout.woocommerce-checkout {
    /* Grid layout is set by st-checkout-layout-* classes */
}

/* Customer Details - Left Column */
html body.st-checkout-page #customer_details {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

html body.st-checkout-page #customer_details .col-1,
html body.st-checkout-page #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Form Sections */
html body.st-checkout-page .woocommerce-billing-fields,
html body.st-checkout-page .woocommerce-shipping-fields,
html body.st-checkout-page .woocommerce-additional-fields {
    background: #fff;
    padding: 2rem;
    border-radius: var(--st-woo-radius-lg);
    box-shadow: var(--st-woo-shadow);
}

html body.st-checkout-page .woocommerce-billing-fields h3,
html body.st-checkout-page .woocommerce-shipping-fields h3,
html body.st-checkout-page .woocommerce-additional-fields h3 {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--st-woo-gray-900);
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--st-woo-gray-100);
}

html body.st-checkout-page .woocommerce-billing-fields h3::before {
    content: "📍";
    font-size: 1.25rem;
}

html body.st-checkout-page .woocommerce-shipping-fields > h3::before {
    content: "📦";
    font-size: 1.25rem;
}

html body.st-checkout-page .woocommerce-additional-fields h3::before {
    content: "📝";
    font-size: 1.25rem;
}

/* Form Fields */
html body.st-checkout-page .woocommerce-checkout .form-row {
    margin-bottom: 1.25rem;
}

html body.st-checkout-page .woocommerce-checkout .form-row-first,
html body.st-checkout-page .woocommerce-checkout .form-row-last {
    width: calc(50% - 0.5rem);
    float: left;
}

html body.st-checkout-page .woocommerce-checkout .form-row-last {
    float: right;
}

html body.st-checkout-page .woocommerce-checkout .form-row-wide {
    width: 100%;
    clear: both;
}

html body.st-checkout-page .woocommerce-checkout .form-row label {
    margin-bottom: 0.5rem;
}

html body.st-checkout-page .woocommerce-checkout .form-row .required {
    color: var(--st-woo-danger);
}

html body.st-checkout-page .woocommerce-checkout .form-row .optional {
    font-weight: 400;
    color: var(--st-woo-gray-400);
    font-size: 0.875rem;
}

html body.st-checkout-page .woocommerce-checkout .select2-container {
    width: 100% !important;
}

html body.st-checkout-page .woocommerce-checkout .select2-container .select2-selection--single {
    height: 50px;
    border: 2px solid var(--st-woo-gray-200);
    border-radius: var(--st-woo-radius-sm);
}

html body.st-checkout-page .woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 46px;
    padding-left: 1rem;
}

html body.st-checkout-page .woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 48px;
    right: 10px;
}

/* Shipping to Different Address Toggle */
html body.st-checkout-page .woocommerce-shipping-fields #ship-to-different-address {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    font-weight: 600;
    cursor: pointer;
}

html body.st-checkout-page .woocommerce-shipping-fields #ship-to-different-address input {
    width: 20px;
    height: 20px;
    accent-color: var(--st-woo-primary);
}

/* Order Review - Right Column */
html body.st-checkout-page #order_review_heading {
    display: none;
}

html body.st-checkout-page #order_review {
    background: #fff;
    padding: 2rem;
    border-radius: var(--st-woo-radius-lg);
    box-shadow: var(--st-woo-shadow);
    position: sticky;
    top: 100px;
}

html body.st-checkout-page #order_review::before {
    content: var(--st-i18n-order-summary, "Order Summary");
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--st-woo-gray-900);
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--st-woo-gray-100);
}

/* Order Table */
html body.st-checkout-page .woocommerce-checkout-review-order-table {
    width: 100%;
    margin-bottom: 1.5rem;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table th,
html body.st-checkout-page .woocommerce-checkout-review-order-table td {
    padding: 1rem 0;
    border: none !important;
    border-bottom: 1px solid var(--st-woo-gray-100) !important;
    vertical-align: top;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table thead th {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--st-woo-gray-500);
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-name {
    font-weight: 500;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-quantity {
    color: var(--st-woo-gray-500);
    font-weight: 600;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot th {
    font-weight: 500;
    color: var(--st-woo-gray-600);
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
    font-weight: 600;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table .order-total th,
html body.st-checkout-page .woocommerce-checkout-review-order-table .order-total td {
    font-size: 1.25rem;
    font-weight: 700;
    padding-top: 1.5rem;
    border-bottom: none !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
    color: var(--st-woo-primary);
}

/* Payment Methods */
html body.st-checkout-page #payment {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 2px solid var(--st-woo-gray-100);
}

html body.st-checkout-page #payment .payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem;
}

html body.st-checkout-page #payment .payment_methods li {
    border: 2px solid var(--st-woo-gray-200);
    border-radius: var(--st-woo-radius-sm);
    margin-bottom: 0.75rem;
    transition: all var(--st-woo-transition);
    overflow: hidden;
}

html body.st-checkout-page #payment .payment_methods li:hover {
    border-color: var(--st-woo-primary);
}

html body.st-checkout-page #payment .payment_methods li.wc_payment_method > label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    margin: 0;
    cursor: pointer;
    font-weight: 600;
}

html body.st-checkout-page #payment .payment_methods li input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: var(--st-woo-primary);
}

html body.st-checkout-page #payment .payment_methods li img {
    max-height: 28px;
    width: auto;
}

html body.st-checkout-page #payment .payment_box {
    padding: 1rem 1.25rem;
    background: var(--st-woo-gray-50);
    font-size: 0.875rem;
    color: var(--st-woo-gray-600);
    border-top: 1px solid var(--st-woo-gray-100);
}

/* Terms & Place Order */
html body.st-checkout-page #payment .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 1.5rem;
}

html body.st-checkout-page #payment .woocommerce-terms-and-conditions-wrapper label {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: var(--st-woo-gray-600);
    cursor: pointer;
}

html body.st-checkout-page #payment .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--st-woo-primary);
}

html body.st-checkout-page #payment #place_order {
    width: 100%;
    padding: 1.125rem 2rem;
    font-size: 1rem;
    font-weight: 700;
}

/* Coupon Form */
html body.st-checkout-page .woocommerce-form-coupon-toggle {
    margin-bottom: 1rem;
}

html body.st-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--st-woo-info-light);
    padding: 1rem 1.25rem;
    font-size: 0.9375rem;
}

html body.st-checkout-page .checkout_coupon {
    background: #fff;
    padding: 1.5rem;
    border-radius: var(--st-woo-radius);
    box-shadow: var(--st-woo-shadow);
    margin-bottom: 1.5rem;
}

html body.st-checkout-page .checkout_coupon p:first-child {
    margin-bottom: 1rem;
}

html body.st-checkout-page .checkout_coupon .form-row {
    display: flex;
    gap: 0.75rem;
    margin: 0;
}

html body.st-checkout-page .checkout_coupon .form-row input {
    flex: 1;
}

/* ============================================
   ORDER RECEIVED / THANK YOU PAGE
   ============================================ */
html body.st-order-received .st-woo-content::before {
    content: none;
}

html body.st-order-received .woocommerce-order {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

html body.st-order-received .woocommerce-thankyou-order-received {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--st-woo-success);
    margin-bottom: 2rem;
}

html body.st-order-received .woocommerce-thankyou-order-received::before {
    content: "✓";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: var(--st-woo-success-light);
    color: var(--st-woo-success);
    font-size: 2.5rem;
    border-radius: 50%;
    margin: 0 auto 1.5rem;
}

html body.st-order-received .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
    background: #fff;
    padding: 2rem;
    border-radius: var(--st-woo-radius-lg);
    box-shadow: var(--st-woo-shadow);
    margin-bottom: 2rem;
    list-style: none;
    text-align: center;
}

html body.st-order-received .woocommerce-order-overview li {
    padding: 1rem;
    border-right: 1px solid var(--st-woo-gray-100);
}

html body.st-order-received .woocommerce-order-overview li:last-child {
    border-right: none;
}

html body.st-order-received .woocommerce-order-details,
html body.st-order-received .woocommerce-customer-details {
    background: #fff;
    padding: 2rem;
    border-radius: var(--st-woo-radius-lg);
    box-shadow: var(--st-woo-shadow);
    margin-bottom: 2rem;
    text-align: left;
}

html body.st-order-received .woocommerce-order-details h2,
html body.st-order-received .woocommerce-customer-details h2 {
    font-size: 1.25rem;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--st-woo-gray-100);
}

/* ============================================
   CHECKOUT LAYOUT VARIATIONS
   4 Modern Checkout Layouts
   ============================================ */

/* ===========================================
   LAYOUT 1: MODERN SPLIT (Shopify Style)
   Left: White Form | Right: Gray Summary Sticky
   two-column
   =========================================== */
   
/* Container setup */
html body.st-checkout-page.st-checkout-layout-two-column .st-woo-main {
    background: #fff !important;
    padding: 0 !important;
}

html body.st-checkout-page.st-checkout-layout-two-column .st-woo-content {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

html body.st-checkout-page.st-checkout-layout-two-column .st-woo-content::before {
    display: none !important;
}

/* Coupon and notices - full width above the form */
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-form-coupon-toggle,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-notices-wrapper,
html body.st-checkout-page.st-checkout-layout-two-column .checkout_coupon {
    max-width: 900px !important;
    margin: 0 auto 20px auto !important;
}

/* Main checkout form - two column grid */
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout,
html body.st-checkout-page.st-checkout-layout-two-column form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 40px !important;
    align-items: start !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Customer details - left column */
html body.st-checkout-page.st-checkout-layout-two-column #customer_details {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
}

/* Remove the old breadcrumb pseudo element */
html body.st-checkout-page.st-checkout-layout-two-column #customer_details::before {
    display: none !important;
}

/* Billing/Shipping fields card styling */
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-billing-fields,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-shipping-fields,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-additional-fields {
    background: #fff !important;
    padding: 24px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
    border-radius: 12px !important;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    margin-bottom: 20px !important;
}

html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-billing-fields h3,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-shipping-fields h3,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-additional-fields h3 {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    margin: 0 0 20px 0 !important;
    padding: 0 0 16px 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    color: var(--st-woo-gray-900, #111827) !important;
}

html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-billing-fields h3::before,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-shipping-fields h3::before,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-additional-fields h3::before {
    display: none !important;
}

/* Form fields */
html body.st-checkout-page.st-checkout-layout-two-column .form-row input,
html body.st-checkout-page.st-checkout-layout-two-column .form-row select,
html body.st-checkout-page.st-checkout-layout-two-column .form-row textarea {
    background: var(--st-woo-gray-50, #f9fafb) !important;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s !important;
    font-size: 0.95rem !important;
}

html body.st-checkout-page.st-checkout-layout-two-column .form-row input:focus,
html body.st-checkout-page.st-checkout-layout-two-column .form-row select:focus,
html body.st-checkout-page.st-checkout-layout-two-column .form-row textarea:focus {
    border-color: var(--st-woo-primary, #0066CC) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1) !important;
    outline: none !important;
}

/* Order review heading - hidden but use ::before for title */
html body.st-checkout-page.st-checkout-layout-two-column #order_review_heading {
    display: none !important;
}

/* Order review - right column */
html body.st-checkout-page.st-checkout-layout-two-column #order_review {
    grid-column: 2 !important;
    grid-row: 1 !important;
    background: #fff !important;
    padding: 24px !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    position: sticky !important;
    top: 120px !important;
    height: fit-content !important;
}

/* Order Summary title */
html body.st-checkout-page.st-checkout-layout-two-column #order_review::before {
    content: var(--st-i18n-order-summary, "Order Summary") !important;
    display: block !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    color: var(--st-woo-gray-900, #111827) !important;
}

/* Order review table */
html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table {
    background: transparent !important;
    box-shadow: none !important;
    margin-bottom: 16px !important;
    border: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    width: 100% !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table thead {
    display: none !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tbody tr {
    display: table-row !important;
    background: transparent !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tbody td {
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--st-woo-gray-100, #f3f4f6) !important;
    background: transparent !important;
    vertical-align: middle !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tbody tr:last-child td {
    border-bottom: none !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table .product-name {
    font-weight: 500 !important;
    font-size: 0.9rem !important;
    color: var(--st-woo-gray-700, #374151) !important;
    padding-right: 10px !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table .product-total {
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    color: var(--st-woo-gray-900, #111827) !important;
    text-align: right !important;
    white-space: nowrap !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tfoot tr {
    display: table-row !important;
    background: transparent !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tfoot th,
html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tfoot td {
    padding: 8px 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 0.9rem !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tfoot .cart-subtotal th,
html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tfoot .cart-subtotal td {
    padding-top: 12px !important;
    border-top: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tfoot .order-total th,
html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tfoot .order-total td {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    padding-top: 10px !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table tfoot .order-total td {
    color: var(--st-woo-primary, #0066CC) !important;
    text-align: right !important;
}

/* Payment methods */
html body.st-checkout-page.st-checkout-layout-two-column #order_review .woocommerce-checkout-payment {
    background: transparent !important;
    padding: 0 !important;
    margin-top: 20px !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review .payment_methods {
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: var(--st-woo-gray-50, #f9fafb) !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review .payment_methods li {
    padding: 14px !important;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review .payment_methods li:last-child {
    border-bottom: none !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review .payment_box {
    padding: 16px !important;
    background: var(--st-woo-gray-50, #f9fafb) !important;
    border-top: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    margin: 0 !important;
    font-size: 0.85rem !important;
    color: var(--st-woo-gray-600, #4b5563) !important;
}

/* Place order button */
html body.st-checkout-page.st-checkout-layout-two-column #order_review #place_order {
    background: var(--st-woo-primary, #0066CC) !important;
    color: #fff !important;
    padding: 14px 24px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    width: 100% !important;
    margin-top: 20px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.2s !important;
}

html body.st-checkout-page.st-checkout-layout-two-column #order_review #place_order:hover {
    background: var(--st-woo-primary-dark, #0052a3) !important;
    transform: translateY(-1px) !important;
}

/* Mobile responsive */
@media (max-width: 900px) {
    html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout,
    html body.st-checkout-page.st-checkout-layout-two-column form.checkout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-two-column #order_review {
        grid-column: 1 !important;
        grid-row: auto !important;
        position: relative !important;
        top: 0 !important;
        max-height: none !important;
        order: -1 !important;
    }
}

/* ===========================================
   LAYOUT 2: ACCORDION STEPS (Classic WooCommerce)
   Stacked vertical sections with step numbers
   multi-step
   =========================================== */
   
/* Container setup */
html body.st-checkout-page.st-checkout-layout-multi-step .st-woo-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Coupon and notices - full width above the form */
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-form-coupon-toggle,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-notices-wrapper,
html body.st-checkout-page.st-checkout-layout-multi-step .checkout_coupon {
    max-width: 100% !important;
    margin-bottom: 20px !important;
}

/* Main checkout form - two column grid */
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout,
html body.st-checkout-page.st-checkout-layout-multi-step form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 350px !important;
    gap: 30px !important;
    align-items: start !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout::before {
    display: none !important;
}

/* Customer details - left column */
html body.st-checkout-page.st-checkout-layout-multi-step #customer_details {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
}

/* Billing/Shipping/Additional fields - card styling */
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-billing-fields,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-shipping-fields,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-additional-fields {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    overflow: hidden !important;
    margin: 0 !important;
    position: relative !important;
}

/* Section headers with step numbers */
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-billing-fields h3,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-shipping-fields h3,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-additional-fields h3 {
    background: var(--st-woo-gray-50, #f9fafb) !important;
    padding: 16px 20px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: var(--st-woo-gray-900, #111827) !important;
}

/* Step number circles */
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-billing-fields h3::before,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-shipping-fields h3::before,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-additional-fields h3::before {
    position: static !important;
    transform: none !important;
    width: 26px !important;
    height: 26px !important;
    font-size: 0.8rem !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--st-woo-primary, #0066CC) !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-weight: 600 !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-billing-fields h3::before {
    content: "1" !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-shipping-fields > h3::before {
    content: "2" !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-additional-fields h3::before {
    content: "3" !important;
}

/* Form field wrappers */
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-billing-fields__field-wrapper,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-shipping-fields__field-wrapper,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-additional-fields__field-wrapper {
    padding: 24px !important;
}

/* Order review heading - hidden */
html body.st-checkout-page.st-checkout-layout-multi-step #order_review_heading {
    display: none !important;
}

/* Order review - right column */
html body.st-checkout-page.st-checkout-layout-multi-step #order_review {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    background: #fff !important;
    padding: 24px !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    position: sticky !important;
    top: 120px !important;
    height: fit-content !important;
}

/* Order Summary title */
html body.st-checkout-page.st-checkout-layout-multi-step #order_review::before {
    content: var(--st-i18n-order-summary, "Order Summary") !important;
    display: block !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    position: static !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    color: var(--st-woo-gray-900, #111827) !important;
    border-radius: 0 !important;
}

/* Order review table */
html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    margin: 0 !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table thead {
    display: none !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table td,
html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table th {
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--st-woo-gray-100, #f3f4f6) !important;
    background: transparent !important;
    font-size: 0.9rem !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table .product-name {
    color: var(--st-woo-gray-700, #374151) !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table .product-total {
    text-align: right !important;
    font-weight: 600 !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table tfoot tr th,
html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table tfoot tr td {
    border-bottom: none !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table .order-total td,
html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table .order-total th {
    padding-top: 16px !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    border-top: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review table.shop_table .order-total td {
    color: var(--st-woo-primary, #0066CC) !important;
}

/* Payment methods */
html body.st-checkout-page.st-checkout-layout-multi-step #order_review .woocommerce-checkout-payment {
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review .payment_methods {
    background: var(--st-woo-gray-50, #f9fafb) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review .payment_methods li {
    padding: 12px 14px !important;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    background: #fff !important;
    margin: 0 !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review .payment_methods li:last-child {
    border-bottom: none !important;
}

/* Place order button */
html body.st-checkout-page.st-checkout-layout-multi-step #order_review #place_order {
    background: var(--st-woo-primary, #0066CC) !important;
    color: #fff !important;
    width: 100% !important;
    padding: 14px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    margin-top: 20px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.2s !important;
}

html body.st-checkout-page.st-checkout-layout-multi-step #order_review #place_order:hover {
    background: var(--st-woo-primary-dark, #0052a3) !important;
    transform: translateY(-1px) !important;
}

/* Trust badges under button */
html body.st-checkout-page.st-checkout-layout-multi-step #order_review .woocommerce-checkout-payment::after {
    content: "🔒 Secure Checkout   💳 Safe Payment   🚚 Fast Delivery" !important;
    display: block !important;
    text-align: center !important;
    font-size: 0.75rem !important;
    color: var(--st-woo-gray-500, #6b7280) !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--st-woo-gray-100, #f3f4f6) !important;
}

/* Mobile responsive */
@media (max-width: 900px) {
    html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout,
    html body.st-checkout-page.st-checkout-layout-multi-step form.checkout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-multi-step #order_review {
        grid-column: 1 !important;
        grid-row: auto !important;
        position: relative !important;
        top: 0 !important;
        order: -1 !important;
    }
}

/* ===========================================
   LAYOUT 3: MINIMAL FOCUS (Single Column)
   Single narrow column, clean centered look
   one-column
   =========================================== */
html body.st-checkout-page.st-checkout-layout-one-column .st-woo-content::before {
    content: var(--st-i18n-secure-checkout, "Secure Checkout") !important;
    display: block !important;
    text-align: center !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 30px !important;
}

html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout,
html body.st-checkout-page.st-checkout-layout-one-column form.checkout {
    display: block !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    background: #fff !important;
    padding: 40px !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05) !important;
}

html body.st-checkout-page.st-checkout-layout-one-column #order_review_heading {
    display: none !important;
}

/* Total bar at top */
html body.st-checkout-page.st-checkout-layout-one-column form.checkout::before {
    content: "" !important;
    display: block !important;
    background: #f0fdf4 !important;
    padding: 15px !important;
    border-radius: 8px !important;
    margin-bottom: 30px !important;
    border: 1px solid #dcfce7 !important;
}

html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-billing-fields,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-shipping-fields,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-additional-fields {
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
}

html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-billing-fields h3,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-shipping-fields h3,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-additional-fields h3 {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    margin: 30px 0 15px !important;
    padding: 0 !important;
    border: none !important;
}

html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-billing-fields h3::before,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-shipping-fields h3::before,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-additional-fields h3::before {
    display: none !important;
}

html body.st-checkout-page.st-checkout-layout-one-column #customer_details,
html body.st-checkout-page.st-checkout-layout-one-column #order_review {
    width: 100% !important;
    max-width: 100% !important;
}

html body.st-checkout-page.st-checkout-layout-one-column #order_review {
    margin-top: 30px !important;
    padding-top: 30px !important;
    border-top: 1px solid var(--st-woo-gray-200) !important;
}

html body.st-checkout-page.st-checkout-layout-one-column #order_review table.shop_table {
    background: transparent !important;
    box-shadow: none !important;
}

html body.st-checkout-page.st-checkout-layout-one-column #order_review .woocommerce-checkout-payment {
    background: transparent !important;
    padding: 0 !important;
}

html body.st-checkout-page.st-checkout-layout-one-column #order_review #place_order {
    background: #000 !important;
    color: #fff !important;
    width: 100% !important;
    padding: 14px !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    margin-top: 30px !important;
}

html body.st-checkout-page.st-checkout-layout-one-column #order_review #place_order::after {
    content: " 🔒" !important;
}

/* ===========================================
   LAYOUT 4: ENTERPRISE GRID (Amazon Style)
   3 Column Grid layout for high information density
   modern
   =========================================== */
html body.st-checkout-page.st-checkout-layout-modern .st-woo-content::before {
    display: none !important;
}

/* The checkout form is the grid container - coupon forms are outside it */
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout,
html body.st-checkout-page.st-checkout-layout-modern form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 30px !important;
    align-items: start !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Customer Details - Left Column */
html body.st-checkout-page.st-checkout-layout-modern #customer_details {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
}

/* Order Review Heading - Hidden */
html body.st-checkout-page.st-checkout-layout-modern #order_review_heading {
    display: none !important;
}

/* Order Review - Right Column */
html body.st-checkout-page.st-checkout-layout-modern #order_review {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    background: #fff !important;
    padding: 28px !important;
    border-radius: 16px !important;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
    position: sticky !important;
    top: 100px !important;
    height: fit-content !important;
}

html body.st-checkout-page.st-checkout-layout-modern .woocommerce-billing-fields,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-shipping-fields,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-additional-fields {
    background: #fff !important;
    padding: 28px !important;
    border-radius: 16px !important;
    border: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
    margin-bottom: 24px !important;
}

html body.st-checkout-page.st-checkout-layout-modern .woocommerce-billing-fields h3,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-shipping-fields h3,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-additional-fields h3 {
    display: block !important;
    margin: 0 0 20px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: #111827 !important;
}

html body.st-checkout-page.st-checkout-layout-modern .woocommerce-billing-fields h3::before,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-shipping-fields h3::before,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-additional-fields h3::before {
    display: none !important;
}

html body.st-checkout-page.st-checkout-layout-modern .woocommerce-billing-fields h3::after,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-shipping-fields h3::after {
    display: none !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review::before {
    content: var(--st-i18n-order-summary, "Order Summary") !important;
    display: block !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: #111827 !important;
    margin-bottom: 20px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb) !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    width: 100% !important;
    margin: 0 0 20px 0 !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table::before {
    display: none !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table thead {
    display: none !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table tbody tr {
    display: table-row !important;
    background: transparent !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table tbody td {
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid #f3f4f6 !important;
    background: transparent !important;
    font-size: 0.95rem !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table .product-name {
    color: #374151 !important;
    font-weight: 500 !important;
    font-size: 0.95rem !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table .product-total {
    text-align: right !important;
    font-weight: 600 !important;
    color: #111827 !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table tfoot td,
html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table tfoot th {
    padding: 10px 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 0.95rem !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table tfoot .cart-subtotal td,
html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table tfoot .cart-subtotal th {
    padding-top: 14px !important;
    border-top: 1px solid #e5e7eb !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table tfoot .order-total td,
html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table tfoot .order-total th {
    padding-top: 12px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review table.shop_table tfoot .order-total td {
    color: var(--st-woo-primary, #0066CC) !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review .woocommerce-checkout-payment {
    background: transparent !important;
    padding: 0 !important;
    margin-top: 20px !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review .woocommerce-checkout-payment::before {
    display: none !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review .payment_methods {
    display: block !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review .payment_methods li {
    padding: 14px !important;
    border-bottom: 1px solid #e5e7eb !important;
    margin: 0 !important;
    background: #fff !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review .payment_methods li:last-child {
    border-bottom: none !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review .woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 16px !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review .woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper label {
    color: #6b7280 !important;
    font-size: 0.875rem !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review #place_order {
    width: 100% !important;
    background: var(--st-woo-primary, #0066CC) !important;
    color: #fff !important;
    padding: 16px 24px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    border: none !important;
    cursor: pointer !important;
    margin-top: 16px !important;
}

html body.st-checkout-page.st-checkout-layout-modern #order_review #place_order:hover {
    background: var(--st-woo-primary-dark, #0052a3) !important;
}

/* Modern Card - Mobile Responsive */
@media (max-width: 900px) {
    html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout,
    html body.st-checkout-page.st-checkout-layout-modern form.checkout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-modern #customer_details {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-modern #order_review {
        grid-column: 1 !important;
        grid-row: auto !important;
        position: relative !important;
        top: 0 !important;
        order: -1 !important;
    }
}

/* ============================================
   MY ACCOUNT PAGE - MODERN LAYOUT
   ============================================ */
html body.st-account-page .st-woo-main {
    background: var(--st-woo-gray-50);
    min-height: 70vh;
}

html body.st-account-page .st-woo-content::before {
    content: var(--st-i18n-account-title, "My Account");
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: var(--st-woo-gray-900);
    margin-bottom: 2rem;
    letter-spacing: -0.02em;
}

/* Account Wrapper */
html body.st-account-page .woocommerce-MyAccount-navigation,
html body.st-account-page .woocommerce-MyAccount-content {
    background: #fff;
    border-radius: var(--st-woo-radius-lg);
    box-shadow: var(--st-woo-shadow);
}

/* Default Layout - Horizontal Navigation */
html body.st-account-page.st-account-layout-default .st-woo-content > .woocommerce,
html body.st-account-page.st-account-layout-default .woocommerce {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
}

html body.st-account-page.st-account-layout-default .woocommerce-MyAccount-navigation {
    padding: 0 !important;
    overflow: hidden !important;
}

html body.st-account-page.st-account-layout-default .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: none !important;
}

html body.st-account-page.st-account-layout-default .woocommerce-MyAccount-navigation ul li {
    flex: 1 !important;
    min-width: 120px !important;
    border-right: 1px solid var(--st-woo-gray-100) !important;
}

html body.st-account-page.st-account-layout-default .woocommerce-MyAccount-navigation ul li:last-child {
    border-right: none !important;
}

html body.st-account-page.st-account-layout-default .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1.25rem 1rem;
    color: var(--st-woo-gray-600);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.875rem;
    transition: all var(--st-woo-transition);
    text-align: center;
    border-bottom: 3px solid transparent;
}

html body.st-account-page.st-account-layout-default .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--st-woo-gray-50);
    color: var(--st-woo-primary);
}

html body.st-account-page.st-account-layout-default .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--st-woo-primary);
    background: var(--st-woo-primary-light);
    border-bottom-color: var(--st-woo-primary);
}

/* Navigation Icons */
html body.st-account-page .woocommerce-MyAccount-navigation ul li a::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.6;
}

html body.st-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z'/%3E%3C/svg%3E");
}

html body.st-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z'/%3E%3C/svg%3E");
}

html body.st-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4'/%3E%3C/svg%3E");
}

html body.st-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 11a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E");
}

html body.st-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E");
}

html body.st-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1'/%3E%3C/svg%3E");
}

html body.st-account-page .woocommerce-MyAccount-navigation ul li.is-active a::before {
    opacity: 1;
}

/* Account Content */
html body.st-account-page .woocommerce-MyAccount-content {
    padding: 2rem;
}

html body.st-account-page .woocommerce-MyAccount-content > p:first-child {
    font-size: 1.125rem;
    color: var(--st-woo-gray-600);
    line-height: 1.6;
}

html body.st-account-page .woocommerce-MyAccount-content > p:first-child strong {
    color: var(--st-woo-primary);
}

/* Dashboard Cards */
html body.st-account-page .woocommerce-MyAccount-content .woocommerce-account-dashboard {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

/* Orders Table */
html body.st-account-page .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
}

html body.st-account-page .woocommerce-orders-table th {
    padding: 1rem;
    background: var(--st-woo-gray-50);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--st-woo-gray-500);
    text-align: left;
}

html body.st-account-page .woocommerce-orders-table td {
    padding: 1.25rem 1rem;
    border-bottom: 1px solid var(--st-woo-gray-100);
    vertical-align: middle;
}

html body.st-account-page .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
    font-weight: 700;
    color: var(--st-woo-primary);
}

html body.st-account-page .woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
    font-weight: 600;
}

html body.st-account-page .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem 1rem;
    background: var(--st-woo-gray-100);
    color: var(--st-woo-gray-700);
    border-radius: var(--st-woo-radius-sm);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: all var(--st-woo-transition);
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

html body.st-account-page .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:hover {
    background: var(--st-woo-primary);
    color: #fff;
}

/* No Orders Message */
html body.st-account-page .woocommerce-Message--info {
    text-align: center;
    padding: 3rem 2rem;
    background: var(--st-woo-gray-50);
    border-radius: var(--st-woo-radius);
}

html body.st-account-page .woocommerce-Message--info::before {
    content: "📦";
    display: block;
    font-size: 3rem;
    margin-bottom: 1rem;
}

html body.st-account-page .woocommerce-Message--info .button {
    margin-top: 1rem;
}

/* Addresses */
html body.st-account-page .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

html body.st-account-page .woocommerce-Address {
    background: var(--st-woo-gray-50);
    padding: 1.5rem;
    border-radius: var(--st-woo-radius);
}

html body.st-account-page .woocommerce-Address header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--st-woo-gray-200);
}

html body.st-account-page .woocommerce-Address header h3 {
    font-size: 1rem;
    margin: 0;
}

html body.st-account-page .woocommerce-Address header a {
    font-size: 0.875rem;
    font-weight: 500;
}

html body.st-account-page .woocommerce-Address address {
    font-style: normal;
    line-height: 1.6;
    color: var(--st-woo-gray-600);
}

/* Account Forms */
html body.st-account-page .woocommerce-EditAccountForm,
html body.st-account-page .woocommerce-address-fields {
    max-width: 600px;
}

html body.st-account-page .woocommerce-EditAccountForm fieldset {
    margin-top: 2rem;
    padding: 2rem;
    background: var(--st-woo-gray-50);
    border: none;
    border-radius: var(--st-woo-radius);
}

html body.st-account-page .woocommerce-EditAccountForm fieldset legend {
    font-weight: 700;
    padding: 0 0.5rem;
    margin-left: -0.5rem;
}

/* Sidebar Layout */
html body.st-account-page.st-account-layout-sidebar .st-woo-content > .woocommerce,
html body.st-account-page.st-account-layout-sidebar .woocommerce {
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    gap: 2rem !important;
    align-items: start !important;
    flex-direction: row !important;
}

html body.st-account-page.st-account-layout-sidebar .woocommerce-MyAccount-navigation {
    padding: 1.5rem !important;
    position: sticky !important;
    top: 100px !important;
}

html body.st-account-page.st-account-layout-sidebar .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.25rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

html body.st-account-page.st-account-layout-sidebar .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    color: var(--st-woo-gray-600);
    text-decoration: none;
    font-weight: 500;
    border-radius: var(--st-woo-radius-sm);
    transition: all var(--st-woo-transition);
}

html body.st-account-page.st-account-layout-sidebar .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--st-woo-gray-50);
    color: var(--st-woo-primary);
}

html body.st-account-page.st-account-layout-sidebar .woocommerce-MyAccount-navigation ul li.is-active a {
    background: var(--st-woo-primary-light);
    color: var(--st-woo-primary);
    font-weight: 600;
}

/* Modern Layout - Card Grid */
html body.st-account-page.st-account-layout-modern .st-woo-content > .woocommerce,
html body.st-account-page.st-account-layout-modern .woocommerce {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
}

html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation {
    padding: 0 !important;
    background: transparent;
    box-shadow: none;
}

html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    gap: 1rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    background: #fff;
    color: var(--st-woo-gray-700);
    text-decoration: none;
    font-weight: 600;
    border-radius: var(--st-woo-radius);
    box-shadow: var(--st-woo-shadow-sm);
    border: 2px solid transparent;
    transition: all var(--st-woo-transition);
}

html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation ul li a:hover {
    border-color: var(--st-woo-primary);
    transform: translateY(-2px);
    box-shadow: var(--st-woo-shadow);
}

html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation ul li.is-active a {
    background: linear-gradient(135deg, var(--st-woo-primary), var(--st-woo-primary-hover));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(var(--st-woo-primary-rgb), 0.3);
}

html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation ul li.is-active a::before {
    filter: brightness(0) invert(1);
    opacity: 1;
}

/* Dashboard Layout - Icon Cards */
html body.st-account-page.st-account-layout-dashboard .st-woo-content > .woocommerce,
html body.st-account-page.st-account-layout-dashboard .woocommerce {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
}

html body.st-account-page.st-account-layout-dashboard .woocommerce-MyAccount-navigation ul {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 1rem !important;
}

html body.st-account-page.st-account-layout-dashboard .woocommerce-MyAccount-navigation ul li a {
    flex-direction: column;
    text-align: center;
    padding: 1.5rem 1rem;
    min-height: 100px;
    justify-content: center;
    background: var(--st-woo-gray-50);
}

html body.st-account-page.st-account-layout-dashboard .woocommerce-MyAccount-navigation ul li a::before {
    width: 32px;
    height: 32px;
}

/* ============================================
   LOGIN / REGISTER FORMS
   ============================================ */
html body.st-account-page .u-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

html body.st-account-page .u-column1,
html body.st-account-page .u-column2 {
    background: #fff;
    padding: 2rem;
    border-radius: var(--st-woo-radius-lg);
    box-shadow: var(--st-woo-shadow);
}

html body.st-account-page .u-column1 h2,
html body.st-account-page .u-column2 h2 {
    font-size: 1.5rem;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--st-woo-gray-100);
}

/* Login form fields, the remember-me row, the button and the lost-password link are
   styled in LOGIN / REGISTER (1.0.21) below. */


/* ============================================
   RESPONSIVE STYLES
   ============================================ */

@media (max-width: 1200px) {
    /* Shop grid columns: see SHOP COLUMNS above (driven by --st-shop-cols). */
    
    /* Related / upsell columns: see RELATED PRODUCTS COLUMNS at the end of the file. */
}

/* Medium screens - 992px */
@media (max-width: 992px) {
    body.st-single-product div.product {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
    }
    
    body.st-single-product div.product > .st-gallery-wrapper,
    body.st-single-product div.product > .woocommerce-product-gallery {
        margin-bottom: 2rem;
        width: 100% !important;
        max-width: 100% !important;
        order: 1 !important;
    }
    
    body.st-single-product div.product > .summary {
        text-align: left !important;
        width: 100% !important;
        order: 2 !important;
    }
    
    /* Gallery left badge position reset */
    body.st-single-product.st-product-layout-gallery-left div.product .st-gallery-wrapper .st-product-badges {
        left: 12px !important;
    }
    
    /* Gallery left and vertical - reset to normal layout on tablet */
    body.st-single-product.st-product-layout-gallery-left div.product .woocommerce-product-gallery,
    body.st-single-product.st-product-gallery-vertical div.product .woocommerce-product-gallery {
        padding-left: 0 !important;
    }
    
    /* Thumbnails horizontal below image */
    body.st-single-product.st-product-layout-gallery-left div.product .woocommerce-product-gallery .flex-control-thumbs,
    body.st-single-product.st-product-gallery-vertical div.product .woocommerce-product-gallery .flex-control-thumbs {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        flex-direction: row !important;
        margin-top: 1rem !important;
        flex-wrap: wrap !important;
    }
    
    body.st-single-product.st-product-layout-gallery-left div.product .woocommerce-product-gallery .flex-control-thumbs li,
    body.st-single-product.st-product-gallery-vertical div.product .woocommerce-product-gallery .flex-control-thumbs li {
        width: 80px !important;
        height: 80px !important;
        flex: 0 0 80px !important;
    }
    
    body.st-single-product.st-product-layout-full-width div.product {
        max-width: 100%;
    }
    
    body.st-single-product.st-product-layout-full-width div.product > .st-gallery-wrapper,
    body.st-single-product.st-product-layout-full-width div.product > .woocommerce-product-gallery {
        max-width: 100%;
    }
    
    body.st-single-product.st-product-layout-full-width div.product > .summary {
        text-align: left !important;
        max-width: 100% !important;
    }
    
    body.st-single-product.st-product-layout-full-width div.product > .summary .woocommerce-product-rating,
    body.st-single-product.st-product-layout-full-width div.product > .summary .price,
    body.st-single-product.st-product-layout-full-width div.product form.cart {
        justify-content: flex-start !important;
    }
    
    /* Tabs vertical go horizontal */
    body.st-single-product.st-product-tabs-vertical .woocommerce-tabs {
        display: block !important;
    }
    
    body.st-single-product.st-product-tabs-vertical .woocommerce-tabs ul.tabs {
        flex-direction: row !important;
        border-right: none !important;
        border-bottom: 2px solid var(--st-woo-gray-200) !important;
        padding-right: 0;
    }
    
    body.st-single-product.st-product-tabs-vertical .woocommerce-tabs ul.tabs li a {
        border-right: none !important;
        border-bottom: 3px solid transparent !important;
        margin-right: 0;
        margin-bottom: -2px;
    }
    
    body.st-single-product.st-product-tabs-vertical .woocommerce-tabs ul.tabs li.active a {
        border-right-color: transparent !important;
        border-bottom-color: var(--st-woo-primary) !important;
    }
    
    /* Cart Layout Responsive */
    /* Modern Split - go single column */
    html body.st-cart-page.st-cart-layout-modern .st-woo-content > .woocommerce,
    html body.st-cart-page.st-cart-layout-modern .woocommerce {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
    
    html body.st-cart-page.st-cart-layout-modern .cart-collaterals {
        position: static !important;
    }
    
    /* Split/Grid Cards - single column on mobile */
    html body.st-cart-page.st-cart-layout-split table.shop_table tbody {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    /* Checkout Layout 1: Modern Split - Stack columns */
    html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout,
    html body.st-checkout-page.st-checkout-layout-two-column form.checkout {
        grid-template-columns: 1fr !important;
        display: flex !important;
        flex-direction: column-reverse !important;
        min-height: auto !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-two-column #customer_details {
        border-right: none !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-two-column #order_review {
        border-bottom: 1px solid var(--st-woo-gray-200) !important;
        position: static !important;
        max-height: none !important;
    }
    
    /* Checkout Layout 2: Accordion Steps - Stack columns */
    html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout,
    html body.st-checkout-page.st-checkout-layout-multi-step form.checkout {
        grid-template-columns: 1fr !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-multi-step #order_review {
        position: static !important;
    }
    
    /* Checkout Layout 4: Enterprise Grid - reduce to 2 columns */
    html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout,
    html body.st-checkout-page.st-checkout-layout-modern form.checkout {
        grid-template-columns: 1fr 1fr !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-modern .woocommerce-additional-fields {
        grid-column: 1 / -1 !important;
    }
    
    html body.st-checkout-page.st-checkout-payment-cards #payment .payment_methods {
        grid-template-columns: 1fr !important;
    }
    
    /* Account - Sidebar layout goes horizontal */
    html body.st-account-page.st-account-layout-sidebar .st-woo-content > .woocommerce {
        flex-direction: column !important;
    }
    
    html body.st-account-page.st-account-layout-sidebar .woocommerce-MyAccount-navigation {
        width: 100% !important;
        margin-bottom: 2rem !important;
    }
    
    html body.st-account-page.st-account-layout-sidebar .woocommerce-MyAccount-navigation ul {
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }
    
    /* Account - Dashboard layout reduce columns */
    html body.st-account-page.st-account-layout-dashboard .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    
    /* Account - Modern layout reduce columns */
    html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    /* Cart Layout */
    html body.st-cart-page .st-woo-content > .woocommerce {
        grid-template-columns: 1fr;
    }
    
    html body.st-cart-page .cart-collaterals {
        position: static;
    }
    
    /* Checkout Layout */
    html body.st-checkout-page form.checkout,
    html body.st-checkout-page form.checkout.woocommerce-checkout {
        grid-template-columns: 1fr;
    }
    
    html body.st-checkout-page #order_review {
        position: static;
    }
    
    /* Account Sidebar Layout */
    html body.st-account-page.st-account-layout-sidebar .st-woo-content > .woocommerce {
        grid-template-columns: 1fr;
    }
    
    html body.st-account-page.st-account-layout-sidebar .woocommerce-MyAccount-navigation {
        position: static;
    }
    
    html body.st-account-page.st-account-layout-sidebar .woocommerce-MyAccount-navigation ul {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

/* Shop Toolbar Responsive - Tablets */
@media (max-width: 992px) {
    body.st-shop .st-shop-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
    
    body.st-shop .st-shop-toolbar-left,
    body.st-shop .st-shop-toolbar-right {
        justify-content: center;
    }
}

/* Shop Toolbar Responsive - Mobile */
@media (max-width: 576px) {
    body.st-shop .st-shop-toolbar {
        padding: 0.875rem 1rem;
    }
    
    body.st-shop .st-shop-toolbar-left {
        flex-direction: column;
        align-items: stretch;
        gap: 0.625rem;
        width: 100%;
    }
    
    body.st-shop .st-shop-category-filter select,
    body.st-shop .st-shop-ordering select {
        width: 100%;
        min-width: unset;
    }
    
    body.st-shop .st-shop-result-count {
        text-align: center;
    }
}

/* Tablets - 768px */
@media (max-width: 768px) {
    /* Columns come from --st-shop-cols (see SHOP COLUMNS); only the gap is set here. */
    body.st-shop.st-shop-layout-grid-default ul.products,
    body.st-shop.st-shop-layout-grid-modern ul.products {
        gap: 1rem !important;
    }
    
    body.st-shop.st-shop-layout-grid-masonry ul.products {
        column-gap: 1rem;
    }
    
    /* List view becomes stacked */
    body.st-shop.st-shop-layout-list ul.products li.product {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto;
    }
    
    body.st-shop.st-shop-layout-list ul.products li.product > a:first-of-type {
        grid-column: 1;
        grid-row: 1;
        margin-right: 0;
        margin-bottom: 1rem;
    }
    
    body.st-shop.st-shop-layout-list ul.products li.product > a:first-of-type img {
        width: 100% !important;
    }
    
    body.st-shop.st-shop-layout-list ul.products li.product .st-product-cat,
    body.st-shop.st-shop-layout-list ul.products li.product .woocommerce-loop-product__title,
    body.st-shop.st-shop-layout-list ul.products li.product .star-rating,
    body.st-shop.st-shop-layout-list ul.products li.product .price {
        grid-column: 1;
    }
    
    body.st-shop.st-shop-layout-list ul.products li.product .button {
        grid-column: 1;
        grid-row: auto;
        width: 100%;
        margin-top: 1rem !important;
    }
    
    /* Related products */
    /* Related / upsell columns: see RELATED PRODUCTS COLUMNS at the end of the file. */
    
    /* Single product */
    body.st-single-product div.product {
        padding: 1.5rem;
    }
    
    body.st-single-product div.product .product_title {
        font-size: 1.5rem;
    }
    
    body.st-single-product div.product .price {
        font-size: 1.5rem;
    }
    
    body.st-single-product .woocommerce-tabs,
    body.st-single-product .related.products,
    body.st-single-product .upsells.products {
        padding: 1.5rem;
    }
    
    /* Full width layout adjustments */
    body.st-single-product.st-product-layout-full-width div.product .summary {
        text-align: left !important;
    }
    
    body.st-single-product.st-product-layout-full-width div.product .summary .woocommerce-product-rating {
        justify-content: flex-start;
    }
    
    body.st-single-product.st-product-layout-full-width div.product .summary .price {
        justify-content: flex-start;
    }
    
    body.st-single-product.st-product-layout-full-width div.product form.cart {
        justify-content: flex-start;
    }
    
    /* Shop header */
    body.st-shop .woocommerce-result-count {
        position: static;
    }
    
    body.st-shop .woocommerce-ordering {
        position: static;
        margin-bottom: 1rem !important;
    }
    
    body.st-shop ul.products {
        margin-top: 0 !important;
    }
    
    /* Cart */
    html body.st-cart-page .coupon {
        flex-direction: column;
        width: 100%;
    }
    
    html body.st-cart-page button[name="update_cart"] {
        float: none;
        width: 100%;
        margin-top: 1rem;
    }
    
    /* Account */
    html body.st-account-page.st-account-layout-dashboard .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr !important;
    }
    
    html body.st-account-page .st-woo-content > .woocommerce {
        padding: 1.5rem !important;
    }
    
    html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-content {
        padding: 1.5rem !important;
    }
    
    /* Cart Layout 1: Classic Table - Mobile */
    html body.st-cart-page.st-cart-layout-default .cart_totals {
        width: 100% !important;
    }
    
    html body.st-cart-page.st-cart-layout-default .cart-collaterals {
        justify-content: stretch !important;
    }
    
    /* Cart Layout 2: Modern Split - Mobile cards */
    html body.st-cart-page.st-cart-layout-modern table.shop_table tbody tr {
        flex-wrap: wrap !important;
        padding: 15px !important;
    }
    
    html body.st-cart-page.st-cart-layout-modern table.shop_table .product-thumbnail {
        flex: 0 0 80px !important;
    }
    
    html body.st-cart-page.st-cart-layout-modern table.shop_table .product-thumbnail img {
        width: 80px !important;
        height: 80px !important;
    }
    
    html body.st-cart-page.st-cart-layout-modern table.shop_table .product-name {
        flex: 1 1 calc(100% - 100px) !important;
    }
    
    html body.st-cart-page.st-cart-layout-modern table.shop_table .product-subtotal {
        flex: 0 0 100% !important;
        text-align: left !important;
        padding-top: 10px !important;
    }
    
    /* Cart Layout 4: Grid Cards - Single column on small tablets */
    html body.st-cart-page.st-cart-layout-split table.shop_table tbody {
        grid-template-columns: 1fr !important;
    }
    
    html body.st-cart-page.st-cart-layout-split .cart_totals table {
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    html body.st-cart-page.st-cart-layout-split .cart_totals table tbody {
        flex-direction: column !important;
    }
    
    html body.st-cart-page.st-cart-layout-split .wc-proceed-to-checkout .checkout-button {
        padding: 10px 20px !important;
    }
    
    /* Generic cart table mobile - only for default */
    html body.st-cart-page.st-cart-layout-default table.shop_table thead {
        display: none;
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table tbody tr {
        display: grid;
        grid-template-columns: 80px 1fr auto;
        grid-template-rows: auto auto;
        gap: 1rem;
        padding: 1.5rem;
        border-bottom: 1px solid var(--st-woo-gray-100);
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table tbody tr:last-child {
        border-bottom: none;
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table td {
        padding: 0;
        border: none !important;
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table .product-thumbnail {
        grid-row: span 2;
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table .product-thumbnail img {
        width: 80px !important;
        height: 80px !important;
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table .product-name {
        grid-column: 2 / 4;
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table .product-price {
        display: none;
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table .product-quantity {
        grid-column: 2;
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table .product-subtotal {
        grid-column: 3;
        text-align: right;
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table .product-remove {
        position: absolute;
        top: 1rem;
        right: 1rem;
    }
    
    html body.st-cart-page.st-cart-layout-default table.shop_table td.actions {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    
    html body.st-cart-page .coupon {
        flex-direction: column;
        width: 100%;
    }
    
    html body.st-cart-page .coupon input[type="text"] {
        max-width: 100%;
        width: 100%;
    }
    
    html body.st-cart-page .coupon button {
        width: 100%;
    }
    
    html body.st-cart-page button[name="update_cart"] {
        float: none;
        width: 100%;
    }
    
    /* Cross-sells */
    html body.st-cart-page .cross-sells ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Checkout Forms */
    html body.st-checkout-page .woocommerce-checkout .form-row-first,
    html body.st-checkout-page .woocommerce-checkout .form-row-last {
        width: 100%;
        float: none;
    }
    
    /* Checkout Layout 1: Modern Split - Full mobile */
    html body.st-checkout-page.st-checkout-layout-two-column #customer_details,
    html body.st-checkout-page.st-checkout-layout-two-column #order_review {
        padding: 30px 20px !important;
    }
    
    /* Checkout Layout 2: Accordion Steps - Full mobile */
    html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-billing-fields__field-wrapper,
    html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-shipping-fields__field-wrapper,
    html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-additional-fields__field-wrapper {
        padding: 20px !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-multi-step #order_review {
        padding: 20px !important;
    }
    
    /* Checkout Layout 3: Minimal Focus - Mobile padding */
    html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout,
    html body.st-checkout-page.st-checkout-layout-one-column form.checkout {
        padding: 25px !important;
        border-radius: 12px !important;
    }
    
    /* Checkout Layout 4: Enterprise Grid - Single column */
    html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout,
    html body.st-checkout-page.st-checkout-layout-modern form.checkout {
        grid-template-columns: 1fr !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-modern .woocommerce-billing-fields,
    html body.st-checkout-page.st-checkout-layout-modern .woocommerce-shipping-fields,
    html body.st-checkout-page.st-checkout-layout-modern .woocommerce-additional-fields {
        grid-column: 1 !important;
    }
    
    html body.st-checkout-page.st-checkout-layout-modern #order_review .woocommerce-checkout-payment {
        flex-direction: column !important;
        text-align: center !important;
    }

    /* Account Navigation */
    html body.st-account-page.st-account-layout-default .woocommerce-MyAccount-navigation ul li {
        flex: 1 1 calc(50% - 0.5rem);
        min-width: 0;
    }
    
    html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, 1fr);
    }
    
    html body.st-account-page.st-account-layout-dashboard .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Orders Table */
    html body.st-account-page .woocommerce-orders-table thead {
        display: none;
    }
    
    html body.st-account-page .woocommerce-orders-table tbody tr {
        display: block;
        padding: 1.5rem;
        border: 1px solid var(--st-woo-gray-100);
        border-radius: var(--st-woo-radius);
        margin-bottom: 1rem;
    }
    
    html body.st-account-page .woocommerce-orders-table td {
        display: flex;
        justify-content: space-between;
        padding: 0.5rem 0;
        border: none;
    }
    
    html body.st-account-page .woocommerce-orders-table td::before {
        content: attr(data-title);
        font-weight: 600;
        color: var(--st-woo-gray-500);
    }
    
    /* Addresses */
    html body.st-account-page .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
}

/* Mobile - 480px */
@media (max-width: 480px) {
    /* Related / upsell columns: see RELATED PRODUCTS COLUMNS at the end of the file. */
    
    body.supertheme-woo ul.products li.product .button {
        padding: 0.75rem 1rem;
    }
    
    body.st-single-product div.product .st-product-badges {
        top: 1rem;
        left: 1rem;
    }
    
    body.st-single-product div.product {
        padding: 1rem;
    }
    
    /* Account dashboard single column */
    html body.st-account-page.st-account-layout-dashboard .woocommerce-MyAccount-navigation ul,
    html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr !important;
    }
    
    html body.st-account-page .woocommerce-MyAccount-navigation ul {
        flex-direction: column !important;
    }
    
    html body.st-account-page .woocommerce-MyAccount-navigation ul li a {
        width: 100% !important;
        text-align: center !important;
    }
    
    /* Cart Page Mobile */
    html body.st-cart-page table.shop_table tbody tr {
        grid-template-columns: 80px 1fr;
    }
    
    html body.st-cart-page table.shop_table .product-thumbnail img {
        width: 80px;
        height: 80px;
    }
    
    /* Account Mobile */
    html body.st-account-page.st-account-layout-default .woocommerce-MyAccount-navigation ul li {
        flex: 1 1 100%;
    }
    
    html body.st-account-page.st-account-layout-modern .woocommerce-MyAccount-navigation ul,
    html body.st-account-page.st-account-layout-dashboard .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr;
    }
    
    /* Checkout Mobile */
    html body.st-checkout-page .woocommerce-billing-fields,
    html body.st-checkout-page .woocommerce-shipping-fields,
    html body.st-checkout-page .woocommerce-additional-fields,
    html body.st-checkout-page #order_review {
        padding: 1.5rem;
    }
}

/* ============================================
   WOOCOMMERCE DEFAULT OVERRIDES
   Force override WooCommerce's default width/float styles
   ============================================ */

/* Override WooCommerce default gallery width (usually 48%) */
.woocommerce div.product div.images,
.woocommerce-page div.product div.images,
.woocommerce #content div.product div.images,
body.single-product div.product .woocommerce-product-gallery,
body.st-single-product div.product .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* Override WooCommerce default summary width (usually 48%) */
.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary,
.woocommerce #content div.product div.summary,
body.single-product div.product .summary,
body.st-single-product div.product .summary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* Ensure flex-viewport fills available space */
body.st-single-product div.product .woocommerce-product-gallery .flex-viewport {
    width: 100% !important;
    max-width: 100% !important;
}

/* Grid-based layouts need proper item placement */
body.st-single-product.st-product-layout-default .st-woo-content div.product,
body.st-single-product.st-product-layout-gallery-left .st-woo-content div.product,
body.st-single-product.st-product-layout-centered .st-woo-content div.product {
    display: grid !important;
}

body.st-single-product.st-product-layout-default .st-woo-content div.product > *:first-child,
body.st-single-product.st-product-layout-gallery-left .st-woo-content div.product > *:first-child,
body.st-single-product.st-product-layout-centered .st-woo-content div.product > *:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

body.st-single-product.st-product-layout-default .st-woo-content div.product > .summary,
body.st-single-product.st-product-layout-gallery-left .st-woo-content div.product > .summary,
body.st-single-product.st-product-layout-centered .st-woo-content div.product > .summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

/* Full-width layout must be flex column - complete override */
body.st-single-product.st-product-layout-full-width .st-woo-content > div.product {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 2rem !important;
}

body.st-single-product.st-product-layout-full-width .st-woo-content > div.product > .st-gallery-wrapper,
body.st-single-product.st-product-layout-full-width .st-woo-content > div.product > .woocommerce-product-gallery,
body.st-single-product.st-product-layout-full-width .st-woo-content > div.product > .summary {
    grid-column: unset !important;
    grid-row: unset !important;
    width: 100% !important;
    max-width: 700px !important;
}

body.st-single-product.st-product-layout-full-width .st-woo-content > div.product > .summary {
    text-align: center !important;
}

/* Clear any floats from WooCommerce */
body.st-single-product div.product::after {
    content: none !important;
    display: none !important;
}

/* ============================================
   RELATED PRODUCTS - STRONG OVERRIDES
   ============================================ */
/* Force related products to be block layout with stacked content */
.woocommerce div.product section.related.products,
.woocommerce div.product .related.products,
.woocommerce section.related.products,
.woocommerce .related.products,
body.st-single-product .related.products,
body.st-single-product section.related,
body.single-product .related.products,
body.single-product section.related {
    display: block !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Same for upsells */
.woocommerce div.product section.upsells,
.woocommerce div.product .upsells.products,
.woocommerce section.upsells,
.woocommerce .upsells.products,
body.st-single-product .upsells.products,
body.st-single-product section.upsells {
    display: block !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Force heading to be full width block - NOT inline or floated */
.woocommerce div.product .related.products > h2,
.woocommerce .related.products > h2,
body.st-single-product .related.products > h2,
body.single-product .related.products > h2 {
    display: block !important;
    width: 100% !important;
    flex: none !important;
    float: none !important;
    clear: both !important;
}

/* Force product grid to be full width - break out of any flex container */
.woocommerce div.product .related.products ul.products,
.woocommerce .related.products ul.products,
body.st-single-product .related.products ul.products,
body.single-product .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(var(--st-related-cols, 4), minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
    clear: both !important;
    flex: 0 0 100% !important;
}

/* Force product cards to fill grid cells */
.woocommerce div.product .related.products ul.products li.product,
.woocommerce .related.products ul.products li.product,
body.st-single-product .related.products ul.products li.product,
body.single-product .related.products ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    list-style: none !important;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    /* CRITICAL: Ensure product cards use vertical layout, NOT grid */
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
}

/* Related Products - Image Fixes */
.woocommerce div.product .related.products ul.products li.product a img,
.woocommerce .related.products ul.products li.product a img,
body.st-single-product .related.products ul.products li.product a img,
body.single-product .related.products ul.products li.product a img,
.woocommerce div.product .upsells.products ul.products li.product a img,
.woocommerce .upsells.products ul.products li.product a img {
    width: 100% !important;
    height: auto !important;
    min-height: 180px !important;
    max-height: 280px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
}

/* Related Products - Link container */
.woocommerce .related.products ul.products li.product > a:first-child,
.woocommerce .upsells.products ul.products li.product > a:first-child,
body.st-single-product .related.products ul.products li.product > a:first-child {
    display: block !important;
    width: 100% !important;
    overflow: hidden;
}

/* Related Products - Title */
.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title,
.woocommerce .related.products ul.products li.product h2,
body.st-single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.st-single-product .related.products ul.products li.product h2 {
    font-size: 0.95rem !important;
    padding: 0.75rem 1rem 0.25rem !important;
    margin: 0 !important;
}

/* Related Products - Price */
.woocommerce .related.products ul.products li.product .price,
body.st-single-product .related.products ul.products li.product .price {
    padding: 0.25rem 1rem !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

/* Related Products - Button */
.woocommerce .related.products ul.products li.product .button,
body.st-single-product .related.products ul.products li.product .button {
    margin: 0.75rem 1rem 1rem !important;
    width: calc(100% - 2rem) !important;
}

/* Override any WooCommerce default flex on related products */
.woocommerce-page .related.products,
.woocommerce-page section.related {
    display: block !important;
}

.woocommerce-page .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(var(--st-related-cols, 4), minmax(0, 1fr)) !important;
}

/* Clear all children floats */
.related.products::after,
section.related::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* ============================================
   FINAL LAYOUT OVERRIDES - HIGHEST PRIORITY
   These rules override ALL other gallery/thumbnail styles
   ============================================ */

/* DEFAULT LAYOUT: Horizontal thumbnails below */
html body.st-single-product.st-product-layout-default div.product .woocommerce-product-gallery {
    padding-left: 0 !important;
}

html body.st-single-product.st-product-layout-default div.product .woocommerce-product-gallery .flex-control-thumbs {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    margin-top: 1rem !important;
}

/* GALLERY LEFT LAYOUT: Vertical thumbnails on left */
html body.st-single-product.st-product-layout-gallery-left div.product .woocommerce-product-gallery {
    padding-left: 95px !important;
}

html body.st-single-product.st-product-layout-gallery-left div.product .woocommerce-product-gallery .flex-control-thumbs {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 80px !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    margin-top: 0 !important;
}

/* FULL WIDTH LAYOUT: Stacked vertically, centered */
html body.st-single-product.st-product-layout-full-width .st-woo-content > div.product {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    grid-template-columns: none !important;
}

html body.st-single-product.st-product-layout-full-width .st-woo-content > div.product > .st-gallery-wrapper,
html body.st-single-product.st-product-layout-full-width .st-woo-content > div.product > .woocommerce-product-gallery,
html body.st-single-product.st-product-layout-full-width .st-woo-content > div.product > .summary {
    grid-column: auto !important;
    grid-row: auto !important;
}

html body.st-single-product.st-product-layout-full-width div.product .woocommerce-product-gallery {
    padding-left: 0 !important;
}

html body.st-single-product.st-product-layout-full-width div.product .woocommerce-product-gallery .flex-control-thumbs {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    margin-top: 1rem !important;
}

/* CENTERED LAYOUT: Side by side, vertically centered */
html body.st-single-product.st-product-layout-centered .st-woo-content > div.product {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: center !important;
}

html body.st-single-product.st-product-layout-centered div.product .woocommerce-product-gallery {
    padding-left: 0 !important;
}

html body.st-single-product.st-product-layout-centered div.product .woocommerce-product-gallery .flex-control-thumbs {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    margin-top: 1rem !important;
}

/* ============================================
   CRITICAL: RELATED/UPSELLS PRODUCT CARDS FIX
   Ensure li.product cards NEVER inherit grid layout from main product
   ============================================ */
html body .related.products ul.products li.product,
html body .upsells.products ul.products li.product,
html body.st-single-product .related.products ul.products li.product,
html body.st-single-product .upsells.products ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: unset !important;
    align-items: stretch !important;
}
/* ============================================
   TRUST BADGES - Checkout
   ============================================ */
.st-checkout-trust-badges {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--st-woo-gray-200);
    flex-wrap: wrap;
}

.st-trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--st-woo-gray-500);
    font-size: 0.85rem;
    font-weight: 500;
}

.st-trust-badge svg {
    color: var(--st-woo-primary);
    flex-shrink: 0;
}

@media (max-width: 600px) {
    .st-checkout-trust-badges {
        gap: 16px;
    }
    
    .st-trust-badge span {
        display: none;
    }
}

/* ============================================
   DISTRACTION-FREE CHECKOUT
   ============================================ */
body.st-distraction-free-checkout .st-header-nav,
body.st-distraction-free-checkout .st-header-menu,
body.st-distraction-free-checkout .st-mega-menu,
body.st-distraction-free-checkout .st-header-actions .st-search-toggle,
body.st-distraction-free-checkout .st-header-actions .st-cart-toggle,
body.st-distraction-free-checkout .st-header-actions .st-account-toggle,
body.st-distraction-free-checkout .st-mobile-menu-toggle,
body.st-distraction-free-checkout .st-page-header,
body.st-distraction-free-checkout .st-breadcrumb,
body.st-distraction-free-checkout .st-footer-widgets,
body.st-distraction-free-checkout .st-footer-nav {
    display: none !important;
}

body.st-distraction-free-checkout .st-header {
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

body.st-distraction-free-checkout .st-header-inner {
    justify-content: center;
}

body.st-distraction-free-checkout .st-footer {
    padding: 20px 0;
}

body.st-distraction-free-checkout .st-footer-bottom {
    text-align: center;
}

body.st-distraction-free-checkout .st-woo-content::before {
    content: var(--st-i18n-secure-checkout, "Secure Checkout");
    display: block;
    text-align: center;
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 2rem;
    color: var(--st-woo-gray-900);
}

body.st-distraction-free-checkout .st-woo-content::after {
    content: "🔒";
    display: block;
    text-align: center;
    font-size: 1.25rem;
    margin-top: -1.5rem;
    margin-bottom: 1.5rem;
}

/* ============================================
   CART PAGE - COUPON FIELD FIX
   ============================================ */
html body.st-cart-page .coupon,
body.st-cart-page .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

html body.st-cart-page .coupon #coupon_code,
body.st-cart-page .coupon #coupon_code {
    min-width: 220px !important;
    width: auto !important;
    flex: 1 !important;
    max-width: 300px !important;
    padding: 14px 18px !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 10px !important;
    font-size: 1rem !important;
    background: #f9fafb !important;
    transition: all 0.2s ease !important;
}

html body.st-cart-page .coupon #coupon_code:focus,
body.st-cart-page .coupon #coupon_code:focus {
    border-color: var(--st-woo-primary, #0066cc) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.1) !important;
    outline: none !important;
}

html body.st-cart-page .coupon #coupon_code::placeholder,
body.st-cart-page .coupon #coupon_code::placeholder {
    color: #9ca3af !important;
}

html body.st-cart-page .coupon .button,
body.st-cart-page .coupon .button {
    padding: 14px 24px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

/* Cart actions row */
html body.st-cart-page .cart-collaterals,
body.st-cart-page .cart-collaterals {
    margin-top: 30px !important;
}

html body.st-cart-page td.actions,
body.st-cart-page td.actions {
    padding: 20px 15px !important;
}

/* ============================================
   CHECKOUT PAGE - COUPON LINK FIX
   ============================================ */
html body.st-checkout-page .woocommerce-form-coupon-toggle,
body.st-checkout-page .woocommerce-form-coupon-toggle {
    margin-bottom: 25px !important;
}

html body.st-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info,
body.st-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    background: #f0f9ff !important;
    border: 1px solid #bae6fd !important;
    border-left: 4px solid var(--st-woo-primary, #0066cc) !important;
    padding: 14px 18px 14px 48px !important;
    border-radius: 8px !important;
    color: #0369a1 !important;
    font-size: 0.95rem !important;
    position: relative !important;
}

html body.st-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info::before,
body.st-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info::before {
    content: "" !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230066cc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

html body.st-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info a,
body.st-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info a {
    color: var(--st-woo-primary, #0066cc) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

html body.st-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info a:hover,
body.st-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info a:hover {
    color: #004999 !important;
}

/* Coupon form when expanded */
html body.st-checkout-page .checkout_coupon,
body.st-checkout-page .checkout_coupon {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 20px !important;
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 10px !important;
    margin-bottom: 25px !important;
}

html body.st-checkout-page .checkout_coupon p:first-child,
body.st-checkout-page .checkout_coupon p:first-child {
    flex: 1 !important;
    margin: 0 !important;
}

html body.st-checkout-page .checkout_coupon #coupon_code,
body.st-checkout-page .checkout_coupon #coupon_code {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
}

html body.st-checkout-page .checkout_coupon .button,
body.st-checkout-page .checkout_coupon .button {
    padding: 12px 24px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
}

/* ============================================
   CHECKOUT PAGE - PAYMENT METHODS RADIO FIX
   ============================================ */
html body.st-checkout-page #payment ul.payment_methods,
body.st-checkout-page #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

html body.st-checkout-page #payment ul.payment_methods li,
body.st-checkout-page #payment ul.payment_methods li {
    margin-bottom: 12px !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: all 0.2s ease !important;
}

html body.st-checkout-page #payment ul.payment_methods li:hover,
body.st-checkout-page #payment ul.payment_methods li:hover {
    border-color: #d1d5db !important;
}

html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 20px !important;
    margin: 0 !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: #374151 !important;
}

html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label input[type="radio"],
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 50% !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    transition: all 0.2s ease !important;
}

html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label input[type="radio"]:checked,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label input[type="radio"]:checked {
    border-color: var(--st-woo-primary, #0066cc) !important;
    background: var(--st-woo-primary, #0066cc) !important;
}

html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label input[type="radio"]:checked::after,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label input[type="radio"]:checked::after {
    content: "" !important;
    position: absolute !important;
    width: 8px !important;
    height: 8px !important;
    background: #fff !important;
    border-radius: 50% !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label img,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label img {
    max-height: 28px !important;
    width: auto !important;
    margin-left: auto !important;
}

/* Selected payment method highlight */
html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method input[type="radio"]:checked ~ label,
html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked),
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
    border-color: var(--st-woo-primary, #0066cc) !important;
    background: #f0f9ff !important;
}

/* Payment method description box */
html body.st-checkout-page #payment ul.payment_methods li .payment_box,
body.st-checkout-page #payment ul.payment_methods li .payment_box {
    padding: 16px 20px !important;
    background: #f8fafc !important;
    border-top: 1px solid #e5e7eb !important;
    font-size: 0.9rem !important;
    color: #6b7280 !important;
    line-height: 1.5 !important;
}

html body.st-checkout-page #payment ul.payment_methods li .payment_box::before,
body.st-checkout-page #payment ul.payment_methods li .payment_box::before {
    display: none !important;
}

html body.st-checkout-page #payment ul.payment_methods li .payment_box p,
body.st-checkout-page #payment ul.payment_methods li .payment_box p {
    margin: 0 !important;
}

/* ============================================
   CHECKOUT - PAYMENT METHODS FIX (Radio outside label)
   ============================================ */
/* The radio is a sibling of label, not inside it */
html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: all 0.2s ease !important;
}

/* Radio input styling - sibling of label */
html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > input[type="radio"],
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 50% !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    margin: 0 !important;
    margin-left: 20px !important;
    flex-shrink: 0 !important;
    transition: all 0.2s ease !important;
}

html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > input[type="radio"]:checked,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > input[type="radio"]:checked {
    border-color: var(--st-woo-primary, #0066cc) !important;
    background: var(--st-woo-primary, #0066cc) !important;
}

html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > input[type="radio"]:checked::after,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > input[type="radio"]:checked::after {
    content: "" !important;
    position: absolute !important;
    width: 8px !important;
    height: 8px !important;
    background: #fff !important;
    border-radius: 50% !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* Label styling - sibling of radio */
html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > label {
    display: inline-flex !important;
    align-items: center !important;
    flex: 1 !important;
    padding: 16px 20px 16px 12px !important;
    margin: 0 !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: #374151 !important;
}

/* Payment box - full width below */
html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > .payment_box,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > .payment_box {
    width: 100% !important;
    flex-basis: 100% !important;
    padding: 16px 20px !important;
    background: #f8fafc !important;
    border-top: 1px solid #e5e7eb !important;
    font-size: 0.9rem !important;
    color: #6b7280 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > .payment_box::before,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > .payment_box::before {
    display: none !important;
}

html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > .payment_box p,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method > .payment_box p {
    margin: 0 !important;
}

/* Selected state highlight */
html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method:has(> input[type="radio"]:checked),
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method:has(> input[type="radio"]:checked) {
    border-color: var(--st-woo-primary, #0066cc) !important;
    background: #f0f9ff !important;
}

/* Hover state */
html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method:hover,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method:hover {
    border-color: #d1d5db !important;
}

html body.st-checkout-page #payment ul.payment_methods li.wc_payment_method:has(> input[type="radio"]:checked):hover,
body.st-checkout-page #payment ul.payment_methods li.wc_payment_method:has(> input[type="radio"]:checked):hover {
    border-color: var(--st-woo-primary, #0066cc) !important;
}

/* ============================================
   FIX: MOBILE MENU - FORCE HIDDEN WHEN NOT ACTIVE
   ============================================ */
/* Prevent any horizontal scroll */
html,
body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

html body.st-checkout-page,
body.st-checkout-page,
html body.st-cart-page,
body.st-cart-page {
    overflow-x: hidden !important;
    position: relative !important;
}

/* Force hide mobile menu when not active - AGGRESSIVE */
.st-mobile-menu {
    position: fixed !important;
    top: 0 !important;
    right: -350px !important;
    width: 320px !important;
    height: 100% !important;
    z-index: 999999 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(100%) !important;
    clip-path: inset(0 0 0 100%) !important;
}

.st-mobile-menu.active {
    right: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
    clip-path: none !important;
}

/* Force hide overlay when not active */
.st-mobile-menu-overlay {
    position: fixed !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.st-mobile-menu-overlay.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* ============================================
   CHECKOUT - ORDER SUMMARY PROFESSIONAL STYLING
   ============================================ */
/* Order Review Container */
html body.st-checkout-page #order_review,
body.st-checkout-page #order_review,
.st-checkout-page #order_review {
    background: #f8fafc !important;
    border-radius: 16px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid #e5e7eb !important;
}

/* Order Summary Title */
html body.st-checkout-page #order_review::before,
body.st-checkout-page #order_review::before,
.st-checkout-page #order_review::before {
    content: var(--st-i18n-order-summary, "Order Summary") !important;
    display: block !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    padding: 20px 24px !important;
    background: #fff !important;
    border-bottom: 1px solid #e5e7eb !important;
    margin: 0 !important;
}

/* Order Review Table */
html body.st-checkout-page .woocommerce-checkout-review-order-table,
body.st-checkout-page .woocommerce-checkout-review-order-table,
.st-checkout-page .woocommerce-checkout-review-order-table {
    width: 100% !important;
    border: none !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    background: #fff !important;
}

/* Hide default table header */
html body.st-checkout-page .woocommerce-checkout-review-order-table thead,
body.st-checkout-page .woocommerce-checkout-review-order-table thead,
.st-checkout-page .woocommerce-checkout-review-order-table thead {
    display: none !important;
}

/* Product Rows */
html body.st-checkout-page .woocommerce-checkout-review-order-table tbody tr,
body.st-checkout-page .woocommerce-checkout-review-order-table tbody tr,
.st-checkout-page .woocommerce-checkout-review-order-table tbody tr {
    border-bottom: 1px solid #f3f4f6 !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tbody tr:last-child,
body.st-checkout-page .woocommerce-checkout-review-order-table tbody tr:last-child,
.st-checkout-page .woocommerce-checkout-review-order-table tbody tr:last-child {
    border-bottom: none !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tbody td,
body.st-checkout-page .woocommerce-checkout-review-order-table tbody td,
.st-checkout-page .woocommerce-checkout-review-order-table tbody td {
    padding: 16px 24px !important;
    border: none !important;
    vertical-align: middle !important;
    font-size: 0.95rem !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-name,
body.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-name,
.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-name {
    color: #374151 !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-name .product-quantity,
body.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-name .product-quantity,
.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-name .product-quantity {
    color: #6b7280 !important;
    font-weight: 600 !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-total,
body.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-total,
.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-total {
    text-align: right !important;
    font-weight: 600 !important;
    color: #111827 !important;
    white-space: nowrap !important;
}

/* Footer Rows (Subtotal, Total) */
html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot {
    background: #f8fafc !important;
    border-top: 2px solid #e5e7eb !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot tr,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot tr,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot tr {
    border-bottom: 1px solid #e5e7eb !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot tr:last-child,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot tr:last-child,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot tr:last-child {
    border-bottom: none !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot th,
html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot td,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot th,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot td,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot th,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot td {
    padding: 14px 24px !important;
    border: none !important;
    font-size: 0.95rem !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot th,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot th,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot th {
    font-weight: 500 !important;
    color: #6b7280 !important;
    text-align: left !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot td,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot td,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot td {
    font-weight: 600 !important;
    color: #111827 !important;
    text-align: right !important;
}

/* Total Row - Highlight */
html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total {
    background: #fff !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total th,
html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total td,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total th,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total td,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total th,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total td {
    padding: 18px 24px !important;
    font-size: 1.1rem !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total th,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total th,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total th {
    font-weight: 700 !important;
    color: #111827 !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total td,
body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total td,
.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-weight: 700 !important;
    color: var(--st-woo-primary, #0066cc) !important;
    font-size: 1.25rem !important;
}

/* Payment Section */
html body.st-checkout-page #payment,
body.st-checkout-page #payment,
.st-checkout-page #payment {
    background: transparent !important;
    padding: 24px !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Payment Methods List */
html body.st-checkout-page #payment ul.payment_methods,
body.st-checkout-page #payment ul.payment_methods,
.st-checkout-page #payment ul.payment_methods {
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Privacy Policy Text */
html body.st-checkout-page #payment .woocommerce-privacy-policy-text,
body.st-checkout-page #payment .woocommerce-privacy-policy-text,
.st-checkout-page #payment .woocommerce-privacy-policy-text {
    font-size: 0.85rem !important;
    color: #6b7280 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
}

html body.st-checkout-page #payment .woocommerce-privacy-policy-text a,
body.st-checkout-page #payment .woocommerce-privacy-policy-text a,
.st-checkout-page #payment .woocommerce-privacy-policy-text a {
    color: var(--st-woo-primary, #0066cc) !important;
    text-decoration: underline !important;
}

/* Place Order Button */
html body.st-checkout-page #payment .place-order,
body.st-checkout-page #payment .place-order,
.st-checkout-page #payment .place-order {
    padding: 0 !important;
    margin: 0 !important;
}

html body.st-checkout-page #place_order,
body.st-checkout-page #place_order,
.st-checkout-page #place_order {
    width: 100% !important;
    padding: 18px 32px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    background: #111827 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

html body.st-checkout-page #place_order:hover,
body.st-checkout-page #place_order:hover,
.st-checkout-page #place_order:hover {
    background: #1f2937 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(17, 24, 39, 0.25) !important;
}

/* Trust Badges - Better styling */
html body.st-checkout-page .st-checkout-trust-badges,
body.st-checkout-page .st-checkout-trust-badges,
.st-checkout-page .st-checkout-trust-badges {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    margin-top: 16px !important;
    padding-top: 0 !important;
    border-top: none !important;
    flex-wrap: wrap !important;
}

html body.st-checkout-page .st-checkout-trust-badges .st-trust-badge,
body.st-checkout-page .st-checkout-trust-badges .st-trust-badge,
.st-checkout-page .st-checkout-trust-badges .st-trust-badge {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #9ca3af !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
}

html body.st-checkout-page .st-checkout-trust-badges .st-trust-badge svg,
body.st-checkout-page .st-checkout-trust-badges .st-trust-badge svg,
.st-checkout-page .st-checkout-trust-badges .st-trust-badge svg {
    width: 16px !important;
    height: 16px !important;
    color: #9ca3af !important;
}

/* ============================================
   CHECKOUT - ORDER SUMMARY - ALL LAYOUTS FIX
   ============================================ */

/* ---- UNIVERSAL ORDER REVIEW CONTAINER ---- */
html body.st-checkout-page #order_review,
html body.st-checkout-page.st-checkout-layout-two-column #order_review,
html body.st-checkout-page.st-checkout-layout-multi-step #order_review,
html body.st-checkout-page.st-checkout-layout-one-column #order_review,
html body.st-checkout-page.st-checkout-layout-modern #order_review,
body.woocommerce-checkout #order_review {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid #e5e7eb !important;
}

/* ---- HIDE DEFAULT HEADING ---- */
html body.st-checkout-page #order_review_heading,
html body.st-checkout-page.st-checkout-layout-two-column #order_review_heading,
html body.st-checkout-page.st-checkout-layout-multi-step #order_review_heading,
html body.st-checkout-page.st-checkout-layout-one-column #order_review_heading,
html body.st-checkout-page.st-checkout-layout-modern #order_review_heading,
body.woocommerce-checkout #order_review_heading {
    display: none !important;
}

/* ---- ORDER SUMMARY TITLE (::before) ---- */
html body.st-checkout-page #order_review::before,
html body.st-checkout-page.st-checkout-layout-two-column #order_review::before,
html body.st-checkout-page.st-checkout-layout-multi-step #order_review::before,
html body.st-checkout-page.st-checkout-layout-one-column #order_review::before,
html body.st-checkout-page.st-checkout-layout-modern #order_review::before,
body.woocommerce-checkout #order_review::before {
    content: var(--st-i18n-order-summary, "Order Summary") !important;
    display: block !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    padding: 20px 24px !important;
    background: #f8fafc !important;
    border-bottom: 1px solid #e5e7eb !important;
    margin: 0 !important;
}

/* ---- ORDER TABLE ---- */
html body.st-checkout-page .woocommerce-checkout-review-order-table,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table,
html body.st-checkout-page #order_review table.shop_table,
html body.st-checkout-page.st-checkout-layout-two-column #order_review table.shop_table,
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    border: none !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ---- HIDE TABLE HEADER ---- */
html body.st-checkout-page .woocommerce-checkout-review-order-table thead,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table thead,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table thead,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table thead,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table thead,
html body.st-checkout-page #order_review table.shop_table thead,
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
    display: none !important;
}

/* ---- PRODUCT ROWS (TBODY) ---- */
html body.st-checkout-page .woocommerce-checkout-review-order-table tbody,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tbody,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tbody,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tbody,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tbody,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody {
    background: #fff !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tbody tr,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tbody tr,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tbody tr,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tbody tr,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tbody tr,
html body.st-checkout-page #order_review table.shop_table tbody tr,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr {
    border-bottom: 1px solid #f3f4f6 !important;
    background: #fff !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tbody tr:last-child,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tbody tr:last-child,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tbody tr:last-child,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tbody tr:last-child,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tbody tr:last-child,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr:last-child {
    border-bottom: none !important;
}

/* ---- PRODUCT CELLS ---- */
html body.st-checkout-page .woocommerce-checkout-review-order-table tbody td,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tbody td,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tbody td,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tbody td,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tbody td,
html body.st-checkout-page #order_review table.shop_table tbody td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
    padding: 10px 0 !important;
    border: none !important;
    vertical-align: middle !important;
    font-size: 0.9rem !important;
    background: transparent !important;
}

/* ---- PRODUCT NAME ---- */
html body.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-name,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tbody .product-name,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tbody .product-name,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tbody .product-name,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tbody .product-name,
html body.st-checkout-page #order_review table.shop_table .product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-name {
    color: #374151 !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

/* ---- PRODUCT TOTAL ---- */
html body.st-checkout-page .woocommerce-checkout-review-order-table tbody .product-total,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tbody .product-total,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tbody .product-total,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tbody .product-total,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tbody .product-total,
html body.st-checkout-page #order_review table.shop_table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-total {
    text-align: right !important;
    font-weight: 600 !important;
    color: #111827 !important;
    white-space: nowrap !important;
}

/* ---- TABLE FOOTER (SUBTOTAL/TOTAL) ---- */
html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot,
html body.st-checkout-page #order_review table.shop_table tfoot,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot {
    background: transparent !important;
    border-top: 1px solid #e5e7eb !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot tr,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot tr,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot tr,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot tr,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot tr,
html body.st-checkout-page #order_review table.shop_table tfoot tr,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
    border-bottom: 1px solid #e5e7eb !important;
    background: transparent !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot tr:last-child,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot tr:last-child,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot tr:last-child,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot tr:last-child,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot tr:last-child,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child {
    border-bottom: none !important;
}

/* ---- FOOTER CELLS ---- */
html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot th,
html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot td,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot th,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot td,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot th,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot td,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot th,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot td,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot th,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot td,
html body.st-checkout-page #order_review table.shop_table tfoot th,
html body.st-checkout-page #order_review table.shop_table tfoot td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    padding: 8px 0 !important;
    border: none !important;
    font-size: 0.9rem !important;
    background: transparent !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot th,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot th,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot th,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot th,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
    font-weight: 500 !important;
    color: #6b7280 !important;
    text-align: left !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot td,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot td,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot td,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot td,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    font-weight: 600 !important;
    color: #111827 !important;
    text-align: right !important;
}

/* ---- ORDER TOTAL ROW ---- */
html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot .order-total,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot .order-total,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot .order-total,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot .order-total,
html body.st-checkout-page #order_review table.shop_table tfoot .order-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total {
    background: #fff !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total th,
html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total td,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot .order-total th,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot .order-total td,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot .order-total th,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot .order-total td,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot .order-total th,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot .order-total td,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot .order-total th,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot .order-total td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
    padding: 10px 0 !important;
    font-size: 1.05rem !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total th,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot .order-total th,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot .order-total th,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot .order-total th,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th {
    font-weight: 700 !important;
    color: #111827 !important;
}

html body.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total td,
html body.st-checkout-page.st-checkout-layout-two-column .woocommerce-checkout-review-order-table tfoot .order-total td,
html body.st-checkout-page.st-checkout-layout-multi-step .woocommerce-checkout-review-order-table tfoot .order-total td,
html body.st-checkout-page.st-checkout-layout-one-column .woocommerce-checkout-review-order-table tfoot .order-total td,
html body.st-checkout-page.st-checkout-layout-modern .woocommerce-checkout-review-order-table tfoot .order-total td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-weight: 700 !important;
    color: var(--st-woo-primary, #0066cc) !important;
    font-size: 1.1rem !important;
}

/* ---- PAYMENT SECTION ---- */
html body.st-checkout-page #payment,
html body.st-checkout-page.st-checkout-layout-two-column #payment,
html body.st-checkout-page.st-checkout-layout-multi-step #payment,
html body.st-checkout-page.st-checkout-layout-one-column #payment,
html body.st-checkout-page.st-checkout-layout-modern #payment,
html body.st-checkout-page #order_review .woocommerce-checkout-payment,
html body.st-checkout-page.st-checkout-layout-two-column #order_review .woocommerce-checkout-payment,
body.woocommerce-checkout #payment {
    background: transparent !important;
    padding: 24px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* ---- PAYMENT METHODS ---- */
html body.st-checkout-page #payment ul.payment_methods,
html body.st-checkout-page.st-checkout-layout-two-column #payment ul.payment_methods,
html body.st-checkout-page.st-checkout-layout-multi-step #payment ul.payment_methods,
html body.st-checkout-page.st-checkout-layout-one-column #payment ul.payment_methods,
html body.st-checkout-page.st-checkout-layout-modern #payment ul.payment_methods,
body.woocommerce-checkout #payment ul.payment_methods {
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    border: none !important;
    background: transparent !important;
    list-style: none !important;
}

/* ---- PRIVACY TEXT ---- */
html body.st-checkout-page #payment .woocommerce-privacy-policy-text,
html body.st-checkout-page.st-checkout-layout-two-column #payment .woocommerce-privacy-policy-text,
html body.st-checkout-page.st-checkout-layout-multi-step #payment .woocommerce-privacy-policy-text,
html body.st-checkout-page.st-checkout-layout-one-column #payment .woocommerce-privacy-policy-text,
html body.st-checkout-page.st-checkout-layout-modern #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
    font-size: 0.85rem !important;
    color: #6b7280 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
}

/* ---- PLACE ORDER BUTTON ---- */
html body.st-checkout-page #place_order,
html body.st-checkout-page.st-checkout-layout-two-column #place_order,
html body.st-checkout-page.st-checkout-layout-multi-step #place_order,
html body.st-checkout-page.st-checkout-layout-one-column #place_order,
html body.st-checkout-page.st-checkout-layout-modern #place_order,
html body.st-checkout-page #order_review #place_order,
body.woocommerce-checkout #place_order {
    width: 100% !important;
    padding: 18px 32px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    background: #111827 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
}

html body.st-checkout-page #place_order:hover,
html body.st-checkout-page.st-checkout-layout-two-column #place_order:hover,
html body.st-checkout-page.st-checkout-layout-multi-step #place_order:hover,
html body.st-checkout-page.st-checkout-layout-one-column #place_order:hover,
html body.st-checkout-page.st-checkout-layout-modern #place_order:hover,
body.woocommerce-checkout #place_order:hover {
    background: #1f2937 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(17, 24, 39, 0.25) !important;
}

/* ---- TRUST BADGES ---- */
html body.st-checkout-page .st-checkout-trust-badges,
html body.st-checkout-page.st-checkout-layout-two-column .st-checkout-trust-badges,
html body.st-checkout-page.st-checkout-layout-multi-step .st-checkout-trust-badges,
html body.st-checkout-page.st-checkout-layout-one-column .st-checkout-trust-badges,
html body.st-checkout-page.st-checkout-layout-modern .st-checkout-trust-badges,
body.woocommerce-checkout .st-checkout-trust-badges {
    display: flex !important;
    justify-content: center !important;
    gap: 24px !important;
    margin-top: 16px !important;
    padding: 0 !important;
    flex-wrap: wrap !important;
}

html body.st-checkout-page .st-checkout-trust-badges .st-trust-badge,
html body.st-checkout-page.st-checkout-layout-two-column .st-checkout-trust-badges .st-trust-badge,
html body.st-checkout-page.st-checkout-layout-multi-step .st-checkout-trust-badges .st-trust-badge,
html body.st-checkout-page.st-checkout-layout-one-column .st-checkout-trust-badges .st-trust-badge,
html body.st-checkout-page.st-checkout-layout-modern .st-checkout-trust-badges .st-trust-badge,
body.woocommerce-checkout .st-checkout-trust-badges .st-trust-badge {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #9ca3af !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
}

/* ============================================
   MY ACCOUNT PAGE STYLES
   Version 1.0 - Complete Layout System
   ============================================ */

/* ============================================
   BASE MY ACCOUNT STYLES
   ============================================ */
body.st-account-page .woocommerce-MyAccount-navigation,
body.st-account-page .woocommerce-MyAccount-content {
    transition: all 0.3s ease;
}

body.st-account-page .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ============================================
   LAYOUT: DEFAULT
   Classic sidebar navigation layout
   ============================================ */
body.st-myaccount-layout-default .woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 2rem;
    align-items: start;
}

body.st-myaccount-layout-default .woocommerce-MyAccount-navigation {
    background: var(--st-woo-gray-50, #f9fafb);
    border-radius: var(--st-woo-radius, 12px);
    padding: 1.5rem;
    position: sticky;
    top: 100px;
}

body.st-myaccount-layout-default .woocommerce-MyAccount-navigation ul li {
    margin-bottom: 0.25rem;
}

body.st-myaccount-layout-default .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    color: var(--st-woo-gray-700, #374151);
    border-radius: var(--st-woo-radius-sm, 6px);
    font-weight: 500;
    transition: all 0.2s ease;
    text-decoration: none;
}

body.st-myaccount-layout-default .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--st-woo-gray-100, #f3f4f6);
    color: var(--st-woo-primary, #0066cc);
}

body.st-myaccount-layout-default .woocommerce-MyAccount-navigation ul li.is-active a {
    background: var(--st-woo-primary, #0066cc);
    color: #fff;
}

body.st-myaccount-layout-default .woocommerce-MyAccount-content {
    background: #fff;
    border-radius: var(--st-woo-radius, 12px);
    padding: 2rem;
    box-shadow: var(--st-woo-shadow-sm, 0 1px 2px 0 rgba(0,0,0,0.05));
    border: 1px solid var(--st-woo-gray-200, #e5e7eb);
}

/* ============================================
   LAYOUT: MODERN
   User profile header with clean design
   ============================================ */
body.st-myaccount-layout-modern .woocommerce-account .woocommerce {
    display: flex;
    flex-direction: column;
    gap: 0;
}

body.st-myaccount-layout-modern .woocommerce-account .woocommerce::before {
    content: "";
    display: block;
    height: 120px;
    background: linear-gradient(135deg, var(--st-woo-primary, #0066cc), var(--st-woo-primary-hover, #0052a3));
    border-radius: var(--st-woo-radius-lg, 16px) var(--st-woo-radius-lg, 16px) 0 0;
    margin-bottom: -60px;
}

body.st-myaccount-layout-modern .st-myaccount-header {
    display: flex;
    align-items: flex-end;
    gap: 1.5rem;
    padding: 0 2rem 1.5rem;
    margin-bottom: 1.5rem;
}

body.st-myaccount-layout-modern .st-myaccount-avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: var(--st-woo-shadow-lg);
    overflow: hidden;
    background: var(--st-woo-gray-100, #f3f4f6);
}

body.st-myaccount-layout-modern .st-myaccount-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.st-myaccount-layout-modern .st-myaccount-info {
    padding-bottom: 0.5rem;
}

body.st-myaccount-layout-modern .st-myaccount-info h2 {
    margin: 0 0 0.25rem;
    font-size: 1.5rem;
    color: var(--st-woo-gray-900, #111827);
}

body.st-myaccount-layout-modern .st-myaccount-info p {
    margin: 0;
    color: var(--st-woo-gray-500, #6b7280);
    font-size: 0.9rem;
}

body.st-myaccount-layout-modern .st-myaccount-body {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 2rem;
}

body.st-myaccount-layout-modern .woocommerce-MyAccount-navigation {
    background: var(--st-woo-gray-50, #f9fafb);
    border-radius: var(--st-woo-radius, 12px);
    padding: 1rem;
}

body.st-myaccount-layout-modern .woocommerce-MyAccount-navigation ul li {
    margin-bottom: 0.25rem;
}

body.st-myaccount-layout-modern .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    color: var(--st-woo-gray-700, #374151);
    border-radius: var(--st-woo-radius-sm, 6px);
    font-weight: 500;
    transition: all 0.2s ease;
    text-decoration: none;
    font-size: 0.9375rem;
}

body.st-myaccount-layout-modern .woocommerce-MyAccount-navigation ul li a:hover {
    background: #fff;
    color: var(--st-woo-primary, #0066cc);
    box-shadow: var(--st-woo-shadow-sm);
}

body.st-myaccount-layout-modern .woocommerce-MyAccount-navigation ul li.is-active a {
    background: #fff;
    color: var(--st-woo-primary, #0066cc);
    box-shadow: var(--st-woo-shadow);
    font-weight: 600;
}

body.st-myaccount-layout-modern .woocommerce-MyAccount-content {
    background: #fff;
    border-radius: var(--st-woo-radius, 12px);
    padding: 2rem;
    box-shadow: var(--st-woo-shadow-sm);
    border: 1px solid var(--st-woo-gray-200, #e5e7eb);
}

/* ============================================
   LAYOUT: TABS
   Horizontal tab navigation
   ============================================ */
body.st-myaccount-layout-tabs .woocommerce-account .woocommerce {
    display: flex;
    flex-direction: column;
    gap: 0;
}

body.st-myaccount-layout-tabs .woocommerce-MyAccount-navigation {
    background: #fff;
    border-bottom: 2px solid var(--st-woo-gray-200, #e5e7eb);
    margin-bottom: 2rem;
}

body.st-myaccount-layout-tabs .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

body.st-myaccount-layout-tabs .woocommerce-MyAccount-navigation ul li {
    margin: 0;
}

body.st-myaccount-layout-tabs .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    color: var(--st-woo-gray-600, #4b5563);
    font-weight: 500;
    transition: all 0.2s ease;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
}

body.st-myaccount-layout-tabs .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--st-woo-primary, #0066cc);
    background: var(--st-woo-primary-light, #e6f0ff);
}

body.st-myaccount-layout-tabs .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--st-woo-primary, #0066cc);
    border-bottom-color: var(--st-woo-primary, #0066cc);
    font-weight: 600;
}

body.st-myaccount-layout-tabs .woocommerce-MyAccount-content {
    background: #fff;
    border-radius: var(--st-woo-radius, 12px);
    padding: 2rem;
    box-shadow: var(--st-woo-shadow-sm);
    border: 1px solid var(--st-woo-gray-200, #e5e7eb);
}

/* ============================================
   LAYOUT: CARDS
   Dashboard-style grid cards
   ============================================ */
body.st-myaccount-layout-cards .woocommerce-account .woocommerce {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

body.st-myaccount-layout-cards .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

body.st-myaccount-layout-cards .woocommerce-MyAccount-navigation ul li {
    margin: 0;
}

body.st-myaccount-layout-cards .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1.5rem 1rem;
    background: #fff;
    color: var(--st-woo-gray-700, #374151);
    border-radius: var(--st-woo-radius, 12px);
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: var(--st-woo-shadow-sm);
    border: 1px solid var(--st-woo-gray-200, #e5e7eb);
    text-align: center;
    min-height: 120px;
}

body.st-myaccount-layout-cards .woocommerce-MyAccount-navigation ul li a:hover {
    transform: translateY(-4px);
    box-shadow: var(--st-woo-shadow-lg);
    border-color: var(--st-woo-primary, #0066cc);
    color: var(--st-woo-primary, #0066cc);
}

body.st-myaccount-layout-cards .woocommerce-MyAccount-navigation ul li.is-active a {
    background: linear-gradient(135deg, var(--st-woo-primary, #0066cc), var(--st-woo-primary-hover, #0052a3));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(0, 102, 204, 0.3);
}

body.st-myaccount-layout-cards .woocommerce-MyAccount-content {
    background: #fff;
    border-radius: var(--st-woo-radius, 12px);
    padding: 2rem;
    box-shadow: var(--st-woo-shadow-sm);
    border: 1px solid var(--st-woo-gray-200, #e5e7eb);
}

/* ============================================
   NAVIGATION ICON STYLES
   ============================================ */
body.st-account-page .woocommerce-MyAccount-navigation ul li a::before {
    font-family: inherit;
    font-size: 1.125rem;
    opacity: 0.8;
}

body.st-myaccount-nav-icons .woocommerce-MyAccount-navigation ul li a::before {
    content: "";
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

/* Dashboard icon */
body.st-myaccount-nav-icons .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23374151' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E");
}

/* Orders icon */
body.st-myaccount-nav-icons .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23374151' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01'/%3E%3C/svg%3E");
}

/* Downloads icon */
body.st-myaccount-nav-icons .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23374151' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4'/%3E%3C/svg%3E");
}

/* Addresses icon */
body.st-myaccount-nav-icons .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23374151' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 11a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E");
}

/* Payment methods icon */
body.st-myaccount-nav-icons .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23374151' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z'/%3E%3C/svg%3E");
}

/* Account details icon */
body.st-myaccount-nav-icons .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23374151' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E");
}

/* Logout icon */
body.st-myaccount-nav-icons .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23374151' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1'/%3E%3C/svg%3E");
}

/* Active state icons - white */
body.st-myaccount-nav-icons .woocommerce-MyAccount-navigation ul li.is-active a::before {
    filter: brightness(0) invert(1);
}

body.st-myaccount-layout-cards .woocommerce-MyAccount-navigation ul li.is-active a::before {
    filter: brightness(0) invert(1);
}

/* ============================================
   NAVIGATION STYLE: PILLS
   ============================================ */
body.st-myaccount-nav-pills .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

body.st-myaccount-nav-pills .woocommerce-MyAccount-navigation ul li a {
    padding: 0.625rem 1.25rem !important;
    border-radius: 50px !important;
    background: var(--st-woo-gray-100, #f3f4f6) !important;
    font-size: 0.875rem !important;
}

body.st-myaccount-nav-pills .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--st-woo-gray-200, #e5e7eb) !important;
}

body.st-myaccount-nav-pills .woocommerce-MyAccount-navigation ul li.is-active a {
    background: var(--st-woo-primary, #0066cc) !important;
    color: #fff !important;
}

/* ============================================
   NAVIGATION STYLE: MINIMAL
   ============================================ */
body.st-myaccount-nav-minimal .woocommerce-MyAccount-navigation ul li a {
    padding: 0.5rem 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb);
}

body.st-myaccount-nav-minimal .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--st-woo-primary, #0066cc) !important;
    background: transparent !important;
}

body.st-myaccount-nav-minimal .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--st-woo-primary, #0066cc) !important;
    background: transparent !important;
    font-weight: 600 !important;
}

body.st-myaccount-nav-minimal .woocommerce-MyAccount-navigation ul li:last-child a {
    border-bottom: none;
}

/* ============================================
   MY ACCOUNT CONTENT STYLES
   ============================================ */
body.st-account-page .woocommerce-MyAccount-content h2,
body.st-account-page .woocommerce-MyAccount-content h3 {
    font-size: 1.25rem;
    color: var(--st-woo-gray-900, #111827);
    margin-bottom: 1rem;
    font-weight: 600;
}

body.st-account-page .woocommerce-MyAccount-content p {
    color: var(--st-woo-gray-600, #4b5563);
    line-height: 1.6;
}

body.st-account-page .woocommerce-MyAccount-content a {
    color: var(--st-woo-primary, #0066cc);
    text-decoration: none;
}

body.st-account-page .woocommerce-MyAccount-content a:hover {
    text-decoration: underline;
}

/* Orders Table */
body.st-account-page .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
}

body.st-account-page .woocommerce-orders-table th {
    background: var(--st-woo-gray-50, #f9fafb);
    padding: 1rem;
    text-align: left;
    font-weight: 600;
    color: var(--st-woo-gray-700, #374151);
    font-size: 0.875rem;
    border-bottom: 2px solid var(--st-woo-gray-200, #e5e7eb);
}

body.st-account-page .woocommerce-orders-table td {
    padding: 1rem;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb);
    color: var(--st-woo-gray-700, #374151);
}

body.st-account-page .woocommerce-orders-table tr:hover td {
    background: var(--st-woo-gray-50, #f9fafb);
}

body.st-account-page .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    background: var(--st-woo-primary, #0066cc);
    color: #fff;
    border-radius: var(--st-woo-radius-sm, 6px);
    font-size: 0.8125rem;
    font-weight: 500;
    transition: all 0.2s ease;
    margin-right: 0.5rem;
    margin-bottom: 0.25rem;
}

body.st-account-page .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:hover {
    background: var(--st-woo-primary-hover, #0052a3);
    text-decoration: none;
}

/* Addresses */
body.st-account-page .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

body.st-account-page .woocommerce-Address {
    background: var(--st-woo-gray-50, #f9fafb);
    padding: 1.5rem;
    border-radius: var(--st-woo-radius, 12px);
    border: 1px solid var(--st-woo-gray-200, #e5e7eb);
}

body.st-account-page .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--st-woo-gray-200, #e5e7eb);
}

body.st-account-page .woocommerce-Address-title h3 {
    margin: 0;
    font-size: 1rem;
}

body.st-account-page .woocommerce-Address-title a {
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
    background: #fff;
    border-radius: var(--st-woo-radius-sm, 6px);
    border: 1px solid var(--st-woo-gray-200, #e5e7eb);
}

body.st-account-page .woocommerce-Address address {
    font-style: normal;
    color: var(--st-woo-gray-600, #4b5563);
    line-height: 1.7;
}

/* Forms in My Account */
body.st-account-page .woocommerce-EditAccountForm,
body.st-account-page .woocommerce-address-fields {
    max-width: 600px;
}

body.st-account-page .woocommerce-EditAccountForm .woocommerce-form-row,
body.st-account-page .woocommerce-address-fields .form-row {
    margin-bottom: 1.25rem;
}

body.st-account-page .woocommerce-EditAccountForm label,
body.st-account-page .woocommerce-address-fields label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: var(--st-woo-gray-700, #374151);
    font-size: 0.9375rem;
}

body.st-account-page .woocommerce-EditAccountForm input[type="text"],
body.st-account-page .woocommerce-EditAccountForm input[type="email"],
body.st-account-page .woocommerce-EditAccountForm input[type="password"],
body.st-account-page .woocommerce-address-fields input[type="text"],
body.st-account-page .woocommerce-address-fields select {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 2px solid var(--st-woo-gray-200, #e5e7eb);
    border-radius: var(--st-woo-radius-sm, 6px);
    font-size: 0.9375rem;
    transition: all 0.2s ease;
}

body.st-account-page .woocommerce-EditAccountForm input:focus,
body.st-account-page .woocommerce-address-fields input:focus,
body.st-account-page .woocommerce-address-fields select:focus {
    outline: none;
    border-color: var(--st-woo-primary, #0066cc);
    box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.1);
}

body.st-account-page .woocommerce-EditAccountForm button[type="submit"],
body.st-account-page .woocommerce-address-fields button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 2rem;
    background: var(--st-woo-primary, #0066cc);
    color: #fff;
    border: none;
    border-radius: var(--st-woo-radius-sm, 6px);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

body.st-account-page .woocommerce-EditAccountForm button[type="submit"]:hover,
body.st-account-page .woocommerce-address-fields button[type="submit"]:hover {
    background: var(--st-woo-primary-hover, #0052a3);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 102, 204, 0.3);
}

/* ============================================
   RESPONSIVE STYLES
   ============================================ */
@media (max-width: 992px) {
    body.st-myaccount-layout-default .woocommerce-account .woocommerce,
    body.st-myaccount-layout-modern .st-myaccount-body {
        grid-template-columns: 1fr;
    }
    
    body.st-myaccount-layout-default .woocommerce-MyAccount-navigation,
    body.st-myaccount-layout-modern .woocommerce-MyAccount-navigation {
        position: static;
        margin-bottom: 1.5rem;
    }
    
    body.st-myaccount-layout-default .woocommerce-MyAccount-navigation ul,
    body.st-myaccount-layout-modern .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    
    body.st-myaccount-layout-default .woocommerce-MyAccount-navigation ul li,
    body.st-myaccount-layout-modern .woocommerce-MyAccount-navigation ul li {
        margin: 0;
    }
    
    body.st-myaccount-layout-default .woocommerce-MyAccount-navigation ul li a,
    body.st-myaccount-layout-modern .woocommerce-MyAccount-navigation ul li a {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
}

@media (max-width: 768px) {
    body.st-myaccount-layout-tabs .woocommerce-MyAccount-navigation ul {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 0.5rem;
    }
    
    body.st-myaccount-layout-tabs .woocommerce-MyAccount-navigation ul li a {
        padding: 0.75rem 1rem;
        white-space: nowrap;
        font-size: 0.875rem;
    }
    
    body.st-myaccount-layout-cards .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, 1fr);
    }
    
    body.st-myaccount-layout-cards .woocommerce-MyAccount-navigation ul li a {
        padding: 1rem;
        min-height: 100px;
        font-size: 0.875rem;
    }
    
    body.st-myaccount-layout-modern .woocommerce-account .woocommerce::before {
        height: 80px;
        margin-bottom: -40px;
    }
    
    body.st-myaccount-layout-modern .st-myaccount-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 0 1rem 1rem;
    }
    
    body.st-myaccount-layout-modern .st-myaccount-avatar {
        width: 80px;
        height: 80px;
    }
    
    body.st-account-page .woocommerce-orders-table {
        font-size: 0.875rem;
    }
    
    body.st-account-page .woocommerce-orders-table th,
    body.st-account-page .woocommerce-orders-table td {
        padding: 0.75rem 0.5rem;
    }
    
    body.st-account-page .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    body.st-myaccount-layout-cards .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr;
    }
    
    body.st-account-page .woocommerce-MyAccount-content {
        padding: 1rem !important;
    }
    
    body.st-account-page .woocommerce-orders-table thead {
        display: none;
    }
    
    body.st-account-page .woocommerce-orders-table tr {
        display: block;
        margin-bottom: 1rem;
        border: 1px solid var(--st-woo-gray-200, #e5e7eb);
        border-radius: var(--st-woo-radius-sm, 6px);
        padding: 1rem;
    }
    
    body.st-account-page .woocommerce-orders-table td {
        display: flex;
        justify-content: space-between;
        padding: 0.5rem 0;
        border: none;
    }
    
    body.st-account-page .woocommerce-orders-table td::before {
        content: attr(data-title);
        font-weight: 600;
        color: var(--st-woo-gray-700, #374151);
    }
}

/* ============================================
   DARK MODE SUPPORT
   ============================================ */
body.dark-mode.st-account-page .woocommerce-MyAccount-navigation {
    background: var(--st-dark-bg, #1a1a2e);
}

body.dark-mode.st-account-page .woocommerce-MyAccount-navigation ul li a {
    color: var(--st-dark-text, #e0e0e0);
}

body.dark-mode.st-account-page .woocommerce-MyAccount-navigation ul li a:hover {
    background: rgba(255, 255, 255, 0.05);
}

body.dark-mode.st-account-page .woocommerce-MyAccount-content {
    background: var(--st-dark-card-bg, #1a1a2e);
    border-color: var(--st-dark-border, #2d2d50);
}

body.dark-mode.st-account-page .woocommerce-MyAccount-content h2,
body.dark-mode.st-account-page .woocommerce-MyAccount-content h3 {
    color: var(--st-dark-heading, #fff);
}

body.dark-mode.st-account-page .woocommerce-MyAccount-content p {
    color: var(--st-dark-text, #e0e0e0);
}

body.dark-mode.st-account-page .woocommerce-orders-table th {
    background: rgba(255, 255, 255, 0.05);
    color: var(--st-dark-text, #e0e0e0);
    border-color: var(--st-dark-border, #2d2d50);
}

body.dark-mode.st-account-page .woocommerce-orders-table td {
    border-color: var(--st-dark-border, #2d2d50);
    color: var(--st-dark-text, #e0e0e0);
}

body.dark-mode.st-account-page .woocommerce-Address {
    background: rgba(255, 255, 255, 0.03);
    border-color: var(--st-dark-border, #2d2d50);
}

body.dark-mode.st-account-page .woocommerce-EditAccountForm input,
body.dark-mode.st-account-page .woocommerce-address-fields input,
body.dark-mode.st-account-page .woocommerce-address-fields select {
    background: var(--st-dark-bg, #0f0f1a);
    border-color: var(--st-dark-border, #2d2d50);
    color: var(--st-dark-text, #e0e0e0);
}

/* ==========================================================================
   DARK MODE — WooCommerce (3.5.3)

   Only the My Account screens had dark-mode rules. Shop, single product, cart
   and checkout kept their white panels and near-black text, so on a dark site
   those pages showed white blocks, and the high-specificity `html body...`
   rules in this file meant lighter overrides could not reach them. These use a
   matching `html body.dark-mode` prefix so they actually apply.
   ========================================================================== */

/* --- Shop loop ------------------------------------------------------------ */
html body.dark-mode.supertheme-woo ul.products li.product,
html body.dark-mode.st-shop ul.products li.product,
html body.dark-mode.st-single-product .related.products ul.products li.product,
html body.dark-mode.st-single-product .upsells.products ul.products li.product {
    background: var(--st-card-bg);
    border-color: var(--st-border);
    color: var(--st-text);
}

html body.dark-mode.supertheme-woo ul.products li.product .woocommerce-loop-product__title,
html body.dark-mode.supertheme-woo ul.products li.product h2,
html body.dark-mode.supertheme-woo ul.products li.product h3 {
    color: var(--st-heading);
}

html body.dark-mode.supertheme-woo ul.products li.product .price { color: var(--st-heading); }
html body.dark-mode.supertheme-woo ul.products li.product .price del { color: var(--st-gray-400); }
html body.dark-mode.supertheme-woo ul.products li.product .price ins { color: var(--st-primary); }

/* --- Shop toolbar and filters --------------------------------------------- */
html body.dark-mode.st-shop .st-shop-category-filter select,
html body.dark-mode.st-shop .st-shop-ordering select,
html body.dark-mode.supertheme-woo .woocommerce-ordering select {
    background: var(--st-card-bg);
    border-color: var(--st-border);
    color: var(--st-text);
}
html body.dark-mode .st-shop-toolbar,
html body.dark-mode .st-shop-sidebar,
html body.dark-mode .st-shop-widget {
    background: var(--st-card-bg);
    border-color: var(--st-border);
    color: var(--st-text);
}
html body.dark-mode .st-shop-result-count { color: var(--st-gray-400); }

/* --- Pagination ----------------------------------------------------------- */
html body.dark-mode.supertheme-woo nav.woocommerce-pagination ul li a,
html body.dark-mode.supertheme-woo nav.woocommerce-pagination ul li span {
    background: var(--st-card-bg);
    border-color: var(--st-border);
    color: var(--st-text);
}
html body.dark-mode.supertheme-woo nav.woocommerce-pagination ul li span.current,
html body.dark-mode.supertheme-woo nav.woocommerce-pagination ul li a:hover {
    background: var(--st-primary);
    color: #fff;
    border-color: var(--st-primary);
}

/* --- Single product ------------------------------------------------------- */
html body.dark-mode.st-single-product div.product,
html body.dark-mode.st-single-product .woocommerce-tabs,
html body.dark-mode.st-single-product section.related,
html body.dark-mode.st-single-product section.upsells,
html body.dark-mode.st-single-product .related.products,
html body.dark-mode.st-single-product .upsells.products {
    background: var(--st-card-bg);
    color: var(--st-text);
}
html body.dark-mode.st-single-product div.product .product_title,
html body.dark-mode.st-single-product div.product .price,
html body.dark-mode.st-single-product .woocommerce-tabs h2,
html body.dark-mode.st-single-product section.related > h2,
html body.dark-mode.st-single-product section.upsells > h2 {
    color: var(--st-heading);
}
html body.dark-mode.st-single-product .woocommerce-tabs ul.tabs li {
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--st-border);
}
html body.dark-mode.st-single-product .woocommerce-tabs ul.tabs li a { color: var(--st-text); }
html body.dark-mode.st-single-product .woocommerce-tabs ul.tabs li.active {
    background: var(--st-card-bg);
    border-bottom-color: var(--st-card-bg);
}
html body.dark-mode.st-single-product .woocommerce-tabs ul.tabs li.active a { color: var(--st-heading); }
html body.dark-mode.st-single-product .woocommerce-product-details__short-description { color: var(--st-text); }
html body.dark-mode.st-single-product table.variations,
html body.dark-mode.st-single-product table.variations td { border-color: var(--st-border); }

/* --- Cart ----------------------------------------------------------------- */
html body.dark-mode.st-cart-page .woocommerce-cart-form,
html body.dark-mode.st-cart-page .cart_totals,
html body.dark-mode.st-cart-page .cross-sells,
html body.dark-mode.st-cart-page .cart-empty,
html body.dark-mode.st-cart-page .cart-empty.woocommerce-info,
html body.dark-mode.st-cart-page.st-cart-layout-default .cart_totals,
html body.dark-mode.st-cart-page.st-cart-layout-default .woocommerce-cart-form,
html body.dark-mode.st-cart-page.st-cart-layout-minimal .woocommerce-cart-form,
html body.dark-mode.st-cart-page.st-cart-layout-modern .cart_totals,
html body.dark-mode.st-cart-page.st-cart-layout-modern table.shop_table tbody tr.cart_item {
    background: var(--st-card-bg);
    border-color: var(--st-border);
    color: var(--st-text);
}
html body.dark-mode.st-cart-page table.shop_table th,
html body.dark-mode.st-cart-page table.shop_table td {
    color: var(--st-text);
    border-color: var(--st-border);
}
html body.dark-mode.st-cart-page table.shop_table thead th,
html body.dark-mode.st-cart-page .cart_totals h2,
html body.dark-mode.st-cart-page .product-name a {
    color: var(--st-heading);
}
html body.dark-mode.st-cart-page .coupon #coupon_code,
html body.dark-mode.st-cart-page .coupon #coupon_code:focus {
    background: var(--st-bg);
    border-color: var(--st-border);
    color: var(--st-text);
}

/* --- Checkout ------------------------------------------------------------- */
html body.dark-mode.woocommerce-checkout #order_review,
html body.dark-mode.woocommerce-checkout .woocommerce-checkout-review-order-table,
html body.dark-mode.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
html body.dark-mode.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr,
html body.dark-mode.st-checkout-page .woocommerce-checkout-review-order-table,
html body.dark-mode.st-checkout-page #customer_details,
html body.dark-mode.st-checkout-page #payment {
    background: var(--st-card-bg);
    border-color: var(--st-border);
    color: var(--st-text);
}
html body.dark-mode.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total,
html body.dark-mode.st-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total {
    background: rgba(255, 255, 255, 0.05);
    color: var(--st-heading);
}
html body.dark-mode.st-checkout-page #payment ul.payment_methods {
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--st-border);
}
html body.dark-mode.st-checkout-page #payment ul.payment_methods li { border-color: var(--st-border); }
html body.dark-mode.st-checkout-page #payment div.payment_box {
    background: rgba(255, 255, 255, 0.06);
    color: var(--st-text);
}
html body.dark-mode.st-checkout-page #payment div.payment_box::before {
    border-bottom-color: rgba(255, 255, 255, 0.06);
}
html body.dark-mode.woocommerce-checkout h3,
html body.dark-mode.woocommerce-checkout .woocommerce-billing-fields h3,
html body.dark-mode.st-checkout-page label { color: var(--st-heading); }

/* --- Form fields (shared) -------------------------------------------------- */
html body.dark-mode.supertheme-woo input[type="text"],
html body.dark-mode.supertheme-woo input[type="email"],
html body.dark-mode.supertheme-woo input[type="tel"],
html body.dark-mode.supertheme-woo input[type="password"],
html body.dark-mode.supertheme-woo input[type="number"],
html body.dark-mode.supertheme-woo input[type="search"],
html body.dark-mode.supertheme-woo select,
html body.dark-mode.supertheme-woo textarea,
html body.dark-mode .select2-container--default .select2-selection--single {
    background: var(--st-bg);
    border-color: var(--st-border);
    color: var(--st-text);
}
html body.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--st-text);
}
html body.dark-mode .select2-dropdown {
    background: var(--st-card-bg);
    border-color: var(--st-border);
    color: var(--st-text);
}
html body.dark-mode .select2-container--default .select2-results__option[aria-selected="true"],
html body.dark-mode .select2-container--default .select2-results__option--highlighted {
    background: var(--st-primary);
    color: #fff;
}

/* --- Notices -------------------------------------------------------------- */
html body.dark-mode .woocommerce-message,
html body.dark-mode .woocommerce-info,
html body.dark-mode .woocommerce-error {
    background: rgba(255, 255, 255, 0.06);
    color: var(--st-text);
    border-color: var(--st-border);
}
html body.dark-mode .woocommerce-message a,
html body.dark-mode .woocommerce-info a { color: var(--st-link); }

/* --- Quantity, badges, mini cart ------------------------------------------ */
html body.dark-mode .quantity input.qty {
    background: var(--st-bg);
    border-color: var(--st-border);
    color: var(--st-text);
}
html body.dark-mode .widget_shopping_cart_content,
html body.dark-mode .st-mini-cart {
    background: var(--st-card-bg);
    color: var(--st-text);
    border-color: var(--st-border);
}
html body.dark-mode .st-mini-cart a { color: var(--st-text); }

/* Native controls (date pickers, scrollbars, autofill) follow the scheme. */
html body.dark-mode.supertheme-woo { color-scheme: dark; }

/* Accent buttons pick up the derived label colour in dark mode too. */
html body.dark-mode.supertheme-woo .button,
html body.dark-mode.supertheme-woo a.button,
html body.dark-mode.supertheme-woo button.button,
html body.dark-mode.supertheme-woo .single_add_to_cart_button,
html body.dark-mode.supertheme-woo #place_order,
html body.dark-mode.supertheme-woo .checkout-button {
    background: var(--st-primary);
    color: var(--st-on-primary, #fff);
    border-color: var(--st-primary);
}

/* ============================================
   ACCESSIBILITY
   ============================================ */

/* This file sets `outline: none` on focused fields and relies on a box-shadow
   ring instead, which disappears in forced-colours mode and was removed
   outright on the cart quantity field. The global :focus-visible rule in
   style.css uses :where(), so it has no specificity and loses to everything
   here. These rules restore a visible focus ring on shop pages. */
body.supertheme-woo a:focus-visible,
body.supertheme-woo button:focus-visible,
body.supertheme-woo input:focus-visible,
body.supertheme-woo select:focus-visible,
body.supertheme-woo textarea:focus-visible,
body.supertheme-woo [tabindex]:focus-visible,
body.supertheme-woo .button:focus-visible,
body.supertheme-woo .quantity .qty:focus-visible,
body.supertheme-woo .qty-btn:focus-visible {
    outline: 2px solid var(--st-woo-primary, #0066cc) !important;
    outline-offset: 2px !important;
    border-radius: 3px;
}

/* Keep the ring readable against a dark or coloured button */
body.supertheme-woo .button:focus-visible,
body.supertheme-woo button[type="submit"]:focus-visible,
body.supertheme-woo #place_order:focus-visible,
body.supertheme-woo .checkout-button:focus-visible {
    outline-offset: 3px !important;
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.6) !important;
}

/* The hover lifts and transitions above are declared with !important, so the
   reduced-motion block in style.css cannot switch them off. Repeated here at
   matching weight. */
@media (prefers-reduced-motion: reduce) {
    body.supertheme-woo *,
    body.supertheme-woo *::before,
    body.supertheme-woo *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    body.supertheme-woo a:hover,
    body.supertheme-woo button:hover,
    body.supertheme-woo .button:hover,
    body.supertheme-woo .product:hover,
    body.supertheme-woo li.product:hover,
    body.supertheme-woo .st-product-card:hover,
    body.supertheme-woo .checkout-button:hover,
    body.supertheme-woo #place_order:hover {
        transform: none !important;
    }
}

/* ============================================
   LOGIN / REGISTER (rewritten in 1.0.21)

   Self-contained: nothing here relies on WooCommerce's own stylesheet being
   loaded, and everything follows the theme's colour variables, so dark mode
   and the colour presets apply without extra rules.
   ============================================ */

/* 0. WooCommerce clears the floats of .col2-set with ::before / ::after. Once
   the container is a grid, those pseudo-elements become grid items of their
   own, pushing the real columns out of place: with four items in two columns,
   "Login" landed top right and "Register" bottom left, each next to an empty
   cell. The theme already hides these on product lists for the same reason.
   Also covers the Addresses page, which uses the same .u-columns markup. */
html body.st-account-page .u-columns::before,
html body.st-account-page .u-columns::after,
html body.st-account-page #customer_login::before,
html body.st-account-page #customer_login::after {
    content: none !important;
    display: none !important;
}

/* 1. Form basics shared by every account form (login, register, lost password,
   account details, addresses). */
html body.st-account-page .woocommerce-form .form-row {
    display: block;
    margin: 0 0 1.1rem;
    padding: 0;
}
html body.st-account-page .woocommerce-form label {
    display: block;
    margin: 0 0 0.4rem;
    font-weight: 600;
    line-height: 1.4;
}
html body.st-account-page .woocommerce-form .input-text,
html body.st-account-page .woocommerce-form input[type="text"],
html body.st-account-page .woocommerce-form input[type="email"],
html body.st-account-page .woocommerce-form input[type="password"],
html body.st-account-page .woocommerce-form input[type="tel"] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.75rem 0.95rem;
    line-height: 1.5;
}
html body.st-account-page .password-input {
    display: block;
    position: relative;
    width: 100%;
}

/* 2. Logged out: the page is a login page, never a sidebar or dashboard grid.
   The "sidebar" account layout made .woocommerce a 280px + 1fr grid, so the
   login block was shoved right of an empty 280px column. These rules out-rank
   the layout rules, which are !important. */
html body.woocommerce-account.st-account-page:not(.logged-in) .st-woo-content > .woocommerce,
html body.woocommerce-account.woocommerce-page.st-account-page:not(.logged-in) .woocommerce {
    display: block !important;
    grid-template-columns: none !important;
    /* Measured, not guessed: across text colours from #111827 to #4b5563 on white,
       and light greys on dark cards, a 66% mix keeps the field border at 3:1 or
       better (WCAG 1.4.11) and an 82% mix keeps secondary text at 4.5:1 (1.4.3).
       A pale grey border, the usual choice, fails both. */
    --st-auth-field-border: color-mix(in srgb, var(--st-text, #1f2937) 66%, var(--st-card-bg, #fff));
    --st-auth-muted: color-mix(in srgb, var(--st-text, #1f2937) 82%, var(--st-card-bg, #fff));
}
html body.st-account-page:not(.logged-in) .woocommerce-notices-wrapper {
    max-width: 960px;
    margin-inline: auto;
}

/* 3. The two cards. Equal width and height side by side; one centred column on
   tablets and phones. The field border is a mid-tone derived from the text
   colour rather than a pale grey (see the contrast note in section 2). */
html body.st-account-page #customer_login {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 2rem;
    width: 100%;
    max-width: 960px;
    margin: 2rem auto 4rem;
    padding: 0;
    float: none;
}
html body.st-account-page #customer_login > .u-column1,
html body.st-account-page #customer_login > .u-column2,
html body.st-account-page:not(.logged-in) .woocommerce:has(> form.woocommerce-form-login):not(:has(> #customer_login)),
html body.st-account-page:not(.logged-in) .woocommerce:has(> form.lost_reset_password) {
    display: flex;
    flex-direction: column;
    float: none;
    min-width: 0;
    background: var(--st-card-bg, #fff);
    border: 1px solid var(--st-border, #e5e7eb);
    border-radius: var(--st-woo-radius-lg, 16px);
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 14px 34px -14px rgba(16, 24, 40, 0.14);
}
html body.st-account-page #customer_login > .u-column1,
html body.st-account-page #customer_login > .u-column2 {
    width: auto;
    margin: 0;
    padding: 2.25rem;
}

/* One form only (registration switched off) or the lost-password page: the
   wrapper itself becomes the single centred card. !important is needed to beat
   the account wrapper's own resets. */
html body.st-account-page:not(.logged-in) .woocommerce:has(> form.woocommerce-form-login):not(:has(> #customer_login)),
html body.st-account-page:not(.logged-in) .woocommerce:has(> form.lost_reset_password) {
    max-width: 480px !important;
    margin: 2rem auto 4rem !important;
    padding: 2.25rem !important;
}

/* Headings: no rule under them, the card edge is enough. */
html body.st-account-page #customer_login > .u-column1 > h2,
html body.st-account-page #customer_login > .u-column2 > h2,
html body.st-account-page:not(.logged-in) .woocommerce > h2 {
    margin: 0 0 1.5rem;
    padding: 0;
    border: 0;
    font-size: 1.5rem;
    line-height: 1.25;
}

/* No card inside the card. WooCommerce draws its own bordered box around
   form.login and form.register. */
html body.st-account-page:not(.logged-in) .woocommerce form.woocommerce-form,
html body.st-account-page:not(.logged-in) .woocommerce form.lost_reset_password {
    display: flex;
    /* Start from the content's own height and stretch to fill: `flex: 1` would
       start from 0% and depend on the engine growing it back. */
    flex: 1 1 auto;
    flex-direction: column;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: start;
}

/* 4. Fields. 16px text stops iOS zooming the page when a field is focused. */
html body.st-account-page:not(.logged-in) .woocommerce form .form-row {
    float: none;
    width: 100%;
    margin: 0 0 1.1rem;
    padding: 0;
}
html body.st-account-page:not(.logged-in) .woocommerce form label {
    margin: 0 0 0.4rem;
    font-size: 0.875rem;
    color: var(--st-heading, var(--st-text));
}
html body.st-account-page:not(.logged-in) .woocommerce form label .required {
    color: var(--st-danger, #dc3545);
    border: 0;
    text-decoration: none;
}
html body.st-account-page:not(.logged-in) .woocommerce form .input-text,
html body.st-account-page:not(.logged-in) .woocommerce form input[type="text"],
html body.st-account-page:not(.logged-in) .woocommerce form input[type="email"],
html body.st-account-page:not(.logged-in) .woocommerce form input[type="password"],
html body.st-account-page:not(.logged-in) .woocommerce form input[type="tel"] {
    min-height: 3rem;
    padding: 0.7rem 0.95rem;
    font: inherit;
    font-size: 1rem;
    color: var(--st-text);
    background: var(--st-card-bg, #fff);
    border: 1px solid var(--st-auth-field-border, #8c929b);
    border-radius: 10px;
    box-shadow: none;
}
html body.st-account-page:not(.logged-in) .woocommerce form .input-text:focus,
html body.st-account-page:not(.logged-in) .woocommerce form input[type="text"]:focus,
html body.st-account-page:not(.logged-in) .woocommerce form input[type="email"]:focus,
html body.st-account-page:not(.logged-in) .woocommerce form input[type="password"]:focus {
    border-color: var(--st-primary);
    /* A transparent outline keeps a visible focus ring in forced-colours mode. */
    outline: 2px solid transparent;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--st-primary) 22%, transparent);
}

/* Password reveal button, inside the field's trailing edge. */
html body.st-account-page:not(.logged-in) .woocommerce form .password-input input {
    padding-inline-end: 3rem;
}
html body.st-account-page:not(.logged-in) .woocommerce form .show-password-input {
    position: absolute;
    top: 50%;
    inset-inline-end: 0.5rem;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--st-text);
    opacity: 0.75;
    cursor: pointer;
}
html body.st-account-page:not(.logged-in) .woocommerce form .show-password-input:hover,
html body.st-account-page:not(.logged-in) .woocommerce form .show-password-input:focus-visible {
    opacity: 1;
}

/* 5. Remember me, button, lost password. */
html body.st-account-page:not(.logged-in) .woocommerce form label.woocommerce-form-login__rememberme {
    display: flex !important;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    margin: 0 0 1.25rem;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.3;
    cursor: pointer;
}
html body.st-account-page:not(.logged-in) .woocommerce form label.woocommerce-form-login__rememberme input {
    flex-shrink: 0;
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
    accent-color: var(--st-primary);
}
html body.st-account-page:not(.logged-in) .woocommerce form label.woocommerce-form-login__rememberme span {
    display: inline;
}
html body.st-account-page:not(.logged-in) .woocommerce form .woocommerce-button,
html body.st-account-page:not(.logged-in) .woocommerce form button[type="submit"] {
    /* Block with centred text rather than a flex box: the padding the theme gives
       every .button (!important) already makes it tall enough, and a flex <button>
       is handled inconsistently between browsers. */
    display: block !important;
    text-align: center;
    width: 100%;
    min-height: 3rem;
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    white-space: normal;
}
/* On the register card the button sits at the foot, so both cards end level. */
html body.st-account-page #customer_login .woocommerce-form-register .form-row:has(> .woocommerce-form-register__submit) {
    margin: auto 0 0;
    padding-top: 0.5rem;
}
html body.st-account-page:not(.logged-in) .woocommerce form p.woocommerce-LostPassword.lost_password {
    margin: 1.25rem 0 0;
    font-size: 0.9rem;
    text-align: center;
}
html body.st-account-page:not(.logged-in) .woocommerce form p.woocommerce-LostPassword a,
html body.st-account-page:not(.logged-in) .woocommerce form div.woocommerce-privacy-policy-text a {
    color: var(--st-link, var(--st-primary));
    text-decoration: underline;
    text-underline-offset: 3px;
}
html body.st-account-page:not(.logged-in) .woocommerce form p:not(.form-row) {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--st-auth-muted, var(--st-text));
}
html body.st-account-page:not(.logged-in) .woocommerce form div.woocommerce-privacy-policy-text p {
    font-size: 0.8125rem;
    line-height: 1.55;
}

/* 6. Dark mode: the borders carry the card, not a shadow. */
html body.dark-mode.st-account-page #customer_login > .u-column1,
html body.dark-mode.st-account-page #customer_login > .u-column2 {
    box-shadow: none;
}

/* 7. Tablets and phones. */
@media (max-width: 860px) {
    html body.st-account-page #customer_login {
        grid-template-columns: minmax(0, 480px);
        justify-content: center;
    }
}
@media (max-width: 480px) {
    html body.st-account-page #customer_login {
        gap: 1.25rem;
        margin: 1rem auto 3rem;
    }
    html body.st-account-page #customer_login > .u-column1,
    html body.st-account-page #customer_login > .u-column2 {
        padding: 1.5rem 1.25rem;
    }
    html body.st-account-page:not(.logged-in) .woocommerce:has(> form.woocommerce-form-login):not(:has(> #customer_login)),
    html body.st-account-page:not(.logged-in) .woocommerce:has(> form.lost_reset_password) {
        margin: 1rem auto 3rem !important;
        padding: 1.5rem 1.25rem !important;
    }
    html body.st-account-page #customer_login > .u-column1 > h2,
    html body.st-account-page #customer_login > .u-column2 > h2,
    html body.st-account-page:not(.logged-in) .woocommerce > h2 {
        font-size: 1.25rem;
        margin-bottom: 1.25rem;
    }
}

/* ============================================
   PRODUCT GRIDS OUTSIDE THE SHOP (1.0.20)

   [products] shortcodes, search results and pages built with the section
   builder use the base grid, which had no breakpoints at all: the desktop
   column count stayed on tablets and phones. These columns adapt to the width
   available rather than a fixed count, since there is no shop setting here.
   ============================================ */
@media (max-width: 1200px) {
    body.supertheme-woo:not(.st-shop) ul.products {
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
    }
}
@media (max-width: 480px) {
    body.supertheme-woo:not(.st-shop) ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem !important;
    }
}

/* Lets a long title or price shrink instead of stretching its column. */
body.supertheme-woo ul.products > li.product {
    min-width: 0 !important;
}


/* ============================================
   RELATED PRODUCTS COLUMNS (1.0.20)

   Related and upsell grids had proper 3 / 2 / 1 breakpoints, but two later
   "force full width" rules re-declared `repeat(4, 1fr) !important` after them
   and, being later at equal specificity, overrode every breakpoint: related
   products stayed 4 across on phones. Every rule now reads one variable.
   ============================================ */
.related.products ul.products,
.upsells.products ul.products { --st-related-cols: 4; }

@media (max-width: 1200px) {
    .related.products ul.products,
    .upsells.products ul.products { --st-related-cols: 3; }
}
@media (max-width: 768px) {
    .related.products ul.products,
    .upsells.products ul.products { --st-related-cols: 2; }
}
