/*
Theme Name: WCH - Wedding Closet Hub
Theme URI: https://weddingclosethub.com
Author: WCH Team
Author URI: https://weddingclosethub.com
Description: A multi-vendor wedding dress marketplace theme. Requires WooCommerce and WCFM Marketplace.
Version: 2.0.0
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: stillwhite
Tags: e-commerce, woocommerce, marketplace, wedding, custom-logo, custom-menu

WCH - Wedding Closet Hub WordPress Theme
*/

/* ============================================
   THEME VARIABLES & BASE STYLES
   ============================================ */

:root {
    /* Primary Colors */
    --primary: #000;
    --primary-opacity: rgba(0, 0, 0, 0.8);
    --primary-dark: #333;
    --primary-light: #222;

    /* Text Colors */
    --text-dark: #000;
    --text-muted: #6c757d;
    --text-light: #999;

    /* Background Colors */
    --bg-cream: #fff;
    --bg-light: #fff;
    --bg-dark: #000;

    /* Border & UI */
    --border-color: #e5e5e5;
    --white: #ffffff;

    /* Fonts */
    --font-heading: 'Futura', sans-serif;
    --font-body: 'Futura', sans-serif;
}

/* Base Styles */
body {
    font-family: var(--font-body);
    color: var(--text-dark);
    background: var(--white);
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

a {
    color: var(--primary);
    transition: color 0.3s ease;
}

a:hover {
    color: var(--primary-dark);
}

/* Primary Button */
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--white) !important;
}

.btn-primary:hover,
button.btn-primary:hover,
input[type="submit"].btn-primary:hover {
    background: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
}

.btn-primary:focus,
.btn-primary:active {
    background: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.25) !important;
}

/* Outline Button */
.btn-outline-primary {
    color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.btn-outline-primary:hover {
    background: var(--primary) !important;
    color: var(--white) !important;
}

/* Links with primary color */
.text-primary {
    color: var(--primary) !important;
}

/* Form Focus States */
.form-control:focus,
.form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.15);
}

/* ============================================
   CRITICAL OVERRIDES FOR HOMEPAGE
   ============================================ */

/* Designer Slider - Circle Images */
#designers .items-circle .item-photo {
    width: 100px !important;
    height: 100px !important;
    border-radius: 0 !important;
    background-size: cover !important;
    background-position: center !important;
    margin: 0 auto 10px !important;
    display: block !important;
}

#designers .items {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    padding: 10px 0 !important;
    list-style: none !important;
}

#designers .items-circle {
    flex: 0 0 120px !important;
    width: 120px !important;
    text-align: center !important;
}

/* Product Grid - Featured/Reduced/Sold Tabs */
.items.isotope {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 16px !important;
    position: relative !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 16px !important;
    list-style: none !important;
}

.items.isotope > li,
.items.isotope > .product-item {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    float: none !important;
    padding: 0 !important;
}

.items.isotope .item-photo {
    position: relative !important;
    width: 100% !important;
    padding-bottom: 150% !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: center !important;
}

.items.isotope .item-photo img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}

.items.isotope .item-actions {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 5 !important;
}

.items.isotope .item-caption {
    position: absolute !important;
    bottom: 8px !important;
    left: 8px !important;
    z-index: 5 !important;
}

.items.isotope .item-title {
    padding: 12px 0 !important;
}

/* Responsive Grid */
@media (max-width: 1399px) {
    .items.isotope {
        grid-template-columns: repeat(5, 1fr) !important;
    }
}

@media (max-width: 1199px) {
    .items.isotope {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (max-width: 991px) {
    .items.isotope {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 12px !important;
    }
    #designers .items-circle {
        flex: 0 0 100px !important;
        width: 100px !important;
    }
    #designers .items-circle .item-photo {
        width: 80px !important;
        height: 80px !important;
    }
}

@media (max-width: 767px) {
    .items.isotope {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        padding: 0 10px !important;
    }
    #designers .items-circle {
        flex: 0 0 80px !important;
        width: 80px !important;
    }
    #designers .items-circle .item-photo {
        width: 60px !important;
        height: 60px !important;
    }
}

/* ============================================
   RELATED PRODUCTS SECTION
   ============================================ */

section.related-products,
.related-products {
    padding: 40px 0 !important;
    background: #fff !important;
    margin: 0 !important;
    width: 100% !important;
    display: block !important;
}

section.related-products .container-fluid,
.related-products .container-fluid,
body .related-products .container-fluid {
    max-width: 100% !important;
    padding: 0 15px !important;
    width: 100% !important;
    display: block !important;
}

