:root {
  --ks-green: #1e5d46;
  --ks-green-deep: #164634;
  --ks-leaf: #94c94f;
  --ks-leaf-soft: #eaf7dc;
  --ks-text: #1b2b24;
  --ks-muted: #61756c;
  --ks-border: #dbe7df;
  --ks-bg: #f7faf7;
  --ks-white: #ffffff;
  --ks-warning: #f7b731;
  --ks-danger: #be3a34;
  --ks-radius: 18px;
  --ks-shadow: 0 14px 40px rgba(22, 70, 52, .10);
  --ks-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Bengali", "Hind Siliguri", Roboto, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.khansmart {
  margin: 0;
  font-family: var(--ks-font);
  color: var(--ks-text);
  background: var(--ks-bg);
  line-height: 1.6;
}
a { color: var(--ks-green); text-decoration: none; }
a:hover, a:focus { color: var(--ks-green-deep); text-decoration: underline; }
img { max-width: 100%; height: auto; }
.ks-container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.ks-skip { position:absolute; left:-999px; top:0; background:var(--ks-green); color:#fff; padding:.75rem 1rem; z-index:9999; }
.ks-skip:focus { left:1rem; top:1rem; }
.visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Header */
.ks-header { background: var(--ks-white); box-shadow: 0 8px 24px rgba(30, 93, 70, .08); position: sticky; top: 0; z-index: 50; }
.ks-topbar { background: var(--ks-green); color: #fff; font-size: .89rem; }
.ks-topbar__inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:40px; }
.ks-topbar__right { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; justify-content:flex-end; }
.ks-contact { opacity:.95; }
.ks-header__middle { min-height: 96px; display:flex; align-items:center; gap:1.25rem; }
.ks-brand { display:flex; align-items:center; gap:.85rem; min-width: 250px; color: var(--ks-green); }
.ks-brand:hover { text-decoration:none; }
.ks-brand img { width:120px; height:auto; object-fit:contain; }
.ks-brand__text { display:flex; flex-direction:column; line-height:1.2; }
.ks-brand__text strong { font-size:1.25rem; letter-spacing:.02em; }
.ks-brand__text small { color:var(--ks-muted); max-width:270px; }
.ks-shop-tools { flex:1; display:grid; grid-template-columns: 1fr auto; align-items:center; gap:1rem; }
.ks-search-wrap input[type="search"],
.ks-search-wrap input[type="text"],
.finder input[type="text"],
.search input[type="text"] {
  width:100%; min-height:44px; border:1px solid var(--ks-border); border-radius:999px; padding:.7rem 1rem; background:#fff;
}
.ks-search-wrap button,
.finder button,
.search button,
button.btn,
.btn-primary,
.vm-button-correct,
.addtocart-button,
.addtocart-button input,
span.addtocart-button input.addtocart-button {
  border:0; border-radius:999px; background:var(--ks-green); color:#fff; padding:.72rem 1.15rem; font-weight:700; cursor:pointer; transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
  box-shadow: 0 8px 18px rgba(30,93,70,.18);
}
.ks-search-wrap button:hover,
button.btn:hover,
.btn-primary:hover,
.vm-button-correct:hover,
.addtocart-button:hover,
.addtocart-button input:hover,
span.addtocart-button input.addtocart-button:hover { background:var(--ks-green-deep); transform:translateY(-1px); }
.ks-cart-wrap { background: var(--ks-leaf-soft); border:1px solid #d7efc6; border-radius:999px; padding:.4rem .8rem; min-width: 130px; text-align:center; font-weight:700; color:var(--ks-green); }
.ks-menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--ks-border); border-radius:14px; background:#fff; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.ks-menu-toggle span:not(.visually-hidden) { width:22px; height:2px; background:var(--ks-green); display:block; }
.ks-nav { background: var(--ks-green-deep); }
.ks-nav ul { list-style:none; display:flex; flex-wrap:wrap; align-items:center; margin:0; padding:0; gap:.2rem; }
.ks-nav li { position:relative; }
.ks-nav a, .ks-nav .nav-link, .ks-nav span.separator { display:block; color:#fff; padding:.85rem 1rem; font-weight:700; }
.ks-nav a:hover, .ks-nav a:focus, .ks-nav .active > a { background:rgba(255,255,255,.11); text-decoration:none; }
.ks-nav ul ul { position:absolute; min-width:220px; background:#fff; color:var(--ks-text); display:none; box-shadow:var(--ks-shadow); border-radius:0 0 14px 14px; overflow:hidden; z-index:80; }
.ks-nav li:hover > ul, .ks-nav li:focus-within > ul { display:block; }
.ks-nav ul ul a { color:var(--ks-text); padding:.75rem 1rem; }
.ks-nav ul ul a:hover { background:var(--ks-leaf-soft); color:var(--ks-green); }

/* Homepage modules */
.ks-hero { background: radial-gradient(circle at 20% 10%, rgba(148,201,79,.25), transparent 28%), linear-gradient(135deg, #f3f9ef 0%, #ffffff 55%, #eaf7dc 100%); padding:2.25rem 0; border-bottom:1px solid var(--ks-border); }
.ks-hero .custom, .ks-hero .moduletable { background:#fff; border-radius:var(--ks-radius); padding:2rem; box-shadow:var(--ks-shadow); border:1px solid rgba(30,93,70,.08); }
.ks-hero h1, .ks-hero h2 { margin-top:0; color:var(--ks-green); font-size:clamp(2rem, 4vw, 3.8rem); line-height:1.05; }
.ks-hero p { color:var(--ks-muted); font-size:1.1rem; max-width:680px; }
.ks-card-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:1rem; padding:1.25rem 0; }
.moduletable.card, .card.moduletable, .ks-card-grid > * { background:#fff; border:1px solid var(--ks-border); border-radius:var(--ks-radius); padding:1.15rem; box-shadow:0 8px 24px rgba(30,93,70,.06); }
.ks-breadcrumbs { margin-top:1rem; color:var(--ks-muted); }

/* Main layout */
.ks-main { display:grid; grid-template-columns:minmax(0, 1fr); gap:1.35rem; padding:1.5rem 0 2.25rem; }
.ks-main--two { grid-template-columns:270px minmax(0, 1fr); }
.ks-main--two .ks-sidebar--right { order:2; }
.ks-main--three { grid-template-columns:240px minmax(0, 1fr) 240px; }
.ks-content, .ks-sidebar .moduletable { background:#fff; border:1px solid var(--ks-border); border-radius:var(--ks-radius); box-shadow:0 8px 24px rgba(30,93,70,.06); }
.ks-content { padding:1.25rem; min-width:0; }
.ks-sidebar { min-width:0; }
.ks-sidebar .moduletable { margin-bottom:1rem; padding:1rem; }
.ks-sidebar h3, .ks-content h1, .ks-content h2 { color:var(--ks-green); }

/* VirtueMart store styling */
.category-view .row,
.browse-view .row,
.featured-view .row,
.latest-view .row,
.topten-view .row,
.recent-view .row,
.vmgroup .vmproduct { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem; }
.vm-product-container,
.product,
.vmgroup .productdetails,
.browse-view .product { background:#fff; border:1px solid var(--ks-border); border-radius:18px; padding:1rem; box-shadow:0 8px 24px rgba(30,93,70,.05); transition:transform .18s ease, box-shadow .18s ease; }
.vm-product-container:hover,
.product:hover,
.browse-view .product:hover { transform:translateY(-3px); box-shadow:var(--ks-shadow); }
.vm-product-media-container,
.product-image,
.main-image { background:#f9fbf8; border-radius:16px; display:flex; align-items:center; justify-content:center; padding:.75rem; min-height:170px; }
.vm-product-media-container img,
.product-image img,
.main-image img { object-fit:contain; max-height:260px; }
.product-title,
.product-title a,
.category-view h2 a,
.browse-view h2 a { color:var(--ks-text); font-weight:800; }
.product-price,
.PricesalesPrice,
.PricebasePriceWithTax,
.vm-price-value { color:var(--ks-green); font-weight:900; font-size:1.08rem; }
.vm-price-desc { color:var(--ks-muted); font-weight:600; }
.quantity-input,
.addtocart-area input.quantity-input,
input.quantity-input { border:1px solid var(--ks-border); border-radius:999px; min-height:40px; text-align:center; }
.productdetails-view .product-short-description,
.productdetails-view .product-description,
.vm-product-descr-container { color:var(--ks-muted); }
.productdetails-view { display:grid; gap:1.4rem; }
.vm-pagination ul, .pagination { display:flex; gap:.4rem; list-style:none; padding-left:0; justify-content:center; }
.vm-pagination a, .vm-pagination span, .pagination a, .pagination span { border:1px solid var(--ks-border); border-radius:10px; padding:.45rem .7rem; background:#fff; }
.vm-pagination .active span, .pagination .active span { background:var(--ks-green); color:#fff; border-color:var(--ks-green); }
.cart-view table,
.vm-cart-summary table { width:100%; border-collapse:collapse; }
.cart-view th, .cart-view td,
.vm-cart-summary th, .vm-cart-summary td { padding:.8rem; border-bottom:1px solid var(--ks-border); text-align:left; }
.cart-view th,
.vm-cart-summary th { color:var(--ks-green); background:var(--ks-leaf-soft); }
.vm-cart-item-name a { color:var(--ks-text); font-weight:800; }
.output-billto, .output-shipto, .billto-shipto { border:1px dashed var(--ks-border); border-radius:16px; padding:1rem; background:#fbfdfb; }
.checkout-button-top,
.checkout-button { text-align:right; }

/* Forms */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea, select {
  border:1px solid var(--ks-border); border-radius:12px; padding:.65rem .8rem; max-width:100%; background:#fff;
}
input:focus, textarea:focus, select:focus { outline:2px solid rgba(148,201,79,.5); border-color:var(--ks-leaf); }
.alert { border-radius:14px; padding:.85rem 1rem; }

/* Footer */
.ks-footer { background:var(--ks-green-deep); color:#eaf7dc; margin-top:2rem; }
.ks-footer a { color:#fff; }
.ks-footer__grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1.25rem; padding:2rem 0; }
.ks-footer h3, .ks-footer h4 { color:#fff; }
.ks-footer__bottom { background:rgba(0,0,0,.18); padding:1rem 0; font-size:.93rem; }
.ks-footer__bottom p { margin:.3rem 0; }

@media (max-width: 980px) {
  .ks-header__middle { flex-wrap:wrap; padding:.75rem 0; }
  .ks-shop-tools { order:3; grid-template-columns:1fr; width:100%; }
  .ks-menu-toggle { display:flex; margin-left:auto; }
  .ks-nav { display:none; }
  .ks-nav.is-open { display:block; }
  .ks-nav ul { flex-direction:column; align-items:stretch; }
  .ks-nav ul ul { position:static; display:block; box-shadow:none; border-radius:0; margin-left:1rem; background:rgba(255,255,255,.08); }
  .ks-nav ul ul a { color:#fff; }
  .ks-card-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .ks-main--two, .ks-main--three { grid-template-columns:1fr; }
  .ks-sidebar--left, .ks-sidebar--right { order:2; }
}
@media (max-width: 640px) {
  .ks-container { width:min(100% - 22px, 1180px); }
  .ks-topbar__inner, .ks-topbar__right { justify-content:center; text-align:center; }
  .ks-brand { min-width:0; }
  .ks-brand__text { display:none; }
  .ks-brand img { width:108px; }
  .ks-card-grid, .category-view .row, .browse-view .row, .featured-view .row, .latest-view .row, .topten-view .row, .recent-view .row, .vmgroup .vmproduct { grid-template-columns:1fr; }
  .ks-content { padding:1rem; }
  .cart-view table, .cart-view thead, .cart-view tbody, .cart-view th, .cart-view td, .cart-view tr { display:block; }
  .cart-view th { display:none; }
  .cart-view td { text-align:right; }
  .cart-view td::before { content: attr(data-title); float:left; color:var(--ks-muted); font-weight:700; }
}

/* Khan's Mart VirtueMart production overrides */
.ks-eyebrow { margin:0 0 .4rem; color:var(--ks-leaf); font-weight:900; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; }
.ks-muted { color:var(--ks-muted); }
.ks-category-header, .ks-checkout-header, .ks-address-header { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding:1.2rem; border:1px solid var(--ks-border); border-radius:22px; background:linear-gradient(135deg,#fff 0%,#f3f9ef 100%); margin-bottom:1.2rem; }
.ks-category-header h1, .ks-checkout-header h1, .ks-address-header h1 { margin:.1rem 0 .45rem; color:var(--ks-green); line-height:1.1; }
.ks-category-desc { color:var(--ks-muted); max-width:760px; }
.ks-category-header__image { flex:0 0 190px; background:#fff; border-radius:18px; border:1px solid var(--ks-border); padding:.8rem; display:flex; align-items:center; justify-content:center; }
.ks-category-image { max-height:150px; object-fit:contain; }
.ks-subcategories { margin-bottom:1.2rem; }
.ks-category-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; padding:.85rem 1rem; border:1px solid var(--ks-border); border-radius:16px; background:#fff; }
.ks-category-count { font-weight:900; color:var(--ks-green); }
.ks-category-sort { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:flex-end; }
.ks-sort-control select { min-height:40px; }
.ks-products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.ks-product-card { display:flex; flex-direction:column; min-height:100%; background:#fff; border:1px solid var(--ks-border); border-radius:22px; box-shadow:0 8px 24px rgba(30,93,70,.05); overflow:hidden; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.ks-product-card:hover { transform:translateY(-3px); box-shadow:var(--ks-shadow); border-color:#c6decb; }
.ks-product-card__media { position:relative; min-height:210px; padding:1rem; display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg,#fbfdfb 0%,#f3f9ef 100%); text-decoration:none; }
.ks-product-card__image { max-height:190px; width:auto; object-fit:contain; }
.ks-product-placeholder { width:110px; height:110px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:var(--ks-leaf-soft); color:var(--ks-green); font-weight:900; font-size:1.6rem; }
.ks-badge { position:absolute; top:.85rem; left:.85rem; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:.28rem .65rem; font-size:.77rem; font-weight:900; color:var(--ks-green); background:#fff; border:1px solid #d7efc6; box-shadow:0 4px 12px rgba(30,93,70,.08); }
.ks-badge--sale { color:#754d00; background:#fff7dc; border-color:#f7de85; }
.ks-badge--danger { color:#fff; background:var(--ks-danger); border-color:var(--ks-danger); }
.ks-product-card__body { padding:1rem 1rem .7rem; flex:1 1 auto; }
.ks-product-sku { display:inline-flex; margin-bottom:.35rem; color:var(--ks-muted); font-size:.8rem; font-weight:800; }
.ks-product-title { margin:.1rem 0 .45rem; font-size:1.06rem; line-height:1.28; }
.ks-product-title a { color:var(--ks-text); text-decoration:none; }
.ks-product-title a:hover { color:var(--ks-green); }
.ks-product-short { color:var(--ks-muted); font-size:.92rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ks-card-buybox { display:grid; grid-template-columns:minmax(90px,.8fr) minmax(145px,1.2fr); gap:.65rem; align-items:center; margin:0 1rem 1rem; padding:.65rem; border:1px solid var(--ks-border); border-radius:18px; background:#fbfdfb; }
.ks-card-price { min-height:44px; display:flex; align-items:center; color:var(--ks-green); font-size:1.08rem; font-weight:900; }
.ks-price-call { color:var(--ks-muted); font-weight:800; }
.ks-addtocart-form { margin:0; }
.ks-buy-row { display:flex; align-items:center; justify-content:flex-end; gap:.55rem; width:100%; }
.ks-qty-control { display:inline-flex; align-items:center; justify-content:center; height:42px; border:1px solid var(--ks-border); border-radius:999px; overflow:hidden; background:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.65); }
.ks-qty-btn { width:36px; height:100%; border:0; background:var(--ks-leaf-soft); color:var(--ks-green); font-size:1.05rem; font-weight:900; cursor:pointer; line-height:1; }
.ks-qty-btn:hover, .ks-qty-btn:focus { background:#dff2cb; outline:none; }
.ks-qty-control .quantity-input, .ks-qty-control input.quantity-input { width:54px; min-height:40px; height:40px; border:0 !important; border-radius:0 !important; padding:.2rem .3rem; text-align:center; font-weight:900; color:var(--ks-green-deep); background:#fff; box-shadow:none; }
.ks-qty-control input[type="number"]::-webkit-outer-spin-button, .ks-qty-control input[type="number"]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.ks-qty-control input[type="number"] { -moz-appearance:textfield; }
.ks-addcart-btn, .ks-card-details-btn, .ks-checkout-btn { display:inline-flex; align-items:center; justify-content:center; min-height:42px; border:0; border-radius:999px; padding:.65rem 1rem; background:var(--ks-green); color:#fff; font-weight:900; cursor:pointer; text-decoration:none; white-space:nowrap; box-shadow:0 8px 18px rgba(30,93,70,.18); }
.ks-addcart-btn:hover, .ks-card-details-btn:hover, .ks-checkout-btn:hover { background:var(--ks-green-deep); color:#fff; text-decoration:none; transform:translateY(-1px); }
.ks-card-details-btn { width:100%; }
.ks-empty-state { padding:2rem; border:1px dashed var(--ks-border); border-radius:22px; background:#fbfdfb; text-align:center; }
.ks-pagination { margin-top:1.25rem; }

/* Product details */
.ks-product-detail__top { display:grid; grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr); gap:1.35rem; align-items:start; }
.ks-product-gallery, .ks-product-summary, .ks-info-panel, .ks-purchase-card { background:#fff; border:1px solid var(--ks-border); border-radius:22px; box-shadow:0 8px 24px rgba(30,93,70,.05); }
.ks-product-gallery { padding:1rem; }
.ks-product-gallery__main { min-height:420px; display:flex; align-items:center; justify-content:center; border-radius:18px; background:linear-gradient(180deg,#fbfdfb,#f3f9ef); }
.ks-product-main-image { max-height:390px; object-fit:contain; }
.ks-product-thumbs { display:flex; gap:.6rem; margin-top:.75rem; overflow:auto; }
.ks-product-thumb { width:76px; height:76px; border:1px solid var(--ks-border); background:#fff; border-radius:14px; padding:.35rem; cursor:pointer; }
.ks-product-thumb__img { width:100%; height:100%; object-fit:contain; }
.ks-product-summary { padding:1.2rem; }
.ks-product-summary__topline { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; min-height:28px; }
.ks-product-summary__topline .ks-badge { position:static; }
.ks-product-detail-title { margin:.6rem 0; color:var(--ks-green); line-height:1.12; font-size:clamp(1.8rem,3vw,2.75rem); }
.ks-product-lead { color:var(--ks-muted); font-size:1.05rem; }
.ks-purchase-card { padding:.9rem; margin-top:1rem; background:#fbfdfb; }
.ks-price-qty-box { display:grid; grid-template-columns:minmax(170px,.8fr) minmax(280px,1.2fr); gap:.8rem; align-items:center; padding:.65rem; border:1px solid var(--ks-border); border-radius:20px; background:#fff; }
.ks-detail-price { min-height:62px; display:flex; flex-direction:column; justify-content:center; gap:.15rem; padding:.75rem .9rem; border-radius:16px; background:var(--ks-leaf-soft); color:var(--ks-green); }
.ks-price-label { color:var(--ks-muted); font-size:.82rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.ks-detail-price .PricesalesPrice, .ks-detail-price .vm-price-value { font-size:1.35rem; }
.ks-detail-cart { min-width:0; }
.ks-price-qty-box .addtocart-area, .ks-price-qty-box .addtocart-bar, .ks-price-qty-box form, .ks-detail-cart form { margin:0; }
.ks-price-qty-box .addtocart-bar { display:flex; align-items:center; justify-content:flex-end; gap:.65rem; flex-wrap:wrap; }
.ks-price-qty-box span.quantity-box { display:inline-flex; }
.ks-price-qty-box .quantity-box input.quantity-input { width:70px; min-height:42px; border-radius:999px; font-weight:900; }
.ks-price-qty-box span.quantity-controls, .ks-price-qty-box .quantity-controls { display:inline-flex; align-items:center; gap:.25rem; }
.ks-price-qty-box input.quantity-plus, .ks-price-qty-box input.quantity-minus { width:32px; height:32px; border:1px solid var(--ks-border); border-radius:999px; background:var(--ks-leaf-soft); color:var(--ks-green); cursor:pointer; }
.ks-bd-shop-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin:.8rem 0 0; padding:0; list-style:none; color:var(--ks-muted); font-size:.9rem; }
.ks-bd-shop-notes li { border:1px solid var(--ks-border); border-radius:14px; background:#fff; padding:.65rem; }
.ks-product-info-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:1rem; margin-top:1.2rem; }
.ks-info-panel { padding:1.1rem; }
.ks-info-panel h2 { margin-top:0; color:var(--ks-green); }
.ks-delivery-panel dl, .ks-summary-lines, .ks-address-summary { display:grid; gap:.55rem; margin:0; }
.ks-delivery-panel dl div, .ks-summary-lines div, .ks-address-summary div { display:flex; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--ks-border); padding-bottom:.5rem; }
.ks-delivery-panel dt, .ks-summary-lines dt, .ks-address-summary dt { color:var(--ks-muted); font-weight:800; }
.ks-delivery-panel dd, .ks-summary-lines dd, .ks-address-summary dd { margin:0; text-align:right; font-weight:900; }
.ks-related-blocks { margin-top:1rem; }

/* Cart and checkout */
.ks-checkout-header { align-items:flex-start; }
.ks-checkout-steps { display:flex; flex-wrap:wrap; gap:.4rem; justify-content:flex-end; }
.ks-checkout-steps span { border:1px solid var(--ks-border); border-radius:999px; padding:.35rem .65rem; background:#fff; color:var(--ks-muted); font-weight:800; font-size:.85rem; }
.ks-checkout-steps .is-active { background:var(--ks-green); color:#fff; border-color:var(--ks-green); }
.ks-checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:1rem; align-items:start; }
.ks-cart-card { background:#fff; border:1px solid var(--ks-border); border-radius:22px; box-shadow:0 8px 24px rgba(30,93,70,.05); padding:1rem; margin-bottom:1rem; }
.ks-cart-card__head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }
.ks-cart-card__head h2, .ks-summary-card h2 { margin:0; color:var(--ks-green); }
.ks-link-button, .ks-remove-button { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--ks-border); border-radius:999px; min-height:34px; padding:.35rem .75rem; background:#fff; color:var(--ks-green); font-weight:900; cursor:pointer; text-decoration:none; }
.ks-remove-button { color:var(--ks-danger); }
.ks-link-button:hover, .ks-remove-button:hover { background:var(--ks-leaf-soft); text-decoration:none; }
.ks-cart-items { display:grid; gap:.75rem; }
.ks-cart-item { display:grid; grid-template-columns:90px minmax(0,1fr) 115px 150px 120px; gap:.85rem; align-items:center; padding:.75rem; border:1px solid var(--ks-border); border-radius:18px; background:#fbfdfb; }
.ks-cart-item__image { width:90px; height:90px; display:flex; align-items:center; justify-content:center; border-radius:14px; background:#fff; border:1px solid var(--ks-border); padding:.4rem; }
.ks-cart-product-image { max-width:100%; max-height:78px; object-fit:contain; }
.ks-cart-item h3 { margin:0 .0 .25rem; font-size:1rem; line-height:1.25; }
.ks-cart-item h3 a { color:var(--ks-text); text-decoration:none; }
.ks-cart-item__price, .ks-cart-item__qty, .ks-cart-item__total { display:grid; gap:.25rem; }
.ks-cart-item__price > span, .ks-cart-item__qty > span, .ks-cart-item__total > span { color:var(--ks-muted); font-size:.8rem; font-weight:800; }
.ks-cart-item__actions { display:flex; gap:.35rem; flex-wrap:wrap; margin-top:.35rem; }
.ks-checkout-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.ks-options-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.ks-order-summary { position:sticky; top:140px; }
.ks-summary-lines { margin-top:.75rem; }
.ks-summary-grand { margin-top:.25rem; padding-top:.75rem; border-top:2px solid var(--ks-green); color:var(--ks-green); font-size:1.15rem; }
.ks-checkout-actions { margin-top:1rem; }
.ks-checkout-actions .ks-checkout-btn, .ks-checkout-actions .vm-button-correct, .ks-checkout-actions a { width:100%; text-align:center; justify-content:center; }
.ks-secure-note { color:var(--ks-muted); font-size:.9rem; margin:.85rem 0 0; }
.ks-cart-customfields { color:var(--ks-muted); font-size:.9rem; }

/* Address form */
.ks-address-form { display:grid; gap:1rem; }
.ks-address-section { border:1px solid var(--ks-border); border-radius:22px; padding:1rem; background:#fff; box-shadow:0 8px 24px rgba(30,93,70,.05); }
.ks-address-section legend { padding:0 .45rem; color:var(--ks-green); font-weight:900; }
.ks-address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.ks-address-field label { display:grid; gap:.35rem; color:var(--ks-muted); font-weight:800; }
.ks-address-field label > span em { color:var(--ks-danger); font-style:normal; }
.ks-address-field input, .ks-address-field select, .ks-address-field textarea { width:100%; min-height:44px; }
.ks-address-field--address_1, .ks-address-field--address_2, .ks-address-field--customer_note, .ks-address-field--agreed { grid-column:1 / -1; }
.ks-address-tips { display:flex; gap:.5rem; flex-wrap:wrap; border:1px dashed #cde5c6; border-radius:16px; background:#fbfdfb; padding:.8rem 1rem; color:var(--ks-muted); }
.ks-address-tips strong { color:var(--ks-green); }
.ks-address-actions { display:flex; align-items:center; gap:.75rem; justify-content:flex-end; }

@media (max-width: 1080px) {
  .ks-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ks-checkout-layout { grid-template-columns:1fr; }
  .ks-order-summary { position:static; }
  .ks-cart-item { grid-template-columns:80px minmax(0,1fr) 120px; }
  .ks-cart-item__price, .ks-cart-item__total { grid-column:auto; }
}
@media (max-width: 780px) {
  .ks-category-header, .ks-checkout-header, .ks-address-header { flex-direction:column; align-items:stretch; }
  .ks-category-header__image { flex-basis:auto; }
  .ks-category-toolbar { align-items:stretch; flex-direction:column; }
  .ks-category-sort { justify-content:flex-start; }
  .ks-product-detail__top, .ks-product-info-grid, .ks-price-qty-box, .ks-bd-shop-notes, .ks-checkout-panels, .ks-options-grid, .ks-address-grid { grid-template-columns:1fr; }
  .ks-product-gallery__main { min-height:300px; }
  .ks-card-buybox { grid-template-columns:1fr; }
  .ks-buy-row { justify-content:space-between; }
  .ks-cart-item { grid-template-columns:72px minmax(0,1fr); align-items:start; }
  .ks-cart-item__price, .ks-cart-item__qty, .ks-cart-item__total { grid-column:2; }
}
@media (max-width: 520px) {
  .ks-products-grid { grid-template-columns:1fr; }
  .ks-product-card__media { min-height:180px; }
  .ks-checkout-steps { justify-content:flex-start; }
  .ks-cart-item { grid-template-columns:1fr; }
  .ks-cart-item__image { width:100%; height:130px; }
  .ks-cart-item__price, .ks-cart-item__qty, .ks-cart-item__total { grid-column:1; }
  .ks-address-actions { align-items:stretch; flex-direction:column; }
  .ks-address-actions .ks-checkout-btn, .ks-address-actions .ks-link-button { width:100%; }
}
