/*
Theme Name: ZebiTek IT
Theme URI: https://zebitek.com
Author: Al Mamun
Author URI: https://syedyeamin.com
Description: A modern, lightweight WooCommerce theme built for electronics and tech stores. Fully compatible with Elementor page builder, fast-loading, and easy to customize via the WordPress Customizer. Built from scratch with clean, original code.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zebitek-it
Tags: e-commerce, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready, woocommerce
*/

/* =====================================================
   ROOT VARIABLES — Blue / Modern Tech Store Palette
   ===================================================== */
:root {
	--zt-primary: #1a1a1a;
	--zt-primary-dark: #000000;
	--zt-primary-light: #333333;
	--zt-accent: #ffc700;
	--zt-accent-dark: #e0ad00;
	--zt-sale: #ef4444;
	--zt-success: #16a34a;
	--zt-text: #111827;
	--zt-text-light: #6b7280;
	--zt-border: #e5e7eb;
	--zt-bg: #ffffff;
	--zt-bg-soft: #f7f7f7;
	--zt-header-bg: #ffffff;
	--zt-footer-bg: #0f0f0f;
	--zt-footer-text: #cbd5e1;
	--zt-radius: 8px;
	--zt-radius-sm: 4px;
	--zt-shadow: 0 2px 8px rgba(17, 24, 39, 0.08);
	--zt-shadow-hover: 0 8px 24px rgba(17, 24, 39, 0.12);
	--zt-container: 1280px;
	--zt-font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--zt-transition: all 0.2s ease;
}

/* Base reset kept minimal; WordPress core + WooCommerce already normalize a lot */
* { box-sizing: border-box; }

body {
	color: var(--zt-text);
	font-family: var(--zt-font-base);
	font-size: 16px;
	line-height: 1.6;
	background: var(--zt-bg);
	overflow-x: hidden;
}

html { overflow-x: hidden; max-width: 100%; }

a { color: var(--zt-primary); text-decoration: none; transition: var(--zt-transition); }
a:hover { color: var(--zt-primary-dark); }

img { max-width: 100%; height: auto; display: block; }

.zt-container {
	max-width: var(--zt-container);
	margin: 0 auto;
	padding: 0 20px;
}

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px; height: 1px; overflow: hidden;
}

/* Buttons */
.button, button, input[type="submit"],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	background: var(--zt-accent);
	color: #111;
	border: none;
	border-radius: var(--zt-radius-sm);
	padding: 12px 24px;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	transition: var(--zt-transition);
	display: inline-block;
}
.button:hover, button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover {
	background: var(--zt-accent-dark);
	color: #111;
}
/* Footer menu color fix */
.zt-footer-widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.zt-footer-widget ul li {
    margin-bottom: 10px;
}

.zt-footer-widget ul li a {
    color: #d1d5db !important;
    text-decoration: none;
}

.zt-footer-widget ul li a:hover {
    color: #ffc107 !important;
}
/* Developer credit */
.zt-footer-copyright a{
    color:#ffc107 !important;
    font-weight:600;
    text-decoration:none;
    transition:all .3s ease;
}

.zt-footer-copyright a:hover{
    color:#ffffff !important;
    text-decoration:underline;
}
.mobile-break{
    display:none;
}

@media (max-width:768px){

    .mobile-break{
        display:block;
    }

    .zt-footer-copyright{
        text-align:left;   /* center থেকে left */
        line-height:1.8;
    }

    .zt-footer-copyright a{
        display:inline;
    }
}


/* ===== Desktop + Mobile Shop Sorting ===== */

form.woocommerce-ordering{
    position:relative;
    display:inline-block;
    float:right;
    margin-bottom:25px;
}

form.woocommerce-ordering select.orderby{

    width:230px !important;
    height:48px !important;

    padding:0 40px 0 15px !important;

    border:2px solid #ddd !important;
    border-radius:10px !important;

    background:#fff !important;

    font-size:15px !important;
    font-weight:600 !important;
    color:#222 !important;

    appearance:none !important;
    -webkit-appearance:none !important;
    -moz-appearance:none !important;

    cursor:pointer;
}

form.woocommerce-ordering::after{

    content:"⌄";
    position:absolute;

    right:15px;
    top:50%;

    transform:translateY(-50%);
    pointer-events:none;

    font-size:18px;
    color:#777;
}

form.woocommerce-ordering select.orderby:hover{

    border-color:#f9b700 !important;
}

form.woocommerce-ordering select.orderby:focus{

    outline:none;
    border-color:#f9b700 !important;
    box-shadow:0 0 0 3px rgba(249,183,0,.25);
}
/*======== CUSTOM QTY ========*/