section.related-products h3.related-products-title,
.related-products-title,
h3.related-products-title {
    font-family: 'Futura', sans-serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    margin-bottom: 24px !important;
    text-align: center !important;
    display: block !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

section.related-products ul.related-products-grid,
ul.related-products-grid,
.related-products-grid {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 16px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    flex-wrap: unset !important;
    flex-direction: unset !important;
}

section.related-products ul.related-products-grid > li,
ul.related-products-grid > li,
.related-products-grid > li,
li.related-product-item,
.related-product-item {
    position: relative !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.related-product-item a,
li.related-product-item > a {
    text-decoration: none !important;
    color: inherit !important;
    display: block !important;
}

.related-product-item a:hover {
    text-decoration: none !important;
}

.related-product-photo {
    position: relative !important;
    width: 100% !important;
    padding-bottom: 150% !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background-color: #fff !important;
    height: 0 !important;
}

.related-product-photo img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
    max-width: 100% !important;
}

.related-product-item:hover .related-product-photo img {
    transform: scale(1.05) !important;
}

.related-product-actions {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 5 !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
}

.related-product-item:hover .related-product-actions {
    opacity: 1 !important;
}

.related-product-actions .item-watchlist {
    width: 36px !important;
    height: 36px !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.2s ease !important;
}

.related-product-actions .item-watchlist:hover {
    background: #fff !important;
    transform: scale(1.1) !important;
}

.related-product-actions .item-watchlist i {
    font-size: 16px !important;
    color: #212529 !important;
}

.related-product-badge {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 4px 10px;
    border-radius: 0;
    font-size: 12px;
    font-weight: 500;
}

.related-product-info {
    padding: 12px 0;
}

.related-product-title {
    font-size: 14px;
    font-weight: 500;
    color: #212529;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.related-product-meta {
    font-size: 12px;
    display: block;
    margin-bottom: 4px;
}

.related-product-price {
    font-size: 14px;
    font-weight: 400;
    color: #212529;
}

.related-product-price del {
    color: #868e96;
    font-weight: 400;
    margin-right: 6px;
}

.related-product-price ins {
    text-decoration: none;
}

/* Related Products Responsive */
@media (max-width: 1399px) {
    section.related-products ul.related-products-grid,
    ul.related-products-grid,
    .related-products-grid {
        grid-template-columns: repeat(5, 1fr) !important;
    }
}

@media (max-width: 1199px) {
    section.related-products ul.related-products-grid,
    ul.related-products-grid,
    .related-products-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (max-width: 991px) {
    section.related-products ul.related-products-grid,
    ul.related-products-grid,
    .related-products-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 12px !important;
    }
    section.related-products h3.related-products-title,
    .related-products-title,
    h3.related-products-title {
        font-size: 20px !important;
    }
}

@media (max-width: 767px) {
    section.related-products ul.related-products-grid,
    ul.related-products-grid,
    .related-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    section.related-products,
    .related-products {
        padding: 30px 0 !important;
    }
    section.related-products h3.related-products-title,
    .related-products-title,
    h3.related-products-title {
        font-size: 18px !important;
        margin-bottom: 16px !important;
    }
    .related-product-title {
        font-size: 13px !important;
    }
    .related-product-actions {
        opacity: 1 !important;
    }
}

/* Ultra-specific grid enforcement */
body .related-products .related-products-grid,
body section.related-products ul.related-products-grid,
.woocommerce .related-products ul.related-products-grid,
.woocommerce-page .related-products ul.related-products-grid {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 16px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

body .related-products .related-products-grid > li,
body section.related-products ul.related-products-grid > li,
.woocommerce .related-products ul.related-products-grid > li {
    position: relative !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: block !important;
}

/* ============================================
   WOOCOMMERCE DEFAULT RELATED PRODUCTS OVERRIDE
   (Fallback if template not loaded)
   ============================================ */

section.related.products {
    padding: 40px 0 !important;
    background: #fff !important;
    margin: 0 !important;
}

section.related.products > h2 {
    font-size: 24px !important;
    font-weight: 600 !important;
    margin-bottom: 24px !important;
    text-align: center !important;
    padding: 0 15px !important;
}

section.related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 16px !important;
    list-style: none !important;
    padding: 0 15px !important;
    margin: 0 !important;
}

section.related.products ul.products li.product {
    position: relative !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

section.related.products ul.products li.product a.woocommerce-LoopProduct-link {
    text-decoration: none !important;
    color: inherit !important;
    display: block !important;
}

section.related.products ul.products li.product a.woocommerce-LoopProduct-link img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2/3 !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    margin: 0 !important;
    transition: transform 0.3s ease !important;
}

section.related.products ul.products li.product:hover img {
    transform: scale(1.02) !important;
}

section.related.products ul.products li.product h2.woocommerce-loop-product__title {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #212529 !important;
    margin: 12px 0 4px !important;
    padding: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

section.related.products ul.products li.product .price {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #212529 !important;
    display: block !important;
}

section.related.products ul.products li.product .price del {
    color: #868e96 !important;
    font-weight: 400 !important;
    margin-right: 6px !important;
}

section.related.products ul.products li.product .price ins {
    text-decoration: none !important;
}

/* Hide Add to Cart button on related products */
section.related.products ul.products li.product a.add_to_cart_button,
section.related.products ul.products li.product a.button {
    display: none !important;
}

/* Related Products WooCommerce Responsive */
@media (max-width: 1399px) {
    section.related.products ul.products {
        grid-template-columns: repeat(5, 1fr) !important;
    }
}

@media (max-width: 1199px) {
    section.related.products ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (max-width: 991px) {
    section.related.products ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 12px !important;
    }
    section.related.products > h2 {
        font-size: 20px !important;
    }
}

@media (max-width: 767px) {
    section.related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    section.related.products {
        padding: 30px 0 !important;
    }
    section.related.products > h2 {
        font-size: 18px !important;
        margin-bottom: 16px !important;
    }
    section.related.products ul.products li.product h2.woocommerce-loop-product__title {
        font-size: 13px !important;
    }
}

/* ============================================
   WISHLIST ACTIVE STATE
   ============================================ */

.item-watchlist.active i,
.watchlist-button.active i,
.item-watchlist i.text-danger,
.watchlist-button i.text-danger {
    color: #500809 !important;
}

.item-watchlist.active,
.watchlist-button.active {
    background: #fff !important;
}

/* Footer Alignment Fix */
.footer-base-right {
    text-align: right;
}

@media (max-width: 767px) {
    .footer-base-right {
        text-align: left;
        margin-top: 10px;
    }
}

/* ============================================
   MAKE AN OFFER MODAL
   ============================================ */

#makeOfferModal .modal-dialog {
    max-width: 480px !important;
}

#makeOfferModal .modal-content {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
}

