/* =====================================================
   ZebiTek IT — woocommerce.css
   Single product, cart, checkout, account, forms.
   ===================================================== */

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

.single-product .zt-shop-main{
    padding:40px 0;
}

.single-product div.product{
    display:grid;
    grid-template-columns:minmax(0,58%) minmax(0,42%);
    gap:50px;
    align-items:start;
    margin-bottom:60px;
}

/* Gallery */

.single-product .woocommerce-product-gallery{
    width:100%;
    max-width:100%;
    overflow:hidden;
}

.single-product .woocommerce-product-gallery__wrapper{
    margin:0;
}

.single-product .woocommerce-product-gallery img{
    width:100%;
    height:auto;
    display:block;
    object-fit:contain;
}

.single-product .woocommerce-product-gallery__image{
    width:100%;
}

.single-product .flex-control-thumbs{
    display:flex;
    gap:12px;
    padding:0;
    margin-top:15px;
    list-style:none;
}

.single-product .flex-control-thumbs li{
    width:85px;
    flex-shrink:0;
}

.single-product .flex-control-thumbs img{
    border:2px solid transparent;
    cursor:pointer;
}

.single-product .flex-control-thumbs li.flex-active-slide img{
    border-color:var(--zt-accent);
}



.single-product p.price{
    font-size:34px;
    font-weight:700;
    margin-bottom:20px;
}

.single-product p.price del{
    opacity:.55;
}

.single-product .woocommerce-product-details__short-description{
    font-size:16px;
    line-height:1.8;
    margin-bottom:25px;
}

.single-product form.cart{
    display:flex;
    gap:15px;
    align-items:center;
    margin-bottom:30px;
}

.single-product form.cart .quantity input{
    width:75px;
    height:48px;
    text-align:center;
}

.single-product .single_add_to_cart_button{
    flex:1;
}

/* Meta */

.single-product .product_meta{
    margin-top:25px;
    padding-top:20px;
    border-top:1px solid #e5e7eb;
}

.single-product .product_meta span{
    display:block;
    margin-bottom:8px;
}

/* Tabs */

.single-product .woocommerce-tabs{
    grid-column:1/-1;
    margin-top:50px;
}

.single-product .woocommerce-tabs ul.tabs{
    display:flex;
    gap:8px;
    border-bottom:1px solid #ddd;
    list-style:none;
    padding:0;
    margin-bottom:25px;
}

.single-product .woocommerce-tabs ul.tabs li{
    padding:12px 20px;
    cursor:pointer;
}

.single-product .woocommerce-tabs ul.tabs li.active{
    border-bottom:3px solid var(--zt-accent);
}

/* Related */

.single-product .related{
    grid-column:1/-1;
    margin-top:60px;
}

.single-product .related h2{
    font-size:30px;
    margin-bottom:25px;
}

/* Desktop Image */

@media(min-width:992px){

.single-product .woocommerce-product-gallery img{

height:auto !important;
width:100% !important;
max-width:100% !important;

}

.single-product .zoomImg{

display:none !important;

}

}

/* Mobile */

@media(max-width:991px){

.single-product div.product{

grid-template-columns:1fr;

gap:30px;

}

.single-product .product_title{

font-size:30px;

}

.single-product p.price{

font-size:28px;

}

}

/* ---------- Cart Page ---------- */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 24px;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
	padding: 14px;
	border-bottom: 1px solid var(--zt-border);
}
.woocommerce-cart table.shop_table img { width: 64px; border-radius: var(--zt-radius-sm); }

.cart-collaterals { display: grid; grid-template-columns: 1fr 360px; gap: 32px; margin-top: 30px; }
.cart_totals { background: var(--zt-bg-soft); border-radius: var(--zt-radius); padding: 24px; }
.cart_totals table { width: 100%; }
.cart_totals table th, .cart_totals table td { padding: 10px 0; }
.cart_totals .order-total .woocommerce-Price-amount { font-size: 20px; font-weight: 700; color: var(--zt-primary); }

