/*
Theme Name: Cattle Agro
Theme URI: http://localhost/cattle-agro/
Author: Cattle Agro
Description: Custom Cattle Agro ecommerce storefront homepage.
Version: 1.0.0
Text Domain: krishi-agro
*/

html { scroll-behavior: smooth; }

:root { --site-gutter:clamp(16px,2.2vw,32px); }

/* Keep page gutters consistent across old Tailwind-generated templates and custom CSS. */
.px-margin-desktop, .kp-wrap { padding-left:var(--site-gutter)!important; padding-right:var(--site-gutter)!important; }

body.admin-bar header.fixed { top: 32px; }

@media (max-width: 782px) {
  body.admin-bar header.fixed { top: 46px; }
}

/* WooCommerce single product */
.single-product .wp-site-blocks { margin: 0; }
.krishi-product-page { --green:#003616; --mid:#1b6d24; --cream:#f4fbf4; --line:#d6d9d2; --orange:#e65100; background:var(--cream); color:#161d19; font-family:"Work Sans","Noto Sans Bengali",sans-serif; min-height:100vh; }

/* Same container as the homepage sections: max-w-[1440px] mx-auto w-full px-margin-desktop */
.kp-wrap { box-sizing:border-box; width:100%; max-width:1440px; margin-inline:auto; padding-inline:48px; }
.kp-topbar { background:var(--green); color:#fff; font-size:12px; padding:7px 0; }
.kp-topbar .kp-wrap { display:flex; justify-content:space-between; gap:16px; }
.kp-topbar a { color:#fff; text-decoration:none; font-weight:700; }
.kp-header { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:30; }
.admin-bar .kp-header { top:32px; }
.kp-header-inner { height:82px; display:flex; align-items:center; gap:32px; }
.kp-brand { display:flex; align-items:center; gap:10px; color:var(--green); text-decoration:none; min-width:220px; }
.kp-brand img { width:68px; height:42px; object-fit:contain; }
.kp-brand strong,.kp-brand small { display:block; }
.kp-brand strong { font:700 20px/1.1 "Space Grotesk",sans-serif; }.kp-brand small{font-size:11px;color:#717970;margin-top:4px}
.kp-search { display:flex; flex:1; max-width:560px; border:2px solid var(--line); }
.kp-search input { min-width:0; flex:1; border:0; padding:12px 14px; outline:none; font:inherit; }
.kp-search button { border:0; background:var(--green); color:#fff; padding:0 22px; font-weight:700; cursor:pointer; }
.kp-actions { margin-left:auto; display:flex; align-items:center; gap:14px; }.kp-actions a{color:#26352b;text-decoration:none;font-size:13px;font-weight:650}.kp-cart{background:var(--green);color:#fff!important;padding:11px 14px}.kp-cart b{background:#f8bd44;color:#271900;padding:2px 6px;margin-left:4px}
.kp-main { padding-top:18px; padding-bottom:56px; }.kp-breadcrumb{display:flex;gap:9px;align-items:center;color:#717970;font-size:12px;margin:4px 0 18px}.kp-breadcrumb a{color:var(--green);text-decoration:none;font-weight:650}
.single-product .kp-main { padding-top: 194px; }
.kp-product-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:28px;background:#fff;border:1px solid var(--line);padding:24px}.kp-gallery{min-width:0}.kp-main-image{aspect-ratio:1/1;background:#f9f8f5;border:1px solid #e8eee8;position:relative;display:flex;align-items:center;justify-content:center;padding:28px}.kp-featured-image{width:100%;height:100%;object-fit:contain}.kp-badge{position:absolute;left:12px;top:12px;background:#d32f2f;color:#fff;font-weight:800;font-size:12px;padding:6px 9px;z-index:2}.kp-thumbs{display:flex;gap:8px;margin-top:10px}.kp-thumb{width:68px;height:68px;border:2px solid var(--line);background:#fff;padding:4px;cursor:pointer}.kp-thumb:first-child{border-color:var(--green)}.kp-thumb img{width:100%;height:100%;object-fit:contain}
.kp-summary{padding:6px 4px}.kp-category{text-transform:uppercase;letter-spacing:.05em;color:#54705c;font-size:11px;font-weight:700}.kp-summary h1{font:700 clamp(26px,3vw,38px)/1.16 "Space Grotesk","Noto Sans Bengali",sans-serif;color:var(--green);margin:12px 0}.kp-rating{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px}.kp-rating span{color:#c89218;letter-spacing:2px}.kp-rating small{color:#717970}.kp-price{display:flex;align-items:baseline;gap:12px;margin:20px 0}.kp-price strong{font:700 34px/1 "Space Grotesk",sans-serif;color:var(--green)}.kp-price del{color:#899188}.kp-price em{font-style:normal;background:#ffdad6;color:#93000a;font-size:12px;font-weight:800;padding:4px 7px}.kp-description{color:#414940;line-height:1.7;font-size:15px}.kp-status{display:flex;justify-content:space-between;gap:16px;background:#eef5ef;border-left:4px solid var(--mid);padding:11px 13px;font-size:13px;margin:18px 0}.is-stock{color:var(--mid);font-weight:800}.out-stock{color:#ba1a1a;font-weight:800}
.kp-order-box{border:1px solid var(--line);padding:16px;background:#f9f8f5}.kp-order-box form.cart{display:flex;gap:10px;margin:0 0 10px}.kp-order-box .quantity input{width:70px;height:46px;border:1px solid var(--line);text-align:center;font-weight:700}.kp-order-box .single_add_to_cart_button{flex:1;border:0!important;border-radius:0!important;background:var(--green)!important;color:#fff!important;font:700 14px "Space Grotesk",sans-serif!important;padding:0 20px!important;min-height:46px}.kp-phone{display:flex;justify-content:center;background:var(--orange);color:#fff;text-decoration:none;padding:12px;font-weight:800}.kp-assurances{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:18px}.kp-assurances div{background:#fff;padding:12px}.kp-assurances b,.kp-assurances small{display:block}.kp-assurances b{color:var(--green);font-size:12px}.kp-assurances small{font-size:10px;color:#717970;margin-top:4px}
.kp-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;margin-top:28px}.kp-details,.kp-help{background:#fff;border:1px solid var(--line);padding:24px}.kp-details h3,.kp-help h3{font:700 18px "Space Grotesk","Noto Sans Bengali",sans-serif;color:var(--green);margin:24px 0 12px}.kp-copy{line-height:1.75;color:#414940}.kp-details table{width:100%;border-collapse:collapse;font-size:13px}.kp-details th,.kp-details td{border:1px solid var(--line);padding:11px;text-align:left}.kp-details th{width:32%;background:#eef5ef;color:var(--green)}.kp-help{align-self:start;border-top:5px solid var(--green)}.kp-help ul{list-style:none;margin:0 0 20px;padding:0}.kp-help li{padding:10px 0;border-bottom:1px solid #edf0ed;font-size:13px}.kp-help li:before{content:"✓";color:var(--mid);font-weight:900;margin-right:8px}.kp-help a{display:block;background:#25d366;color:#063d19;padding:12px;text-align:center;text-decoration:none;font-weight:800}
.kp-related{margin-top:34px}.kp-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.kp-heading{display:flex;align-items:center;gap:12px;min-width:0}.kp-bar{width:10px;height:24px;background:var(--green);flex:none}.kp-heading h2{font:700 28px/36px "Space Grotesk","Noto Sans Bengali",sans-serif;letter-spacing:-.01em;color:var(--green);margin:0}.kp-heading p{font-size:12px;line-height:16px;color:#717970;margin:2px 0 0}.kp-section-heading>a{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:16px;letter-spacing:.03em;font-weight:600;color:var(--green);background:#e8f0e9;padding:4px 16px;text-decoration:none;transition:background .2s}.kp-section-heading>a:hover{background:#dde4de}.kp-section-heading>a .material-symbols-outlined{font-size:16px}.kp-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.kp-related article{min-width:0}
.kp-related article{background:#fff;display:flex;flex-direction:column;min-width:0}.kp-related article>a:first-child{display:flex;position:relative;aspect-ratio:1/1;background:#f9f8f5;align-items:center;justify-content:center;padding:12px;overflow:hidden}.kp-related article>a:first-child img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.kp-related article:hover>a:first-child img{transform:scale(1.04)}.kp-related article>a:first-child span{position:absolute;left:7px;top:7px;background:#d32f2f;color:#fff;font-size:10px;font-weight:800;padding:4px 6px}.kp-related article>div{padding:13px;display:flex;flex:1;flex-direction:column;justify-content:space-between}.kp-related article h3{font:700 15px/1.35 "Space Grotesk","Noto Sans Bengali",sans-serif;margin:5px 0}.kp-related article h3 a{color:#161d19;text-decoration:none}.kp-related article p{font-size:11px;line-height:1.4;color:#717970;margin:5px 0}.kp-related article>div>div>div:first-child{display:flex;justify-content:space-between;color:#717970;font-size:10px}.kp-related article>div>div:last-child>div:first-child{display:flex;gap:6px;align-items:baseline;margin:10px 0}.kp-related article>div>div:last-child>div:first-child span:first-child{font:700 18px "Space Grotesk",sans-serif;color:var(--green)}.kp-related article>div>div:last-child>div:first-child span:last-child{font-size:11px;color:#899188;text-decoration:line-through}.kp-related article .add_to_cart_button{display:flex;background:var(--green);color:#fff;text-decoration:none;padding:10px;justify-content:center;align-items:center;gap:5px;font-size:12px;font-weight:800}.kp-related article .material-symbols-outlined{font-size:15px}
.kp-footer{background:#fff;border-top:1px solid var(--line);padding:34px 0}.kp-footer .kp-wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}.kp-footer strong{font:700 22px "Space Grotesk",sans-serif;color:var(--green)}.kp-footer p{color:#59635b;font-size:12px;line-height:1.6}
@media(max-width:900px){.single-product .kp-main{padding-top:194px}.kp-header-inner{height:auto;padding:12px 0;flex-wrap:wrap}.kp-search{order:3;flex-basis:100%;max-width:none}.kp-product-grid,.kp-detail-grid{grid-template-columns:1fr}.kp-related-grid{grid-template-columns:repeat(2,1fr)}.kp-actions{margin-left:auto}.kp-assurances{grid-template-columns:1fr}.kp-footer .kp-wrap{grid-template-columns:1fr 1fr}.admin-bar .kp-header{top:46px}}
@media(max-width:560px){.kp-topbar .kp-wrap{justify-content:center}.kp-topbar span{display:none}.kp-brand{min-width:0}.kp-brand img{width:54px}.kp-brand strong{font-size:16px}.kp-actions>a:first-child{display:none}.kp-product-grid{padding:12px}.kp-summary h1{font-size:25px}.kp-price{flex-wrap:wrap}.kp-price strong{font-size:29px}.kp-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kp-footer .kp-wrap{grid-template-columns:1fr}.kp-order-box form.cart{flex-wrap:wrap}.kp-order-box .single_add_to_cart_button{min-height:48px}.kp-status{flex-direction:column}.kp-main-image{padding:14px}}

/* Keep the shared storefront header usable on product pages at narrow widths. */
@media (max-width: 900px) {
  .single-product header.fixed > div:first-child { display: none; }
  .single-product header.fixed > div:nth-child(2) { height: 64px; padding-inline: 16px; }
  .single-product header.fixed > div:nth-child(2) > div { gap: 8px; }
  .single-product header.fixed > div:nth-child(2) > div > div:first-child { min-width: 0; gap: 8px; }
  .single-product header.fixed > div:nth-child(2) > div > div:first-child img { height: 34px; max-width: 96px; }
  .single-product header.fixed > div:nth-child(2) > div > div:first-child a span:first-child { font-size: 15px; line-height: 18px; white-space: nowrap; }
  .single-product header.fixed > div:nth-child(2) > div > div:first-child a span:last-child { font-size: 9px; }
  .single-product header.fixed > div:nth-child(2) > div > div:nth-child(2) { display: none; }
  .single-product header.fixed > div:nth-child(2) > div > div:nth-child(3) { margin-left: auto; gap: 0; }
  .single-product header.fixed > div:nth-child(2) > div > div:nth-child(3) > * { display: none; }
  .single-product header.fixed > div:nth-child(2) > div > div:nth-child(3) > a[data-path="cart"] { display: flex; padding: 9px 10px; }
  .single-product header.fixed > div:nth-child(3) { height: 48px; padding-inline: 0; overflow: hidden; }
  .single-product header.fixed > div:nth-child(3) > div { overflow-x: auto; justify-content: flex-start; }
  .single-product header.fixed > div:nth-child(3) > div > div:first-child { min-width: max-content; gap: 0; }
  .single-product header.fixed > div:nth-child(3) button { padding-inline: 14px; min-width: 150px; }
  .single-product header.fixed > div:nth-child(3) nav { gap: 0; }
  .single-product header.fixed > div:nth-child(3) nav a { padding-inline: 14px; white-space: nowrap; }
  .single-product header.fixed > div:nth-child(3) > div > div:last-child { display: none; }
  .single-product .kp-main { padding-top: 128px; }
}

@media (max-width: 480px) {
  .single-product header.fixed > div:nth-child(2) > div > div:first-child > a span:last-child { display: none; }
  .single-product .kp-wrap { padding-inline: 24px; }
  .single-product .kp-product-grid { padding: 10px; }
  .single-product .kp-main-image { padding: 8px; }
  .single-product .kp-summary { padding: 8px 2px; }
  .single-product .kp-summary h1 { font-size: 24px; }
  .single-product .kp-detail-grid { margin-top: 16px; gap: 16px; }
  .single-product .kp-details, .single-product .kp-help { padding: 16px; }
}

/* Product detail tabs */
.kp-tabs { background:#fff; border:1px solid var(--line); margin-top:28px; }
.kp-tabs-header { display:flex; align-items:stretch; justify-content:center; gap:4px; border-bottom:1px solid var(--line); padding:0 16px; overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.kp-tabs-header::-webkit-scrollbar { display:none; }
.kp-tab { appearance:none; border:0; background:transparent; font:600 14px/1 "Space Grotesk","Noto Sans Bengali",sans-serif; color:#5b6660; padding:15px 20px 13px; cursor:pointer; display:flex; align-items:center; gap:8px; border-bottom:3px solid transparent; margin-bottom:-1px; transition:color .2s,border-color .2s; white-space:nowrap; flex:none; }
.kp-tab-ico { width:17px; height:17px; flex:none; }
.kp-tab:hover { color:var(--mid); }
.kp-tab.is-active { color:var(--green); border-bottom-color:var(--green); font-weight:700; }
.kp-tab-count { background:#f1f4f1; color:#5b6660; font-size:10px; font-weight:700; padding:2px 7px; border-radius:999px; margin-left:2px; }
.kp-tab.is-active .kp-tab-count { background:#e4ece5; color:var(--green); }
.kp-tab-panel { display:none; padding:28px 30px; }
.kp-tab-panel.is-active { display:block; }
.kp-tab-panel h3 { font:700 15px "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); margin:0 0 14px; letter-spacing:.02em; text-transform:uppercase; }
.kp-tab-panel table { width:100%; border-collapse:collapse; font-size:13.5px; max-width:760px; }
.kp-tab-panel th,.kp-tab-panel td { border:1px solid var(--line); padding:12px 14px; text-align:left; }
.kp-tab-panel th { width:34%; background:#f2f7f2; color:var(--green); font-weight:700; }
.kp-tab-panel td { color:#414940; }
.kp-tab-loading { display:flex; align-items:center; justify-content:center; gap:12px; padding:40px 0; color:#899188; font-size:14px; }
.kp-tab-loading span { width:22px; height:22px; border-radius:50%; border:3px solid #dde4de; border-top-color:#1a7f37; animation:kp-spin .8s linear infinite; }
@keyframes kp-spin { to { transform:rotate(360deg); } }

/* Reviews */
.kp-reviews { max-width:760px; }
.kp-review-summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; background:#eef5ef; border:1px solid #d6e3d6; padding:18px 20px; }
.kp-review-avg { display:flex; align-items:center; gap:10px; }
.kp-review-avg b { font:700 46px/1 "Space Grotesk",sans-serif; color:var(--green); }
.kp-review-avg small { color:#717970; }
.kp-stars { display:inline-flex; gap:2px; }
.kp-stars svg { width:17px; height:17px; color:#dde4de; }
.kp-stars svg.is-on { color:#c89218; }
.kp-btn { border:0; cursor:pointer; text-decoration:none; font:700 13px "Space Grotesk",sans-serif; }
.kp-btn-submit { background:var(--green); color:#fff; padding:13px 26px; }
.kp-btn-submit:hover { background:var(--mid); }
.kp-btn-outline { display:inline-block; background:#fff; color:var(--green); border:1px solid var(--green); padding:12px 20px; }
.kp-btn-outline:hover { background:var(--green); color:#fff; }
.kp-review-meta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.kp-review-item { display:flex; gap:14px; padding:18px 0; border-bottom:1px solid #edf0ed; }
.kp-avatar { width:44px; height:44px; border-radius:50%; background:var(--green); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; flex:none; }
.kp-review-body { flex:1; min-width:0; }
.kp-review-body p { color:#414940; font-size:14px; line-height:1.7; margin:7px 0 0; }
.kp-empty { text-align:center; color:#717970; padding:18px 0 6px; font-size:14px; }
.kp-review-title { font:700 18px "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); margin:6px 0 12px; }
.kp-field { width:100%; max-width:460px; border:1px solid var(--line); background:#fff; padding:11px 12px; font:inherit; font-size:14px; margin:0 0 10px; display:block; color:#161d19; box-sizing:border-box; }
.kp-field:focus { outline:none; border-color:var(--green); }
textarea.kp-field { max-width:620px; }

@media (max-width:560px) { .kp-tabs-header { padding:0 4px; } .kp-tab { padding:13px 14px 11px; font-size:13px; } .kp-tab-panel { padding:18px 16px; } }

/* ============================================================
   WooCommerce pages: cart / checkout / order received / shop
   ============================================================ */
.woo-page { --green:#003616; --mid:#1b6d24; --cream:#f4fbf4; --line:#d6d9d2; --orange:#e65100; background:var(--cream); color:#161d19; font-family:"Work Sans","Noto Sans Bengali",sans-serif; min-height:100vh; }
.woo-page .woo-title { font:700 clamp(24px,3vw,30px)/1.2 "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); margin:0 0 10px; letter-spacing:-.01em; }
.woo-page .woocommerce-breadcrumb { font-size:12px; color:#717970; margin:0 0 20px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.woo-page .woocommerce-breadcrumb a { color:var(--mid); text-decoration:none; font-weight:650; }
.woo-page .woocommerce-breadcrumb a:hover { color:var(--green); text-decoration:underline; }
.woo-page.woocommerce-cart .woocommerce-breadcrumb, .woo-page.woocommerce-checkout .woocommerce-breadcrumb { display:none; }

/* Notices */
.woo-page .woocommerce-message, .woo-page .woocommerce-info, .woo-page .woocommerce-error { border:1px solid var(--line); border-left:4px solid var(--mid); background:#fff; color:#2b322e; font-size:14px; padding:13px 16px; margin:0 0 18px; border-radius:0; box-shadow:none; }
.woo-page .woocommerce-message::before { color:var(--mid); }
.woo-page .woocommerce-error { border-left-color:#ba1a1a; background:#fdf3f2; }
.woo-page .woocommerce-error li { color:#7a1f1f; }

/* Buttons */
.woo-page .button, .woo-page button.button, .woo-page a.button { display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 24px; background:var(--green); color:#fff; border:1px solid var(--green); border-radius:0; font:700 13.5px/1 "Space Grotesk","Noto Sans Bengali",sans-serif; letter-spacing:.04em; text-decoration:none; cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
.woo-page .button:hover, .woo-page button.button:hover, .woo-page a.button:hover { background:var(--mid); border-color:var(--mid); color:#fff; }
.woo-page .button.disabled, .woo-page .button:disabled, .woo-page button.button:disabled { background:#e3eae3; border-color:#e3eae3; color:#899188; cursor:default; }
.woo-page a.showcoupon, .woo-page a.showlogin { color:var(--green); font-weight:700; text-decoration:underline; cursor:pointer; }

/* ---------- Cart table ---------- */
.woo-page .woocommerce-cart-form { margin:0; }
.woo-page .shop_table { background:#fff; border:1px solid var(--line); border-collapse:collapse; width:100%; }
.woo-page .shop_table thead th { background:#eef5ef; color:#414940; font:700 11px/1.2 "Space Grotesk","Noto Sans Bengali",sans-serif; text-transform:uppercase; letter-spacing:.07em; padding:14px; border-bottom:1px solid var(--line); text-align:left; }
.woo-page .shop_table td { border-bottom:1px solid #edf0ed; padding:16px 14px; vertical-align:middle; font-size:14px; color:#414940; }
.woo-page .shop_table tbody tr:last-child td { border-bottom:0; }
.woo-page .shop_table tbody tr:hover td { background:#fbfdfb; }
.woo-page .product-thumbnail img { width:74px; height:74px; object-fit:contain; background:#fff; border:1px solid var(--line); padding:5px; display:block; }
.woo-page .product-name a { color:#161d19; font-weight:650; text-decoration:none; font-size:14.5px; }
.woo-page .product-name a:hover { color:var(--green); }
.woo-page .product-name .backorder_notification, .woo-page .product-name .variation { font-size:12px; color:#717970; margin-top:5px; font-style:normal; display:block; }
.woo-page .product-price { color:#2b322e; font-weight:600; white-space:nowrap; }
.woo-page .product-subtotal { font-weight:700; color:var(--green); font-size:15px; white-space:nowrap; }
.woo-page .product-quantity { width:158px; }
.woo-page .product-remove a.remove { display:flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid var(--line); color:#9aa39b; font-size:17px; text-decoration:none; background:#fff; transition:.2s; }
.woo-page .product-remove a.remove:hover { border-color:#ba1a1a; color:#ba1a1a; background:#fdf3f2; }

/* Quantity steppers (cart table + drawer) */
.kc-qty { display:inline-flex; align-items:stretch; border:1px solid var(--line); background:#fff; height:40px; user-select:none; }
.kc-qty-btn { width:36px; border:0; background:#f1f4f1; color:var(--mid); font-size:17px; font-weight:700; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s,color .15s; font-family:inherit; padding:0; }
.kc-qty-btn:hover:not(:disabled) { background:var(--green); color:#fff; }
.kc-qty-btn:disabled { opacity:.35; cursor:not-allowed; }
.kc-qty-num { min-width:38px; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; color:var(--green); border-left:1px solid var(--line); border-right:1px solid var(--line); }
.kc-qty-input { width:56px; border:0; border-left:1px solid var(--line); border-right:1px solid var(--line); text-align:center; font:700 15px/1 "Space Grotesk",sans-serif; color:var(--green); background:#fff; -moz-appearance:textfield; -webkit-appearance:textfield; padding:0; box-sizing:border-box; }
.kc-qty-input::-webkit-outer-spin-button, .kc-qty-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.kc-qty-input:focus { outline:none; background:#f4fbf4; }
#kc-cart-drawer .kc-qty { height:34px; }
#kc-cart-drawer .kc-qty-btn { width:30px; font-size:15px; }
#kc-cart-drawer .kc-qty-num { min-width:30px; font-size:13px; }

/* Cart actions: coupon + update */
.woo-page .shop_table td.actions { background:#f9fbf9; }
.woo-page .cart .actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding:18px 14px; border-top:1px solid var(--line); }
.woo-page .coupon { display:flex; align-items:center; flex-wrap:wrap; gap:0; flex:1; min-width:250px; }
.woo-page .coupon input.input-text { height:44px; border:1px solid var(--line); border-right:0; padding:0 14px; font-size:14px; background:#fff; min-width:180px; max-width:280px; flex:1; border-radius:0; box-shadow:none; box-sizing:border-box; }
.woo-page .coupon input.input-text:focus { outline:none; border-color:var(--green); }
.woo-page .coupon .button { height:44px; padding:0 22px; background:#fff; color:var(--green); border:1px solid var(--green); font-size:13px; }
.woo-page .coupon .button:hover { background:var(--green); color:#fff; }
.woo-page .button[name="update_cart"] { margin-left:auto; height:44px; padding:0 26px; }
.woo-page .button[name="update_cart"]:disabled { background:#e3eae3; border-color:#e3eae3; color:#899188; }

/* Cart totals + proceed */
.woo-page .cart-collaterals { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:26px; align-items:start; margin-top:26px; }
/* Neutralize WooCommerce legacy float/width + clearfix pseudo-elements (they beat plain .woo-page specificity) */
.woo-page.woocommerce-cart .cart-collaterals::before, .woo-page.woocommerce-cart .cart-collaterals::after { content:none; display:none; }
.woo-page.woocommerce-cart .cart-collaterals .cart_totals { float:none; width:100%; }
.woo-page.woocommerce-cart .cart-collaterals .cross-sells { float:none; width:100%; }
.woo-page.woocommerce-cart .cart-collaterals .shipping_calculator { float:none; width:100%; clear:none; }
.woo-page .cart_totals { background:#fff; border:1px solid var(--line); padding:24px; margin-top:0; width:100%; max-width:560px; justify-self:end; }
.woo-page .cart_totals h2 { font:700 20px "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); margin:0 0 6px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.woo-page .cart_totals table { border-collapse:collapse; width:100%; }
.woo-page .cart_totals th, .woo-page .cart_totals td { padding:14px 4px; border-bottom:1px solid #edf0ed; font-size:14px; text-align:left; font-weight:400; color:#414940; }
.woo-page .cart_totals td { text-align:right; color:#2b322e; }
.woo-page .cart_totals tr:last-child th, .woo-page .cart_totals tr:last-child td { border-bottom:0; }
.woo-page .cart_totals .cart-discount th, .woo-page .cart_totals .cart-discount td { color:var(--mid); font-weight:700; }
.woo-page .cart_totals .shipping .label { display:flex; align-items:center; gap:8px; }
.woo-page .cart_totals .shipping input[type="radio"] { accent-color:var(--green); }
.woo-page .cart_totals .shipping .amount { font-weight:650; }
.woo-page .cart_totals .order-total th { font-weight:700; color:var(--green); font-size:15.5px; }
.woo-page .cart_totals .order-total td { font:700 24px/1.1 "Space Grotesk",sans-serif; color:var(--green); }
.woo-page .wc-proceed-to-checkout { display:block; padding:0; }
.woo-page .wc-proceed-to-checkout a.checkout-button { display:block; width:100%; text-align:center; background:var(--green); color:#fff; padding:16px; font:700 15px/1 "Space Grotesk","Noto Sans Bengali",sans-serif; letter-spacing:.04em; text-decoration:none; margin-top:18px; transition:background .2s; }
.woo-page .wc-proceed-to-checkout a.checkout-button:hover { background:var(--mid); }

/* Cross-sells */
.woo-page .cross-sells { margin-top:0; }
.woo-page .cross-sells h2 { font:700 19px "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); margin:0 0 16px; }
.woo-page .cross-sells ul.products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:0; }

/* Product loops (shop / categories) */
.kc-product-card { min-width:0; overflow:hidden; border:1px solid #d6d9d2; }
.kc-product-card > a:first-child { flex-shrink:0; }
.kc-product-card .kc-card-title { font-size:15px; line-height:1.4; min-height:2.8em; }
.kc-product-card .kc-card-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; line-height:1.5; }
.kc-product-card .kc-product-badge, .kp-badge, .kp-related article > a:first-child > span { display:inline-flex; width:max-content; max-width:calc(100% - 16px); min-width:0; right:auto; white-space:nowrap; align-self:flex-start; }
.woo-page ul.products li.product { min-width:0; overflow:hidden; transition:border-color .2s,box-shadow .2s; }
.woo-page ul.products li.product:hover { border-color:#1b6d24; box-shadow:0 4px 16px rgba(0,54,22,.08); }
.woo-page ul.products li.product > a.woocommerce-loop-product__link { display:flex; flex-direction:column; flex:1; min-width:0; }
.woo-page ul.products li.product h2.woocommerce-loop-product__title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; padding:14px 14px 0; box-sizing:border-box; line-height:1.4; min-height:calc(2.8em + 14px); max-height:calc(2.8em + 14px); }
.woo-page ul.products li.product .price { margin-top:auto; min-height:44px; display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 8px; }
.woo-page ul.products li.product .price ins { text-decoration:none; }
.woo-page ul.products li.product .button { justify-content:center; align-items:center; min-height:42px; margin-top:12px; line-height:1.35; }
.woo-page ul.products li.product .added_to_cart { text-align:center; padding:0 14px 12px; font-size:13px; }
.added_to_cart.wc-forward { display:none!important; }
/* Explicit right/min-width resets beat WooCommerce's archive sale positioning. */
.woo-page ul.products li.product span.onsale,
.woocommerce div.product > span.onsale,
.woo-page div.product > span.onsale { left:8px; top:8px; right:auto; bottom:auto; width:max-content; min-width:0; max-width:calc(100% - 16px); height:auto; min-height:0; margin:0; padding:5px 9px; display:inline-flex; align-items:center; justify-content:center; line-height:1.35; white-space:nowrap; border-radius:2px; z-index:2; }
.woo-page ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; padding:0; }
.woo-page ul.products li.product { float:none; width:auto; margin:0; padding:0; background:#fff; border:1px solid var(--line); text-align:left; display:flex; flex-direction:column; position:relative; }
.woo-page ul.products li.product a img { width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; background:#f9f8f5; padding:16px; margin:0; display:block; box-sizing:border-box; transition:transform .25s; }
.woo-page ul.products li.product:hover a img { transform:scale(1.03); }
.woo-page ul.products .woocommerce-loop-product__title { font:700 15px/1.35 "Space Grotesk","Noto Sans Bengali",sans-serif; color:#161d19; padding:14px 14px 0; margin:0; }
.woo-page ul.products li.product .woocommerce-loop-product__description { font-size:12px; color:#717970; padding:6px 14px 0; margin:0; }
.woo-page ul.products li.product .price { color:var(--green); font:700 17px "Space Grotesk",sans-serif; padding:9px 14px 0; display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 8px; margin:auto 0 0; min-height:44px; }
.woo-page ul.products li.product .price del { color:#899188; font-weight:500; font-size:13px; margin-right:6px; }
.woo-page ul.products li.product .onsale { position:absolute; left:0; top:0; background:#d32f2f; color:#fff; font-size:10px; font-weight:800; padding:5px 8px; min-height:0; line-height:1.2; width:auto; height:auto; border-radius:0; display:flex; align-items:center; }
.woo-page ul.products li.product .button { display:flex; justify-content:center; align-items:center; margin:12px 14px 14px; text-align:center; background:var(--green); color:#fff; border:0; padding:11px; font-size:12.5px; font-weight:700; height:auto; min-height:42px; line-height:1.35; }
.woo-page ul.products li.product .button:hover { background:var(--mid); }
.woo-page .woocommerce-result-count { color:#717970; font-size:13px; margin:0 0 18px; }
.woo-page .woocommerce-ordering { margin:0 0 18px; }
.woo-page .woocommerce-ordering select { height:42px; border:1px solid var(--line); background:#fff; padding:0 34px 0 12px; font-size:13.5px; border-radius:0; box-shadow:none; }
.woo-page .woocommerce-pagination { display:flex; justify-content:center; margin:34px 0 0; }
.woo-page .woocommerce-pagination ul.page-numbers { display:flex; align-items:center; justify-content:center; gap:8px; list-style:none; margin:0; padding:8px; flex-wrap:wrap; background:#fff; border:1px solid var(--line); }
.woo-page .woocommerce-pagination ul.page-numbers li { display:block; margin:0; padding:0; border:0; }
.woo-page .woocommerce-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-width:40px; height:40px; padding:0 13px; background:#f9fbf9; border:1px solid transparent; color:#2b322e; font-size:13.5px; font-weight:700; text-decoration:none; transition:background .2s,border-color .2s,color .2s,transform .2s; box-sizing:border-box; }
.woo-page .woocommerce-pagination a.page-numbers:hover, .woo-page .woocommerce-pagination a.page-numbers:focus-visible { background:#eef5ef; border-color:var(--green); color:var(--green); transform:translateY(-1px); outline:none; }
.woo-page .woocommerce-pagination .page-numbers.current { background:var(--green); border-color:var(--green); color:#fff; cursor:default; }
.woo-page .woocommerce-pagination .page-numbers.dots { background:transparent; color:#899188; border-color:transparent; min-width:24px; padding:0 4px; }
.woo-page .woocommerce-pagination .prev, .woo-page .woocommerce-pagination .next { min-width:86px; background:#fff; border-color:var(--line); color:var(--green); }
.woo-page .woocommerce-pagination .material-symbols-outlined { font-size:18px; line-height:1; }

/* ---------- Checkout ---------- */
.woo-page form.checkout.woocommerce-checkout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.95fr); gap:28px 44px; align-items:start; border:0; padding:0; background:none; box-shadow:none; margin:0; }
.woo-page #customer_details { grid-column:1; grid-row:1 / span 2; display:grid; gap:26px; }
.woo-page #customer_details .col-1, .woo-page #customer_details .col-2 { float:none; width:100%; padding:0; }
.woo-page #order_review_heading { grid-column:2; grid-row:1; font:700 20px "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); margin:0; padding-bottom:12px; border-bottom:1px solid var(--line); }
.woo-page #order_review { grid-column:2; grid-row:2; position:sticky; top:100px; }
.woo-page fieldset { border:0; padding:0; margin:0; min-width:0; }
.woo-page .woocommerce-billing-fields, .woo-page .woocommerce-shipping-fields { border:0; padding:0; margin:0; }
.woo-page .woocommerce-billing-fields h3, .woo-page .woocommerce-shipping-fields h3 { font:700 19px "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid var(--line); }
.woo-page .form-row { margin:0 0 16px; padding:0; }
.woo-page .form-row label { display:block; font:700 13px/1.3 "Work Sans","Noto Sans Bengali",sans-serif; color:#414940; margin-bottom:7px; background:none; padding:0; text-shadow:none; }
.woo-page .form-row label .optional { color:#899188; font-weight:500; }
.woo-page .form-row label .required, .woo-page abbr.required { color:#ba1a1a; text-decoration:none; border:0; }
.woo-page .form-row.validate-required::before { display:none; }
.woo-page input.input-text, .woo-page select, .woo-page textarea { width:100%; height:46px; border:1px solid var(--line); background:#fff; padding:0 14px; font:400 14px/1.4 "Work Sans","Noto Sans Bengali",sans-serif; color:#161d19; border-radius:0; box-shadow:none; -webkit-appearance:none; appearance:none; box-sizing:border-box; margin:0; }
.woo-page textarea { height:auto; min-height:96px; padding:12px 14px; resize:vertical; }
.woo-page input.input-text::placeholder, .woo-page textarea::placeholder { color:#9aa39b; }
.woo-page input.input-text:focus, .woo-page select:focus, .woo-page textarea:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(0,54,22,.10); }
.woo-page input.input-text[disabled], .woo-page select[disabled] { background:#f1f4f1; color:#899188; }
.woo-page select { background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%231b6d24' stroke-width='2'/></svg>"); background-repeat:no-repeat; background-position:right 14px center; padding-right:38px; }
.woo-page .select2-container--default .select2-selection--single { height:46px; border:1px solid var(--line); border-radius:0; background:#fff; }
.woo-page .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:44px; color:#161d19; font-size:14px; padding-left:14px; padding-right:34px; }
.woo-page .select2-container--default .select2-selection--single .select2-selection__arrow { height:44px; width:32px; }
.woo-page .select2-container--default .select2-selection--single.select2-container--focus, .woo-page .select2-container--default .select2-selection--single:focus { border-color:var(--green); outline:none; box-shadow:0 0 0 3px rgba(0,54,22,.10); }
.woo-page .select2-container--default .select2-results__option[aria-selected="true"] { background:var(--green); }
.woo-page .select2-container--default .select2-search--dropdown .select2-search__field { border:1px solid var(--line); border-radius:0; padding:8px 10px; }
.woo-page .ship-to-different-address label { display:flex; align-items:center; gap:9px; font-weight:650; color:#2b322e; cursor:pointer; font-size:14px; }
.woo-page .ship-to-different-address input[type="checkbox"] { width:16px; height:16px; accent-color:var(--green); }
.woo-page .woocommerce-checkout .quantity { display:none; }

/* Checkout coupon panel */
.woo-page .woocommerce-form-coupon-toggle { margin:0 0 4px; font-size:14px; color:#414940; }
.woo-page .woocommerce-form-coupon { background:#fff; border:1px solid var(--line); padding:16px 18px; margin:0 0 20px; }
.woo-page .woocommerce-form-coupon label { display:block; font:700 13px "Work Sans","Noto Sans Bengali",sans-serif; color:#414940; margin-bottom:7px; }
.woo-page .woocommerce-form-coupon .input-text { max-width:340px; }
.woo-page .woocommerce-form-coupon .button { margin-top:4px; }

/* Order review + payment */
.woo-page .woocommerce-checkout-review-order-table { background:#fff; border:1px solid var(--line); margin:0; }
.woo-page .woocommerce-checkout-review-order-table td, .woo-page .woocommerce-checkout-review-order-table th { border-bottom:1px solid #edf0ed; padding:14px; font-size:14px; }
.woo-page .woocommerce-checkout-review-order-table thead th { background:#eef5ef; color:#414940; font:700 11px "Space Grotesk","Noto Sans Bengali",sans-serif; text-transform:uppercase; letter-spacing:.07em; }
.woo-page .woocommerce-checkout-review-order-table td { text-align:right; color:#2b322e; }
.woo-page .woocommerce-checkout-review-order-table .order-total th { font-weight:700; color:var(--green); background:#fff; text-transform:none; font-size:15.5px; letter-spacing:0; }
.woo-page .woocommerce-checkout-review-order-table .order-total td { font:700 22px "Space Grotesk",sans-serif; color:var(--green); }
.woo-page #payment { background:#fff; border:1px solid var(--line); margin:20px 0 0; padding:0; border-radius:0; }
.woo-page #payment ul.payment_methods { padding:18px 20px; margin:0; border-bottom:1px solid var(--line); list-style:none; }
.woo-page #payment ul.payment_methods li { padding:8px 0; font-size:14px; color:#2b322e; display:flex; align-items:flex-start; gap:9px; }
.woo-page #payment ul.payment_methods li::before { display:none; }
.woo-page #payment ul.payment_methods li input[type="radio"] { accent-color:var(--green); width:16px; height:16px; margin-top:2px; }
.woo-page #payment ul.payment_methods li label { font-weight:650; cursor:pointer; flex:1; }
.woo-page #payment ul.payment_methods li .payment_box { background:#f4fbf4; border-left:3px solid var(--mid); color:#414940; font-size:13px; line-height:1.65; margin-top:8px; padding:12px 14px; position:relative; width:100%; box-sizing:border-box; }
.woo-page #payment ul.payment_methods li .payment_box::before { border-top-color:#f4fbf4; }
.woo-page #payment .place-order { padding:18px 20px 20px; }
.woo-page #payment .form-row { margin:0; }
.woo-page #payment .woocommerce-terms-and-conditions, .woo-page #payment p.woocommerce-checkout-payment__terms { font-size:12.5px; line-height:1.7; color:#717970; margin:0 0 14px; }
.woo-page #payment .woocommerce-terms-and-conditions a, .woo-page #payment p a { color:var(--green); font-weight:650; }
.woo-page #payment #place_order { width:100%; height:52px; background:var(--green); color:#fff; border:0; border-radius:0; font:700 15px/1 "Space Grotesk","Noto Sans Bengali",sans-serif; letter-spacing:.05em; cursor:pointer; transition:background .2s; }
.woo-page #payment #place_order:hover { background:var(--mid); }

/* ---------- Order received / thank you ---------- */
.woo-page .woocommerce-order { max-width:940px; }
.woo-page .woocommerce-order > h2, .woo-page .woocommerce-order-received__title { font:700 clamp(21px,2.6vw,27px)/1.3 "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); text-align:center; margin:8px 0 26px; }
.woo-page .woocommerce-order-overview { list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid var(--line); background:#fff; padding:0; margin:0 0 28px; }
.woo-page .woocommerce-order-overview li { padding:18px 16px; border-right:1px solid var(--line); font-size:11px; color:#717970; text-transform:uppercase; letter-spacing:.06em; display:flex; flex-direction:column; gap:7px; box-sizing:border-box; }
.woo-page .woocommerce-order-overview li:last-child { border-right:0; }
.woo-page .woocommerce-order-overview li strong { font:700 15.5px/1.35 "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); text-transform:none; letter-spacing:0; word-break:break-word; }
.woo-page .woocommerce-table { background:#fff; border:1px solid var(--line); width:100%; border-collapse:collapse; }
.woo-page .woocommerce-table th { background:#eef5ef; color:#414940; font:700 11px "Space Grotesk","Noto Sans Bengali",sans-serif; text-transform:uppercase; letter-spacing:.07em; text-align:left; padding:13px 14px; border-bottom:1px solid var(--line); }
.woo-page .woocommerce-table td { padding:14px; border-bottom:1px solid #edf0ed; font-size:14px; color:#414940; text-align:right; }
.woo-page .woocommerce-table td:first-child, .woo-page .woocommerce-table th:first-child { text-align:left; }
.woo-page .woocommerce-table tfoot th { background:none; border-top:2px solid var(--line); font-weight:700; color:var(--green); text-transform:none; font-size:15px; letter-spacing:0; }
.woo-page .woocommerce-table tfoot td { border-top:2px solid var(--line); font-weight:700; color:var(--green); font-size:17px; }
.woo-page .woocommerce-customer-details { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px; }
.woo-page .woocommerce-customer-details address, .woo-page .woocommerce-order-details address { background:#fff; border:1px solid var(--line); padding:18px 20px; font-style:normal; font-size:14px; line-height:1.9; color:#414940; margin:0; }
.woo-page .woocommerce-customer-details h2, .woo-page .woocommerce-order-details h2 { font:700 18px "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); margin:26px 0 12px; }
.woo-page .woocommerce-thankyou-order-received { text-align:center; }
.woo-page .woocommerce-page-title--order-received h1 { font:700 26px "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); }

/* ---------- My account ---------- */
.woo-page.woocommerce-account .woo-title { margin-bottom:18px; }
.woo-page.woocommerce-account .woocommerce { max-width:1180px; margin:0 auto; }
.woo-page.woocommerce-account .woocommerce::before, .woo-page.woocommerce-account .woocommerce::after { content:none; display:none; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation { float:none; width:100%; margin:0 0 20px; padding:0; background:#fff; border:1px solid var(--line); overflow-x:auto; scrollbar-width:none; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation::-webkit-scrollbar { display:none; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex; align-items:stretch; gap:0; list-style:none; margin:0; padding:0; min-width:max-content; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; padding:0; border-right:1px solid var(--line); }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-right:0; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation a { display:flex; align-items:center; gap:8px; min-height:50px; padding:0 18px; color:#414940; text-decoration:none; font:700 13px/1.2 "Space Grotesk","Noto Sans Bengali",sans-serif; white-space:nowrap; transition:background .2s,color .2s; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background:#eef5ef; color:var(--green); }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background:var(--green); color:#fff; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation a::before { font-family:'Material Symbols Outlined'; font-size:19px; line-height:1; font-weight:400; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before { content:'dashboard'; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before { content:'receipt_long'; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before { content:'download'; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before { content:'location_on'; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before { content:'manage_accounts'; }
.woo-page.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before { content:'logout'; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; min-height:360px; background:#fff; border:1px solid var(--line); padding:28px; box-sizing:border-box; color:#414940; font-size:15px; line-height:1.75; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content p:first-child { margin-top:0; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content a { color:var(--green); font-weight:700; text-decoration:none; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content a:hover { text-decoration:underline; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content > p:first-child { background:#eef5ef; border-left:4px solid var(--green); padding:14px 16px; color:#2b322e; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { margin-bottom:0; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title { display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid var(--line); margin:0 0 14px; padding-bottom:10px; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2 { margin:0; font:700 19px "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); }
.woo-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address { background:#f9fbf9; border:1px solid var(--line); padding:20px; box-sizing:border-box; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content address { font-style:normal; color:#414940; line-height:1.85; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table, .woo-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table { margin:0; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content fieldset { border:1px solid var(--line); padding:18px; margin:20px 0 0; }
.woo-page.woocommerce-account .woocommerce-MyAccount-content legend { padding:0 8px; color:var(--green); font-weight:800; }
.woo-page.woocommerce-account #customer_login { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:980px; margin:0 auto; }
.woo-page.woocommerce-account #customer_login .col-1, .woo-page.woocommerce-account #customer_login .col-2 { float:none; width:100%; background:#fff; border:1px solid var(--line); padding:24px; box-sizing:border-box; }
.woo-page.woocommerce-account #customer_login h2 { font:700 22px "Space Grotesk","Noto Sans Bengali",sans-serif; color:var(--green); margin:0 0 16px; }

/* Empty cart */
.woo-page .woocommerce-cart-form .cart-empty { text-align:center; padding:60px 20px; background:#fff; border:1px solid var(--line); }
.woo-page .woocommerce-cart-form .cart-empty p { color:#414940; margin:0 0 8px; }
.woo-page .woocommerce-cart-form .return-to-shop { display:block; margin-top:18px; }
.woo-page .woocommerce-cart-form .return-to-shop .button { display:inline-flex; }

/* Responsive */
@media (max-width: 980px) {
  .woo-page form.checkout.woocommerce-checkout { grid-template-columns:1fr; }
  .woo-page #customer_details { grid-column:1; grid-row:auto; }
  .woo-page #order_review_heading { grid-column:1; grid-row:auto; margin-top:8px; }
  .woo-page #order_review { grid-column:1; grid-row:auto; position:static; }
  .woo-page ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .woo-page .woocommerce-order-overview { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .woo-page .woocommerce-order-overview li { border-bottom:1px solid var(--line); }
}
@media (max-width: 768px) {
  .grid:has(> .kc-product-card) { gap:12px!important; }
  .woo-page.woocommerce-account .woocommerce-MyAccount-content { padding:20px; min-height:0; }
  .woo-page.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom:14px; }
  .woo-page.woocommerce-account .woocommerce-MyAccount-navigation a { min-height:46px; padding:0 14px; font-size:12.5px; }
  .woo-page.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses, .woo-page.woocommerce-account #customer_login { grid-template-columns:1fr; gap:14px; }
  .woo-page main > div { padding-left:20px; padding-right:20px; }
  .woo-page .cart_totals { max-width:none; justify-self:stretch; padding:18px; }
  .woo-page ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .woo-page .cross-sells ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .woo-page .woocommerce-customer-details { grid-template-columns:1fr; }
  .woo-page .woocommerce-order-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .woo-page .cart .actions { flex-direction:column; align-items:stretch; }
  .woo-page .coupon input.input-text { max-width:none; }
  .woo-page .button[name="update_cart"] { margin-left:0; width:100%; }
}
@media (max-width: 560px) {
  .grid:has(> .kc-product-card) { gap:10px!important; }
  .woo-page .woocommerce-pagination { margin-top:24px; }
  .woo-page .woocommerce-pagination ul.page-numbers { gap:6px; padding:6px; }
  .woo-page .woocommerce-pagination .page-numbers { min-width:34px; height:36px; padding:0 10px; font-size:12.5px; }
  .woo-page .woocommerce-pagination .prev, .woo-page .woocommerce-pagination .next { min-width:70px; }
  .woo-page.woocommerce-account .woocommerce-MyAccount-content { padding:16px; font-size:14px; }
  .woo-page.woocommerce-account .woocommerce-MyAccount-content > p:first-child { padding:12px; }
  .woo-page.woocommerce-account .shop_table, .woo-page.woocommerce-account .shop_table tbody, .woo-page.woocommerce-account .shop_table tr, .woo-page.woocommerce-account .shop_table td { display:block; width:100%; }
  .woo-page.woocommerce-account .shop_table td { text-align:left; }
  .woo-page.woocommerce-account #customer_login .col-1, .woo-page.woocommerce-account #customer_login .col-2 { padding:18px; }
  .kc-product-card img { padding:10px!important; }
  .kc-product-card .kc-card-title { font-size:13px; line-height:1.25; min-height:2.5em; }
  .kc-product-card .kc-card-description { font-size:11px; line-height:1.35; }
  .kc-product-card .kc-product-badge { font-size:9px; padding:3px 6px; }
  .kc-product-card .add_to_cart_button, .kc-product-card .button { min-height:38px; padding:8px 6px!important; font-size:11px!important; line-height:1.25; }
  .woo-page .shop_table thead { display:none; }
  .woo-page .shop_table, .woo-page .shop_table tbody, .woo-page .shop_table tr, .woo-page .shop_table td { display:block; width:100%; }
  .woo-page .shop_table tr { border-bottom:6px solid var(--cream); position:relative; padding:6px 0; }
  .woo-page .shop_table td { border-bottom:0; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:8px 14px; text-align:right; }
  .woo-page .shop_table td::before { content:attr(data-title); font:700 11px "Space Grotesk","Noto Sans Bengali",sans-serif; text-transform:uppercase; letter-spacing:.06em; color:#717970; text-align:left; }
  .woo-page .shop_table td.product-thumbnail::before, .woo-page .shop_table td.product-remove::before { content:none; }
  .woo-page .shop_table td.product-thumbnail, .woo-page .shop_table td.product-remove { justify-content:center; }
  .woo-page .shop_table td.product-name { display:block; text-align:left; font-size:15px; font-weight:650; color:#161d19; }
  .woo-page .shop_table td.actions { display:block; }
  .woo-page .product-quantity { width:auto; }
  .woo-page ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .woo-page .woocommerce-order-overview { grid-template-columns:1fr; }
  .woo-page .woocommerce-order-overview li { border-right:0; flex-direction:row; justify-content:space-between; align-items:center; }
}

/* ============ Catalog pages: shop / category / search ============ */
.catalog-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:26px; align-items:start; }
.catalog-sidebar, .catalog-main { min-width:0; }
.catalog-sidebar { position:sticky; top:112px; display:flex; flex-direction:column; gap:16px; }
.sidebar-card { background:#fff; border:1px solid var(--line); padding:20px; }
.sidebar-title { font-family:'Space Grotesk',sans-serif; font-size:15px; font-weight:700; letter-spacing:.04em; color:var(--green); margin:0 0 14px; padding-bottom:10px; border-bottom:1px solid var(--line); }
.kc-price-row { display:flex; align-items:center; gap:6px; }
.kc-price-row input { flex:1; min-width:0; border:1px solid var(--line); background:var(--cream); padding:9px 8px; font-size:13.5px; color:var(--green); outline:none; }
.kc-price-row input:focus { border-color:var(--green); }
.kc-price-row input::-webkit-outer-spin-button, .kc-price-row input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.kc-price-row input[type=number] { -moz-appearance:textfield; appearance:textfield; }
.kc-taka { font-weight:700; color:var(--mid); font-size:14px; }
.kc-price-sep { color:#717970; }
.kc-filter-btn { display:block; width:100%; margin-top:12px; background:var(--green); color:#fff; text-align:center; padding:11px 12px; font-weight:600; font-size:14px; border:1px solid var(--green); cursor:pointer; transition:.2s; text-decoration:none; }
.kc-filter-btn:hover { background:var(--mid); border-color:var(--mid); }
.kc-cat-list { list-style:none; margin:0; padding:0; max-height:340px; overflow-y:auto; }
.kc-cat-list li a { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:9px 10px; font-size:14px; color:var(--green); text-decoration:none; border-bottom:1px dashed var(--line); transition:.15s; }
.kc-cat-list li:last-child a { border-bottom:0; }
.kc-cat-list li a:hover { background:var(--cream); padding-left:14px; }
.kc-cat-list li a.active { background:var(--green); color:#fff; border-bottom-color:var(--green); }
.kc-cat-list li a.active .kc-cat-count { background:rgba(255,255,255,.18); color:#fff; border-color:rgba(255,255,255,.35); }
.kc-cat-count { font-size:11.5px; font-weight:700; background:var(--cream); border:1px solid var(--line); color:var(--mid); padding:1px 7px; border-radius:10px; }
.kc-filter-links { list-style:none; margin:0; padding:0; }
.kc-filter-links a { display:flex; align-items:center; gap:8px; padding:10px; font-size:14px; color:var(--green); text-decoration:none; border:1px solid var(--line); transition:.15s; }
.kc-filter-links a:hover { border-color:var(--green); }
.kc-filter-links a.active { background:var(--green); color:#fff; border-color:var(--green); }
.kc-filter-links .material-symbols-outlined { font-size:18px; }
.kc-filter-reset { display:inline-block; margin-top:12px; font-size:13px; color:#ba1a1a; text-decoration:underline; }
.catalog-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:6px; }
.catalog-count { color:#717970; font-size:14px; }
.catalog-main h1.page-title, .catalog-main .page-title { font-family:'Space Grotesk','Work Sans',sans-serif; font-size:30px; font-weight:700; color:var(--green); margin:0 0 18px; line-height:1.2; }
.catalog-main .woocommerce-result-count { color:#717970; font-size:13.5px; }
.catalog-main .woocommerce-ordering select { border:1px solid var(--line); background:#fff; padding:9px 12px; font-size:14px; color:var(--green); outline:none; }
.kc-search-others { list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.kc-search-other a { display:block; background:#fff; border:1px solid var(--line); padding:18px; text-decoration:none; transition:.15s; }
.kc-search-other a:hover { border-color:var(--green); }
.kc-search-other h3 { color:var(--green); font-size:17px; margin:0 0 6px; }
.kc-search-other p { color:#414940; font-size:14px; margin:0; }
.kc-no-results { background:#fff; border:1px solid var(--line); padding:44px 24px; text-align:center; color:#414940; font-size:15px; }
.kc-nores-btn { display:inline-block; margin-top:14px; background:var(--green); color:#fff; padding:11px 26px; text-decoration:none; font-weight:600; }
.kc-nores-btn:hover { background:var(--mid); }
.kc-pagination { margin-top:26px; display:flex; gap:6px; flex-wrap:wrap; }
.kc-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 10px; border:1px solid var(--line); background:#fff; color:var(--green); font-size:14px; text-decoration:none; }
.kc-pagination .page-numbers.current { background:var(--green); color:#fff; border-color:var(--green); }
.kc-pagination .page-numbers:hover { border-color:var(--green); }
@media (max-width:980px) {
  .catalog-layout { grid-template-columns:minmax(0,1fr); }
  .catalog-sidebar { position:static; }
}
@media (max-width:560px) {
  .catalog-main h1.page-title, .catalog-main .page-title { font-size:24px; }
}

/* ============ Header search suggestions ============ */
#kc-search-form { --green:#003616; --mid:#1b6d24; --cream:#f4fbf4; --line:#d6d9d2; min-width:0; }
#kc-search-form > select { max-width:160px; }
#kc-search-form > .relative { min-width:0; }
#kc-search-form button { white-space:nowrap; }
.kc-all-categories { background:#003616; color:#fff; height:100%; padding:0 24px; display:flex; align-items:center; gap:12px; white-space:nowrap; }
.kc-all-categories:hover { background:#1b6d24; }
.woo-page .catalog-main ul.products::before, .woo-page .catalog-main ul.products::after { content:none; display:none; }
.woo-page .catalog-main ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
.woo-page .catalog-main ul.products li.product { float:none; width:auto; margin:0; min-width:0; }
@media (max-width:680px) {
  .woo-page .catalog-main ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #kc-search-form > select { max-width:100px; }
  #kc-search-form button { padding:8px; }
}
.kc-suggest { position:absolute; top:calc(100% + 6px); left:0; right:0; background:#fff; border:1px solid var(--line); box-shadow:0 14px 34px rgba(0,54,22,.16); z-index:80; max-height:400px; overflow-y:auto; }
.kc-suggest.hidden { display:none; }
.kc-suggest-item { display:flex; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px solid var(--line); text-decoration:none; cursor:pointer; }
.kc-suggest-item:last-child { border-bottom:0; }
.kc-suggest-item:hover, .kc-suggest-item.kc-suggest-active { background:var(--cream); }
.kc-suggest-item img { width:38px; height:38px; flex-shrink:0; object-fit:contain; background:var(--cream); border:1px solid var(--line); }
.kc-suggest-icon { font-size:20px; color:var(--mid); flex-shrink:0; }
.kc-suggest-title { flex:1; min-width:0; font-size:13.5px; color:#161d19; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kc-suggest-price { font-size:13px; font-weight:700; color:var(--green); white-space:nowrap; }
.kc-suggest-kind { font-size:11px; color:var(--mid); background:var(--cream); border:1px solid var(--line); padding:2px 6px; white-space:nowrap; }

/* Contact page */
.kc-contact-page { display:grid; grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr); gap:28px; align-items:start; }
.kc-contact-intro { background:#fff; border:1px solid var(--line); padding:26px; }
.kc-contact-intro p { margin:0 0 18px; color:#414940; line-height:1.7; }
.kc-contact-cards { display:grid; gap:12px; }
.kc-contact-cards a { display:grid; grid-template-columns:34px 1fr; gap:2px 12px; align-items:center; padding:14px; border:1px solid var(--line); color:#161d19; text-decoration:none; }
.kc-contact-cards a:hover { border-color:var(--green); background:#f4fbf4; }
.kc-contact-cards .material-symbols-outlined { grid-row:1 / span 2; color:var(--green); font-size:24px; }
.kc-contact-cards strong { color:var(--green); font-size:14px; }
.kc-contact-cards span:last-child { color:#414940; font-size:13px; }
.kc-contact-alert { grid-column:1 / -1; padding:14px 16px; border:1px solid; font-weight:600; }
.kc-contact-alert.success { background:#e8f5e9; color:#003616; border-color:#98d5a1; }
.kc-contact-alert.error { background:#ffdad6; color:#93000a; border-color:#ffb4ab; }
.kc-contact-form { background:#fff; border:1px solid var(--line); padding:26px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.kc-contact-form p { margin:0; }
.kc-contact-form label { display:block; margin-bottom:7px; color:var(--green); font-weight:700; font-size:13px; }
.kc-contact-form input, .kc-contact-form textarea { width:100%; border:1px solid var(--line); background:#f9f8f5; padding:12px; font:inherit; font-size:14px; color:#161d19; outline:0; box-sizing:border-box; }
.kc-contact-form input:focus, .kc-contact-form textarea:focus { border-color:var(--green); background:#fff; }
.kc-contact-wide, .kc-contact-form button { grid-column:1 / -1; }
.kc-contact-form button { background:var(--green); color:#fff; border:0; padding:14px 22px; font-weight:700; cursor:pointer; }
.kc-contact-form button:hover { background:var(--mid); }
@media (max-width:780px) {
  .kc-contact-page, .kc-contact-form { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  header.fixed > div:first-child { display:none; }
  header.fixed > div:nth-child(2) { height:120px; padding-inline:16px; }
  header.fixed > div:nth-child(2) > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding-block:8px; }
  header.fixed > div:nth-child(2) > div > div:first-child { min-width:0; gap:8px; }
  header.fixed > div:nth-child(2) > div > div:first-child img { height:30px; max-width:70px; }
  header.fixed > div:nth-child(2) > div > div:first-child a span:first-child { font-size:18px; }
  header.fixed > div:nth-child(2) > div > div:nth-child(2), .single-product header.fixed > div:nth-child(2) > div > div:nth-child(2) { display:block; order:3; grid-column:1 / -1; width:100%; max-width:none; }
  header.fixed > div:nth-child(2) > div > div:nth-child(3) { order:2; gap:4px; }
  header.fixed > div:nth-child(2) > div > div:nth-child(3) > a { display:none; }
  header.fixed #kc-cart-open { display:flex; }
  header.fixed > div:nth-child(3) { height:44px; padding-inline:0; overflow:hidden; }
  header.fixed > div:nth-child(3) > div { overflow-x:auto; justify-content:flex-start; }
  header.fixed > div:nth-child(3) > div > div:first-child { min-width:max-content; gap:0; }
  header.fixed > div:nth-child(3) nav { gap:0; }
  header.fixed > div:nth-child(3) nav a { padding-inline:14px; white-space:nowrap; }
  header.fixed > div:nth-child(3) > div > div:last-child { display:none; }
  .kc-all-categories { padding-inline:14px; }
  #kc-search-form { width:100%; }
  #kc-search-form input[name="s"] { min-width:0; font-size:13px; padding-inline:8px; }
  #kc-search-form button span:last-child { display:none; }
  .kc-suggest { max-height:300px; }
  .kc-cat-list { max-height:220px; }
  .kc-price-row input { width:0; flex:1 1 0%; }
}
