{"title":"Golf Shoe Bags","description":"","products":[{"product_id":"premium-golf-shoe-bag-vented-leather-shoe-storage","title":"Premium Golf Shoe Bag – Vented Leather Shoe Storage","description":"\u003cstyle\u003e\n\/* =========================\n   AF APPLE-STYLE DARK MODE — SHOE BAG PDP (FINAL VISUALS)\n   LOCKED OPTION A PALETTE\n   ========================= *\/\n:root {\n  \/* Locked Palette *\/\n  --af-graphite: #0B0D0B;\n  --af-tech: #9FB8A0;\n  --af-olive: #1A2517;\n  --af-signal: #22C55E;\n\n  \/* Functional Mappings *\/\n  --bg-color: var(--af-graphite);\n  --card-bg: #0B0D0B;\n  --text-main: #f5f5f7;\n  --text-muted: #A3A3A8;\n  \n  \/* Borders \u0026 Shadows *\/\n  --border: rgba(159, 184, 160, 0.2); \n  --border-soft: rgba(159, 184, 160, 0.1);\n  --shadow: 0 20px 40px rgba(0,0,0,0.6);\n  --glow: 0 0 20px rgba(159, 184, 160, 0.15);\n}\n\n.af-luxury-page {\n  background: var(--bg-color);\n  color: var(--text-main);\n  padding: 60px 20px;\n  font-family: -apple-system, BlinkMacSystemFont, \"SF Pro Text\", \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n  line-height: 1.6;\n  -webkit-font-smoothing: antialiased;\n}\n.af-luxury-page * { box-sizing: border-box; }\n.af-container { max-width: 1000px; margin: 0 auto; }\n\n\/* HEADER \u0026 TYPOGRAPHY *\/\n.af-eyebrow {\n  color: var(--af-tech);\n  letter-spacing: .1em;\n  text-transform: uppercase;\n  font-weight: 800;\n  font-size: .75rem;\n  margin: 0 0 16px;\n  text-align: center;\n}\n.af-hero {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin-bottom: 32px;\n}\n.af-hero h1 {\n  margin: 0 0 14px;\n  font-weight: 800;\n  line-height: 1.05;\n  font-size: clamp(2.5rem, 5vw, 4rem);\n  letter-spacing: -0.02em;\n  background: linear-gradient(180deg, #fff, #a1a1aa);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  text-align: center;\n}\n.af-lead {\n  font-size: 1.3rem;\n  color: #fff;\n  font-weight: 750;\n  text-align: center;\n  margin: 12px 0 10px;\n}\n.af-lede {\n  margin: 0 auto 0;\n  max-width: 760px;\n  color: var(--text-muted);\n  font-size: 1.1rem;\n  text-align: center;\n  line-height: 1.6;\n}\n\n\/* CARDS *\/\n.af-card {\n  background: rgba(255,255,255,0.02);\n  border-radius: 24px;\n  padding: 32px;\n  margin: 24px 0;\n  border: 1px solid var(--border);\n  box-shadow: var(--shadow);\n}\n.af-card--tech {\n  background: linear-gradient(180deg, rgba(159,184,160,0.05), var(--af-graphite));\n  border: 1px solid rgba(159,184,160,0.25);\n}\n.af-card--glow {\n  box-shadow: var(--glow);\n  border-color: rgba(159,184,160,0.4);\n}\n.af-h2 {\n  margin: 0 0 12px;\n  font-size: 1.8rem;\n  line-height: 1.2;\n  font-weight: 800;\n  color: #fff;\n  letter-spacing: -0.01em;\n}\n.af-muted {\n  color: var(--text-muted);\n  font-size: 1.05rem;\n  margin: 0 0 1rem;\n}\n\n\/* VALUE SNAPSHOT MODULE *\/\n.af-pill-module {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 12px;\n  margin: 32px 0;\n}\n.af-pill {\n  background: rgba(255,255,255,0.05);\n  border: 1px solid var(--border);\n  color: #fff;\n  padding: 10px 20px;\n  border-radius: 999px;\n  font-size: 0.95rem;\n  font-weight: 600;\n  box-shadow: 0 4px 12px rgba(0,0,0,0.2);\n  display: flex;\n  align-items: center;\n  gap: 8px;\n}\n.af-pill::before {\n  content: \"•\";\n  color: var(--af-tech);\n  font-size: 1.2rem;\n  line-height: 0;\n}\n\n\/* IMAGE WRAPPERS *\/\n.af-img-wrap {\n  margin: 0 0 24px 0;\n  border-radius: 20px;\n  overflow: hidden;\n  border: 1px solid var(--border-soft);\n  background: #000;\n  position: relative;\n}\n.af-img { display: block; width: 100%; height: auto; }\n.af-caption {\n  font-size: 0.85rem;\n  color: var(--af-tech);\n  text-align: center;\n  margin-top: 8px;\n  display: block;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n}\n\n\/* BUTTONS *\/\n.af-btn-wrap {\n  display: flex;\n  justify-content: center;\n  flex-wrap: wrap;\n  gap: 12px;\n  margin-top: 20px;\n  align-items: center;\n}\n.af-btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  padding: 16px 32px;\n  border-radius: 999px;\n  font-weight: 750;\n  text-decoration: none;\n  font-size: 1.05rem;\n  transition: all .2s ease;\n  border: 0;\n  cursor: pointer;\n  min-height: 52px;\n}\n.af-btn-primary {\n  background: var(--af-signal);\n  color: #000;\n  border: 1px solid var(--af-signal);\n  font-weight: 900;\n  box-shadow: 0 4px 15px rgba(34, 197, 94, 0.4);\n}\n.af-btn-primary:hover { filter: brightness(1.1); transform: translateY(-2px); }\n.af-btn-secondary {\n  background: rgba(255,255,255,0.03);\n  color: #fff;\n  border: 1px solid rgba(255,255,255,0.15);\n  font-size: 1rem;\n}\n.af-btn-secondary:hover { background: rgba(255,255,255,0.08); border-color: #fff; }\n\n\/* INTERACTION MODULE *\/\n.af-hero-interaction {\n  background: rgba(255,255,255,0.03);\n  border: 1px solid var(--af-tech);\n  border-radius: 28px;\n  padding: 24px;\n  margin: 0 auto;\n  max-width: 580px;\n  width: 100%;\n  backdrop-filter: blur(10px);\n  text-align: center;\n  box-shadow: 0 20px 50px rgba(0,0,0,0.5);\n}\n.af-interaction-label {\n  font-size: .85rem;\n  text-transform: uppercase;\n  letter-spacing: .08em;\n  color: var(--af-tech);\n  margin-bottom: 12px;\n  font-weight: 800;\n  display: block;\n}\n.af-variant-wrap {\n  display: flex;\n  justify-content: center;\n  gap: 12px;\n  margin-bottom: 16px;\n}\n.af-variant-btn {\n  background: rgba(255,255,255,0.05);\n  border: 1px solid rgba(255,255,255,0.2);\n  color: #fff;\n  padding: 12px 24px;\n  border-radius: 12px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n.af-variant-btn:hover { background: rgba(255,255,255,0.1); }\n.af-variant-btn[aria-pressed=\"true\"] {\n  border-color: var(--af-signal);\n  background: rgba(34, 197, 94, 0.1);\n  color: var(--af-signal);\n  box-shadow: 0 0 15px rgba(34, 197, 94, 0.15);\n}\n\n.af-nudge {\n  text-align: center;\n  margin-top: 12px;\n  color: var(--text-muted);\n  font-size: .95rem;\n}\n\n\/* EXEC SUMMARY (HIGHLIGHTED) *\/\n.af-exec-summary {\n  background: rgba(34, 197, 94, 0.08); \/* Slight green tint *\/\n  border: 1px solid #22C55E; \/* Signal green border *\/\n  border-radius: 24px;\n  padding: 28px;\n  margin-bottom: 28px;\n  margin-top: 10px;\n  box-shadow: 0 0 20px rgba(34, 197, 94, 0.1); \/* Glow *\/\n}\n.af-exec-summary__hdr {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  margin-bottom: 16px;\n  flex-wrap: wrap;\n}\n.af-exec-summary__label {\n  font-size: 0.75rem;\n  letter-spacing: 0.1em;\n  text-transform: uppercase;\n  color: #000;\n  font-weight: 800;\n  background: #22C55E; \/* Solid signal green *\/\n  padding: 4px 10px;\n  border-radius: 6px;\n}\n.af-exec-summary__note {\n  font-size: 1.1rem;\n  color: #fff;\n  font-weight: 700;\n}\n.af-exec-summary p {\n  margin: 0;\n  color: #f3f4f6; \/* Brighter text *\/\n  font-size: 1.05rem;\n  line-height: 1.6;\n}\n.af-verdict-text {\n  display: block;\n  margin-top: 16px;\n  padding-top: 16px;\n  border-top: 1px solid rgba(34, 197, 94, 0.3);\n  font-weight: 700;\n  color: #fff;\n  font-size: 1.1rem;\n}\n.af-verdict-text strong { color: #22C55E; }\n\n\/* TOC *\/\n.af-toc {\n  display: flex;\n  justify-content: center;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-bottom: 24px;\n}\n.af-toc a { text-decoration: none; font-size: 0.9rem; padding: 8px 16px; min-height: auto; }\n\n\/* STEPS \u0026 LISTS *\/\n.af-steps, .af-list {\n  margin: 0;\n  padding-left: 1.2rem;\n  color: var(--text-muted);\n}\n.af-steps li, .af-list li {\n  margin: 0.8rem 0;\n  font-size: 1.05rem;\n}\n.af-steps li strong, .af-list li strong { color: #fff; font-weight: 700; }\n\n\/* DRAWERS \u0026 FAQ *\/\n.af-drawer, .af-faq {\n  border-top: 1px solid var(--border);\n  padding: 16px 0;\n  margin-top: 16px;\n}\n.af-drawer summary, .af-faq summary {\n  cursor: pointer;\n  font-weight: 700;\n  color: #fff;\n  font-size: 1.05rem;\n  list-style: none;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 4px 0;\n}\n.af-drawer summary::-webkit-details-marker { display: none; }\n.af-drawer summary::after, .af-faq summary::after { content: \"+\"; font-weight: 400; color: var(--text-muted); font-size: 1.5rem; }\n.af-drawer[open] summary::after, .af-faq[open] summary::after { content: \"−\"; }\n.af-drawer .af-drawer-body, .af-faq div { margin-top: 12px; color: var(--text-muted); line-height: 1.6; }\n\n\/* GRID *\/\n.af-grid-2 { display: grid; grid-template-columns: 1fr; gap: 24px; }\n@media (min-width: 768px) {\n  .af-grid-2 { grid-template-columns: 1fr 1fr; }\n}\n@media (max-width: 767px) {\n  .af-luxury-page { padding: 40px 16px; }\n  .af-card { padding: 24px; }\n  .af-btn { width: 100%; }\n}\n\n\/* STANDARDS *\/\n.af-standards-citation {\n  margin: 40px 0 0 0;\n  padding: 24px;\n  background: var(--af-olive);\n  border: 1px solid rgba(159,184,160,0.3);\n  border-radius: 20px;\n}\n\u003c\/style\u003e\n\u003cdiv data-af-shoe-bag=\"\" data-af-handle=\"premium-golf-shoe-bag\" class=\"af-luxury-page\"\u003e\n\u003cdiv class=\"af-container\"\u003e\n\u003cheader class=\"af-hero\"\u003e\n\u003cp class=\"af-eyebrow\"\u003eOn-Course Organization System™ • Shoe Bag\u003c\/p\u003e\n\u003ch1\u003ePremium Golf Shoe Bag\u003c\/h1\u003e\n\u003cp class=\"af-lead\"\u003eContain the mess. Protect the rest.\u003c\/p\u003e\n\u003cp class=\"af-lede\"\u003eDon’t let dirty shoes \"season\" your trunk. Isolates dirt, dampness, and odor so they don’t migrate into your gloves, towels, or car interior.\u003c\/p\u003e\n\u003cdiv class=\"af-exec-summary\"\u003e\n\u003cdiv class=\"af-exec-summary__hdr\"\u003e\n\u003cspan class=\"af-exec-summary__label\"\u003eTest Verdict\u003c\/span\u003e \u003cspan class=\"af-exec-summary__note\"\u003eContain the mess, protect the rest.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp\u003eThe Premium Golf Shoe Bag is built for one job: isolate dirty, damp footwear so it doesn’t migrate into gloves, towels, headcovers, or your car. The mechanism is boring on purpose: create a default home for shoes so the trunk stays clean and your pre-round routine stays repeatable.\u003c\/p\u003e\n\u003cdiv class=\"af-verdict-text\"\u003e\n\u003cstrong\u003eVerdict:\u003c\/strong\u003e Buy it if you keep shoes in the car (or travel). Skip it if your shoes live at the clubhouse.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-toc\"\u003e\n\u003ca class=\"af-btn af-btn-secondary\" href=\"#af-problem\"\u003eThe Trunk Tax\u003c\/a\u003e \u003ca class=\"af-btn af-btn-secondary\" href=\"#af-how\"\u003eHow It Works\u003c\/a\u003e \u003ca class=\"af-btn af-btn-secondary\" href=\"#af-choose\"\u003ePick Your Setup\u003c\/a\u003e \u003ca class=\"af-btn af-btn-secondary\" href=\"#af-specs\"\u003eSpecs + Care\u003c\/a\u003e \u003ca class=\"af-btn af-btn-secondary\" href=\"#af-faq\"\u003eFAQ\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-hero-interaction af-card--glow\"\u003e\n\u003cdiv class=\"af-img-wrap\"\u003e\u003cimg loading=\"eager\" alt=\"Premium golf shoe bag in grey\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0555\/0830\/3915\/files\/premium_shoe_bag_grey.jpg?v=1768952013\" data-af-hero-img=\"\" class=\"af-img\"\u003e\u003c\/div\u003e\n\u003cspan class=\"af-interaction-label\"\u003eChoose Color\u003c\/span\u003e\n\u003cdiv aria-label=\"Shoe bag color\" role=\"group\" class=\"af-variant-wrap\"\u003e\n\u003cbutton aria-pressed=\"true\" data-af-color=\"Grey\" class=\"af-variant-btn\" type=\"button\"\u003eGrey\u003c\/button\u003e \u003cbutton aria-pressed=\"false\" data-af-color=\"Black\" class=\"af-variant-btn\" type=\"button\"\u003eBlack\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-btn-wrap\"\u003e\n\u003cbutton data-af-atc=\"\" class=\"af-btn af-btn-primary\" type=\"button\"\u003eAdd to Cart\u003c\/button\u003e \u003ca href=\"\/collections\/on-course-organization-system\" class=\"af-btn af-btn-secondary\"\u003eShop System\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-nudge\"\u003eIf your trunk is your locker, this removes a daily annoyance fast.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-pill-module\"\u003e\n\u003cdiv class=\"af-pill\"\u003eFits Size 14\u003c\/div\u003e\n\u003cdiv class=\"af-pill\"\u003eIsolates Dirt\u003c\/div\u003e\n\u003cdiv class=\"af-pill\"\u003eSystem Ready\u003c\/div\u003e\n\u003cdiv class=\"af-pill\"\u003ePremium Materials\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/header\u003e\n\u003csection id=\"af-problem\" class=\"af-card\"\u003e\n\u003ch2 class=\"af-h2\"\u003eThe Trunk Tax (you’re already paying it)\u003c\/h2\u003e\n\u003cp class=\"af-muted\"\u003eLeaving shoes loose feels harmless… until it isn’t. Grit ends up in your trunk carpet. Dampness lingers. Odor sticks to anything fabric. Then your “quick grab” golf setup becomes a slow-motion contamination event.\u003c\/p\u003e\n\u003cp class=\"af-muted\"\u003e\u003cstrong\u003eTranslation:\u003c\/strong\u003e you lose time, you lose cleanliness, and you start the next round slightly annoyed for no good reason.\u003c\/p\u003e\n\u003cdiv class=\"af-img-wrap\"\u003e\n\u003cimg loading=\"lazy\" alt=\"Open shoe bag with golf shoes inside, demonstrating clean containment\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0555\/0830\/3915\/files\/course_chaos.jpg?v=1768952059\" class=\"af-img\"\u003e \u003cspan class=\"af-caption\"\u003eZip it closed. Chaos contained.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"af-how\" class=\"af-card af-card--tech\"\u003e\n\u003ch2 class=\"af-h2\"\u003eHow it works\u003c\/h2\u003e\n\u003cdiv class=\"af-img-wrap\"\u003e\n\u003cimg loading=\"lazy\" alt=\"Internal compartments showing divider and ventilation\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0555\/0830\/3915\/files\/premium_golf_shoe_bag_open.jpg?v=1768952229\" class=\"af-img\"\u003e \u003cspan class=\"af-caption\"\u003eInternal Divider Protects Shoes • Mesh Protects Air Quality\u003c\/span\u003e\n\u003c\/div\u003e\n\u003col class=\"af-steps\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eExit routine:\u003c\/strong\u003e shoes go into the bag every time, not onto carpet “just for a second.”\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eContainment:\u003c\/strong\u003e dirt stays with dirt. Moisture stays with moisture. Odor stays in its own zip code.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eReset:\u003c\/strong\u003e removes the “where do these go?” decision. Default homes beat willpower.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCompatibility:\u003c\/strong\u003e stores cleanly next to your other small-gear modules so your week stays repeatable.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/section\u003e\n\u003csection class=\"af-grid-2\"\u003e\n\u003cdiv class=\"af-card\"\u003e\n\u003ch2 class=\"af-h2\"\u003eWho it’s for\u003c\/h2\u003e\n\u003cul class=\"af-list\"\u003e\n\u003cli\u003eGolfers who keep shoes in the car.\u003c\/li\u003e\n\u003cli\u003ePlayers who walk, practice, or travel.\u003c\/li\u003e\n\u003cli\u003eAnyone building a repeatable setup.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"af-card\"\u003e\n\u003ch2 class=\"af-h2\"\u003eWho it’s not for\u003c\/h2\u003e\n\u003cul class=\"af-list\"\u003e\n\u003cli\u003ePeople who leave shoes at the clubhouse.\u003c\/li\u003e\n\u003cli\u003eGolfers who don’t care about trunk mess.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"af-choose\" class=\"af-card af-card--tech\"\u003e\n\u003ch2 class=\"af-h2\"\u003eChoose your setup\u003c\/h2\u003e\n\u003cp class=\"af-muted\"\u003eUse explicit decision rules so you don’t overthink it:\u003c\/p\u003e\n\u003cul class=\"af-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eChoose the Shoe Bag\u003c\/strong\u003e if your main issue is dirt, moisture, and smell migrating into other gear.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eChoose the On-Course Organization System™\u003c\/strong\u003e if you also want a home for small essentials (phone, keys, tees, cash).\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"af-btn-wrap\"\u003e\n\u003ca href=\"\/collections\/all\/products\/premium-leather-golf-utility-pouch-with-zippered-closure-luxury-valuables-bag-with-diamond-stitching-360-degree-metal-clip-and-soft-interior-lining\" class=\"af-btn af-btn-secondary\"\u003eShop Organization System\u003c\/a\u003e \u003ca href=\"\/collections\/on-course-organization-system\" class=\"af-btn af-btn-secondary\"\u003eShop Utility Pouches\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"af-specs\" class=\"af-card\"\u003e\n\u003ch2 class=\"af-h2\"\u003eSpecs + care\u003c\/h2\u003e\n\u003cp class=\"af-muted\"\u003eThis is a containment product. It doesn’t need a motivational speech. It needs to fit, zip, and do the job every week.\u003c\/p\u003e\n\u003cdetails class=\"af-drawer\"\u003e\n\u003csummary\u003eFit + capacity\u003c\/summary\u003e\n\u003cdiv class=\"af-drawer-body\"\u003eFits up to \u003cstrong\u003emen’s size 14\u003c\/strong\u003e. If you’re bigger than that, you’re basically a small aircraft, and you should check dimensions before ordering.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"af-drawer\"\u003e\n\u003csummary\u003eMoisture + odor reality check\u003c\/summary\u003e\n\u003cdiv class=\"af-drawer-body\"\u003eIt \u003cstrong\u003eisolates\u003c\/strong\u003e odor from the rest of your gear. It does not magically “delete” odor. Best practice: let shoes dry between rounds. This bag prevents the spread; it’s not a deodorizer.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"af-drawer\"\u003e\n\u003csummary\u003eCleaning\u003c\/summary\u003e\n\u003cdiv class=\"af-drawer-body\"\u003eIf the inside gets gritty, shake it out and wipe it down. If it gets damp, unzip and let it air out. Simple rules: contain first, then reset.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/section\u003e\n\u003csection id=\"af-faq\" class=\"af-card\"\u003e\n\u003ch2 class=\"af-h2\"\u003ePremium Golf Shoe Bag FAQ\u003c\/h2\u003e\n\u003cdetails class=\"af-faq\"\u003e\n\u003csummary\u003eWhat problem does this solve best?\u003c\/summary\u003e\n\u003cdiv\u003eContaining dirt, moisture, and odor so they don’t transfer into the rest of your gear or your trunk.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"af-faq\"\u003e\n\u003csummary\u003eWill it fit large shoes?\u003c\/summary\u003e\n\u003cdiv\u003eYes. It fits up to men’s size 14.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"af-faq\"\u003e\n\u003csummary\u003eIs it compatible with any golf bag?\u003c\/summary\u003e\n\u003cdiv\u003eYes. It’s separate from your golf bag, so it works whether you use a stand bag, cart bag, or push cart.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"af-faq\"\u003e\n\u003csummary\u003eDoes it eliminate odor?\u003c\/summary\u003e\n\u003cdiv\u003eIt isolates odor from other gear. For best results, dry shoes between rounds. This is containment, not a deodorizer.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"af-faq\"\u003e\n\u003csummary\u003eShould I also get the utility pouch?\u003c\/summary\u003e\n\u003cdiv\u003eGet the pouch if your small essentials keep migrating. The shoe bag isolates footwear; the pouch consolidates essentials.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/section\u003e\n\u003csection class=\"af-card\" style=\"text-align: center;\"\u003e\n\u003ch2 class=\"af-h2\"\u003eMake your trunk boring again\u003c\/h2\u003e\n\u003cp class=\"af-muted\"\u003eBoring is good. Boring means your shoes are contained, your gear stays cleaner, and your round starts with fewer distractions.\u003c\/p\u003e\n\u003cdiv class=\"af-btn-wrap\"\u003e\n\u003cbutton data-af-atc=\"\" class=\"af-btn af-btn-primary\" type=\"button\"\u003eAdd to Cart\u003c\/button\u003e \u003ca href=\"\/pages\/golf-gear-system-hub\" class=\"af-btn af-btn-secondary\"\u003eSee System Hub\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"af-standards-citation\"\u003e\n\u003ch3 style=\"margin: 0 0 .75rem 0; font-size: 1.15rem; font-weight: 900; color: #ffffff;\"\u003eEvaluated Against Published Testing Standards\u003c\/h3\u003e\n\u003cp style=\"margin: 0 0 1rem 0; font-size: 1.02rem; color: #d1d5db; line-height: 1.6;\"\u003eWe design around routines and failure modes: what actually creates friction during real golf weeks. Shoe mess is predictable, so the fix is a predictable home.\u003c\/p\u003e\n\u003cdiv class=\"af-btn-wrap\"\u003e\u003ca href=\"\/pages\/our-golf-gear-testing-design-standards\" class=\"af-btn af-btn-secondary\"\u003eRead Testing Standards\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cscript type=\"application\/ld+json\"\u003e\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What problem does this solve best?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Containing dirt, moisture, and odor so they don’t transfer into the rest of your gear or your trunk.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Will it fit large shoes?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. It fits up to men’s size 14.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is it compatible with any golf bag?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. It’s separate from your golf bag, so it works whether you use a stand bag, cart bag, or push cart.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Does it eliminate odor?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"It isolates odor from other gear. For best results, dry shoes between rounds. This is containment, not a deodorizer.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Should I also get the utility pouch?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Get the pouch if your small essentials keep migrating. The shoe bag isolates footwear; the pouch consolidates essentials.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How does this fit the System?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"It handles footwear containment. Pair with the utility pouch for a complete pre-round flow.\"\n      }\n    }\n  ]\n}\n\u003c\/script\u003e \u003cscript\u003e\n\/* =========================================================\n   AF PDP ATC (UPDATED FIX)\n   - Hardcoded Grey Variant ID for absolute safety\n   - Dynamically fetches Black variant if needed\n   ========================================================= *\/\n(function(){\n  const root = document.querySelector('[data-af-shoe-bag]');\n  if(!root) return;\n\n  const handle = root.getAttribute('data-af-handle') || 'premium-golf-shoe-bag';\n\n  const IMG_GREY  = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0555\/0830\/3915\/files\/premium_shoe_bag_grey.jpg?v=1768952013\";\n  const IMG_BLACK = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0555\/0830\/3915\/files\/premium_shoe_bag_black.jpg?v=1768952030\";\n\n  const heroImg = root.querySelector('[data-af-hero-img]');\n  const variantBtns = Array.from(root.querySelectorAll('[data-af-color]'));\n  const atcBtns = Array.from(root.querySelectorAll('[data-af-atc]'));\n\n  let productData = null;\n\n  \/\/ SAFETY HARDCODE FOR GREY\n  const HARDCODED_IDS = {\n    \"Grey\": 42715031306283\n  };\n\n  function setPressed(color){\n    variantBtns.forEach(btn =\u003e btn.setAttribute('aria-pressed', String(btn.getAttribute('data-af-color') === color)));\n  }\n\n  function setHero(color){\n    if(!heroImg) return;\n    if(color === \"Black\"){\n      heroImg.src = IMG_BLACK;\n      heroImg.alt = \"Premium golf shoe bag in black, designed to contain dirty shoes and protect the rest of your gear\";\n    } else {\n      heroImg.src = IMG_GREY;\n      heroImg.alt = \"Premium golf shoe bag in grey, designed to contain dirty shoes and protect the rest of your gear\";\n    }\n  }\n\n  async function loadProduct(){\n    if(productData) return productData;\n    const res = await fetch(`\/products\/${handle}.js`, { credentials: 'same-origin' });\n    if(!res.ok) throw new Error('Product fetch failed');\n    productData = await res.json();\n    return productData;\n  }\n\n  function findVariantIdByColor(color){\n    \/\/ 1. Check Hardcoded ID\n    if(HARDCODED_IDS[color]) return HARDCODED_IDS[color];\n\n    \/\/ 2. Fetch Logic (Fallback for Black)\n    if(!productData || !Array.isArray(productData.variants)) return null;\n    const c = (color || '').toLowerCase();\n    const v = productData.variants.find(variant =\u003e {\n      const opts = [variant.option1, variant.option2, variant.option3]\n        .filter(Boolean)\n        .map(x =\u003e String(x).toLowerCase());\n      return opts.some(opt =\u003e opt.includes(c)); \n    });\n    return v ? v.id : null;\n  }\n\n  async function addToCart(){\n    const activeBtn = variantBtns.find(btn =\u003e btn.getAttribute('aria-pressed') === 'true');\n    const color = activeBtn ? activeBtn.getAttribute('data-af-color') : \"Grey\";\n    \n    try {\n      await loadProduct();\n      const variantId = findVariantIdByColor(color);\n      \n      if(!variantId) {\n        alert(\"Variant not found. Please try again.\");\n        return;\n      }\n\n      const payload = { items: [{ id: variantId, quantity: 1 }] };\n\n      const res = await fetch('\/cart\/add.js', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application\/json', 'Accept': 'application\/json' },\n        credentials: 'same-origin',\n        body: JSON.stringify(payload)\n      });\n\n      if(!res.ok) throw new Error('Add to cart failed');\n      window.location.href = '\/cart';\n\n    } catch(e){\n      console.error(e);\n      window.location.href = '\/cart'; \n    }\n  }\n\n  variantBtns.forEach(btn =\u003e {\n    btn.addEventListener('click', () =\u003e {\n      const color = btn.getAttribute('data-af-color');\n      setPressed(color);\n      setHero(color);\n    });\n  });\n\n  atcBtns.forEach(btn =\u003e {\n    btn.addEventListener('click', (e) =\u003e {\n      e.preventDefault();\n      addToCart();\n    });\n  });\n\n  \/\/ Init\n  setPressed(\"Grey\");\n  setHero(\"Grey\");\n\n})();\n\u003c\/script\u003e\u003c\/p\u003e","brand":"Aiming Fluid Golf","offers":[{"title":"Black","offer_id":48323419144447,"sku":"sku-42715031273515","price":119.69,"currency_code":"USD","in_stock":true},{"title":"Gray","offer_id":48323419177215,"sku":"sku-42715031306283","price":119.69,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0721\/7532\/1343\/files\/premium_shoe_bag_black.jpg?v=1774299750"},{"product_id":"golf-shoe-dust-bags","title":"Golf Shoe Dust Bags","description":"\u003cp class=\"type-heading-1 mv3 ma0\"\u003eOur signature shoe stuffers have met their match! Protect your footwear stylishly everywhere you go with these pretty and roomy shoe bags. Ideal for on-the-go and at-home shoe storage. \u003c\/p\u003e\n\u003cp class=\"type-heading-1 mv3 ma0\"\u003e\u003cspan\u003eThese shoe bags are ideal for daily storage and travel, protecting premium golf shoes in any situation. Plus, each bag comes in a signature gift-box, so a great gifting item for those fashionable golf-loving friends and definitely a conversation starter.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003ePreserve your fabulous golf shoes in style, at home and on-the-go.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eThe Palm Springs Signature bags were designed to celebrate the mid-century modern art associated with beautiful Palm Springs where Nailed Golf calls home.\u003c\/p\u003e\n\u003cdiv class=\"row bu-font\"\u003e\n\u003cdiv class=\"col-sm-12\"\u003e\n\u003cul\u003e\n\u003cli\u003eDimensions are 15” x 12”\u003c\/li\u003e\n\u003cli\u003eKeeps dirt on the soles from contacting clothes and other belongings\u003c\/li\u003e\n\u003cli\u003eAccommodates a variety of golf shoe designs for utmost protection\u003c\/li\u003e\n\u003cli\u003e100% cotton fabric\u003c\/li\u003e\n\u003cli\u003eDrawstring closure\u003c\/li\u003e\n\u003cli\u003eInterior lining in complementary solid color\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eCare Instructions:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eMachine wash cold on gentle cycle with like colors and tumble dry low.\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"color: #ff2a00;\"\u003eThis product is eligible for free shipping.\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"Nailed Golf","offers":[{"title":"Golf Art","offer_id":48385392509183,"sku":"44618506666197","price":29.99,"currency_code":"USD","in_stock":false},{"title":"Palm Springs","offer_id":48385392541951,"sku":"44618506698965","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Safari Chic","offer_id":48385392574719,"sku":"44726679830741","price":29.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0721\/7532\/1343\/files\/NailedGolfShoeBag.jpg?v=1775769440"},{"product_id":"leopard-shoe-bag","title":"Leopard Shoe Bag","description":"\u003cdiv class=\"powr-popup\" id=\"15db2dca_1618419652\"\u003e\u003c\/div\u003e \u003cdiv style=\"box-sizing: border-box; color: #545454;\"\u003e\u003cfont face=\"arial,helvetica,sans-serif\"\u003e\u003cstrong style=\"box-sizing: border-box;\"\u003eGlove It Women's Shoe Bags\u003c\/strong\u003e\u003c\/font\u003e\u003c\/div\u003e \u003cdiv style=\"box-sizing: border-box; color: #545454;\"\u003e\n\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cfont face=\"arial,helvetica,sans-serif\"\u003eBring a change of shoes with you to the golf course with a Glove It print shoe bag. Glove It shoe bags come in our signature, electric prints and provide extra protection for your shoes. These sturdy, fashionable bags fit in any gym, tennis, or golf bag!\u003c\/font\u003e\n\u003c\/div\u003e \u003cdiv style=\"box-sizing: border-box; color: #545454;\"\u003e \u003c\/div\u003e \u003cdiv style=\"box-sizing: border-box; color: #545454;\"\u003e\u003cfont face=\"arial,helvetica,sans-serif\"\u003eSpecifications:\u003c\/font\u003e\u003c\/div\u003e \u003cdiv style=\"box-sizing: border-box; color: #545454;\"\u003e\n\u003cbr\u003e\u003cfont face=\"arial,helvetica,sans-serif\"\u003e• Nylon construction\u003c\/font\u003e\u003cbr\u003e\u003cfont face=\"arial,helvetica,sans-serif\"\u003e• 12” x 7”\u003c\/font\u003e\u003cbr\u003e\u003cfont face=\"arial,helvetica,sans-serif\"\u003e• Full length zipper\u003c\/font\u003e\u003cbr\u003e\u003cfont face=\"arial,helvetica,sans-serif\"\u003e• Top carry handle\u003c\/font\u003e\u003cbr\u003e\u003cfont face=\"arial,helvetica,sans-serif\"\u003e• Mesh ventilation\u003c\/font\u003e\n\u003c\/div\u003e","brand":"Glove It","offers":[{"title":"Default Title","offer_id":48410887717119,"sku":"SB101","price":9.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0721\/7532\/1343\/files\/SB101_1__66865.1638210459.1280.1280.jpg?v=1776639877"},{"product_id":"shadow-weave-shoe-bags","title":"Shadow Weave Shoe Bags","description":"\u003cp\u003eBring a change of shoes with you to the golf course with a Glove It print shoe bag. Glove It shoe bags come in our signature, electric prints and provide extra protection for your shoes. These sturdy, fashionable bags fit in any gym, tennis, or golf bag!\u003cbr\u003e• Nylon construction\u003cbr\u003e• 12” x 7”\u003cbr\u003e• Full length zipper\u003cbr\u003e• Top carry handle\u003cbr\u003e• Mesh ventilation\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eAll sale items are final sale and not eligible for returns or exchanges.\u003c\/strong\u003e\u003c\/p\u003e","brand":"Glove It","offers":[{"title":"Default Title","offer_id":48410888503551,"sku":"SB434","price":9.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0721\/7532\/1343\/files\/SHADOWWEAVE1_ca58d444-bd6a-432a-bc43-426d87c7c493.png?v=1776639877"},{"product_id":"urban-bleu-shoe-bags","title":"Urban Bleu Shoe Bags","description":"\u003cp\u003eBring a change of shoes with you to the golf course with a Glove It print shoe bag. Glove It shoe bags come in our signature, electric prints and provide extra protection for your shoes. These sturdy, fashionable bags fit in any gym, tennis, or golf bag!\u003cbr\u003e• Nylon construction\u003cbr\u003e• 12” x 7”\u003cbr\u003e• Full length zipper\u003cbr\u003e• Top carry handle\u003cbr\u003e• Mesh ventilation\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eAll sale items are final sale and not eligible for returns or exchanges.\u003c\/strong\u003e\u003c\/p\u003e","brand":"Glove It","offers":[{"title":"Default Title","offer_id":48410888765695,"sku":"SB431","price":9.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0721\/7532\/1343\/files\/SB431.jpg?v=1776639876"}],"url":"https:\/\/topspinnergolf.com\/collections\/golf-shoe-bags.oembed","provider":"Top Spinner","version":"1.0","type":"link"}