/* ---------- Checkout ---------- */
.woocommerce-checkout #customer_details { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.woocommerce-checkout .form-row { margin-bottom: 16px; }
.woocommerce-checkout label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%;
	padding: 12px;
	border: 1px solid var(--zt-border);
	border-radius: var(--zt-radius-sm);
}
#order_review { background: var(--zt-bg-soft); border-radius: var(--zt-radius); padding: 24px; }

/* ---------- Account Page ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1px solid var(--zt-border); border-radius: var(--zt-radius); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--zt-border); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 14px 18px; font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--zt-primary); background: var(--zt-bg-soft); }

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-error, .woocommerce-info {
	padding: 14px 18px;
	border-radius: var(--zt-radius-sm);
	background: var(--zt-bg-soft);
	border-left: 4px solid var(--zt-primary);
	list-style: none;
	margin-bottom: 20px;
}
.woocommerce-error { border-left-color: var(--zt-sale); }

/* ---------- Sidebar Filter Widgets (Category + Price) ---------- */
.zt-shop-sidebar .widget_product_categories ul,
.zt-shop-sidebar .woocommerce-widget-layered-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.zt-shop-sidebar .widget_product_categories li,
.zt-shop-sidebar .woocommerce-widget-layered-nav li {
	padding: 8px 0;
	border-bottom: 1px solid var(--zt-border);
}
.zt-shop-sidebar .widget_product_categories li:last-child,
.zt-shop-sidebar .woocommerce-widget-layered-nav li:last-child {
	border-bottom: none;
}
.zt-shop-sidebar .widget_product_categories li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: var(--zt-text);
	font-size: 14px;
}
.zt-shop-sidebar .widget_product_categories li a:hover { color: var(--zt-primary); }
.zt-shop-sidebar .widget_product_categories li.current-cat > a { color: var(--zt-primary); font-weight: 700; }
.zt-shop-sidebar .widget_product_categories .count {
	background: var(--zt-bg-soft);
	border-radius: 10px;
	padding: 1px 8px;
	font-size: 12px;
	color: var(--zt-text-light);
}

