1 2<!DOCTYPE html> 3<html lang="en-US"> 4<head> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 7 <meta name="generator" content="frappe"> 8 9 10 <meta name="name" content="Shoe Care, Style & Buying Guides"><meta name="title" content="Shoe Style Guides, Care Tips & Buying Advice | CSL Shoes"><meta name="description" content="Expert guides on dress shoe styles, leather care, sizing tips, and buying advice from CSL Shoes. Trusted footwear knowledge for men and boys."><meta name="image" content="https://wizfort.com/files/cslshoes89cb70.png"><meta property="og:url" content="https://wizfort.com/blog"><meta property="og:type" content="website"><meta name="language" content="en-US"><meta property="og:title" content="Shoe Style Guides, Care Tips & Buying Advice | CSL Shoes"><meta property="og:description" content="Expert guides on dress shoe styles, leather care, sizing tips, and buying advice from CSL Shoes. Trusted footwear knowledge for men and boys."><meta property="og:image" content="https://wizfort.com/files/cslshoes89cb70.png"><meta name="twitter:title" content="Shoe Style Guides, Care Tips & Buying Advice | CSL Shoes"><meta name="twitter:description" content="Expert guides on dress shoe styles, leather care, sizing tips, and buying advice from CSL Shoes. Trusted footwear knowledge for men and boys."><meta name="twitter:image" content="https://wizfort.com/files/cslshoes89cb70.png"><meta name="twitter:card" content="summary_large_image"><meta property="og:site_name" content="Wizfort"><meta property="og:locale" content="en_US"><meta property="og:image:alt" content="Shoe Style Guides, Care Tips & Buying Advice | CSL Shoes"><meta property="og:image:width" content="176"><meta property="og:image:height" content="176"> 11 12 13 <title>Shoe Style Guides, Care Tips & Buying Advice | CSL Shoes</title> 14 15 16 <link rel="icon" type="image/png" href="/files/cslshoes89cb70.png"> 17 <link rel="apple-touch-icon" href="/files/cslshoes89cb70.png"> 18<link type="text/css" rel="stylesheet" href="/assets/frappe/dist/css/website.bundle.GD6PKXQI.css"> 19<link type="text/css" rel="stylesheet" href="/assets/erpnext/dist/css/erpnext-web.bundle.XAPV6OJR.css"> 20<link type="text/css" rel="stylesheet" href="/assets/webshop/dist/css/webshop-web.bundle.GQDT63VG.css"> 21<link type="text/css" rel="stylesheet" href="/assets/cslshoes_erp/css/csl_design_tokens.css?v=20260613a"> 22<link type="text/css" rel="stylesheet" href="/assets/cslshoes_erp/css/webshop_filters.css?v=4b435436"> 23<link type="text/css" rel="stylesheet" href="/assets/cslshoes_erp/css/csl_custom.css?v=20260517a"> 24<link type="text/css" rel="stylesheet" href="/assets/blog/css/blog.scss"> 25 26 27 28 <!-- CSL web analytics (GA4) â deferred loader (A3 2026-06-03) -->
29<script> 30 window.dataLayer = window.dataLayer || []; 31 function gtag(){dataLayer.push(arguments);} 32 gtag('consent', 'default', {'ad_storage':'granted','ad_user_data':'granted','ad_personalization':'granted','analytics_storage':'granted'}); 33 gtag('consent', 'default', {'ad_storage':'denied','ad_user_data':'denied','ad_personalization':'denied','analytics_storage':'denied','region':["AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PL", "PT", "RO", "SK", "SI", "ES", "SE", "IS", "LI", "NO", "GB"]}); 34 gtag('js', new Date()); 35 gtag('config', 'G-WJ5VB6BGCD'); 36 // A3 2026-06-03: defer the gtag.js loader off the critical render path. 37 // dataLayer calls above queue; gtag.js drains them on load (interaction, 38 // or idle-after-load, or an 8s safety net) so pageview/consent/config still fire. 39 (function(){ 40 var loaded=false; 41 function loadGA(){ if(loaded){return;} loaded=true; 42 var s=document.createElement("script"); s.async=true; 43 s.src="https://www.googletagmanager.com/gtag/js?id=G-WJ5VB6BGCD"; 44 (document.head||document.documentElement).appendChild(s); 45 } 46 ["pointerdown","keydown","scroll","touchstart"].forEach(function(e){ window.addEventListener(e, loadGA, {once:true, passive:true}); }); 47 function schedule(){ if("requestIdleCallback" in window){ requestIdleCallback(loadGA,{timeout:3500}); } else { setTimeout(loadGA,2500); } } 48 if(document.readyState==="complete"){ schedule(); } else { window.addEventListener("load", schedule); } 49 setTimeout(loadGA, 8000); 50 })(); 51</script>
51 52 53 <style>a,button,[role="button"],input,select,textarea{touch-action:manipulation}</style> 54 <link rel="preload" as="font" type="font/woff2" href="/assets/cslshoes_erp/fonts/InterVariable-Latin.woff2" crossorigin> 55 <link rel="canonical" href="https://cslshoes.com/blog"> 56 57 <meta property="fb:app_id" content="806042942283128"> 58 <link rel="alternate" type="application/rss+xml" title="Wizfort Blog" href="/rss"> 59
59<script type="application/ld+json">{"@context": "https://schema.org", "@type": "Organization", "name": "Wizfort", "url": "https://wizfort.com", "logo": "https://wizfort.com/files/wizfort-og.png", "image": "https://wizfort.com/files/wizfort-og.png", "address": {"@type": "PostalAddress", "streetAddress": "3 Alpine Court, Unit W156", "addressLocality": "Chestnut Ridge", "addressRegion": "NY", "postalCode": "10977", "addressCountry": "US"}, "contactPoint": {"@type": "ContactPoint", "telephone": "+1-845-694-6700", "contactType": "customer service", "availableLanguage": ["English"]}, "openingHoursSpecification": [{"@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "09:00", "closes": "18:00"}, {"@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "10:00", "closes": "16:00"}]}</script>
59 60
60<script type="application/ld+json">{"@context": "https://schema.org", "@type": "WebSite", "name": "Wizfort", "url": "https://wizfort.com", "potentialAction": {"@type": "SearchAction", "target": {"@type": "EntryPoint", "urlTemplate": "https://wizfort.com/all-products?search={search_term_string}"}, "query-input": "required name=search_term_string"}}</script>
60 61 62
63<script type="application/ld+json"> 64{ 65 "@context": "https://schema.org", 66 "@type": "BreadcrumbList", 67 "itemListElement": [ 68 {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://wizfort.com/"}, 69 {"@type": "ListItem", "position": 2, "name": "Shoe Care, Style & Buying Guides"} 70 ] 71} 72</script>
vendor: 1 bytes, line 72
72
73<script type="application/ld+json">{"@context": "https://schema.org", "@type": "ItemList", "numberOfItems": 20, "itemListElement": [{"@type": "ListItem", "position": 1, "url": "https://wizfort.com/blog/style-guide/fall-style-preview-dress-shoes-for-the-holiday-season", "name": "Fall Style Preview: Dress Shoes for the Holiday Season"}, {"@type": "ListItem", "position": 2, "url": "https://wizfort.com/blog/buying-guide/benelaccio-italian-inspired-elegance-for-the-modern-gentleman", "name": "Benelaccio: Italian Elegance for the Modern Gentleman"}, {"@type": "ListItem", "position": 3, "url": "https://wizfort.com/blog/buying-guide/how-to-buy-quality-leather-shoes-that-last", "name": "How to Buy Quality Leather Shoes That Last"}, {"@type": "ListItem", "position": 4, "url": "https://wizfort.com/blog/style-guide/business-casual-shoes-the-complete-mens-guide", "name": "Business Casual Shoes: The Complete Men's Guide"}, {"@type": "ListItem", "position": 5, "url": "https://wizfort.com/blog/buying-guide/comfortable-shoes-for-standing-all-day", "name": "Comfortable Shoes for Standing All Day"}, {"@type": "ListItem", "position": 6, "url": "https://wizfort.com/blog/shoe-care/understanding-shoe-construction-blake-stitch-vs-goodyear-welt", "name": "Blake Stitch vs Goodyear Welt: Shoe Construction Guide"}, {"@type": "ListItem", "position": 7, "url": "https://wizfort.com/blog/style-guide/oxford-shoes-history-styles-and-how-to-wear-them", "name": "Oxford Shoes: History, Styles, and How to Wear Them"}, {"@type": "ListItem", "position": 8, "url": "https://wizfort.com/blog/buying-guide/boys-dress-shoes-for-bar-mitzvahs-and-formal-events", "name": "Boys' Dress Shoes for Bar Mitzvahs and Formal Events"}, {"@type": "ListItem", "position": 9, "url": "https://wizfort.com/blog/shoe-care/leather-shoe-care-calendar-month-by-month-guide", "name": "Leather Shoe Care Calendar: Month-by-Month Guide"}, {"@type": "ListItem", "position": 10, "url": "https://wizfort.com/blog/style-guide/how-to-match-dress-shoes-with-suits-a-color-guide", "name": "How to Match Dress Shoes with Suits: A Color Guide"}, {"@type": "ListItem", "position": 11, "url": "https://wizfort.com/blog/buying-guide/esse-comfort-shoes-all-day-comfort-technology-explained", "name": "Esse Comfort Shoes: All-Day Comfort Technology Explained"}, {"@type": "ListItem", "position": 12, "url": "https://wizfort.com/blog/shoe-care/why-quality-leather-shoes-are-worth-the-investment-in-2026", "name": "Why Quality Leather Shoes Are Worth the Investment in 2026"}, {"@type": "ListItem", "position": 13, "url": "https://wizfort.com/blog/style-guide/job-interview-shoes-making-the-right-first-impression", "name": "Job Interview Shoes: Making the Right First Impression"}, {"@type": "ListItem", "position": 14, "url": "https://wizfort.com/blog/buying-guide/best-dress-shoes-for-flat-feet-comfort-without-compromise", "name": "Best Dress Shoes for Flat Feet: Comfort Without Compromise"}, {"@type": "ListItem", "position": 15, "url": "https://wizfort.com/blog/shoe-care/what-makes-sheepskin-lined-shoes-different", "name": "What Makes Sheepskin-Lined Shoes Different"}, {"@type": "ListItem", "position": 16, "url": "https://wizfort.com/blog/style-guide/how-to-build-a-5-shoe-dress-shoe-collection", "name": "How to Build a 5-Shoe Dress Shoe Collection"}, {"@type": "ListItem", "position": 17, "url": "https://wizfort.com/blog/buying-guide/wizfort-shoes-review-premium-leather-at-an-honest-price", "name": "Wizfort Shoes Review: Premium Leather at an Honest Price"}, {"@type": "ListItem", "position": 18, "url": "https://wizfort.com/blog/shoe-care/leather-sole-vs-rubber-sole-which-is-right-for-you", "name": "Leather Sole vs Rubber Sole: Which Is Right for You?"}, {"@type": "ListItem", "position": 19, "url": "https://wizfort.com/blog/style-guide/prom-shoes-for-men-style-guide-2026", "name": "Prom Shoes for Men: Style Guide 2026"}, {"@type": "ListItem", "position": 20, "url": "https://wizfort.com/blog/buying-guide/boys-communion-shoes-a-parents-complete-guide", "name": "Boys Communion Shoes: A Parent's Complete Guide"}]}</script>
73 74 75 76 77
77<script> 78 window.frappe = {}; 79 frappe.ready_events = []; 80 frappe.ready = function(fn) { 81 frappe.ready_events.push(fn); 82 } 83 window.dev_server = 0; 84 window.socketio_port = 9000; 85 window.show_language_picker = false; 86 </script>
86 87</head> 88<body frappe-session-status="logged-out" data-path="portal" class=""> 89 90 <svg id="csl-icons" aria-hidden="true" style="position:absolute;width:0;height:0;overflow:hidden" xmlns="http://www.w3.org/2000/svg"> 91 <symbol viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" id="icon-assets"> 92 <path d="M3 6h17" stroke="var(--icon-stroke)" stroke-miterlimit="10"></path> 93 <path d="M20 19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6l3.4-3h10.2L20 6v13z" stroke="var(--icon-stroke)" stroke-miterlimit="10" stroke-linecap="square" stroke-linejoin="round"></path> 94 <path d="M15.582 10c0 2.29-1.8 4.09-4.091 4.09A4.051 4.051 0 0 1 7.4 10" stroke="var(--icon-stroke)" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"></path> 95 <circle cx="15.6" cy="10" r=".5" stroke="var(--icon-stroke)"></circle> 96 <circle cx="7.3" cy="10" r=".5" stroke="var(--icon-stroke)"></circle> 97 </symbol> 98 <symbol id="icon-delete" viewBox="0 0 32 32" fill="none"> 99 <path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M7 7v18.118c0 2.145 1.492 3.882 3.333 3.882h11.333c1.842 0 3.333-1.737 3.333-3.882v-18.118"></path> 100 <path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M5 7h22"></path> 101 <path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M10 7v-1c0-1.657 1.343-3 3-3h6c1.657 0 3 1.343 3 3v1"></path> 102 <path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M18.8 14.4v8.571"></path> 103 <path stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M13.2 14.4v8.571"></path> 104 </symbol> 105 <symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="icon-down"> 106 <path d="M3 5.5l5 5 5-5" stroke="var(--icon-stroke)" stroke-linecap="round" stroke-linejoin="round"></path> 107 </symbol> 108 <symbol viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" id="icon-edit"> 109 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.6262 2.70711C11.0168 2.31658 11.6499 2.31658 12.0404 2.70711L13.2929 3.95956C13.6834 4.35008 13.6834 4.98325 13.2929 5.37377L6 12.6667L2 14L3.33333 10L10.6262 2.70711Z" stroke="var(--icon-stroke)" stroke-linecap="round" stroke-linejoin="round"/> 110 <line x1="9.79157" y1="3.92744" x2="12.0738" y2="6.2097" stroke="var(--icon-stroke)"/> 111 </symbol> 112 <symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="icon-heart"> 113 <path d="M7.606 3.799L8 4.302l.394-.503.106-.14c.048-.065.08-.108.129-.159a3.284 3.284 0 0 1 4.72 0c.424.434.655 1.245.65 2.278-.006 1.578-.685 2.931-1.728 4.159-1.05 1.234-2.439 2.308-3.814 3.328a.763.763 0 0 1-.914 0c-1.375-1.02-2.764-2.094-3.814-3.328C2.686 8.709 2.007 7.357 2 5.778c-.004-1.033.227-1.844.651-2.278a3.284 3.284 0 0 1 4.72 0c.05.05.081.094.129.158.028.038.061.083.106.14z" 114 stroke="var(--icon-stroke)"></path> 115 </symbol> 116 <symbol viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" id="icon-star"> 117 <path d="M11.5516 2.90849C11.735 2.53687 12.265 2.53687 12.4484 2.90849L14.8226 7.71919C14.8954 7.86677 15.0362 7.96905 15.1991 7.99271L20.508 8.76415C20.9181 8.82374 21.0818 9.32772 20.7851 9.61699L16.9435 13.3616C16.8257 13.4765 16.7719 13.642 16.7997 13.8042L17.7066 19.0916C17.7766 19.5001 17.3479 19.8116 16.9811 19.6187L12.2327 17.1223C12.087 17.0457 11.913 17.0457 11.7673 17.1223L7.01888 19.6187C6.65207 19.8116 6.22335 19.5001 6.29341 19.0916L7.20028 13.8042C7.2281 13.642 7.17433 13.4765 7.05648 13.3616L3.21491 9.61699C2.91815 9.32772 3.08191 8.82374 3.49202 8.76415L8.80094 7.99271C8.9638 7.96905 9.10458 7.86677 9.17741 7.71919L11.5516 2.90849Z" fill="var(--star-fill)" stroke="var(--star-fill)"/> 118 </symbol> 119 <symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="icon-tag"> 120 <path d="M12.6401 10.2571L10.107 12.7901C9.52125 13.3759 8.5718 13.3756 7.98601 12.7898L2.49654 7.30037C2.40278 7.2066 2.3501 7.07942 2.3501 6.94682L2.3501 3C2.3501 2.72386 2.57396 2.5 2.8501 2.5L6.79691 2.5C6.92952 2.5 7.0567 2.55268 7.15047 2.64645L12.6399 8.13591C13.2257 8.7217 13.2259 9.67131 12.6401 10.2571Z" stroke="var(--icon-stroke)" stroke-linecap="round" stroke-linejoin="round"/> 121 <path d="M6.08001 5.46157C6.08001 5.88642 5.7356 6.23082 5.31076 6.23082C4.88591 6.23082 4.5415 5.88642 4.5415 5.46157C4.5415 5.03673 4.88591 4.69232 5.31076 4.69232C5.7356 4.69232 6.08001 5.03673 6.08001 5.46157Z" stroke="var(--icon-stroke)" stroke-linecap="round" stroke-linejoin="round"/> 122 </symbol> 123 <!-- icon-list and icon-image-view: copied from apps/frappe/frappe/public/icons/timeless/icons.svg 124 for the /all-products toolbar view-toggle. Keep in sync on Frappe upgrades (ERP-025). --> 125 <symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="icon-list"> 126 <path fill-rule="evenodd" clip-rule="evenodd" d="M2.667 3.25a.75.75 0 0 0 0 1.5h.007a.75.75 0 0 0 0-1.5h-.007zm2.666.25a.5.5 0 0 0 0 1H14a.5.5 0 0 0 0-1H5.333zm0 4a.5.5 0 0 0 0 1H14a.5.5 0 0 0 0-1H5.333zm-.5 4.5a.5.5 0 0 1 .5-.5H14a.5.5 0 0 1 0 1H5.333a.5.5 0 0 1-.5-.5zM1.917 8a.75.75 0 0 1 .75-.75h.007a.75.75 0 0 1 0 1.5h-.007a.75.75 0 0 1-.75-.75zm.75 3.25a.75.75 0 0 0 0 1.5h.007a.75.75 0 0 0 0-1.5h-.007z" 127 fill="var(--icon-stroke)" stroke-width="0"></path> 128 </symbol> 129 <symbol viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="icon-image-view"> 130 <path d="M2.5 3.5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h-3a1 1 0 0 1-1-1v-2zm0 7a1 1 0 0 1 1-1h3v3a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2zm7-7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3v-3zm0 6h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-3z"></path> 131 </symbol> 132</svg>
133 <a href="#main-content" class="skip-to-content" style="position:absolute;top:-40px;left:0;background:#1a1a1a;color:#fff;padding:8px 16px;z-index:10001;font-size:14px;text-decoration:none;transition:top 0.2s;" onfocus="this.style.top='0'" onblur="this.style.top='-40px'">Skip to main content</a> 134 135 136 137 138<style> 139/* CSL Header Styles - Inline to avoid CSS conflicts with Frappe */ 140:root { 141 --csl-white: #ffffff; 142 --csl-gray-50: #f9fafb; 143 --csl-gray-100: #f3f4f6; 144 --csl-gray-200: #e5e7eb; 145 --csl-gray-300: #d1d5db; 146 --csl-gray-400: #9ca3af; 147 --csl-gray-500: #6b7280; 148 --csl-gray-600: #4b5563; 149 --csl-gray-700: #374151; 150 --csl-gray-800: #1f2937; 151 --csl-gray-900: #111827; 152 --csl-black: #000000; 153 --csl-danger: #ef4444; 154} 155 156/* Hide default Frappe navbar */ 157.navbar.navbar-expand-lg, .web-footer { display: none !important; } 158 159/* Top Bar */ 160.csl-top-bar { 161 background: var(--csl-gray-900); 162 color: var(--csl-white); 163 padding: 8px 0; 164 font-size: 12px; 165} 166.csl-top-bar-content { 167 max-width: 1400px; 168 margin: 0 auto; 169 padding: 0 20px; 170 display: flex; 171 justify-content: space-between; 172 align-items: center; 173} 174.csl-top-bar-message { font-weight: 500; } 175.csl-top-bar-links { display: flex; gap: 20px; align-items: center; } 176.csl-top-bar-links a { color: var(--csl-white); text-decoration: none; } 177.csl-top-bar-links a:hover { text-decoration: underline; } 178.csl-top-bar-phone { display: flex; align-items: center; gap: 5px; font-weight: 600; } 179.csl-top-bar-phone svg { flex-shrink: 0; } 180 181/* Header */ 182.csl-header { 183 background: var(--csl-white); 184 border-bottom: 1px solid var(--csl-gray-200); 185 padding: 16px 0; 186 position: sticky; 187 top: 0; 188 z-index: 1000; 189} 190.csl-header-inner { 191 max-width: 1400px; 192 margin: 0 auto; 193 padding: 0 20px; 194 display: flex; 195 align-items: center; 196 justify-content: space-between; 197 gap: 40px; 198 position: relative; 199 z-index: 100; 200} 201.csl-header-inner * { 202 pointer-events: auto; 203} 204.csl-logo { 205 font-size: 24px; 206 font-weight: 700; 207 color: var(--csl-black); 208 text-decoration: none; 209} 210.csl-nav { 211 display: flex; 212 align-items: center; 213 gap: 32px; 214} 215.csl-nav a { 216 font-size: 14px; 217 font-weight: 500; 218 color: var(--csl-gray-700); 219 text-decoration: none; 220 transition: color 0.2s; 221} 222.csl-nav a:hover { color: var(--csl-black); } 223.csl-nav-dropdown { position: relative; } 224.csl-nav-dropdown > a { 225 display: flex; 226 align-items: center; 227 gap: 4px; 228} 229.csl-nav-dropdown > a svg { 230 width: 12px; 231 height: 12px; 232 stroke: currentColor; 233 stroke-width: 2; 234 fill: none; 235 transition: transform 0.2s; 236} 237.csl-nav-dropdown:hover > a svg { transform: rotate(180deg); } 238.csl-dropdown-menu { 239 position: absolute; 240 top: 100%; 241 left: 50%; 242 transform: translateX(-50%); 243 background: var(--csl-white); 244 border: 1px solid var(--csl-gray-200); 245 border-radius: 8px; 246 box-shadow: 0 8px 24px rgba(0,0,0,0.12); 247 min-width: 180px; 248 padding: 8px 0; 249 opacity: 0; 250 visibility: hidden; 251 transition: all 0.2s ease; 252 z-index: 1001; 253 margin-top: 8px; 254} 255.csl-nav-dropdown:hover .csl-dropdown-menu { 256 opacity: 1; 257 visibility: visible; 258} 259.csl-dropdown-menu a { 260 display: block; 261 padding: 10px 16px; 262 font-size: 14px; 263 color: var(--csl-gray-700); 264 transition: all 0.15s; 265} 266.csl-dropdown-menu a:hover { 267 background: var(--csl-gray-50); 268 color: var(--csl-black); 269} 270/* ERP-101: account icon dropdown (My Account + Sign Out). Right-aligned so it 271 doesn't overflow the viewport edge; reuses .csl-dropdown-menu base styling. */ 272.csl-account-dropdown { position: relative; display: inline-flex; align-items: center; } 273.csl-account-menu { left: auto; right: 0; transform: none; min-width: 160px; } 274.csl-account-dropdown:hover .csl-account-menu { opacity: 1; visibility: visible; } 275 276/* Header Actions */ 277.csl-header-actions { 278 display: flex; 279 align-items: center; 280 gap: 20px; 281 pointer-events: auto; 282 position: relative; 283 z-index: 50; 284} 285.csl-search-box { 286 display: flex !important; 287 align-items: center; 288 background: var(--csl-gray-100); 289 border: 1px solid var(--csl-gray-200); 290 border-radius: 6px; 291 padding: 8px 12px; 292 width: 280px; 293 position: relative; 294 cursor: text; 295 z-index: 100; 296 pointer-events: auto !important; 297} 298.csl-search-box input { 299 border: none !important; 300 background: transparent !important; 301 outline: none !important; 302 font-size: 14px; 303 width: 100%; 304 margin-left: 8px; 305 cursor: text !important; 306 color: var(--csl-gray-900); 307 pointer-events: auto !important; 308 position: relative; 309 z-index: 10; 310 display: block !important; 311 visibility: visible !important; 312 opacity: 1 !important; 313} 314.csl-search-box input::placeholder { color: var(--csl-gray-500); } 315#csl-search-input { 316 display: block !important; 317 visibility: visible !important; 318 opacity: 1 !important; 319 pointer-events: auto !important; 320 position: relative !important; 321 z-index: 10 !important; 322 -webkit-user-select: text !important; 323 user-select: text !important; 324 cursor: text !important; 325} 326.csl-search-box:focus-within { 327 border-color: var(--csl-gray-400); 328 box-shadow: 0 0 0 2px rgba(0,0,0,0.05); 329} 330.csl-search-box svg {
331 width: 20px; 332 height: 20px; 333 stroke: var(--csl-gray-500); 334 stroke-width: 1.5; 335 fill: none; 336 pointer-events: none; 337 flex-shrink: 0; 338} 339.csl-search-results { 340 position: absolute; 341 top: 100%; 342 left: 0; 343 right: 0; 344 background: var(--csl-white); 345 border: 1px solid var(--csl-gray-200); 346 border-radius: 8px; 347 box-shadow: 0 8px 24px rgba(0,0,0,0.12); 348 margin-top: 4px; 349 max-height: 400px; 350 overflow-y: auto; 351 display: none; 352 z-index: 1002; 353} 354.csl-search-results.active { display: block; } 355.csl-search-result-item { 356 display: flex; 357 align-items: center; 358 gap: 12px; 359 padding: 10px 12px; 360 text-decoration: none; 361 color: var(--csl-gray-800); 362 transition: background 0.15s; 363} 364.csl-search-result-item:hover { background: var(--csl-gray-50); } 365.csl-search-result-item img { 366 width: 50px; 367 height: 50px; 368 object-fit: contain; 369 background: var(--csl-gray-100); 370 border-radius: 4px; 371} 372.csl-search-result-name { 373 font-size: 14px; 374 font-weight: 500; 375 margin: 0; 376 display: block; 377} 378.csl-search-result-info p { 379 font-size: 12px; 380 color: var(--csl-gray-500); 381 margin: 2px 0 0 0; 382} 383.csl-search-no-results { 384 padding: 20px; 385 text-align: center; 386 color: var(--csl-gray-500); 387} 388 389/* Header Icons */ 390.csl-header-icon { 391 width: 20px; 392 height: 20px; 393 stroke: var(--csl-gray-500); 394 stroke-width: 1.5; 395 fill: none; 396 cursor: pointer; 397 transition: stroke 0.2s; 398} 399.csl-header-icon:hover { stroke: var(--csl-black); } 400.csl-header-icon-link { 401 display: flex; 402 align-items: center; 403 justify-content: center; 404 text-decoration: none; 405} 406.csl-cart-icon, .csl-wishlist-icon { position: relative; } 407.csl-cart-count, .csl-wishlist-count { 408 position: absolute; 409 top: -6px; 410 right: -6px; 411 background: var(--csl-black); 412 color: var(--csl-white); 413 font-size: 10px; 414 font-weight: 600; 415 min-width: 18px; 416 height: 18px; 417 border-radius: 50%; 418 display: flex; 419 align-items: center; 420 justify-content: center; 421} 422.csl-wishlist-count { background: var(--csl-danger); display: none; } 423 424/* Mobile Menu Toggle */ 425.csl-mobile-menu-toggle { 426 display: none; 427 width: 40px; 428 height: 40px; 429 background: none; 430 border: 1px solid var(--csl-gray-300); 431 border-radius: 8px; 432 cursor: pointer; 433 align-items: center; 434 justify-content: center; 435} 436.csl-mobile-menu-toggle svg { 437 width: 24px; 438 height: 24px; 439 stroke: var(--csl-gray-700); 440 stroke-width: 2; 441 fill: none; 442} 443 444/* Mobile Navigation - Hidden by default */ 445.csl-mobile-nav { 446 display: none !important; 447 position: fixed; 448 top: 0; 449 left: 0; 450 right: 0; 451 bottom: 0; 452 background: var(--csl-white); 453 z-index: 9999; 454 padding: 20px; 455 flex-direction: column; 456 overflow-y: auto; 457} 458.csl-mobile-nav.active { display: flex !important; } 459.csl-mobile-nav-header { 460 display: flex; 461 justify-content: space-between; 462 align-items: center; 463 margin-bottom: 24px; 464 padding-bottom: 16px; 465 border-bottom: 1px solid var(--csl-gray-200); 466} 467.csl-mobile-nav-close { 468 width: 40px; 469 height: 40px; 470 background: none; 471 border: none; 472 cursor: pointer; 473 display: flex; 474 align-items: center; 475 justify-content: center; 476} 477.csl-mobile-nav-close svg { 478 width: 24px; 479 height: 24px; 480 stroke: var(--csl-gray-700); 481 stroke-width: 2; 482 fill: none; 483} 484.csl-mobile-nav-links { 485 display: flex; 486 flex-direction: column; 487} 488.csl-mobile-nav-links a { 489 padding: 16px 0; 490 font-size: 18px; 491 font-weight: 500; 492 color: var(--csl-gray-800); 493 text-decoration: none; 494 border-bottom: 1px solid var(--csl-gray-100); 495} 496.csl-mobile-search { 497 margin-bottom: 16px; 498 padding: 12px 16px; 499 background: var(--csl-gray-100); 500 border: 1px solid var(--csl-gray-200); 501 border-radius: 8px; 502 font-size: 16px; 503 width: 100%; 504} 505 506/* Size Guide Link */ 507.csl-size-guide-link { 508 display: flex; 509 align-items: center; 510 gap: 4px; 511 font-size: 13px; 512 color: var(--csl-gray-600); 513 text-decoration: none; 514} 515.csl-size-guide-link:hover { color: var(--csl-black); } 516.csl-size-guide-link svg { 517 width: 16px; 518 height: 16px; 519 stroke: currentColor; 520 stroke-width: 1.5; 521 fill: none; 522} 523 524/* Responsive */ 525@media (max-width: 1024px) { 526 .csl-search-box { width: 200px; } 527} 528@media (max-width: 768px) { 529 .csl-top-bar { padding: 6px 0; } 530 .csl-top-bar-links { display: none; } 531 .csl-top-bar-message { font-size: 11px; text-align: center; width: 100%; } 532 .csl-header { padding: 12px 0; } 533 .csl-header-inner { gap: 12px; } 534 .csl-logo { font-size: 20px; flex-shrink: 0; max-width: 45vw; } 535 .csl-logo img { height: 24px; width: auto; } 536 .csl-nav, .csl-search-box, .csl-size-guide-link { display: none; } 537 .csl-mobile-menu-toggle { display: flex; } 538 .csl-mobile-search-toggle { display: flex; } 539 .csl-header-actions { gap: 12px; } 540 .csl-header-icon { width: 18px; height: 18px; } 541 .csl-cart-count, .csl-wishlist-count { width: 16px; height: 16px; font-size: 9px; top: -4px; right: -4px; } 542} 543/* Mobile Search Overlay */
544.csl-mobile-search-toggle { 545 display: none; 546 width: 44px; 547 height: 44px; 548 background: none; 549 border: none; 550 cursor: pointer; 551 align-items: center; 552 justify-content: center; 553 padding: 0; 554} 555.csl-mobile-search-toggle svg { 556 width: 20px; 557 height: 20px; 558 stroke: var(--csl-gray-700); 559 stroke-width: 2; 560 fill: none; 561} 562.csl-mobile-search-overlay { 563 display: none; 564 position: fixed; 565 top: 0; 566 left: 0; 567 right: 0; 568 z-index: 10000; 569 background: var(--csl-white); 570 padding: 12px 16px; 571 box-shadow: 0 4px 12px rgba(0,0,0,0.1); 572} 573.csl-mobile-search-overlay.active { display: flex; gap: 8px; align-items: center; } 574.csl-mobile-search-overlay input { 575 flex: 1; 576 padding: 12px 16px; 577 font-size: 16px; 578 border: 1px solid var(--csl-gray-300); 579 border-radius: 8px; 580 outline: none; 581} 582.csl-mobile-search-overlay input:focus { border-color: var(--csl-black); } 583.csl-mobile-search-overlay .csl-mobile-search-close { 584 width: 44px; 585 height: 44px; 586 background: none; 587 border: none; 588 cursor: pointer; 589 display: flex; 590 align-items: center; 591 justify-content: center; 592} 593.csl-mobile-search-overlay .csl-mobile-search-close svg { 594 width: 24px; 595 height: 24px; 596 stroke: var(--csl-gray-600); 597 stroke-width: 2; 598 fill: none; 599} 600.csl-mobile-search-overlay .csl-search-results { 601 position: absolute; 602 top: 100%; 603 left: 0; 604 right: 0; 605 background: var(--csl-white); 606 max-height: 60vh; 607 overflow-y: auto; 608 box-shadow: 0 4px 12px rgba(0,0,0,0.1); 609} 610</style> 611 612<!-- Mobile Navigation (hidden by default, shown on mobile menu click) --> 613<div class="csl-mobile-nav" id="csl-mobile-nav" data-nosnippet> 614 <div class="csl-mobile-nav-header"> 615 <span class="csl-logo">CSL Shoes</span> 616 <button class="csl-mobile-nav-close" onclick="cslCloseMobileNav()" aria-label="Close menu"> 617 <svg viewBox="0 0 24 24" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> 618 </button> 619 </div> 620 <input type="text" class="csl-mobile-search" placeholder="Search shoes..." id="csl-mobile-search-input" aria-label="Search products"> 621 <div class="csl-mobile-nav-links"> 622 623 624 625 626 627 <a href="/shoes/oxfords" onclick="cslCloseMobileNav()">Oxfords</a> 628 629 630 631 <a href="/shoes/loafers" onclick="cslCloseMobileNav()">Loafers</a> 632 633 634 635 <a href="/shoes/slip-ons" onclick="cslCloseMobileNav()">Slip-Ons</a> 636 637 638 639 <a href="/shoes/wide-width" onclick="cslCloseMobileNav()">Wide Width</a> 640 641 642 643 <a href="/shoes/boys-dress-shoes" onclick="cslCloseMobileNav()">Boys' Shoes</a> 644 645 646 647 <a href="/all-products" onclick="cslCloseMobileNav()">All Products</a> 648 649 650 651 652 653 <a href="/brands/wizfort" onclick="cslCloseMobileNav()">Wizfort</a> 654 655 656 657 <a href="/brands/esse-comfort" onclick="cslCloseMobileNav()">Esse Comfort</a> 658 659 660 661 <a href="/brands/benelaccio" onclick="cslCloseMobileNav()">Benelaccio</a> 662 663 664 665 <a href="/blog" onclick="cslCloseMobileNav()">Blog</a> 666 667 668 669 <a href="/about" onclick="cslCloseMobileNav()">About</a> 670 671 672 673 674 675 <a href="/shoes/wedding-shoes" onclick="cslCloseMobileNav()">Wedding</a> 676 677 678 679 <a href="/shoes/school-shoes" onclick="cslCloseMobileNav()">School</a> 680 681 682 683 <a href="/shoes/office-shoes" onclick="cslCloseMobileNav()">Office</a> 684 685 686 687 688 689 <a href="/help" onclick="cslCloseMobileNav()">Help</a> 690 691 <a href="/track-order" onclick="cslCloseMobileNav()">Track Order</a> 692 693 <a href="/contact" onclick="cslCloseMobileNav()">Contact Us</a> 694 695 696 697 698 <a href="/login" onclick="cslCloseMobileNav()">Sign In</a> 699 700 </div> 701</div> 702 703<!-- Top Bar --> 704 705<div class="csl-top-bar" data-nosnippet> 706 <div class="csl-top-bar-content"> 707 708 709 710 <span class="csl-top-bar-message">Free standard shipping for retail orders | Family-Owned Since 2008 | 60-Day Easy Returns</span> 711 712 <div class="csl-top-bar-links"> 713 <a href="tel:+18456946700" class="csl-top-bar-phone"> 714 <svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg> 715 (845) 694-6700 716 </a> 717 718 719 <a href="/help">Help</a> 720 721 <a href="/track-order">Track Order</a> 722 723 <a href="/contact">Contact Us</a> 724 725 726 </div> 727 </div> 728</div> 729 730 731<!-- Header --> 732<header class="csl-header" data-nosnippet> 733 <div class="csl-header-inner"> 734 <button class="csl-mobile-menu-toggle" onclick="cslOpenMobileNav()" aria-label="Open menu"> 735 <svg viewBox="0 0 24 24" aria-hidden="true"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg> 736 </button> 737 <a href="/" class="csl-logo"> 738 739 <img src="/files/cslshoes.webp" alt="CSL Shoes logo" width="213" height="32"> 740 741 </a> 742 <nav class="csl-nav"> 743 744 745 746 <div class="csl-nav-dropdown"> 747 <a href="/shoes">Styles <svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"/></svg></a> 748 <div class="csl-dropdown-menu"> 749 750 751 752 753 <a href="/shoes/oxfords">Oxfords</a> 754 755 756 757 <a href="/shoes/loafers">Loafers</a> 758 759 760 761 <a href="/shoes/slip-ons">Slip-Ons</a> 762 763 764 765 <a href="/shoes/wide-width">Wide Width</a> 766 767 768 769 <a href="/shoes/boys-dress-shoes">Boys' Shoes</a> 770 771 772 773 <a href="/all-products">All Products</a> 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 </div> 797 </div> 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 <div class="csl-nav-dropdown"> 814 <a href="/brands">Brands <svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"/></svg></a> 815 <div class="csl-dropdown-menu"> 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 <a href="/brands/wizfort">Wizfort</a> 835 836 837 838 <a href="/brands/esse-comfort">Esse Comfort</a> 839 840 841 842 <a href="/brands/benelaccio">Benelaccio</a> 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 </div> 858 </div> 859 860 861 862 863 864 865 866 867 868 <a href="/blog">Blog</a> 869 870 871 872 <a href="/about">About</a> 873 874 875 876 <div class="csl-nav-dropdown"> 877 <a href="/shoes">Occasions <svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"/></svg></a> 878 <div class="csl-dropdown-menu"> 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 <a href="/shoes/wedding-shoes">Wedding</a> 910 911 912 913 <a href="/shoes/school-shoes">School</a> 914 915 916 917 <a href="/shoes/office-shoes">Office</a> 918 919 920 </div> 921 </div> 922 923 924 925 926 927 928 929 930 931 </nav> 932 <div class="csl-header-actions"> 933 <button class="csl-mobile-search-toggle" onclick="cslOpenMobileSearch()" aria-label="Search"> 934 <svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg> 935 </button> 936 <a href="/size-guide" class="csl-size-guide-link"> 937 <svg viewBox="0 0 24 24"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"/><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/></svg> 938 Size Guide 939 </a> 940 941 <div class="csl-search-box"> 942 <svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg> 943 <input type="text" id="csl-search-input" placeholder="Search shoes..." autocomplete="off" aria-label="Search products"> 944 <div class="csl-search-results" id="csl-search-results"></div> 945 </div> 946 947 948 949 <a href="/login" class="csl-header-icon-link" title="Sign In">
950 <svg class="csl-header-icon" viewBox="0 0 24 24"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg> 951 </a> 952 953 954 955 <a href="/wishlist" class="csl-wishlist-icon csl-header-icon-link" title="Wishlist"> 956 <svg class="csl-header-icon" viewBox="0 0 24 24"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg> 957 <span class="csl-wishlist-count" id="csl-wishlist-count">0</span> 958 </a> 959 960 961 <a href="/cart" class="csl-cart-icon csl-header-icon-link" title="Cart"> 962 <svg class="csl-header-icon" viewBox="0 0 24 24"><path d="M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"/><line x1="3" y1="6" x2="21" y2="6"/><path d="M16 10a4 4 0 0 1-8 0"/></svg> 963 <span class="csl-cart-count" id="csl-cart-count">0</span> 964 </a> 965 966 </div> 967 </div> 968</header> 969 970<!-- Mobile Search Overlay --> 971<div class="csl-mobile-search-overlay" id="csl-mobile-search-overlay"> 972 <input type="text" id="csl-mobile-search-input" placeholder="Search shoes..." autocomplete="off" aria-label="Search products"> 973 <button class="csl-mobile-search-close" onclick="cslCloseMobileSearch()" aria-label="Close search"> 974 <svg viewBox="0 0 24 24" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> 975 </button> 976 <div class="csl-search-results" id="csl-mobile-search-results"></div> 977</div> 978
979<script> 980// CSL Header JavaScript - Inline for reliability 981(function() { 982 var cslSearchTimeout; 983 984 // Mobile search 985 window.cslOpenMobileSearch = function() { 986 var overlay = document.getElementById('csl-mobile-search-overlay'); 987 overlay.classList.add('active'); 988 var input = document.getElementById('csl-mobile-search-input'); 989 input.value = ''; 990 input.focus(); 991 }; 992 993 window.cslCloseMobileSearch = function() { 994 document.getElementById('csl-mobile-search-overlay').classList.remove('active'); 995 document.getElementById('csl-mobile-search-results').innerHTML = ''; 996 }; 997 998 // Mobile navigation 999 window.cslOpenMobileNav = function() { 1000 document.getElementById('csl-mobile-nav').classList.add('active'); 1001 document.body.style.overflow = 'hidden'; 1002 }; 1003 1004 window.cslCloseMobileNav = function() { 1005 document.getElementById('csl-mobile-nav').classList.remove('active'); 1006 document.body.style.overflow = ''; 1007 }; 1008 1009 // Search functionality 1010 function initCslSearch() { 1011 var searchInput = document.getElementById('csl-search-input'); 1012 var searchResults = document.getElementById('csl-search-results'); 1013 1014 if (!searchInput) return; 1015 1016 searchInput.addEventListener('input', function() { 1017 clearTimeout(cslSearchTimeout); 1018 var query = this.value.trim(); 1019 1020 if (query.length < 2) { 1021 searchResults.classList.remove('active'); 1022 return; 1023 } 1024 1025 cslSearchTimeout = setTimeout(function() { cslSearchProducts(query); }, 300); 1026 }); 1027 1028 searchInput.addEventListener('focus', function() { 1029 if (this.value.trim().length >= 2) { 1030 searchResults.classList.add('active'); 1031 } 1032 }); 1033 1034 searchInput.addEventListener('keypress', function(e) { 1035 if (e.key === 'Enter') { 1036 var query = this.value.trim(); 1037 if (query) { 1038 window.location.href = '/all-products?search=' + encodeURIComponent(query); 1039 } 1040 } 1041 }); 1042 1043 document.addEventListener('click', function(e) { 1044 if (!e.target.closest('.csl-search-box')) { 1045 searchResults.classList.remove('active'); 1046 } 1047 }); 1048 } 1049 1050 // Mobile search - reuse same search logic 1051 function initCslMobileSearch() { 1052 var mobileInput = document.getElementById('csl-mobile-search-input'); 1053 var mobileResults = document.getElementById('csl-mobile-search-results'); 1054 if (!mobileInput) return; 1055 1056 mobileInput.addEventListener('input', function() { 1057 clearTimeout(cslSearchTimeout); 1058 var query = this.value.trim(); 1059 if (query.length < 2) { mobileResults.innerHTML = ''; return; } 1060 cslSearchTimeout = setTimeout(function() { cslSearchProductsMobile(query); }, 300); 1061 }); 1062 1063 mobileInput.addEventListener('keypress', function(e) { 1064 if (e.key === 'Enter') { 1065 var query = this.value.trim(); 1066 if (query) { 1067 window.location.href = '/all-products?search=' + encodeURIComponent(query); 1068 cslCloseMobileSearch(); 1069 } 1070 } 1071 }); 1072 } 1073 1074 function cslSearchProductsMobile(query) { 1075 var mobileResults = document.getElementById('csl-mobile-search-results'); 1076 fetch('/api/method/cslshoes_erp.api.search.search_products?query=' + encodeURIComponent(query)) 1077 .then(function(response) { return response.json(); }) 1078 .then(function(data) { 1079 if (data.message && data.message.length > 0) { 1080 mobileResults.innerHTML = data.message.map(function(product) { 1081 var safeName = cslEscapeHtml(product.web_item_name); 1082 var safeRoute = encodeURI(product.route || ''); 1083 var safeImage = cslEscapeHtml(product.website_image || '/assets/webshop/images/cart-empty-state.png'); 1084 return '<a href="/' + safeRoute + '" style="display:flex;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;color:#1a1a1a;border-bottom:1px solid #f3f4f6;">' + 1085 '<img src="' + safeImage + '" alt="' + safeName + '" width="50" height="50" style="border-radius:6px;object-fit:cover;">' + 1086 '<span style="font-size:14px;">' + safeName + '</span>' + 1087 '</a>'; 1088 }).join(''); 1089 } else { 1090 mobileResults.innerHTML = '<div style="padding:16px;text-align:center;color:#6b7280;">No products found</div>'; 1091 } 1092 }) 1093 .catch(function() { 1094 mobileResults.innerHTML = '<div style="padding:16px;text-align:center;color:#6b7280;">Search unavailable</div>'; 1095 }); 1096 } 1097 1098 function cslSearchProducts(query) { 1099 var searchResults = document.getElementById('csl-search-results'); 1100 1101 fetch('/api/method/cslshoes_erp.api.search.search_products?query=' + encodeURIComponent(query)) 1102 .then(function(response) { return response.json(); }) 1103 .then(function(data) { 1104 if (data.message && data.message.length > 0) {
1105 cslRenderSearchResults(data.message); 1106 } else { 1107 searchResults.innerHTML = '<div class="csl-search-no-results">No products found</div>'; 1108 } 1109 searchResults.classList.add('active'); 1110 }) 1111 .catch(function() { 1112 searchResults.innerHTML = '<div class="csl-search-no-results">Search unavailable</div>'; 1113 searchResults.classList.add('active'); 1114 }); 1115 } 1116 1117 function cslEscapeHtml(str) { 1118 if (!str) return ''; 1119 var div = document.createElement('div'); 1120 div.appendChild(document.createTextNode(String(str))); 1121 return div.innerHTML; 1122 } 1123 1124 function cslRenderSearchResults(products) { 1125 var searchResults = document.getElementById('csl-search-results'); 1126 searchResults.innerHTML = products.map(function(product) { 1127 var safeName = cslEscapeHtml(product.web_item_name); 1128 var safeRoute = encodeURI(product.route || ''); 1129 var safeBrand = cslEscapeHtml(product.brand || 'CSL Shoes'); 1130 var safeImage = cslEscapeHtml(product.website_image || '/assets/webshop/images/cart-empty-state.png'); 1131 return '<a href="/' + safeRoute + '" class="csl-search-result-item">' + 1132 '<img src="' + safeImage + '" alt="' + safeName + '">' + 1133 '<div class="csl-search-result-info">' + 1134 '<span class="csl-search-result-name">' + safeName + '</span>' + 1135 '<p>' + safeBrand + '</p>' + 1136 '</div>' + 1137 '</a>'; 1138 }).join(''); 1139 } 1140 1141 // Cart count update - supports both guests and logged-in users 1142 function updateCslCartCount() { 1143 var isGuest = document.body.getAttribute('frappe-session-status') === 'logged-out'; 1144 1145 if (isGuest) { 1146 // Guest: use guest cart API 1147 var cartIdMatch = document.cookie.match(/guest_cart_id=([^;]+)/); 1148 var cartId = cartIdMatch ? cartIdMatch[1] : null; 1149 1150 fetch('/api/method/cslshoes_erp.api.guest_cart.get_cart_count', { 1151 method: 'POST', 1152 headers: { 'Content-Type': 'application/json' }, 1153 credentials: 'same-origin', 1154 body: JSON.stringify({ cart_id: cartId }) 1155 }) 1156 .then(function(r) { return r.json(); }) 1157 .then(function(data) { 1158 if (data.message) { 1159 var count = data.message.count || 0; 1160 updateCartCountDisplay(count); 1161 } 1162 }) 1163 .catch(function() {}); 1164 } else { 1165 // Logged-in user: use quotation API 1166 fetch('/api/method/webshop.webshop.shopping_cart.cart.get_cart_quotation', { 1167 method: 'GET', 1168 headers: { 'Content-Type': 'application/json' }, 1169 credentials: 'same-origin' 1170 }) 1171 .then(function(r) { return r.json(); }) 1172 .then(function(data) { 1173 if (data.message && data.message.doc) { 1174 var totalQty = data.message.doc.total_qty || 0; 1175 updateCartCountDisplay(totalQty); 1176 } 1177 }) 1178 .catch(function() {}); 1179 } 1180 } 1181 1182 // Helper to update cart count display in header 1183 function updateCartCountDisplay(count) { 1184 count = Math.floor(count); 1185 var countEl = document.getElementById('csl-cart-count'); 1186 if (countEl) { 1187 countEl.textContent = count; 1188 countEl.style.display = count > 0 ? 'flex' : 'none'; 1189 } 1190 } 1191 1192 // Wishlist count update 1193 function updateCslWishlistCount() { 1194 fetch('/api/method/cslshoes_erp.api.wishlist.get_wishlist_count', { 1195 method: 'GET', 1196 credentials: 'same-origin' 1197 }) 1198 .then(function(r) { return r.json(); }) 1199 .then(function(data) { 1200 var count = data.message || 0; 1201 var countEl = document.getElementById('csl-wishlist-count'); 1202 if (countEl) { 1203 if (count > 0) { 1204 countEl.textContent = count; 1205 countEl.style.display = 'flex'; 1206 } else { 1207 countEl.style.display = 'none'; 1208 } 1209 } 1210 }) 1211 .catch(function() {}); 1212 } 1213 1214 // Initialize on DOM ready 1215 if (document.readyState === 'loading') { 1216 document.addEventListener('DOMContentLoaded', function() { 1217 initCslSearch(); 1218 initCslMobileSearch(); 1219 updateCslCartCount(); 1220 updateCslWishlistCount(); 1221 }); 1222 } else {
1223 initCslSearch(); 1224 initCslMobileSearch(); 1225 updateCslCartCount(); 1226 updateCslWishlistCount(); 1227 } 1228 1229 // BUG-W3 cart sub: expose count refreshers globally so add-to-cart handlers 1230 // in homepage / PDP / /all-products can trigger header re-sync after mutation. 1231 // Idempotency guard (auditor C1) â if a future include order re-exposes, keep 1232 // the first definition. 1233 window.updateCslCartCount = window.updateCslCartCount || updateCslCartCount; 1234 window.updateCslWishlistCount = window.updateCslWishlistCount || updateCslWishlistCount; 1235})(); 1236</script>
1236<main id="main-content"> 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248<div class="container"> 1249 <div class="row" id="page-portal" data-path="blog"> 1250<div class="sidebar-column col-sm-2"> 1251 1252 1253 1254 1255 1256 1257 1258<div class="web-sidebar"> 1259 1260 <div class="sidebar-items"> 1261 1262 1263 1264 1265 </div> 1266</div> 1267
1268<script> 1269 frappe.ready(function () { 1270 $('.sidebar-item a').each(function (index) { 1271 const active_class = 'active' 1272 const non_active_class = '' 1273 let page_href = window.location.href; 1274 if (page_href.indexOf('#') !== -1) { 1275 page_href = page_href.slice(0, page_href.indexOf('#')); 1276 } 1277 if (this.href.trim() == page_href) { 1278 $(this).removeClass(non_active_class).addClass(active_class); 1279 } else { 1280 $(this).removeClass(active_class).addClass(non_active_class); 1281 } 1282 }); 1283 1284 // scroll the active sidebar item into view 1285 let active_sidebar_item = $('.sidebar-item a.active'); 1286 if (active_sidebar_item.length > 0) { 1287 active_sidebar_item.get(0) 1288 .scrollIntoView({behavior: "auto", block: "center", inline: "nearest"}); 1289 } 1290 }); 1291</script>
1291 1292 1293</div> 1294<div class="main-column col-sm-10"> 1295 1296<div class="page-content-wrapper"> 1297 <!-- breadcrumbs --> 1298 <div class="page-breadcrumbs"> 1299 1300 1301 1302 </div> 1303 1304 1305 <main class="container"> 1306 <div class="page-header-wrapper"> 1307 <div class="page-header"> 1308 1309 </div> 1310 1311 1312 </div> 1313 1314 <div class="page_content"> 1315 1316<div class="row py-8"> 1317 <div class="col-md-8"> 1318 <div class="hero"> 1319 <div class="hero-content"> 1320 <h1>Shoe Care, Style & Buying Guides</h1> 1321 <p>Expert guides on dress shoe styles, leather care, sizing tips, and buying advice from CSL Shoes. Trusted footwear knowledge for men and boys.</p> 1322 </div> 1323 </div></div> 1324</div> 1325 1326<div class="blog-list-content"> 1327 <div data-doctype="Blog Post" data-txt=""> 1328 1329 <div id="blog-list" class="blog-list result row"> 1330 1331 <div class="blog-card col-sm-12 col-md-4"> 1332 <div class="card h-100"> 1333 <div class="card-img-top"> 1334 1335 <img src="/files/305_Main_Square.webp" alt="Fall Style Preview: Dress Shoes for the Holiday Season - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1336 1337 </div> 1338 <div class="card-body"> 1339 <div> 1340 <div class="text-muted small text-uppercase"><span>Style Guide</span> 1341 </div> 1342 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Fall Style Preview: Dress Shoes for the Holiday Season</span></h2> 1343 <p class="post-description text-muted">From Thanksgiving to New Year's Eve â the dress shoes, colors, and styles that will carry you through the holiday season in style.</p> 1344 </div> 1345 <div class="blog-card-footer"> 1346 1347 1348 1349 1350<span class="avatar avatar-medium" title="Michael Torres" style=""> 1351 1352 <span 1353 class="avatar-frame standard-image" 1354 title="Michael Torres"> 1355 MT 1356 </span> 1357 1358</span> 1359 1360 <div class="text-muted"> 1361 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1362 <div class="small"> 1363 February 26, 2026 1364 · 9 min read 1365 </div> 1366 </div> 1367 </div> 1368 </div> 1369 <a class="stretched-link" href="/blog/style-guide/fall-style-preview-dress-shoes-for-the-holiday-season"></a> 1370 </div> 1371</div> 1372 1373 <div class="blog-card col-sm-12 col-md-4"> 1374 <div class="card h-100"> 1375 <div class="card-img-top"> 1376 1377 <img src="/files/305_Main_Square.webp" alt="Benelaccio: Italian Elegance for the Modern Gentleman - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1378 1379 </div> 1380 <div class="card-body"> 1381 <div> 1382 <div class="text-muted small text-uppercase"><span>Buying Guide</span> 1383 </div> 1384 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Benelaccio: Italian Elegance for the Modern Gentleman</span></h2> 1385 <p class="post-description text-muted">A hands-on look at Benelaccio's Italian-inspired dress shoes for men and boys â design philosophy, quality, and what makes the brand stand out.</p> 1386 </div> 1387 <div class="blog-card-footer"> 1388 1389 1390 1391 1392<span class="avatar avatar-medium" title="Michael Torres" style=""> 1393 1394 <span 1395 class="avatar-frame standard-image" 1396 title="Michael Torres"> 1397 MT 1398 </span> 1399 1400</span> 1401 1402 <div class="text-muted"> 1403 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1404 <div class="small"> 1405 February 24, 2026 1406 · 9 min read 1407 </div> 1408 </div> 1409 </div> 1410 </div> 1411 <a class="stretched-link" href="/blog/buying-guide/benelaccio-italian-inspired-elegance-for-the-modern-gentleman"></a> 1412 </div> 1413</div> 1414 1415 <div class="blog-card col-sm-12 col-md-4"> 1416 <div class="card h-100"> 1417 <div class="card-img-top"> 1418 1419 <img src="/files/600_Main.webp" alt="How to Buy Quality Leather Shoes That Last - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1420 1421 </div> 1422 <div class="card-body"> 1423 <div> 1424 <div class="text-muted small text-uppercase"><span>Buying Guide</span> 1425 </div> 1426 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">How to Buy Quality Leather Shoes That Last</span></h2> 1427 <p class="post-description text-muted">A footwear specialist's guide to spotting quality in leather shoes â what to check before you buy so your shoes last for years.</p> 1428 </div> 1429 <div class="blog-card-footer"> 1430 1431 1432 1433 1434<span class="avatar avatar-medium" title="Michael Torres" style=""> 1435 1436 <span 1437 class="avatar-frame standard-image" 1438 title="Michael Torres"> 1439 MT 1440 </span> 1441 1442</span> 1443 1444 <div class="text-muted"> 1445 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1446 <div class="small"> 1447 February 21, 2026 1448 · 11 min read 1449 </div>
1450 </div> 1451 </div> 1452 </div> 1453 <a class="stretched-link" href="/blog/buying-guide/how-to-buy-quality-leather-shoes-that-last"></a> 1454 </div> 1455</div> 1456 1457 <div class="blog-card col-sm-12 col-md-4"> 1458 <div class="card h-100"> 1459 <div class="card-img-top"> 1460 1461 <img src="/files/600_Main.webp" alt="Business Casual Shoes: The Complete Men's Guide - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1462 1463 </div> 1464 <div class="card-body"> 1465 <div> 1466 <div class="text-muted small text-uppercase"><span>Style Guide</span> 1467 </div> 1468 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Business Casual Shoes: The Complete Men's Guide</span></h2> 1469 <p class="post-description text-muted">Which shoes qualify as business casual? A footwear specialist breaks down the styles, colors, and rules for every office dress code.</p> 1470 </div> 1471 <div class="blog-card-footer"> 1472 1473 1474 1475 1476<span class="avatar avatar-medium" title="Michael Torres" style=""> 1477 1478 <span 1479 class="avatar-frame standard-image" 1480 title="Michael Torres"> 1481 MT 1482 </span> 1483 1484</span> 1485 1486 <div class="text-muted"> 1487 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1488 <div class="small"> 1489 February 19, 2026 1490 · 9 min read 1491 </div> 1492 </div> 1493 </div> 1494 </div> 1495 <a class="stretched-link" href="/blog/style-guide/business-casual-shoes-the-complete-mens-guide"></a> 1496 </div> 1497</div> 1498 1499 <div class="blog-card col-sm-12 col-md-4"> 1500 <div class="card h-100"> 1501 <div class="card-img-top"> 1502 1503 <img src="/files/22069_main_Square.webp" alt="Comfortable Shoes for Standing All Day - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1504 1505 </div> 1506 <div class="card-body"> 1507 <div> 1508 <div class="text-muted small text-uppercase"><span>Buying Guide</span> 1509 </div> 1510 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Comfortable Shoes for Standing All Day</span></h2> 1511 <p class="post-description text-muted">What to look for in dress shoes when you stand all day â cushioning, arch support, materials, and the brands built for all-day comfort.</p> 1512 </div> 1513 <div class="blog-card-footer"> 1514 1515 1516 1517 1518<span class="avatar avatar-medium" title="Michael Torres" style=""> 1519 1520 <span 1521 class="avatar-frame standard-image" 1522 title="Michael Torres"> 1523 MT 1524 </span> 1525 1526</span> 1527 1528 <div class="text-muted"> 1529 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1530 <div class="small"> 1531 February 17, 2026 1532 · 9 min read 1533 </div> 1534 </div> 1535 </div> 1536 </div> 1537 <a class="stretched-link" href="/blog/buying-guide/comfortable-shoes-for-standing-all-day"></a> 1538 </div> 1539</div> 1540 1541 <div class="blog-card col-sm-12 col-md-4"> 1542 <div class="card h-100"> 1543 <div class="card-img-top"> 1544 1545 <img src="/files/300_main_Square.webp" alt="Blake Stitch vs Goodyear Welt: Shoe Construction Guide - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1546 1547 </div> 1548 <div class="card-body"> 1549 <div> 1550 <div class="text-muted small text-uppercase"><span>Shoe Care</span> 1551 </div> 1552 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Blake Stitch vs Goodyear Welt: Shoe Construction Guide</span></h2> 1553 <p class="post-description text-muted">A detailed comparison of Blake stitch and Goodyear welt construction â how each method works, and which is better for your needs.</p> 1554 </div> 1555 <div class="blog-card-footer"> 1556 1557 1558 1559 1560<span class="avatar avatar-medium" title="Michael Torres" style=""> 1561 1562 <span 1563 class="avatar-frame standard-image" 1564 title="Michael Torres"> 1565 MT 1566 </span> 1567 1568</span> 1569 1570 <div class="text-muted"> 1571 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1572 <div class="small"> 1573 February 14, 2026 1574 · 11 min read 1575 </div> 1576 </div> 1577 </div> 1578 </div> 1579 <a class="stretched-link" href="/blog/shoe-care/understanding-shoe-construction-blake-stitch-vs-goodyear-welt"></a> 1580 </div> 1581</div> 1582 1583 <div class="blog-card col-sm-12 col-md-4"> 1584 <div class="card h-100"> 1585 <div class="card-img-top"> 1586 1587 <img src="/files/610_Main.webp" alt="Oxford Shoes: History, Styles, and How to Wear Them - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1588 1589 </div> 1590 <div class="card-body"> 1591 <div> 1592 <div class="text-muted small text-uppercase"><span>Style Guide</span> 1593 </div> 1594 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Oxford Shoes: History, Styles, and How to Wear Them</span></h2> 1595 <p class="post-description text-muted">From their origins at Oxford University to today's essential dress shoe â everything you need to know about oxford shoes.</p> 1596 </div> 1597 <div class="blog-card-footer"> 1598 1599 1600 1601 1602<span class="avatar avatar-medium" title="Michael Torres" style=""> 1603 1604 <span 1605 class="avatar-frame standard-image" 1606 title="Michael Torres"> 1607 MT 1608 </span> 1609 1610</span> 1611 1612 <div class="text-muted"> 1613 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1614 <div class="small"> 1615 February 12, 2026 1616 · 12 min read 1617 </div>
1618 </div> 1619 </div> 1620 </div> 1621 <a class="stretched-link" href="/blog/style-guide/oxford-shoes-history-styles-and-how-to-wear-them"></a> 1622 </div> 1623</div> 1624 1625 <div class="blog-card col-sm-12 col-md-4"> 1626 <div class="card h-100"> 1627 <div class="card-img-top"> 1628 1629 <img src="/files/90683_Main_Square.webp" alt="Boys' Dress Shoes for Bar Mitzvahs and Formal Events - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1630 1631 </div> 1632 <div class="card-body"> 1633 <div> 1634 <div class="text-muted small text-uppercase"><span>Buying Guide</span> 1635 </div> 1636 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Boys' Dress Shoes for Bar Mitzvahs and Formal Events</span></h2> 1637 <p class="post-description text-muted">A parent's guide to choosing the right dress shoes for bar mitzvahs, weddings, and formal events â styles, sizing, and comfort tips for boys.</p> 1638 </div> 1639 <div class="blog-card-footer"> 1640 1641 1642 1643 1644<span class="avatar avatar-medium" title="Michael Torres" style=""> 1645 1646 <span 1647 class="avatar-frame standard-image" 1648 title="Michael Torres"> 1649 MT 1650 </span> 1651 1652</span> 1653 1654 <div class="text-muted"> 1655 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1656 <div class="small"> 1657 February 10, 2026 1658 · 9 min read 1659 </div> 1660 </div> 1661 </div> 1662 </div> 1663 <a class="stretched-link" href="/blog/buying-guide/boys-dress-shoes-for-bar-mitzvahs-and-formal-events"></a> 1664 </div> 1665</div> 1666 1667 <div class="blog-card col-sm-12 col-md-4"> 1668 <div class="card h-100"> 1669 <div class="card-img-top"> 1670 1671 <img src="/files/610_Main.webp" alt="Leather Shoe Care Calendar: Month-by-Month Guide - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1672 1673 </div> 1674 <div class="card-body"> 1675 <div> 1676 <div class="text-muted small text-uppercase"><span>Shoe Care</span> 1677 </div> 1678 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Leather Shoe Care Calendar: Month-by-Month Guide</span></h2> 1679 <p class="post-description text-muted">Most men forget about shoe care until the damage is done. This month-by-month leather shoe care calendar gives you a simple routine to keep your shoes looking great all year.</p> 1680 </div> 1681 <div class="blog-card-footer"> 1682 1683 1684 1685 1686<span class="avatar avatar-medium" title="Michael Torres" style=""> 1687 1688 <span 1689 class="avatar-frame standard-image" 1690 title="Michael Torres"> 1691 MT 1692 </span> 1693 1694</span> 1695 1696 <div class="text-muted"> 1697 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1698 <div class="small"> 1699 February 7, 2026 1700 1701 </div> 1702 </div> 1703 </div> 1704 </div> 1705 <a class="stretched-link" href="/blog/shoe-care/leather-shoe-care-calendar-month-by-month-guide"></a> 1706 </div> 1707</div> 1708 1709 <div class="blog-card col-sm-12 col-md-4"> 1710 <div class="card h-100"> 1711 <div class="card-img-top"> 1712 1713 <img src="/files/300_main_Square.webp" alt="How to Match Dress Shoes with Suits: A Color Guide - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1714 1715 </div> 1716 <div class="card-body"> 1717 <div> 1718 <div class="text-muted small text-uppercase"><span>Style Guide</span> 1719 </div> 1720 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">How to Match Dress Shoes with Suits: A Color Guide</span></h2> 1721 <p class="post-description text-muted">The right shoe-suit color pairing pulls your entire look together. This guide breaks down every combination so you never second-guess your footwear again.</p> 1722 </div> 1723 <div class="blog-card-footer"> 1724 1725 1726 1727 1728<span class="avatar avatar-medium" title="Michael Torres" style=""> 1729 1730 <span 1731 class="avatar-frame standard-image" 1732 title="Michael Torres"> 1733 MT 1734 </span> 1735 1736</span> 1737 1738 <div class="text-muted"> 1739 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1740 <div class="small"> 1741 February 5, 2026 1742 1743 </div> 1744 </div> 1745 </div> 1746 </div> 1747 <a class="stretched-link" href="/blog/style-guide/how-to-match-dress-shoes-with-suits-a-color-guide"></a> 1748 </div> 1749</div> 1750 1751 <div class="blog-card col-sm-12 col-md-4"> 1752 <div class="card h-100"> 1753 <div class="card-img-top"> 1754 1755 <img src="/files/057_Main.webp" alt="Esse Comfort Shoes: All-Day Comfort Technology Explained - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1756 1757 </div> 1758 <div class="card-body"> 1759 <div> 1760 <div class="text-muted small text-uppercase"><span>Buying Guide</span> 1761 </div> 1762 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Esse Comfort Shoes: All-Day Comfort Technology Explained</span></h2> 1763 <p class="post-description text-muted">Esse Comfort shoes combine sheepskin lining, cushioned insoles, and wide fit options to deliver all-day comfort without compromising on style.</p> 1764 </div> 1765 <div class="blog-card-footer"> 1766 1767 1768 1769 1770<span class="avatar avatar-medium" title="Michael Torres" style=""> 1771 1772 <span 1773 class="avatar-frame standard-image" 1774 title="Michael Torres"> 1775 MT 1776 </span> 1777 1778</span> 1779 1780 <div class="text-muted"> 1781 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1782 <div class="small"> 1783 February 3, 2026 1784 1785 </div>
1786 </div> 1787 </div> 1788 </div> 1789 <a class="stretched-link" href="/blog/buying-guide/esse-comfort-shoes-all-day-comfort-technology-explained"></a> 1790 </div> 1791</div> 1792 1793 <div class="blog-card col-sm-12 col-md-4"> 1794 <div class="card h-100"> 1795 <div class="card-img-top"> 1796 1797 <img src="/files/Wizfort900_Main.webp" alt="Why Quality Leather Shoes Are Worth the Investment in 2026 - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1798 1799 </div> 1800 <div class="card-body"> 1801 <div> 1802 <div class="text-muted small text-uppercase"><span>Shoe Care</span> 1803 </div> 1804 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Why Quality Leather Shoes Are Worth the Investment in 2026</span></h2> 1805 <p class="post-description text-muted">Buying three pairs of cheap shoes costs more than one great pair of leather shoes. Here is the math, the construction details, and why 2026 makes the case stronger than ever.</p> 1806 </div> 1807 <div class="blog-card-footer"> 1808 1809 1810 1811 1812<span class="avatar avatar-medium" title="Michael Torres" style=""> 1813 1814 <span 1815 class="avatar-frame standard-image" 1816 title="Michael Torres"> 1817 MT 1818 </span> 1819 1820</span> 1821 1822 <div class="text-muted"> 1823 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1824 <div class="small"> 1825 February 1, 2026 1826 1827 </div> 1828 </div> 1829 </div> 1830 </div> 1831 <a class="stretched-link" href="/blog/shoe-care/why-quality-leather-shoes-are-worth-the-investment-in-2026"></a> 1832 </div> 1833</div> 1834 1835 <div class="blog-card col-sm-12 col-md-4"> 1836 <div class="card h-100"> 1837 <div class="card-img-top"> 1838 1839 <img src="/files/019_main_Square.webp" alt="Job Interview Shoes: Making the Right First Impression - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1840 1841 </div> 1842 <div class="card-body"> 1843 <div> 1844 <div class="text-muted small text-uppercase"><span>Style Guide</span> 1845 </div> 1846 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Job Interview Shoes: Making the Right First Impression</span></h2> 1847 <p class="post-description text-muted">Your job interview shoes say more about you than your resume in those first critical seconds. Here is how to choose the right pair for any industry.</p> 1848 </div> 1849 <div class="blog-card-footer"> 1850 1851 1852 1853 1854<span class="avatar avatar-medium" title="Michael Torres" style=""> 1855 1856 <span 1857 class="avatar-frame standard-image" 1858 title="Michael Torres"> 1859 MT 1860 </span> 1861 1862</span> 1863 1864 <div class="text-muted"> 1865 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1866 <div class="small"> 1867 January 29, 2026 1868 1869 </div> 1870 </div> 1871 </div> 1872 </div> 1873 <a class="stretched-link" href="/blog/style-guide/job-interview-shoes-making-the-right-first-impression"></a> 1874 </div> 1875</div> 1876 1877 <div class="blog-card col-sm-12 col-md-4"> 1878 <div class="card h-100"> 1879 <div class="card-img-top"> 1880 1881 <img src="/files/019_main_Square.webp" alt="Best Dress Shoes for Flat Feet: Comfort Without Compromise - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1882 1883 </div> 1884 <div class="card-body"> 1885 <div> 1886 <div class="text-muted small text-uppercase"><span>Buying Guide</span> 1887 </div> 1888 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Best Dress Shoes for Flat Feet: Comfort Without Compromise</span></h2> 1889 <p class="post-description text-muted">Flat feet should not mean flat style. Discover the best dress shoes for flat feet with built-in arch support and cushioning that lasts all day.</p> 1890 </div> 1891 <div class="blog-card-footer"> 1892 1893 1894 1895 1896<span class="avatar avatar-medium" title="Michael Torres" style=""> 1897 1898 <span 1899 class="avatar-frame standard-image" 1900 title="Michael Torres"> 1901 MT 1902 </span> 1903 1904</span> 1905 1906 <div class="text-muted"> 1907 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1908 <div class="small"> 1909 January 27, 2026 1910 1911 </div> 1912 </div> 1913 </div> 1914 </div> 1915 <a class="stretched-link" href="/blog/buying-guide/best-dress-shoes-for-flat-feet-comfort-without-compromise"></a> 1916 </div> 1917</div> 1918 1919 <div class="blog-card col-sm-12 col-md-4"> 1920 <div class="card h-100"> 1921 <div class="card-img-top"> 1922 1923 <img src="/files/18513_Main.webp" alt="What Makes Sheepskin-Lined Shoes Different - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1924 1925 </div> 1926 <div class="card-body"> 1927 <div> 1928 <div class="text-muted small text-uppercase"><span>
1928Shoe Care</span> 1929 </div> 1930 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">What Makes Sheepskin-Lined Shoes Different</span></h2> 1931 <p class="post-description text-muted">Sheepskin-lined shoes regulate temperature, wick moisture, and mold to your feet naturally. Discover what makes this premium lining worth the investment.</p> 1932 </div> 1933 <div class="blog-card-footer"> 1934 1935 1936 1937 1938<span class="avatar avatar-medium" title="Michael Torres" style=""> 1939 1940 <span 1941 class="avatar-frame standard-image" 1942 title="Michael Torres"> 1943 MT 1944 </span> 1945 1946</span> 1947 1948 <div class="text-muted"> 1949 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1950 <div class="small"> 1951 January 25, 2026 1952 1953 </div> 1954 </div> 1955 </div> 1956 </div> 1957 <a class="stretched-link" href="/blog/shoe-care/what-makes-sheepskin-lined-shoes-different"></a> 1958 </div> 1959</div> 1960 1961 <div class="blog-card col-sm-12 col-md-4"> 1962 <div class="card h-100"> 1963 <div class="card-img-top"> 1964 1965 <img src="/files/303_Main.webp" alt="How to Build a 5-Shoe Dress Shoe Collection - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 1966 1967 </div> 1968 <div class="card-body"> 1969 <div> 1970 <div class="text-muted small text-uppercase"><span>Style Guide</span> 1971 </div> 1972 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">How to Build a 5-Shoe Dress Shoe Collection</span></h2> 1973 <p class="post-description text-muted">You don't need 20 pairs of dress shoes. A smart 5-shoe collection covers every occasion from black-tie to casual Friday.</p> 1974 </div> 1975 <div class="blog-card-footer"> 1976 1977 1978 1979 1980<span class="avatar avatar-medium" title="Michael Torres" style=""> 1981 1982 <span 1983 class="avatar-frame standard-image" 1984 title="Michael Torres"> 1985 MT 1986 </span> 1987 1988</span> 1989 1990 <div class="text-muted"> 1991 <a href="/blog?blogger=michael-torres">Michael Torres</a> 1992 <div class="small"> 1993 January 22, 2026 1994 1995 </div> 1996 </div> 1997 </div> 1998 </div> 1999 <a class="stretched-link" href="/blog/style-guide/how-to-build-a-5-shoe-dress-shoe-collection"></a> 2000 </div> 2001</div> 2002 2003 <div class="blog-card col-sm-12 col-md-4"> 2004 <div class="card h-100"> 2005 <div class="card-img-top"> 2006 2007 <img src="/files/Wizfort900_Main.webp" alt="Wizfort Shoes Review: Premium Leather at an Honest Price - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 2008 2009 </div> 2010 <div class="card-body"> 2011 <div> 2012 <div class="text-muted small text-uppercase"><span>Buying Guide</span> 2013 </div> 2014 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Wizfort Shoes Review: Premium Leather at an Honest Price</span></h2> 2015 <p class="post-description text-muted">Looking for genuine leather dress shoes that deliver real quality without the luxury markup? This hands-on Wizfort shoes review covers materials, construction, comfort, and value across their full lineup.</p> 2016 </div> 2017 <div class="blog-card-footer"> 2018 2019 2020 2021 2022<span class="avatar avatar-medium" title="Michael Torres" style=""> 2023 2024 <span 2025 class="avatar-frame standard-image" 2026 title="Michael Torres"> 2027 MT 2028 </span> 2029 2030</span> 2031 2032 <div class="text-muted"> 2033 <a href="/blog?blogger=michael-torres">Michael Torres</a> 2034 <div class="small"> 2035 January 20, 2026 2036 · 9 min read 2037 </div> 2038 </div> 2039 </div> 2040 </div> 2041 <a class="stretched-link" href="/blog/buying-guide/wizfort-shoes-review-premium-leather-at-an-honest-price"></a> 2042 </div> 2043</div> 2044 2045 <div class="blog-card col-sm-12 col-md-4"> 2046 <div class="card h-100"> 2047 <div class="card-img-top"> 2048 2049 <img src="/files/605_Main.webp" alt="Leather Sole vs Rubber Sole: Which Is Right for You? - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 2050 2051 </div> 2052 <div class="card-body"> 2053 <div> 2054 <div class="text-muted small text-uppercase"><span>Shoe Care</span> 2055 </div> 2056 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Leather Sole vs Rubber Sole: Which Is Right for You?</span></h2> 2057 <p class="post-description text-muted">Leather or rubber? The sole of your shoe affects comfort, durability, and style more than you think. Here's how to choose the right one.</p> 2058 </div> 2059 <div class="blog-card-footer"> 2060 2061 2062 2063 2064<span class="avatar avatar-medium" title="Michael Torres" style=""> 2065 2066 <span 2067 class="avatar-frame standard-image" 2068 title="Michael Torres"> 2069 MT 2070 </span> 2071 2072</span> 2073 2074 <div class="text-muted"> 2075 <a href="/blog?blogger=michael-torres">Michael Torres</a> 2076 <div class="small"> 2077 January 18, 2026 2078 2079 </div>
2080 </div> 2081 </div> 2082 </div> 2083 <a class="stretched-link" href="/blog/shoe-care/leather-sole-vs-rubber-sole-which-is-right-for-you"></a> 2084 </div> 2085</div> 2086 2087 <div class="blog-card col-sm-12 col-md-4"> 2088 <div class="card h-100"> 2089 <div class="card-img-top"> 2090 2091 <img src="/files/305_Main_Square.webp" alt="Prom Shoes for Men: Style Guide 2026 - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 2092 2093 </div> 2094 <div class="card-body"> 2095 <div> 2096 <div class="text-muted small text-uppercase"><span>Style Guide</span> 2097 </div> 2098 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Prom Shoes for Men: Style Guide 2026</span></h2> 2099 <p class="post-description text-muted">Your prom night deserves the right shoes. Find the best men's prom shoes for 2026 with our style, comfort, and budget guide.</p> 2100 </div> 2101 <div class="blog-card-footer"> 2102 2103 2104 2105 2106<span class="avatar avatar-medium" title="Michael Torres" style=""> 2107 2108 <span 2109 class="avatar-frame standard-image" 2110 title="Michael Torres"> 2111 MT 2112 </span> 2113 2114</span> 2115 2116 <div class="text-muted"> 2117 <a href="/blog?blogger=michael-torres">Michael Torres</a> 2118 <div class="small"> 2119 January 15, 2026 2120 2121 </div> 2122 </div> 2123 </div> 2124 </div> 2125 <a class="stretched-link" href="/blog/style-guide/prom-shoes-for-men-style-guide-2026"></a> 2126 </div> 2127</div> 2128 2129 <div class="blog-card col-sm-12 col-md-4"> 2130 <div class="card h-100"> 2131 <div class="card-img-top"> 2132 2133 <img src="/files/DSC01478.webp" alt="Boys Communion Shoes: A Parent's Complete Guide - Cover Image" width="600" height="338" loading="lazy" decoding="async"> 2134 2135 </div> 2136 <div class="card-body"> 2137 <div> 2138 <div class="text-muted small text-uppercase"><span>Buying Guide</span> 2139 </div> 2140 <h2 class="mt-1" style="font-size: 1.25rem;"><span class="text-dark">Boys Communion Shoes: A Parent's Complete Guide</span></h2> 2141 <p class="post-description text-muted">Choosing the right shoes for your son's First Communion is an important part of preparing for this milestone. Find comfortable, stylish communion shoes.</p> 2142 </div> 2143 <div class="blog-card-footer"> 2144 2145 2146 2147 2148<span class="avatar avatar-medium" title="Michael Torres" style=""> 2149 2150 <span 2151 class="avatar-frame standard-image" 2152 title="Michael Torres"> 2153 MT 2154 </span> 2155 2156</span> 2157 2158 <div class="text-muted"> 2159 <a href="/blog?blogger=michael-torres">Michael Torres</a> 2160 <div class="small"> 2161 January 13, 2026 2162 · 9 min read 2163 </div> 2164 </div> 2165 </div> 2166 </div> 2167 <a class="stretched-link" href="/blog/buying-guide/boys-communion-shoes-a-parents-complete-guide"></a> 2168 </div> 2169</div> 2170 2171 </div> 2172 2173 <button class="btn btn-light btn-more btn ">Load More</button> 2174 </div> 2175</div> 2176</div> 2177 2178 <div class="page-footer"></div> 2179 </main> 2180 2181</div> 2182 2183 </div></div> 2184</div> 2185 2186 2187 2188 </main><style> 2189/* CSL Shoes Shared Footer */ 2190.csl-footer { 2191 background: #111; 2192 color: #9ca3af; 2193 padding: 60px 0 30px; 2194 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 2195} 2196.csl-footer .container { 2197 max-width: 1400px; 2198 margin: 0 auto; 2199 padding: 0 20px; 2200} 2201.csl-footer-grid { 2202 display: grid; 2203 grid-template-columns: 2fr 1fr 1fr 1fr 1.5fr; 2204 gap: 40px; 2205 margin-bottom: 40px; 2206} 2207.csl-footer-brand p { 2208 font-size: 13px; 2209 line-height: 1.6; 2210 margin-bottom: 20px; 2211 max-width: 280px; 2212} 2213.csl-footer-logo { 2214 font-size: 20px; 2215 font-weight: 700; 2216 color: #fff; 2217 margin-bottom: 12px; 2218} 2219.csl-footer-heading { 2220 font-size: 13px; 2221 font-weight: 600; 2222 color: #fff; 2223 text-transform: uppercase; 2224 letter-spacing: 0.5px; 2225 margin-bottom: 16px; 2226} 2227.csl-footer-links { list-style: none; padding: 0; margin: 0; } 2228.csl-footer-links li { margin-bottom: 10px; } 2229.csl-footer-links a { 2230 font-size: 13px; 2231 color: #9ca3af; 2232 text-decoration: none; 2233 transition: color 0.2s; 2234} 2235.csl-footer-links a:hover { color: #fff; } 2236.csl-footer-contact p { 2237 font-size: 13px; 2238 margin-bottom: 6px; 2239} 2240.csl-footer-contact a { color: #fff; text-decoration: none; } 2241.csl-footer-bottom { 2242 padding-top: 30px; 2243 border-top: 1px solid #374151; 2244 display: flex; 2245 align-items: center; 2246 justify-content: space-between; 2247} 2248.csl-footer-copyright { 2249 font-size: 12px; 2250 color: #6b7280; 2251} 2252.csl-footer-payments { display: flex; gap: 10px; align-items: center; } 2253.csl-footer-payments img { 2254 height: 24px; 2255 width: auto; 2256 opacity: 0.6; 2257 transition: opacity 0.2s; 2258} 2259.csl-footer-payments img:hover { opacity: 0.9; } 2260 2261/* Footer Responsive - Tablet */ 2262@media (max-width: 1024px) { 2263 .csl-footer-grid { grid-template-columns: repeat(2, 1fr); } 2264} 2265 2266/* Footer Responsive - Mobile */ 2267@media (max-width: 768px) { 2268 .csl-footer { padding: 40px 0 20px; } 2269 .csl-footer-grid { grid-template-columns: 1fr; gap: 24px; } 2270 .csl-footer-brand p { font-size: 12px; } 2271 .csl-footer-heading { font-size: 12px; margin-bottom: 12px; } 2272 .csl-footer-links a { font-size: 12px; } 2273 .csl-footer-bottom { flex-direction: column; gap: 12px; text-align: center; } 2274 .csl-footer-payments { flex-wrap: wrap; justify-content: center; } 2275} 2276</style> 2277 2278<footer class="csl-footer" data-nosnippet> 2279 <div class="container"> 2280 <div class="csl-footer-grid"> 2281 <div class="csl-footer-brand"> 2282 <p class="csl-footer-logo">CSL Shoes</p> 2283 <p>Premium leather footwear for the whole family since 2008. Genuine leather uppers, handcrafted quality, and exceptional customer service.</p> 2284 <p class="csl-footer-entity" style="font-size:12px;line-height:1.6;color:#9ca3af;margin-bottom:16px;max-width:280px;">Retail purchases on this website are sold by CSL Retail LLC. Wholesale purchases are sold by The CSL Group, Inc â both operate from 3 Alpine Court, Unit W156, Chestnut Ridge, NY 10977.</p> 2285 </div> 2286 <div> 2287 <div class="csl-footer-heading">Shop</div> 2288 <ul class="csl-footer-links"> 2289 <li><a href="/all-products">All Products</a></li> 2290 <li><a href="/closure-type/Lace-Up/items">Oxfords</a></li> 2291 <li><a href="/closure-type/Velcro/items">Boys' Shoes</a></li> 2292 <li><a href="/closure-type/Slip-On/items">Loafers</a></li> 2293 <li><a href="/all-products">New Arrivals</a></li> 2294 </ul> 2295 </div> 2296 <div> 2297 <div class="csl-footer-heading">Support</div> 2298 <ul class="csl-footer-links"> 2299 <li><a href="/size-guide">Size Guide</a></li> 2300 <li><a href="/shipping">Shipping Info</a></li> 2301 <li><a href="/returns">Returns</a></li> 2302 <li><a href="/guides/leather-shoe-care">Shoe Care</a></li> 2303 <li><a href="/help">FAQ</a></li> 2304 <li><a href="/blog">Blog</a></li> 2305 </ul> 2306 </div> 2307 <div> 2308 <div class="csl-footer-heading">Company</div> 2309 <ul class="csl-footer-links"> 2310 <li><a href="/about">About Us</a></li> 2311 <li><a href="/contact">Contact</a></li> 2312 <li><a href="/privacy-policy">Privacy Policy</a></li> 2313 <li><a href="/terms-of-service">Terms of Service</a></li> 2314 </ul> 2315 </div> 2316 <div class="csl-footer-contact"> 2317 <div class="csl-footer-heading">Contact Us</div> 2318 <p><a href="/cdn-cgi/l/email-protection#7d14131b123d1e0e110e1512180e531e1210"><span class="__cf_email__" data-cfemail="f49d9a929bb4978798879c9b9187da979b99">[email protected]</span></a></p> 2319 <p>Mon - Fri: 9am - 6pm EST</p> 2320 </div> 2321 </div> 2322 <div class="csl-footer-bottom"> 2323 <p class="csl-footer-copyright">© 2026 CSL Shoes. All rights reserved.</p> 2324 <div class="csl-footer-payments"> 2325 <img src="/assets/cslshoes_erp/images/visa.svg" alt="Visa" width="40" height="24"> 2326 <img src="/assets/cslshoes_erp/images/mastercard.svg" alt="Mastercard" width="40" height="24"> 2327 <img src="/assets/cslshoes_erp/images/amex.svg" alt="American Express" width="40" height="24"> 2328 </div> 2329 </div> 2330 </div> 2331</footer> 2332 2333 <a href="https://wa.me/18456946700?text=Hi%2C%20I%20have%20a%20question%20about%20your%20shoes" 2334 target="_blank" rel="noopener" 2335 class="csl-whatsapp-widget" 2336 aria-label="Chat with us on WhatsApp" 2337 style="position:fixed;bottom:24px;right:24px;z-index:9998;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,0.15);transition:transform 0.2s;" 2338 onmouseover="this.style.transform='scale(1.1)'" 2339 onmouseout="this.style.transform='scale(1)'"> 2340 <svg viewBox="0 0 24 24" width="28" height="28" fill="white"> 2341 <path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.
2341198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/> 2342 </svg> 2343 </a>
vendor: 110 bytes, lines 2343-2344
2343 2344 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
2344<script> 2345 frappe.boot = { 2346 "apps_data": { 2347 "apps": [], 2348 "default_path": "", 2349 "is_desk_apps": 1 2350 }, 2351 "assets_json": { 2352 "bank-reconciliation-tool.bundle.js": "/assets/erpnext/dist/js/bank-reconciliation-tool.bundle.3OD5XE4B.js", 2353 "billing.bundle.js": "/assets/frappe/dist/js/billing.bundle.XJXMQXLI.js", 2354 "bom_configurator.bundle.js": "/assets/erpnext/dist/js/bom_configurator.bundle.KVVOL5AV.js", 2355 "bootstrap-4-web.bundle.js": "/assets/frappe/dist/js/bootstrap-4-web.bundle.OGQ7JEDG.js", 2356 "build_events.bundle.js": "/assets/frappe/dist/js/build_events.bundle.BCX32TWL.js", 2357 "calendar.bundle.js": "/assets/frappe/dist/js/calendar.bundle.4A4YITIU.js", 2358 "controls.bundle.js": "/assets/frappe/dist/js/controls.bundle.GHTVO2AR.js", 2359 "csl-web.bundle.js": "/assets/cslshoes_erp/dist/js/csl-web.bundle.SBA57Y6F.js", 2360 "cslshoes_erp-web.bundle.js": "/assets/cslshoes_erp/dist/js/cslshoes_erp-web.bundle.VKBRYFDI.js", 2361 "data_import_tools.bundle.js": "/assets/frappe/dist/js/data_import_tools.bundle.AIMRIHAY.js", 2362 "desk.bundle.css": "/assets/frappe/dist/css/desk.bundle.E3JNXVFK.css", 2363 "desk.bundle.js": "/assets/frappe/dist/js/desk.bundle.LRVAENER.js", 2364 "dialog.bundle.js": "/assets/frappe/dist/js/dialog.bundle.4Y7AGZYX.js", 2365 "email.bundle.css": "/assets/frappe/dist/css/email.bundle.FRP6ZWO5.css", 2366 "erpnext-web.bundle.css": "/assets/erpnext/dist/css/erpnext-web.bundle.XAPV6OJR.css", 2367 "erpnext.bundle.css": "/assets/erpnext/dist/css/erpnext.bundle.U3ZULTHY.css", 2368 "erpnext.bundle.js": "/assets/erpnext/dist/js/erpnext.bundle.W4BKB7EY.js", 2369 "erpnext_email.bundle.css": "/assets/erpnext/dist/css/erpnext_email.bundle.QDPP6JFP.css", 2370 "file_uploader.bundle.js": "/assets/frappe/dist/js/file_uploader.bundle.NFWQ74RI.js", 2371 "form.bundle.js": "/assets/frappe/dist/js/form.bundle.V6TJPRRA.js", 2372 "form_builder.bundle.js": "/assets/frappe/dist/js/form_builder.bundle.TJDI53IC.js", 2373 "frappe-web.bundle.js": "/assets/frappe/dist/js/frappe-web.bundle.6AGRRLFL.js", 2374 "hierarchy-chart.bundle.js": "/assets/hrms/dist/js/hierarchy-chart.bundle.5E224PCR.js", 2375 "hrms.bundle.css": "/assets/hrms/dist/css/hrms.bundle.2Y752HAB.css", 2376 "hrms.bundle.js": "/assets/hrms/dist/js/hrms.bundle.QS2GRVNQ.js", 2377 "interview.bundle.js": "/assets/hrms/dist/js/interview.bundle.C7CDEMYA.js",
2378 "item-dashboard.bundle.js": "/assets/erpnext/dist/js/item-dashboard.bundle.7LUKZCYJ.js", 2379 "kanban_board.bundle.js": "/assets/frappe/dist/js/kanban_board.bundle.WBHS2NSO.js", 2380 "libs.bundle.js": "/assets/frappe/dist/js/libs.bundle.JEM3HUCP.js", 2381 "list.bundle.js": "/assets/frappe/dist/js/list.bundle.C5NWOGPL.js", 2382 "login.bundle.css": "/assets/frappe/dist/css/login.bundle.PUSGKFZL.css", 2383 "logtypes.bundle.js": "/assets/frappe/dist/js/logtypes.bundle.WKQH7KBM.js", 2384 "onboarding_tours.bundle.js": "/assets/frappe/dist/js/onboarding_tours.bundle.3QPQU5AO.js", 2385 "performance.bundle.js": "/assets/hrms/dist/js/performance.bundle.63UL5NS7.js", 2386 "photoswipe.bundle.js": "/assets/frappe/dist/js/photoswipe.bundle.YSXZQA64.js", 2387 "point-of-sale.bundle.js": "/assets/erpnext/dist/js/point-of-sale.bundle.QTZY4HXK.js", 2388 "print.bundle.css": "/assets/frappe/dist/css/print.bundle.TFESFRRQ.css", 2389 "print_format.bundle.css": "/assets/frappe/dist/css/print_format.bundle.G3JSEXTM.css", 2390 "print_format_builder.bundle.js": "/assets/frappe/dist/js/print_format_builder.bundle.EY2DZ4XK.js", 2391 "report.bundle.css": "/assets/frappe/dist/css/report.bundle.YRLG53MK.css", 2392 "report.bundle.js": "/assets/frappe/dist/js/report.bundle.YZUQRDTQ.js", 2393 "rtl_desk.bundle.css": "/assets/frappe/dist/css-rtl/desk.bundle.GTUX6NUS.css", 2394 "rtl_email.bundle.css": "/assets/frappe/dist/css-rtl/email.bundle.S6OLPJLO.css", 2395 "rtl_erpnext-web.bundle.css": "/assets/erpnext/dist/css-rtl/erpnext-web.bundle.MY3OHIQG.css", 2396 "rtl_erpnext.bundle.css": "/assets/erpnext/dist/css-rtl/erpnext.bundle.NFI4TDNU.css", 2397 "rtl_erpnext_email.bundle.css": "/assets/erpnext/dist/css-rtl/erpnext_email.bundle.4SUQQPOC.css", 2398 "rtl_hrms.bundle.css": "/assets/hrms/dist/css-rtl/hrms.bundle.2VFWZIH4.css", 2399 "rtl_login.bundle.css": "/assets/frappe/dist/css-rtl/login.bundle.LAUNAKDN.css", 2400 "rtl_print.bundle.css": "/assets/frappe/dist/css-rtl/print.bundle.46KW2M23.css", 2401 "rtl_print_format.bundle.css": "/assets/frappe/dist/css-rtl/print_format.bundle.WRCRSWVB.css", 2402 "rtl_report.bundle.css": "/assets/frappe/dist/css-rtl/report.bundle.J47TQ5QB.css", 2403 "rtl_web_form.bundle.css": "/assets/frappe/dist/css-rtl/web_form.bundle.V6TATNAO.css", 2404 "rtl_webshop-web.bundle.css": "/assets/webshop/dist/css-rtl/webshop-web.bundle.MXY3MF47.css", 2405 "rtl_website.bundle.css": "/assets/frappe/dist/css-rtl/website.bundle.UYAJRC2H.css", 2406 "sentry.bundle.js": "/assets/frappe/dist/js/sentry.bundle.AX44GVWW.js", 2407 "syntax_highlighting.bundle.js": "/assets/frappe/dist/js/syntax_highlighting.bundle.YHGNRCUE.js", 2408 "telemetry.bundle.js": "/assets/frappe/dist/js/telemetry.bundle.RXBBNH3H.js", 2409 "user_onboarding.bundle.js": "/assets/frappe/dist/js/user_onboarding.bundle.RGMWXG2C.js", 2410 "video_player.bundle.js": "/assets/frappe/dist/js/video_player.bundle.DUYYLSFO.js", 2411 "web.bundle.js": "/assets/webshop/dist/js/web.bundle.WLOGYSZO.js", 2412 "web_form.bundle.css": "/assets/frappe/dist/css/web_form.bundle.6KU4CLFY.css", 2413 "web_form.bundle.js": "/assets/frappe/dist/js/web_form.bundle.ALVCCXE4.js", 2414 "webshop-web.bundle.css": "/assets/webshop/dist/css/webshop-web.bundle.GQDT63VG.css", 2415 "website.bundle.css": "/assets/frappe/dist/css/website.bundle.GD6PKXQI.css", 2416 "workflow_builder.bundle.js": "/assets/frappe/dist/js/workflow_builder.bundle.O2QPXUEI.js" 2417 }, 2418 "is_fc_site": 0, 2419 "lang": "en-US", 2420 "sitename": "csl.local", 2421 "sysdefaults": { 2422 "currency": "USD", 2423 "date_format": "mm/dd/yyyy", 2424 "first_day_of_the_week": "Sunday", 2425 "float_precision": 3, 2426 "number_format": "#,###.##", 2427 "time_format": "HH:mm:ss" 2428 }, 2429 "time_zone": { 2430 "system": "America/New_York", 2431 "user": "America/New_York" 2432 } 2433} 2434 frappe.sys_defaults = frappe.boot.sysdefaults; 2435 </script>
2435 2436 2437
2437<script type="text/javascript" src="/assets/cslshoes_erp/dist/js/csl-web.bundle.SBA57Y6F.js"></script>
2437 2438 2439
2439<script type="text/javascript" src="/website_script.js" defer></script>
2439 2440
2440<script type="text/javascript" src="/assets/webshop/dist/js/web.bundle.WLOGYSZO.js" defer></script>
2440 2441
2441<script type="text/javascript" src="/assets/cslshoes_erp/dist/js/cslshoes_erp-web.bundle.VKBRYFDI.js" defer></script>
2441 2442
2442<script type="text/javascript" src="/assets/cslshoes_erp/js/csl-analytics.js?v=20260528a" defer></script>
2442 2443
2443<script type="text/javascript" src="/assets/cslshoes_erp/js/product_image_autoplay.js?v=20260613a" defer></script>
2443 2444
2444<script type="text/javascript" src="/assets/cslshoes_erp/js/compare.js" defer></script>
2444 2445
2445<script type="text/javascript" src="/assets/cslshoes_erp/js/tile_wishlist.js?v=20260517e" defer></script>
2445 2446
2446<script type="text/javascript" src="/assets/cslshoes_erp/js/all_products_patches.js?v=20260613a" defer></script>
2446 2447
2447<script type="text/javascript" src="/assets/cslshoes_erp/js/wishlist_page.js?v=20260517c" defer></script>
2447 2448
2448<script type="text/javascript" src="/assets/cslshoes_erp/js/wholesale_order_banner.js?v=20260520c" defer></script>
2448 2449
2449<script type="text/javascript" src="/assets/cslshoes_erp/js/sso_login_order.js?v=20260531b" defer></script>
vendor: 1 bytes, line 2449
2449
2450<script> 2451 frappe.ready(() => { 2452 let result_wrapper = $(".blog-list.result"); 2453 let next_start = 20; 2454 2455 $(".blog-list-content .btn-more").on("click", function() { 2456 let $btn = $(this); 2457 let args = $.extend(frappe.utils.get_query_params(), { 2458 doctype: "Blog Post", 2459 category: null, 2460 limit_start: next_start, 2461 pathname: location.pathname, 2462 }); 2463 $btn.prop("disabled", true); 2464 frappe.call('frappe.www.list.get', args) 2465 .then(r => { 2466 var data = r.message; 2467 next_start = data.next_start; 2468 $.each(data.result, function(i, d) { 2469 $(d).appendTo(result_wrapper); 2470 }); 2471 toggle_more(data.show_more); 2472 }) 2473 .always(() => { 2474 $btn.prop("disabled", false); 2475 }); 2476 }); 2477 2478 function toggle_more(show) { 2479 if (!show) { 2480 $(".btn-more").addClass("hide"); 2481 } 2482 } 2483 }); 2484</script>
vendor: 1 bytes, line 2484
2484
2485<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"02110bd8a9eb40e98c9fc92b32ecf849","r":1,"spa":2}' crossorigin="anonymous"></script>
2485 2486</body> 2487</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.