.zt-qty{

display:flex;
align-items:center;
width:170px;
height:52px;

border:2px solid #ececec;
border-radius:12px;

overflow:hidden;

}

.zt-minus,
.zt-plus{

width:50px;
height:52px;

border:none;
background:#f6f6f6;

font-size:26px;
font-weight:700;

cursor:pointer;

transition:.3s;

}

.zt-minus:hover,
.zt-plus:hover{

background:#ffc700;

}

.zt-qty input{

width:70px !important;

border:none !important;

text-align:center;

font-size:20px;

font-weight:700;

box-shadow:none !important;

margin:0;

padding:0;

}

.zt-qty input::-webkit-inner-spin-button,
.zt-qty input::-webkit-outer-spin-button{

display:none;

}
/* ===== Premium Variation Dropdown ===== */

.single-product table.variations{
    width:100%;
}

.single-product table.variations td.value{
    width:100%;
}

.single-product table.variations select{
    width:220px;
    height:48px;

    padding:0 42px 0 16px;

    border:2px solid #e8e8e8;
    border-radius:10px;

    background:#fff;

    font-size:15px;
    font-weight:600;
    color:#222;

    cursor:pointer;

    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20'%3E%3Cpath fill='%23666' d='M5 7l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
}

.single-product table.variations select:hover{
    border-color:#ffc107;
}

.single-product table.variations select:focus{
    outline:none;
    border-color:#ffc107;
    box-shadow:0 0 0 3px rgba(255,199,0,.18);
}

@media(max-width:768px){

.single-product table.variations select{
    width:100%;
}

}

.single-product table.variations select:focus{
    outline:none;
    border-color:#ffc107;
    box-shadow:0 0 0 3px rgba(255,199,0,.18);
}

@media(max-width:768px){

.single-product table.variations select{
    width:100%;
}

}
/* Mobile Shop Page Fix */
@media (max-width: 767px){

    /* 2 products per row */
    .woocommerce ul.products{
        display:flex;
        flex-wrap:wrap;
        gap:12px;
    }

    .woocommerce ul.products li.product{
        width:calc(50% - 6px) !important;
        margin:0 !important;
        display:flex;
        flex-direction:column;
    }

    /* Equal card height */
    .woocommerce ul.products li.product .product-inner{
        display:flex;
        flex-direction:column;
        height:100%;
    }

    /* Image Fix */
    .woocommerce ul.products li.product img{
        width:100%;
        height:auto !important;
        aspect-ratio:1/1;
        object-fit:contain;
    }

    /* Product Title */
    .woocommerce ul.products li.product h2,
    .woocommerce ul.products li.product .woocommerce-loop-product__title{
        min-height:42px;
        font-size:15px;
        line-height:1.4;
    }

    /* Price */
    .woocommerce ul.products li.product .price{
        margin-top:auto;
    }

    /* Button */
    .woocommerce ul.products li.product .button{
        width:100%;
        text-align:center;
        margin-top:10px;
    }
}
@media (max-width:767px){

.zt-product-thumb{
    height:auto !important;
    min-height:unset !important;
    display:block !important;
}

.zt-product-thumb img{
    width:100%;
    height:auto !important;
    max-height:170px;
    object-fit:contain;
    display:block;
}

.woocommerce ul.products li.product{
    min-height:auto !important;
}

}
/* ===========================
   WooCommerce Shop Grid Fix
=========================== */

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 30px 0;
    padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    content: none !important;
    display: none !important;
}

.woocommerce ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    clear: none !important;
}

/* Tablet */
@media (max-width: 991px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */
@media (max-width: 575px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px;
    }

    .woocommerce ul.products li.product {
        width: 100% !important;
    }
}
.woocommerce .content-area,
.woocommerce-page .content-area,
.woocommerce .site-main {
    width: 100% !important;
    max-width: 100% !important;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    float: none !important;
}

.woocommerce .woocommerce-ordering {
    margin-bottom: 20px;
}

/* =============================
   Search Overlay
============================= */

.zt-search-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    display:none;
    justify-content:center;
    align-items:flex-start;
    padding-top:80px;
    z-index:999999;
}

.zt-search-overlay.active{
    display:flex;
}

.zt-search-overlay-box{
    width:min(92%,650px);
    background:#fff;
    border-radius:12px;
    padding:20px;
    position:relative;
}

#zt-overlay-search{
    width:100%;
    height:54px;
    border:1px solid #ddd;
    border-radius:8px;
    padding:0 18px;
    font-size:16px;
}

.zt-search-close{
    position:absolute;
    top:10px;
    right:15px;
    background:none;
    border:none;
    font-size:34px;
    cursor:pointer;
}