/* Price filter widget */
.zt-shop-sidebar .price_slider {
	margin-bottom: 18px;
}
.zt-shop-sidebar .price_slider_amount {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 13px;
}
.zt-shop-sidebar .price_slider_amount .button {
	background: var(--zt-accent);
	color: #111;
	padding: 8px 16px;
	font-size: 13px;
	border-radius: var(--zt-radius-sm);
	white-space: nowrap;
}
.zt-shop-sidebar .price_slider_amount .button:hover { background: var(--zt-accent-dark); color: #111; }
.zt-shop-sidebar .ui-slider {
	position: relative;
	height: 4px;
	background: var(--zt-border);
	border-radius: 4px;
	margin: 10px 0 18px;
}
.zt-shop-sidebar .ui-slider .ui-slider-range {
	position: absolute;
	height: 100%;
	background: var(--zt-primary);
	border-radius: 4px;
}
.zt-shop-sidebar .ui-slider .ui-slider-handle {
	position: absolute;
	top: 50%;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	margin-left: -8px;
	background: var(--zt-accent);
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: var(--zt-shadow);
	cursor: pointer;
	outline: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
	div.product { grid-template-columns: 1fr; gap: 24px; }
	.cart-collaterals { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details { grid-template-columns: 1fr; }
}

/* HOME PRODUCT TEXT ALIGNMENT FIX */

.zt-product-cat,
.zt-product-title,
.zt-product-price{
    padding-left:20px !important;
    padding-right:20px !important;
    box-sizing:border-box !important;
}

.zt-product-title{
    margin-top:8px !important;
}
/* Desktop only single product fix */
@media (min-width: 992px){

    .single-product .woocommerce-product-gallery{
        width:100% !important;
        max-width:100% !important;
    }

    .single-product .woocommerce-product-gallery img{
        width:100% !important;
        height:auto !important;
        max-width:100% !important;
    }

    .single-product .zoomImg{
        display:none !important;
    }

}
/* Remove unwanted sidebar on product pages */

.single-product #sidebar,
.single-product aside,
.single-product .widget-area {
    display: none !important;
}
/* Single Product Add To Cart Button */

.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button,
.single-product .single_add_to_cart_button.button{

    background:#FFC107 !important;
    color:#111 !important;
    border:none !important;

    border-radius:6px;

    padding:14px 28px !important;

    font-weight:700;

    transition:.3s;

}

.single-product .single_add_to_cart_button:hover,
.single-product button.single_add_to_cart_button:hover{

    background:#e0a800 !important;
    color:#111 !important;

}
/* ==========================================================
   SINGLE PRODUCT PAGE LAYOUT FIX
========================================================== */

.single-product div.product{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:50px;
}

.single-product div.product .woocommerce-product-gallery{
    flex:0 0 52%;
    max-width:52%;
}

.single-product div.product .summary{
    flex:0 0 calc(48% - 50px);
    max-width:calc(48% - 50px);
}

/* Product Title */

.single-product .product_title{
    font-size:42px;
    line-height:1.25;
    font-weight:700;
    margin-bottom:18px;
    word-break:normal;
    overflow-wrap:normal;
    white-space:normal;
}

/* Price */

.single-product p.price{
    font-size:34px;
    font-weight:700;
}

/* Short Description */

.single-product .woocommerce-product-details__short-description{
    font-size:17px;
    line-height:1.7;
}

/* Quantity + Button */

.single-product form.cart{
    display:flex;
    align-items:center;
    gap:15px;
}

.single-product form.cart .button{
    background:#ffc107 !important;
    color:#000 !important;
    border:none;
}

.single-product form.cart .button:hover{
    background:#e0a800 !important;
    color:#000 !important;
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width:991px){

.single-product div.product{
    display:block;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary{
    width:100% !important;
    max-width:100% !important;
    flex:none;
}

.single-product .product_title{
    font-size:30px;
}

.single-product p.price{
    font-size:28px;
}

}
/* ===== Related Products Mobile Fix ===== */

@media (max-width: 768px){

.single-product .related.products ul.products{
    grid-template-columns:repeat(2,1fr) !important;
    gap:12px !important;
}

.single-product .related.products ul.products li.product{
    min-height:auto !important;
    height:auto !important;
    padding:12px !important;
}

.single-product .related.products ul.products li.product img{
    width:100% !important;
    height:120px !important;
    object-fit:contain !important;
    margin-bottom:8px !important;
}

.single-product .related.products .zt-product-thumb{
    height:120px !important;
    min-height:120px !important;
    display:flex;
    align-items:center;
    justify-content:center;
}

.single-product .related.products .zt-product-title{
    font-size:18px;
    line-height:1.35;
}

.single-product .related.products .zt-buy-now-btn{
    margin-top:12px;
}

}
/* Checkout layout */
form.woocommerce-checkout {
    display: grid !important;
    grid-template-areas:
        "billing order-title"
        "billing order-review" !important;
    grid-template-columns: 1fr 400px !important;
    grid-template-rows: auto 1fr !important;
    gap: 0 40px !important;
}

form.woocommerce-checkout #customer_details {
    grid-area: billing !important;
    width: 100% !important;
}

form.woocommerce-checkout #order_review_heading {
    grid-area: order-title !important;
}

form.woocommerce-checkout #order_review {
    grid-area: order-review !important;
    width: 100% !important;
}

@media (max-width: 768px) {
    form.woocommerce-checkout {
        grid-template-areas:
            "billing"
            "order-title"
            "order-review" !important;
        grid-template-columns: 1fr !important;
    }
}

/* Coupon */
.woocommerce-info {
    border-top: 3px solid #111 !important;
    background: #f9f9f9 !important;
    color: #111 !important;
}
.woocommerce-info a { color: #111 !important; font-weight: 700 !important; }

/* Place order button */
#place_order {
    background: #111 !important;
    color: #fff !important;
    width: 100% !important;
}
#place_order:hover {
    background: var(--zt-accent) !important;
    color: #111 !important;
}
/* Checkout container left align fix */
.woocommerce-checkout .zt-container,
.woocommerce-page .zt-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