#makeOfferModal .modal-header {
    padding: 20px 24px 10px !important;
    border-bottom: none !important;
}

#makeOfferModal .modal-title {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #212529 !important;
}

#makeOfferModal .modal-header .close {
    padding: 0 !important;
    margin: 0 !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    color: #6c757d !important;
    opacity: 1 !important;
    line-height: 1 !important;
}

#makeOfferModal .modal-header .close:hover {
    color: #212529 !important;
}

#makeOfferModal .modal-body {
    padding: 16px 24px 24px !important;
}

#makeOfferModal .media {
    display: flex !important;
    align-items: center !important;
    background: #fff !important;
    border-radius: 0 !important;
    padding: 12px !important;
}

#makeOfferModal .media img {
    width: 60px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    margin-right: 12px !important;
}

#makeOfferModal .media-body p {
    margin: 0 !important;
}

#makeOfferModal .media-body .w-medium {
    font-weight: 500 !important;
    color: #212529 !important;
    font-size: 14px !important;
}

#makeOfferModal .form-group {
    margin-bottom: 16px !important;
}

#makeOfferModal .form-group label {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #212529 !important;
    margin-bottom: 6px !important;
}

#makeOfferModal .form-control {
    border: 1px solid #dee2e6 !important;
    border-radius: 0 !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#makeOfferModal .form-control:focus {
    border-color: #212529 !important;
    box-shadow: 0 0 0 3px rgba(33, 37, 41, 0.1) !important;
    outline: none !important;
}

#makeOfferModal .form-control-lg {
    padding: 12px 14px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
}

#makeOfferModal .input-group-text {
    background: #fff !important;
    border: 1px solid #dee2e6 !important;
    border-right: none !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #6c757d !important;
}

#makeOfferModal .input-group .form-control {
    border-radius: 0 !important;
}

#makeOfferModal .form-text {
    font-size: 12px !important;
    color: #6c757d !important;
    margin-top: 4px !important;
}

#makeOfferModal textarea.form-control {
    resize: none !important;
    min-height: 80px !important;
}

#makeOfferModal .alert-light {
    background: #fff !important;
    border: 1px solid #e9ecef !important;
    border-radius: 0 !important;
    padding: 12px 14px !important;
}

#makeOfferModal .alert-light small {
    font-size: 13px !important;
    color: #6c757d !important;
    line-height: 1.5 !important;
}

#makeOfferModal .btn-primary {
    background: var(--primary) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    transition: background 0.2s ease !important;
}

#makeOfferModal .btn-primary:hover {
    background: var(--primary-dark) !important;
}

#makeOfferModal .btn-primary:disabled {
    background: #6c757d !important;
    cursor: not-allowed !important;
}

#makeOfferModal #offerSuccess {
    padding: 20px 0 !important;
}

#makeOfferModal #offerSuccess i {
    font-size: 48px !important;
    color: #000 !important;
    margin-bottom: 16px !important;
}

#makeOfferModal #offerSuccess h5 {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}

#makeOfferModal #offerSuccess p {
    font-size: 14px !important;
    color: #6c757d !important;
    margin-bottom: 20px !important;
}

#makeOfferModal .alert-danger {
    border-radius: 0 !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
}

/* Modal Backdrop */
.modal-backdrop.show {
    opacity: 0.5 !important;
}

