/* ===================================================================
   KitHouse — Design Tokens
   রঙ ও ফন্ট এক জায়গায় — পরিবর্তন করলে পুরো সাইটে প্রভাব পড়বে
=================================================================== */
:root{
	--ink:#14171F;
	--paper:#F5F4F1;
	--signal:#FF4419;
	--pitch:#1F3D2B;
	--chalk:#DDD9D2;
	--steel:#6B6F76;
	--white:#FFFFFF;

	--font-display:'Baloo Da 2', sans-serif;   /* বাংলা সাপোর্ট করা বোল্ড হেডলাইন ফন্ট */
	--font-body:'Hind Siliguri', sans-serif;   /* বাংলা সাপোর্ট করা ক্লিন বডি/UI ফন্ট */
	--font-mono:'Space Mono', monospace;       /* শুধু ইংরেজি নাম্বার-ব্যাজের জন্য (০১, ০২...) */

	--container:1240px;
	--radius:14px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	background:var(--paper);
	color:var(--ink);
	font-family:var(--font-body);
	font-size:16px;
	line-height:1.55;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:.01em;margin:0 0 .4em;text-transform:uppercase;}
p{margin:0 0 1em;}
.container{max-width:var(--container);margin:0 auto;padding:0 20px;}

:focus-visible{outline:3px solid var(--signal);outline-offset:2px;}

@media (prefers-reduced-motion: reduce){
	*{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ===================================================================
   Buttons
=================================================================== */
.kh-btn{
	display:inline-flex;align-items:center;justify-content:center;
	padding:14px 28px;border-radius:999px;font-weight:600;font-size:.95rem;
	border:2px solid transparent;cursor:pointer;transition:transform .15s ease, background .2s ease;
}
.kh-btn-primary{background:var(--signal);color:var(--white);}
.kh-btn-primary:hover{transform:translateY(-2px);background:#e63d14;}
.kh-btn-ghost{border-color:var(--ink);color:var(--ink);}
.kh-btn-ghost:hover{background:var(--ink);color:var(--white);}

/* ===================================================================
   Announcement bar
=================================================================== */
.kh-announce{background:var(--ink);color:var(--white);overflow:hidden;}
.kh-announce-track{
	display:flex;gap:48px;white-space:nowrap;padding:9px 0;
	font-family:var(--font-body);font-weight:600;font-size:.8rem;letter-spacing:.02em;
	animation:kh-marquee 18s linear infinite;
}
.kh-announce-track span{padding-left:48px;}
@keyframes kh-marquee{
	0%{transform:translateX(0);}
	100%{transform:translateX(-50%);}
}

/* ===================================================================
   Header
=================================================================== */
.kh-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--chalk);}
.kh-header-row{display:flex;align-items:center;gap:18px;padding:14px 20px;flex-wrap:nowrap;}
.kh-logo-text{font-family:var(--font-display);font-size:1.6rem;text-transform:uppercase;white-space:nowrap;}
.kh-logo-text--light{color:var(--white);}
.kh-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;flex-shrink:0;}
.kh-burger span{width:24px;height:2px;background:var(--ink);display:block;}

.kh-nav{flex:1;min-width:0;}
.kh-nav-list{display:flex;gap:22px;font-weight:600;font-size:.92rem;flex-wrap:wrap;}
.kh-nav-list a{position:relative;padding:4px 0;}
.kh-nav-list a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--signal);transition:width .2s ease;}
.kh-nav-list a:hover::after{width:100%;}

.kh-header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.kh-search{display:flex;align-items:center;background:var(--white);border:1px solid var(--chalk);border-radius:999px;padding:6px 6px 6px 16px;}
.kh-search input{border:0;outline:0;background:none;font-family:var(--font-body);width:120px;min-width:0;}
.kh-search button{border:0;background:var(--ink);color:var(--white);border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}

.kh-cart-link{position:relative;display:flex;flex-shrink:0;}
.cart-count{
	position:absolute;top:-8px;right:-10px;background:var(--signal);color:var(--white);
	font-family:var(--font-mono);font-size:.65rem;min-width:18px;height:18px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;padding:0 3px;
}