form.woocommerce-checkout {
    margin-left: 0 !important;
}

/* Coupon blue border remove */
.woocommerce-info,
.woocommerce-message {
    border-top-color: #111111 !important;
    background-color: #f9f9f9 !important;
    color: #111111 !important;
}

.woocommerce-info::before,
.woocommerce-message::before {
    color: #111111 !important;
}
/* Fix billing fields full width */
.woocommerce-checkout #customer_details .col2-set {
    display: block !important;
    width: 100% !important;
}

.woocommerce-checkout #customer_details .col2-set .col-1,
.woocommerce-checkout #customer_details .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
}

/* Orange strip fix */
.woocommerce-checkout .woocommerce-notices-wrapper {
    display: none !important;
}
.woocommerce-billing-fields,
.woocommerce-billing-fields h3,
.woocommerce-billing-fields .form-row {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
}

#billing_first_name_field,
#billing_address_1_field,
#billing_address_2_field,
#billing_state_field,
#billing_phone_field,
#billing_email_field {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-right: 0 !important;
}

#billing_first_name_field input,
#billing_address_1_field input,
#billing_phone_field input,
#billing_email_field input {
    width: 100% !important;
}
#customer_details.col2-set {
    display: block !important;
    grid-template-columns: unset !important;
}

#customer_details .col-1 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

.woocommerce-billing-fields {
    width: 100% !important;
    max-width: 100% !important;
}

.woocommerce-billing-fields .form-row {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}
.woocommerce-info::before {
    display: none !important;
    content: none !important;
}
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
    display: none !important;
    content: none !important;
}
/* ===== Shop Loop Header Fix ===== */

.woocommerce .woocommerce-result-count{
    float:left !important;
    margin:0 0 20px !important;
}

.woocommerce .woocommerce-ordering{
    float:right !important;
    margin:0 0 20px !important;
}

.woocommerce .woocommerce-ordering::after,
.woocommerce .woocommerce-result-count::after{
    content:"";
    display:block;
    clear:both;
}

.woocommerce ul.products{
    clear:both !important;
}
.zt-shop-grid ul.products{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;
}

@media(max-width:991px){
    .zt-shop-grid ul.products{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:768px){
    .zt-shop-grid ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
/* =========================
   Wishlist Page Grid
========================= */

.zt-wishlist-page .products{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px;

    margin:40px 0;
    padding:0;
    list-style:none;
}

.zt-wishlist-page .products > li{
    width:100%;
    margin:0;
}

.zt-wishlist-page .zt-product-card{
    width:100%;
    max-width:none;
}

/* Tablet */

@media (max-width:991px){

    .zt-wishlist-page .products{
        grid-template-columns:repeat(2,1fr);
    }

}

/* Mobile */

@media (max-width:767px){

    .zt-wishlist-page .products{
        grid-template-columns:1fr;
    }

}
/* =========================================
   Wishlist Page Fix
========================================= */

.zt-wishlist-page .products{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    padding:0;
    margin:40px 0;
    list-style:none;
}

.zt-wishlist-page .products > li{
    width:100%;
    margin:0;
}

/* Card */

.zt-wishlist-page .zt-product-card{
    display:flex;
    flex-direction:column;
    height:100%;
}

/* Image area */

.zt-wishlist-page .zt-product-thumb{
    height:320px !important;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}

.zt-wishlist-page .zt-product-thumb img{
    width:100% !important;
    height:260px !important;
    object-fit:contain !important;
}

/* Mobile */

@media(max-width:767px){

    .zt-wishlist-page .products{
        grid-template-columns:1fr;
    }

    .zt-wishlist-page .zt-product-thumb{
        height:220px !important;
    }

    .zt-wishlist-page .zt-product-thumb img{
        height:180px !important;
    }

}