/* ============================================
   UNIFIED HEADER STYLES
   ============================================ */

/* ============================================
   HEADER — Single Row Layout
   ============================================ */
.wch-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: 15px 0;
    transition: all 0.3s ease;
}

.wch-header.header-solid {
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
}

.wch-header .navbar {
    padding: 0;
}

/* Brand Name (replaces logo) */
.wch-header .navbar-brand {
    padding: 0;
    margin-right: 0;
    font-family: 'Futura', sans-serif;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #000;
    text-decoration: none;
}

.wch-header .navbar-brand:hover {
    color: #000;
}

.wch-header .navbar-brand .brand-short {
    display: none;
}

.wch-header .mobile-buy-sell {
    display: none;
}

.wch-header .mobile-nav {
    display: none;
}

/* Nav Links */
.wch-header .navbar-nav {
    gap: 5px;
}

.wch-header .nav-link {
    font-family: 'Futura', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #000;
    padding: 10px 12px !important;
    transition: color 0.3s;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wch-header .nav-link:hover,
.wch-header .nav-link.active {
    color: #000;
    opacity: 0.6;
}

.wch-header .navbar-toggler {
    border: none;
    padding: 8px;
    font-size: 18px;
    color: #000;
}

.wch-header .navbar-toggler i {
    -webkit-text-stroke: 1px #fff;
}

.wch-header .navbar-toggler:focus {
    box-shadow: none;
}

/* Header Nav Icons */
.wch-header .nav-icons {
    display: flex;
    align-items: center;
    gap: 15px;
}

.wch-header .nav-icon {
    color: #000;
    font-size: 18px;
    transition: opacity 0.3s;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wch-header .nav-icon:hover {
    opacity: 0.5;
    color: #000;
}

.wch-header .nav-icon-dropdown {
    position: relative;
}

.wch-header .nav-icon-dropdown .dropdown-menu {
    min-width: 180px;
    border: 1px solid #e5e5e5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border-radius: 0;
    padding: 8px 0;
    margin-top: 10px;
    background: #fff;
}

.wch-header .nav-icon-dropdown .dropdown-item {
    padding: 10px 20px;
    font-family: 'Futura', sans-serif;
    font-size: 13px;
    color: #333;
    transition: all 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.wch-header .nav-icon-dropdown .dropdown-item:hover {
    background: #fff;
    color: #000;
}

.wch-header .cart-icon,
.wch-header .nav-icon {
    position: relative;
}

.wch-header .cart-count {
    position: absolute;
    top: -5px;
    right: -8px;
    background: #000;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    width: 18px;
    height: 18px;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Sell Button in Header */
.wch-header .btn-sell-nav {
    background: #000;
    color: #fff;
    padding: 10px 25px;
    border-radius: 0;
    font-family: 'Futura', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s;
    margin-left: 10px;
}

.wch-header .btn-sell-nav:hover {
    background: #333;
    color: #fff;
}

/* Header Dropdown Menu */
.wch-header .dropdown-menu {
    border: 1px solid #e5e5e5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border-radius: 0;
    padding: 8px 0;
    margin-top: 10px;
}

.wch-header .dropdown-item {
    padding: 10px 20px;
    font-family: 'Futura', sans-serif;
    font-size: 13px;
    color: #333;
    transition: all 0.2s;
}

.wch-header .dropdown-item:hover {
    background: #fff;
    color: #000;
}

.wch-header .dropdown-divider {
    margin: 8px 0;
}

/* Mega Menu */
.nav-mega {
    position: relative;
}

.mega-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    width: 680px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid #e5e5e5;
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s ease;
    z-index: 1000;
}

.nav-mega:hover .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.mega-menu-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    padding: 28px 36px;
}

.mega-col {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 16px;
    border-right: 1px solid #e5e5e5;
}

.mega-col:last-child {
    border-right: none;
}

.mega-heading {
    font-family: 'Futura', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #000;
    padding: 8px 10px;
    margin-bottom: 2px;
}

.mega-link {
    display: block;
    padding: 7px 10px;
    font-family: 'Futura', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #555;
    text-decoration: none;
    transition: color 0.2s;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.mega-link:hover {
    color: #000;
    background: transparent;
}

.mega-link-bold {
    font-weight: 500;
    color: #000;
}

/* Mobile Menu Overlay */
.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Main Content Padding */
#site-content {
    padding-top: 70px;
}

/* Homepage — solid header, hero below it */
.home-page #site-content,
body.home #site-content {
    padding-top: 0;
    overflow-x: hidden;
}

/* Shop page */
.shop-page #site-content {
    padding-top: 70px;
}

/* ============================================
   HEADER — Responsive
   ============================================ */
