{"id":1345,"date":"2026-07-21T07:04:25","date_gmt":"2026-07-21T07:04:25","guid":{"rendered":"https:\/\/bantuporijourneys.com\/blog\/?page_id=1345"},"modified":"2026-07-21T20:16:31","modified_gmt":"2026-07-21T20:16:31","slug":"kilimanjaro-gear-rental-store","status":"publish","type":"page","link":"https:\/\/bantuporijourneys.com\/blog\/kilimanjaro-gear-rental-store\/","title":{"rendered":"Kilimanjaro Gear Rental Store | Trekking Gear in Tanzania"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1345\" class=\"elementor elementor-1345\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6580cd8d e-con-full e-flex e-con e-parent\" data-id=\"6580cd8d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<section class=\"elementor-element elementor-element-483e66b e-con-full e-flex e-con e-child\" data-id=\"483e66b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-77b68b4b e-con-full e-flex e-con e-child\" data-id=\"77b68b4b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5508392b elementor-widget elementor-widget-heading\" data-id=\"5508392b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Kilimanjaro Gear Rental Store in Moshi &amp; Arusha<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ef10dcc text-center elementor-widget elementor-widget-tp-heading-title\" data-id=\"7ef10dcc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tp-heading-title.default\">\n\t\t\t\t\t<div class=\"heading heading_style heading_style6a6032bcc31e8 style-1 \"  data-tp-gsap-heading-text=\"{&quot;tp_enable_ani&quot;:&quot;yes&quot;,&quot;tp_effect&quot;:&quot;normal&quot;,&quot;tp_split_type&quot;:&quot;words&quot;,&quot;tp_trigger&quot;:&quot;onload&quot;,&quot;tp_duration&quot;:1.5,&quot;tp_delay&quot;:0.5,&quot;tp_stagger&quot;:0.08,&quot;tp_ease&quot;:&quot;sine.out&quot;,&quot;tp_repeat&quot;:&quot;no&quot;,&quot;tp_scrub&quot;:&quot;&quot;,&quot;transform_toggle&quot;:&quot;&quot;,&quot;transform_x&quot;:0,&quot;transform_x_unit&quot;:&quot;px&quot;,&quot;transform_y&quot;:0,&quot;transform_y_unit&quot;:&quot;px&quot;,&quot;transform_skewx&quot;:0,&quot;transform_skewy&quot;:0,&quot;transform_scale&quot;:1,&quot;transform_rotation&quot;:0,&quot;transform_origin&quot;:&quot;50% 50%&quot;}\" data-tp-gsap-sub-heading-text=\"\"><div class=\"sub-style\" ><div class=\"head-title \" > <h2  class=\"heading-title   \"  data-hover=\"Kilimanjaro Gear Rental Made Simple\">Kilimanjaro Gear Rental Made Simple<span class=\"title-s \">  <\/span><\/h2><\/div><div class=\"sub-heading\"><p class=\"heading-sub-title  \"> Don&#039;t buy expensive trekking equipment for a single adventure. Rent the essential gear you need for your Kilimanjaro climb and travel lighter with quality equipment prepared for the mountain. You can still rent trekking equipment from our store even if your climb has been arranged with another tour operator. <\/p><\/div><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-298c95a8 elementor-align-justify elementor-widget__width-initial elementor-widget elementor-widget-button\" data-id=\"298c95a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/bantuporijourneys.com\/blog\/kilimanjaro-gear-rental-store\/#gears\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-menu-6\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Browse Rental Gear<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4fc3758 elementor-align-justify elementor-widget__width-initial elementor-widget elementor-widget-button\" data-id=\"4fc3758\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/bantuporijourneys.com\/blog\/contact\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-readme\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Contact Our Gear Team<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7bdaed06 e-flex e-con-boxed e-con e-parent\" data-id=\"7bdaed06\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-f19020d e-con-full e-flex e-con e-child\" data-id=\"f19020d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-16497a54 elementor-widget elementor-widget-image\" data-id=\"16497a54\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"2172\" height=\"724\" src=\"https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/61f769e7-3839-4162-ac50-e858e9c6b185.png?fit=2172%2C724&amp;ssl=1\" class=\"attachment-full size-full wp-image-1293\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/61f769e7-3839-4162-ac50-e858e9c6b185.png?w=2172&amp;ssl=1 2172w, https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/61f769e7-3839-4162-ac50-e858e9c6b185.png?resize=300%2C100&amp;ssl=1 300w, https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/61f769e7-3839-4162-ac50-e858e9c6b185.png?resize=1024%2C341&amp;ssl=1 1024w, https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/61f769e7-3839-4162-ac50-e858e9c6b185.png?resize=768%2C256&amp;ssl=1 768w, https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/61f769e7-3839-4162-ac50-e858e9c6b185.png?resize=1536%2C512&amp;ssl=1 1536w, https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/61f769e7-3839-4162-ac50-e858e9c6b185.png?resize=2048%2C683&amp;ssl=1 2048w, https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/61f769e7-3839-4162-ac50-e858e9c6b185.png?resize=600%2C200&amp;ssl=1 600w, https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/61f769e7-3839-4162-ac50-e858e9c6b185.png?w=1600&amp;ssl=1 1600w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7226cd05 e-con-full e-flex e-con e-child\" data-id=\"7226cd05\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4294a04 elementor-widget elementor-widget-heading\" data-id=\"4294a04\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Why Rent Kilimanjaro Gear?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f4658e4 elementor-widget elementor-widget-heading\" data-id=\"f4658e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Everything You Need for the Mountain, Without Buying Everything<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ed8b642 elementor-widget elementor-widget-tp-adv-text-block\" data-id=\"7ed8b642\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tp-adv-text-block.default\">\n\t\t\t\t\t<div class=\"pt-plus-text-block-wrapper\" data-tp-gsap-textblock=\"\" ><div class=\"text_block_parallax\"><div class=\"pt_plus_adv_text_block \" ><div class=\"text-content-block\"><p class=\"PDq2pG_selectionAnchorContainer\" data-start=\"2122\" data-end=\"2318\">Not everyone who climbs Kilimanjaro is an experienced mountaineer. Many travelers are visiting Tanzania for one adventure and don't want to invest in expensive equipment they may rarely use again.<\/p><p data-start=\"2320\" data-end=\"2381\">Our gear rental service makes preparing for your trek easier.<\/p><p data-start=\"2383\" data-end=\"2493\">Rent the equipment you need, avoid carrying bulky items from home, and focus on preparing for the climb ahead.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3b5f87a5 e-flex e-con-boxed e-con e-parent\" data-id=\"3b5f87a5\" data-element_type=\"container\" data-e-type=\"container\" id=\"gears\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-fe75f37 e-con-full e-flex e-con e-child\" data-id=\"fe75f37\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2828b759 text-center elementor-widget elementor-widget-tp-heading-title\" data-id=\"2828b759\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tp-heading-title.default\">\n\t\t\t\t\t<div class=\"heading heading_style heading_style6a6032bcc98e7 style-1 \"  data-tp-gsap-heading-text=\"\" data-tp-gsap-sub-heading-text=\"\"><div class=\"sub-style\" ><div class=\"head-title \" > <h3  class=\"heading-title   \"  data-hover=\"Gear Available for Rental\">Gear Available for Rental<span class=\"title-s \">  <\/span><\/h3><\/div><div class=\"sub-heading\"><h2 class=\"heading-sub-title  \"> Rent Your Kilimanjaro Gear in Moshi or Arusha <\/h2><\/div><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2d256006 elementor-widget elementor-widget-tp-adv-text-block\" data-id=\"2d256006\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tp-adv-text-block.default\">\n\t\t\t\t\t<div class=\"pt-plus-text-block-wrapper\" data-tp-gsap-textblock=\"\" ><div class=\"text_block_parallax\"><div class=\"pt_plus_adv_text_block \" ><div class=\"text-content-block\"><p class=\"PDq2pG_selectionAnchorContainer\" data-start=\"3181\" data-end=\"3341\">Whether you're staying in <strong data-start=\"3207\" data-end=\"3216\">Moshi<\/strong> or <strong data-start=\"3254\" data-end=\"3264\">Arusha before your climb<\/strong>, or even if you`re not using our company for the expedition. Having access to the right equipment can make your preparation much easier. You can rent your equipment, and make sure everything fits properly before heading to the mountain.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e8b02eb elementor-widget elementor-widget-html\" data-id=\"e8b02eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\r\n:root{\r\n  --gold:#c9973a;--amber:#e8b04a;--orange:#f97316;--forest:#1a472a;\r\n  --dark:#2d3748;--body:#7a7a7a;--cream:#faf8f4;--light:#f4f4f0;\r\n  --white:#ffffff;--border:#e8e8e2;\r\n  --shadow:0 2px 16px rgba(0,0,0,0.08);\r\n  --shadow-hover:0 8px 32px rgba(201,151,58,0.18);\r\n  --radius:12px;--font:'Montserrat',sans-serif;\r\n}\r\nbody{font-family:var(--font);background:var(--light);color:var(--body);-webkit-font-smoothing:antialiased}\r\n \r\n\/* Header *\/\r\n.kas-header{background:var(--forest);padding:40px 24px 32px;text-align:center;position:relative;overflow:hidden;}\r\n.kas-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(201,151,58,0.15) 0%,transparent 70%);pointer-events:none;}\r\n.kas-header-eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--amber);margin-bottom:12px;}\r\n.kas-header h1{font-size:clamp(24px,5vw,42px);font-weight:800;color:var(--white);line-height:1.15;margin-bottom:10px;}\r\n.kas-header h1 span{color:var(--gold);}\r\n.kas-header p{font-size:15px;color:rgba(255,255,255,0.72);max-width:560px;margin:0 auto 20px;line-height:1.65;}\r\n.kas-header-meta{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:4px;}\r\n.kas-header-meta span{font-size:12px;font-weight:600;color:rgba(255,255,255,0.55);display:flex;align-items:center;gap:6px;}\r\n.kas-header-meta span::before{content:'\u2713';color:var(--gold);}\r\n \r\n\/* Filters *\/\r\n.kas-filters{background:var(--white);border-bottom:1px solid var(--border);padding:14px 24px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:40;box-shadow:0 2px 8px rgba(0,0,0,0.06);}\r\n.kas-filters-label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--dark);margin-right:4px;flex-shrink:0;}\r\n.kas-filter-btn{background:var(--light);border:1.5px solid var(--border);color:var(--body);font-family:var(--font);font-size:12px;font-weight:600;padding:6px 14px;border-radius:20px;cursor:pointer;transition:all .2s;white-space:nowrap;}\r\n.kas-filter-btn:hover,.kas-filter-btn.active{background:var(--gold);border-color:var(--gold);color:var(--white);}\r\n.kas-search{margin-left:auto;background:var(--light);border:1.5px solid var(--border);color:var(--dark);font-family:var(--font);font-size:13px;padding:7px 14px;border-radius:20px;outline:none;width:200px;transition:border-color .2s;}\r\n.kas-search:focus{border-color:var(--gold);}\r\n.kas-search::placeholder{color:#bbb;}\r\n \r\n\/* Grid *\/\r\n.kas-main{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;padding:28px 24px;max-width:1400px;margin:0 auto;}\r\n \r\n\/* Card *\/\r\n.kas-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius);padding:22px 20px 20px;box-shadow:var(--shadow);transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;flex-direction:column;position:relative;overflow:hidden;}\r\n.kas-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--amber));transform:scaleX(0);transform-origin:left;transition:transform .25s;}\r\n.kas-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:rgba(201,151,58,0.3);}\r\n.kas-card:hover::before,.kas-card.in-cart::before{transform:scaleX(1);}\r\n.kas-card.in-cart{border-color:var(--gold);background:rgba(201,151,58,0.03);}\r\n.kas-card.hidden{display:none;}\r\n.kas-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}\r\n.kas-badge{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:rgba(201,151,58,0.12);color:var(--gold);padding:4px 10px;border-radius:20px;border:1px solid rgba(201,151,58,0.25);flex-shrink:0;}\r\n.kas-badge.non-ret{background:rgba(249,115,22,0.1);color:var(--orange);border-color:rgba(249,115,22,0.2);}\r\n.kas-badge.por{background:rgba(45,55,72,0.08);color:var(--dark);border-color:rgba(45,55,72,0.15);}\r\n.kas-id{font-size:10px;color:#bbb;font-weight:500;margin-top:3px;}\r\n.kas-card-name{font-size:16px;font-weight:700;color:var(--dark);margin-bottom:6px;line-height:1.3;}\r\n.kas-card-desc{font-size:12.5px;color:var(--body);line-height:1.6;margin-bottom:14px;flex:1;}\r\n.kas-card-specs{background:var(--light);border-radius:8px;padding:10px 12px;margin-bottom:16px;}\r\n.kas-card-specs summary{font-size:11px;font-weight:700;color:var(--dark);letter-spacing:.5px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;}\r\n.kas-card-specs summary::after{content:'\u25b8';font-size:10px;color:var(--gold);}\r\n.kas-card-specs[open] summary::after{content:'\u25be';}\r\n.kas-card-specs ul{margin-top:8px;padding-left:14px;display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;}\r\n.kas-card-specs li{font-size:11px;color:var(--body);line-height:1.7;}\r\n.kas-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}\r\n.kas-price{font-size:18px;font-weight:800;color:var(--dark);}\r\n.kas-price-unit{font-size:11px;font-weight:500;color:var(--body);margin-left:2px;}\r\n.kas-card-controls{display:flex;align-items:center;gap:8px;}\r\n.kas-qty{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;}\r\n.kas-qty-btn{background:var(--light);border:none;width:28px;height:28px;font-size:16px;font-weight:600;color:var(--dark);cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0;}\r\n.kas-qty-btn:hover{background:rgba(201,151,58,0.15);}\r\n.kas-qty-num{width:30px;text-align:center;font-size:13px;font-weight:700;color:var(--dark);border:none;outline:none;background:var(--white);font-family:var(--font);}\r\n.kas-add-btn{background:var(--forest);color:var(--white);border:none;font-family:var(--font);font-size:12px;font-weight:700;padding:8px 14px;border-radius:8px;cursor:pointer;transition:background .2s,transform .1s;white-space:nowrap;letter-spacing:.3px;}\r\n.kas-add-btn:hover{background:var(--gold);transform:scale(1.03);}\r\n.kas-add-btn.added{background:var(--gold);}\r\n \r\n\/* Cart toggle \u2014 centered bottom *\/\r\n.kas-cart-toggle{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:500;background:var(--forest);color:var(--white);border:none;border-radius:50px;font-family:var(--font);font-size:13px;font-weight:700;padding:14px 28px;cursor:pointer;box-shadow:0 4px 24px rgba(26,71,42,0.4);display:flex;align-items:center;gap:10px;transition:background .2s,box-shadow .2s;letter-spacing:.3px;white-space:nowrap;}\r\n.kas-cart-toggle:hover{background:var(--gold);box-shadow:0 6px 28px rgba(201,151,58,0.4);}\r\n.kas-cart-badge{background:var(--gold);color:var(--white);font-size:11px;font-weight:800;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}\r\n \r\n\/* Cart overlay *\/\r\n.kas-cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:600;opacity:0;pointer-events:none;transition:opacity .25s;}\r\n.kas-cart-overlay.open{opacity:1;pointer-events:all;}\r\n \r\n\/* Cart sidebar *\/\r\n.kas-cart{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:var(--white);z-index:700;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 32px rgba(0,0,0,0.15);}\r\n.kas-cart.open{transform:translateX(0);}\r\n.kas-cart-header{background:var(--forest);color:var(--white);padding:20px 22px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}\r\n.kas-cart-title{font-size:16px;font-weight:700;}\r\n.kas-cart-subtitle{font-size:11px;color:rgba(255,255,255,0.6);margin-top:2px;}\r\n.kas-cart-close{background:rgba(255,255,255,0.12);border:none;color:var(--white);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .15s;}\r\n.kas-cart-close:hover{background:rgba(255,255,255,0.22);}\r\n.kas-cart-items{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;}\r\n.kas-cart-empty{text-align:center;padding:48px 20px;color:#ccc;}\r\n.kas-cart-empty-icon{font-size:40px;margin-bottom:12px;}\r\n.kas-cart-empty p{font-size:13px;font-weight:500;}\r\n.kas-cart-item{background:var(--light);border-radius:10px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;}\r\n.kas-cart-item-info{flex:1;min-width:0;}\r\n.kas-cart-item-name{font-size:13px;font-weight:700;color:var(--dark);margin-bottom:3px;}\r\n.kas-cart-item-id{font-size:10px;color:#bbb;}\r\n.kas-cart-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;}\r\n.kas-cart-item-price{font-size:14px;font-weight:800;color:var(--dark);}\r\n.kas-cart-item-qty{display:flex;align-items:center;gap:6px;}\r\n.kas-cart-qty-btn{background:var(--white);border:1.5px solid var(--border);width:24px;height:24px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:border-color .15s;}\r\n.kas-cart-qty-btn:hover{border-color:var(--gold);}\r\n.kas-cart-item-count{font-size:13px;font-weight:700;color:var(--dark);min-width:20px;text-align:center;}\r\n.kas-cart-remove{background:none;border:none;color:#ddd;cursor:pointer;font-size:16px;padding:0;transition:color .15s;flex-shrink:0;}\r\n.kas-cart-remove:hover{color:#e53e3e;}\r\n.kas-cart-summary{border-top:1.5px solid var(--border);padding:16px 20px 20px;flex-shrink:0;}\r\n.kas-cart-totals{margin-bottom:14px;}\r\n.kas-cart-total-row{display:flex;justify-content:space-between;font-size:13px;color:var(--body);margin-bottom:6px;}\r\n.kas-cart-total-row.grand{font-size:16px;font-weight:800;color:var(--dark);border-top:1px solid var(--border);padding-top:8px;margin-top:4px;}\r\n.kas-cart-total-row.grand span:last-child{color:var(--gold);}\r\n.kas-checkout-btn{width:100%;background:var(--gold);color:var(--white);border:none;font-family:var(--font);font-size:14px;font-weight:700;padding:13px;border-radius:10px;cursor:pointer;transition:background .2s;letter-spacing:.3px;margin-bottom:10px;}\r\n.kas-checkout-btn:hover{background:var(--forest);}\r\n.kas-clear-btn{width:100%;background:none;border:1.5px solid var(--border);color:var(--body);font-family:var(--font);font-size:12px;font-weight:600;padding:9px;border-radius:10px;cursor:pointer;transition:all .2s;}\r\n.kas-clear-btn:hover{border-color:#e53e3e;color:#e53e3e;}\r\n \r\n\/* Modal *\/\r\n.kas-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:800;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s;}\r\n.kas-modal-overlay.open{opacity:1;pointer-events:all;}\r\n.kas-modal{background:var(--white);border-radius:16px;width:min(580px,100%);max-height:88vh;overflow-y:auto;padding:32px;transform:translateY(20px) scale(.97);transition:transform .28s;box-shadow:0 24px 80px rgba(0,0,0,0.2);}\r\n.kas-modal-overlay.open .kas-modal{transform:translateY(0) scale(1);}\r\n.kas-modal-header{margin-bottom:24px;}\r\n.kas-modal-header h2{font-size:22px;font-weight:800;color:var(--dark);margin-bottom:6px;}\r\n.kas-modal-header p{font-size:13px;color:var(--body);}\r\n.kas-modal-section{background:var(--light);border-radius:10px;padding:14px 16px;margin-bottom:20px;}\r\n.kas-modal-section-title{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}\r\n.kas-modal-item-row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--body);padding:5px 0;border-bottom:1px solid var(--border);}\r\n.kas-modal-item-row:last-child{border-bottom:none;}\r\n.kas-modal-item-row span:first-child{font-weight:600;color:var(--dark);}\r\n.kas-modal-total{font-size:15px;font-weight:800;color:var(--dark);display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1.5px solid var(--border);}\r\n.kas-modal-total span:last-child{color:var(--gold);}\r\n.kas-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;}\r\n.kas-form-group{display:flex;flex-direction:column;gap:6px;}\r\n.kas-form-group.full{grid-column:1\/-1;}\r\n.kas-form-group label{font-size:11px;font-weight:700;color:var(--dark);letter-spacing:.5px;text-transform:uppercase;}\r\n.kas-form-group input,.kas-form-group textarea{background:var(--light);border:1.5px solid var(--border);color:var(--dark);font-family:var(--font);font-size:13px;padding:10px 12px;border-radius:8px;outline:none;transition:border-color .2s;}\r\n.kas-form-group input:focus,.kas-form-group textarea:focus{border-color:var(--gold);}\r\n.kas-form-group textarea{resize:vertical;min-height:80px;}\r\n.kas-form-actions{display:flex;gap:10px;}\r\n.kas-form-submit{flex:1;background:var(--gold);color:var(--white);border:none;font-family:var(--font);font-size:14px;font-weight:700;padding:13px;border-radius:10px;cursor:pointer;transition:background .2s;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;gap:8px;}\r\n.kas-form-submit:hover:not(:disabled){background:var(--forest);}\r\n.kas-form-submit:disabled{opacity:.65;cursor:not-allowed;}\r\n.kas-form-cancel{background:none;border:1.5px solid var(--border);color:var(--body);font-family:var(--font);font-size:13px;font-weight:600;padding:13px 20px;border-radius:10px;cursor:pointer;transition:all .2s;}\r\n.kas-form-cancel:hover{border-color:var(--dark);color:var(--dark);}\r\n \r\n\/* Spinner *\/\r\n.kas-spinner{width:16px;height:16px;border:2.5px solid rgba(255,255,255,0.35);border-top-color:#fff;border-radius:50%;animation:kspin .7s linear infinite;display:none;}\r\n.kas-spinner.show{display:block;}\r\n@keyframes kspin{to{transform:rotate(360deg)}}\r\n \r\n\/* Thank you screen *\/\r\n.kas-thankyou{display:none;text-align:center;padding:20px 10px 10px;}\r\n.kas-thankyou.show{display:block;}\r\n.kas-thankyou-icon{font-size:52px;margin-bottom:16px;}\r\n.kas-thankyou h3{font-size:22px;font-weight:800;color:var(--forest);margin-bottom:8px;}\r\n.kas-thankyou p{font-size:13px;color:var(--body);line-height:1.7;margin-bottom:6px;}\r\n.kas-thankyou-close{margin-top:20px;background:var(--gold);color:var(--white);border:none;font-family:var(--font);font-size:13px;font-weight:700;padding:12px 28px;border-radius:10px;cursor:pointer;transition:background .2s;}\r\n.kas-thankyou-close:hover{background:var(--forest);}\r\n \r\n\/* No results *\/\r\n.kas-no-results{grid-column:1\/-1;text-align:center;padding:60px 20px;color:#ccc;display:none;}\r\n.kas-no-results.show{display:block;}\r\n.kas-no-results p{font-size:14px;font-weight:500;margin-top:10px;}\r\n \r\n@media(max-width:600px){\r\n  .kas-main{grid-template-columns:1fr;padding:16px;}\r\n  .kas-filters{gap:8px;}\r\n  .kas-search{width:130px;}\r\n  .kas-form-grid{grid-template-columns:1fr;}\r\n  .kas-modal{padding:20px;}\r\n  .kas-cart-toggle{padding:12px 20px;font-size:12px;}\r\n}\r\n<\/style>\r\n<\/head>\r\n<body>\r\n \r\n<div class=\"kas-header\">\r\n  <div class=\"kas-header-eyebrow\">Kilimanjaro Adventure Store \u2014 Arusha, Tanzania<\/div>\r\n  <h1>Kilimanjaro <span>Gear Rental<\/span><\/h1>\r\n  <p>Professional equipment for your summit attempt. Every item is cleaned, inspected, and ready before your expedition.<\/p>\r\n  <div class=\"kas-header-meta\">\r\n    <span>Professionally maintained<\/span>\r\n    <span>Sanitized after every rental<\/span>\r\n    <span>44 items available<\/span>\r\n    <span>Arusha & Moshi pickup &amp; drop-off<\/span>\r\n  <\/div>\r\n<\/div>\r\n \r\n<div class=\"kas-filters\">\r\n  <span class=\"kas-filters-label\">Filter:<\/span>\r\n  <button class=\"kas-filter-btn active\" onclick=\"filterCatalog('all',this)\">All Items<\/button>\r\n  <button class=\"kas-filter-btn\" onclick=\"filterCatalog('head',this)\">Head &amp; Face<\/button>\r\n  <button class=\"kas-filter-btn\" onclick=\"filterCatalog('clothing',this)\">Clothing<\/button>\r\n  <button class=\"kas-filter-btn\" onclick=\"filterCatalog('footwear',this)\">Footwear<\/button>\r\n  <button class=\"kas-filter-btn\" onclick=\"filterCatalog('bags',this)\">Bags &amp; Packs<\/button>\r\n  <button class=\"kas-filter-btn\" onclick=\"filterCatalog('sleep',this)\">Sleep &amp; Camp<\/button>\r\n  <button class=\"kas-filter-btn\" onclick=\"filterCatalog('gear',this)\">Gear &amp; Tech<\/button>\r\n  <input type=\"text\" class=\"kas-search\" placeholder=\"Search items...\" oninput=\"searchCatalog(this.value)\"\/>\r\n<\/div>\r\n \r\n<div class=\"kas-main\" id=\"kasGrid\">\r\n  <div class=\"kas-no-results\" id=\"kasNoResults\">\r\n    <div style=\"font-size:36px;\">\ud83d\udd0d<\/div>\r\n    <p>No items match your search.<\/p>\r\n  <\/div>\r\n<\/div>\r\n \r\n<button class=\"kas-cart-toggle\" onclick=\"toggleCart()\" id=\"kasCartToggle\" style=\"display:none\">\r\n  \ud83c\udf92 Rental List <span class=\"kas-cart-badge\" id=\"kasCartBadge\">0<\/span>\r\n<\/button>\r\n \r\n<div class=\"kas-cart-overlay\" id=\"kasCartOverlay\" onclick=\"toggleCart()\"><\/div>\r\n \r\n<div class=\"kas-cart\" id=\"kasCart\">\r\n  <div class=\"kas-cart-header\">\r\n    <div>\r\n      <div class=\"kas-cart-title\">Your Rental List<\/div>\r\n      <div class=\"kas-cart-subtitle\">Review your selected gear<\/div>\r\n    <\/div>\r\n    <button class=\"kas-cart-close\" onclick=\"toggleCart()\">\u2715<\/button>\r\n  <\/div>\r\n  <div class=\"kas-cart-items\" id=\"kasCartItems\">\r\n    <div class=\"kas-cart-empty\">\r\n      <div class=\"kas-cart-empty-icon\">\ud83c\udf92<\/div>\r\n      <p>No items added yet.<br>Browse the catalog and add gear.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"kas-cart-summary\" id=\"kasCartSummary\" style=\"display:none\">\r\n    <div class=\"kas-cart-totals\">\r\n      <div class=\"kas-cart-total-row\"><span>Items selected<\/span><span id=\"kasTotalItems\">0<\/span><\/div>\r\n      <div class=\"kas-cart-total-row grand\"><span>Estimated Total<\/span><span id=\"kasTotalCost\">USD 0<\/span><\/div>\r\n    <\/div>\r\n    <button class=\"kas-checkout-btn\" onclick=\"openBookingForm()\">Proceed to Booking Request \u2192<\/button>\r\n    <button class=\"kas-clear-btn\" onclick=\"clearCart()\">Clear all items<\/button>\r\n  <\/div>\r\n<\/div>\r\n \r\n<!-- Booking Modal -->\r\n<div class=\"kas-modal-overlay\" id=\"kasModalOverlay\">\r\n  <div class=\"kas-modal\">\r\n \r\n    <!-- Form view -->\r\n    <div id=\"kasFormView\">\r\n      <div class=\"kas-modal-header\">\r\n        <h2>Rental Booking Request<\/h2>\r\n        <p>Fill in your details below. We will confirm availability and contact you within 24 hours.<\/p>\r\n      <\/div>\r\n      <div class=\"kas-modal-section\">\r\n        <div class=\"kas-modal-section-title\">Selected Gear<\/div>\r\n        <div id=\"kasModalItems\"><\/div>\r\n        <div class=\"kas-modal-total\"><span>Estimated Total<\/span><span id=\"kasModalTotal\">USD 0<\/span><\/div>\r\n      <\/div>\r\n      <div class=\"kas-form-grid\">\r\n        <div class=\"kas-form-group\"><label>Full Name *<\/label><input type=\"text\" id=\"kasName\" required placeholder=\"Your full name\"><\/div>\r\n        <div class=\"kas-form-group\"><label>Email Address *<\/label><input type=\"email\" id=\"kasEmail\" required placeholder=\"your@email.com\"><\/div>\r\n        <div class=\"kas-form-group\"><label>Phone \/ WhatsApp *<\/label><input type=\"tel\" id=\"kasPhone\" required placeholder=\"+1 000 000 0000\"><\/div>\r\n        <div class=\"kas-form-group\"><label>Expedition Start Date *<\/label><input type=\"date\" id=\"kasDate\" required><\/div>\r\n        <div class=\"kas-form-group full\"><label>Additional Notes \/ Requests<\/label><textarea id=\"kasNotes\" placeholder=\"Shoe sizes, jacket sizes, special requirements, pickup preferences...\"><\/textarea><\/div>\r\n      <\/div>\r\n      <div class=\"kas-form-actions\">\r\n        <button type=\"button\" class=\"kas-form-cancel\" onclick=\"closeBookingForm()\">Back<\/button>\r\n        <button type=\"button\" class=\"kas-form-submit\" id=\"kasSubmitBtn\" onclick=\"submitBooking()\">\r\n          Send Booking Request \u2192\r\n          <div class=\"kas-spinner\" id=\"kasSpinner\"><\/div>\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>\r\n \r\n    <!-- Thank you view -->\r\n    <div class=\"kas-thankyou\" id=\"kasThankyou\">\r\n      <div class=\"kas-thankyou-icon\">\ud83c\udf89<\/div>\r\n      <h3>Booking Request Sent!<\/h3>\r\n      <p>Thank you! Your rental request has been sent directly to the Kilimanjaro Adventure Store team.<\/p>\r\n      <p>We will review your gear list and contact you within <strong>24 hours<\/strong> to confirm availability and next steps.<\/p>\r\n      <p style=\"margin-top:12px;font-size:12px;\">Questions? WhatsApp us at <strong>+255 714 461 148<\/strong><\/p>\r\n      <button class=\"kas-thankyou-close\" onclick=\"closeAfterSuccess()\">Back to Catalog<\/button>\r\n    <\/div>\r\n \r\n  <\/div>\r\n<\/div>\r\n \r\n<script>\r\nconst PRODUCTS = [\r\n  {id:'UHO-KILI-001',name:'Sun Hat',price:5,unit:'per trip',cat:'head',nonRet:false,por:false},\r\n  {id:'UHO-KILI-002',name:'Warm Hat',price:5,unit:'per trip',cat:'head',nonRet:false,por:false},\r\n  {id:'UHO-KILI-003',name:'Warm Balaclava',price:5,unit:'per trip',cat:'head',nonRet:false,por:false},\r\n  {id:'UHO-KILI-004',name:'Neck Warmer',price:5,unit:'per trip',cat:'head',nonRet:false,por:false},\r\n  {id:'UHO-KILI-005',name:'Scarf',price:5,unit:'per trip',cat:'head',nonRet:false,por:false},\r\n  {id:'UHO-KILI-006',name:'Glove Liners',price:5,unit:'per trip',cat:'head',nonRet:false,por:false},\r\n  {id:'UHO-KILI-007',name:'Warm Mitts or Gloves',price:5,unit:'per trip',cat:'head',nonRet:false,por:false},\r\n  {id:'UHO-KILI-034',name:'Sunglasses',price:10,unit:'per trip',cat:'head',nonRet:false,por:false},\r\n  {id:'UHO-KILI-035',name:'Ski Goggles',price:15,unit:'per trip',cat:'head',nonRet:false,por:false},\r\n  {id:'UHO-KILI-009',name:'Walking Trousers',price:15,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-010',name:'Thermal Bottoms',price:15,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-011',name:'Fleece Trousers',price:15,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-019',name:'Rain Trousers',price:15,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-021',name:'Ski Trousers',price:20,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-012',name:'Walking T-Shirt',price:8,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-013',name:'Hiking Shirt (Long Sleeves)',price:8,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-014',name:'Thermal Top',price:10,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-015',name:'Fleece Jacket',price:25,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-016',name:'Down Jacket',price:25,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-017',name:'Poncho',price:25,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-018',name:'Rain Jacket',price:25,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-020',name:'Ski Jacket',price:30,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-008',name:'Gaiters',price:10,unit:'per trip',cat:'clothing',nonRet:false,por:false},\r\n  {id:'UHO-KILI-042',name:'Hiking Boots',price:25,unit:'per trip',cat:'footwear',nonRet:false,por:false},\r\n  {id:'UHO-KILI-043',name:'Hiking Shoes',price:20,unit:'per trip',cat:'footwear',nonRet:false,por:false},\r\n  {id:'UHO-KILI-044',name:'Trekking Socks',price:5,unit:'per pair',cat:'footwear',nonRet:true,por:false},\r\n  {id:'UHO-KILI-022',name:'Day Pack',price:35,unit:'per trip',cat:'bags',nonRet:false,por:false},\r\n  {id:'UHO-KILI-027',name:'Duffel Bag',price:35,unit:'per trip',cat:'bags',nonRet:false,por:false},\r\n  {id:'UHO-KILI-023',name:'Rucksack Cover \/ Rain Cover',price:5,unit:'per trip',cat:'bags',nonRet:false,por:false},\r\n  {id:'UHO-KILI-024',name:'Camelbak \/ Water Hydration System',price:10,unit:'per trip',cat:'bags',nonRet:false,por:false},\r\n  {id:'UHO-KILI-025',name:'Water Bottle (1L)',price:5,unit:'per trip',cat:'bags',nonRet:false,por:false},\r\n  {id:'UHO-KILI-026',name:'Water Bottle Cover',price:5,unit:'per trip',cat:'bags',nonRet:false,por:false},\r\n  {id:'UHO-KILI-028',name:'Plastic Bin Liner',price:1,unit:'each',cat:'bags',nonRet:true,por:false},\r\n  {id:'UHO-KILI-045',name:'Sleeping Bag',price:40,unit:'per trip',cat:'sleep',nonRet:false,por:false},\r\n  {id:'UHO-KILI-038',name:'Sleeping Bag Liner',price:10,unit:'per trip',cat:'sleep',nonRet:false,por:false},\r\n  {id:'UHO-KILI-039',name:'Foam Mattress',price:10,unit:'per trip',cat:'sleep',nonRet:false,por:false},\r\n  {id:'UHO-KILI-040',name:'Thermarest',price:15,unit:'per trip',cat:'sleep',nonRet:false,por:false},\r\n  {id:'UHO-KILI-041',name:'Pillow',price:10,unit:'per trip',cat:'sleep',nonRet:false,por:false},\r\n  {id:'UHO-KILI-030',name:'Walking \/ Hiking Poles (Pair)',price:10,unit:'per trip',cat:'gear',nonRet:false,por:false},\r\n  {id:'UHO-KILI-031',name:'Head Lamp',price:10,unit:'per trip',cat:'gear',nonRet:false,por:false},\r\n  {id:'UHO-KILI-032',name:'Batteries',price:7,unit:'per pack',cat:'gear',nonRet:true,por:false},\r\n  {id:'UHO-KILI-033',name:'Binoculars',price:30,unit:'per trip',cat:'gear',nonRet:false,por:false},\r\n  {id:'UHO-KILI-036',name:'Oxygen Cylinder',price:100,unit:'per trip',cat:'gear',nonRet:false,por:false},\r\n  {id:'UHO-KILI-037',name:'Oxygen Saturation Meter',price:30,unit:'per trip',cat:'gear',nonRet:false,por:false},\r\n  {id:'UHO-KILI-029',name:'Hand Warmers',price:10,unit:'non-returnable',cat:'gear',nonRet:true,por:false},\r\n  {id:'UHO-KILI-POR',name:'Other \/ Custom Gear Request',price:0,unit:'price on request',cat:'gear',nonRet:false,por:true},\r\n];\r\n \r\nconst SPECS=['Adventure: Kilimanjaro Trekking','Category: Trekking Gear','Condition: Professionally maintained','Inspection: Checked before every rental','Cleaning: Sanitized after each return','Suitable For: Multi-day mountain expeditions'];\r\nlet cart={},activeFilter='all',searchQuery='';\r\nconst CAT_MAP={head:['head'],clothing:['clothing'],footwear:['footwear'],bags:['bags'],sleep:['sleep'],gear:['gear'],all:['head','clothing','footwear','bags','sleep','gear']};\r\n \r\nfunction buildGrid(){\r\n  const grid=document.getElementById('kasGrid');\r\n  const nr=document.getElementById('kasNoResults');\r\n  grid.innerHTML='';grid.appendChild(nr);\r\n  PRODUCTS.forEach(p=>{\r\n    const card=document.createElement('div');\r\n    card.className='kas-card';\r\n    card.dataset.id=p.id;card.dataset.cat=p.cat;card.dataset.name=p.name.toLowerCase();\r\n    let bc='kas-badge',bt='Rental';\r\n    if(p.nonRet){bc='kas-badge non-ret';bt='Non-Returnable';}\r\n    if(p.por){bc='kas-badge por';bt='Price on Request';}\r\n    const specs=SPECS.map(s=>`<li>${s}<\/li>`).join('');\r\n    const priceHtml=p.por\r\n      ?`<div class=\"kas-price\" style=\"font-size:14px;color:var(--body)\">Price on Request<\/div>`\r\n      :`<div class=\"kas-price\">USD ${p.price}<span class=\"kas-price-unit\">${p.unit}<\/span><\/div>`;\r\n    const ctrlHtml=p.por\r\n      ?`<button class=\"kas-add-btn\" onclick=\"addPOR()\">Enquire \u2192<\/button>`\r\n      :`<div class=\"kas-card-controls\">\r\n          <div class=\"kas-qty\">\r\n            <button class=\"kas-qty-btn\" onclick=\"changeQty('${p.id}',-1,event)\">\u2212<\/button>\r\n            <input class=\"kas-qty-num\" id=\"qty-${p.id}\" type=\"number\" value=\"1\" min=\"1\" max=\"20\" readonly>\r\n            <button class=\"kas-qty-btn\" onclick=\"changeQty('${p.id}',1,event)\">+<\/button>\r\n          <\/div>\r\n          <button class=\"kas-add-btn\" id=\"btn-${p.id}\" onclick=\"addToCart('${p.id}')\">Add<\/button>\r\n        <\/div>`;\r\n    card.innerHTML=`\r\n      <div class=\"kas-card-top\"><div><span class=\"${bc}\">${bt}<\/span><div class=\"kas-id\">${p.id}<\/div><\/div><\/div>\r\n      <div class=\"kas-card-name\">${p.name}<\/div>\r\n      <div class=\"kas-card-desc\">Professional rental equipment for Kilimanjaro expeditions \u2014 cleaned and inspected before every trip.<\/div>\r\n      <details class=\"kas-card-specs\"><summary>Specifications<\/summary><ul>${specs}<\/ul><\/details>\r\n      <div class=\"kas-card-footer\">${priceHtml}${ctrlHtml}<\/div>`;\r\n    grid.appendChild(card);\r\n  });\r\n  applyFilters();\r\n}\r\n \r\nfunction addPOR(){\r\n  document.getElementById('kasFormView').style.display='block';\r\n  document.getElementById('kasThankyou').classList.remove('show');\r\n  document.getElementById('kasModalItems').innerHTML=`<div class=\"kas-modal-item-row\"><span>Custom \/ Other Gear Request<\/span><span>TBD<\/span><\/div>`;\r\n  document.getElementById('kasModalTotal').textContent='Price on Request';\r\n  document.getElementById('kasModalOverlay').classList.add('open');\r\n}\r\n \r\nfunction changeQty(id,delta,e){\r\n  e.stopPropagation();\r\n  const input=document.getElementById('qty-'+id);\r\n  let v=parseInt(input.value)+delta;\r\n  if(v<1)v=1;if(v>20)v=20;\r\n  input.value=v;\r\n  if(cart[id]){cart[id]=v;updateCart();}\r\n}\r\n \r\nfunction addToCart(id){\r\n  const qty=parseInt(document.getElementById('qty-'+id).value);\r\n  cart[id]=qty;\r\n  const btn=document.getElementById('btn-'+id);\r\n  btn.textContent='Added \u2713';btn.classList.add('added');\r\n  document.querySelector(`[data-id=\"${id}\"]`).classList.add('in-cart');\r\n  updateCart();\r\n}\r\n \r\nfunction updateCart(){\r\n  const itemsDiv=document.getElementById('kasCartItems');\r\n  const summaryDiv=document.getElementById('kasCartSummary');\r\n  const badge=document.getElementById('kasCartBadge');\r\n  const toggle=document.getElementById('kasCartToggle');\r\n  const ids=Object.keys(cart).filter(k=>cart[k]>0);\r\n  if(!ids.length){\r\n    toggle.style.display='none';\r\n    itemsDiv.innerHTML=`<div class=\"kas-cart-empty\"><div class=\"kas-cart-empty-icon\">\ud83c\udf92<\/div><p>No items added yet.<br>Browse the catalog and add gear.<\/p><\/div>`;\r\n    summaryDiv.style.display='none';return;\r\n  }\r\n  toggle.style.display='flex';badge.textContent=ids.length;summaryDiv.style.display='block';\r\n  let total=0,items=0,html='';\r\n  ids.forEach(id=>{\r\n    const p=PRODUCTS.find(x=>x.id===id);if(!p)return;\r\n    const q=cart[id],lt=p.price*q;total+=lt;items+=q;\r\n    html+=`<div class=\"kas-cart-item\">\r\n      <button class=\"kas-cart-remove\" onclick=\"removeFromCart('${id}')\">\u2715<\/button>\r\n      <div class=\"kas-cart-item-info\"><div class=\"kas-cart-item-name\">${p.name}<\/div><div class=\"kas-cart-item-id\">${p.id}<\/div><\/div>\r\n      <div class=\"kas-cart-item-right\">\r\n        <div class=\"kas-cart-item-price\">USD ${lt}<\/div>\r\n        <div class=\"kas-cart-item-qty\">\r\n          <button class=\"kas-cart-qty-btn\" onclick=\"cartQty('${id}',-1)\">\u2212<\/button>\r\n          <span class=\"kas-cart-item-count\">${q}<\/span>\r\n          <button class=\"kas-cart-qty-btn\" onclick=\"cartQty('${id}',1)\">+<\/button>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>`;\r\n  });\r\n  itemsDiv.innerHTML=html;\r\n  document.getElementById('kasTotalItems').textContent=items+' item'+(items!==1?'s':'');\r\n  document.getElementById('kasTotalCost').textContent='USD '+total;\r\n}\r\n \r\nfunction cartQty(id,delta){\r\n  cart[id]=Math.max(1,Math.min(20,(cart[id]||1)+delta));\r\n  const inp=document.getElementById('qty-'+id);\r\n  if(inp)inp.value=cart[id];\r\n  updateCart();\r\n}\r\n \r\nfunction removeFromCart(id){\r\n  delete cart[id];\r\n  const btn=document.getElementById('btn-'+id);\r\n  if(btn){btn.textContent='Add';btn.classList.remove('added');}\r\n  const card=document.querySelector(`[data-id=\"${id}\"]`);\r\n  if(card)card.classList.remove('in-cart');\r\n  updateCart();\r\n}\r\n \r\nfunction clearCart(){\r\n  Object.keys(cart).forEach(id=>removeFromCart(id));\r\n  cart={};updateCart();\r\n}\r\n \r\nfunction toggleCart(){\r\n  document.getElementById('kasCart').classList.toggle('open');\r\n  document.getElementById('kasCartOverlay').classList.toggle('open');\r\n}\r\n \r\nfunction filterCatalog(cat,btn){\r\n  activeFilter=cat;\r\n  document.querySelectorAll('.kas-filter-btn').forEach(b=>b.classList.remove('active'));\r\n  btn.classList.add('active');applyFilters();\r\n}\r\n \r\nfunction searchCatalog(q){searchQuery=q.toLowerCase();applyFilters();}\r\n \r\nfunction applyFilters(){\r\n  const cats=CAT_MAP[activeFilter]||['all'];let visible=0;\r\n  document.querySelectorAll('.kas-card').forEach(card=>{\r\n    const cm=activeFilter==='all'||cats.includes(card.dataset.cat);\r\n    const sm=!searchQuery||card.dataset.name.includes(searchQuery);\r\n    if(cm&&sm){card.classList.remove('hidden');visible++;}\r\n    else card.classList.add('hidden');\r\n  });\r\n  document.getElementById('kasNoResults').classList.toggle('show',visible===0);\r\n}\r\n \r\nfunction openBookingForm(){\r\n  const ids=Object.keys(cart).filter(k=>cart[k]>0);\r\n  let total=0,html='';\r\n  ids.forEach(id=>{\r\n    const p=PRODUCTS.find(x=>x.id===id);if(!p)return;\r\n    const q=cart[id],lt=p.price*q;total+=lt;\r\n    html+=`<div class=\"kas-modal-item-row\"><span>${p.name} \u00d7 ${q}<\/span><span>USD ${lt}<\/span><\/div>`;\r\n  });\r\n  document.getElementById('kasModalItems').innerHTML=html;\r\n  document.getElementById('kasModalTotal').textContent='USD '+total;\r\n  document.getElementById('kasFormView').style.display='block';\r\n  document.getElementById('kasThankyou').classList.remove('show');\r\n  document.getElementById('kasCart').classList.remove('open');\r\n  document.getElementById('kasCartOverlay').classList.remove('open');\r\n  document.getElementById('kasModalOverlay').classList.add('open');\r\n}\r\n \r\nfunction closeBookingForm(){document.getElementById('kasModalOverlay').classList.remove('open');}\r\n \r\n\/\/ \u2500\u2500 Submit via FormSubmit AJAX \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\nasync function submitBooking(){\r\n  const name=document.getElementById('kasName').value.trim();\r\n  const email=document.getElementById('kasEmail').value.trim();\r\n  const phone=document.getElementById('kasPhone').value.trim();\r\n  const date=document.getElementById('kasDate').value;\r\n  const notes=document.getElementById('kasNotes').value.trim();\r\n \r\n  if(!name||!email||!phone||!date){\r\n    alert('Please fill in all required fields.');return;\r\n  }\r\n \r\n  const ids=Object.keys(cart).filter(k=>cart[k]>0);\r\n  let totalCost=0;\r\n  const gearLines=ids.map(id=>{\r\n    const p=PRODUCTS.find(x=>x.id===id);if(!p)return '';\r\n    const q=cart[id],lt=p.price*q;totalCost+=lt;\r\n    return `${p.id} | ${p.name} x${q} = USD ${lt}`;\r\n  }).filter(Boolean).join('\\n');\r\n \r\n  \/\/ Build readable message\r\n  const message=`GEAR RENTAL BOOKING REQUEST\r\n===========================\r\n \r\nName: ${name}\r\nEmail: ${email}\r\nPhone \/ WhatsApp: ${phone}\r\nExpedition Start Date: ${date}\r\n \r\nSELECTED GEAR:\r\n--------------\r\n${gearLines||'Custom \/ Price on Request'}\r\n \r\nESTIMATED TOTAL: USD ${totalCost}\r\n \r\nNOTES:\r\n${notes||'None'}\r\n \r\n---\r\nSent via Kilimanjaro Adventure Store Gear Catalog`;\r\n \r\n  \/\/ Show spinner\r\n  const btn=document.getElementById('kasSubmitBtn');\r\n  const spinner=document.getElementById('kasSpinner');\r\n  btn.disabled=true;\r\n  spinner.classList.add('show');\r\n  btn.childNodes[0].textContent='Sending... ';\r\n \r\n  try{\r\n    const formData=new FormData();\r\n    formData.append('name',name);\r\n    formData.append('email',email);\r\n    formData.append('phone',phone);\r\n    formData.append('expedition_date',date);\r\n    formData.append('gear_list',gearLines||'Custom \/ Price on Request');\r\n    formData.append('estimated_total','USD '+totalCost);\r\n    formData.append('notes',notes||'None');\r\n    formData.append('message',message);\r\n    formData.append('_subject',`Kilimanjaro Gear Rental Request \u2014 ${name}`);\r\n    formData.append('_captcha','false');\r\n    formData.append('_template','table');\r\n \r\n    const res=await fetch('https:\/\/formsubmit.co\/gears@bantuporijourneys.com',{\r\n      method:'POST',\r\n      headers:{'Accept':'application\/json'},\r\n      body:formData\r\n    });\r\n \r\n    if(res.ok){\r\n      \/\/ Show thank you, hide form\r\n      document.getElementById('kasFormView').style.display='none';\r\n      document.getElementById('kasThankyou').classList.add('show');\r\n    } else {\r\n      throw new Error('Server error');\r\n    }\r\n  } catch(err){\r\n    alert('There was a problem sending your request. Please try again or WhatsApp us at +255 714 461 148.');\r\n    btn.disabled=false;\r\n    spinner.classList.remove('show');\r\n    btn.childNodes[0].textContent='Send Booking Request \u2192 ';\r\n  }\r\n}\r\n \r\nfunction closeAfterSuccess(){\r\n  \/\/ Clear cart\r\n  clearCart();\r\n  \/\/ Reset form\r\n  document.getElementById('kasName').value='';\r\n  document.getElementById('kasEmail').value='';\r\n  document.getElementById('kasPhone').value='';\r\n  document.getElementById('kasDate').value='';\r\n  document.getElementById('kasNotes').value='';\r\n  \/\/ Reset submit button\r\n  const btn=document.getElementById('kasSubmitBtn');\r\n  btn.disabled=false;\r\n  document.getElementById('kasSpinner').classList.remove('show');\r\n  btn.childNodes[0].textContent='Send Booking Request \u2192 ';\r\n  \/\/ Hide thank you & modal\r\n  document.getElementById('kasThankyou').classList.remove('show');\r\n  document.getElementById('kasFormView').style.display='block';\r\n  document.getElementById('kasModalOverlay').classList.remove('open');\r\n}\r\n \r\n\/\/ Adjust cart top for WP admin bar\r\n(function(){\r\n  const bar=document.getElementById('wpadminbar');\r\n  if(bar){document.getElementById('kasCart').style.top=bar.offsetHeight+'px';}\r\n})();\r\n \r\ndocument.getElementById('kasModalOverlay').addEventListener('click',function(e){\r\n  if(e.target===this)closeBookingForm();\r\n});\r\n \r\nbuildGrid();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Kilimanjaro Gear Rental Store in Moshi &amp; Arusha Kilimanjaro Gear Rental Made Simple Don&#039;t buy expensive trekking equipment for a single adventure. Rent the essential gear you need for your Kilimanjaro climb and travel lighter with quality equipment prepared for the mountain. You can still rent trekking equipment from our store even if your climb [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1298,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"tpgb_global_settings":"","_angie_page":false,"footnotes":""},"class_list":["post-1345","page","type-page","status-publish","has-post-thumbnail","hentry"],"tpgb_featured_images":{"full":["https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/Kilimanjaro-Gear-Rental-Store-Trekking-Gear-in-Tanzania.png?fit=1536%2C1024&ssl=1",1536,1024,false],"tp-image-grid":["https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/Kilimanjaro-Gear-Rental-Store-Trekking-Gear-in-Tanzania.png?resize=700%2C700&ssl=1",700,700,true],"thumbnail":["https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/Kilimanjaro-Gear-Rental-Store-Trekking-Gear-in-Tanzania.png?resize=150%2C150&ssl=1",150,150,true],"medium":["https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/Kilimanjaro-Gear-Rental-Store-Trekking-Gear-in-Tanzania.png?fit=300%2C200&ssl=1",300,200,true],"medium_large":["https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/Kilimanjaro-Gear-Rental-Store-Trekking-Gear-in-Tanzania.png?fit=768%2C512&ssl=1",768,512,true],"large":["https:\/\/i0.wp.com\/bantuporijourneys.com\/blog\/wp-content\/uploads\/2026\/07\/Kilimanjaro-Gear-Rental-Store-Trekking-Gear-in-Tanzania.png?fit=800%2C534&ssl=1",800,534,true],"default":"https:\/\/bantuporijourneys.com\/blog\/wp-content\/plugins\/the-plus-addons-for-block-editor\/assets\/images\/tpgb-placeholder.jpg"},"tpgb_post_meta_info":{"get_date":"July 21, 2026","get_modified_date":"July 21, 2026","author_name":"Bantu Pori Journeys","author_url":"https:\/\/bantuporijourneys.com\/blog\/author\/bantu\/","author_email":"bookings@bantuporijourneys.com","author_website":"https:\/\/bantuporijourneys.com\/blog","author_description":"At Bantu Pori Journeys, we have compiled a comprehensive list of popular Tanzanian safari and tour routes. Most of our safaris are tailor-made and can be booked as they are or used as a guideline to create your own customized safari adventure.","author_facebook":"","author_twitter":"","author_instagram":"","author_role":["administrator"],"author_firstname":"Editors","author_lastname":"Bantu Pori Journeys","user_login":"bantu","author_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/dba17503491c49ee20d9e404509e34035632b0a9f49d6593d641e1b72de98a1e?s=200&#038;d=mm&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/dba17503491c49ee20d9e404509e34035632b0a9f49d6593d641e1b72de98a1e?s=400&#038;d=mm&#038;r=g 2x' class='avatar avatar-200 photo' height='200' width='200' decoding='async'\/>","author_avatar_url":"https:\/\/secure.gravatar.com\/avatar\/dba17503491c49ee20d9e404509e34035632b0a9f49d6593d641e1b72de98a1e?s=96&d=mm&r=g","comment_count":0,"post_likes":0,"post_views":0},"tpgb_post_category":[],"_links":{"self":[{"href":"https:\/\/bantuporijourneys.com\/blog\/wp-json\/wp\/v2\/pages\/1345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bantuporijourneys.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bantuporijourneys.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bantuporijourneys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bantuporijourneys.com\/blog\/wp-json\/wp\/v2\/comments?post=1345"}],"version-history":[{"count":61,"href":"https:\/\/bantuporijourneys.com\/blog\/wp-json\/wp\/v2\/pages\/1345\/revisions"}],"predecessor-version":[{"id":1679,"href":"https:\/\/bantuporijourneys.com\/blog\/wp-json\/wp\/v2\/pages\/1345\/revisions\/1679"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bantuporijourneys.com\/blog\/wp-json\/wp\/v2\/media\/1298"}],"wp:attachment":[{"href":"https:\/\/bantuporijourneys.com\/blog\/wp-json\/wp\/v2\/media?parent=1345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}