@media (max-width:1024px){
	.kh-burger{display:flex;}
	.kh-nav{position:fixed;top:0;left:-100%;width:78%;max-width:320px;height:100%;background:var(--white);padding:90px 24px 24px;transition:left .25s ease;z-index:60;overflow-y:auto;}
	.kh-nav.is-open{left:0;}
	.kh-nav-list{flex-direction:column;gap:20px;flex-wrap:nowrap;}
}
@media (max-width:480px){
	.kh-header-row{padding:12px 16px;gap:10px;}
	.kh-search{display:none;}
}

/* ===================================================================
   Eyebrow / section heads
=================================================================== */
.kh-eyebrow{
	font-family:var(--font-body);font-weight:700;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;
	color:var(--signal);margin-bottom:.6em;
}
.kh-eyebrow--light{color:var(--signal);}
.kh-section{padding:72px 0;}
.kh-section-head{margin-bottom:36px;}
.kh-section-head h2{font-size:clamp(1.8rem,3vw,2.6rem);}

/* ===================================================================
   Hero Photo Slider
=================================================================== */
.kh-hero-slider{position:relative;height:clamp(440px,72vh,640px);overflow:hidden;background:var(--ink);}
.kh-slides{position:absolute;inset:0;}
.kh-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;background-size:cover;background-position:center;}
.kh-slide.is-active{opacity:1;}
.kh-slide-placeholder{display:flex;}
.kh-slide-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,23,31,.35) 0%,rgba(20,23,31,.55) 60%,rgba(20,23,31,.78) 100%);z-index:1;}

.kh-slide-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;color:var(--white);}
.kh-slide-content .kh-hero-title{color:var(--white);font-size:clamp(2.4rem,5.4vw,4.2rem);line-height:1.05;margin-bottom:.5em;}
.kh-slide-content .kh-hero-sub{color:rgba(255,255,255,.85);font-size:1.05rem;max-width:540px;}
.kh-eyebrow--light{color:var(--signal);}

.kh-btn-ghost--light{border-color:var(--white);color:var(--white);}
.kh-btn-ghost--light:hover{background:var(--white);color:var(--ink);}

.kh-slide-arrow{
	position:absolute;top:50%;transform:translateY(-50%);z-index:3;
	width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.5);
	background:rgba(20,23,31,.35);color:var(--white);font-size:1.4rem;line-height:1;cursor:pointer;
}
.kh-slide-prev{left:20px;}
.kh-slide-next{right:20px;}
.kh-slide-arrow:hover{background:var(--signal);border-color:var(--signal);}

.kh-slide-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:10px;}
.kh-slide-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0;}
.kh-slide-dots button.is-active{background:var(--signal);width:22px;border-radius:5px;transition:width .25s ease;}

@media (max-width:600px){
	.kh-hero-slider{height:clamp(420px,82vh,560px);}
	.kh-slide-arrow{display:none;}
}

/* ===================================================================
   Category grid
=================================================================== */
.kh-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:900px){.kh-cat-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.kh-cat-grid{grid-template-columns:1fr;}}
.kh-cat-card{
	position:relative;display:flex;flex-direction:column;justify-content:flex-end;
	aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden;background:var(--ink);
	box-shadow:0 1px 0 var(--chalk);
}
.kh-cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.kh-cat-card:hover img{transform:scale(1.06);}
.kh-img-placeholder{
	position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;
	background:linear-gradient(160deg,#262b37,var(--ink));color:rgba(255,255,255,.5);font-size:.8rem;line-height:1.4;
}
.kh-cat-num{
	position:absolute;top:14px;left:14px;background:var(--signal);color:var(--white);
	font-family:var(--font-mono);font-size:.75rem;padding:3px 8px;border-radius:6px;z-index:2;
}
.kh-cat-name{
	position:relative;z-index:2;color:var(--white);font-family:var(--font-display);
	font-size:1.2rem;text-transform:uppercase;padding:18px;
	background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 70%);
}