@media (max-width: 991px) {
    /* Reduce header vertical padding on mobile */
    .wch-header {
        padding: 8px 0;
    }

    /* Reduce px-4 padding on mobile */
    .wch-header .container-fluid.px-4 {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* Mobile header layout: [☰] [WCH] ... [user] [Buy | Sell] */
    .wch-header .navbar-toggler {
        order: -1;
        margin-right: 10px;
    }

    .wch-header .navbar-brand {
        order: 0;
        margin-right: auto;
    }

    .wch-header .navbar-brand .brand-full {
        display: none;
    }

    .wch-header .navbar-brand .brand-short {
        display: inline;
    }

    .wch-header .nav-icons {
        order: 1;
        gap: 10px;
    }

    /* Hide wishlist, messages, cart on mobile */
    .wch-header .nav-icons > a.nav-icon[title="Wishlist"],
    .wch-header .nav-icons > a.nav-icon[title="Messages"],
    .wch-header .nav-icons > a.nav-icon.cart-icon {
        display: none;
    }

    .wch-header .btn-sell-nav {
        display: none;
    }

    /* Show mobile Buy | Sell */
    .wch-header .mobile-buy-sell {
        display: flex;
        align-items: center;
        gap: 6px;
        font-family: 'Futura', sans-serif;
        font-size: 13px;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .wch-header .mobile-buy-sell a {
        color: #000;
        text-decoration: none;
        transition: opacity 0.3s;
    }

    .wch-header .mobile-buy-sell a:hover {
        opacity: 0.6;
    }

    .wch-header .mobile-buy-sell-divider {
        color: #ccc;
        font-weight: 300;
    }

    /* Mobile slide-in menu */
    .wch-header .navbar-collapse {
        position: fixed;
        top: 0;
        left: -300px;
        width: 280px;
        height: 100vh;
        background: #fff;
        padding: 20px 0 30px;
        transition: left 0.3s ease;
        z-index: 1001;
        overflow-y: auto;
    }

    .wch-header .navbar-collapse.show {
        left: 0;
    }

    /* Hide desktop nav, show mobile nav */
    .wch-header .desktop-nav {
        display: none !important;
    }

    .wch-header .mobile-nav {
        display: flex !important;
        flex-direction: column;
        gap: 0;
        padding: 0;
        margin: 0;
    }

    .wch-header .mobile-nav .nav-link {
        padding: 14px 24px !important;
        border-bottom: 1px solid #f0f0f0;
        font-family: 'Futura', sans-serif;
        font-size: 14px;
        font-weight: 500;
        color: #000;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .wch-header .mobile-nav .nav-link:hover {
        background: #f8f8f8;
    }

    .wch-header .mobile-nav-icon {
        width: 20px;
        text-align: center;
        font-size: 15px;
        color: #555;
    }

    /* Close button */
    .wch-header .mobile-nav-close {
        display: flex;
        justify-content: flex-end;
        padding: 8px 16px 16px;
        list-style: none;
    }

    .wch-header .mobile-nav-close-btn {
        background: none;
        border: none;
        font-size: 22px;
        color: #000;
        cursor: pointer;
        padding: 5px;
    }

    /* Divider */
    .wch-header .mobile-nav-divider {
        height: 1px;
        background: #e5e5e5;
        margin: 8px 24px;
        list-style: none;
    }

    /* Messages badge */
    .wch-header .mobile-nav-badge {
        background: #000;
        color: #fff;
        font-size: 11px;
        font-weight: 600;
        padding: 2px 7px;
        border-radius: 10px;
        margin-left: auto;
    }

    /* Mobile submenu */
    .wch-header .mobile-nav-has-sub {
        list-style: none;
    }

    .wch-header .mobile-nav-parent {
        position: relative;
    }

    .wch-header .mobile-nav-arrow {
        margin-left: auto;
        font-size: 11px;
        color: #999;
        transition: transform 0.3s;
    }

    .wch-header .mobile-nav-has-sub.open .mobile-nav-arrow {
        transform: rotate(180deg);
    }

    .wch-header .mobile-sub-menu {
        display: none;
        list-style: none;
        padding: 0;
        margin: 0;
        background: #f8f8f8;
    }

    .wch-header .mobile-nav-has-sub.open .mobile-sub-menu {
        display: block;
    }

    .wch-header .mobile-sub-menu li a {
        display: block;
        padding: 10px 24px 10px 56px;
        font-family: 'Futura', sans-serif;
        font-size: 13px;
        font-weight: 400;
        color: #333;
        text-decoration: none;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border-bottom: 1px solid #eee;
    }

    .wch-header .mobile-sub-menu li a:hover {
        background: #f0f0f0;
        color: #000;
    }

    .wch-header .mobile-sub-menu .mobile-sub-heading {
        padding: 12px 24px 4px 56px;
        font-family: 'Futura', sans-serif;
        font-size: 11px;
        font-weight: 600;
        color: #999;
        text-transform: uppercase;
        letter-spacing: 1px;
        border-bottom: none;
    }

    /* Logout link */
    .wch-header .mobile-nav-logout {
        color: #999 !important;
    }

    /* Sell your Item button (non-logged-in) */
    .wch-header .mobile-nav-sell-btn {
        padding: 12px 24px !important;
        list-style: none;
    }

    .wch-header .mobile-nav-sell-btn .nav-link {
        border: 2px solid #000 !important;
        background: #fff;
        color: #000 !important;
        text-align: center;
        justify-content: center;
        font-weight: 600;
        padding: 12px 20px !important;
        border-bottom: 2px solid #000 !important;
    }

    .wch-header .navbar-nav {
        flex-direction: column;
        gap: 0;
    }

    .wch-header .nav-link {
        padding: 15px 0 !important;
        border-bottom: 1px solid #e5e5e5;
    }

    .wch-header .dropdown-menu {
        box-shadow: none;
        border-radius: 0;
        padding-left: 15px;
        margin: 0;
        border: none;
        background: transparent;
    }

    /* Mega menu mobile */
    .mega-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        display: none;
        width: 100%;
        background: #fff;
    }

    .nav-mega.open .mega-menu {
        display: block;
    }

    .mega-menu-inner {
        grid-template-columns: 1fr;
        padding: 0 0 10px;
        gap: 0;
    }

    .mega-col {
        padding: 8px 0;
        border-right: none;
        border-bottom: 1px solid #e5e5e5;
    }

    .mega-col:last-child {
        border-bottom: none;
    }

    .mega-heading {
        padding: 8px 0;
        color: #000;
    }

    .mega-link {
        padding: 8px 0;
        border-radius: 0;
        color: #333;
    }

    .mega-link-bold {
        color: #000;
    }

    /* Adjust site-content padding to match actual mobile header height */
    #site-content {
        padding-top: 42px;
    }

    /* Homepage — hero flush under header, no white gap */
    .home-page #site-content,
    body.home #site-content {
        padding-top: 0;
    }

    .shop-page #site-content {
        padding-top: 42px;
    }
}

