/*
Theme Name:   Xstore child
Theme URI:    https://xstore.8theme.com
Description:  XStore is a multi-purpose theme that offers the ultimate WordPress and WooCommerce synergy, providing a comprehensive, all-in-one solution.
Author:       8theme
Author URI:   https://www.8theme.com
Template:     xstore
Version:      1.0
Text Domain:  xstore-child
Tags: e-commerce, two-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, custom-logo, featured-images, full-width-template, threaded-comments, accessibility-ready, rtl-language-support, footer-widgets, sticky-post, theme-options, translation-ready, ecommerce, woocommerce, shop, elementor, business, corporate, blog, news, light, dark
*/

.elementor-button {
    transform: none !important;
}

.wcpt-table th.wcpt-heading {
font-size:0.85em !important;
}

.btn, .button, form #qna-ask-input button, form button, input[type=button], input[type=submit] {
    transform: none !important;
}

.woocommerce ul.products li.product a.add-request-quote-button.button, .wp-block-post.product a.add-request-quote-button.button, a.add-request-quote-button.button {
    font-size: 0.8em !important;
 	word-break: normal !important;
	padding: 0.3rem 0.3rem !important;
    margin-top: 0rem !important;
}
.add-request-quote-button.button{
	width: 100% !important;
	align-content: center !important;
}

/* ai script*/
0/* --- CONTAINER --- */
.sheffield-widget-container {
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

/* Reset Lists */
.sheffield-widget-container ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.sheffield-widget-container li {
    margin: 0 !important;
    padding: 0 !important;
}

/* --- BACK BUTTON (Updated with 20px spacing) --- */
.sheffield-back-wrapper {
    margin-bottom: 20px; /* SPACE REQUESTED */
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e5e5;
}

.sheffield-back-btn {
    display: flex;
    align-items: center;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: #555;
    text-decoration: none;
    transition: color 0.2s;
}

.sheffield-back-btn:hover {
    color: #000;
}

/* Back Arrow Icon */
.sheffield-back-btn .back-arrow {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-left: 2px solid #555;
    border-top: 2px solid #555;
    transform: rotate(-45deg);
    margin-right: 10px;
}
.sheffield-back-btn:hover .back-arrow {
    border-color: #000;
}

/* --- CATEGORY LIST ITEMS --- */
.sheffield-row {
    display: flex;
    align-items: center;
    padding: 5px 0;
    border-bottom: 1px solid transparent; 
}

/* Square Toggle Button */
.sheffield-toggle {
    width: 28px;
    height: 28px;
    background-color: #555; /* Dark Box */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-right: 12px;
    flex-shrink: 0;
    transition: background 0.2s;
}
.sheffield-toggle:hover {
    background-color: #333;
}
.sheffield-toggle.open {
    background-color: #222;
}

/* Hide toggle if no kids, but keep layout consistent */
.sheffield-toggle.hidden {
    visibility: hidden;
    pointer-events: none;
}

/* Chevron Icon inside Square */
.sheffield-toggle .arrow-icon {
    display: block;
    width: 6px;
    height: 6px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg); /* Points Right */
    margin-left: -2px;
    transition: transform 0.2s;
}
.sheffield-toggle.open .arrow-icon {
    transform: rotate(45deg); /* Points Down */
    margin-left: 0;
    margin-top: -2px;
}

/* Links */
.sheffield-row a {
    text-decoration: none;
    color: #333;
    font-size: 15px;
    line-height: 1.3;
}
.sheffield-row a:hover {
    color: #000;
    font-weight: 600;
}
.sheffield-row .count {
    color: #999;
    font-size: 0.85em;
    margin-left: 3px;
}

/* --- CHILD LISTS (The Dropdown Area) --- */
ul.sheffield-list-child {
    display: none; /* Hidden by default */
    background-color: #f9f9f9; /* Grey Background */
    padding: 10px 0 10px 15px !important;
    margin-bottom: 8px !important;
    border-left: 3px solid #555; /* Visual Line */
}

/* Optional: Message if empty */
.sheffield-no-cats {
    font-style: italic;
    color: #999;
}

/* Container using CSS Grid */
.wpc-child-cats-container {
    display: grid !important;
    /* Force the specific number of columns from the shortcode */
    grid-template-columns: repeat(var(--wpc-columns, 6), 1fr) !important;
    gap: 20px;
    margin-bottom: 40px;
    width: 100%;
    box-sizing: border-box;
}

/* Individual Item Card */
.wpc-cat-item {
    text-align: center; 
    background: #fff;
    border-radius: 6px;
    transition: all 0.3s ease;
    /* Ensure items don't overflow */
    min-width: 0; 
    position: relative;
    box-sizing: border-box;
}

/* Link Wrapper - Stacks Image on Top, Text on Bottom */
.wpc-cat-link {
    display: flex !important;
    flex-direction: column !important; 
    align-items: center;    
    text-decoration: none !important;
    color: inherit;
    height: 100%;
    border: none !important;
}

/* Image Wrapper */
.wpc-cat-image {
    width: 100%;
    margin-bottom: 10px; 
    line-height: 0; /* Removes extra space under images */
}

.wpc-cat-image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    aspect-ratio: 1 / 1; 
    object-fit: cover; 
    margin: 0 auto !important;
}

/* Title Styling */
.wpc-cat-title {
    font-size: 0.9rem; /* Slightly smaller to fit 6 cols */
    font-weight: 600;
    margin: 0;
    padding: 0 5px 10px;
    line-height: 1.3;
    color: #333;
    word-wrap: break-word; /* Prevents long words from breaking layout */
}

.wpc-cat-title .count {
    font-size: 0.8em;
    font-weight: normal;
    color: #777;
}

/* RESPONSIVE: On mobile, we MUST stack them or it will look tiny */
@media (max-width: 768px) {
    .wpc-child-cats-container {
        /* Force 2 columns on mobile, 6 is unreadable on phones */
        grid-template-columns: repeat(2, 1fr) !important; 
        gap: 10px;
    }
}
table.cart .cart_item .product-name {
    width: 50% !important;
}
