@charset "utf-8";
/* Rebuild deliberately follows the original ak.co.za sidebar dimensions and palette. */
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:#fff;color:#000}
#wrapper{width:1000px;text-align:left;margin:0 auto;position:relative}
#sidebar{width:165px;float:left;margin:0;padding:0;position:relative;z-index:100}
.brandLarge img{display:block;margin-left:5px}.brandLarge a{display:block}
#maincontent{margin-left:165px;padding:0;min-height:650px;position:relative}
.hero{padding-top:0;padding-right:125px}.hero h1{margin:0;color:#049;font-size:30px;line-height:38px;font-weight:700}.hero p{margin:0;color:#777;font-size:16px}
/* Original cart image swap. */
.cartHover{position:relative;display:block;text-decoration:none}.cartHover .cartHoverImage{display:none}.cartHover:hover .cartNormal{display:none}.cartHover:hover .cartHoverImage{display:block}
.desktopCart{position:absolute;right:5px;top:0;width:120px;height:50px;z-index:20}.mobileCart{width:100px;height:42px}.mobileCart img{width:100px;height:auto}

/* Exact original sidebar classes, including the original hover transitions. */
#sideMenu{margin:0 5px 5px;padding:5px 0;background:#ddd;border-radius:10px}
#sideMenu a{font-family:Arial,Helvetica,sans-serif;text-decoration:none;display:block}
#sideMenu .nav{border:1px solid #fff;color:#fff;font-size:12px;font-weight:700;margin:0 5px 1px;text-decoration:none;background:#049;padding:1px 1px 0 5px;line-height:10px}
#sideMenu .nav:hover{border:1px solid #000;color:#000;background:#fd6}
#sideMenu .nav2{border:1px solid #ccc;color:#000;font-size:12px;font-weight:600;margin:0 5px 1px;text-decoration:none;background:#fff;padding:1px 1px 0 5px;line-height:10px}
#sideMenu .nav2:hover{border:1px solid #000;color:#fff;background:#049}
#sideMenu .nav3{border:1px solid #fff;color:#fff;font-size:12px;font-weight:600;margin:0 5px 1px;text-decoration:none;background:#000;padding:1px 1px 0 5px;line-height:10px}
#sideMenu .nav3:hover{border:1px solid #999;color:#000;background:#fd6}
#sideMenu .nav4{border:1px solid #000;color:#000;font-size:12px;font-weight:700;margin:0 5px 1px;text-decoration:none;background:#fff;padding:1px 1px 0 5px;line-height:15px}
#sideMenu .nav4:hover{border:1px solid #000;color:#000;background:#fd6}
#sideMenu .groupHead{cursor:pointer}
#sideMenu .groupHeadWrap{display:block;width:calc(100% - 10px);box-sizing:border-box;padding:0;margin:0 5px 1px;background:#000;border:1px solid #fff;color:#fff}
/* Keep every normal menu cell exactly the same width; SEARCH is intentionally independent. */
#sideMenu .nav2,#sideMenu .nav3,#sideMenu .nav4{width:calc(100% - 10px);box-sizing:border-box}
#sideMenu .menuSectionButton{box-sizing:border-box}
#sideMenu #akCoins{width:100%;height:15px;min-height:15px;max-height:15px;box-sizing:border-box;font-size:12px!important;line-height:10px!important;font-weight:600!important;display:block;overflow:hidden}
#sideMenu .menuSectionButton{display:block;width:100%;height:15px;min-height:15px;max-height:15px;margin:0;padding:1px 1px 0 5px;border:0;background:#000;color:#fff;font:600 12px/10px Arial,Helvetica,sans-serif;text-align:left;cursor:pointer;overflow:hidden}
#sideMenu .menuSectionButton:hover{background:#fd6;color:#000}
#sideMenu .separatorImage{display:block;margin:4px 0 4px 5px;height:49px;width:148px}
#sideMenu .separatorImage img{display:block;width:148px;height:49px}
#sideMenu .sideLogoSmall{display:block;margin:4px 0 7px 5px;width:148px;height:58px}
.sidebarCartTotal{box-sizing:border-box;width:calc(100% - 10px);margin:2px 5px 8px;padding:4px 6px;background:#fff;border:1px solid #999;color:#000;font:600 14px/18px Arial,Helvetica,sans-serif;text-align:left;text-decoration:none;display:block;cursor:pointer}.sidebarCartTotal:hover{color:#049;text-decoration:underline;background:#f7f7f7}
.sidebarCartTotal::first-letter{font-weight:700}
.mobileArrow{display:none}
.menuPanel{display:none}.menuPanel.menuOpen{display:block}
.pageNav{font-weight:600!important}

#productGrid{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;margin-top:8px}.homeGrid{margin-top:50px!important}
.product{border:1px solid #ddd;background:#fff;padding:3px;min-width:0}.productDesc{margin-top:4px;font-size:11px;line-height:15px;color:#555}.productDescText{max-height:60px;overflow:hidden}.productDesc.expanded .productDescText{max-height:none}.readMore{display:none;border:0!important;background:none!important;color:#049!important;padding:0!important;margin:2px 0 0!important;font:700 11px Arial,sans-serif!important;cursor:pointer!important;flex:none!important}.productDesc .readMore{display:none}.productDesc.expanded .readMore{display:inline-block!important}.productImageButton{display:block;width:100%;padding:0;margin:0;border:0;background:#fff;cursor:pointer}.productImageButton img{width:100%;aspect-ratio:1/1;height:auto;object-fit:contain;display:block;background:#fff}.product h2{font-size:14px;line-height:16px;color:#049;margin:4px 0 2px}.product .code{font-size:11px;color:#555}.product .price{font-size:22px;font-weight:700;margin:3px 0}.product .buyrow{display:flex;align-items:center;gap:3px;min-width:0}.product .buyrow input{box-sizing:border-box;flex:0 0 42px;width:42px;height:22px;padding:1px 2px}.product .buyrow button{box-sizing:border-box;flex:1 1 auto;min-width:0;height:22px;padding:2px 4px;background:#049;color:#fff;border:0;font:700 12px/18px Arial,Helvetica,sans-serif;white-space:nowrap;cursor:pointer}.product .buyrow button:hover{background:#fd6;color:#000}

.topCartTotal{position:static;display:inline-block;margin:5px 0 4px 6px;padding:2px 9px;background:#fff;color:#049;border:1px solid #049;text-decoration:none;font-weight:700;font-size:12px;line-height:16px;height:20px;box-sizing:border-box;white-space:nowrap;z-index:5}.topCartTotal:hover{background:#fd6;color:#000;border-color:#000}
.homeButton{display:inline-block;margin:5px 0 4px;padding:2px 9px;background:#049;color:#fff;border:1px solid #049;text-decoration:none;font-weight:700;font-size:12px;line-height:16px;height:20px;box-sizing:border-box}
.categoryHome{display:inline-block;width:64px;margin-top:0}
.homeTitle{margin-top:4px!important}
.homeButton:hover{background:#fd6;color:#000;border-color:#000}

#categoryTitle{font-size:18px;color:#049;font-weight:700;margin:4px 125px 0 0;min-height:22px}
.siteFooter{clear:both;margin-top:28px;padding:10px 0 14px;color:#666;font-size:11px;text-align:center}.siteFooter a{color:#049;text-decoration:none}.siteFooter a:hover{color:#000;text-decoration:underline}.footerLinks,.footerBase{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap}.footerBase{margin-top:5px;font-size:10px}.footerBase a{font-weight:700}
#mobileHeader{display:none}

@media(max-width:759px){
 #wrapper{width:100%;margin:0}
 body{padding-top:60px}
 #mobileHeader{display:flex;height:60px;border-bottom:1px solid #ccc;align-items:center;justify-content:space-between;padding:5px 7px;background:#fff;position:fixed;top:0;left:0;width:100%;z-index:1100}
 #mobileMenuButton{background:#000;color:#fff;border:1px solid #000;padding:8px 10px;font-weight:700;font-size:12px}
 .mobileLogo{width:104px;height:auto;display:block}
 #sidebar{display:block;position:fixed;top:60px;left:0;width:min(320px,88vw);height:calc(100vh - 60px);overflow-y:auto;float:none;background:#fff;z-index:1050;transform:translateX(-105%);transition:transform .22s ease;box-shadow:3px 0 12px rgba(0,0,0,.25)}
 #sidebar.open{transform:translateX(0)}
 .brandLarge{display:none}
 #sideMenu{padding:5px 0;background:#ddd;border-radius:10px}
 #sideMenu .menuPanel{display:none}
 #sideMenu .menuPanel.menuOpen{display:block}
 #sideMenu .separatorImage{margin-left:5px;margin-top:4px;margin-bottom:4px}
 #sideMenu .sideLogoSmall{margin-top:4px}
 .mobileArrow{display:inline;float:right}
#sideMenu .groupHeadWrap{margin:0 5px 1px}
 #maincontent{margin:0;padding:0;width:100%;min-height:0}
 .desktopCart{display:none}
 .hero{padding:5px 7px}.hero h1{font-size:22px;line-height:28px}.hero p{font-size:14px}.categoryHome{margin-top:5px}.homeTitle{margin-top:5px!important}.homeButton{margin:5px 0 5px}.topCartTotal{position:static;display:inline-block;margin:5px 0 5px 6px;vertical-align:top}
 #categoryTitle{margin:4px 0 0;min-height:22px}.homeGrid{margin-top:10px!important}
 /* Mobile: always keep two products per row, including on older phones where CSS Grid may not be supported. */
 #productGrid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:2px;margin:10px 2px}
 #productGrid .product{box-sizing:border-box;flex:0 0 calc(50% - 1px);width:calc(50% - 1px);border:1px solid #ddd;margin:0;padding:2px;min-width:0;max-width:calc(50% - 1px)}
 .product{border:1px solid #ddd;margin:0;padding:2px;min-width:0}.productDesc{font-size:10px;line-height:13px}.productDescText{max-height:39px}.productImageButton img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;max-height:none;margin:0} .product h2{font-size:13px;line-height:15px}.product .price{font-size:20px}.product .code{font-size:10px}.product .buyrow{gap:2px}.product .buyrow input{flex:0 0 42px;width:42px}.product .buyrow button{font-size:11px;line-height:18px;height:22px;padding:2px 2px}
 .siteFooter{margin-top:20px;padding:10px 7px 14px}
}
#productModal{display:none;position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.45);align-items:center;justify-content:center;padding:18px}#productModal.open{display:flex}.productModalBox{position:relative;width:min(620px,92vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid #777;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.4);padding:14px}.productModalClose{position:absolute;right:7px;top:4px;border:0;background:transparent;color:#333;font-size:28px;line-height:28px;cursor:pointer}.productModalImage{display:block;width:min(500px,100%);max-height:62vh;object-fit:contain;margin:8px auto 12px}.productModalTitle{color:#049;font-size:20px;line-height:24px;margin:4px 28px 4px 0}.productModalPrice{font-size:24px;font-weight:700;margin:5px 0;color:#000}.productModalDescription{font-size:13px;line-height:18px;color:#444}.productModalHint{font-size:11px;color:#777;margin-top:8px}@media(max-width:759px){#productModal{padding:8px}.productModalBox{width:96vw;max-height:92vh;padding:10px}.productModalImage{max-height:55vh}.productModalTitle{font-size:17px;line-height:20px}.productModalPrice{font-size:21px}}


.continueShopping{display:inline-block;margin:12px 0 8px;color:#049;font-size:16px}.basketHeading{color:#049;font-size:32px;line-height:38px;margin:8px 0 18px}.basketTable{width:100%;border-collapse:collapse;font-size:14px}.basketTable th,.basketTable td{border-bottom:1px solid #ddd;padding:7px;text-align:left;vertical-align:middle}.basketTable th{background:#f5f5f5;color:#049}
.basketCode{font-size:12px;color:#555;margin-top:3px}.basketTable input{width:60px}.removeItem{background:#777;color:#fff;border:0;padding:5px 9px;cursor:pointer}.removeItem:hover{background:#049}.basketTotal{font-size:20px;font-weight:700;color:#049;margin:12px 0}.checkoutTerms{border-top:1px solid #ccc;margin-top:16px;padding:12px;background:#f5f5f5}.checkoutTerms h2{color:#049;font-size:18px;margin:0 0 8px}.checkoutTerms a{color:#049}.storageNotice{font-size:12px;color:#555}.checkoutTerms button{background:#049;color:#fff;border:0;padding:9px 14px;font-weight:700;cursor:pointer}.checkoutTerms button:disabled{background:#999;cursor:not-allowed}

@media(max-width:759px){.continueShopping{margin:8px 0 5px;font-size:15px}.basketHeading{font-size:28px;line-height:32px;margin:6px 0 12px}.basketTable{font-size:12px}.basketTable th,.basketTable td{padding:5px 3px}.basketTable input{width:45px}.checkoutTerms{margin-left:-7px;margin-right:-7px}.checkoutTerms table{font-size:12px}}
.pager{clear:both;text-align:center;margin:14px 0}.pager a{display:inline-block;margin:2px;padding:4px 7px;border:1px solid #ccc;background:#fff;color:#049;text-decoration:none;font-size:12px}.pager a:hover,.pager a.current{background:#049;color:#fff;border-color:#049}.archiveProduct .price{font-size:18px}
.archiveSearch{display:flex;gap:4px;margin:8px 0}.archiveSearch input{flex:1;min-width:0;border:1px solid #999;padding:4px;font:12px Arial}.archiveSearch button{background:#049;color:#fff;border:1px solid #049;padding:4px 10px;font-weight:700;cursor:pointer}.archiveSearch button:hover{background:#fd6;color:#000;border-color:#000}
/* AK.CO.ZA AI assistant */
#akAiAssistant{position:fixed;right:max(8px,calc((100vw - 1000px)/2));bottom:8px;z-index:3000;font-family:Arial,Helvetica,sans-serif}
#akAiLauncher{display:flex;align-items:center;gap:8px;border:1px solid #000;background:rgba(0,68,153,.33);color:#049;border-radius:22px;padding:10px 15px;font-weight:700;font-size:13px;box-shadow:0 3px 12px rgba(0,0,0,.25);cursor:pointer}
#akAiLauncher:hover{background:rgba(253,214,102,1);color:#000}
.ak-ai-dot{display:inline-flex;width:25px;height:25px;border-radius:50%;align-items:center;justify-content:center;background:#fff;color:#049;font-size:11px;font-weight:800}
#akAiPanel{display:none;position:absolute;right:0;bottom:52px;width:370px;max-width:calc(100vw - 24px);height:560px;max-height:calc(100vh - 90px);background:#fff;border:1px solid #999;border-radius:10px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.32)}
#akAiPanel.open{display:flex;flex-direction:column}
.ak-ai-head{background:#049;color:#fff;padding:11px 12px;display:flex;align-items:center;justify-content:space-between}.ak-ai-head strong{display:block;font-size:15px}.ak-ai-head small{display:block;font-size:10px;opacity:.9;margin-top:2px}.ak-ai-head button{background:transparent;color:#fff;border:0;font-size:24px;line-height:20px;cursor:pointer}
.ak-ai-messages{flex:1;overflow-y:auto;padding:10px;background:#f7f7f7}.ak-ai-msg{max-width:91%;padding:8px 10px;margin:0 0 8px;border-radius:8px;font-size:12px;line-height:1.45;white-space:normal}.ak-ai-msg.bot{background:#fff;border:1px solid #ddd;color:#222}.ak-ai-msg.user{margin-left:auto;background:#049;color:#fff}.ak-ai-msg a{color:#049;font-weight:700}.ak-ai-msg.user a{color:#fff}
.ak-ai-quick{display:flex;flex-wrap:wrap;gap:4px;padding:7px;border-top:1px solid #ddd;background:#fff}.ak-ai-quick button{font:700 10px Arial;background:#fff;border:1px solid #bbb;color:#049;padding:5px 7px;cursor:pointer;border-radius:3px}.ak-ai-quick button:hover{background:#fd6;color:#000;border-color:#000}
.ak-ai-inputrow{display:flex;border-top:1px solid #ccc;background:#fff}.ak-ai-inputrow input{flex:1;min-width:0;border:0;padding:10px;font:12px Arial;outline:0}.ak-ai-inputrow button{width:60px;background:#049;color:#fff;border:0;font-weight:700;cursor:pointer}.ak-ai-inputrow button:hover{background:#fd6;color:#000}
.ak-ai-foot{font-size:9px;color:#777;background:#fff;padding:5px 8px;text-align:center;border-top:1px solid #eee}
.ak-ai-products{margin-top:7px}.ak-ai-product{border:1px solid #ddd;background:#fff;padding:7px;margin:5px 0}.ak-ai-product strong{display:block;color:#049;font-size:12px}.ak-ai-code{display:block;font-size:10px;color:#777;margin-top:2px}.ak-ai-price{font-weight:700;font-size:14px;margin-top:4px}.ak-ai-small{font-size:9px;color:#666;margin-top:2px}.ak-ai-actions{font-size:10px;margin-top:4px}.ak-ai-actions a{color:#049;font-weight:700}
@media(max-width:759px){#akAiAssistant{right:10px;bottom:8px}#akAiLauncher{padding:9px 12px}.ak-ai-dot{width:23px;height:23px}#akAiPanel{right:0;bottom:50px;width:calc(100vw - 20px);height:min(560px,calc(100vh - 80px));max-width:none}.ak-ai-msg{font-size:13px}.ak-ai-quick button{padding:7px 8px}}

.infoPage{padding:10px 8px 20px;max-width:820px}.infoPage h1{color:#049;font-size:24px;margin:0 0 12px}.infoPage h2{color:#900;font-size:15px;line-height:19px;margin:18px 0 5px}.infoPage p{font-size:13px;line-height:19px;margin:0 0 11px}.infoPage a{color:#049}

/* Contact page - icon assets supplied from the original contact reference. */
.contactPage{max-width:820px}
.contactAddress,.contactPhone,.contactWhatsapp{display:flex;align-items:flex-start;gap:6px;margin-bottom:14px!important}
.contactAddress img{width:20px;height:22px;flex:0 0 20px;margin-top:0}
.contactPhone img{width:25px;height:25px;flex:0 0 25px;margin-top:-3px}
.contactPhone a,.contactWhatsapp a{color:#049;text-decoration:none}
.contactPhone a:hover,.contactWhatsapp a:hover{text-decoration:underline}
.contactWhatsapp{display:block!important;margin-left:0!important}
.contactWhatsapp a{font-size:16px}
.contactWhatsapp span{font-size:16px}
@media(max-width:759px){
 .contactPage{padding:10px 8px 20px}
 .contactAddress,.contactPhone{font-size:16px;line-height:20px}
 .contactWhatsapp span{font-size:14px}
}
/* Functional sidebar search */
#sideMenu .akMenuSearch{margin:0 5px 3px;padding:4px;background:#fff;border:1px solid #ccc}
#sideMenu .akMenuSearch[hidden]{display:none}
#sideMenu .akMenuSearch form{display:flex;gap:3px;margin:0}
#sideMenu .akMenuSearch input{min-width:0;flex:1;border:1px solid #999;padding:3px 4px;font:11px Arial}
#sideMenu .akMenuSearch button{border:1px solid #049;background:#049;color:#fff;font:bold 11px Arial;padding:3px 7px;cursor:pointer}
#sideMenu .akMenuSearch button:hover{background:#fd6;color:#000;border-color:#000}
#sideMenu .menuSectionButton{flex:1;text-align:left;cursor:pointer;border:0!important;margin:0!important;background:#000!important;color:#fff!important;padding:1px 1px 0 5px!important;font:600 12px Arial!important;line-height:10px!important}
#sideMenu .menuSectionButton:hover{background:#fd6!important;color:#000!important}
@media(max-width:759px){#sideMenu .menuSectionButton{font-size:12px!important;line-height:10px!important}}

.akCartCount{position:absolute;right:-5px;top:1px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#fd6;color:#000;font:bold 12px/20px Arial,sans-serif;text-align:center;box-sizing:border-box}.mobileCart .akCartCount{right:-2px;top:-2px}.akCartCount[hidden]{display:none}.basketActions{margin:8px 0}.clearCart{background:#777;color:#fff;border:0;padding:7px 12px;font-weight:700;cursor:pointer}.clearCart:hover{background:#049}

.shippingBox{margin:18px 0;padding:16px;border:1px solid #ddd;border-radius:8px;background:#fafafa}.shippingBox h2{margin:0 0 12px}.shippingBox label{display:block;font-weight:700;margin-bottom:6px}.shippingBox select{width:100%;max-width:520px;padding:10px;border:1px solid #bbb;border-radius:5px;background:#fff}.shippingTotals{margin-top:12px;border-top:1px solid #ddd}.shippingTotals>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #eee}.shippingTotals strong{white-space:nowrap}

.product .priceRequest{font-size:18px!important;line-height:21px!important;white-space:nowrap;font-weight:700!important;margin:4px 0!important;color:#000}

.archiveProduct .archiveDate{font-size:10px;color:#666;margin-top:3px}

.customerNameField{margin:12px 0}.customerNameField label{display:block;font-weight:bold;margin-bottom:5px}.customerNameField input{width:100%;max-width:520px;box-sizing:border-box;padding:8px;border:1px solid #aaa;font:inherit}

.orderForm{border-collapse:collapse;margin:8px 0 12px;max-width:760px}.orderFormRow{display:grid;grid-template-columns:180px minmax(260px,1fr);border-bottom:1px solid #ddd;min-height:34px}.orderFormRow>label{font-weight:700;padding:7px 8px 7px 0}.orderFormRow>input,.orderFormRow>textarea{margin:3px 0 3px 8px;border:1px solid #999;padding:7px 9px;font:14px Arial,sans-serif;box-sizing:border-box}.orderFormRow>input{height:28px}.orderFormRow>input[readonly]{background:#f5f5f5}.orderFormRow>textarea{min-height:82px;resize:vertical}.checkoutWarning{color:red;font-weight:700;margin:12px 0 10px}.checkoutTerms>label{font-size:14px}@media(max-width:759px){.orderFormRow{grid-template-columns:120px minmax(0,1fr)}.orderFormRow>input,.orderFormRow>textarea{max-width:100%;margin-left:5px}.orderFormRow>label{font-size:12px}}

/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  /* Keep the complete desktop site within 1690px, including the 165px sidebar. */
  #wrapper { width:100%; max-width:1690px; min-width:0; margin:0 auto; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:1525px; min-width:0; padding:0 4px 0 0; box-sizing:border-box; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: 800px checkout content plus the 165px sidebar. */
  body:has(#basketArea) #wrapper { width:min(965px, calc(100% - 16px)); max-width:965px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:800px; max-width:calc(100% - 165px); margin-left:165px; padding:0 8px; box-sizing:border-box; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:800px; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:800px; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; width:100%; max-width:800px; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:800px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:800px; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:none; box-sizing:border-box;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:800px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* Final layout limits: desktop catalogue capped at 1690px overall; checkout content 800px. */
@media (min-width:760px) {
  body:not(:has(#basketArea)) #wrapper { width:100%; max-width:1690px; margin-left:auto; margin-right:auto; }
  body:not(:has(#basketArea)) #maincontent { max-width:1525px; }
  body:has(#basketArea) #wrapper { width:min(965px, calc(100% - 16px)); max-width:965px; margin-left:auto; margin-right:auto; }
  body:has(#basketArea) #maincontent { width:800px; max-width:calc(100% - 165px); margin-left:165px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .checkoutCustomer,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:800px; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; max-width:800px; }
}
@media (max-width:759px) {
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .checkoutCustomer,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}

/* Mobile usability corrections: larger menu targets, image close control and app install. */
@media(max-width:759px){
  #sidebar{max-height:calc(100dvh - 164px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  #sideMenu .nav2{min-height:29px;height:auto;line-height:21px;padding:3px 7px;margin:0 5px 3px;font-size:15px;font-weight:600;touch-action:manipulation}
  #sideMenu .nav4{min-height:32px;line-height:24px;padding:3px 7px;font-size:15px}
  #sideMenu .groupHeadWrap{min-height:34px;margin:4px 5px 4px}
  #sideMenu .menuSectionButton{height:auto;min-height:32px;max-height:none;line-height:24px!important;padding:4px 7px!important;font-size:15px!important;touch-action:manipulation}
  #sideMenu .akMenuSearch input,#sideMenu .akMenuSearch button{min-height:38px;font-size:15px}
  #productModal{padding:6px;z-index:9000}
  .productModalBox{width:98vw;max-height:94dvh;padding:14px 12px 16px;padding-top:58px}
  .productModalClose{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;z-index:9100;width:48px;height:48px;border-radius:50%;background:#111;color:#fff;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.55);font-size:34px;line-height:40px;font-weight:700;display:flex;align-items:center;justify-content:center;touch-action:manipulation}
  .productModalImage{max-height:48dvh}
}
#akPwaInstall{position:fixed;left:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:3500;font-family:Arial,Helvetica,sans-serif}
#akPwaInstallButton{border:1px solid #000;border-radius:22px;background:#ffe36e;color:#000;padding:11px 15px;font:bold 13px Arial,sans-serif;box-shadow:0 3px 12px rgba(0,0,0,.28);cursor:pointer;min-height:44px}
#akPwaHelp[hidden]{display:none!important}
#akPwaHelp{position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.58);display:flex;align-items:center;justify-content:center;padding:20px}
.ak-pwa-card{position:relative;width:min(390px,100%);background:#fff;border-radius:12px;padding:24px 20px 20px;box-shadow:0 8px 30px rgba(0,0,0,.35);font:15px/1.5 Arial,sans-serif}
.ak-pwa-card strong{font-size:19px;color:#049}.ak-pwa-card p{margin:12px 0 0}
#akPwaHelpClose{position:absolute;right:8px;top:7px;width:40px;height:40px;border:0;border-radius:50%;background:#111;color:#fff;font-size:28px;line-height:36px}
@media(min-width:760px){#akPwaInstall{display:none}}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}


/* Mobile menu: make COINS AND NOTES match the SHOP heading exactly. */
@media (max-width:759px) {
  #sideMenu .groupHeadWrap #akCoins,
  #sideMenu #akCoins.menuSectionButton {
    box-sizing:border-box !important; width:100% !important; min-height:34px !important; height:auto !important; max-height:none !important;
    padding:4px 7px !important; font:700 15px/24px Arial,Helvetica,sans-serif !important;
    letter-spacing:normal !important; text-transform:none !important; overflow:visible !important;
  }
}


/* AK.CO.ZA responsive layout checkpoint — one authoritative set of overrides. */
html, body { max-width:100%; }

/* Desktop catalogue: use the available screen width; fixed-width cards wrap naturally. */
@media (min-width:760px) {
  #wrapper { width:100%; max-width:none; min-width:0; margin:0; }
  #sidebar { width:165px; float:left; }
  #maincontent { margin-left:165px; width:calc(100% - 165px); max-width:none; min-width:0; padding:0 4px 0 0; }
  #productGrid {
    display:grid;
    width:100%; min-width:0;
    grid-template-columns:repeat(auto-fill, 150px);
    grid-auto-columns:150px;
    justify-content:start; align-items:stretch; gap:2px;
    margin-top:8px;
  }
  #productGrid .product {
    box-sizing:border-box; width:150px; min-width:150px; max-width:150px;
    margin:0; padding:3px; overflow-wrap:anywhere;
  }
  #productGrid .productImageButton,
  #productGrid .productImageButton img {
    display:block; width:142px; max-width:142px; height:110px; max-height:110px;
    margin:0; object-fit:contain; background:#fff;
  }
  #productGrid .product .buyrow { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; width:142px; max-width:142px; }
  #productGrid .product .buyrow input { flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 3px; font:700 11px/18px Arial,Helvetica,sans-serif; white-space:nowrap; }

  /* Basket: centre the combined sidebar and checkout, but keep it reasonably narrow. */
  body:has(#basketArea) #wrapper { width:min(1200px, calc(100% - 32px)); max-width:1200px; margin:0 auto; }
  body:has(#basketArea) #maincontent { width:calc(100% - 165px); max-width:1000px; margin-left:165px; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .siteFooter { width:100%; max-width:100%; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,520px); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}

/* Mobile catalogue: two fluid columns, never overflow or force desktop-width cards. */
@media (max-width:759px) {
  #wrapper { width:100%; max-width:100%; min-width:0; margin:0; }
  #maincontent { margin:0; padding:0; width:100%; max-width:100%; min-width:0; }
  #productGrid { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin:10px 0; padding:0 2px; }
  #productGrid .product { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:3px; overflow-wrap:anywhere; }
  #productGrid .productImageButton,
  #productGrid .productImageButton img { display:block; width:100%; max-width:100%; height:auto; max-height:none; aspect-ratio:1/1; object-fit:contain; }
  #productGrid .product h2 { font-size:13px; line-height:15px; }
  #productGrid .product .price { font-size:18px; line-height:21px; }
  #productGrid .product .productDesc { font-size:10px; line-height:13px; }
  #productGrid .product .buyrow { display:flex; width:100%; min-width:0; max-width:100%; gap:3px; }
  #productGrid .product .buyrow input { box-sizing:border-box; flex:0 0 40px; width:40px; min-width:40px; height:22px; }
  #productGrid .product .buyrow button { flex:1 1 auto; width:auto; min-width:0; height:22px; padding:2px 2px; font-size:11px; line-height:18px; white-space:nowrap; }
  body:has(#basketArea) #wrapper { width:100%; max-width:100%; margin:0; }
  body:has(#basketArea) #maincontent { width:100%; max-width:100%; margin:0; padding:0 8px; }
  body:has(#basketArea) #basketArea,
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:100%; box-sizing:border-box; }
  body:has(#basketArea) .checkoutCustomer .customerGrid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:520px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { width:100%; max-width:100%; box-sizing:border-box; }
  .basketTable { table-layout:auto; width:100%; }
  .basketTable th,.basketTable td { overflow-wrap:anywhere; }
  .basketTable input { max-width:45px; }
  #mobileHeader .mobileCart { margin-right:12px; }
}


/* Basket customer details: align related fields in two consistent desktop columns. */
@media (min-width:760px) {
  body:has(#basketArea) .checkoutCustomer { width:100%; max-width:760px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:start;
    column-gap:16px; row-gap:12px;
    width:100%; max-width:760px;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label {
    display:flex; flex-direction:column; min-width:0; margin:0;
    font-weight:700; line-height:1.35;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:1 / -1; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0;
    margin-top:5px; padding:8px; box-sizing:border-box;
    border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid input { height:36px; }
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea { min-height:64px; resize:vertical; }
  body:has(#basketArea) .shippingBox,
  body:has(#basketArea) .checkoutTerms { width:100%; max-width:760px; box-sizing:border-box; }
}
@media (max-width:759px) {
  body:has(#basketArea) .checkoutCustomer .customerGrid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; max-width:100%;
  }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label { display:flex; flex-direction:column; min-width:0; margin:0; }
  body:has(#basketArea) .checkoutCustomer .customerGrid > label:nth-child(5) { grid-column:auto; }
  body:has(#basketArea) .checkoutCustomer .customerGrid input,
  body:has(#basketArea) .checkoutCustomer .customerGrid textarea {
    display:block; width:100%; max-width:100%; min-width:0; margin-top:5px;
    padding:8px; box-sizing:border-box; border:1px solid #aaa; font:14px Arial,Helvetica,sans-serif;
  }
}