@media (max-width: 576px) {
    .wch-header .nav-icons {
        gap: 6px;
    }

    .wch-header .nav-icon {
        font-size: 16px;
    }

    .wch-header .navbar-brand {
        font-size: 16px;
        letter-spacing: 2px;
    }

    .wch-header .mobile-buy-sell {
        font-size: 12px;
        gap: 4px;
    }
}

/* ============================================
   UNIFIED FOOTER STYLES
   ============================================ */

.wch-footer {
    background: var(--bg-cream);
    padding: 40px 0 0;
    font-family: var(--font-body);
}

.wch-footer .footer-main {
    display: grid;
    grid-template-columns: 100px 1fr 220px;
    gap: 30px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
}

/* Footer Logo */
.wch-footer .footer-brand {
    display: flex;
    align-items: flex-start;
}

.wch-footer .footer-logo img,
.wch-footer .footer-logo svg,
.wch-footer .footer-logo-img {
    width: auto;
    height: 40px;
    max-width: 100px;
    object-fit: contain;
}

/* Footer Links */
.wch-footer .footer-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.wch-footer .footer-col {
    min-width: 0;
}

.wch-footer .footer-title {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-dark);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 12px;
    font-family: var(--font-body);
}

.wch-footer .footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wch-footer .footer-menu li {
    margin-bottom: 8px;
}

.wch-footer .footer-menu a {
    color: var(--text-muted);
    font-size: 13px;
    text-decoration: none;
    transition: color 0.3s;
}

.wch-footer .footer-menu a:hover {
    color: var(--primary);
}

/* Newsletter */
.wch-footer .footer-newsletter {
    min-width: 0;
}

