.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{margin-bottom:18px;}

.woocommerce ul.products{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    padding:0;
    margin:0 0 32px;
    list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{
    content:none !important;
    display:none !important;
}
.woocommerce ul.products li.product{
    list-style:none;
    width:auto !important;
    float:none !important;
    clear:none !important;
    background:var(--fm-surface);
    border:1px solid rgba(33,33,33,.10);
    border-radius:24px;
    box-shadow:var(--fm-shadow);
    padding:12px;
    margin:0 !important;
    display:flex;
    flex-direction:column;
    gap:10px;
    overflow:hidden;
}
.woocommerce ul.products li.product a img{
    width:100%;
    border-radius:16px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wp-block-woocommerce-product-collection .wc-block-product__title{
    color:#976429;
    font-size:0.88rem;
    line-height:1.22 !important;
    letter-spacing:-0.01em;
    font-weight:600;
    margin:0;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
    color:var(--fm-text);
    font-weight:700;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
    width:100%;
    justify-content:center;
    padding:10px 12px;
    font-size:.92rem;
}
.woocommerce div.product{
    background:var(--fm-surface);
    border:1px solid rgba(33,33,33,.10);
    border-radius:24px;
    box-shadow:var(--fm-shadow);
    padding:24px;
}
.woocommerce .quantity .qty{
    max-width:90px;
    border-radius:999px;
    text-align:center;
}
.woocommerce table.shop_table,
.woocommerce-cart table.cart{
    border-collapse:separate;
    border-spacing:0;
    width:100%;
    background:var(--fm-surface);
    border:1px solid rgba(33,33,33,.10);
    border-radius:24px;
    overflow:hidden;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
    padding:14px;
    border-color:rgba(33,33,33,.08);
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce,
.woocommerce-cart .cart-collaterals,
.woocommerce form.login,
.woocommerce form.register{
    background:var(--fm-surface);
    border:1px solid rgba(33,33,33,.10);
    border-radius:24px;
    box-shadow:var(--fm-shadow);
    padding:22px;
}
.woocommerce-info,
.woocommerce-message,
.woocommerce-error{
    border-radius:18px;
    border-top:0;
    padding:16px 18px;
}
.woocommerce-message{background:rgba(216,193,120,.18);}
.woocommerce-info{background:rgba(216,193,120,.14);}
.woocommerce-error{background:rgba(255,36,0,.10);}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{border-radius:999px;}

/* Woo shortcode/product block wrappers often used on homepages */
.wc-block-grid__products,
.wp-block-woocommerce-product-collection ul.wc-block-product-template,
.wp-block-woocommerce-all-products ul.wc-block-grid__products,
ul.products.columns-2,
ul.products.columns-3,
ul.products.columns-4{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    padding:0;
    margin:0;
    list-style:none;
}
.wc-block-grid__product,
.wp-block-woocommerce-product-collection .wc-block-product,
.wc-block-grid__products li,
.wc-block-product-template li{
    width:auto !important;
    margin:0 !important;
}

/* Product image hover swap */
.fanime-product-thumb{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:16px;
}
.fanime-product-thumb .fanime-thumb-secondary{
    position:absolute;
    inset:0;
    opacity:0;
    pointer-events:none;
}
@media (hover:hover){
    .woocommerce ul.products li.product:hover .fanime-thumb-secondary{
        opacity:1;
    }
    .woocommerce ul.products li.product:hover .fanime-thumb-primary{
        opacity:0;
    }
}



/* v1.4.9a shop-only sale badge fix */
.woocommerce ul.products li.product{
    overflow: hidden;
}

.woocommerce ul.products li.product .onsale{
    top: 12px;
    right: 12px;
    left: auto;
    margin: 0;
    min-width: auto;
    min-height: auto;
    padding: 8px 10px;
    line-height: 1;
    z-index: 3;
    border-radius: 999px;
}

.woocommerce span.onsale{
    border-radius: 999px;
}

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

.woocommerce ul.products li.product a img{
    position: relative;
    z-index: 1;
}



/* v1.4.9b fixes */

/* 1. reduce space under image */
.woocommerce ul.products li.product .woocommerce-loop-product__link{
    display: block;
}
.woocommerce ul.products li.product img{
    margin-bottom: 8px !important;
}
.woocommerce ul.products li.product{
    padding-bottom: 12px;
}

/* tighten content spacing */
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .price{
    margin-top: 6px;
    margin-bottom: 6px;
}

/* 2. fix sale badge positioning (less intrusive) */
.woocommerce ul.products li.product .onsale{
    top: 8px;
    right: 8px;
    padding: 6px 10px;
    font-size: 0.75rem;
}

/* 3. disable hover image swap on touch devices */
@media (hover: none){
    .woocommerce ul.products li.product:hover img{
        transform: none !important;
    }
    .woocommerce ul.products li.product img{
        pointer-events: none;
    }
}

/* allow hover only on real hover devices */
@media (hover: hover){
    .woocommerce ul.products li.product:hover img{
        opacity: 0.95;
    }
}



/* v1.4.9c mobile hover-swap hard disable + image spacing fix */
.woocommerce ul.products li.product .fanime-product-thumb,
.woocommerce ul.products li.product .fanime-product-thumb img{
    display:block;
}

.woocommerce ul.products li.product .fanime-product-thumb{
    position:relative;
    overflow:hidden;
    line-height:0;
    margin-bottom:10px;
}

.woocommerce ul.products li.product .fanime-product-thumb .fanime-thumb-primary,
.woocommerce ul.products li.product .fanime-product-thumb .fanime-thumb-secondary{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
}

.woocommerce ul.products li.product .fanime-product-thumb .fanime-thumb-secondary{
    display:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

@media (hover:hover) and (pointer:fine){
    .woocommerce ul.products li.product .fanime-product-thumb .fanime-thumb-secondary{
        display:block;
        position:absolute;
        inset:0;
    }
    .woocommerce ul.products li.product:hover .fanime-thumb-primary{
        opacity:0;
    }
    .woocommerce ul.products li.product:hover .fanime-thumb-secondary{
        opacity:1;
        visibility:visible;
    }
}

@media (hover:none), (pointer:coarse), (max-width: 1024px){
    .woocommerce ul.products li.product .fanime-product-thumb{
        min-height:0 !important;
        height:auto !important;
    }
    .woocommerce ul.products li.product .fanime-product-thumb .fanime-thumb-primary{
        opacity:1 !important;
        visibility:visible !important;
        display:block !important;
        position:relative !important;
        inset:auto !important;
    }
    .woocommerce ul.products li.product .fanime-product-thumb .fanime-thumb-secondary{
        display:none !important;
        opacity:0 !important;
        visibility:hidden !important;
        position:absolute !important;
        inset:0 !important;
    }
    .woocommerce ul.products li.product:hover .fanime-thumb-primary{
        opacity:1 !important;
    }
    .woocommerce ul.products li.product:hover .fanime-thumb-secondary{
        opacity:0 !important;
        visibility:hidden !important;
    }
}

/* v1.4.13 premium Woo product rhythm */
.woocommerce ul.products{
    gap:15px;
}

.woocommerce ul.products li.product{
    border:1px solid rgba(33,33,33,.08);
    box-shadow:0 10px 22px rgba(25,25,25,.045);
    padding:12px 12px 14px;
    gap:8px;
}

.woocommerce ul.products li.product a img{
    border-radius:14px;
    margin-bottom:6px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wp-block-woocommerce-product-collection .wc-block-product__title{
    line-height:1.18 !important;
    margin:2px 0 0;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
    margin:2px 0 4px;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
    margin-top:2px;
    padding:10px 12px;
    min-height:40px;
    box-shadow:0 7px 16px rgba(116, 78, 36, .08);
}

.woocommerce ul.products li.product .onsale{
    box-shadow:0 6px 14px rgba(25,25,25,.08);
}

@media (hover:hover){
    .woocommerce ul.products li.product:hover{
        transform:translateY(-2px);
        box-shadow:0 14px 28px rgba(25,25,25,.065);
    }
}

@media (max-width:640px){
    .woocommerce ul.products{
        gap:13px;
    }

    .woocommerce ul.products li.product{
        border-radius:22px;
        padding:11px 11px 13px;
        gap:7px;
    }

    .woocommerce ul.products li.product a img{
        border-radius:13px;
        margin-bottom:5px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .wc-block-grid__product-title,
    .wp-block-woocommerce-product-collection .wc-block-product__title{
        margin:1px 0 0;
    }

    .woocommerce ul.products li.product .price{
        margin:1px 0 3px;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product .added_to_cart{
        padding:10px 10px;
        min-height:38px;
    }
}


/* v1.5.2 stronger mobile shop page gutter fix */
@media (max-width: 640px){
    body.woocommerce .site-main,
    body.woocommerce-page .site-main,
    body.post-type-archive-product .site-main,
    body.tax-product_cat .site-main,
    body.tax-product_tag .site-main{
        padding-left: 14px;
        padding-right: 14px;
        overflow-x: hidden;
    }

    body.woocommerce .woocommerce-breadcrumb,
    body.woocommerce-page .woocommerce-breadcrumb,
    body.woocommerce .woocommerce-result-count,
    body.woocommerce-page .woocommerce-result-count,
    body.woocommerce .woocommerce-ordering,
    body.woocommerce-page .woocommerce-ordering,
    body.woocommerce ul.products,
    body.woocommerce-page ul.products{
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.woocommerce .woocommerce-ordering,
    body.woocommerce-page .woocommerce-ordering{
        width: 100%;
    }
}


/* v1.5.3 premium pass - Woo cards */
.woocommerce ul.products li.product{
    border:1px solid rgba(32, 28, 22, 0.08);
    box-shadow:0 8px 20px rgba(20, 16, 12, 0.035);
    transition:box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
    box-shadow:none;
}

.woocommerce ul.products li.product .onsale{
    box-shadow:0 6px 14px rgba(20, 16, 12, 0.08);
}

@media (hover:hover){
    .woocommerce ul.products li.product:hover{
        transform:translateY(-1px);
        box-shadow:0 13px 26px rgba(20, 16, 12, 0.05);
        border-color:rgba(164, 124, 53, 0.14);
    }
}

@media (max-width:640px){
    .woocommerce ul.products li.product{
        box-shadow:0 6px 16px rgba(20, 16, 12, 0.03);
    }
}


/* v1.5.5 single product page polish */
.single-product .site-main{
    padding-top: 24px;
}

.single-product div.product{
    padding-top: 6px;
}

.single-product div.product .woocommerce-product-gallery{
    margin-bottom: 14px;
}

.single-product div.product .flex-viewport{
    margin-bottom: 10px;
}

.single-product div.product .flex-control-thumbs{
    margin-top: 10px;
}

.single-product div.product .flex-control-thumbs li{
    padding: 2px;
}

.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery__image img{
    border-radius: 14px;
}

@media (max-width:640px){
    .single-product .site-main{
        padding-top: 20px;
    }

    .single-product div.product{
        padding-top: 4px;
    }

    .single-product div.product .woocommerce-product-gallery{
        margin-bottom: 12px;
    }

    .single-product div.product .flex-viewport{
        margin-bottom: 8px;
    }

    .single-product div.product .flex-control-thumbs{
        margin-top: 8px;
    }
}


/* v1.5.6 single product form polish */
.single-product form.cart{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
}

.single-product div.product form.cart .quantity{
    margin:0 !important;
}

.single-product div.product form.cart .quantity .qty{
    width:82px;
    min-width:82px;
    height:48px;
    padding:10px 12px;
    border-radius:999px;
    border:1px solid rgba(32, 28, 22, 0.12);
    background:#fff;
    color:var(--fm-text);
    font-weight:700;
    text-align:center;
    box-shadow:0 4px 10px rgba(20, 16, 12, 0.03);
    -moz-appearance:textfield;
}

.single-product div.product form.cart .quantity .qty:focus{
    outline:none;
    border-color:rgba(164, 124, 53, 0.38);
    box-shadow:0 0 0 3px rgba(208, 186, 113, 0.18);
}

.single-product div.product form.cart .quantity .qty::-webkit-outer-spin-button,
.single-product div.product form.cart .quantity .qty::-webkit-inner-spin-button{
    opacity:1;
    margin:0;
}

/* Force single-product add to cart to Fanime gold */
.single-product div.product form.cart .single_add_to_cart_button,
.single-product div.product .single_add_to_cart_button.button,
.single-product div.product .single_add_to_cart_button.alt,
.single-product div.product form.cart button[name="add-to-cart"]{
    min-height:48px;
    padding:12px 22px;
    border-radius:999px;
    border:1px solid rgba(164, 124, 53, 0.18);
    background:linear-gradient(135deg, var(--fm-primary, #d0ba71), var(--fm-primary-dark, #a77b34)) !important;
    color:#1a1a1a !important;
    font-weight:800;
    letter-spacing:-0.01em;
    box-shadow:0 8px 18px rgba(116, 78, 36, 0.10);
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.single-product div.product form.cart .single_add_to_cart_button:hover,
.single-product div.product form.cart button[name="add-to-cart"]:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 22px rgba(116, 78, 36, 0.13);
    filter:saturate(1.02);
}

.single-product div.product form.cart .single_add_to_cart_button:active,
.single-product div.product form.cart button[name="add-to-cart"]:active{
    transform:translateY(0);
    box-shadow:0 5px 12px rgba(116, 78, 36, 0.08);
}

.single-product div.product form.cart .single_add_to_cart_button.disabled,
.single-product div.product form.cart .single_add_to_cart_button:disabled,
.single-product div.product form.cart button[name="add-to-cart"]:disabled{
    opacity:.6;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}

@media (max-width:640px){
    .single-product form.cart{
        gap:10px;
    }

    .single-product div.product form.cart .quantity .qty{
        width:78px;
        min-width:78px;
        height:46px;
    }

    .single-product div.product form.cart .single_add_to_cart_button,
    .single-product div.product .single_add_to_cart_button.button,
    .single-product div.product .single_add_to_cart_button.alt,
    .single-product div.product form.cart button[name="add-to-cart"]{
        min-height:46px;
        padding:11px 18px;
    }
}


/* v2.0 launch polish */

/* Clean Woo notices / empty states */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error{
    background:#f7f4ec;
    border:1px solid rgba(0,0,0,0.06);
    border-radius:16px;
    padding:16px 18px;
    color:var(--fm-text);
    box-shadow:none;
    font-weight:500;
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before{
    display:none !important;
}

/* Gold buttons everywhere, with safe exclusions for text links */
button,
.button,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button,
.woocommerce a.checkout-button,
.woocommerce button[name="apply_coupon"],
.woocommerce button[name="update_cart"]{
    background:linear-gradient(135deg, var(--fm-primary, #d0ba71), var(--fm-primary-dark, #a77b34)) !important;
    color:#111 !important;
    border:1px solid rgba(164, 124, 53, 0.18) !important;
    border-radius:999px !important;
    font-weight:700 !important;
    letter-spacing:-0.01em;
    box-shadow:0 8px 18px rgba(116, 78, 36, 0.10);
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease;
}

button:hover,
.button:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-error .button:hover,
.woocommerce a.checkout-button:hover,
.woocommerce button[name="apply_coupon"]:hover,
.woocommerce button[name="update_cart"]:hover{
    background:linear-gradient(135deg, var(--fm-primary-dark, #a77b34), var(--fm-primary, #d0ba71)) !important;
    color:#111 !important;
    transform:translateY(-1px);
    box-shadow:0 12px 22px rgba(116, 78, 36, 0.13);
    filter:saturate(1.02);
}

button:active,
.button:active,
.wp-element-button:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce #respond input#submit:active{
    transform:translateY(0);
    box-shadow:0 5px 12px rgba(116, 78, 36, 0.08);
}

/* Keep plain text actions as links */
.woocommerce a.remove,
.woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button),
.woocommerce .product_meta a,
.woocommerce .woocommerce-breadcrumb a{
    background:none !important;
    box-shadow:none !important;
    border:none !important;
    border-radius:0 !important;
    padding:0 !important;
}


/* v2.0.1-safe desktop shop only */
@media (min-width: 1025px){
    body.woocommerce-shop .woocommerce ul.products{
        display:grid !important;
        grid-template-columns:repeat(2,1fr) !important;
        gap:28px !important;
    }

    .woocommerce ul.products li.product{
        padding:18px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title{
        font-size:1.1rem !important;
        line-height:1.3 !important;
        margin-bottom:6px !important;
    }

    .woocommerce ul.products li.product .price{
        margin-bottom:10px !important;
    }
}

@media (min-width: 1400px){
    body.woocommerce-shop .woocommerce ul.products{
        grid-template-columns:repeat(3,1fr) !important;
    }
}
