/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra Child Theme for Ginding Leather
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ============================================
   GLOBAL RESET & TYPOGRAPHY
   ============================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 13px;
    color: #1a1a1a;
    background: #fff;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
}

a { color: #000; text-decoration: none; }
a:hover { color: #555; }

h1, h2, h3, h4, h5, h6 {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-weight: 700;
    letter-spacing: 0.05em;
}

/* Remove Astra default spacing */
.ast-container { max-width: 100% !important; }
.entry-content, .site-content { padding: 0 !important; }

/* ============================================
   HEADER
   ============================================ */
.elementor-location-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #000 !important;
}

/* Nav menu left - show only left items */
.ginding-header .elementor-nav-menu > li > a {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #fff !important;
    font-weight: 400 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    line-height: 64px;
}
.ginding-header .elementor-nav-menu > li > a:hover,
.ginding-header .elementor-nav-menu > li.current-menu-item > a {
    color: #aaa !important;
    text-decoration: underline !important;
}

/* Dropdown mega menu */
.elementor-nav-menu .sub-menu {
    background: #000 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 25px 60px !important;
    min-width: 500px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 60px !important;
    left: 0 !important;
    top: 100% !important;
}

/* Hide sub-sub-menu arrows */
.elementor-nav-menu .sub-menu .menu-item-has-children > a::after { display: none !important; }

/* Column headers in mega menu (NEW ARRIVALS, CATEGORIES, etc) */
.elementor-nav-menu .sub-menu > .menu-item > a {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #fff !important;
    font-weight: 700 !important;
    padding: 0 0 15px 0 !important;
    display: block !important;
    white-space: nowrap;
}
.elementor-nav-menu .sub-menu > .menu-item > a:hover { color: #aaa !important; }

/* Sub-sub-menu items (categories list) */
.elementor-nav-menu .sub-menu .sub-menu {
    position: static !important;
    background: transparent !important;
    padding: 0 !important;
    min-width: 0 !important;
    display: block !important;
    flex-wrap: unset !important;
    gap: 0 !important;
    box-shadow: none !important;
}
.elementor-nav-menu .sub-menu .sub-menu > .menu-item > a {
    font-size: 11px !important;
    letter-spacing: 1px !important;
    color: #ccc !important;
    font-weight: 400 !important;
    padding: 4px 0 !important;
    display: block !important;
    white-space: nowrap;
}
.elementor-nav-menu .sub-menu .sub-menu > .menu-item > a:hover { color: #fff !important; }

/* Right nav */
.ginding-right-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
}
.ginding-right-nav a {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff !important;
    font-weight: 400;
    text-decoration: none;
    white-space: nowrap;
}
.ginding-right-nav a:hover { color: #aaa !important; }

/* Logo */
.elementor-location-header .elementor-widget-image img {
    filter: brightness(0) invert(1);
    max-height: 22px;
    width: auto !important;
}

/* Mobile hamburger */
.elementor-menu-toggle { color: #fff !important; }
.elementor-nav-menu--mobile { background: #000 !important; }
.elementor-nav-menu--mobile .elementor-nav-menu > li > a { color: #fff !important; }

/* ============================================
   HERO SLIDER
   ============================================ */
.elementor-slides-wrapper { height: 100vh !important; }
.elementor-slide {
    background-size: cover !important;
    background-position: center center !important;
}
.elementor-slide-content {
    padding: 0 0 70px 50px !important;
    text-align: left !important;
}
.elementor-slide-heading {
    font-size: 10px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    color: #fff !important;
    margin-bottom: 8px !important;
}
.elementor-slide-description {
    font-size: 26px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
}
.elementor-slide-button {
    background: #fff !important;
    color: #000 !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    padding: 10px 22px !important;
    display: inline-block !important;
    text-decoration: none !important;
}
.elementor-slide-button:hover { background: #f0f0f0 !important; color: #000 !important; }

/* Slider arrows (prev/next) */
.elementor-swiper-button-prev,
.elementor-swiper-button-next {
    width: 40px !important;
    height: 40px !important;
    color: #fff !important;
    font-size: 18px !important;
    opacity: 0.85;
    transition: opacity 0.2s, background 0.2s;
    background: rgba(0,0,0,0.15) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.elementor-swiper-button-prev:hover,
.elementor-swiper-button-next:hover {
    opacity: 1;
    background: rgba(0,0,0,0.3) !important;
}
.elementor-swiper-button-prev { left: 24px !important; }
.elementor-swiper-button-next { right: 24px !important; }
.elementor-swiper-button-prev svg,
.elementor-swiper-button-next svg { width: 16px !important; height: 16px !important; }
.swiper-pagination-bullet {
    background: rgba(255,255,255,0.5) !important;
    opacity: 1 !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    margin: 0 4px !important;
}
.swiper-pagination-bullet-active { background: #fff !important; }
.swiper-pagination { bottom: 30px !important; right: 40px !important; left: auto !important; text-align: right !important; }

/* ============================================
   PRODUCT GRID (general)
   ============================================ */
.woocommerce ul.products {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.woocommerce ul.products li.product {
    text-align: center;
    padding: 0 15px 40px !important;
    margin: 0 !important;
    float: none !important;
}
.woocommerce ul.products li.product a img {
    display: block;
    width: 100%;
    height: auto;
    transition: opacity 0.25s;
}
.woocommerce ul.products li.product a img:hover { opacity: 0.85; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    color: #000 !important;
    margin: 14px 0 4px !important;
    padding: 0 !important;
}
.woocommerce ul.products li.product .price {
    font-size: 11px !important;
    color: #000 !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px;
}
.woocommerce ul.products li.product .price del { color: #aaa !important; margin-right: 4px; }
.woocommerce ul.products li.product .price ins { text-decoration: none !important; color: #000 !important; }
/* Hide add-to-cart button from grid */
.woocommerce ul.products li.product .button { display: none !important; }
/* Hide star ratings in grid */
.woocommerce ul.products li.product .star-rating { display: none !important; }
/* Sale badge */
.woocommerce span.onsale {
    background: #000 !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-size: 9px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    padding: 4px 8px !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.4 !important;
}

/* ============================================
   SHOP PAGE – Sidebar
   ============================================ */
.elementor-widget-woocommerce-categories ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-widget-woocommerce-categories ul li a {
    font-size: 11px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #333 !important;
    display: block;
    padding: 5px 0 !important;
    border-bottom: 1px solid #eee;
    font-weight: 400 !important;
}
.elementor-widget-woocommerce-categories ul li a:hover { color: #000 !important; }
.elementor-widget-woocommerce-categories ul li.current-cat > a { font-weight: 700 !important; color: #000 !important; }

/* Sidebar section dividers */
.elementor-widget-woocommerce-product-filter .widget_price_filter .price_slider_wrapper .ui-slider {
    background: #ddd !important;
}
.elementor-widget-woocommerce-product-filter .widget_price_filter .ui-slider-range { background: #000 !important; }
.elementor-widget-woocommerce-product-filter .widget_price_filter .ui-slider-handle { background: #000 !important; border-color: #000 !important; }

/* ============================================
   SINGLE PRODUCT PAGE (PDF pages 9-18)
   ============================================ */
.woocommerce div.product {
    padding: 60px 60px 80px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 60px !important;
    align-items: flex-start !important;
}
.woocommerce div.product .woocommerce-product-gallery {
    flex: 0 0 48% !important;
    max-width: 48% !important;
    margin: 0 !important;
    float: none !important;
}
.woocommerce div.product .summary {
    flex: 0 0 46% !important;
    max-width: 46% !important;
    float: none !important;
    padding: 0 !important;
}
/* Thumbnail column on left */
.woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    align-items: flex-start !important;
}
.woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 64px !important;
    order: -1 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.woocommerce-product-gallery .flex-control-thumbs li { margin: 0 !important; }
.woocommerce-product-gallery .flex-control-thumbs li img {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    border: 1px solid #ddd !important;
    cursor: pointer;
    opacity: 0.6;
}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li img:hover { opacity: 1 !important; border-color: #000 !important; }
.woocommerce-product-gallery__wrapper { flex: 1; }

/* Product title */
.woocommerce div.product .product_title {
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #000 !important;
    margin-bottom: 8px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}
/* Price */
.woocommerce div.product .price {
    font-size: 13px !important;
    color: #000 !important;
    font-weight: 400 !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding-bottom: 20px !important;
}
/* Size label */
.woocommerce div.product .woocommerce-product-attributes-item__label {
    font-size: 10px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #000 !important;
    margin-bottom: 8px !important;
    display: block !important;
    padding: 0 !important;
}
/* OSFA pill */
.woocommerce div.product .woocommerce-product-attributes-item__value p,
.woocommerce div.product .woocommerce-product-attributes table td {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
}
/* Quantity */
.woocommerce div.product .quantity {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    border: 1px solid #ccc !important;
    width: fit-content !important;
    margin-bottom: 16px !important;
}
.woocommerce div.product .quantity .minus,
.woocommerce div.product .quantity .plus {
    background: #fff !important;
    border: none !important;
    width: 36px !important;
    height: 44px !important;
    font-size: 18px !important;
    cursor: pointer !important;
    color: #000 !important;
    line-height: 44px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.woocommerce div.product .quantity .qty {
    border: none !important;
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
    width: 50px !important;
    height: 44px !important;
    text-align: center !important;
    font-size: 13px !important;
    outline: none !important;
    -moz-appearance: textfield !important;
}
.woocommerce div.product .quantity .qty::-webkit-outer-spin-button,
.woocommerce div.product .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none !important; }
/* Add to Cart */
.woocommerce div.product form.cart .single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    background: #6b6b6b !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    padding: 14px 20px !important;
    margin-bottom: 10px !important;
    cursor: pointer !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    transition: background 0.2s;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: #555 !important; }
/* Buy It Now */
.woocommerce div.product .buy-it-now-button,
.single-product .wc-ppec-button-woo {
    display: block !important;
    width: 100% !important;
    background: #4a4a4a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 14px 20px !important;
    margin-bottom: 20px !important;
    cursor: pointer !important;
    text-align: center !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}
/* Accordion (KEY FEATURES, DIMENSIONS, MATERIAL DETAILS) */
.woocommerce-tabs {
    margin-top: 10px !important;
    border: none !important;
}
.woocommerce-tabs .wc-tabs { display: none !important; }
.woocommerce-product-details__short-description { margin-bottom: 20px; font-size: 12px; color: #555; }

/* Product attributes as accordion style */
.woocommerce-product-attributes { width: 100%; }
.woocommerce-product-attributes-item {
    border-top: 1px solid #e0e0e0 !important;
    padding: 14px 0 !important;
}
.woocommerce-product-attributes-item:last-child { border-bottom: 1px solid #e0e0e0 !important; }

/* ============================================
   COLLECTION HEADINGS (underline style from PDF)
   ============================================ */
.elementor-widget-heading .elementor-heading-title a {
    color: inherit !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}

/* ============================================
   WooCommerce Product Name + Price (archive)
   ============================================ */
.woocommerce ul.products.columns-4 li.product { width: 25% !important; }
.woocommerce ul.products.columns-2 li.product { width: 50% !important; }
.woocommerce ul.products { display: flex !important; flex-wrap: wrap !important; }

/* ============================================
   FOOTER
   ============================================ */
.elementor-location-footer {
    background: #5c5c5c;
}
.ftr-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.ftr-links li { margin-bottom: 8px; }
.ftr-links li a {
    font-size: 12px;
    color: #ccc !important;
    text-decoration: none;
    letter-spacing: 0.3px;
}
.ftr-links li a:hover { color: #fff !important; text-decoration: underline; }

/* Newsletter form */
.elementor-form .elementor-field-group { margin-bottom: 10px !important; }
.elementor-form input[type="email"] {
    background: transparent !important;
    border: 1px solid #888 !important;
    border-radius: 0 !important;
    color: #ccc !important;
    font-size: 12px !important;
    padding: 10px 12px !important;
    width: 100% !important;
    outline: none !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}
.elementor-form input[type="email"]::placeholder { color: #888 !important; }
.elementor-form .elementor-button {
    background: #888 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    padding: 11px 20px !important;
    width: 100% !important;
    cursor: pointer !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    transition: background 0.2s;
}
.elementor-form .elementor-button:hover { background: #666 !important; }

/* Footer bottom bar */
.ftr-bottom-bar {
    font-size: 11px;
    color: #ccc;
    letter-spacing: 1px;
    text-align: center;
}
.ftr-sep { margin: 0 8px; color: #999; }

/* ============================================
   LOGIN PAGE (PDF page 4)
   ============================================ */
.woocommerce-account .woocommerce {
    max-width: 400px;
    margin: 80px auto !important;
    padding: 0 20px;
}
/* Toggle behaviour: only one panel (Login or Register) visible at a time, switched via link */
.woocommerce-account .u-columns.col2-set {
    display: block !important;
}
.woocommerce-account .u-column1.col-1,
.woocommerce-account .u-column2.col-2 {
    width: 100% !important;
    float: none !important;
}
.woocommerce-account .u-column2.col-2 { display: none; }
.woocommerce-account.show-register .u-column1.col-1 { display: none; }
.woocommerce-account.show-register .u-column2.col-2 { display: block; }
.woocommerce-account .woocommerce-form-login {
    border: none !important;
    padding: 0 !important;
    text-align: center;
}
.woocommerce-account .woocommerce-form-login h2 {
    font-size: 14px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    color: #aaa !important;
    margin-bottom: 12px !important;
}
.woocommerce-account .woocommerce-form-login .woocommerce-form__label {
    display: none !important;
}
.woocommerce-account .woocommerce-form-login .woocommerce-Input {
    width: 100% !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
    color: #aaa !important;
    background: #fff !important;
    outline: none !important;
    margin-bottom: 10px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}
.woocommerce-account .woocommerce-form-login .woocommerce-Input::placeholder { color: #bbb !important; }
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme { display: none !important; }
.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword {
    float: right;
    font-size: 11px;
    color: #aaa;
    margin-top: -5px;
    margin-bottom: 14px;
    display: block;
}
.woocommerce-account .woocommerce-form-login .button {
    display: block !important;
    width: 100% !important;
    background: #7a7a7a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    padding: 14px !important;
    cursor: pointer !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    margin-bottom: 16px !important;
}
.woocommerce-account .do-not-have-account {
    font-size: 12px;
    color: #aaa;
    text-align: center;
    display: block;
    margin-top: 10px;
}
.woocommerce-account .do-not-have-account a { color: #aaa; text-decoration: underline; }

/* ============================================
   CART PAGE
   ============================================ */
.woocommerce-cart .woocommerce {
    padding: 60px !important;
}
.woocommerce table.cart {
    border: none !important;
    font-size: 12px !important;
}
.woocommerce table.cart th {
    font-size: 10px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #000 !important;
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding: 10px 0 !important;
}
.woocommerce table.cart td {
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 16px 0 !important;
    vertical-align: middle !important;
}
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: #000 !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    padding: 12px 24px !important;
    border: none !important;
    cursor: pointer !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: #333 !important; }

/* ============================================
   CHECKOUT PAGE
   ============================================ */
.woocommerce-checkout .woocommerce {
    padding: 60px !important;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
    font-size: 12px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
}
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea {
    border-radius: 0 !important;
    border: 1px solid #ddd !important;
    font-size: 12px !important;
    padding: 10px 12px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    outline: none !important;
}
.woocommerce-checkout #place_order {
    width: 100% !important;
    padding: 14px !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    background: #000 !important;
    color: #fff !important;
    border-radius: 0 !important;
    border: none !important;
    cursor: pointer !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}

/* ============================================
   PRESS / BLOG
   ============================================ */
.elementor-posts article {
    margin-bottom: 40px !important;
}
.elementor-posts .elementor-post__title a {
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    color: #000 !important;
    text-transform: uppercase;
}
.elementor-posts .elementor-post__meta-data {
    font-size: 10px !important;
    letter-spacing: 1px !important;
    color: #888 !important;
    text-transform: uppercase;
    margin-bottom: 8px !important;
}
.elementor-posts .elementor-post__read-more {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #000 !important;
    text-decoration: underline !important;
    font-weight: 400 !important;
}

/* ============================================
   RESPONSIVE MOBILE
   ============================================ */
@media (max-width: 768px) {
    /* Hero slider: header is solid (not transparent), so on mobile we cancel
       Elementor's auto-generated "pull hero up behind header" negative margin
       and instead size the hero to exactly fill the remaining space below the
       sticky 64px header. This guarantees zero gap regardless of any internal
       spacing differences between desktop/mobile header rendering. */
    .elementor-element-sec-hero.elementor-section {
        margin-top: 0 !important;
    }
    .elementor-element-sec-hero.elementor-section,
    .elementor-element-sec-hero > .elementor-container {
        min-height: calc(100svh - 52px) !important;
        min-height: calc(100dvh - 52px) !important;
    }
    .elementor-element-col-hero,
    .elementor-element-col-hero > .elementor-widget-wrap,
    .elementor-element-widget-slider,
    .elementor-widget-slides,
    .elementor-widget-slides .elementor-widget-container {
        height: 100% !important;
        min-height: calc(100svh - 52px) !important;
        min-height: calc(100dvh - 52px) !important;
    }
    .elementor-slides-wrapper {
        height: calc(100svh - 52px) !important;
        height: calc(100dvh - 52px) !important;
    }
    /* Elementor generates a hardcoded height:100vh directly on each .swiper-slide
       (higher specificity than .elementor-slides-wrapper, and this rule was the
       real cause of the leftover white gap on mobile - the wrapper alone was not
       enough since the slide element inside still forced full 100vh). */
    .elementor-widget-slides .swiper-slide {
        height: calc(100svh - 52px) !important;
        height: calc(100dvh - 52px) !important;
    }
    .elementor-slide-content { padding: 0 0 60px 24px !important; }
    .elementor-slide-description { font-size: 18px !important; }

    .elementor-location-header .elementor-section .elementor-row {
        flex-wrap: nowrap !important;
        align-items: center !important;
    }
    /* Show only logo + hamburger on mobile */
    .hdr-col-left .elementor-widget-nav-menu { display: none; }
    .hdr-col-right { display: none; }

    .woocommerce div.product { padding: 30px 20px !important; flex-direction: column !important; }
    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product .summary { flex: 0 0 100% !important; max-width: 100% !important; }

    .woocommerce ul.products.columns-4 li.product { width: 50% !important; }
    .woocommerce ul.products.columns-2 li.product { width: 100% !important; }

    .elementor-location-footer .elementor-column { flex: 0 0 100% !important; max-width: 100% !important; }

    .ftr-bottom-bar { font-size: 10px; }

    /* Shop sidebar hidden on mobile */
    .col-sidebar { display: none !important; }
    .col-shop-prods { flex: 0 0 100% !important; max-width: 100% !important; }
}

@media (max-width: 480px) {
    .woocommerce ul.products.columns-4 li.product { width: 100% !important; }
    .elementor-section.sec-axis,
    .elementor-section.sec-belt,
    .elementor-section.sec-bags { padding-left: 20px !important; padding-right: 20px !important; }
}

/* ============================================
   ASTRA OVERRIDES
   ============================================ */
/* Remove Astra header */
#masthead, #ast-mobile-header, .main-header-bar, .ast-mobile-header-wrap, .ast-main-header-wrap { display: none !important; }
/* Remove Astra footer */
#colophon { display: none !important; }
/* Remove Astra breadcrumbs */
.ast-breadcrumbs-wrapper { display: none !important; }
/* Remove Astra page title on shop */
.woocommerce-products-header { display: none !important; }
/* Remove default WooCommerce result count & ordering (we style via Elementor) */
.woocommerce-result-count { display: none !important; }
/* Keep page content full width */
#page, #content, #primary, #main {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}
.ast-article-post, .ast-single-post, .entry-content {
    padding: 0 !important;
    margin: 0 !important;
}
/* Hide skip link */
.skip-link, a.skip-link { display: none !important; position: absolute !important; left: -9999px !important; }

/* ============================================
   SHOP PAGE SIDEBAR FILTER (PDF page 8)
   ============================================ */

/* Sidebar column layout */
#col-sidebar,
.elementor-element[data-id="col-sidebar"] {
    border-right: 1px solid #e8e8e8;
    padding-right: 30px !important;
}

/* Filter block wrapper */
.ginding-filter-block {
    margin-bottom: 0;
    border-bottom: 1px solid #e0e0e0;
}
.ginding-filter-block:first-child {
    border-top: 1px solid #e0e0e0;
}

/* Filter title button */
.ginding-filter-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    padding: 14px 0;
    cursor: pointer;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #000;
    text-align: left;
}
.ginding-filter-title:hover { color: #555; }

.flt-icon {
    font-size: 16px;
    font-weight: 300;
    line-height: 1;
    transition: transform 0.2s;
}

/* Filter body */
.ginding-filter-body {
    padding-bottom: 14px;
}

/* Category list */
.ginding-cat-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.ginding-cat-list li {
    margin-bottom: 0 !important;
}
.ginding-cat-list li a {
    display: block;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #333;
    text-decoration: none;
    padding: 6px 0;
    border: none;
    transition: color 0.15s;
}
.ginding-cat-list li a:hover { color: #000; }
.ginding-cat-list li a.active,
.ginding-cat-list li.current-cat a {
    font-weight: 700;
    color: #000;
}

/* Availability checkboxes */
.ginding-avail-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.ginding-avail-list li {
    margin-bottom: 6px !important;
}
.ginding-avail-list label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #333;
    cursor: pointer;
}
.ginding-avail-list input[type="checkbox"] {
    width: 13px;
    height: 13px;
    border: 1px solid #ccc;
    border-radius: 0 !important;
    accent-color: #000;
    cursor: pointer;
    flex-shrink: 0;
}

/* Price range slider */
.ginding-price-filter {
    padding: 4px 0 8px;
}
/* Visual track line + filled range (behind the invisible range inputs) */
.price-slider-track {
    position: relative;
    height: 20px;
    margin-bottom: -20px;
    pointer-events: none;
}
.price-slider-track::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 7px;
    right: 7px;
    height: 2px;
    background: #ddd;
    transform: translateY(-50%);
}
.price-slider-range {
    position: absolute;
    top: 50%;
    height: 2px;
    background: #000;
    transform: translateY(-50%);
    z-index: 1;
}

.price-range-wrap {
    position: relative;
    height: 20px;
    margin-bottom: 12px;
}
.price-range-wrap input[type="range"] {
    position: absolute;
    width: 100%;
    height: 2px;
    margin: 0;
    background: transparent;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    top: 50%;
    transform: translateY(-50%);
}
.price-range-wrap input[type="range"]::-webkit-slider-runnable-track {
    -webkit-appearance: none;
    appearance: none;
    height: 2px;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}
.price-range-wrap input[type="range"]::-moz-range-track {
    -moz-appearance: none;
    appearance: none;
    height: 2px;
    background: transparent;
    border: none;
    box-shadow: none;
}
.price-range-wrap input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    background: #000 !important;
    background-image: none !important;
    border: none;
    border-radius: 50%;
    pointer-events: all;
    cursor: pointer;
    position: relative;
    z-index: 2;
    box-shadow: none;
}
.price-range-wrap input[type="range"]::-moz-range-thumb {
    -moz-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    background: #000 !important;
    background-image: none !important;
    border: none;
    border-radius: 50%;
    pointer-events: all;
    cursor: pointer;
    box-shadow: none;
}
.price-range-wrap input[type="range"]::-ms-thumb {
    width: 14px;
    height: 14px;
    background: #000 !important;
    border: none;
    border-radius: 50%;
    pointer-events: all;
    cursor: pointer;
}
.price-range-wrap input[type="range"]::-ms-track {
    background: transparent;
    border-color: transparent;
    color: transparent;
}
/* Ensure the min-price handle stays clickable/on top near the left edge */
#price-min { z-index: 3; }
#price-max { z-index: 2; }
.price-range-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 11px;
    color: #555;
    letter-spacing: 0.3px;
}
.price-filter-btn {
    width: 100%;
    padding: 8px 0;
    background: #000;
    color: #fff;
    border: none;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s;
}
.price-filter-btn:hover { background: #333; }

/* ============================================
   SHOP PRODUCT GRID within archive
   ============================================ */
.woocommerce ul.products.columns-4 li.product { width: 25% !important; }

/* Mobile: hide sidebar, full-width products */
@media (max-width: 768px) {
    .elementor-element[data-id="col-sidebar"] { display: none !important; }
    .elementor-element[data-id="col-shop-prods"] {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .woocommerce ul.products.columns-4 li.product { width: 50% !important; }
}
/* ============================================
   SINGLE PRODUCT PAGE - Mockup-accurate styling
   ============================================ */

/* ---- Gallery thumbnails: clear square boxes (like mockup) ---- */
/* WooCommerce + Astra render thumbnails via flexslider's flex-control-nav,
   generated client-side as <ol class="flex-control-nav flex-control-thumbs"> */
.woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
}
.woocommerce-product-gallery .flex-viewport {
    order: 2;
    flex: 1;
}
ol.flex-control-nav.flex-control-thumbs {
    order: 1;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 64px !important;
    flex-shrink: 0;
}
ol.flex-control-nav.flex-control-thumbs li {
    margin: 0 !important;
    padding: 0 !important;
    width: 64px !important;
    height: 64px !important;
}
ol.flex-control-nav.flex-control-thumbs li img {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    border: 1px solid #999 !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    cursor: pointer !important;
    display: block !important;
}
ol.flex-control-nav.flex-control-thumbs li img.flex-active,
ol.flex-control-nav.flex-control-thumbs li img:hover {
    border: 2px solid #000 !important;
}

/* ---- Field labels (SIZE / QUANTITY) ---- */
.ginding-field-label {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 700;
    color: #000;
    margin: 0 0 8px 0;
}

/* ---- SIZE pill ---- */
.ginding-size-block { margin-bottom: 24px; }
.ginding-size-pill {
    display: inline-block;
    border: 1px solid #ccc;
    padding: 6px 16px;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #000;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ---- QUANTITY stepper with +/- buttons ---- */
.woocommerce div.product form.cart .quantity {
    display: flex !important;
    align-items: stretch !important;
    border: 1px solid #ccc !important;
    width: fit-content !important;
    margin-bottom: 20px !important;
    position: relative;
}
.woocommerce div.product form.cart .quantity input.qty {
    border: none !important;
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
    width: 50px !important;
    height: 42px !important;
    text-align: center !important;
    font-size: 13px !important;
    outline: none !important;
    -moz-appearance: textfield !important;
    padding: 0 !important;
}
.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* ---- ADD TO CART (above Buy It Now) ---- */
.woocommerce div.product form.cart .single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    background: #6b6b6b !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    padding: 14px 20px !important;
    margin: 0 0 10px 0 !important;
    cursor: pointer !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}

/* ---- BUY IT NOW (directly below Add to Cart) ---- */
.buy-it-now-button {
    display: block !important;
    width: 100% !important;
    background: #4a4a4a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    padding: 14px 20px !important;
    margin: 0 !important;
    cursor: pointer !important;
    text-align: center !important;
    text-decoration: none !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}
.buy-it-now-button:hover { background: #3a3a3a !important; color: #fff !important; }

/* Force Add to Cart above Buy It Now using flex order, regardless of DOM hook order */
.woocommerce div.product form.cart {
    display: flex !important;
    flex-direction: column !important;
}
.woocommerce div.product form.cart .quantity { order: 0 !important; }
.woocommerce div.product form.cart .single_add_to_cart_button { order: 1 !important; }
.woocommerce div.product form.cart .buy-it-now-button { order: 2 !important; }

/* ---- Accordion directly below Buy It Now ---- */
.ginding-accordion {
    border-top: 1px solid #e0e0e0;
    margin-top: 24px;
}
.ginding-accordion-item { border-bottom: 1px solid #e0e0e0; }
.ginding-accordion-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    cursor: pointer;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 400;
    color: #000;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
}
.ginding-accordion-toggle::after {
    content: '+';
    font-size: 18px;
    font-weight: 300;
}
.ginding-accordion-toggle.open::after { content: '\2212'; }
.ginding-accordion-body {
    display: none;
    padding: 0 0 14px;
    font-size: 12px;
    color: #555;
    line-height: 1.6;
}
.ginding-accordion-body.open { display: block; }

/* ---- Hide related products / upsells (extra safety) ---- */
.related.products,
.upsells.products {
    display: none !important;
}
/* ============================================
   SEARCH PAGE (mockup search overlay style)
   ============================================ */
.ginding-search-form {
    display: flex;
    align-items: center;
    gap: 20px;
}
.ginding-search-form input[type="text"] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 22px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #111;
    background: transparent;
}
.ginding-search-form input[type="text"]::placeholder {
    color: #a8a6a2;
}
.ginding-search-submit {
    font-size: 22px;
    line-height: 1;
    background: none;
    border: none;
    cursor: pointer;
    color: #111;
    padding: 4px 8px;
}
.ginding-search-submit:hover { opacity: 0.6; }

.ginding-search-hint {
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #84827e;
    font-weight: 700;
    margin-bottom: 18px;
}
.ginding-search-tags {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.ginding-search-tags button {
    border: 1px solid #e0ded9;
    padding: 8px 16px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #fff;
    color: #111;
    cursor: pointer;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    transition: border-color 0.2s;
}
.ginding-search-tags button:hover { border-color: #111; }

.ginding-search-empty {
    text-align: center;
    padding: 60px 20px;
    color: #84827e;
    font-size: 14px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Hide default result count/ordering on search page (we show our own count) */
.search-results .woocommerce-result-count,
.search-results .woocommerce-ordering { display: none !important; }

@media (max-width: 600px) {
    .ginding-search-form input[type="text"] { font-size: 16px; }
    .ginding-search-tags button { font-size: 10px; padding: 6px 12px; }
}
/* ============================================
   REGISTER FORM (alongside Login, PDF page 4 style)
   ============================================ */
.woocommerce-account .woocommerce-form-register {
    border: none !important;
    padding: 0 !important;
    text-align: center;
}

.woocommerce-account .woocommerce-form-register h2 {
    font-size: 14px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    color: #aaa !important;
    margin-bottom: 12px !important;
}
.woocommerce-account .woocommerce-form-register .woocommerce-form__label {
    display: none !important;
}
.woocommerce-account .woocommerce-form-register .woocommerce-Input {
    width: 100% !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
    color: #aaa !important;
    background: #fff !important;
    outline: none !important;
    margin-bottom: 10px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}
.woocommerce-account .woocommerce-form-register .woocommerce-Input::placeholder { color: #bbb !important; }
.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-text {
    font-size: 10px !important;
    color: #aaa !important;
    margin-bottom: 14px !important;
    line-height: 1.5 !important;
}
.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-text a { color: #888 !important; text-decoration: underline; }
.woocommerce-account .woocommerce-form-register .woocommerce-form-row {
    text-align: left;
}
.woocommerce-account .woocommerce-form-register .button {
    display: block !important;
    width: 100% !important;
    background: #7a7a7a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    padding: 14px !important;
    cursor: pointer !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    margin-top: 6px !important;
}
.woocommerce-account .woocommerce-form-register .button:hover { background: #666 !important; }

/* Make Login/Register form-row inputs left-aligned text but keep h2 centered */
.woocommerce-account .woocommerce-form-login .woocommerce-form-row,
.woocommerce-account .woocommerce-form-register .woocommerce-form-row {
    text-align: left;
}
/* ============================================
   MY ACCOUNT DASHBOARD (logged-in state)
   ============================================ */
.ginding-account-dashboard .woocommerce {
    max-width: 1000px !important;
    margin: 60px auto !important;
    padding: 0 40px !important;
    display: flex !important;
    gap: 60px !important;
    align-items: flex-start !important;
}

/* ---- Sidebar navigation ---- */
.ginding-account-dashboard .woocommerce-MyAccount-navigation {
    flex: 0 0 220px !important;
    border-right: 1px solid #eee;
    padding-right: 30px;
}
.ginding-account-dashboard .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.ginding-account-dashboard .woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid #f0f0f0;
}
.ginding-account-dashboard .woocommerce-MyAccount-navigation li:first-child {
    border-top: 1px solid #f0f0f0;
}
.ginding-account-dashboard .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 13px 0;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #555;
    text-decoration: none;
    transition: color 0.15s;
}
.ginding-account-dashboard .woocommerce-MyAccount-navigation li a:hover {
    color: #000;
}
.ginding-account-dashboard .woocommerce-MyAccount-navigation li.is-active a,
.ginding-account-dashboard .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
    color: #000;
    font-weight: 700;
}
.ginding-account-dashboard .woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #999 !important;
}
.ginding-account-dashboard .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color: #000 !important;
}

/* ---- Content area ---- */
.ginding-account-dashboard .woocommerce-MyAccount-content {
    flex: 1 !important;
    min-width: 0 !important;
}
.ginding-account-dashboard .woocommerce-MyAccount-content > p {
    font-size: 13px;
    color: #555;
    line-height: 1.7;
    margin: 0 0 16px 0;
}
.ginding-account-dashboard .woocommerce-MyAccount-content > p:first-of-type strong {
    color: #000;
    font-weight: 700;
}
.ginding-account-dashboard .woocommerce-MyAccount-content a {
    color: #000;
    text-decoration: underline;
}
.ginding-account-dashboard .woocommerce-MyAccount-content a:hover {
    color: #555;
}

/* ---- Notices ---- */
.ginding-account-dashboard .woocommerce-notices-wrapper .woocommerce-message,
.ginding-account-dashboard .woocommerce-notices-wrapper .woocommerce-info,
.ginding-account-dashboard .woocommerce-notices-wrapper .woocommerce-error {
    border: 1px solid #e0e0e0 !important;
    background: #fafafa !important;
    border-radius: 0 !important;
    padding: 14px 18px !important;
    font-size: 12px !important;
    color: #333 !important;
    margin-bottom: 24px !important;
    list-style: none !important;
}
.ginding-account-dashboard .woocommerce-notices-wrapper .woocommerce-message::before,
.ginding-account-dashboard .woocommerce-notices-wrapper .woocommerce-info::before,
.ginding-account-dashboard .woocommerce-notices-wrapper .woocommerce-error::before {
    display: none !important;
}
.ginding-account-dashboard .woocommerce-notices-wrapper .woocommerce-Button.button {
    background: #000 !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 8px 16px !important;
    margin-left: 10px !important;
    text-decoration: none !important;
}

/* ---- Orders table ---- */
.ginding-account-dashboard .woocommerce-orders-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 12px !important;
}
.ginding-account-dashboard .woocommerce-orders-table th {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #000 !important;
    text-align: left !important;
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding: 10px 8px !important;
}
.ginding-account-dashboard .woocommerce-orders-table td {
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 14px 8px !important;
    color: #555 !important;
}
.ginding-account-dashboard .woocommerce-orders-table .button {
    background: transparent !important;
    border: 1px solid #ccc !important;
    color: #000 !important;
    border-radius: 0 !important;
    font-size: 10px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 6px 12px !important;
}

/* ---- Edit account / Address forms ---- */
.ginding-account-dashboard .woocommerce-EditAccountForm,
.ginding-account-dashboard .woocommerce-address-fields,
.ginding-account-dashboard .woocommerce-Address {
    max-width: 460px;
}
.ginding-account-dashboard .woocommerce-form-row {
    margin-bottom: 16px !important;
}
.ginding-account-dashboard .woocommerce-form-row label {
    display: block !important;
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #000 !important;
    margin-bottom: 8px !important;
}
.ginding-account-dashboard .woocommerce-form-row label .required {
    color: #999 !important;
    text-decoration: none !important;
}
.ginding-account-dashboard .woocommerce-Input {
    width: 100% !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    padding: 11px 14px !important;
    font-size: 12px !important;
    color: #333 !important;
    background: #fff !important;
    outline: none !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}
.ginding-account-dashboard select.woocommerce-Input {
    height: 42px !important;
}
.ginding-account-dashboard fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 24px 0 0 0 !important;
}
.ginding-account-dashboard fieldset legend {
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #000 !important;
    margin-bottom: 14px !important;
    padding: 0 !important;
}
.ginding-account-dashboard .woocommerce-Button.button,
.ginding-account-dashboard button.woocommerce-Button {
    display: inline-block !important;
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    padding: 13px 28px !important;
    cursor: pointer !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    margin-top: 10px !important;
}
.ginding-account-dashboard .woocommerce-Button.button:hover,
.ginding-account-dashboard button.woocommerce-Button:hover {
    background: #333 !important;
}

/* ---- Address card (edit-address landing page) ---- */
.ginding-account-dashboard .woocommerce-Addresses {
    display: flex !important;
    gap: 30px !important;
    flex-wrap: wrap !important;
}
.ginding-account-dashboard .woocommerce-Address {
    flex: 1 1 280px !important;
    border: 1px solid #eee !important;
    padding: 20px !important;
}
.ginding-account-dashboard .woocommerce-Address-title h3 {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: #000 !important;
    margin: 0 0 10px 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}
.ginding-account-dashboard .woocommerce-Address-title .edit {
    font-size: 10px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #888 !important;
    text-decoration: underline !important;
}
.ginding-account-dashboard .woocommerce-Address address {
    font-style: normal !important;
    font-size: 12px !important;
    color: #555 !important;
    line-height: 1.7 !important;
}

/* ---- Mobile ---- */
@media (max-width: 768px) {
    .ginding-account-dashboard .woocommerce {
        flex-direction: column !important;
        gap: 30px !important;
        padding: 0 20px !important;
    }
    .ginding-account-dashboard .woocommerce-MyAccount-navigation {
        flex: 0 0 auto !important;
        width: 100% !important;
        border-right: none !important;
        border-bottom: 1px solid #eee !important;
        padding-right: 0 !important;
        padding-bottom: 10px !important;
    }
    .ginding-account-dashboard .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0 16px !important;
    }
    .ginding-account-dashboard .woocommerce-MyAccount-navigation li {
        border: none !important;
    }
    .ginding-account-dashboard .woocommerce-Addresses {
        flex-direction: column !important;
    }
}
/* ============================================
   SINGLE BLOG POST - Featured Image
   ============================================ */
.ginding-single-featured-image {
    margin: 0 0 32px 0;
    width: 100%;
}
.ginding-single-featured-image img {
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: cover;
    display: block;
}

/* ============================================
   FIX: Buy It Now overlapping with Quantity
   on variable products (Size selector present).
   WooCommerce's default CSS turns
   .woocommerce-variation-add-to-cart into a flex
   row, squeezing Quantity + Buy It Now onto the
   same line. Force it back to normal block stacking
   so the existing DOM order (Quantity -> Add to Cart
   -> Buy It Now) renders vertically, matching the
   simple-product layout. No other styles touched.
   ============================================ */
.woocommerce div.product form.cart .variations_button,
.woocommerce-variation-add-to-cart {
    display: block !important;
}

/* ============================================
   FIX v2: Real root cause of Buy It Now overlap
   Astra parent theme's woocommerce-grid.min.css sets:
     form.cart div.quantity { float: left; }
     form.cart .button { float: left; }
   Our earlier display:block/width:100% overrides never
   cancelled the FLOAT itself, so Quantity and the
   Add to Cart button kept floating and overlapping
   with Buy It Now. This explicitly kills the float on
   all three elements so they stack in normal block flow
   in their natural order: Quantity -> Add to Cart ->
   Buy It Now. Nothing else is touched.
   ============================================ */
.woocommerce div.product form.cart div.quantity,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .buy-it-now-button,
.woocommerce-variation-add-to-cart div.quantity,
.woocommerce-variation-add-to-cart .single_add_to_cart_button,
.woocommerce-variation-add-to-cart .buy-it-now-button {
    float: none !important;
    clear: both !important;
}

/* ============================================
   MOBILE RESPONSIVE FIX: Product gallery
   Desktop layout keeps thumbnails as a left column
   next to the main image (flex-direction: row).
   On mobile that squeezes the main image too small.
   This ONLY applies under 768px: main image goes
   full width on top, thumbnails become a horizontal
   scrollable row below. Desktop rule above is untouched.
   ============================================ */
@media (max-width: 768px) {
    .woocommerce-product-gallery {
        flex-direction: column !important;
    }
    .woocommerce-product-gallery .flex-viewport {
        order: 1 !important;
        width: 100% !important;
    }
    ol.flex-control-nav.flex-control-thumbs {
        order: 2 !important;
        flex-direction: row !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    ol.flex-control-nav.flex-control-thumbs li,
    ol.flex-control-nav.flex-control-thumbs li img {
        width: 56px !important;
        height: 56px !important;
        flex-shrink: 0;
    }
}

/* ============================================
   MOBILE HEADER REVAMP
   - Hamburger + logo stay on ONE row (left/center)
     instead of Elementor's default full-width column
     stacking (which produced 3 separate centered rows).
   - Original Account/Search/Cart column is hidden here;
     the same links are cloned into the hamburger drawer
     by the JS in functions.php (class ginding-mobile-nav-extra).
   - Hamburger icon forced white.
   - Menu text forced black (this is only ever visible
     inside the open drawer at this breakpoint).
   Scoped entirely to max-width:768px \u2014 desktop header
   (3-column layout) is completely untouched.
   ============================================ */
/* Injected mobile-only nav items: hidden by default so they never
   appear in the desktop horizontal menu. */
.ginding-mobile-nav-extra {
    display: none !important;
}

@media (max-width: 768px) {
    .elementor-element-65d13bfc > .elementor-container {
        flex-wrap: nowrap !important;
    }

    /* Nav/hamburger column: shrink to content, pin left */
    .elementor-element-138ce246.elementor-column {
        width: auto !important;
        flex: 0 0 auto !important;
        max-width: none !important;
        order: 1 !important;
    }

    /* Logo column: take remaining space, stay centered */
    .elementor-element-2b5da10f.elementor-column {
        width: auto !important;
        flex: 1 1 auto !important;
        max-width: none !important;
        order: 2 !important;
    }

    /* Account/Search/Cart column: hidden here, re-injected into drawer instead */
    .elementor-element-5ad5c838.elementor-column {
        display: none !important;
    }

    /* Hamburger icon color: white */
    .e-n-menu-toggle,
    .e-n-menu-toggle svg,
    .e-n-menu-toggle svg path {
        fill: #ffffff !important;
        color: #ffffff !important;
    }

    /* Drawer menu text: black */
    .e-n-menu-wrapper .e-n-menu-title-text,
    .e-n-menu-wrapper .e-n-menu-title-container,
    .e-n-menu-wrapper a {
        color: #000000 !important;
    }

    /* Injected Account/Search/Cart items \u2014 shown only inside the drawer on mobile */
    .ginding-mobile-nav-extra {
        display: list-item !important;
    }
    .ginding-mobile-nav-extra a {
        color: #000000 !important;
    }
}

/* ============================================
   MOBILE HEADER FIX v2
   1) Shrink black header bar height (was ~90px,
      mostly empty vertical padding).
   2) Fix drawer: give it its own solid white
      background + auto height, so the 3 injected
      Account/Search/Cart items are fully covered
      instead of bleeding transparently over the
      hero image below (the previous bug).
   3) Injected items styled identically to native
      items via matching markup already added in
      functions.php \u2014 this just makes sure the
      wrapper/list containers don't clip them.
   Scoped to max-width:768px only; desktop header
   height & drawer are completely untouched.
   ============================================ */
@media (max-width: 768px) {
    .elementor-element-65d13bfc > .elementor-container {
        min-height: 52px !important;
    }
    .e-n-menu-toggle {
        padding: 4px !important;
    }
    .elementor-element-2b5da10f .elementor-widget-container,
    .elementor-element-2b5da10f img {
        max-height: 14px !important;
    }

    .elementor-widget-n-menu .e-n-menu-wrapper {
        background-color: #ffffff !important;
        height: auto !important;
        max-height: calc(100dvh - 52px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
    .elementor-widget-n-menu .e-n-menu-heading {
        background-color: #ffffff !important;
        height: auto !important;
        min-height: 100% !important;
    }
    .elementor-widget-n-menu .e-n-menu-item {
        background-color: #ffffff !important;
    }
}

/* ============================================
   FIX: Elementor product grids use native CSS Grid
   (elementor-grid-mobile-2 / elementor-grid-tablet-3
   classes), which Elementor already makes responsive
   on its own. Our earlier width:50%/100% overrides on
   li.product (meant for plain float/flex grids) were
   fighting Elementor's grid-template-columns, causing
   broken/overlapping layout and images not displaying
   correctly on mobile (Shop, Home, Collection, Sale).
   This rule has higher specificity (3 classes) so it
   safely overrides the old width rules ONLY when the
   grid is Elementor-powered, without touching anything
   else or requiring removal of the old CSS. ============================================ */
.woocommerce ul.products.elementor-grid.columns-4 li.product,
.woocommerce ul.products.elementor-grid.columns-2 li.product {
    width: auto !important;
    float: none !important;
}

/* ============================================
   FIX v2 (precise, ID-scoped): Homepage product grids
   only \u2014 Axis / Belt Collection / Bags widgets.
   Uses each widget's own stable ID class
   (elementor-element-axis-products, -belt-products,
   -bags-products) so this can NEVER affect the Shop
   archive page or any other product grid, and only
   ever applies under 767px (mobile). Forces exactly
   2 columns via real CSS Grid, matching Elementor's
   own elementor-grid-mobile-2 intent, and neutralizes
   the old float/width rules ONLY for these 3 widgets
   (higher specificity, so desktop's 4-column layout
   from elementor-grid-4 is completely unaffected).
   ============================================ */
@media (max-width: 767px) {
    .elementor-element-axis-products ul.products,
    .elementor-element-belt-products ul.products,
    .elementor-element-bags-products ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        column-gap: 12px !important;
        row-gap: 28px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        justify-items: stretch !important;
    }
    .elementor-element-axis-products .elementor-widget-container,
    .elementor-element-belt-products .elementor-widget-container,
    .elementor-element-bags-products .elementor-widget-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .elementor-element-axis-products ul.products li.product,
    .elementor-element-belt-products ul.products li.product,
    .elementor-element-bags-products ul.products li.product {
        width: auto !important;
        float: none !important;
        padding: 0 6px 24px !important;
    }
}

/* ============================================
   FIX v3 (root cause): Restore real CSS Grid for
   Elementor product-grid widgets (Axis/Belt/Bags).
   The old rule below applies EVERYWHERE, with no
   media query, no exclusion:

     .woocommerce ul.products { display: flex !important; flex-wrap: wrap !important; }

   That rule is meant for the classic percentage-width
   grid, but it was also hijacking Elementor's own
   CSS Grid (display:grid) on the homepage product
   widgets at EVERY screen size, including desktop \u2014
   which is the real reason the column count looked
   inconsistent (3 instead of 4) and mobile 2-column
   spacing looked uneven. This rule is MORE specific
   (adds .elementor-grid) so it safely wins over the
   old flex rule ONLY for Elementor-grid product lists,
   without touching or removing the old rule (so any
   non-Elementor product grid elsewhere, e.g. Shop
   archive, is completely unaffected).
   ============================================ */
.woocommerce ul.products.elementor-grid {
    display: grid !important;
    flex-wrap: initial !important;
}

/* ============================================
   FIX v4: Mobile centering \u2014 reset the FULL chain
   (column > widget-wrap > widget-container > ul)
   for Axis/Belt/Bags, in case any inherited padding
   from Elementor's column/widget wrapper was causing
   the grid to sit off-center. Desktop untouched.
   ============================================ */
@media (max-width: 767px) {
    .elementor-element-col-axis,
    .elementor-element-col-belt,
    .elementor-element-col-bags,
    .elementor-element-axis-products,
    .elementor-element-belt-products,
    .elementor-element-bags-products,
    .elementor-element-axis-products .elementor-widget-container,
    .elementor-element-belt-products .elementor-widget-container,
    .elementor-element-bags-products .elementor-widget-container,
    .elementor-element-axis-products .woocommerce,
    .elementor-element-belt-products .woocommerce,
    .elementor-element-bags-products .woocommerce {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .elementor-element-axis-products ul.products,
    .elementor-element-belt-products ul.products,
    .elementor-element-bags-products ul.products {
        justify-content: center !important;
    }
}

/* Default (desktop): these mobile-only trigger/close/backdrop elements
   must be hidden completely. They are only shown again inside the
   @media (max-width: 768px) block further below. */
.ginding-mobile-filter-trigger,
.ginding-mobile-filter-backdrop,
.ginding-mobile-filter-header {
    display: none;
}

/* ============================================
   SHOP MOBILE FILTER DRAWER (mobile only, desktop untouched)
   ============================================ */
@media (max-width: 768px) {
    /* Trigger button: full-width black bar above the product grid */
    .ginding-mobile-filter-trigger {
        display: block;
        width: 100%;
        background: #000;
        color: #fff;
        border: none;
        padding: 14px 0;
        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
        font-size: 11px;
        letter-spacing: 2px;
        text-transform: uppercase;
        cursor: pointer;
        margin-bottom: 24px;
    }

    /* Backdrop overlay behind the drawer */
    .ginding-mobile-filter-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.4);
        z-index: 9998;
    }
    .ginding-mobile-filter-backdrop.open { display: block; }

    /* Sidebar becomes an off-canvas drawer sliding from the left */
    .elementor-element[data-id="col-sidebar"] {
        display: block !important;
        position: fixed !important;
        top: 0;
        left: 0;
        bottom: 0;
        width: 82%;
        max-width: 320px;
        height: 100%;
        background: #fff;
        z-index: 9999;
        padding: 20px 24px !important;
        overflow-y: auto;
        transform: translateX(-100%);
        transition: transform 0.28s ease;
        border-right: none;
    }
    .elementor-element[data-id="col-sidebar"].ginding-filter-open {
        transform: translateX(0);
    }

    /* Drawer header (title + close button) */
    .ginding-mobile-filter-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 16px;
        margin-bottom: 10px;
        border-bottom: 1px solid #eee;
    }
    .ginding-mobile-filter-title {
        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
        font-size: 12px;
        letter-spacing: 2px;
        text-transform: uppercase;
        font-weight: 700;
        color: #000;
    }
    .ginding-mobile-filter-close {
        background: none;
        border: none;
        font-size: 16px;
        line-height: 1;
        color: #000;
        cursor: pointer;
        padding: 4px 8px;
    }

    /* Prevent page scroll behind the drawer while open */
    body.ginding-filter-drawer-active {
        overflow: hidden;
    }
}
/* ============================================
   MOBILE: Disable mega menu for SHOP & COLLECTION
   Both items have a separate dropdown-toggle arrow
   (.e-n-menu-dropdown-icon) plus a mega-menu panel
   (.e-n-menu-content). Hiding both on mobile leaves
   just the plain title link (which already points
   directly to /shop/ and /collection/), so tapping
   the item navigates straight to the page instead of
   opening the mega panel. No other menu item is
   affected (Home/Sale/Press never had these elements
   to begin with). Desktop mega menu untouched.
   ============================================ */
@media (max-width: 767px) {
    .elementor-location-header .e-n-menu-dropdown-icon,
    .elementor-location-header .e-n-menu-content {
        display: none !important;
    }
}