.wch-footer .newsletter-form {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.wch-footer .newsletter-form input {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid var(--border-color);
    border-radius: 0;
    font-size: 13px;
    font-family: var(--font-body);
    background: var(--white);
    transition: border-color 0.3s;
}

.wch-footer .newsletter-form input:focus {
    outline: none;
    border-color: var(--primary);
}

.wch-footer .newsletter-form button {
    width: 40px;
    height: 40px;
    border-radius: 0;
    background: var(--primary);
    border: none;
    color: var(--white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s;
    flex-shrink: 0;
    font-size: 13px;
}

.wch-footer .newsletter-form button:hover {
    background: var(--primary-dark);
}

/* Footer Social */
.wch-footer .footer-social {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 16px 0;
    flex-wrap: wrap;
}

.wch-footer .footer-social a {
    color: var(--text-dark);
    font-size: 12px;
    text-decoration: none;
    transition: color 0.3s;
}

.wch-footer .footer-social a:hover {
    color: var(--primary);
}

.wch-footer .social-divider {
    color: var(--border-color);
    font-size: 11px;
}

/* Footer Bottom */
.wch-footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-top: 1px solid var(--border-color);
    flex-wrap: wrap;
    gap: 12px;
}

.wch-footer .footer-copyright {
    font-size: 12px;
    color: var(--text-muted);
}

.wch-footer .footer-legal {
    display: flex;
    gap: 20px;
}

.wch-footer .footer-legal a {
    font-size: 12px;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.3s;
}

.wch-footer .footer-legal a:hover {
    color: var(--primary);
}

.wch-footer .footer-credit {
    font-size: 12px;
    color: var(--text-muted);
}

.wch-footer .footer-credit strong {
    color: var(--text-dark);
}

/* Footer Responsive */
@media (max-width: 1199px) {
    .wch-footer .footer-main {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .wch-footer .footer-brand {
        justify-content: center;
    }

    .wch-footer .footer-links {
        justify-items: center;
        text-align: center;
    }

    .wch-footer .footer-newsletter {
        text-align: center;
        max-width: 320px;
        margin: 0 auto;
    }

    .wch-footer .newsletter-form {
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .wch-footer {
        padding: 30px 0 0;
    }

    .wch-footer .footer-main {
        gap: 20px;
        padding-bottom: 20px;
    }

    .wch-footer .footer-links {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .wch-footer .footer-title {
        margin-bottom: 10px;
    }

    .wch-footer .footer-menu li {
        margin-bottom: 6px;
    }

    .wch-footer .footer-social {
        padding: 12px 0;
    }

    .wch-footer .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 8px;
        padding: 12px 0;
    }

    .wch-footer .footer-legal {
        gap: 12px;
    }
}

/* ============================================
   NEWSLETTER MESSAGE STYLES
   ============================================ */

.newsletter-message {
    margin-top: 12px;
    padding: 12px 16px;
    border-radius: 0;
    font-size: 14px;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.newsletter-message-success {
    background: #F6F6F5;
    color: #000;
    border: 1px solid #e5e5e5;
}

.newsletter-message-error {
    background: #F6F6F5;
    color: #500809;
    border: 1px solid #e5e5e5;
}

@media (max-width: 767px) {
    .newsletter-message {
        font-size: 13px;
        padding: 10px 14px;
        text-align: center;
    }
}

/* ============================================
   FEATURED PRODUCT BADGE (Premium Listings)
   ============================================ */

/* Hide premium/featured badges globally */
.featured-badge,
.stillwhite-featured-badge,
.reduced-badge,
.sp-img-badge {
    display: none !important;
}

/* Shop Page Featured Badge */
.stillwhite-featured-badge {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    background: #000;
    color: #fff;
    padding: 5px 14px;
    border-radius: 0;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    white-space: nowrap;
}

.stillwhite-featured-badge i {
    font-size: 9px;
}

/* WooCommerce Shop Loop Product Featured */
.woocommerce ul.products li.product {
    position: relative;
}

.woocommerce ul.products li.product .stillwhite-featured-badge {
    top: 8px;
}

/* Featured products have gold border on hover */
.woocommerce ul.products li.product.is-featured {
    position: relative;
}

.woocommerce ul.products li.product.is-featured a.woocommerce-LoopProduct-link {
    display: block;
    position: relative;
}

.woocommerce ul.products li.product.is-featured a.woocommerce-LoopProduct-link::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 0;
    background: #000;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s;
}

.woocommerce ul.products li.product.is-featured:hover a.woocommerce-LoopProduct-link::before {
    opacity: 1;
}

/* ============================================
   MY ACCOUNT — PRODUCT SECTIONS
   (Recently Viewed, Wishlist, Recommended)
   Uses same card structure as shop/archive page
   ============================================ */
.wch-myaccount .wch-acc-product-sections {
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.wch-myaccount .wch-acc-section-title {
    font-family: 'Futura', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 20px;
}

.wch-myaccount .wch-acc-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px 40px;
    list-style: none;
    padding: 0;
    margin: 0;
}

@media (max-width: 1199px) {
    .wch-myaccount .wch-acc-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 55px 32px;
    }
}

@media (max-width: 991px) {
    .wch-myaccount .wch-acc-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 50px 28px;
    }
}

@media (max-width: 576px) {
    .wch-myaccount .wch-acc-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 48px 12px;
    }
}

/* Product card styles (matching archive page) */
.wch-myaccount .product-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.wch-myaccount .product-card a {
    text-decoration: none;
    color: inherit;
}

.wch-myaccount .product-image {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    height: 0 !important;
    padding-top: 133.33% !important;
    flex-shrink: 0;
    background: #fff;
    border: 2px solid #000;
}

.wch-myaccount .product-image > img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease;
}

.wch-myaccount .product-card:hover .product-image > img {
    transform: scale(1.03);
}