/* ===================================================================
   Customization band
=================================================================== */
.kh-custom-band{background:var(--ink);color:var(--white);padding:80px 0;text-align:center;}
.kh-custom-title{font-size:clamp(1.8rem,4vw,2.8rem);max-width:760px;margin:0 auto 50px;}
.kh-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:50px;text-align:left;}
@media (max-width:800px){.kh-steps{grid-template-columns:1fr;}}
.kh-step{background:#1d212b;border:1px solid #2a2f3b;border-radius:var(--radius);padding:26px;}
.kh-step-num{font-family:var(--font-mono);color:var(--signal);font-size:1.1rem;}
.kh-step h3{font-size:1.15rem;margin-top:.4em;}
.kh-step p{color:#aeb2bb;margin:0;}

/* ===================================================================
   Trust strip
=================================================================== */
.kh-trust{background:var(--white);border-top:1px solid var(--chalk);border-bottom:1px solid var(--chalk);padding:50px 0;}
.kh-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
@media (max-width:800px){.kh-trust-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:460px){.kh-trust-grid{grid-template-columns:1fr;}}
.kh-trust-item h3{font-size:1rem;}
.kh-trust-item p{color:var(--steel);font-size:.9rem;margin:0;}

/* ===================================================================
   Testimonials
=================================================================== */
.kh-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:900px){.kh-testi-grid{grid-template-columns:1fr;}}
.kh-testi-card{background:var(--white);border:1px solid var(--chalk);border-radius:var(--radius);padding:26px;}
.kh-testi-card p{font-style:italic;}
.kh-testi-card span{font-family:var(--font-mono);font-size:.8rem;color:var(--steel);}

/* ===================================================================
   Footer
=================================================================== */
.kh-footer{background:var(--ink);color:#d6d8dd;padding:64px 0 0;}
.kh-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;}
.kh-footer-col h4{color:var(--white);font-size:1rem;margin-bottom:.8em;}
.kh-footer-col ul li{margin-bottom:8px;}
.kh-footer-col a:hover{color:var(--signal);}
.kh-footer-desc{color:#9ea2ac;max-width:280px;}
.kh-social{display:flex;gap:10px;margin-top:14px;}
.kh-social a{
	width:32px;height:32px;border:1px solid #2a2f3b;border-radius:50%;
	display:flex;align-items:center;justify-content:center;font-size:.7rem;font-family:var(--font-mono);
}
.kh-payment-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid #2a2f3b;padding:20px;font-size:.85rem;color:#9ea2ac;}
.kh-pay-badge{border:1px solid #2a2f3b;border-radius:6px;padding:4px 10px;font-family:var(--font-mono);font-size:.75rem;color:#d6d8dd;}
.kh-footer-bottom{border-top:1px solid #2a2f3b;padding:18px 20px;font-size:.8rem;color:#7c8089;}

@media (max-width:800px){
	.kh-footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
	.kh-footer-grid{grid-template-columns:1fr;}
}

/* ===================================================================
   Generic page / single post
=================================================================== */
.kh-generic{padding:60px 20px;max-width:820px;}
.kh-page-header h1{font-size:2.2rem;}
.kh-post-meta{color:var(--steel);font-family:var(--font-mono);font-size:.8rem;}
.kh-post-thumb{margin:20px 0;border-radius:var(--radius);overflow:hidden;}

/* ===================================================================
   WooCommerce overrides
=================================================================== */
.kh-shop-wrap{padding:0 0 70px;}
.kh-shop-page-head{padding-top:40px;}
.kh-shop-page-head h1{font-size:clamp(1.8rem,4vw,2.6rem);}

ul.products{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:24px;list-style:none;margin:0;padding:0;}
@media (max-width:1000px){ul.products{grid-template-columns:repeat(3,1fr) !important;}}
@media (max-width:700px){ul.products{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:420px){ul.products{grid-template-columns:1fr !important;}}

ul.products li.product{
	float:none !important;width:auto !important;margin:0 !important;clear:none !important;
	background:var(--white);border:1px solid var(--chalk);border-radius:var(--radius);
	padding:14px;transition:transform .2s ease, box-shadow .2s ease;
}
ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 14px 26px -16px rgba(20,23,31,.35);}
ul.products li.product img{width:100%;border-radius:10px;aspect-ratio:1/1;object-fit:cover;margin-bottom:12px;background:#eceae5;}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-body);font-weight:600;font-size:.95rem;text-transform:none;margin:.3em 0;}
ul.products li.product .price{font-family:var(--font-body);font-weight:700;color:var(--signal);}
ul.products li.product .price del{color:var(--steel);opacity:.6;font-weight:400;}
ul.products li.product .button{
	display:block;margin-top:10px;text-align:center;background:var(--ink);color:var(--white);
	border-radius:999px;padding:10px;font-size:.85rem;font-weight:600;
}
ul.products li.product .button:hover{background:var(--signal);}
ul.products li.product .onsale{
	background:var(--signal);color:var(--white);font-family:var(--font-body);font-weight:700;font-size:.7rem;
	border-radius:6px;padding:3px 8px;position:static;display:inline-block;margin-bottom:8px;
}

.woocommerce-pagination ul{display:flex;gap:8px;justify-content:center;margin-top:40px;}
.woocommerce-pagination a, .woocommerce-pagination span{
	display:flex;width:36px;height:36px;align-items:center;justify-content:center;
	border:1px solid var(--chalk);border-radius:8px;
}

/* Single product page */
.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:40px;}
@media (max-width:800px){.single-product div.product{grid-template-columns:1fr;}}
.single-product .product_title{font-size:clamp(1.6rem,3vw,2.2rem);}
.single-product .price{font-family:var(--font-body);font-weight:700;font-size:1.4rem;color:var(--signal);display:block;margin:.4em 0;}
.single-product .woocommerce-product-details__short-description{color:var(--steel);}
.single-product table.variations{margin:18px 0;width:100%;}
.single-product table.variations td{padding:6px 0;}
.single-product table.variations select{width:100%;max-width:260px;padding:9px 12px;border:1px solid var(--chalk);border-radius:8px;}
.single-product .single_add_to_cart_button{
	background:var(--signal);color:var(--white);border-radius:999px;padding:14px 32px;
	font-weight:700;border:0;cursor:pointer;
}
.single-product .single_add_to_cart_button:hover{background:#e63d14;}
.single-product form.cart{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.single-product div.quantity{margin-right:0;}
.single-product .quantity input{width:64px;padding:10px;border:1px solid var(--chalk);border-radius:8px;}

/* কাস্টম জার্সি পার্সোনালাইজেশন ফিল্ড */
.kh-personalize{background:var(--paper);border:1px dashed var(--chalk);border-radius:var(--radius);padding:18px;margin:18px 0;}
.kh-personalize-title{font-weight:700;margin-bottom:10px;}
.kh-personalize-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.kh-personalize-row label{width:120px;font-size:.9rem;color:var(--steel);}
.kh-personalize-row input{flex:1;padding:10px 12px;border:1px solid var(--chalk);border-radius:8px;font-family:var(--font-body);}

/* Cart & checkout */
.woocommerce-cart table.cart, .woocommerce-checkout table.shop_table{width:100%;border-collapse:collapse;}
.woocommerce-cart table.cart th, .woocommerce-cart table.cart td{padding:14px 10px;border-bottom:1px solid var(--chalk);}
.woocommerce-cart table.cart img{width:64px;border-radius:8px;}
#place_order, .checkout-button{
	background:var(--signal) !important;color:var(--white) !important;border-radius:999px !important;
	padding:14px 32px !important;font-weight:700 !important;border:0 !important;
}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;padding:0;}
.woocommerce-checkout #payment div.payment_box{background:var(--paper);border-radius:10px;}

@media (max-width:700px){
	.woocommerce-cart-form, #order_review, .woocommerce-checkout-review-order{overflow-x:auto;}
	.woocommerce-cart table.cart, .woocommerce-checkout table.shop_table{min-width:560px;}
}

.woocommerce-checkout .form-row, .woocommerce-billing-fields .form-row, .woocommerce-shipping-fields .form-row{margin-bottom:14px;}
.woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce-checkout textarea{
	width:100%;padding:11px 14px;border:1px solid var(--chalk);border-radius:8px;font-family:var(--font-body);
}

/* My Account পেজ */
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border:1px solid var(--chalk);border-radius:999px;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{padding:9px 18px;display:block;font-size:.88rem;font-weight:600;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active{background:var(--ink);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--white);}
.woocommerce-account table{width:100%;border-collapse:collapse;}
.woocommerce-account table th, .woocommerce-account table td{padding:10px;border-bottom:1px solid var(--chalk);text-align:left;font-size:.88rem;}
@media (max-width:700px){
	.woocommerce-account table{display:block;overflow-x:auto;white-space:nowrap;}
}

/* Star rating colour */
.star-rating span::before{color:var(--signal) !important;}