.wch-myaccount .product-badge {
    position: absolute;
    bottom: 15px;
    left: 15px;
    background: #000;
    color: #fff;
    padding: 6px 12px;
    border-radius: 0;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wch-myaccount .product-thumbnails {
    position: absolute;
    bottom: 15px;
    left: 15px;
    display: flex;
    gap: 8px;
}

.wch-myaccount .product-thumbnails .thumb {
    width: 36px;
    height: 36px;
    border-radius: 0;
    overflow: hidden;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    background: #fff;
}

.wch-myaccount .product-thumbnails .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wch-myaccount .product-thumbnails .thumb.more {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    background: #000;
    border-color: #000;
}

.wch-myaccount .product-info {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 15px 5px 0;
    gap: 10px;
}

.wch-myaccount .product-details {
    flex: 1;
    min-width: 0;
}

.wch-myaccount .product-name {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0 0 4px;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wch-myaccount .product-meta {
    font-size: 12px;
    color: #6c757d;
    margin: 0;
}

.wch-myaccount .product-price {
    text-align: right;
    white-space: nowrap;
}

.wch-myaccount .product-price .price {
    font-size: 15px;
    font-weight: 400;
    color: #000;
}

.wch-myaccount .product-price del {
    color: #6c757d;
    font-weight: 400;
    font-size: 12px;
}

/* ============================================
   MY ACCOUNT — BILLING/SHIPPING ADDRESS FIX
   ============================================ */
.woocommerce-account .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
    width: 100% !important;
    float: none !important;
    padding: 24px !important;
    border: 1px solid #e5e5e5 !important;
    background: #f8f8f8 !important;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address header.woocommerce-Address-title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #e5e5e5 !important;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h3 {
    font-family: 'Futura', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title .edit {
    font-size: 13px !important;
    color: #000 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address address {
    font-family: 'Futura', sans-serif !important;
    font-size: 15px !important;
    color: #333 !important;
    font-style: normal !important;
    line-height: 1.7 !important;
}

@media (max-width: 767px) {
    .woocommerce-account .woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================
   WOOCOMMERCE CART — PROCEED TO CHECKOUT
   ============================================ */
.woocommerce .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.checkout-button,
.wc-proceed-to-checkout a.checkout-button {
    background: #000 !important;
    color: #fff !important;
    border: 2px solid #000 !important;
    border-radius: 0 !important;
    font-family: 'Futura', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 16px 24px !important;
    display: block !important;
    text-align: center !important;
    transition: all 0.3s !important;
}

.woocommerce .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce a.checkout-button:hover,
.wc-proceed-to-checkout a.checkout-button:hover {
    background: #fff !important;
    color: #000 !important;
    border-color: #000 !important;
}

/* ============================================
   WOOCOMMERCE CART — HORIZONTAL ALIGNMENT
   (Product table + Cart Totals side by side)
   ============================================ */
.woocommerce-cart .woocommerce {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
}

.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
    width: 100% !important;
    flex: 0 0 100% !important;
}

.woocommerce-cart .woocommerce > form.woocommerce-cart-form {
    flex: 1 !important;
    min-width: 0 !important;
}

.woocommerce-cart .woocommerce > .cart-collaterals {
    flex: 0 0 360px !important;
    width: 360px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-family: 'Futura', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 16px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
    border: 1px solid #e5e5e5 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td {
    padding: 14px 16px !important;
    font-family: 'Futura', sans-serif !important;
    font-size: 15px !important;
    border-bottom: 1px solid #e5e5e5 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table th {
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    font-family: 'Futura', sans-serif !important;
    letter-spacing: 0.3px !important;
}

/* Cart table clean styles */
.woocommerce-cart table.shop_table {
    border: 1px solid #e5e5e5 !important;
    border-radius: 0 !important;
}

.woocommerce-cart table.shop_table th {
    font-family: 'Futura', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid #e5e5e5 !important;
}

.woocommerce-cart table.shop_table td {
    padding: 14px 16px !important;
    border-bottom: 1px solid #e5e5e5 !important;
    font-family: 'Futura', sans-serif !important;
    font-size: 15px !important;
    vertical-align: middle !important;
}

@media (max-width: 991px) {
    .woocommerce-cart .woocommerce {
        flex-direction: column !important;
    }

    .woocommerce-cart .woocommerce > .cart-collaterals {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
}

/* ============================================
   WOOCOMMERCE — PASSWORD VISIBILITY TOGGLE
   (WC layout CSS disabled by theme, so styles added here)
   ============================================ */
.woocommerce .password-input {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.woocommerce .password-input input[type="password"],
.woocommerce .password-input input[type="text"] {
    padding-right: 2.5rem;
}

.woocommerce .password-input input::-ms-reveal {
    display: none;
}

.woocommerce .show-password-input {
    background-color: transparent;
    border-radius: 0;
    border: 0;
    color: #000;
    cursor: pointer;
    font-size: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0.7em;
    text-decoration: none;
    top: 50%;
    transform: translateY(-50%);
    -webkit-appearance: none;
}

.woocommerce .show-password-input::before {
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23111111"/></svg>');
    content: '';
    display: block;
    height: 22px;
    width: 22px;
}

.woocommerce .show-password-input.display-password::before {
    background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%23111111"/></svg>');
}
