PageSourceSearch

https://www.vezzalux.com/e-ayakkabi

html vezzalux.com collected 2026-09-24 14:56:02 UTC 638,780 bytes, 18,673 lines download raw bytes

1<!DOCTYPE html><html lang="tr"><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta name='viewport' content='width=device-width, user-scalable=yes'><link rel="preconnect" href="https://percdn.com/"/><link rel="dns-prefetch" href="https://percdn.com/"/><link rel="icon" href="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdFOVU1NG5hQT09/l/favicon-85442862-sw199sh202.webp" /><link rel="stylesheet" type="text/css" href="https://www.vezzalux.com/template/smart/default/assets/plugins/bootstrap.soft.min.css?v=1661412851" /><link rel="stylesheet" type="text/css" href="https://www.vezzalux.com/template/smart/default/assets/style.min.css?v=1790058138" /><title>Erkek Ayakkabı Modelleri: Şıklık ve Tarzı Bir Arada İfade Edin</title><meta name="description" content="A Kalite İthal Premium Seri, en uygun fiyat ve yüksek işçilik kalitesiyle. İthal materyallerle hazırlanan yeni sezon tasarımlarımızı hemen keşfedin. Aynı gün kargo ve güvenli ödeme seçeneği. ithal modeller, a kalite, premium tasarım, yeni sezon, uygun fiyatlı modeller, ithal çanta, ithal ayakkabı" /><link rel="canonical" href="https://www.vezzalux.com/e-ayakkabi" /><meta property="og:title" content="Erkek Ayakkabı Modelleri: Şıklık ve Tarzı Bir Arada İfade Edin" /><meta property="og:site_name" content="vezzalux.com" /><meta property="og:type" content="product" /><meta property="og:url" content="https://www.vezzalux.com/e-ayakkabi" /><meta property="og:keywords" content="A Kalite İthal Premium Seri, en uygun fiyat ve yüksek işçilik kalitesiyle. İthal materyallerle hazırlanan yeni sezon tasarımlarımızı hemen keşfedin. Aynı gün kargo ve güvenli ödeme seçeneği. ithal modeller, a kalite, premium tasarım, yeni sezon, uygun fiyatlı modeller, ithal çanta, ithal ayakkabı" /><meta property="og:description" content="A Kalite İthal Premium Seri, en uygun fiyat ve yüksek işçilik kalitesiyle. İthal materyallerle hazırlanan yeni sezon tasarımlarımızı hemen keşfedin. Aynı gün kargo ve güvenli ödeme seçeneği. ithal modeller, a kalite, premium tasarım, yeni sezon, uygun fiyatlı modeller, ithal çanta, ithal ayakkabı" /><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><style type="text/css">
2        body {
3            font-family: 'Montserrat', sans-serif;
4        }
5        :root{
6            --body-bg:#ffffff;
7            --menu-bg-color: ;
8            --menu-color: ;
9            --menu-color-hover: ;
10            --main-color: #000000;
11            --main-color2: #d93f31;
12            --header-top-color: ;
13            --header-top-color-hover: ;
14            --add-cart-list: #ffffff;
15            --add-cart-list-hover: #ffffff;
16            --add-cart-list-bg: #000000;
17            --add-cart-list-bg-hover: #404040;
18            --buy-now: #fafafa;
19            --buy-now-bg: #d93e30;
20            --buy-now-hover: #ffffff;
21            --buy-now-bg-hover: #d93526;
22            --add-cart-detail:#ffffff;
23            --add-cart-detail-bg:#030303;
24            --add-cart-detail-hover:#ffffff;
25            --add-cart-detail-bg-hover:#383838;
26            --complete-payment:#ffffff;
27            --complete-payment-bg:#4dc761;
28            --complete-payment-hover:#ffffff;
29            --complete-payment-bg-hover:#3aa14b;
30            --transition-time: .4s ease-out;
31        };
32        
33    </style><link rel="stylesheet" type="text/css" href="https://www.vezzalux.com/theme/___sirius/assets/style.css?v=1778851540" /><meta name="p:domain_verify" content="25e3a71548a050bc5ccca55118a28a5c"/><style type="text/css">
34                            @media(min-width:1240px){
35                .container,
36                .container-sm,
37                .container-md,
38                .container-lg,
39                .container-xl {
40                    max-width: 1400px !important;
41                    width: 97%;
42                }
43            }
44            </style>
44<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Website","url":"https:\/\/www.vezzalux.com","name":"CB TOPTAN ELEKTRONİK MARKET LOJİSTİK HİZMETLERİ LTD. ŞTİ.","potentialAction":{"@type":"SearchAction","target":"https:\/\/www.vezzalux.com\/arama?k={search_term_string}","query-input":"required name=search_term_string"}}</script>
44<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Store","name":"CB TOPTAN ELEKTRONİK MARKET LOJİSTİK HİZMETLERİ LTD. ŞTİ.","url":"https:\/\/www.vezzalux.com","logo":"https:\/\/percdn.com\/f\/607271\/cG96WmFtNG0vcUp3ZUdFOVU1NG5hQT09\/l\/logo-69d55489731bf-7554919-sw200sh40.webp","image":"https:\/\/percdn.com\/f\/607271\/cG96WmFtNG0vcUp3ZUdFOVU1NG5hQT09\/l\/logo-69d55489731bf-7554919-sw200sh40.webp","address":""}</script>
44<script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"CollectionPage","name":"Ayakkabı","description":"A Kalite İthal Premium Seri, en uygun fiyat ve yüksek işçilik kalitesiyle. İthal materyallerle hazırlanan yeni sezon tasarımlarımızı hemen keşfedin. Aynı gün kargo ve güvenli ödeme seçeneği. ithal modeller, a kalite, premium tasarım, yeni sezon, uygun fiyatlı modeller, ithal çanta, ithal ayakkabı","url":"https:\/\/www.vezzalux.com\/e-ayakkabi"}</script>
44<meta name="google-site-verification" content="yNU04GUe7YKmyrA5dgljPWJux657cixHZOzYgEVHZl0" /><meta name="facebook-domain-verification" content="ajkipxcusho7jyfbny57hqlp5p3x91" /><meta name="yandex-verification" content="dd66f2a817b31fe7" /><meta name="p:domain_verify" content="&lt;meta name=&quot;p:domain_verify&quot; content=&quot;25e3a71548a050bc5ccca55118a28a5c&quot;/&gt;" /><!-- Global site tag (gtag.js) -->
vendor: 63 bytes, line 44
44<script async src="https://www.googletagmanager.com/gtag/js?id=
44UA-0000000-0
vendor: 11 bytes, line 44
44"></script>
44<script>
45                var google_tag_defined = true;
46                
vendor: 207 bytes, lines 46-49
46window.dataLayer = window.dataLayer || [];
47                function gtag(){dataLayer.push(arguments);}
48                gtag('js', new Date());
49                                                gtag('config', '
49UA-0000000-0
vendor: 52 bytes, lines 49-50
49');
50                                                
50gtag('config', 'G-KXMB3PNF50');
51                                                            </script>
51<!-- Facebook Pixel Code -->
51<script>
vendor: 603 bytes, lines 51-60
51
52                    !function(f,b,e,v,n,t,s)
53                    {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
54                        n.callMethod.apply(n,arguments):n.queue.push(arguments)};
55                        if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
56                        n.queue=[];t=b.createElement(e);t.async=!0;
57                        t.src=v;s=b.getElementsByTagName(e)[0];
58                        s.parentNode.insertBefore(t,s)}(window, document,'script',
59                        'https://connect.facebook.net/en_US/fbevents.js');
60                    fbq('init', '
601511092333874339
vendor: 24 bytes, lines 60-61
60');
61                    
61fbq('track', 'PageView',{});
62                </script>
62<!-- End Facebook Pixel Code --><!-- Yandex.Metrika counter -->
62<script type="text/javascript" >
vendor: 372 bytes, lines 62-67
62
63                    (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
64                        m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
65                    (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
66
67                    ym(
67109217023
vendor: 228 bytes, lines 67-73
67, "init", {
68                        clickmap:true,
69                        trackLinks:true,
70                        accurateTrackBounce:true,
71                        ecommerce:"dataLayer"
72                    });
73                
73</script>
73<noscript><div><img src="https://mc.yandex.ru/watch/109217023" style="position:absolute; left:-9999px;" alt="" /></div></noscript><!-- /Yandex.Metrika counter --></head><body class="categories-body "><div class="addons-campaign-bar acb-type-0 acb-desktop-1 acb-mobile-1"
74     style="background-color: #080808;  height: 60px; background-repeat: no-repeat; background-position: center;"><a href="#" class="url"><div class="container"><div class="text" style="color: #ffffff; font-size: 15px">
75                    Tüm Alışverişlerde Ücretsiz Aynı Gün Kargo! 14 Gün İade+Güvenli Ödeme
76                </div></div></a></div><style type="text/css">
77        @media (max-width: 991px) {
78            .addons-campaign-bar {
79            height: 40px !important;
80        }
81                .addons-campaign-bar {
82            margin-top: 60px;
83            margin-bottom: -60px;
84        }
85                .addons-campaign-bar .text {
86            font-size: 14px !important;
87        }
88        }
89</style><div class="addons-marquee-bar amb-desktop-1 amb-mobile-1 amb-direction-0"
90     style="background-color: #000000;  background-repeat: no-repeat; background-position: center;"><a href="javascript:;" class="item" style="color: #ffffff">
91            TÜM ÜRÜNLERDE %20 İNDİRİM! SON GÜN!
92        </a><a href="javascript:;" class="item" style="color: #ffffff">
93            TÜM ÜRÜNLERDE %20 İNDİRİM! SON GÜN!
94        </a><a href="javascript:;" class="item" style="color: #ffffff">
95            TÜM ÜRÜNLERDE %20 İNDİRİM! SON GÜN!
96        </a><a href="javascript:;" class="item" style="color: #ffffff">
97            TÜM ÜRÜNLERDE %20 İNDİRİM! SON GÜN!
98        </a></div><style type="text/css">
99    @media (min-width: 992px) {
100            .addons-marquee-bar {
101            height: 40px !important;
102        }
103                    .addons-marquee-bar .item {
104            font-size: 17px !important;
105        }
106                .addons-marquee-bar .item {
107            margin-right: 45px !important;
108        }
109        }
110    @media (max-width: 991px) {
111            .addons-marquee-bar {
112            height: 34px !important;
113        }
114                .addons-marquee-bar {
115            margin-top: 60px;
116            margin-bottom: -60px;
117        }
118                .addons-marquee-bar .item {
119            font-size: 14px !important;
120        }
121                .addons-marquee-bar .item {
122            margin-right: 25px !important;
123        }
124        }
125</style><section class="pattern-group pattern-group-t-0 pattern-group-p-categories "><div class="no-container"><div class="pattern-group-body"><div class="p-g-b-c-wrapper"><div class="p-g-b-c-inner"><div class="p-g-mod p-g-mod-t-28 p-g-mod-header  p-g-mod-trans   "><div class="p-g-mod-body  p-g-mod-body-p-0  "><header class="desktop"><section class="h-center"><div class="container-fluid container-fluid-relative h-center-shadow"><div class="row"><div class="col-md-4"><div class="header-area first"><div class="icon-open"><i class="fas fa-bars mr-3"></i>
126                               Menü
127                            </div></div></div><div class="col-md-4"><div class="logo header-area center"><a href="https://www.vezzalux.com" ><img src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdFOVU1NG5hQT09/l/logo-69d55489731bf-7554919-sw200sh40.webp" alt="" /></a></div></div><div class="col-md-4"><div class="header-area last mr-4"><div class="header-bar"><a class="bar-link bar-search mr-4"><span class="icon"><i class="coreicon-search-1"></i></span></a><a href="https://www.vezzalux.com/uye-giris" class="bar-link bar-user mr-4"><span class="icon"><i class="coreicon-user-5"></i></span></a><div class="dropdown header-cart-hover"><a class="bar-link bar-cart" href="https://www.vezzalux.com/sepet" id="console-menu-3" role="button"><span class="icon"><i class="coreicon-cart-2"></i><span class="count" data-cart-quantity>0</span></span></a><div class="dropdown-menu" aria-labelledby="console-menu-3"><div class="top-header"><span class="title">
128                                                Sepetim 
129                                                <span class="count2" data-cart-quantity>0 </span><span class="count2-description">Ürün</span></span></div><div class="products" data-cart-products></div><div class="summary" data-cart-summary></div></div></div></div></div></div><div class="search"><form action="https://www.vezzalux.com/arama" method="get" data-smart-product-search-image><div class="input-box"><input type="text" name="k" class="form-control" placeholder="Aramak istediğin ürünü yaz, kolayca bul!" /></div><button type="submit" class="btn btn-orange btn-send"><i class="fas fa-search"></i></button></form></div></div></div></section></header><header class="mobile"><div class="op-black"></div><div class="left"><a href="javascript:;" class="icon-group ml-1 btn-sidebar-menu"><i class="fas fa-align-right"></i></a><a href="javascript:;" class="icon-group ml-1 btn-sidebar-menu ml-2"><i class="coreicon-search-1"></i></a></div><div class="center"><div class="logo"><a href="https://www.vezzalux.com"><img src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdFOVU1NG5hQT09/l/mobile-logo-50121567-sw200sh40.webp" alt="" /></a></div></div><div class="right"><a href="https://www.vezzalux.com/sepet" class="icon-group mr-3"><i class="coreicon-basket-2"></i><span class="badge" data-cart-quantity>0</span></a><a href="javascript:;" class="icon-group mr-1 btn-sidebar-user"><i class="coreicon-user-5"></i></a></div><div class="clearfix"></div><nav class="sidebar-menu-type-2"><div class="logo-area"><a href="https://www.vezzalux.com" ><img src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdFOVU1NG5hQT09/l/logo-69d55489731bf-7554919-sw200sh40.webp" alt="" /></a><div class="mobile-menu-close"><i class="fas fa-times"></i></div></div><div class="scrollbar"><section class="mobile-search"><form action="https://www.vezzalux.com/arama" method="get"  data-choose-action="redirect" data-smart-mobile-product-search-image ><div class="input-box"><input type="text" name="k" class="form-control" placeholder="Ara.." /></div><button type="submit" class="btn btn-orange btn-send"><div><i class="coreicon-search"></i></div></button></form><div class="clearfix"></div></section><div class="mobil-area-title">
130               TÜM KATEGORİLER
131            </div><div class="categories"><ul><li class="sc-282"><a href="javascript:;" class="btn-categories-show" data-id="282"><span class="name float-left">ERKEK</span><span class="icon float-right"><i class="fas fa-angle-right"></i></span><div class="clearfix"></div></a><ul class="multi categories-list-282"><li class="sc-282-all"><a href="https://www.vezzalux.com/erkek"><span class="name float-left">
132                            Tüm
133                            ERKEK</span><div class="clearfix"></div></a></li><li class="sc-267"><a href="javascript:;" class="btn-categories-show" data-id="267"><span class="name float-left">Ayakkabı</span><span class="icon float-right"><i class="fas fa-angle-right"></i></span><div class="clearfix"></div></a><ul class="multi categories-list-267"><li class="sc-267-all"><a href="https://www.vezzalux.com/e-ayakkabi"><span class="name float-left">
134                            Tüm
135                            Ayakkabı</span><div class="clearfix"></div></a></li><li class="sc-191"><a href="https://www.vezzalux.com/erkek-loafer-erkek-loafer" data-id="191"><span class="name ">Loafer</span><div class="clearfix"></div></a></li><li class="sc-247"><a href="https://www.vezzalux.com/erkek-sneaker-bogazli-erkek-sneaker-bogazli" data-id="247"><span class="name ">Boğazlı Sneaker</span><div class="clearfix"></div></a></li><li class="sc-251"><a href="https://www.vezzalux.com/erkek-terlik-erkek-terlik" data-id="251"><span class="name ">Terlik</span><div class="clearfix"></div></a></li><li class="sc-280"><a href="https://www.vezzalux.com/erkek-sneaker-erkek-sneaker-650" data-id="280"><span class="name ">Sneaker</span><div class="clearfix"></div></a></li><li class="sc-278"><a href="https://www.vezzalux.com/erkek-bot-erkek-bot-4391" data-id="278"><span class="name ">Bot</span><div class="clearfix"></div></a></li></ul></li><li class="sc-268"><a href="https://www.vezzalux.com/e-canta" data-id="268"><span class="name ">Çanta</span><div class="clearfix"></div></a></li></ul></li><li class="sc-263"><a href="javascript:;" class="btn-categories-show" data-id="263"><span class="name float-left">KADIN</span><span class="icon float-right"><i class="fas fa-angle-right"></i></span><div class="clearfix"></div></a><ul class="multi categories-list-263"><li class="sc-263-all"><a href="https://www.vezzalux.com/kadin"><span class="name float-left">
136                            Tüm
137                            KADIN</span><div class="clearfix"></div></a></li><li class="sc-266"><a href="https://www.vezzalux.com/k-canta" data-id="266"><span class="name ">Çanta</span><div class="clearfix"></div></a></li><li class="sc-265"><a href="javascript:;" class="btn-categories-show" data-id="265"><span class="name float-left">Ayakkabı</span><span class="icon float-right"><i class="fas fa-angle-right"></i></span><div class="clearfix"></div></a><ul class="multi categories-list-265"><li class="sc-265-all"><a href="https://www.vezzalux.com/k-ayakkabi"><span class="name float-left">
138                            Tüm
139                            Ayakkabı</span><div class="clearfix"></div></a></li><li class="sc-185"><a href="https://www.vezzalux.com/kadin-sneaker-kadin-sneaker" data-id="185"><span class="name ">
139Sneaker</span><div class="clearfix"></div></a></li><li class="sc-187"><a href="https://www.vezzalux.com/kadin-terlik-kadin-terlik" data-id="187"><span class="name ">Terlik</span><div class="clearfix"></div></a></li><li class="sc-189"><a href="https://www.vezzalux.com/kadin-babet-kadin-babet" data-id="189"><span class="name ">Babet</span><div class="clearfix"></div></a></li><li class="sc-194"><a href="https://www.vezzalux.com/kadin-loafer-kadin-loafer" data-id="194"><span class="name ">Loafer</span><div class="clearfix"></div></a></li><li class="sc-204"><a href="https://www.vezzalux.com/kadin-bot-kadin-bot" data-id="204"><span class="name ">Bot</span><div class="clearfix"></div></a></li><li class="sc-206"><a href="https://www.vezzalux.com/kadin-topuklu-ayakkabi-kadin-topuklu-ayakkabi" data-id="206"><span class="name ">Topuklu Ayakkabı</span><div class="clearfix"></div></a></li><li class="sc-209"><a href="https://www.vezzalux.com/kadin-sandalet-kadin-sandalet" data-id="209"><span class="name ">Sandalet</span><div class="clearfix"></div></a></li><li class="sc-215"><a href="https://www.vezzalux.com/kadintopuklu-terlik-kadintopuklu-terlik" data-id="215"><span class="name ">Topuklu Terlik</span><div class="clearfix"></div></a></li><li class="sc-217"><a href="https://www.vezzalux.com/kadin-yagmurluk-uzun-kadin-yagmurluk-uzun" data-id="217"><span class="name ">Yağmurluk Uzun</span><div class="clearfix"></div></a></li><li class="sc-219"><a href="https://www.vezzalux.com/kadin-yagmurluk-kisa-kadin-yagmurluk-kisa" data-id="219"><span class="name ">Yağmurluk Kısa</span><div class="clearfix"></div></a></li><li class="sc-223"><a href="https://www.vezzalux.com/kadin-sneaker-bogazli-kadin-sneaker-bogazli" data-id="223"><span class="name ">Boğazlı Sneaker</span><div class="clearfix"></div></a></li><li class="sc-242"><a href="https://www.vezzalux.com/kadin-kar-botu-kadin-kar-botu" data-id="242"><span class="name ">Kar Botu</span><div class="clearfix"></div></a></li><li class="sc-244"><a href="https://www.vezzalux.com/kadin-topuklu-bot-kadin-topuklu-bot" data-id="244"><span class="name ">Topuklu Bot</span><div class="clearfix"></div></a></li><li class="sc-284"><a href="https://www.vezzalux.com/sneaker-bogazli" data-id="284"><span class="name ">Sneaker Boğazlı</span><div class="clearfix"></div></a></li></ul></li></ul></li><li class="sc-270"><a href="https://www.vezzalux.com/yeni-sezon" data-id="270"><span class="name ">YENİ SEZON</span><div class="clearfix"></div></a></li><li class="sc-283"><a href="https://www.vezzalux.com/tek-kalanlar" data-id="283"><span class="name ">KADIN TEK KALANLAR</span><div class="clearfix"></div></a></li><li class="sc-291"><a href="https://www.vezzalux.com/erkek-tek-kalanlar" data-id="291"><span class="name ">ERKEK TEK KALANLAR</span><div class="clearfix"></div></a></li><li class="sc-markalar"><a href="javascript:;" class="btn-categories-show" data-id="markalar"><span class="name float-left">Markalar</span><span class="icon float-right"><i class="fas fa-angle-right"></i></span><div class="clearfix"></div></a><ul class="multi categories-list-markalar"><li class="sc-markalar-all"><a href="https://www.vezzalux.com/markalar"><span class="name float-left">Tüm Markalar</span><div class="clearfix"></div></a></li><li class="sc-marka-1"><a href="https://www.vezzalux.com/adidas"><span class="name">Adidas</span><div class="clearfix"></div></a></li><li class="sc-marka-2"><a href="https://www.vezzalux.com/alaia"><span class="name">Alaia</span><div class="clearfix"></div></a></li><li class="sc-marka-3"><a href="https://www.vezzalux.com/alexander-mcqueen"><span class="name">Alexander Mcqueen</span><div class="clearfix"></div></a></li><li class="sc-marka-4"><a href="https://www.vezzalux.com/amina-muaddi"><span class="name">Amina Muaddi</span><div class="clearfix"></div></a></li><li class="sc-marka-5"><a href="https://www.vezzalux.com/amiri"><span class="name">Amiri</span><div class="clearfix"></div></a></li><li class="sc-marka-6"><a href="https://www.vezzalux.com/aquazzura"><span class="name">Aquazzura</span><div class="clearfix"></div></a></li><li class="sc-marka-7"><a href="https://www.vezzalux.com/balenciaga"><span class="name">Balenciaga</span><div class="clearfix"></div></a></li><li class="sc-marka-8"><a href="https://www.vezzalux.com/balmain"><span class="name">Balmain</span><div class="clearfix"></div></a></li><li class="sc-marka-9"><a href="https://www.vezzalux.com/bottega-veneta"><span class="name">Bottega Veneta</span><div class="clearfix"></div></a></li><li class="sc-marka-10"><a href="https://www.vezzalux.com/brunnella-cucinelli"><span class="name">Brunnella Cucinelli</span><div class="clearfix"></div></a></li><li class="sc-marka-11"><a href="https://www.vezzalux.com/celine"><span class="name">Celine</span><div class="clearfix"></div></a></li><li class="sc-marka-12"><a href="https://www.vezzalux.com/chanel"><span class="name">Chanel</span><div class="clearfix"></div></a></li><li class="sc-marka-13"><a href="https://www.vezzalux.com/chloe"><span class="name">Chloe</span><div class="clearfix"></div></a></li><li class="sc-marka-14"><a href="https://www.vezzalux.com/christian-louboutin"><span class="name">Christian Louboutin</span><div class="clearfix"></div></a></li><li class="sc-marka-15"><a href="https://www.vezzalux.com/dior"><span class="name">Dior</span><div class="clearfix"></div></a></li><li class="sc-marka-16"><a href="https://www.vezzalux.com/dolce-gabbana"><span class="name">Dolce Gabbana</span><div class="clearfix"></div></a></li><li class="sc-marka-17"><a href="https://www.vezzalux.com/dsq2"><span class="name">Dsq2</span><div class="clearfix"></div></a></li><li class="sc-marka-18"><a href="https://www.vezzalux.com/fendi"><span class="name">Fendi</span><div class="clearfix"></div></a></li><li class="sc-marka-19"><a href="https://www.vezzalux.com/ferragamo"><span class="name">Ferragamo</span><div class="clearfix"></div></a></li><li class="sc-marka-20"><a href="https://www.vezzalux.com/givenchy"><span class="name">Givenchy</span><div class="clearfix"></div></a></li><li class="sc-marka-21"><a href="https://www.vezzalux.com/golden-goose"><span class="name">Golden Goose</span><div class="clearfix"></div></a></li><li class="sc-marka-22"><a href="https://www.vezzalux.com/goyard"><span class="name">Goyard</span><div class="clearfix"></div></a></li><li class="sc-marka-23"><a href="https://www.vezzalux.com/gucci"><span class="name">Gucci</span><div class="clearfix"></div></a></li><li class="sc-marka-24"><a href="https://www.vezzalux.com/hermes"><span class="name">Hermes</span><div class="clearfix"></div></a></li><li class="sc-marka-25"><a href="https://www.vezzalux.com/jimmy-choo"><span class="name">Jimmy Choo</span><div class="clearfix"></div></a></li><li class="sc-marka-26"><a href="https://www.vezzalux.com/loewe"><span class="name">Loewe</span><div class="clearfix"></div></a></li><li class="sc-marka-27"><a href="https://www.vezzalux.com/lora-piana"><span class="name">Lora piana</span><div class="clearfix"></div></a></li><li class="sc-marka-28"><a href="https://www.vezzalux.com/louis-vuitton"><span class="name">Louis Vuitton</span><div class="clearfix"></div></a></li><li class="sc-marka-29"><a href="https://www.vezzalux.com/mach-mach"><span class="name">Mach Mach</span><div class="clearfix"></div></a></li><li class="sc-marka-30"><a href="https://www.vezzalux.com/miu-miu"><span class="name">Miu Miu</span><div class="clearfix"></div></a></li><li class="sc-marka-31"><a href="https://www.vezzalux.com/moncler"><span class="name">Moncler</span><div class="clearfix"></div></a></li><li class="sc-marka-32"><a href="https://www.vezzalux.com/montblanc"><span class="name">Montblanc</span><div class="clearfix"></div></a></li><li class="sc-marka-33"><a href="https://www.vezzalux.com/off-white"><span class="name">Off White</span><div class="clearfix"></div></a></li><li class="sc-marka-34"><a href="https://www.vezzalux.com/prada"><span class="name">Prada</span><div class="clearfix"></div></a></li><li class="sc-marka-35"><a href="https://www.vezzalux.com/premiata"><span class="name">Premiata</span><div class="clearfix"></div></a></li><li class="sc-marka-36"><a href="https://www.vezzalux.com/stella-c"><span class="name">Stella C.</span><div class="clearfix"></div></a></li><li class="sc-marka-37"><a href="https://www.vezzalux.com/the-row"><span class="name">The Row</span><div class="clearfix"></div></a></li><li class="sc-marka-38"><a href="https://www.vezzalux.com/ugg"><span class="name">Ugg</span><div class="clearfix"></div></a></li><li class="sc-marka-39"><a href="https://www.vezzalux.com/valentino"><span class="name">Valentino</span><div class="clearfix"></div></a></li><li class="sc-marka-40"><a href="https://www.vezzalux.com/versace"><span class="name">Versace</span><div class="clearfix"></div></a></li><li class="sc-marka-41"><a href="https://www.vezzalux.com/ysl"><span class="name">Ysl</span><div class="clearfix"></div></a></li><li class="sc-marka-42"><a href="https://www.vezzalux.com/zegna"><span class="name">Zegna</span><div class="clearfix"></div></a></li></ul></li></ul></div><div class="mobil-area-title">
140                YARDIM MERKEZİ
141            </div><div class="mobil-area-2"><div class="short-link border-1"><a href="https://www.vezzalux.com/uye-giris"><i class="coreicon-user-3"></i>
142                                Giriş Yap
143                            </a></div><div class="short-link border-2"><a href="https://www.vezzalux.com/uye-ol"><i class="coreicon-user-4"></i>
144                                Üye Ol
145                            </a></div><div class="short-link border-3"><a href="https://www.vezzalux.com/siparis-takip"><i class="coreicon-cart"></i>
146                            Sipariş Takip
147                        </a></div><div class="short-link border-4"><a href="https://www.vezzalux.com/sss"><i class="coreicon-note"></i>
148                            S.S.S
149                        </a></div></div></div></div></nav><nav class="sidebar-user"><div class="title">
150            Hesabım
151            <a href="javascript:;" class="btn-sidebar-user btn-close"><i class="fas fa-times-circle"></i></a></div><div class="scrollbar"><div class="login-menu"><a href="https://www.vezzalux.com/uye-giris"><i class="coreicon-user-5"></i> Giriş Yap</a><a href="https://www.vezzalux.com/uye-ol"><i class="coreicon-user-5"></i> Üye Ol</a><a href="https://www.vezzalux.com/uye-giris?sayfa=sifre"><i class="coreicon-user-5"></i>Şifremi Unuttum</a></div><div class="title-alt">
152                Müşteri Hizmetleri
153            </div><div class="footer-links"><ul><li><a href="javascript:;"><i class="coreicon-megaphone mr-2"></i>
154                            05336563444
155                        </a></li><li><a href="/cdn-cgi/l/email-protection#6d04030b022d1b0817170c011815430e0200"><i class="coreicon-envelope-1 mr-2"></i><span>
156                                <span class="__cf_email__" data-cfemail="1970777f76596f7c636378756c61377a7674">[email&#160;protected]</span>
157                            </span></a></li></ul></div><div class="title-alt">
158                Diğer
159            </div><div class="footer-links"><ul><li><a href="https://www.vezzalux.com/hakkimizda">
160                                Hakkımızda
161                            </a></li><li><a href="https://www.vezzalux.com/iletisim">
162                                İletişim
163                            </a></li><li><a href="https://www.vezzalux.com/gizlilik-sozlesmesi">
164                                Gizlilik Sözleşmesi
165                            </a></li><li><a href="https://www.vezzalux.com/kullanici-sozlesmesi">
166                                Kullanıcı Sözleşmesi
167                            </a></li><li><a href="https://www.vezzalux.com/cerez-politikasi">
168                                Çerez Politikası
169                            </a></li><li><a href="https://www.vezzalux.com/mesafeli-satis-sozlesmesi">
170                                Mesafeli Satış Sözleşmesi
171                            </a></li><li><a href="https://www.vezzalux.com/sss">
172                                Sıkça Sorulan Sorular
173                            </a></li><li><a href="https://www.vezzalux.com/siparis-takip">
174                                Sipariş Takip
175                            </a></li><li><a href="https://www.vezzalux.com/havale-bildirimleri">
176                                Havale Bildirimleri
177                            </a></li></ul></div></div></nav></header><div class="mobile-header-space"></div><style>
178/* "Tümünü Gör" linki - alt menülerin en üstünde belirgin */
179.menu-sub .menu-sub-all-link a{
180    color:#c0392b !important;
181    font-weight:600 !important;
182    font-size:13px !important;
183    letter-spacing:.5px;
184    text-transform:uppercase;
185}
186.menu-sub .menu-sub-all-link a i{
187    margin-right:6px;
188}
189
190/* Markalar alt menüsündeki marka linkleri */
191.menu-sub .menu-marka-item a{
192    font-weight:500;
193}
194
195/* ===== ALT MENÜ SCROLL DÜZENLEMESI =====
196   İç içe scroll sorununu çözer.
197   Alt menü tek başına kaydırılır, dış scroll'u tetiklemez. */
198.nav-mobile .menu-sub{
199    height:100vh;
200    max-height:100vh;
201    overflow-y:auto;
202    overflow-x:hidden;
203    -webkit-overflow-scrolling:touch;
204    overscroll-behavior:contain;
205}
206
207/* "Geri" butonu sticky - üstte sabit kalsın */
208.nav-mobile .menu-sub .menu-sub-title{
209    position:sticky;
210    top:0;
211    background:#fff;
212    z-index:10;
213    border-bottom:1px solid #eee;
214}
215
216/* "Tümünü Gör" - geri butonunun hemen altında, normal akışta */
217.nav-mobile .menu-sub .menu-sub-all-link{
218    background:#fff;
219    border-bottom:1px solid #f5f5f5;
220}
221.nav-mobile .menu-sub .menu-sub-all-link a{
222    display:block;
223    padding:14px 16px;
224}
225
226/* Scroll bar ince ve şık */
227.nav-mobile .menu-sub::-webkit-scrollbar{
228    width:3px;
229}
230.nav-mobile .menu-sub::-webkit-scrollbar-track{
231    background:transparent;
232}
233.nav-mobile .menu-sub::-webkit-scrollbar-thumb{
234    background:#ddd;
235    border-radius:3px;
236}
237.nav-mobile .menu-sub::-webkit-scrollbar-thumb:hover{
238    background:#aaa;
239}
240
241/* Marka resimleri küçük olsun */
242.menu-sub .menu-marka-item img{
243    max-width:24px;
244    max-height:24px;
245    margin-right:8px;
246    vertical-align:middle;
247    object-fit:contain;
248}
249
250/* Marka liste itemları daha rahat tıklanabilir */
251.menu-sub .menu-marka-item a{
252    display:flex;
253    align-items:center;
254    padding:12px 16px;
255}
256</style><ul class="nav-mobile"><li class="menu-container"><ul class="menu-sidebar"><div class="menu-sidebar-button"><span><i class="fas fa-bars mr-2"></i>
257              Menü
258          </span><i class="fas fa-times icon-close"></i></div><li><a href="https://www.vezzalux.com">
259               Ana Sayfa
260           </a></li><li><input type="checkbox" id="sub-0" class="submenu-toggle"><label class="submenu-label" for="sub-0">
261                                            ERKEK
262                    </label><div class="arrow right">›</div><ul class="menu-sub"><li class="menu-sub-title"><strong><label class="submenu-label" for="sub-0"><div class="arrow left">‹</div>   Geri
263                            </label></strong></li><li class="menu-sub-all-link"><a href="https://www.vezzalux.com/erkek"><i class="fas fa-th"></i>
264                              Tümünü Gör
265                              (ERKEK)
266                          </a></li><li><input type="checkbox" id="sub-0-0" class="submenu-toggle"><label class="submenu-label" for="sub-0-0">
267                                    Ayakkabı
268                                </label><div class="arrow right">›</div><ul class="menu-sub"><li class="menu-sub-title"><strong><label class="submenu-label" for="sub-0-0"><div class="arrow left">‹</div> Geri
269                                            </label></strong></li><li class="menu-sub-all-link"><a href="https://www.vezzalux.com/e-ayakkabi"><i class="fas fa-th"></i>
270                                            Tümünü Gör
271                                            (Ayakkabı)
272                                        </a></li><li><a href="https://www.vezzalux.com/erkek-loafer-erkek-loafer">Loafer</a></li><li><a href="https://www.vezzalux.com/erkek-sneaker-bogazli-erkek-sneaker-bogazli">Boğazlı Sneaker</a></li><li><a href="https://www.vezzalux.com/erkek-terlik-erkek-terlik">Terlik</a></li><li><a href="https://www.vezzalux.com/erkek-sneaker-erkek-sneaker-650">Sneaker</a></li><li><a href="https://www.vezzalux.com/erkek-bot-erkek-bot-4391">Bot</a></li></ul></li><li><a href="https://www.vezzalux.com/e-canta">Çanta</a></li></ul></li><li><input type="checkbox" id="sub-1" class="submenu-toggle"><label class="submenu-label" for="sub-1">
273                                            KADIN
274                    </label><div class="arrow right">›</div><ul class="menu-sub"><li class="menu-sub-title"><strong><label class="submenu-label" for="sub-1"><div class="arrow left">‹</div>   Geri
275                            </label></strong></li><li class="menu-sub-all-link"><a href="https://www.vezzalux.com/kadin"><i class="fas fa-th"></i>
276                              Tümünü Gör
277                              (KADIN)
278                          </a></li><li><a href="https://www.vezzalux.com/k-canta">Çanta</a></li><li><input type="checkbox" id="sub-1-1" class="submenu-toggle"><label class="submenu-label" for="sub-1-1">
279                                    Ayakkabı
280                                </label><div class="arrow right">›</div><ul class="menu-sub"><li class="menu-sub-title"><strong><label class="submenu-label" for="sub-1-1"><div class="arrow left">‹</div> Geri
281                                            </label></strong></li><li class="menu-sub-all-link"><a href="https://www.vezzalux.com/k-ayakkabi"><i class="fas fa-th"></i>
282                                            Tümünü Gör
283                                            (Ayakkabı)
284                                        </a></li><li><a href="https://www.vezzalux.com/kadin-sneaker-kadin-sneaker">Sneaker</a></li><li><a href="https://www.vezzalux.com/kadin-terlik-kadin-terlik">Terlik</a></li><li><a href="https://www.vezzalux.com/kadin-babet-kadin-babet">
284Babet</a></li><li><a href="https://www.vezzalux.com/kadin-loafer-kadin-loafer">Loafer</a></li><li><a href="https://www.vezzalux.com/kadin-bot-kadin-bot">Bot</a></li><li><a href="https://www.vezzalux.com/kadin-topuklu-ayakkabi-kadin-topuklu-ayakkabi">Topuklu Ayakkabı</a></li><li><a href="https://www.vezzalux.com/kadin-sandalet-kadin-sandalet">Sandalet</a></li><li><a href="https://www.vezzalux.com/kadintopuklu-terlik-kadintopuklu-terlik">Topuklu Terlik</a></li><li><a href="https://www.vezzalux.com/kadin-yagmurluk-uzun-kadin-yagmurluk-uzun">Yağmurluk Uzun</a></li><li><a href="https://www.vezzalux.com/kadin-yagmurluk-kisa-kadin-yagmurluk-kisa">Yağmurluk Kısa</a></li><li><a href="https://www.vezzalux.com/kadin-sneaker-bogazli-kadin-sneaker-bogazli">Boğazlı Sneaker</a></li><li><a href="https://www.vezzalux.com/kadin-kar-botu-kadin-kar-botu">Kar Botu</a></li><li><a href="https://www.vezzalux.com/kadin-topuklu-bot-kadin-topuklu-bot">Topuklu Bot</a></li><li><a href="https://www.vezzalux.com/sneaker-bogazli">Sneaker Boğazlı</a></li></ul></li></ul></li><li><a href="https://www.vezzalux.com/yeni-sezon">
285                                            YENİ SEZON
286                    </a></li><li><a href="https://www.vezzalux.com/tek-kalanlar">
287                                            KADIN TEK KALANLAR
288                    </a></li><li><a href="https://www.vezzalux.com/erkek-tek-kalanlar">
289                                            ERKEK TEK KALANLAR
290                    </a></li><li class="menu-markalar-item"><input type="checkbox" id="sub-markalar" class="submenu-toggle"><label class="submenu-label" for="sub-markalar">
291               Markalar
292           </label><div class="arrow right">›</div><ul class="menu-sub"><li class="menu-sub-title"><strong><label class="submenu-label" for="sub-markalar"><div class="arrow left">‹</div> Geri
293                       </label></strong></li><li class="menu-sub-all-link"><a href="https://www.vezzalux.com/markalar"><i class="fas fa-th"></i>
294                       Tümünü Gör (Markalar)
295                   </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/adidas">
296                                                      Adidas
297                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/alaia">
298                                                      Alaia
299                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/alexander-mcqueen">
300                                                      Alexander Mcqueen
301                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/amina-muaddi">
302                                                      Amina Muaddi
303                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/amiri">
304                                                      Amiri
305                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/aquazzura">
306                                                      Aquazzura
307                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/balenciaga">
308                                                      Balenciaga
309                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/balmain">
310                                                      Balmain
311                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/bottega-veneta">
312                                                      Bottega Veneta
313                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/brunnella-cucinelli">
314                                                      Brunnella Cucinelli
315                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/celine">
316                                                      Celine
317                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/chanel">
318                                                      Chanel
319                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/chloe">
320                                                      Chloe
321                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/christian-louboutin">
322                                                      Christian Louboutin
323                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/dior">
324                                                      Dior
325                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/dolce-gabbana">
326                                                      Dolce Gabbana
327                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/dsq2">
328                                                      Dsq2
329                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/fendi">
330                                                      Fendi
331                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/ferragamo">
332                                                      Ferragamo
333                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/givenchy">
334                                                      Givenchy
335                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/golden-goose">
336                                                      Golden Goose
337                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/goyard">
338                                                      Goyard
339                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/gucci">
340                                                      Gucci
341                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/hermes">
342                                                      Hermes
343                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/jimmy-choo">
344                                                      Jimmy Choo
345                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/loewe">
346                                                      Loewe
347                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/lora-piana">
348                                                      Lora piana
349                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/louis-vuitton">
350                                                      Louis Vuitton
351                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/mach-mach">
352                                                      Mach Mach
353                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/miu-miu">
354                                                      Miu Miu
355                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/moncler">
356                                                      Moncler
357                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/montblanc">
358                                                      Montblanc
359                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/off-white">
360                                                      Off White
361                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/prada">
362                                                      Prada
363                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/premiata">
364                                                      Premiata
365                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/stella-c">
366                                                      Stella C.
367                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/the-row">
368                                                      The Row
369                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/ugg">
370                                                      Ugg
371                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/valentino">
372                                                      Valentino
373                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/versace">
374                                                      Versace
375                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/ysl">
376                                                      Ysl
377                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/zegna">
378                                                      Zegna
379                       </a></li></ul></li></ul></li></ul></div></div></div></div></div></div></section><section class="pattern-group pattern-group-t-0 pattern-group-p-categories "><div class="container"><div class="pattern-group-body"><div class="row"><div class="col-list col-12 d-block col-sm-12 d-sm-block col-md-12 d-md-block col-lg-12 d-lg-block col-xl-12 d-xl-block p-g-b-c-0"><div class="p-g-b-c-wrapper"><div class="p-g-b-c-inner"><div class="p-g-mod p-g-mod-t-19 p-g-mod-breadcrumb  p-g-mod-trans   "><div class="p-g-mod-body  p-g-mod-body-p-0  "><nav aria-label="breadcrumb" class="breadcrumb-wrapper"><ol class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a itemprop="item" href="https://www.vezzalux.com"><span itemprop='name'>Ana Sayfa</span><meta itemprop="position" content="1" /></a></li><li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a itemprop="item" href="https://www.vezzalux.com/erkek"><span itemprop='name'>ERKEK</span><meta itemprop="position" content="2" /></a></li><li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a itemprop="item" href="https://www.vezzalux.com/e-ayakkabi"><span itemprop='name'>Ayakkabı</span><meta itemprop="position" content="3" /></a></li></ol></nav></div></div></div></div></div></div></div></div></section><section class="pattern-group pattern-group-t-0 pattern-group-p-categories "><div class="container-md"><div class="pattern-group-body"><div class="row"><div class="col-list col-0 d-none col-sm-0 d-sm-none col-md-0 d-md-none col-lg-3 d-lg-block col-xl-3 d-xl-block p-g-b-c-0"><div class="p-g-b-c-wrapper"><div class="p-g-b-c-inner"><div class="p-g-mod p-g-mod-t-35 p-g-mod-t-cat-filter   "><div class="p-g-mod-body  "><div class="text-center"><div class="spinner-border text-secondary" role="status"><span class="sr-only">Yükleniyor...</span></div></div></div></div><div class="p-g-mod p-g-mod-t-21 p-g-mod-t-cat-filter   p-g-mod-t-cat-display-0"><div class="p-g-mod-header "><div class="p-g-m-h-info"><div class="p-g-m-h-i-title">
380                            Alt Kategoriler
381                        </div></div></div><div class="p-g-mod-body  "><div class="category-filter-list cat-display-type-0" data-smart-cat-filter="sub-categories"></div></div></div><div class="p-g-mod p-g-mod-t-22 p-g-mod-t-cat-filter   p-g-mod-t-cat-display-0 lux-size-global-filter-module"><div class="p-g-mod-header "><div class="p-g-m-h-info"><div class="p-g-m-h-i-title">
382                            Markalar
383                        </div></div></div><div class="p-g-mod-body  "><style>
384.lux-size-global-filter-module {
385    display: block !important;
386    width: 100%;
387}
388
389.lux-size-filter-group {
390    display: block;
391    width: 100%;
392    margin-bottom: 24px;
393}
394
395.lux-size-filter-title {
396    display: block;
397    margin-bottom: 12px;
398    font-size: 12px;
399    font-weight: 700;
400    color: #111;
401    letter-spacing: .8px;
402    text-transform: uppercase;
403}
404
405.lux-size-filter-group .category-filter-list {
406    display: block !important;
407    width: 100%;
408    visibility: visible !important;
409    opacity: 1 !important;
410}
411
412.lux-size-button-list {
413    display: flex;
414    flex-wrap: wrap;
415    gap: 8px;
416}
417
418.lux-size-btn {
419    display: inline-flex;
420    align-items: center;
421    justify-content: center;
422    min-height: 34px;
423    min-width: 42px;
424    padding: 7px 14px;
425    border: 1px solid #ddd;
426    border-radius: 20px;
427    background: #fff;
428    color: #111;
429    font-size: 13px;
430    font-weight: 500;
431    line-height: 1;
432    cursor: pointer;
433    margin: 0;
434    transition: all .2s ease;
435    text-decoration: none !important;
436}
437
438.lux-size-btn:hover {
439    border-color: #111;
440    color: #111;
441}
442
443.lux-size-btn.is-active {
444    background: #111;
445    border-color: #111;
446    color: #fff !important;
447}
448
449.lux-size-loading {
450    display: none;
451    font-size: 12px;
452    color: #999;
453    padding: 6px 0;
454}
455</style><div class="lux-size-filter-group"><div class="category-filter-list" data-smart-cat-filter="brands"></div></div><div class="lux-size-filter-group" id="luxSizeGlobalFilter"><div class="lux-size-filter-title">Bedenler</div><div class="lux-size-button-list"><a href="javascript:;" class="lux-size-btn is-active" data-size-filter="">
456            Tümü
457        </a><a href="javascript:;"
458               class="lux-size-btn"
459               data-size-filter="36">
460                36
461            </a><a href="javascript:;"
462               class="lux-size-btn"
463               data-size-filter="37">
464                37
465            </a><a href="javascript:;"
466               class="lux-size-btn"
467               data-size-filter="38">
468                38
469            </a><a href="javascript:;"
470               class="lux-size-btn"
471               data-size-filter="39">
472                39
473            </a><a href="javascript:;"
474               class="lux-size-btn"
475               data-size-filter="40">
476                40
477            </a><a href="javascript:;"
478               class="lux-size-btn"
479               data-size-filter="41">
480                41
481            </a><a href="javascript:;"
482               class="lux-size-btn"
483               data-size-filter="42">
484                42
485            </a><a href="javascript:;"
486               class="lux-size-btn"
487               data-size-filter="43">
488                43
489            </a><a href="javascript:;"
490               class="lux-size-btn"
491               data-size-filter="44">
492                44
493            </a><a href="javascript:;"
494               class="lux-size-btn"
495               data-size-filter="45">
496                45
497            </a><a href="javascript:;"
498               class="lux-size-btn"
499               data-size-filter="46">
500                46
501            </a></div><div class="lux-size-loading" id="luxSizeLoading">
502        Ürünler filtreleniyor...
503    </div></div>
vendor: 108 bytes, line 503
503<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
503<script>
504document.addEventListener('DOMContentLoaded', function(){
505
506    var filterBox = document.getElementById('luxSizeGlobalFilter');
507    if(!filterBox) return;
508
509    var loadingEl = document.getElementById('luxSizeLoading');
510
511    var PRODUCTS_PER_PAGE = 24;
512    var PAGE_CONCURRENT_LIMIT = 4;
513    var VARIANT_CONCURRENT_LIMIT = 8;
514    var MAX_PAGES_SAFE = 120;
515
516    var productMap = {};
517    var productQueue = [];
518    var activeSizes = [];
519    var currentCustomPage = 1;
520    var allPagesLoaded = false;
521    var variantsLoaded = false;
522    var requestRunning = false;
523
524    function clean(v){
525        return String(v || '').replace(/\s+/g, ' ').trim();
526    }
527
528    function norm(v){
529        return clean(v).toLocaleUpperCase('tr-TR');
530    }
531
532    function getUrlSizes(){
533        var url = new URL(window.location.href);
534        var raw = url.searchParams.get('bedenler') || '';
535
536        if(!raw) return [];
537
538        return raw.split(',')
539            .map(function(v){ return norm(v); })
540            .filter(function(v){ return v !== ''; });
541    }
542
543    function setUrlSizes(sizes){
544        var url = new URL(window.location.href);
545
546        if(sizes && sizes.length){
547            url.searchParams.set('bedenler', sizes.join(','));
548        } else {
549            url.searchParams.delete('bedenler');
550        }
551
552        url.searchParams.delete('sayfa');
553        url.searchParams.delete('page');
554
555        window.history.replaceState({}, '', url.toString());
556    }
557
558    function getGrid(){
559        return document.getElementById('luxProductGrid');
560    }
561
562    function getProductsArea(){
563        return document.getElementById('luxCategoryProductsArea');
564    }
565
566    function getNativePagination(){
567        return document.getElementById('luxNativePagination');
568    }
569
570    function getCustomPagination(){
571        return document.getElementById('luxCustomPagination');
572    }
573
574    function getCustomEmpty(){
575        return document.getElementById('luxCustomEmpty');
576    }
577
578    function getPerPage(){
579        var area = getProductsArea();
580        var value = area ? parseInt(area.getAttribute('data-lux-per-page') || '', 10) : 0;
581
582        if(!isNaN(value) && value > 0){
583            return value;
584        }
585
586        return PRODUCTS_PER_PAGE;
587    }
588
589    function activateLuxImages(scope){
590        scope = scope || document;
591
592        scope.querySelectorAll('img').forEach(function(img){
593            var dataSrc =
594                img.getAttribute('data-src') ||
595                img.getAttribute('data-original') ||
596                img.getAttribute('data-lazy') ||
597                img.getAttribute('data-lazy-src') ||
598                img.getAttribute('data-echo');
599
600            var dataSrcset = img.getAttribute('data-srcset');
601
602            if(dataSrcset){
603                img.setAttribute('srcset', dataSrcset);
604                img.removeAttribute('data-srcset');
605            }
606
607            if(dataSrc){
608                img.setAttribute('src', dataSrc);
609
610                img.removeAttribute('data-src');
611                img.removeAttribute('data-original');
612                img.removeAttribute('data-lazy');
613                img.removeAttribute('data-lazy-src');
614                img.removeAttribute('data-echo');
615
616                img.classList.remove('lazyload');
617                img.classList.remove('lazy');
618                img.classList.add('lazyloaded');
619            }
620
621            if(img.getAttribute('loading') === 'lazy'){
622                img.setAttribute('loading', 'eager');
623            }
624        });
625
626        if(window.lazyLoadInstance && typeof window.lazyLoadInstance.update === 'function'){
627            try {
628                window.lazyLoadInstance.update();
629            } catch(e){}
630        }
631
632        if(typeof LazyLoad !== 'undefined'){
633            try {
634                new LazyLoad();
635            } catch(e){}
636        }
637
638        if(typeof lazyLoadInstance !== 'undefined' && lazyLoadInstance.update){
639            try {
640                lazyLoadInstance.update();
641            } catch(e){}
642        }
643    }
644
645    function getCacheKey(link){
646        return 'lux_global_size_cache_v2_' + encodeURIComponent(link);
647    }
648
649    function getCachedSizes(link){
650        try {
651            var raw = sessionStorage.getItem(getCacheKey(link));
652            if(!raw) return null;
653
654            var data = JSON.parse(raw);
655            if(!data || !data.time || !data.sizes) return null;
656
657            var ttl = 30 * 60 * 1000;
658
659            if(Date.now() - data.time > ttl) return null;
660
661            return data.sizes;
662        } catch(e){
663            return null;
664        }
665    }
666
667    function setCachedSizes(link, sizes){
668        try {
669            sessionStorage.setItem(getCacheKey(link), JSON.stringify({
670                time: Date.now(),
671                sizes: sizes
672            }));
673        } catch(e){}
674    }
675
676    function isSoldOut(el){
677        if(!el) return false;
678
679        var cls = String(el.className || '').toLowerCase();
680
681        if(cls.indexOf('sold-out') !== -1) return true;
682        if(cls.indexOf('soldout') !== -1) return true;
683        if(cls.indexOf('sold_out') !== -1) return true;
684        if(cls.indexOf('disabled') !== -1) return true;
685        if(cls.indexOf('stoksuz') !== -1) return true;
686        if(cls.indexOf('out-of-stock') !== -1) return true;
687        if(cls.indexOf('outstock') !== -1) return true;
688        if(cls.indexOf('stok-yok') !== -1) return true;
689        if(cls.indexOf('pasif') !== -1) return true;
690        if(cls.indexOf('passive') !== -1) return true;
691
692        if(el.hasAttribute('disabled')) return true;
693        if(el.getAttribute('aria-disabled') === 'true') return true;
694        if(el.getAttribute('data-in-stock') === '0') return true;
695        if(el.getAttribute('data-in-stock') === 'false') return true;
696        if(el.getAttribute('data-stokta-var-mi') === '0') return true;
697        if(el.getAttribute('data-stokta-var-mi') === 'false') return true;
698
699        return false;
700    }
701
702    function isSizeTitle(v){
703        v = norm(v);
704
705        return (
706            v === 'BEDEN' ||
707            v === 'BEDENLER' ||
708            v === 'NUMARA' ||
709            v === 'SIZE' ||
710            v.indexOf('BEDEN') !== -1 ||
711            v.indexOf('NUMARA') !== -1 ||
712            v.indexOf('SIZE') !== -1
713        );
714    }
715
716    function getProductWrapper(card){
717        return card.closest('[data-lux-product-shell="1"]') ||
718               card.closest('.col-list-p-v-1') ||
719               card.closest('[class*="col-"]') ||
720               card.parentElement;
721    }
722
723    function registerCard(card){
724        var productId = clean(card.getAttribute('data-lux-card-id'));
725        var link = clean(card.getAttribute('data-lux-product-link'));
726
727        if(!productId || !link) return;
728        if(productMap[productId]) return;
729
730        var wrapper = getProductWrapper(card);
731
732        productMap[productId] = {
733            id: productId,
734            link: link,
735            card: card,
736            wrapper: wrapper,
737            sizes: [],
738            loaded: false
739        };
740
741        productQueue.push({
742            id: productId,
743            link: link
744        });
745    }
746
747    function collectCurrentProducts(){
748        document.querySelectorAll('#luxProductGrid .card-product[data-lux-card-id][data-lux-product-link], .card-product[data-lux-card-id][data-lux-product-link]').forEach(function(card){
749            registerCard(card);
750        });
751    }
752
753    function buildPageUrl(pageNo){
754        var url = new URL(window.location.href);
755
756        url.searchParams.set('sayfa', pageNo);
757        url.searchParams.delete('page');
758        url.searchParams.delete('bedenler');
759
760        return url.toString();
761    }
762
763    function fetchPage(pageNo){
764        return fetch(buildPageUrl(pageNo), {
765            method: 'GET',
766            credentials: 'same-origin',
767            headers: {
768                'Accept': 'text/html'
769            }
770        })
771        .then(function(r){
772            return r.text();
773        })
774        .then(function(html){
775            var doc = new DOMParser().parseFromString(html, 'text/html');
776            var shells = doc.querySelectorAll('#luxProductGrid [data-lux-product-shell="1"]');
777
778            if(!shells.length){
779                shells = doc.querySelectorAll('.col-list-p-v-1');
780            }
781
782            if(!shells.length) return 0;
783
784            var grid = getGrid();
785            if(!grid) return 0;
786
787            var frag = document.createDocumentFragment();
788            var added = 0;
789
790            shells.forEach(function(shell){
791                var card = shell.querySelector('.card-product[data-lux-card-id][data-lux-product-link]');
792                if(!card) return;
793
794                var productId = clean(card.getAttribute('data-lux-card-id'));
795                if(!productId || productMap[productId]) return;
796
797                var clone = shell.cloneNode(true);
798
799                clone.style.display = 'none';
800                clone.setAttribute('data-lux-product-shell', '1');
801                clone.setAttribute('data-lux-added-page', pageNo);
802
803                frag.appendChild(clone);
804                added++;
805            });
806
807            if(frag.childNodes.length){
808                grid.appendChild(frag);
809
810                grid.querySelectorAll('[data-lux-added-page="' + pageNo + '"]').forEach(function(shell){
811                    activateLuxImages(shell);
812                });
813
814                grid.querySelectorAll('[data-lux-added-page="' + pageNo + '"] .card-product[data-lux-card-id][data-lux-product-link]').forEach(function(card){
815                    registerCard(card);
816                });
817            }
818
819            return added;
820        })
821        .catch(function(){
822            return 0;
823        });
824    }
825
826    function runLimited(items, limit, worker, done){
827        var index = 0;
828        var active = 0;
829        var finished = 0;
830        var total = items.length;
831
832        if(total === 0){
833            done();
834            return;
835        }
836
837        function next(){
838            while(active < limit && index < total){
839                var item = items[index++];
840                active++;
841
842                worker(item).then(function(){
843                    active--;
844                    finished++;
845
846                    if(finished >= total){
847                        done();
848                    } else {
849                        next();
850                    }
851                });
852            }
853        }
854
855        next();
856    }
857
858    function fetchAllPages(done){
859        if(allPagesLoaded){
860            done();
861            return;
862        }
863
864        var area = getProductsArea();
865        var twigTotalPage = area ? parseInt(area.getAttribute('data-lux-total-page') || '1', 10) : 1;
866
867        if(!isNaN(twigTotalPage) && twigTotalPage > 1){
868            var pages = [];
869
870            for(var p = 2; p <= twigTotalPage; p++){
871                pages.push(p);
872            }
873
874            runLimited(pages, PAGE_CONCURRENT_LIMIT, fetchPage, function(){
875                allPagesLoaded = true;
876                done();
877            });
878
879            return;
880        }
881
882        var nextPage = 2;
883        var stop = false;
884
885        function batch(){
886            if(stop || nextPage > MAX_PAGES_SAFE){
887                allPagesLoaded = true;
888                done();
889                return;
890            }
891
892            var pages = [];
893
894            for(var i = 0; i < PAGE_CONCURRENT_LIMIT; i++){
895                pages.push(nextPage);
896                nextPage++;
897            }
898
899            Promise.all(pages.map(fetchPage)).then(function(results){
900                var added = 0;
901
902                results.forEach(function(count){
903                    added += parseInt(count || 0, 10);
904                });
905
906                if(added <= 0){
907                    stop = true;
908                    allPagesLoaded = true;
909                    done();
910                } else {
911                    batch();
912                }
913            }).catch(function(){
914                allPagesLoaded = true;
915                done();
916            });
917        }
918
919        batch();
920    }
921
922    function parseSizesFromHtml(html){
923        var doc = new DOMParser().parseFromString(html, 'text/html');
924        var sizes = [];
925
926        var variantBox = doc.querySelector('.variant-box');
927        if(!variantBox) return sizes;
928
929        var variants = variantBox.querySelectorAll('.variant, li[data-variant-baslik], [data-variant-baslik]');
930
931        variants.forEach(function(li, index){
932            var title = '';
933
934            var nameEl = li.querySelector('.name');
935
936            if(nameEl){
937                title = clean(nameEl.textContent.replace(':', ''));
938            }
939
940            if(!title){
941                title = clean(
942                    li.getAttribute('data-variant-baslik') ||
943                    li.getAttribute('data-variant-name') ||
944                    li.getAttribute('data-variant-title') ||
945                    ''
946                );
947            }
948
949            var shouldRead = isSizeTitle(title);
950
951            if(!shouldRead && index === 0){
952                shouldRead = true;
953            }
954
955            if(!shouldRead) return;
956
957            var optionLinks = li.querySelectorAll('.options a[data-variant-value], .options a, a[data-variant-value]');
958
959            if(optionLinks.length > 0){
960                optionLinks.forEach(function(a){
961                    if(isSoldOut(a)) return;
962
963                    var val = clean(
964                        a.getAttribute('data-variant-value') ||
965                        a.getAttribute('data-value') ||
966                        a.textContent
967                    );
968
969                    if(val && sizes.indexOf(val) === -1){
970                        sizes.push(val);
971                    }
972                });
973            } else {
974                var select = li.querySelector('select');
975
976                if(select){
977                    select.querySelectorAll('option').forEach(function(opt){
978                        if(!opt.value) return;
979                        if(isSoldOut(opt)) return;
980
981                        var val = clean(
982                            opt.getAttribute('data-variant-value') ||
983                            opt.value ||
984                            opt.textContent
985                        );
986
987                        if(val && sizes.indexOf(val) === -1){
988                            sizes.push(val);
989                        }
990                    });
991                }
992            }
993        });
994
995        return sizes;
996    }
997
998    function fetchProductSizes(item){
999        var product = productMap[item.id];
1000
1001        if(!product){
1002            return Promise.resolve([]);
1003        }
1004
1005        if(product.loaded){
1006            return Promise.resolve(product.sizes);
1007        }
1008
1009        var cached = getCachedSizes(item.link);
1010
1011        if(cached){
1012            product.sizes = cached;
1013            product.loaded = true;
1014            product.card.setAttribute('data-lux-stock-sizes', cached.join('|'));
1015
1016            return Promise.resolve(cached);
1017        }
1018
1019        return fetch(item.link, {
1020            method: 'GET',
1021            credentials: 'same-origin',
1022            headers: {
1023                'Accept': 'text/html'
1024            }
1025        })
1026        .then(function(r){
1027            return r.text();
1028        })
1029        .then(function(html){
1030            var sizes = parseSizesFromHtml(html);
1031
1032            product.sizes = sizes;
1033            product.loaded = true;
1034            product.card.setAttribute('data-lux-stock-sizes', sizes.join('|'));
1035
1036            setCachedSizes(item.link, sizes);
1037
1038            return sizes;
1039        })
1040        .catch(function(){
1041            product.sizes = [];
1042            product.loaded = true;
1043            product.card.setAttribute('data-lux-stock-sizes', '');
1044
1045            return [];
1046        });
1047    }
1048
1049    function fetchAllVariants(done){
1050        if(variantsLoaded){
1051            done();
1052            return;
1053        }
1054
1055        var unique = [];
1056        var seen = {};
1057
1058        productQueue.forEach(function(item){
1059            if(!seen[item.id]){
1060                seen[item.id] = true;
1061                unique.push(item);
1062            }
1063        });
1064
1065        productQueue = unique;
1066
1067        runLimited(productQueue, VARIANT_CONCURRENT_LIMIT, fetchProductSizes, function(){
1068            variantsLoaded = true;
1069            done();
1070        });
1071    }
1072
1073    function getFilteredProducts(){
1074        var list = [];
1075
1076        Object.keys(productMap).forEach(function(productId){
1077            var product = productMap[productId];
1078
1079            if(!activeSizes.length){
1080                list.push(product);
1081                return;
1082            }
1083
1084            var hasSize = false;
1085
1086            product.sizes.forEach(function(size){
1087                if(activeSizes.indexOf(norm(size)) !== -1){
1088                    hasSize = true;
1089                }
1090            });
1091
1092            if(hasSize){
1093                list.push(product);
1094            }
1095        });
1096
1097        return list;
1098    }
1099
1100    function setPaginationMode(){
1101        var area = getProductsArea();
1102        var nativePagination = getNativePagination();
1103        var customPagination = getCustomPagination();
1104
1105        if(activeSizes.length){
1106            document.body.classList.add('lux-size-filter-active');
1107
1108            if(area){
1109                area.classList.add('is-lux-filter-active');
1110            }
1111
1112            if(nativePagination){
1113                nativePagination.style.display = 'none';
1114            }
1115
1116            if(customPagination){
1117                customPagination.style.display = 'flex';
1118            }
1119        } else {
1120            document.body.classList.remove('lux-size-filter-active');
1121
1122            if(area){
1123                area.classList.remove('is-lux-filter-active');
1124            }
1125
1126            if(nativePagination){
1127                nativePagination.style.display = '';
1128            }
1129
1130            if(customPagination){
1131                customPagination.style.display = 'none';
1132                customPagination.innerHTML = '';
1133            }
1134        }
1135    }
1136
1137    function resetToNativeMode(){
1138        setPaginationMode();
1139
1140        Object.keys(productMap).forEach(function(productId){
1141            var product = productMap[productId];
1142
1143            if(!product.wrapper) return;
1144
1145            if(product.wrapper.getAttribute('data-lux-added-page')){
1146                product.wrapper.style.display = 'none';
1147            } else {
1148                product.wrapper.style.display = '';
1149                activateLuxImages(product.wrapper);
1150            }
1151        });
1152
1153        var emptyBox = getCustomEmpty();
1154
1155        if(emptyBox){
1156            emptyBox.style.display = 'none';
1157        }
1158    }
1159
1160    function renderFilteredProducts(){
1161        setPaginationMode();
1162
1163        if(!activeSizes.length){
1164            resetToNativeMode();
1165            return;
1166        }
1167
1168        var products = getFilteredProducts();
1169        var total = products.length;
1170        var perPage = getPerPage();
1171        var totalPages = Math.max(1, Math.ceil(total / perPage));
1172        var emptyBox = getCustomEmpty();
1173
1174        if(currentCustomPage < 1){
1175            currentCustomPage = 1;
1176        }
1177
1178        if(currentCustomPage > totalPages){
1179            currentCustomPage = totalPages;
1180        }
1181
1182        Object.keys(productMap).forEach(function(productId){
1183            var product = productMap[productId];
1184
1185            if(product.wrapper){
1186                product.wrapper.style.display = 'none';
1187            }
1188        });
1189
1190        if(total === 0){
1191            if(emptyBox){
1192                emptyBox.style.display = 'block';
1193            }
1194
1195            renderCustomPagination(totalPages);
1196            return;
1197        }
1198
1199        if(emptyBox){
1200            emptyBox.style.display = 'none';
1201        }
1202
1203        var start = (currentCustomPage - 1) * perPage;
1204        var end = start + perPage;
1205
1206        products.slice(start, end).forEach(function(product){
1207            if(product.wrapper){
1208                product.wrapper.style.display = '';
1209                activateLuxImages(product.wrapper);
1210            }
1211        });
1212
1213        renderCustomPagination(totalPages);
1214    }
1215
1216    function paginationNumbers(current, total){
1217        var arr = [];
1218        var delta = 2;
1219
1220        if(total <= 7){
1221            for(var i = 1; i <= total; i++){
1222                arr.push(i);
1223            }
1224
1225            return arr;
1226        }
1227
1228        arr.push(1);
1229
1230        if(current - delta > 2){
1231            arr.push('...');
1232        }
1233
1234        for(var j = Math.max(2, current - delta); j <= Math.min(total - 1, current + delta); j++){
1235            arr.push(j);
1236        }
1237
1238        if(current + delta < total - 1){
1239            arr.push('...');
1240        }
1241
1242        arr.push(total);
1243
1244        return arr;
1245    }
1246
1247    function renderCustomPagination(totalPages){
1248        var pagination = getCustomPagination();
1249
1250        if(!pagination) return;
1251
1252        pagination.innerHTML = '';
1253
1254        if(!activeSizes.length || totalPages <= 1){
1255            pagination.style.display = 'none';
1256            return;
1257        }
1258
1259        pagination.style.display = 'flex';
1260
1261        function makeButton(label, disabled, active, callback){
1262            var btn = document.createElement('button');
1263
1264            btn.type = 'button';
1265            btn.innerHTML = label;
1266            btn.disabled = !!disabled;
1267
1268            if(active){
1269                btn.classList.add('is-active');
1270            }
1271
1272            if(!disabled && typeof callback === 'function'){
1273                btn.addEventListener('click', callback);
1274            }
1275
1276            return btn;
1277        }
1278
1279        pagination.appendChild(makeButton('‹', currentCustomPage <= 1, false, function(){
1280            currentCustomPage--;
1281            renderFilteredProducts();
1282            scrollToProducts();
1283        }));
1284
1285        paginationNumbers(currentCustomPage, totalPages).forEach(function(page){
1286            if(page === '...'){
1287                var span = document.createElement('span');
1288                span.textContent = '...';
1289                pagination.appendChild(span);
1290            } else {
1291                pagination.appendChild(makeButton(page, false, page === currentCustomPage, function(){
1292                    currentCustomPage = page;
1293                    renderFilteredProducts();
1294                    scrollToProducts();
1295                }));
1296            }
1297        });
1298
1299        pagination.appendChild(makeButton('›', currentCustomPage >= totalPages, false, function(){
1300            currentCustomPage++;
1301            renderFilteredProducts();
1302            scrollToProducts();
1303        }));
1304    }
1305
1306    function scrollToProducts(){
1307        var grid = getGrid();
1308
1309        if(grid){
1310            grid.scrollIntoView({
1311                behavior: 'smooth',
1312                block: 'start'
1313            });
1314        }
1315    }
1316
1317    function updateButtons(){
1318        document.querySelectorAll('.lux-size-btn').forEach(function(btn){
1319            var size = norm(btn.getAttribute('data-size-filter') || '');
1320
1321            if(size === ''){
1322                btn.classList.toggle('is-active', activeSizes.length === 0);
1323            } else {
1324                btn.classList.toggle('is-active', activeSizes.indexOf(size) !== -1);
1325            }
1326        });
1327    }
1328
1329    function startGlobalFilter(){
1330        if(requestRunning) return;
1331
1332        if(!activeSizes.length){
1333            resetToNativeMode();
1334            return;
1335        }
1336
1337        requestRunning = true;
1338
1339        if(loadingEl){
1340            loadingEl.style.display = 'block';
1341        }
1342
1343        collectCurrentProducts();
1344
1345        fetchAllPages(function(){
1346            fetchAllVariants(function(){
1347                requestRunning = false;
1348
1349                if(loadingEl){
1350                    loadingEl.style.display = 'none';
1351                }
1352
1353                renderFilteredProducts();
1354            });
1355        });
1356    }
1357
1358    function bindButtons(){
1359        document.querySelectorAll('.lux-size-btn').forEach(function(btn){
1360            btn.onclick = function(e){
1361                e.preventDefault();
1362
1363                if(requestRunning) return;
1364
1365                var selected = norm(this.getAttribute('data-size-filter') || '');
1366
1367                if(selected === ''){
1368                    activeSizes = [];
1369                } else {
1370                    var index = activeSizes.indexOf(selected);
1371
1372                    if(index === -1){
1373                        activeSizes.push(selected);
1374                    } else {
1375                        activeSizes.splice(index, 1);
1376                    }
1377                }
1378
1379                currentCustomPage = 1;
1380
1381                setUrlSizes(activeSizes);
1382                updateButtons();
1383                startGlobalFilter();
1384            };
1385        });
1386    }
1387
1388    function init(){
1389        activeSizes = getUrlSizes();
1390
1391        collectCurrentProducts();
1392        bindButtons();
1393        updateButtons();
1394        activateLuxImages(document);
1395
1396        if(activeSizes.length){
1397            startGlobalFilter();
1398        } else {
1399            resetToNativeMode();
1400        }
1401    }
1402
1403    init();
1404
1405});
1406</script>
1406</div></div><div class="p-g-mod p-g-mod-t-24 p-g-mod-t-cat-filter   p-g-mod-t-cat-display-0"><div class="p-g-mod-header "><div class="p-g-m-h-info"><div class="p-g-m-h-i-title">
1407                            Fiyat Aralıkları
1408                        </div></div></div><div class="p-g-mod-body  "><div class="category-price-inputs" data-smart-cat-filter="price-inputs"><input class="form-control number-input" name="smart-cat-min-price"
1409               data-smart-cat-search="1" placeholder="En Az"
1410               value="" /><span class="seperator">-</span><input class="form-control number-input" name="smart-cat-max-price"
1411               data-smart-cat-search="1" placeholder="En Çok"
1412               value=""/><button class="btn" type="button" data-smart-cat-price-button><i class="fas fa-arrow-right"></i></button></div><div class="category-filter-list" data-smart-cat-filter="price-ranges"></div></div></div><div class="p-g-mod p-g-mod-t-25 p-g-mod-t-cat-filter   p-g-mod-t-cat-display-0"><div class="p-g-mod-header "><div class="p-g-m-h-info"><div class="p-g-m-h-i-title">
1413                            Listeleme
1414                        </div></div></div><div class="p-g-mod-body  "><div class="category-filter-list"><div class="list-wrap" data-simplebar data-simplebar-auto-hide="false"><ul class="list"><li><div class="lag-checkbox"><input id="cat-filter-list-stoktakiler" name="smart-cat-list" value="stoktakiler" data-smart-cat-search="1" type="radio" ><label for="cat-filter-list-stoktakiler">Sadece stoktakileri göster</label><span></span></div></li><li><div class="lag-checkbox"><input id="cat-filter-list-uk" name="smart-cat-list" value="uk" data-smart-cat-search="1" type="radio" ><label for="cat-filter-list-uk">Ücretsiz Kargo</label><span></span></div></li></ul></div></div></div></div><div class="p-g-mod p-g-mod-t-26    p-g-mod-t-cat-display-0 cat-lux-action-module"><div class="p-g-mod-body  p-g-mod-body-p-0  "><style>
1415.cat-lux-action-module {
1416    display: block !important;
1417    visibility: visible !important;
1418    opacity: 1 !important;
1419}
1420
1421.cat-lux-filter-actions {
1422    width: 100%;
1423    display: flex !important;
1424    align-items: center;
1425    justify-content: space-between;
1426    gap: 10px;
1427    padding: 14px 0;
1428    margin: 10px 0 16px;
1429    position: relative;
1430    z-index: 50;
1431    visibility: visible !important;
1432    opacity: 1 !important;
1433}
1434
1435.cat-lux-filter-btn {
1436    min-height: 42px;
1437    padding: 11px 18px;
1438    border-radius: 4px;
1439    border: 1px solid #111;
1440    font-size: 13px;
1441    font-weight: 600;
1442    line-height: 1.2;
1443    text-decoration: none !important;
1444    display: inline-flex !important;
1445    align-items: center;
1446    justify-content: center;
1447    gap: 8px;
1448    cursor: pointer;
1449    font-family: inherit;
1450    transition: all .2s ease;
1451    visibility: visible !important;
1452    opacity: 1 !important;
1453    white-space: nowrap;
1454}
1455
1456.cat-lux-filter-btn-clear {
1457    background: #fff;
1458    color: #111 !important;
1459}
1460
1461.cat-lux-filter-btn-clear:hover {
1462    background: #111;
1463    color: #fff !important;
1464}
1465
1466.cat-lux-filter-btn-show {
1467    background: #111;
1468    color: #fff !important;
1469}
1470
1471.cat-lux-filter-btn-show:hover {
1472    background: #333;
1473    color: #fff !important;
1474}
1475
1476.cat-lux-filter-btn svg {
1477    width: 15px;
1478    height: 15px;
1479    stroke: currentColor;
1480    fill: none;
1481    stroke-width: 2;
1482}
1483
1484@media (min-width: 992px) {
1485    .cat-lux-filter-btn-show {
1486        display: none !important;
1487    }
1488
1489    .cat-lux-filter-actions {
1490        justify-content: flex-start;
1491    }
1492}
1493
1494@media (max-width: 991px) {
1495    .cat-lux-filter-actions {
1496        position: sticky;
1497        bottom: 0;
1498        left: 0;
1499        right: 0;
1500        background: #fff;
1501        padding: 12px;
1502        margin: 0;
1503        z-index: 9999;
1504        box-shadow: 0 -8px 24px rgba(0,0,0,.08);
1505        border-top: 1px solid #eee;
1506    }
1507
1508    .cat-lux-filter-btn {
1509        flex: 1;
1510        width: 50%;
1511        min-height: 46px;
1512        font-size: 13px;
1513    }
1514}
1515</style><div class="cat-lux-filter-actions"><a href="https://www.vezzalux.com/e-ayakkabi" class="cat-lux-filter-btn cat-lux-filter-btn-clear"><svg viewBox="0 0 24 24">
1515<path d="M18 6L6 18" stroke-linecap="round" stroke-linejoin="round"></path><path d="M6 6l12 12" stroke-linecap="round" stroke-linejoin="round"></path></svg>
1516        Seçimleri Temizle
1517    </a><a href="javascript:;"
1518       onclick="if(typeof hideSmartCategoryPopup === 'function'){ hideSmartCategoryPopup(); } return false;"
1519       class="cat-lux-filter-btn cat-lux-filter-btn-show">
1520        Ürünleri Listele
1521        <svg viewBox="0 0 24 24"><path d="M5 12h14" stroke-linecap="round" stroke-linejoin="round"></path><path d="M13 6l6 6-6 6" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div></div></div></div></div><div class="col-list col-12 d-block col-sm-12 d-sm-block col-md-12 d-md-block col-lg-9 d-lg-block col-xl-9 d-xl-block p-g-b-c-1"><div class="p-g-b-c-wrapper"><div class="p-g-b-c-inner"><div class="p-g-mod p-g-mod-t-20 p-g-mod-pagination   "><div class="p-g-mod-header "><div class="p-g-m-h-info"><h1 class="p-g-m-h-i-title">
1522                            Ayakkabı
1523                    </h1></div></div><div class="p-g-mod-body  p-g-mod-body-p-0  "><div class="d-none d-lg-block"><div class="category-filter-order"><div class="list-wrap"><ul class="list"><li><select class="form-control form-select category-filter-order-desktop"
1524                                    onchange="catFilterOrder(this)"><option selected value="cok-satanlar">
1525                                        En çok satanlar
1526                                    </option><option  value="en-yeniler">
1527                                        En yeniler
1528                                    </option><option  value="a-z">
1529                                        Ürün adı (A-Z)
1530                                    </option><option  value="z-a">
1531                                        Ürün adı (Z-A)
1532                                    </option><option  value="en-dusuk-fiyat">
1533                                        En düşük fiyat
1534                                    </option><option  value="en-yuksek-fiyat">
1535                                        En yüksek fiyat
1536                                    </option><option  value="en-cok-oylanan">
1537                                        En çok oylananlar
1538                                    </option></select><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1539                                            id="cat-filter-order-cok-satanlar"
1540                                            name="smart-cat-siralama"
1541                                            value="cok-satanlar"
1542                                            data-search-value="cok-satanlar"
1543                                            data-smart-cat-search="1"
1544                                            type="radio"
1545                                            checked
1546                                        ><label for="cat-filter-order-cok-satanlar">
1547                                            En çok satanlar
1548                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1549                                            id="cat-filter-order-en-yeniler"
1550                                            name="smart-cat-siralama"
1551                                            value="en-yeniler"
1552                                            data-search-value="en-yeniler"
1553                                            data-smart-cat-search="1"
1554                                            type="radio"
1555                                            
1556                                        ><label for="cat-filter-order-en-yeniler">
1557                                            En yeniler
1558                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1559                                            id="cat-filter-order-a-z"
1560                                            name="smart-cat-siralama"
1561                                            value="a-z"
1562                                            data-search-value="a-z"
1563                                            data-smart-cat-search="1"
1564                                            type="radio"
1565                                            
1566                                        ><label for="cat-filter-order-a-z">
1567                                            Ürün adı (A-Z)
1568                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1569                                            id="cat-filter-order-z-a"
1570                                            name="smart-cat-siralama"
1571                                            value="z-a"
1572                                            data-search-value="z-a"
1573                                            data-smart-cat-search="1"
1574                                            type="radio"
1575                                            
1576                                        ><label for="cat-filter-order-z-a">
1577                                            Ürün adı (Z-A)
1578                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1579                                            id="cat-filter-order-en-dusuk-fiyat"
1580                                            name="smart-cat-siralama"
1581                                            value="en-dusuk-fiyat"
1582                                            data-search-value="en-dusuk-fiyat"
1583                                            data-smart-cat-search="1"
1584                                            type="radio"
1585                                            
1586                                        ><label for="cat-filter-order-en-dusuk-fiyat">
1587                                            En düşük fiyat
1588                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1589                                            id="cat-filter-order-en-yuksek-fiyat"
1590                                            name="smart-cat-siralama"
1591                                            value="en-yuksek-fiyat"
1592                                            data-search-value="en-yuksek-fiyat"
1593                                            data-smart-cat-search="1"
1594                                            type="radio"
1595                                            
1596                                        ><label for="cat-filter-order-en-yuksek-fiyat">
1597                                            En yüksek fiyat
1598                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1599                                            id="cat-filter-order-en-cok-oylanan"
1600                                            name="smart-cat-siralama"
1601                                            value="en-cok-oylanan"
1602                                            data-search-value="en-cok-oylanan"
1603                                            data-smart-cat-search="1"
1604                                            type="radio"
1605                                            
1606                                        ><label for="cat-filter-order-en-cok-oylanan">
1607                                            En çok oylananlar
1608                                        </label></div></li></li><li><div class="product-view-select"><a href="javascript:;" class="two-view" onclick="categoryViewType(6, 6, 2)"><div></div><div></div></a><a href="javascript:;" class="three-view" onclick="categoryViewType(4, 4, 3)"><div></div><div></div><div></div></a><a href="javascript:;" class="four-view" onclick="categoryViewType(4, 3, 4)"><div></div><div></div><div></div><div></div></a></div></li></ul></div></div></div><div class="d-block d-sm-block d-md-block d-lg-none"><div class="cat-responsive-buttons"><div class="btn-group"><button class="btn btn-outline-dark" onclick="showSmartCategoryPopup('filter')">Filtreleme</button><button class="btn btn-outline-dark" onclick="showSmartCategoryPopup('order')">Sıralama</button></div></div><div class="cat-responsive-popup d-none"><div class="c-r-p-content"></div><div class="c-r-p-bar"></div></div></div><div class="category-pg-inner lux-category-products-area"
1609                 id="luxCategoryProductsArea"
1610                 data-lux-base-url="https://www.vezzalux.com/e-ayakkabi"
1611                 data-lux-total-page="7"
1612                 data-lux-per-page="24"><div class="row" id="luxProductGrid">
1612<div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
1613                             data-lux-product-shell="1"
1614                             data-lux-page="1"><style>
1615@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
1616
1617/* ===== VEZZA LUX CARD ===== */
1618.card-product{
1619  font-family:'Poppins',sans-serif;
1620  background:#fff !important;
1621  position:relative;
1622}
1623.card-product-inner{
1624  background:transparent !important;
1625  position:relative;
1626}
1627.card-product .c-p-i-link,
1628.card-product a{
1629  background:transparent !important;
1630}
1631.card-product-inner > div{
1632  background:transparent !important;
1633}
1634.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
1635  background:transparent !important;
1636}
1637.card-product .card-product-content,
1638.card-product .price-group,
1639.card-product .prices{
1640  background:transparent !important;
1641}
1642[class*="skeleton"],
1643[class*="placeholder"],
1644[class*="loading"]{
1645  background:transparent !important;
1646}
1647
1648/* ===== IMAGE AREA - KARE GÖRSEL ===== */
1649.image-wrapper{
1650  position:relative;
1651  width:100%;
1652  aspect-ratio:1/1;
1653  overflow:hidden;
1654  background:#fff !important;
1655}
1656
1657.image{
1658  position:relative;
1659  width:100%;
1660  height:100%;
1661}
1662
1663.image-wrapper img{
1664  width:100% !important;
1665  height:100% !important;
1666  object-fit:cover !important;
1667  object-position:center center !important;
1668  display:block;
1669  transition:transform .35s ease;
1670}
1671
1672/* ===== DISCOUNT ===== */
1673.discount{
1674  position:absolute;
1675  top:12px;
1676  left:12px;
1677  width:28px;
1678  height:48px;
1679  background:#e10b0b;
1680  color:#fff;
1681  font-size:12px;
1682  font-weight:600;
1683  display:flex;
1684  align-items:center;
1685  justify-content:center;
1686  writing-mode:vertical-rl;
1687  transform:rotate(180deg);
1688  letter-spacing:.5px;
1689  z-index:7;
1690}
1691
1692/* ===== FAV ===== */
1693.lux-fav{
1694  position:absolute;
1695  top:12px;
1696  right:12px;
1697  z-index:7;
1698}
1699.lux-fav a,
1700.lux-fav button{
1701  background:transparent !important;
1702  border:0 !important;
1703  padding:0 !important;
1704  cursor:pointer;
1705  display:inline-flex;
1706  align-items:center;
1707  justify-content:center;
1708}
1709
1710/* ===== SEPET IKON ===== */
1711.lux-bag{
1712  position:absolute;
1713  bottom:12px;
1714  right:12px;
1715  z-index:7;
1716  width:34px;
1717  height:34px;
1718  display:inline-flex;
1719  align-items:center;
1720  justify-content:center;
1721  background:rgba(255,255,255,.92);
1722  border:1px solid rgba(0,0,0,.10);
1723  border-radius:10px;
1724  cursor:pointer;
1725  transition:.2s ease;
1726}
1727.lux-bag:hover{
1728  background:#fff;
1729  border-color:rgba(0,0,0,.25);
1730}
1731.lux-bag.is-loading{
1732  opacity:.6;
1733  cursor:wait;
1734}
1735.lux-bag.is-success{
1736  background:#2e7d32 !important;
1737  border-color:#2e7d32 !important;
1738  color:#fff !important;
1739}
1740.card-product.sizes-open .lux-bag{
1741  opacity:0;
1742  pointer-events:none;
1743}
1744
1745/* Loading spinner */
1746.lux-bag.is-loading i::before{
1747  content:"⏳";
1748}
1749
1750/* ===== SIZE STRIP ===== */
1751.size-strip{
1752  width:100%;
1753  max-height:0;
1754  overflow:hidden;
1755  background:#fff;
1756  display:flex;
1757  flex-wrap:wrap;
1758  transition:max-height .3s ease, border-color .3s ease;
1759  border-top:1px solid transparent;
1760  border-bottom:1px solid transparent;
1761}
1762.size-strip.open{
1763  max-height:200px;
1764  border-top-color:rgba(0,0,0,.08);
1765  border-bottom-color:rgba(0,0,0,.08);
1766}
1767.size-item{
1768  flex:1 0 auto;
1769  min-width:38px;
1770  height:42px;
1771  display:flex;
1772  align-items:center;
1773  justify-content:center;
1774  font-size:13px;
1775  font-weight:500;
1776  color:#111 !important;
1777  cursor:pointer;
1778  user-select:none;
1779  background:transparent;
1780  transition:background .15s ease, color .15s ease;
1781  border-right:1px solid rgba(0,0,0,.08);
1782}
1783.size-item:last-child{ border-right:0; }
1784.size-item:hover:not(.disabled):not(.adding){
1785  background:#000 !important;
1786  color:#fff !important;
1787}
1788.size-item.disabled{
1789  color:#111 !important;
1790  text-decoration:line-through !important;
1791  opacity:.30 !important;
1792  cursor:not-allowed;
1793}
1794.size-item.adding{
1795  background:#2e7d32 !important;
1796  color:#fff !important;
1797  cursor:wait;
1798}
1799
1800/* ===== META ===== */
1801.lux-meta{
1802  padding:12px 6px 6px;
1803  background:transparent !important;
1804}
1805.lux-brand{
1806  font-size:16px;
1807  font-weight:600;
1808  color:#111;
1809  margin-bottom:2px;
1810}
1811.lux-title{
1812  font-size:14px;
1813  font-weight:400;
1814  line-height:1.45;
1815  color:#111;
1816  margin:0;
1817}
1818.lux-price{
1819  margin-top:10px;
1820  display:flex;
1821  gap:10px;
1822  align-items:baseline;
1823  background:transparent !important;
1824}
1825.lux-price .list-price{
1826  font-size:14px;
1827  font-weight:400;
1828  color:#111;
1829  text-decoration:line-through;
1830}
1831.lux-price .sale-price{
1832  font-size:16px;
1833  font-weight:600;
1834  color:#e10b0b;
1835}
1836
1837.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
1838.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
1839</style><div class="card-product"
1840     id="card-10741"
1841     data-lux-card-id="10741"
1842     data-lux-product-link="https://www.vezzalux.com/bottega-1314-kahverengi-loafer-erkek-ayakkabi"
1843     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/bottega-1314-kahverengi-loafer-erkek-ayakkabi" class="c-p-i-link" title="Bottega 1314 Kahverengi Süet Loafer Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a6071abe94b8-92650790-sw800sh800.webp" alt="Bottega 1314 Kahverengi Süet Loafer Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a6071abe94b8-92650790-sw800sh800.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a6071ad2eb4d-56408374-sw800sh800.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
1844        onclick="userProductFavourite('add', 10741)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
1845         id="lux-bag-10741"
1846         onclick="return luxBagClick(event, 10741);"
1847         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10741" style="display:none;"></div><div class="size-strip" id="size-strip-10741" data-loaded="0"></div><a href="https://www.vezzalux.com/bottega-1314-kahverengi-loafer-erkek-ayakkabi" class="c-p-i-link" title="Bottega 1314 Kahverengi Süet Loafer Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Bottega Veneta</div><div class="lux-title">Bottega 1314 Kahverengi Süet Loafer Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">13.500,00 TL</div></div></div></a></div></div>
1847<script>
1848(function(){
1849
1850  /* Bir kez kur */
1851  if(window.__luxCardInit) return;
1852  window.__luxCardInit = true;
1853
1854  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
1855  window.__luxVariantCache = window.__luxVariantCache || {};
1856
1857  function closeAll(){
1858    document.querySelectorAll('.size-strip.open').forEach(function(s){
1859      s.classList.remove('open');
1860    });
1861    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
1862      c.classList.remove('sizes-open');
1863    });
1864  }
1865
1866  function flashSuccess(productId){
1867    var bag = document.getElementById('lux-bag-' + productId);
1868    if(!bag) return;
1869    bag.classList.add('is-success');
1870    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
1871  }
1872
1873  /* Dış tıklama - kapat */
1874  document.addEventListener('click', function(e){
1875    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
1876    if(!inside) closeAll();
1877  });
1878
1879  document.addEventListener('keydown', function(e){
1880    if(e.key === 'Escape') closeAll();
1881  });
1882
1883
1884  /* ============================================
1885     MODAL KILLER - yedek güvence
1886     ============================================ */
1887  var LUX_MODAL_KILL_ACTIVE = false;
1888
1889  function killVisibleModals(){
1890    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
1891    modals.forEach(function(m){
1892      var id = (m.id || '').toLowerCase();
1893      var txt = (m.textContent || '').toLowerCase();
1894      var isCartModal = id.indexOf('cart') > -1
1895                     || id.indexOf('variant') > -1
1896                     || id.indexOf('fast') > -1
1897                     || id.indexOf('urun') > -1
1898                     || txt.indexOf('lütfen seçin') > -1;
1899
1900      if(isCartModal){
1901        if(typeof jQuery !== 'undefined'){
1902          try { jQuery(m).modal('hide'); } catch(e){}
1903        }
1904        m.classList.remove('show','in');
1905        m.style.display = 'none';
1906      }
1907    });
1908
1909    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
1910    document.body.classList.remove('modal-open');
1911    document.body.style.overflow = '';
1912    document.body.style.paddingRight = '';
1913  }
1914
1915  function startModalKill(durationMs){
1916    if(LUX_MODAL_KILL_ACTIVE) return;
1917    LUX_MODAL_KILL_ACTIVE = true;
1918    killVisibleModals();
1919    var interval = setInterval(killVisibleModals, 50);
1920    setTimeout(function(){
1921      clearInterval(interval);
1922      LUX_MODAL_KILL_ACTIVE = false;
1923    }, durationMs || 2000);
1924  }
1925
1926
1927  /* ============================================
1928     AJAX: Varyantları detay sayfasından çek
1929     ============================================
1930     Ürün detay sayfasının tam HTML'ini indir,
1931     DOMParser ile parse et, varyantları bul
1932     ============================================ */
1933  function fetchVariants(productId, productLink, callback){
1934
1935    /* Cache'te varsa hemen döndür */
1936    if(window.__luxVariantCache[productId]){
1937      callback(window.__luxVariantCache[productId]);
1938      return;
1939    }
1940
1941    fetch(productLink, {
1942      method: 'GET',
1943      credentials: 'same-origin',
1944      headers: { 'Accept': 'text/html' }
1945    })
1946    .then(function(r){ return r.text(); })
1947    .then(function(html){
1948      var parser = new DOMParser();
1949      var doc = parser.parseFromString(html, 'text/html');
1950
1951      /* Detay sayfasındaki .variant-box'ı bul */
1952      var variantBox = doc.querySelector('.variant-box');
1953      if(!variantBox){
1954        callback({ variants: [], error: 'no_variant_box' });
1955        return;
1956      }
1957
1958      /* Her varyant grubu için select'leri ve option'ları oku */
1959      var variants = [];
1960      var variantLis = variantBox.querySelectorAll('.variant');
1961
1962      variantLis.forEach(function(li, idx){
1963        var nameEl = li.querySelector('.name');
1964        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
1965
1966        var values = [];
1967
1968        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
1969        var optLinks = li.querySelectorAll('.options a');
1970
1971        if(optLinks.length > 0){
1972          optLinks.forEach(function(a){
1973            /* Beden/renk değerini doğru attribute'tan oku
1974               - data-variant-value: asıl değer (örn: "38", "KAHVE")
1975               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
1976               - textContent: fallback */
1977            var deger = a.getAttribute('data-variant-value')
1978                     || a.textContent.trim();
1979
1980            /* Stok kontrolü - birden fazla yoldan kontrol et */
1981            var isSoldOut = a.classList.contains('sold-out')
1982                         || a.classList.contains('sold_out')
1983                         || a.classList.contains('disabled')
1984                         || a.classList.contains('stoksuz')
1985                         || a.classList.contains('out-of-stock')
1986                         || a.hasAttribute('disabled')
1987                         || a.getAttribute('data-in-stock') === '0'
1988                         || a.getAttribute('data-in-stock') === 'false'
1989                         || a.getAttribute('data-stokta-var-mi') === '0'
1990                         || a.getAttribute('data-stokta-var-mi') === 'false';
1991
1992            values.push({
1993              deger: deger,
1994              inStock: !isSoldOut
1995            });
1996          });
1997        } else {
1998          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
1999          var select = li.querySelector('select');
2000          if(select){
2001            var opts = select.querySelectorAll('option');
2002            opts.forEach(function(o){
2003              if(!o.value) return;
2004              values.push({
2005                deger: o.value,
2006                inStock: !o.disabled
2007              });
2008            });
2009          }
2010        }
2011
2012        variants.push({
2013          index: idx,
2014          baslik: name,
2015          values: values
2016        });
2017      });
2018
2019      var result = { variants: variants };
2020      window.__luxVariantCache[productId] = result;
2021      callback(result);
2022    })
2023    .catch(function(err){
2024      console.error('Varyant çekme hatası:', err);
2025      callback({ variants: [], error: 'fetch_failed' });
2026    });
2027  }
2028
2029
2030  /* ============================================
2031     Beden şeridini ve gizli variant-box'ı oluştur
2032     ============================================ */
2033  function buildVariantUI(productId, data){
2034    var card = document.getElementById('card-' + productId);
2035    if(!card) return false;
2036
2037    var holder = card.querySelector('.lux-variant-box');
2038    var strip = document.getElementById('size-strip-' + productId);
2039    if(!holder || !strip) return false;
2040
2041    if(!data.variants || data.variants.length === 0){
2042      /* Varyant yok */
2043      return false;
2044    }
2045
2046    /* Çoklu değerli ilk varyantı bul (beden) */
2047    var displayVariant = null;
2048    data.variants.forEach(function(v){
2049      if(!displayVariant && v.values.length > 1){
2050        displayVariant = v;
2051      }
2052    });
2053
2054    /* Gizli variant-box HTML */
2055    var html = '<div class="variant-box"><ul>';
2056    data.variants.forEach(function(v){
2057      html += '<li class="variant">';
2058      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
2059
2060      if(v.values.length > 1){
2061        html += '<option value="">Lütfen seçin</option>';
2062      }
2063
2064      v.values.forEach(function(val, i){
2065        var selected = (v.values.length === 1) ? ' selected' : '';
2066        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
2067      });
2068
2069      html += '</select></li>';
2070    });
2071    html += '</ul></div>';
2072
2073    holder.innerHTML = html;
2074    holder.style.display = '';
2075
2076    /* Strip HTML (sadece çoklu değerli varyantlar için)
2077       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
2078    if(displayVariant){
2079      var stripHtml = '';
2080      var inStockCount = 0;
2081
2082      /* DEBUG - console'da gör */
2083      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
2084
2085      displayVariant.values.forEach(function(val){
2086        /* SADECE stokta olanları ekle */
2087        if(val.inStock === true){
2088          stripHtml += '<div class="size-item" '
2089                    + 'data-urun-id="' + productId + '" '
2090                    + 'data-varyant-deger="' + val.deger + '" '
2091                    + 'onclick="return luxAddVariant(event, this);">'
2092                    + val.deger + '</div>';
2093          inStockCount++;
2094        }
2095      });
2096
2097      /* Eğer stokta hiç beden yoksa şeridi gösterme */
2098      if(inStockCount === 0){
2099        strip.setAttribute('data-loaded', '1');
2100        strip.setAttribute('data-has-variants', '0');
2101        return false;
2102      }
2103
2104      strip.innerHTML = stripHtml;
2105      strip.setAttribute('data-loaded', '1');
2106      strip.setAttribute('data-has-variants', '1');
2107      return true;
2108    } else {
2109      strip.setAttribute('data-loaded', '1');
2110      strip.setAttribute('data-has-variants', '0');
2111      return false;
2112    }
2113  }
2114
2115
2116  /* ============================================
2117     SEPET IKONU TIKLAMASI
2118     ============================================ */
2119  window.luxBagClick = function(ev, productId){
2120    ev.preventDefault();
2121    ev.stopPropagation();
2122
2123    var card = document.getElementById('card-' + productId);
2124    var strip = document.getElementById('size-strip-' + productId);
2125    var bag = document.getElementById('lux-bag-' + productId);
2126    if(!card || !strip) return false;
2127
2128    /* Strip zaten yüklenmişse direkt davran */
2129    if(strip.getAttribute('data-loaded') === '1'){
2130      if(strip.getAttribute('data-has-variants') === '1'){
2131        toggleStrip(productId);
2132      } else {
2133        addToCartSmart(productId);
2134      }
2135      return false;
2136    }
2137
2138    /* İlk tıklama - AJAX ile varyantları çek */
2139    bag.classList.add('is-loading');
2140    var productLink = card.getAttribute('data-lux-product-link');
2141
2142    fetchVariants(productId, productLink, function(data){
2143      bag.classList.remove('is-loading');
2144
2145      var hasVariants = buildVariantUI(productId, data);
2146
2147      if(hasVariants){
2148        /* Bedenler var - şeridi aç */
2149        toggleStrip(productId);
2150      } else {
2151        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
2152        addToCartSmart(productId);
2153      }
2154    });
2155
2156    return false;
2157  };
2158
2159  function toggleStrip(productId){
2160    var strip = document.getElementById('size-strip-' + productId);
2161    var card = document.getElementById('card-' + productId);
2162    if(!strip) return;
2163
2164    document.querySelectorAll('.size-strip.open').forEach(function(s){
2165      if(s !== strip) s.classList.remove('open');
2166    });
2167    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
2168      if(c !== card) c.classList.remove('sizes-open');
2169    });
2170
2171    strip.classList.toggle('open');
2172    if(card) card.classList.toggle('sizes-open');
2173  }
2174
2175
2176  /* ============================================
2177     BEDEN TIKLAMASI
2178     ============================================ */
2179  window.luxAddVariant = function(ev, elem){
2180    ev.preventDefault();
2181    ev.stopPropagation();
2182
2183    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
2184
2185    var productId = elem.getAttribute('data-urun-id');
2186    var varyantDeger = elem.getAttribute('data-varyant-deger');
2187
2188    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
2189    if(!holder) return false;
2190
2191    /* Seçilen bedeni ilk select'e yaz */
2192    var firstSelect = holder.querySelector('select[data-variant="0"]');
2193    if(firstSelect){
2194      firstSelect.value = varyantDeger;
2195      if(typeof jQuery !== "undefined"){
2196        jQuery(firstSelect).val(varyantDeger).trigger('change');
2197      }
2198    }
2199
2200    /* Diğer select'lere ilk geçerli değeri koy */
2201    var allSelects = holder.querySelectorAll('select[data-variant]');
2202    allSelects.forEach(function(sel, idx){
2203      if(idx === 0) return;
2204      if(sel.value) return;
2205      var options = sel.querySelectorAll('option');
2206      for(var i = 0; i < options.length; i++){
2207        if(options[i].value){
2208          sel.value = options[i].value;
2209          if(typeof jQuery !== "undefined"){
2210            jQuery(sel).val(options[i].value).trigger('change');
2211          }
2212          break;
2213        }
2214      }
2215    });
2216
2217    /* Görsel feedback */
2218    elem.classList.add('adding');
2219    var originalText = elem.textContent;
2220    elem.textContent = '✓';
2221
2222    /* Sepete ekle */
2223    addToCartSmart(productId, {
2224      checkVariant: true,
2225      variantCount: allSelects.length,
2226      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
2227    });
2228
2229    setTimeout(function(){
2230      elem.textContent = originalText;
2231      elem.classList.remove('adding');
2232      closeAll();
2233    }, 800);
2234
2235    return false;
2236  };
2237
2238
2239  /* ============================================
2240     SEPETE EKLE - Modal killer ile
2241     ============================================ */
2242  function addToCartSmart(productId, extraOptions){
2243    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
2244
2245    var options = {
2246      quantity: 1,
2247      hideNativeModal: 'lux-card-' + productId
2248    };
2249
2250    if(extraOptions){
2251      Object.keys(extraOptions).forEach(function(k){
2252        options[k] = extraOptions[k];
2253      });
2254    } else if(holder){
2255      var selects = holder.querySelectorAll('select[data-variant]');
2256      if(selects.length > 0){
2257        options.checkVariant = true;
2258        options.variantCount = selects.length;
2259        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
2260      }
2261    }
2262
2263    startModalKill(2000);
2264
2265    if(typeof addCart === "function"){
2266      try {
2267        addCart(productId, 'card', options);
2268        flashSuccess(productId);
2269      } catch(err){
2270        console.error('Sepete ekleme hatası:', err);
2271      }
2272    }
2273  }
2274
2275})();
2276</script>
2276</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
2277                             data-lux-product-shell="1"
2278                             data-lux-page="1"><style>
2279@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
2280
2281/* ===== VEZZA LUX CARD ===== */
2282.card-product{
2283  font-family:'Poppins',sans-serif;
2284  background:#fff !important;
2285  position:relative;
2286}
2287.card-product-inner{
2288  background:transparent !important;
2289  position:relative;
2290}
2291.card-product .c-p-i-link,
2292.card-product a{
2293  background:transparent !important;
2294}
2295.card-product-inner > div{
2296  background:transparent !important;
2297}
2298.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
2299  background:transparent !important;
2300}
2301.card-product .card-product-content,
2302.card-product .price-group,
2303.card-product .prices{
2304  background:transparent !important;
2305}
2306[class*="skeleton"],
2307[class*="placeholder"],
2308[class*="loading"]{
2309  background:transparent !important;
2310}
2311
2312/* ===== IMAGE AREA - KARE GÖRSEL ===== */
2313.image-wrapper{
2314  position:relative;
2315  width:100%;
2316  aspect-ratio:1/1;
2317  overflow:hidden;
2318  background:#fff !important;
2319}
2320
2321.image{
2322  position:relative;
2323  width:100%;
2324  height:100%;
2325}
2326
2327.image-wrapper img{
2328  width:100% !important;
2329  height:100% !important;
2330  object-fit:cover !important;
2331  object-position:center center !important;
2332  display:block;
2333  transition:transform .35s ease;
2334}
2335
2336/* ===== DISCOUNT ===== */
2337.discount{
2338  position:absolute;
2339  top:12px;
2340  left:12px;
2341  width:28px;
2342  height:48px;
2343  background:#e10b0b;
2344  color:#fff;
2345  font-size:12px;
2346  font-weight:600;
2347  display:flex;
2348  align-items:center;
2349  justify-content:center;
2350  writing-mode:vertical-rl;
2351  transform:rotate(180deg);
2352  letter-spacing:.5px;
2353  z-index:7;
2354}
2355
2356/* ===== FAV ===== */
2357.lux-fav{
2358  position:absolute;
2359  top:12px;
2360  right:12px;
2361  z-index:7;
2362}
2363.lux-fav a,
2364.lux-fav button{
2365  background:transparent !important;
2366  border:0 !important;
2367  padding:0 !important;
2368  cursor:pointer;
2369  display:inline-flex;
2370  align-items:center;
2371  justify-content:center;
2372}
2373
2374/* ===== SEPET IKON ===== */
2375.lux-bag{
2376  position:absolute;
2377  bottom:12px;
2378  right:12px;
2379  z-index:7;
2380  width:34px;
2381  height:34px;
2382  display:inline-flex;
2383  align-items:center;
2384  justify-content:center;
2385  background:rgba(255,255,255,.92);
2386  border:1px solid rgba(0,0,0,.10);
2387  border-radius:10px;
2388  cursor:pointer;
2389  transition:.2s ease;
2390}
2391.lux-bag:hover{
2392  background:#fff;
2393  border-color:rgba(0,0,0,.25);
2394}
2395.lux-bag.is-loading{
2396  opacity:.6;
2397  cursor:wait;
2398}
2399.lux-bag.is-success{
2400  background:#2e7d32 !important;
2401  border-color:#2e7d32 !important;
2402  color:#fff !important;
2403}
2404.card-product.sizes-open .lux-bag{
2405  opacity:0;
2406  pointer-events:none;
2407}
2408
2409/* Loading spinner */
2410.lux-bag.is-loading i::before{
2411  content:"⏳";
2412}
2413
2414/* ===== SIZE STRIP ===== */
2415.size-strip{
2416  width:100%;
2417  max-height:0;
2418  overflow:hidden;
2419  background:#fff;
2420  display:flex;
2421  flex-wrap:wrap;
2422  transition:max-height .3s ease, border-color .3s ease;
2423  border-top:1px solid transparent;
2424  border-bottom:1px solid transparent;
2425}
2426.size-strip.open{
2427  max-height:200px;
2428  border-top-color:rgba(0,0,0,.08);
2429  border-bottom-color:rgba(0,0,0,.08);
2430}
2431.size-item{
2432  flex:1 0 auto;
2433  min-width:38px;
2434  height:42px;
2435  display:flex;
2436  align-items:center;
2437  justify-content:center;
2438  font-size:13px;
2439  font-weight:500;
2440  color:#111 !important;
2441  cursor:pointer;
2442  user-select:none;
2443  background:transparent;
2444  transition:background .15s ease, color .15s ease;
2445  border-right:1px solid rgba(0,0,0,.08);
2446}
2447.size-item:last-child{ border-right:0; }
2448.size-item:hover:not(.disabled):not(.adding){
2449  background:#000 !important;
2450  color:#fff !important;
2451}
2452.size-item.disabled{
2453  color:#111 !important;
2454  text-decoration:line-through !important;
2455  opacity:.30 !important;
2456  cursor:not-allowed;
2457}
2458.size-item.adding{
2459  background:#2e7d32 !important;
2460  color:#fff !important;
2461  cursor:wait;
2462}
2463
2464/* ===== META ===== */
2465.lux-meta{
2466  padding:12px 6px 6px;
2467  background:transparent !important;
2468}
2469.lux-brand{
2470  font-size:16px;
2471  font-weight:600;
2472  color:#111;
2473  margin-bottom:2px;
2474}
2475.lux-title{
2476  font-size:14px;
2477  font-weight:400;
2478  line-height:1.45;
2479  color:#111;
2480  margin:0;
2481}
2482.lux-price{
2483  margin-top:10px;
2484  display:flex;
2485  gap:10px;
2486  align-items:baseline;
2487  background:transparent !important;
2488}
2489.lux-price .list-price{
2490  font-size:14px;
2491  font-weight:400;
2492  color:#111;
2493  text-decoration:line-through;
2494}
2495.lux-price .sale-price{
2496  font-size:16px;
2497  font-weight:600;
2498  color:#e10b0b;
2499}
2500
2501.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
2502.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
2503</style><div class="card-product"
2504     id="card-10329"
2505     data-lux-card-id="10329"
2506     data-lux-product-link="https://www.vezzalux.com/lora-1008-haki-erkek-ayakkabi"
2507     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/lora-1008-haki-erkek-ayakkabi" class="c-p-i-link" title="Lora 1008 Haki Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cb216fc85-78788887-sw1200sh1200.webp" alt="Lora 1008 Haki Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cb216fc85-78788887-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cb1fe1fa2-39760782-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
2508        onclick="userProductFavourite('add', 10329)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
2509         id="lux-bag-10329"
2510         onclick="return luxBagClick(event, 10329);"
2511         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10329" style="display:none;"></div><div class="size-strip" id="size-strip-10329" data-loaded="0"></div><a href="https://www.vezzalux.com/lora-1008-haki-erkek-ayakkabi" class="c-p-i-link" title="Lora 1008 Haki Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Lora piana</div><div class="lux-title">Lora 1008 Haki Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">11.499,00 TL</div></div></div></a></div></div>
2511<script>
2512(function(){
2513
2514  /* Bir kez kur */
2515  if(window.__luxCardInit) return;
2516  window.__luxCardInit = true;
2517
2518  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
2519  window.__luxVariantCache = window.__luxVariantCache || {};
2520
2521  function closeAll(){
2522    document.querySelectorAll('.size-strip.open').forEach(function(s){
2523      s.classList.remove('open');
2524    });
2525    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
2526      c.classList.remove('sizes-open');
2527    });
2528  }
2529
2530  function flashSuccess(productId){
2531    var bag = document.getElementById('lux-bag-' + productId);
2532    if(!bag) return;
2533    bag.classList.add('is-success');
2534    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
2535  }
2536
2537  /* Dış tıklama - kapat */
2538  document.addEventListener('click', function(e){
2539    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
2540    if(!inside) closeAll();
2541  });
2542
2543  document.addEventListener('keydown', function(e){
2544    if(e.key === 'Escape') closeAll();
2545  });
2546
2547
2548  /* ============================================
2549     MODAL KILLER - yedek güvence
2550     ============================================ */
2551  var LUX_MODAL_KILL_ACTIVE = false;
2552
2553  function killVisibleModals(){
2554    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
2555    modals.forEach(function(m){
2556      var id = (m.id || '').toLowerCase();
2557      var txt = (m.textContent || '').toLowerCase();
2558      var isCartModal = id.indexOf('cart') > -1
2559                     || id.indexOf('variant') > -1
2560                     || id.indexOf('fast') > -1
2561                     || id.indexOf('urun') > -1
2562                     || txt.indexOf('lütfen seçin') > -1;
2563
2564      if(isCartModal){
2565        if(typeof jQuery !== 'undefined'){
2566          try { jQuery(m).modal('hide'); } catch(e){}
2567        }
2568        m.classList.remove('show','in');
2569        m.style.display = 'none';
2570      }
2571    });
2572
2573    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
2574    document.body.classList.remove('modal-open');
2575    document.body.style.overflow = '';
2576    document.body.style.paddingRight = '';
2577  }
2578
2579  function startModalKill(durationMs){
2580    if(LUX_MODAL_KILL_ACTIVE) return;
2581    LUX_MODAL_KILL_ACTIVE = true;
2582    killVisibleModals();
2583    var interval = setInterval(killVisibleModals, 50);
2584    setTimeout(function(){
2585      clearInterval(interval);
2586      LUX_MODAL_KILL_ACTIVE = false;
2587    }, durationMs || 2000);
2588  }
2589
2590
2591  /* ============================================
2592     AJAX: Varyantları detay sayfasından çek
2593     ============================================
2594     Ürün detay sayfasının tam HTML'ini indir,
2595     DOMParser ile parse et, varyantları bul
2596     ============================================ */
2597  function fetchVariants(productId, productLink, callback){
2598
2599    /* Cache'te varsa hemen döndür */
2600    if(window.__luxVariantCache[productId]){
2601      callback(window.__luxVariantCache[productId]);
2602      return;
2603    }
2604
2605    fetch(productLink, {
2606      method: 'GET',
2607      credentials: 'same-origin',
2608      headers: { 'Accept': 'text/html' }
2609    })
2610    .then(function(r){ return r.text(); })
2611    .then(function(html){
2612      var parser = new DOMParser();
2613      var doc = parser.parseFromString(html, 'text/html');
2614
2615      /* Detay sayfasındaki .variant-box'ı bul */
2616      var variantBox = doc.querySelector('.variant-box');
2617      if(!variantBox){
2618        callback({ variants: [], error: 'no_variant_box' });
2619        return;
2620      }
2621
2622      /* Her varyant grubu için select'leri ve option'ları oku */
2623      var variants = [];
2624      var variantLis = variantBox.querySelectorAll('.variant');
2625
2626      variantLis.forEach(function(li, idx){
2627        var nameEl = li.querySelector('.name');
2628        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
2629
2630        var values = [];
2631
2632        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
2633        var optLinks = li.querySelectorAll('.options a');
2634
2635        if(optLinks.length > 0){
2636          optLinks.forEach(function(a){
2637            /* Beden/renk değerini doğru attribute'tan oku
2638               - data-variant-value: asıl değer (örn: "38", "KAHVE")
2639               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
2640               - textContent: fallback */
2641            var deger = a.getAttribute('data-variant-value')
2642                     || a.textContent.trim();
2643
2644            /* Stok kontrolü - birden fazla yoldan kontrol et */
2645            var isSoldOut = a.classList.contains('sold-out')
2646                         || a.classList.contains('sold_out')
2647                         || a.classList.contains('disabled')
2648                         || a.classList.contains('stoksuz')
2649                         || a.classList.contains('out-of-stock')
2650                         || a.hasAttribute('disabled')
2651                         || a.getAttribute('data-in-stock') === '0'
2652                         || a.getAttribute('data-in-stock') === 'false'
2653                         || a.getAttribute('data-stokta-var-mi') === '0'
2654                         || a.getAttribute('data-stokta-var-mi') === 'false';
2655
2656            values.push({
2657              deger: deger,
2658              inStock: !isSoldOut
2659            });
2660          });
2661        } else {
2662          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
2663          var select = li.querySelector('select');
2664          if(select){
2665            var opts = select.querySelectorAll('option');
2666            opts.forEach(function(o){
2667              if(!o.value) return;
2668              values.push({
2669                deger: o.value,
2670                inStock: !o.disabled
2671              });
2672            });
2673          }
2674        }
2675
2676        variants.push({
2677          index: idx,
2678          baslik: name,
2679          values: values
2680        });
2681      });
2682
2683      var result = { variants: variants };
2684      window.__luxVariantCache[productId] = result;
2685      callback(result);
2686    })
2687    .catch(function(err){
2688      console.error('Varyant çekme hatası:', err);
2689      callback({ variants: [], error: 'fetch_failed' });
2690    });
2691  }
2692
2693
2694  /* ============================================
2695     Beden şeridini ve gizli variant-box'ı oluştur
2696     ============================================ */
2697  function buildVariantUI(productId, data){
2698    var card = document.getElementById('card-' + productId);
2699    if(!card) return false;
2700
2701    var holder = card.querySelector('.lux-variant-box');
2702    var strip = document.getElementById('size-strip-' + productId);
2703    if(!holder || !strip) return false;
2704
2705    if(!data.variants || data.variants.length === 0){
2706      /* Varyant yok */
2707      return false;
2708    }
2709
2710    /* Çoklu değerli ilk varyantı bul (beden) */
2711    var displayVariant = null;
2712    data.variants.forEach(function(v){
2713      if(!displayVariant && v.values.length > 1){
2714        displayVariant = v;
2715      }
2716    });
2717
2718    /* Gizli variant-box HTML */
2719    var html = '<div class="variant-box"><ul>';
2720    data.variants.forEach(function(v){
2721      html += '<li class="variant">';
2722      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
2723
2724      if(v.values.length > 1){
2725        html += '<option value="">Lütfen seçin</option>';
2726      }
2727
2728      v.values.forEach(function(val, i){
2729        var selected = (v.values.length === 1) ? ' selected' : '';
2730        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
2731      });
2732
2733      html += '</select></li>';
2734    });
2735    html += '</ul></div>';
2736
2737    holder.innerHTML = html;
2738    holder.style.display = '';
2739
2740    /* Strip HTML (sadece çoklu değerli varyantlar için)
2741       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
2742    if(displayVariant){
2743      var stripHtml = '';
2744      var inStockCount = 0;
2745
2746      /* DEBUG - console'da gör */
2747      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
2748
2749      displayVariant.values.forEach(function(val){
2750        /* SADECE stokta olanları ekle */
2751        if(val.inStock === true){
2752          stripHtml += '<div class="size-item" '
2753                    + 'data-urun-id="' + productId + '" '
2754                    + 'data-varyant-deger="' + val.deger + '" '
2755                    + 'onclick="return luxAddVariant(event, this);">'
2756                    + val.deger + '</div>';
2757          inStockCount++;
2758        }
2759      });
2760
2761      /* Eğer stokta hiç beden yoksa şeridi gösterme */
2762      if(inStockCount === 0){
2763        strip.setAttribute('data-loaded', '1');
2764        strip.setAttribute('data-has-variants', '0');
2765        return false;
2766      }
2767
2768      strip.innerHTML = stripHtml;
2769      strip.setAttribute('data-loaded', '1');
2770      strip.setAttribute('data-has-variants', '1');
2771      return true;
2772    } else {
2773      strip.setAttribute('data-loaded', '1');
2774      strip.setAttribute('data-has-variants', '0');
2775      return false;
2776    }
2777  }
2778
2779
2780  /* ============================================
2781     SEPET IKONU TIKLAMASI
2782     ============================================ */
2783  window.luxBagClick = function(ev, productId){
2784    ev.preventDefault();
2785    ev.stopPropagation();
2786
2787    var card = document.getElementById('card-' + productId);
2788    var strip = document.getElementById('size-strip-' + productId);
2789    var bag = document.getElementById('lux-bag-' + productId);
2790    if(!card || !strip) return false;
2791
2792    /* Strip zaten yüklenmişse direkt davran */
2793    if(strip.getAttribute('data-loaded') === '1'){
2794      if(strip.getAttribute('data-has-variants') === '1'){
2795        toggleStrip(productId);
2796      } else {
2797        addToCartSmart(productId);
2798      }
2799      return false;
2800    }
2801
2802    /* İlk tıklama - AJAX ile varyantları çek */
2803    bag.classList.add('is-loading');
2804    var productLink = card.getAttribute('data-lux-product-link');
2805
2806    fetchVariants(productId, productLink, function(data){
2807      bag.classList.remove('is-loading');
2808
2809      var hasVariants = buildVariantUI(productId, data);
2810
2811      if(hasVariants){
2812        /* Bedenler var - şeridi aç */
2813        toggleStrip(productId);
2814      } else {
2815        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
2816        addToCartSmart(productId);
2817      }
2818    });
2819
2820    return false;
2821  };
2822
2823  function toggleStrip(productId){
2824    var strip = document.getElementById('size-strip-' + productId);
2825    var card = document.getElementById('card-' + productId);
2826    if(!strip) return;
2827
2828    document.querySelectorAll('.size-strip.open').forEach(function(s){
2829      if(s !== strip) s.classList.remove('open');
2830    });
2831    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
2832      if(c !== card) c.classList.remove('sizes-open');
2833    });
2834
2835    strip.classList.toggle('open');
2836    if(card) card.classList.toggle('sizes-open');
2837  }
2838
2839
2840  /* ============================================
2841     BEDEN TIKLAMASI
2842     ============================================ */
2843  window.luxAddVariant = function(ev, elem){
2844    ev.preventDefault();
2845    ev.stopPropagation();
2846
2847    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
2848
2849    var productId = elem.getAttribute('data-urun-id');
2850    var varyantDeger = elem.getAttribute('data-varyant-deger');
2851
2852    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
2853    if(!holder) return false;
2854
2855    /* Seçilen bedeni ilk select'e yaz */
2856    var firstSelect = holder.querySelector('select[data-variant="0"]');
2857    if(firstSelect){
2858      firstSelect.value = varyantDeger;
2859      if(typeof jQuery !== "undefined"){
2860        jQuery(firstSelect).val(varyantDeger).trigger('change');
2861      }
2862    }
2863
2864    /* Diğer select'lere ilk geçerli değeri koy */
2865    var allSelects = holder.querySelectorAll('select[data-variant]');
2866    allSelects.forEach(function(sel, idx){
2867      if(idx === 0) return;
2868      if(sel.value) return;
2869      var options = sel.querySelectorAll('option');
2870      for(var i = 0; i < options.length; i++){
2871        if(options[i].value){
2872          sel.value = options[i].value;
2873          if(typeof jQuery !== "undefined"){
2874            jQuery(sel).val(options[i].value).trigger('change');
2875          }
2876          break;
2877        }
2878      }
2879    });
2880
2881    /* Görsel feedback */
2882    elem.classList.add('adding');
2883    var originalText = elem.textContent;
2884    elem.textContent = '✓';
2885
2886    /* Sepete ekle */
2887    addToCartSmart(productId, {
2888      checkVariant: true,
2889      variantCount: allSelects.length,
2890      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
2891    });
2892
2893    setTimeout(function(){
2894      elem.textContent = originalText;
2895      elem.classList.remove('adding');
2896      closeAll();
2897    }, 800);
2898
2899    return false;
2900  };
2901
2902
2903  /* ============================================
2904     SEPETE EKLE - Modal killer ile
2905     ============================================ */
2906  function addToCartSmart(productId, extraOptions){
2907    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
2908
2909    var options = {
2910      quantity: 1,
2911      hideNativeModal: 'lux-card-' + productId
2912    };
2913
2914    if(extraOptions){
2915      Object.keys(extraOptions).forEach(function(k){
2916        options[k] = extraOptions[k];
2917      });
2918    } else if(holder){
2919      var selects = holder.querySelectorAll('select[data-variant]');
2920      if(selects.length > 0){
2921        options.checkVariant = true;
2922        options.variantCount = selects.length;
2923        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
2924      }
2925    }
2926
2927    startModalKill(2000);
2928
2929    if(typeof addCart === "function"){
2930      try {
2931        addCart(productId, 'card', options);
2932        flashSuccess(productId);
2933      } catch(err){
2934        console.error('Sepete ekleme hatası:', err);
2935      }
2936    }
2937  }
2938
2939})();
2940</script>
2940</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
2941                             data-lux-product-shell="1"
2942                             data-lux-page="1"><style>
2943@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
2944
2945/* ===== VEZZA LUX CARD ===== */
2946.card-product{
2947  font-family:'Poppins',sans-serif;
2948  background:#fff !important;
2949  position:relative;
2950}
2951.card-product-inner{
2952  background:transparent !important;
2953  position:relative;
2954}
2955.card-product .c-p-i-link,
2956.card-product a{
2957  background:transparent !important;
2958}
2959.card-product-inner > div{
2960  background:transparent !important;
2961}
2962.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
2963  background:transparent !important;
2964}
2965.card-product .card-product-content,
2966.card-product .price-group,
2967.card-product .prices{
2968  background:transparent !important;
2969}
2970[class*="skeleton"],
2971[class*="placeholder"],
2972[class*="loading"]{
2973  background:transparent !important;
2974}
2975
2976/* ===== IMAGE AREA - KARE GÖRSEL ===== */
2977.image-wrapper{
2978  position:relative;
2979  width:100%;
2980  aspect-ratio:1/1;
2981  overflow:hidden;
2982  background:#fff !important;
2983}
2984
2985.image{
2986  position:relative;
2987  width:100%;
2988  height:100%;
2989}
2990
2991.image-wrapper img{
2992  width:100% !important;
2993  height:100% !important;
2994  object-fit:cover !important;
2995  object-position:center center !important;
2996  display:block;
2997  transition:transform .35s ease;
2998}
2999
3000/* ===== DISCOUNT ===== */
3001.discount{
3002  position:absolute;
3003  top:12px;
3004  left:12px;
3005  width:28px;
3006  height:48px;
3007  background:#e10b0b;
3008  color:#fff;
3009  font-size:12px;
3010  font-weight:600;
3011  display:flex;
3012  align-items:center;
3013  justify-content:center;
3014  writing-mode:vertical-rl;
3015  transform:rotate(180deg);
3016  letter-spacing:.5px;
3017  z-index:7;
3018}
3019
3020/* ===== FAV ===== */
3021.lux-fav{
3022  position:absolute;
3023  top:12px;
3024  right:12px;
3025  z-index:7;
3026}
3027.lux-fav a,
3028.lux-fav button{
3029  background:transparent !important;
3030  border:0 !important;
3031  padding:0 !important;
3032  cursor:pointer;
3033  display:inline-flex;
3034  align-items:center;
3035  justify-content:center;
3036}
3037
3038/* ===== SEPET IKON ===== */
3039.lux-bag{
3040  position:absolute;
3041  bottom:12px;
3042  right:12px;
3043  z-index:7;
3044  width:34px;
3045  height:34px;
3046  display:inline-flex;
3047  align-items:center;
3048  justify-content:center;
3049  background:rgba(255,255,255,.92);
3050  border:1px solid rgba(0,0,0,.10);
3051  border-radius:10px;
3052  cursor:pointer;
3053  transition:.2s ease;
3054}
3055.lux-bag:hover{
3056  background:#fff;
3057  border-color:rgba(0,0,0,.25);
3058}
3059.lux-bag.is-loading{
3060  opacity:.6;
3061  cursor:wait;
3062}
3063.lux-bag.is-success{
3064  background:#2e7d32 !important;
3065  border-color:#2e7d32 !important;
3066  color:#fff !important;
3067}
3068.card-product.sizes-open .lux-bag{
3069  opacity:0;
3070  pointer-events:none;
3071}
3072
3073/* Loading spinner */
3074.lux-bag.is-loading i::before{
3075  content:"⏳";
3076}
3077
3078/* ===== SIZE STRIP ===== */
3079.size-strip{
3080  width:100%;
3081  max-height:0;
3082  overflow:hidden;
3083  background:#fff;
3084  display:flex;
3085  flex-wrap:wrap;
3086  transition:max-height .3s ease, border-color .3s ease;
3087  border-top:1px solid transparent;
3088  border-bottom:1px solid transparent;
3089}
3090.size-strip.open{
3091  max-height:200px;
3092  border-top-color:rgba(0,0,0,.08);
3093  border-bottom-color:rgba(0,0,0,.08);
3094}
3095.size-item{
3096  flex:1 0 auto;
3097  min-width:38px;
3098  height:42px;
3099  display:flex;
3100  align-items:center;
3101  justify-content:center;
3102  font-size:13px;
3103  font-weight:500;
3104  color:#111 !important;
3105  cursor:pointer;
3106  user-select:none;
3107  background:transparent;
3108  transition:background .15s ease, color .15s ease;
3109  border-right:1px solid rgba(0,0,0,.08);
3110}
3111.size-item:last-child{ border-right:0; }
3112.size-item:hover:not(.disabled):not(.adding){
3113  background:#000 !important;
3114  color:#fff !important;
3115}
3116.size-item.disabled{
3117  color:#111 !important;
3118  text-decoration:line-through !important;
3119  opacity:.30 !important;
3120  cursor:not-allowed;
3121}
3122.size-item.adding{
3123  background:#2e7d32 !important;
3124  color:#fff !important;
3125  cursor:wait;
3126}
3127
3128/* ===== META ===== */
3129.lux-meta{
3130  padding:12px 6px 6px;
3131  background:transparent !important;
3132}
3133.lux-brand{
3134  font-size:16px;
3135  font-weight:600;
3136  color:#111;
3137  margin-bottom:2px;
3138}
3139.lux-title{
3140  font-size:14px;
3141  font-weight:400;
3142  line-height:1.45;
3143  color:#111;
3144  margin:0;
3145}
3146.lux-price{
3147  margin-top:10px;
3148  display:flex;
3149  gap:10px;
3150  align-items:baseline;
3151  background:transparent !important;
3152}
3153.lux-price .list-price{
3154  font-size:14px;
3155  font-weight:400;
3156  color:#111;
3157  text-decoration:line-through;
3158}
3159.lux-price .sale-price{
3160  font-size:16px;
3161  font-weight:600;
3162  color:#e10b0b;
3163}
3164
3165.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
3166.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
3167</style><div class="card-product"
3168     id="card-10731"
3169     data-lux-card-id="10731"
3170     data-lux-product-link="https://www.vezzalux.com/cl-1302-yesil-loafer-erkek-ayakkabi"
3171     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/cl-1302-yesil-loafer-erkek-ayakkabi" class="c-p-i-link" title="Cl 1302 Yeşil Loafer Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a3c143c3d14c-49923211-sw800sh800.webp" alt="Cl 1302 Yeşil Loafer Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a3c143c3d14c-49923211-sw800sh800.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a3c143d7af31-10508327-sw800sh800.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
3172        onclick="userProductFavourite('add', 10731)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
3173         id="lux-bag-10731"
3174         onclick="return luxBagClick(event, 10731);"
3175         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10731" style="display:none;"></div><div class="size-strip" id="size-strip-10731" data-loaded="0"></div><a href="https://www.vezzalux.com/cl-1302-yesil-loafer-erkek-ayakkabi" class="c-p-i-link" title="Cl 1302 Yeşil Loafer Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Christian Louboutin</div><div class="lux-title">Cl 1302 Yeşil Loafer Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
3175<script>
3176(function(){
3177
3178  /* Bir kez kur */
3179  if(window.__luxCardInit) return;
3180  window.__luxCardInit = true;
3181
3182  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
3183  window.__luxVariantCache = window.__luxVariantCache || {};
3184
3185  function closeAll(){
3186    document.querySelectorAll('.size-strip.open').forEach(function(s){
3187      s.classList.remove('open');
3188    });
3189    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
3190      c.classList.remove('sizes-open');
3191    });
3192  }
3193
3194  function flashSuccess(productId){
3195    var bag = document.getElementById('lux-bag-' + productId);
3196    if(!bag) return;
3197    bag.classList.add('is-success');
3198    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
3199  }
3200
3201  /* Dış tıklama - kapat */
3202  document.addEventListener('click', function(e){
3203    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
3204    if(!inside) closeAll();
3205  });
3206
3207  document.addEventListener('keydown', function(e){
3208    if(e.key === 'Escape') closeAll();
3209  });
3210
3211
3212  /* ============================================
3213     MODAL KILLER - yedek güvence
3214     ============================================ */
3215  var LUX_MODAL_KILL_ACTIVE = false;
3216
3217  function killVisibleModals(){
3218    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
3219    modals.forEach(function(m){
3220      var id = (m.id || '').toLowerCase();
3221      var txt = (m.textContent || '').toLowerCase();
3222      var isCartModal = id.indexOf('cart') > -1
3223                     || id.indexOf('variant') > -1
3224                     || id.indexOf('fast') > -1
3225                     || id.indexOf('urun') > -1
3226                     || txt.indexOf('lütfen seçin') > -1;
3227
3228      if(isCartModal){
3229        if(typeof jQuery !== 'undefined'){
3230          try { jQuery(m).modal('hide'); } catch(e){}
3231        }
3232        m.classList.remove('show','in');
3233        m.style.display = 'none';
3234      }
3235    });
3236
3237    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
3238    document.body.classList.remove('modal-open');
3239    document.body.style.overflow = '';
3240    document.body.style.paddingRight = '';
3241  }
3242
3243  function startModalKill(durationMs){
3244    if(LUX_MODAL_KILL_ACTIVE) return;
3245    LUX_MODAL_KILL_ACTIVE = true;
3246    killVisibleModals();
3247    var interval = setInterval(killVisibleModals, 50);
3248    setTimeout(function(){
3249      clearInterval(interval);
3250      LUX_MODAL_KILL_ACTIVE = false;
3251    }, durationMs || 2000);
3252  }
3253
3254
3255  /* ============================================
3256     AJAX: Varyantları detay sayfasından çek
3257     ============================================
3258     Ürün detay sayfasının tam HTML'ini indir,
3259     DOMParser ile parse et, varyantları bul
3260     ============================================ */
3261  function fetchVariants(productId, productLink, callback){
3262
3263    /* Cache'te varsa hemen döndür */
3264    if(window.__luxVariantCache[productId]){
3265      callback(window.__luxVariantCache[productId]);
3266      return;
3267    }
3268
3269    fetch(productLink, {
3270      method: 'GET',
3271      credentials: 'same-origin',
3272      headers: { 'Accept': 'text/html' }
3273    })
3274    .then(function(r){ return r.text(); })
3275    .then(function(html){
3276      var parser = new DOMParser();
3277      var doc = parser.parseFromString(html, 'text/html');
3278
3279      /* Detay sayfasındaki .variant-box'ı bul */
3280      var variantBox = doc.querySelector('.variant-box');
3281      if(!variantBox){
3282        callback({ variants: [], error: 'no_variant_box' });
3283        return;
3284      }
3285
3286      /* Her varyant grubu için select'leri ve option'ları oku */
3287      var variants = [];
3288      var variantLis = variantBox.querySelectorAll('.variant');
3289
3290      variantLis.forEach(function(li, idx){
3291        var nameEl = li.querySelector('.name');
3292        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
3293
3294        var values = [];
3295
3296        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
3297        var optLinks = li.querySelectorAll('.options a');
3298
3299        if(optLinks.length > 0){
3300          optLinks.forEach(function(a){
3301            /* Beden/renk değerini doğru attribute'tan oku
3302               - data-variant-value: asıl değer (örn: "38", "KAHVE")
3303               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
3304               - textContent: fallback */
3305            var deger = a.getAttribute('data-variant-value')
3306                     || a.textContent.trim();
3307
3308            /* Stok kontrolü - birden fazla yoldan kontrol et */
3309            var isSoldOut = a.classList.contains('sold-out')
3310                         || a.classList.contains('sold_out')
3311                         || a.classList.contains('disabled')
3312                         || a.classList.contains('stoksuz')
3313                         || a.classList.contains('out-of-stock')
3314                         || a.hasAttribute('disabled')
3315                         || a.getAttribute('data-in-stock') === '0'
3316                         || a.getAttribute('data-in-stock') === 'false'
3317                         || a.getAttribute('data-stokta-var-mi') === '0'
3318                         || a.getAttribute('data-stokta-var-mi') === 'false';
3319
3320            values.push({
3321              deger: deger,
3322              inStock: !isSoldOut
3323            });
3324          });
3325        } else {
3326          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
3327          var select = li.querySelector('select');
3328          if(select){
3329            var opts = select.querySelectorAll('option');
3330            opts.forEach(function(o){
3331              if(!o.value) return;
3332              values.push({
3333                deger: o.value,
3334                inStock: !o.disabled
3335              });
3336            });
3337          }
3338        }
3339
3340        variants.push({
3341          index: idx,
3342          baslik: name,
3343          values: values
3344        });
3345      });
3346
3347      var result = { variants: variants };
3348      window.__luxVariantCache[productId] = result;
3349      callback(result);
3350    })
3351    .catch(function(err){
3352      console.error('Varyant çekme hatası:', err);
3353      callback({ variants: [], error: 'fetch_failed' });
3354    });
3355  }
3356
3357
3358  /* ============================================
3359     Beden şeridini ve gizli variant-box'ı oluştur
3360     ============================================ */
3361  function buildVariantUI(productId, data){
3362    var card = document.getElementById('card-' + productId);
3363    if(!card) return false;
3364
3365    var holder = card.querySelector('.lux-variant-box');
3366    var strip = document.getElementById('size-strip-' + productId);
3367    if(!holder || !strip) return false;
3368
3369    if(!data.variants || data.variants.length === 0){
3370      /* Varyant yok */
3371      return false;
3372    }
3373
3374    /* Çoklu değerli ilk varyantı bul (beden) */
3375    var displayVariant = null;
3376    data.variants.forEach(function(v){
3377      if(!displayVariant && v.values.length > 1){
3378        displayVariant = v;
3379      }
3380    });
3381
3382    /* Gizli variant-box HTML */
3383    var html = '<div class="variant-box"><ul>';
3384    data.variants.forEach(function(v){
3385      html += '<li class="variant">';
3386      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
3387
3388      if(v.values.length > 1){
3389        html += '<option value="">Lütfen seçin</option>';
3390      }
3391
3392      v.values.forEach(function(val, i){
3393        var selected = (v.values.length === 1) ? ' selected' : '';
3394        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
3395      });
3396
3397      html += '</select></li>';
3398    });
3399    html += '</ul></div>';
3400
3401    holder.innerHTML = html;
3402    holder.style.display = '';
3403
3404    /* Strip HTML (sadece çoklu değerli varyantlar için)
3405       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
3406    if(displayVariant){
3407      var stripHtml = '';
3408      var inStockCount = 0;
3409
3410      /* DEBUG - console'da gör */
3411      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
3412
3413      displayVariant.values.forEach(function(val){
3414        /* SADECE stokta olanları ekle */
3415        if(val.inStock === true){
3416          stripHtml += '<div class="size-item" '
3417                    + 'data-urun-id="' + productId + '" '
3418                    + 'data-varyant-deger="' + val.deger + '" '
3419                    + 'onclick="return luxAddVariant(event, this);">'
3420                    + val.deger + '</div>';
3421          inStockCount++;
3422        }
3423      });
3424
3425      /* Eğer stokta hiç beden yoksa şeridi gösterme */
3426      if(inStockCount === 0){
3427        strip.setAttribute('data-loaded', '1');
3428        strip.setAttribute('data-has-variants', '0');
3429        return false;
3430      }
3431
3432      strip.innerHTML = stripHtml;
3433      strip.setAttribute('data-loaded', '1');
3434      strip.setAttribute('data-has-variants', '1');
3435      return true;
3436    } else {
3437      strip.setAttribute('data-loaded', '1');
3438      strip.setAttribute('data-has-variants', '0');
3439      return false;
3440    }
3441  }
3442
3443
3444  /* ============================================
3445     SEPET IKONU TIKLAMASI
3446     ============================================ */
3447  window.luxBagClick = function(ev, productId){
3448    ev.preventDefault();
3449    ev.stopPropagation();
3450
3451    var card = document.getElementById('card-' + productId);
3452    var strip = document.getElementById('size-strip-' + productId);
3453    var bag = document.getElementById('lux-bag-' + productId);
3454    if(!card || !strip) return false;
3455
3456    /* Strip zaten yüklenmişse direkt davran */
3457    if(strip.getAttribute('data-loaded') === '1'){
3458      if(strip.getAttribute('data-has-variants') === '1'){
3459        toggleStrip(productId);
3460      } else {
3461        addToCartSmart(productId);
3462      }
3463      return false;
3464    }
3465
3466    /* İlk tıklama - AJAX ile varyantları çek */
3467    bag.classList.add('is-loading');
3468    var productLink = card.getAttribute('data-lux-product-link');
3469
3470    fetchVariants(productId, productLink, function(data){
3471      bag.classList.remove('is-loading');
3472
3473      var hasVariants = buildVariantUI(productId, data);
3474
3475      if(hasVariants){
3476        /* Bedenler var - şeridi aç */
3477        toggleStrip(productId);
3478      } else {
3479        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
3480        addToCartSmart(productId);
3481      }
3482    });
3483
3484    return false;
3485  };
3486
3487  function toggleStrip(productId){
3488    var strip = document.getElementById('size-strip-' + productId);
3489    var card = document.getElementById('card-' + productId);
3490    if(!strip) return;
3491
3492    document.querySelectorAll('.size-strip.open').forEach(function(s){
3493      if(s !== strip) s.classList.remove('open');
3494    });
3495    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
3496      if(c !== card) c.classList.remove('sizes-open');
3497    });
3498
3499    strip.classList.toggle('open');
3500    if(card) card.classList.toggle('sizes-open');
3501  }
3502
3503
3504  /* ============================================
3505     BEDEN TIKLAMASI
3506     ============================================ */
3507  window.luxAddVariant = function(ev, elem){
3508    ev.preventDefault();
3509    ev.stopPropagation();
3510
3511    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
3512
3513    var productId = elem.getAttribute('data-urun-id');
3514    var varyantDeger = elem.getAttribute('data-varyant-deger');
3515
3516    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
3517    if(!holder) return false;
3518
3519    /* Seçilen bedeni ilk select'e yaz */
3520    var firstSelect = holder.querySelector('select[data-variant="0"]');
3521    if(firstSelect){
3522      firstSelect.value = varyantDeger;
3523      if(typeof jQuery !== "undefined"){
3524        jQuery(firstSelect).val(varyantDeger).trigger('change');
3525      }
3526    }
3527
3528    /* Diğer select'lere ilk geçerli değeri koy */
3529    var allSelects = holder.querySelectorAll('select[data-variant]');
3530    allSelects.forEach(function(sel, idx){
3531      if(idx === 0) return;
3532      if(sel.value) return;
3533      var options = sel.querySelectorAll('option');
3534      for(var i = 0; i < options.length; i++){
3535        if(options[i].value){
3536          sel.value = options[i].value;
3537          if(typeof jQuery !== "undefined"){
3538            jQuery(sel).val(options[i].value).trigger('change');
3539          }
3540          break;
3541        }
3542      }
3543    });
3544
3545    /* Görsel feedback */
3546    elem.classList.add('adding');
3547    var originalText = elem.textContent;
3548    elem.textContent = '✓';
3549
3550    /* Sepete ekle */
3551    addToCartSmart(productId, {
3552      checkVariant: true,
3553      variantCount: allSelects.length,
3554      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
3555    });
3556
3557    setTimeout(function(){
3558      elem.textContent = originalText;
3559      elem.classList.remove('adding');
3560      closeAll();
3561    }, 800);
3562
3563    return false;
3564  };
3565
3566
3567  /* ============================================
3568     SEPETE EKLE - Modal killer ile
3569     ============================================ */
3570  function addToCartSmart(productId, extraOptions){
3571    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
3572
3573    var options = {
3574      quantity: 1,
3575      hideNativeModal: 'lux-card-' + productId
3576    };
3577
3578    if(extraOptions){
3579      Object.keys(extraOptions).forEach(function(k){
3580        options[k] = extraOptions[k];
3581      });
3582    } else if(holder){
3583      var selects = holder.querySelectorAll('select[data-variant]');
3584      if(selects.length > 0){
3585        options.checkVariant = true;
3586        options.variantCount = selects.length;
3587        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
3588      }
3589    }
3590
3591    startModalKill(2000);
3592
3593    if(typeof addCart === "function"){
3594      try {
3595        addCart(productId, 'card', options);
3596        flashSuccess(productId);
3597      } catch(err){
3598        console.error('Sepete ekleme hatası:', err);
3599      }
3600    }
3601  }
3602
3603})();
3604</script>
3604</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
3605                             data-lux-product-shell="1"
3606                             data-lux-page="1"><style>
3607@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
3608
3609/* ===== VEZZA LUX CARD ===== */
3610.card-product{
3611  font-family:'Poppins',sans-serif;
3612  background:#fff !important;
3613  position:relative;
3614}
3615.card-product-inner{
3616  background:transparent !important;
3617  position:relative;
3618}
3619.card-product .c-p-i-link,
3620.card-product a{
3621  background:transparent !important;
3622}
3623.card-product-inner > div{
3624  background:transparent !important;
3625}
3626.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
3627  background:transparent !important;
3628}
3629.card-product .card-product-content,
3630.card-product .price-group,
3631.card-product .prices{
3632  background:transparent !important;
3633}
3634[class*="skeleton"],
3635[class*="placeholder"],
3636[class*="loading"]{
3637  background:transparent !important;
3638}
3639
3640/* ===== IMAGE AREA - KARE GÖRSEL ===== */
3641.image-wrapper{
3642  position:relative;
3643  width:100%;
3644  aspect-ratio:1/1;
3645  overflow:hidden;
3646  background:#fff !important;
3647}
3648
3649.image{
3650  position:relative;
3651  width:100%;
3652  height:100%;
3653}
3654
3655.image-wrapper img{
3656  width:100% !important;
3657  height:100% !important;
3658  object-fit:cover !important;
3659  object-position:center center !important;
3660  display:block;
3661  transition:transform .35s ease;
3662}
3663
3664/* ===== DISCOUNT ===== */
3665.discount{
3666  position:absolute;
3667  top:12px;
3668  left:12px;
3669  width:28px;
3670  height:48px;
3671  background:#e10b0b;
3672  color:#fff;
3673  font-size:12px;
3674  font-weight:600;
3675  display:flex;
3676  align-items:center;
3677  justify-content:center;
3678  writing-mode:vertical-rl;
3679  transform:rotate(180deg);
3680  letter-spacing:.5px;
3681  z-index:7;
3682}
3683
3684/* ===== FAV ===== */
3685.lux-fav{
3686  position:absolute;
3687  top:12px;
3688  right:12px;
3689  z-index:7;
3690}
3691.lux-fav a,
3692.lux-fav button{
3693  background:transparent !important;
3694  border:0 !important;
3695  padding:0 !important;
3696  cursor:pointer;
3697  display:inline-flex;
3698  align-items:center;
3699  justify-content:center;
3700}
3701
3702/* ===== SEPET IKON ===== */
3703.lux-bag{
3704  position:absolute;
3705  bottom:12px;
3706  right:12px;
3707  z-index:7;
3708  width:34px;
3709  height:34px;
3710  display:inline-flex;
3711  align-items:center;
3712  justify-content:center;
3713  background:rgba(255,255,255,.92);
3714  border:1px solid rgba(0,0,0,.10);
3715  border-radius:10px;
3716  cursor:pointer;
3717  transition:.2s ease;
3718}
3719.lux-bag:hover{
3720  background:#fff;
3721  border-color:rgba(0,0,0,.25);
3722}
3723.lux-bag.is-loading{
3724  opacity:.6;
3725  cursor:wait;
3726}
3727.lux-bag.is-success{
3728  background:#2e7d32 !important;
3729  border-color:#2e7d32 !important;
3730  color:#fff !important;
3731}
3732.card-product.sizes-open .lux-bag{
3733  opacity:0;
3734  pointer-events:none;
3735}
3736
3737/* Loading spinner */
3738.lux-bag.is-loading i::before{
3739  content:"⏳";
3740}
3741
3742/* ===== SIZE STRIP ===== */
3743.size-strip{
3744  width:100%;
3745  max-height:0;
3746  overflow:hidden;
3747  background:#fff;
3748  display:flex;
3749  flex-wrap:wrap;
3750  transition:max-height .3s ease, border-color .3s ease;
3751  border-top:1px solid transparent;
3752  border-bottom:1px solid transparent;
3753}
3754.size-strip.open{
3755  max-height:200px;
3756  border-top-color:rgba(0,0,0,.08);
3757  border-bottom-color:rgba(0,0,0,.08);
3758}
3759.size-item{
3760  flex:1 0 auto;
3761  min-width:38px;
3762  height:42px;
3763  display:flex;
3764  align-items:center;
3765  justify-content:center;
3766  font-size:13px;
3767  font-weight:500;
3768  color:#111 !important;
3769  cursor:pointer;
3770  user-select:none;
3771  background:transparent;
3772  transition:background .15s ease, color .15s ease;
3773  border-right:1px solid rgba(0,0,0,.08);
3774}
3775.size-item:last-child{ border-right:0; }
3776.size-item:hover:not(.disabled):not(.adding){
3777  background:#000 !important;
3778  color:#fff !important;
3779}
3780.size-item.disabled{
3781  color:#111 !important;
3782  text-decoration:line-through !important;
3783  opacity:.30 !important;
3784  cursor:not-allowed;
3785}
3786.size-item.adding{
3787  background:#2e7d32 !important;
3788  color:#fff !important;
3789  cursor:wait;
3790}
3791
3792/* ===== META ===== */
3793.lux-meta{
3794  padding:12px 6px 6px;
3795  background:transparent !important;
3796}
3797.lux-brand{
3798  font-size:16px;
3799  font-weight:600;
3800  color:#111;
3801  margin-bottom:2px;
3802}
3803.lux-title{
3804  font-size:14px;
3805  font-weight:400;
3806  line-height:1.45;
3807  color:#111;
3808  margin:0;
3809}
3810.lux-price{
3811  margin-top:10px;
3812  display:flex;
3813  gap:10px;
3814  align-items:baseline;
3815  background:transparent !important;
3816}
3817.lux-price .list-price{
3818  font-size:14px;
3819  font-weight:400;
3820  color:#111;
3821  text-decoration:line-through;
3822}
3823.lux-price .sale-price{
3824  font-size:16px;
3825  font-weight:600;
3826  color:#e10b0b;
3827}
3828
3829.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
3830.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
3831</style><div class="card-product"
3832     id="card-10185"
3833     data-lux-card-id="10185"
3834     data-lux-product-link="https://www.vezzalux.com/mcq-831-parlak-gri-erkek-ayakkabi"
3835     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/mcq-831-parlak-gri-erkek-ayakkabi" class="c-p-i-link" title="Mcq 831 Parlak Gri Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c788c3b0a-16915648-sw1200sh1200.webp" alt="Mcq 831 Parlak Gri Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c788c3b0a-16915648-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c78530c3f-52573170-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
3836        onclick="userProductFavourite('add', 10185)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
3837         id="lux-bag-10185"
3838         onclick="return luxBagClick(event, 10185);"
3839         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10185" style="display:none;"></div><div class="size-strip" id="size-strip-10185" data-loaded="0"></div><a href="https://www.vezzalux.com/mcq-831-parlak-gri-erkek-ayakkabi" class="c-p-i-link" title="Mcq 831 Parlak Gri Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Alexander Mcqueen</div><div class="lux-title">Mcq 831 Parlak Gri Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
3839<script>
3840(function(){
3841
3842  /* Bir kez kur */
3843  if(window.__luxCardInit) return;
3844  window.__luxCardInit = true;
3845
3846  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
3847  window.__luxVariantCache = window.__luxVariantCache || {};
3848
3849  function closeAll(){
3850    document.querySelectorAll('.size-strip.open').forEach(function(s){
3851      s.classList.remove('open');
3852    });
3853    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
3854      c.classList.remove('sizes-open');
3855    });
3856  }
3857
3858  function flashSuccess(productId){
3859    var bag = document.getElementById('lux-bag-' + productId);
3860    if(!bag) return;
3861    bag.classList.add('is-success');
3862    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
3863  }
3864
3865  /* Dış tıklama - kapat */
3866  document.addEventListener('click', function(e){
3867    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
3868    if(!inside) closeAll();
3869  });
3870
3871  document.addEventListener('keydown', function(e){
3872    if(e.key === 'Escape') closeAll();
3873  });
3874
3875
3876  /* ============================================
3877     MODAL KILLER - yedek güvence
3878     ============================================ */
3879  var LUX_MODAL_KILL_ACTIVE = false;
3880
3881  function killVisibleModals(){
3882    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
3883    modals.forEach(function(m){
3884      var id = (m.id || '').toLowerCase();
3885      var txt = (m.textContent || '').toLowerCase();
3886      var isCartModal = id.indexOf('cart') > -1
3887                     || id.indexOf('variant') > -1
3888                     || id.indexOf('fast') > -1
3889                     || id.indexOf('urun') > -1
3890                     || txt.indexOf('lütfen seçin') > -1;
3891
3892      if(isCartModal){
3893        if(typeof jQuery !== 'undefined'){
3894          try { jQuery(m).modal('hide'); } catch(e){}
3895        }
3896        m.classList.remove('show','in');
3897        m.style.display = 'none';
3898      }
3899    });
3900
3901    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
3902    document.body.classList.remove('modal-open');
3903    document.body.style.overflow = '';
3904    document.body.style.paddingRight = '';
3905  }
3906
3907  function startModalKill(durationMs){
3908    if(LUX_MODAL_KILL_ACTIVE) return;
3909    LUX_MODAL_KILL_ACTIVE = true;
3910    killVisibleModals();
3911    var interval = setInterval(killVisibleModals, 50);
3912    setTimeout(function(){
3913      clearInterval(interval);
3914      LUX_MODAL_KILL_ACTIVE = false;
3915    }, durationMs || 2000);
3916  }
3917
3918
3919  /* ============================================
3920     AJAX: Varyantları detay sayfasından çek
3921     ============================================
3922     Ürün detay sayfasının tam HTML'ini indir,
3923     DOMParser ile parse et, varyantları bul
3924     ============================================ */
3925  function fetchVariants(productId, productLink, callback){
3926
3927    /* Cache'te varsa hemen döndür */
3928    if(window.__luxVariantCache[productId]){
3929      callback(window.__luxVariantCache[productId]);
3930      return;
3931    }
3932
3933    fetch(productLink, {
3934      method: 'GET',
3935      credentials: 'same-origin',
3936      headers: { 'Accept': 'text/html' }
3937    })
3938    .then(function(r){ return r.text(); })
3939    .then(function(html){
3940      var parser = new DOMParser();
3941      var doc = parser.parseFromString(html, 'text/html');
3942
3943      /* Detay sayfasındaki .variant-box'ı bul */
3944      var variantBox = doc.querySelector('.variant-box');
3945      if(!variantBox){
3946        callback({ variants: [], error: 'no_variant_box' });
3947        return;
3948      }
3949
3950      /* Her varyant grubu için select'leri ve option'ları oku */
3951      var variants = [];
3952      var variantLis = variantBox.querySelectorAll('.variant');
3953
3954      variantLis.forEach(function(li, idx){
3955        var nameEl = li.querySelector('.name');
3956        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
3957
3958        var values = [];
3959
3960        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
3961        var optLinks = li.querySelectorAll('.options a');
3962
3963        if(optLinks.length > 0){
3964          optLinks.forEach(function(a){
3965            /* Beden/renk değerini doğru attribute'tan oku
3966               - data-variant-value: asıl değer (örn: "38", "KAHVE")
3967               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
3968               - textContent: fallback */
3969            var deger = a.getAttribute('data-variant-value')
3970                     || a.textContent.trim();
3971
3972            /* Stok kontrolü - birden fazla yoldan kontrol et */
3973            var isSoldOut = a.classList.contains('sold-out')
3974                         || a.classList.contains('sold_out')
3975                         || a.classList.contains('disabled')
3976                         || a.classList.contains('stoksuz')
3977                         || a.classList.contains('out-of-stock')
3978                         || a.hasAttribute('disabled')
3979                         || a.getAttribute('data-in-stock') === '0'
3980                         || a.getAttribute('data-in-stock') === 'false'
3981                         || a.getAttribute('data-stokta-var-mi') === '0'
3982                         || a.getAttribute('data-stokta-var-mi') === 'false';
3983
3984            values.push({
3985              deger: deger,
3986              inStock: !isSoldOut
3987            });
3988          });
3989        } else {
3990          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
3991          var select = li.querySelector('select');
3992          if(select){
3993            var opts = select.querySelectorAll('option');
3994            opts.forEach(function(o){
3995              if(!o.value) return;
3996              values.push({
3997                deger: o.value,
3998                inStock: !o.disabled
3999              });
4000            });
4001          }
4002        }
4003
4004        variants.push({
4005          index: idx,
4006          baslik: name,
4007          values: values
4008        });
4009      });
4010
4011      var result = { variants: variants };
4012      window.__luxVariantCache[productId] = result;
4013      callback(result);
4014    })
4015    .catch(function(err){
4016      console.error('Varyant çekme hatası:', err);
4017      callback({ variants: [], error: 'fetch_failed' });
4018    });
4019  }
4020
4021
4022  /* ============================================
4023     Beden şeridini ve gizli variant-box'ı oluştur
4024     ============================================ */
4025  function buildVariantUI(productId, data){
4026    var card = document.getElementById('card-' + productId);
4027    if(!card) return false;
4028
4029    var holder = card.querySelector('.lux-variant-box');
4030    var strip = document.getElementById('size-strip-' + productId);
4031    if(!holder || !strip) return false;
4032
4033    if(!data.variants || data.variants.length === 0){
4034      /* Varyant yok */
4035      return false;
4036    }
4037
4038    /* Çoklu değerli ilk varyantı bul (beden) */
4039    var displayVariant = null;
4040    data.variants.forEach(function(v){
4041      if(!displayVariant && v.values.length > 1){
4042        displayVariant = v;
4043      }
4044    });
4045
4046    /* Gizli variant-box HTML */
4047    var html = '<div class="variant-box"><ul>';
4048    data.variants.forEach(function(v){
4049      html += '<li class="variant">';
4050      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
4051
4052      if(v.values.length > 1){
4053        html += '<option value="">Lütfen seçin</option>';
4054      }
4055
4056      v.values.forEach(function(val, i){
4057        var selected = (v.values.length === 1) ? ' selected' : '';
4058        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
4059      });
4060
4061      html += '</select></li>';
4062    });
4063    html += '</ul></div>';
4064
4065    holder.innerHTML = html;
4066    holder.style.display = '';
4067
4068    /* Strip HTML (sadece çoklu değerli varyantlar için)
4069       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
4070    if(displayVariant){
4071      var stripHtml = '';
4072      var inStockCount = 0;
4073
4074      /* DEBUG - console'da gör */
4075      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
4076
4077      displayVariant.values.forEach(function(val){
4078        /* SADECE stokta olanları ekle */
4079        if(val.inStock === true){
4080          stripHtml += '<div class="size-item" '
4081                    + 'data-urun-id="' + productId + '" '
4082                    + 'data-varyant-deger="' + val.deger + '" '
4083                    + 'onclick="return luxAddVariant(event, this);">'
4084                    + val.deger + '</div>';
4085          inStockCount++;
4086        }
4087      });
4088
4089      /* Eğer stokta hiç beden yoksa şeridi gösterme */
4090      if(inStockCount === 0){
4091        strip.setAttribute('data-loaded', '1');
4092        strip.setAttribute('data-has-variants', '0');
4093        return false;
4094      }
4095
4096      strip.innerHTML = stripHtml;
4097      strip.setAttribute('data-loaded', '1');
4098      strip.setAttribute('data-has-variants', '1');
4099      return true;
4100    } else {
4101      strip.setAttribute('data-loaded', '1');
4102      strip.setAttribute('data-has-variants', '0');
4103      return false;
4104    }
4105  }
4106
4107
4108  /* ============================================
4109     SEPET IKONU TIKLAMASI
4110     ============================================ */
4111  window.luxBagClick = function(ev, productId){
4112    ev.preventDefault();
4113    ev.stopPropagation();
4114
4115    var card = document.getElementById('card-' + productId);
4116    var strip = document.getElementById('size-strip-' + productId);
4117    var bag = document.getElementById('lux-bag-' + productId);
4118    if(!card || !strip) return false;
4119
4120    /* Strip zaten yüklenmişse direkt davran */
4121    if(strip.getAttribute('data-loaded') === '1'){
4122      if(strip.getAttribute('data-has-variants') === '1'){
4123        toggleStrip(productId);
4124      } else {
4125        addToCartSmart(productId);
4126      }
4127      return false;
4128    }
4129
4130    /* İlk tıklama - AJAX ile varyantları çek */
4131    bag.classList.add('is-loading');
4132    var productLink = card.getAttribute('data-lux-product-link');
4133
4134    fetchVariants(productId, productLink, function(data){
4135      bag.classList.remove('is-loading');
4136
4137      var hasVariants = buildVariantUI(productId, data);
4138
4139      if(hasVariants){
4140        /* Bedenler var - şeridi aç */
4141        toggleStrip(productId);
4142      } else {
4143        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
4144        addToCartSmart(productId);
4145      }
4146    });
4147
4148    return false;
4149  };
4150
4151  function toggleStrip(productId){
4152    var strip = document.getElementById('size-strip-' + productId);
4153    var card = document.getElementById('card-' + productId);
4154    if(!strip) return;
4155
4156    document.querySelectorAll('.size-strip.open').forEach(function(s){
4157      if(s !== strip) s.classList.remove('open');
4158    });
4159    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
4160      if(c !== card) c.classList.remove('sizes-open');
4161    });
4162
4163    strip.classList.toggle('open');
4164    if(card) card.classList.toggle('sizes-open');
4165  }
4166
4167
4168  /* ============================================
4169     BEDEN TIKLAMASI
4170     ============================================ */
4171  window.luxAddVariant = function(ev, elem){
4172    ev.preventDefault();
4173    ev.stopPropagation();
4174
4175    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
4176
4177    var productId = elem.getAttribute('data-urun-id');
4178    var varyantDeger = elem.getAttribute('data-varyant-deger');
4179
4180    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
4181    if(!holder) return false;
4182
4183    /* Seçilen bedeni ilk select'e yaz */
4184    var firstSelect = holder.querySelector('select[data-variant="0"]');
4185    if(firstSelect){
4186      firstSelect.value = varyantDeger;
4187      if(typeof jQuery !== "undefined"){
4188        jQuery(firstSelect).val(varyantDeger).trigger('change');
4189      }
4190    }
4191
4192    /* Diğer select'lere ilk geçerli değeri koy */
4193    var allSelects = holder.querySelectorAll('select[data-variant]');
4194    allSelects.forEach(function(sel, idx){
4195      if(idx === 0) return;
4196      if(sel.value) return;
4197      var options = sel.querySelectorAll('option');
4198      for(var i = 0; i < options.length; i++){
4199        if(options[i].value){
4200          sel.value = options[i].value;
4201          if(typeof jQuery !== "undefined"){
4202            jQuery(sel).val(options[i].value).trigger('change');
4203          }
4204          break;
4205        }
4206      }
4207    });
4208
4209    /* Görsel feedback */
4210    elem.classList.add('adding');
4211    var originalText = elem.textContent;
4212    elem.textContent = '✓';
4213
4214    /* Sepete ekle */
4215    addToCartSmart(productId, {
4216      checkVariant: true,
4217      variantCount: allSelects.length,
4218      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
4219    });
4220
4221    setTimeout(function(){
4222      elem.textContent = originalText;
4223      elem.classList.remove('adding');
4224      closeAll();
4225    }, 800);
4226
4227    return false;
4228  };
4229
4230
4231  /* ============================================
4232     SEPETE EKLE - Modal killer ile
4233     ============================================ */
4234  function addToCartSmart(productId, extraOptions){
4235    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
4236
4237    var options = {
4238      quantity: 1,
4239      hideNativeModal: 'lux-card-' + productId
4240    };
4241
4242    if(extraOptions){
4243      Object.keys(extraOptions).forEach(function(k){
4244        options[k] = extraOptions[k];
4245      });
4246    } else if(holder){
4247      var selects = holder.querySelectorAll('select[data-variant]');
4248      if(selects.length > 0){
4249        options.checkVariant = true;
4250        options.variantCount = selects.length;
4251        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
4252      }
4253    }
4254
4255    startModalKill(2000);
4256
4257    if(typeof addCart === "function"){
4258      try {
4259        addCart(productId, 'card', options);
4260        flashSuccess(productId);
4261      } catch(err){
4262        console.error('Sepete ekleme hatası:', err);
4263      }
4264    }
4265  }
4266
4267})();
4268</script>
4268</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
4269                             data-lux-product-shell="1"
4270                             data-lux-page="1"><style>
4271@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
4272
4273/* ===== VEZZA LUX CARD ===== */
4274.card-product{
4275  font-family:'Poppins',sans-serif;
4276  background:#fff !important;
4277  position:relative;
4278}
4279.card-product-inner{
4280  background:transparent !important;
4281  position:relative;
4282}
4283.card-product .c-p-i-link,
4284.card-product a{
4285  background:transparent !important;
4286}
4287.card-product-inner > div{
4288  background:transparent !important;
4289}
4290.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
4291  background:transparent !important;
4292}
4293.card-product .card-product-content,
4294.card-product .price-group,
4295.card-product .prices{
4296  background:transparent !important;
4297}
4298[class*="skeleton"],
4299[class*="placeholder"],
4300[class*="loading"]{
4301  background:transparent !important;
4302}
4303
4304/* ===== IMAGE AREA - KARE GÖRSEL ===== */
4305.image-wrapper{
4306  position:relative;
4307  width:100%;
4308  aspect-ratio:1/1;
4309  overflow:hidden;
4310  background:#fff !important;
4311}
4312
4313.image{
4314  position:relative;
4315  width:100%;
4316  height:100%;
4317}
4318
4319.image-wrapper img{
4320  width:100% !important;
4321  height:100% !important;
4322  object-fit:cover !important;
4323  object-position:center center !important;
4324  display:block;
4325  transition:transform .35s ease;
4326}
4327
4328/* ===== DISCOUNT ===== */
4329.discount{
4330  position:absolute;
4331  top:12px;
4332  left:12px;
4333  width:28px;
4334  height:48px;
4335  background:#e10b0b;
4336  color:#fff;
4337  font-size:12px;
4338  font-weight:600;
4339  display:flex;
4340  align-items:center;
4341  justify-content:center;
4342  writing-mode:vertical-rl;
4343  transform:rotate(180deg);
4344  letter-spacing:.5px;
4345  z-index:7;
4346}
4347
4348/* ===== FAV ===== */
4349.lux-fav{
4350  position:absolute;
4351  top:12px;
4352  right:12px;
4353  z-index:7;
4354}
4355.lux-fav a,
4356.lux-fav button{
4357  background:transparent !important;
4358  border:0 !important;
4359  padding:0 !important;
4360  cursor:pointer;
4361  display:inline-flex;
4362  align-items:center;
4363  justify-content:center;
4364}
4365
4366/* ===== SEPET IKON ===== */
4367.lux-bag{
4368  position:absolute;
4369  bottom:12px;
4370  right:12px;
4371  z-index:7;
4372  width:34px;
4373  height:34px;
4374  display:inline-flex;
4375  align-items:center;
4376  justify-content:center;
4377  background:rgba(255,255,255,.92);
4378  border:1px solid rgba(0,0,0,.10);
4379  border-radius:10px;
4380  cursor:pointer;
4381  transition:.2s ease;
4382}
4383.lux-bag:hover{
4384  background:#fff;
4385  border-color:rgba(0,0,0,.25);
4386}
4387.lux-bag.is-loading{
4388  opacity:.6;
4389  cursor:wait;
4390}
4391.lux-bag.is-success{
4392  background:#2e7d32 !important;
4393  border-color:#2e7d32 !important;
4394  color:#fff !important;
4395}
4396.card-product.sizes-open .lux-bag{
4397  opacity:0;
4398  pointer-events:none;
4399}
4400
4401/* Loading spinner */
4402.lux-bag.is-loading i::before{
4403  content:"⏳";
4404}
4405
4406/* ===== SIZE STRIP ===== */
4407.size-strip{
4408  width:100%;
4409  max-height:0;
4410  overflow:hidden;
4411  background:#fff;
4412  display:flex;
4413  flex-wrap:wrap;
4414  transition:max-height .3s ease, border-color .3s ease;
4415  border-top:1px solid transparent;
4416  border-bottom:1px solid transparent;
4417}
4418.size-strip.open{
4419  max-height:200px;
4420  border-top-color:rgba(0,0,0,.08);
4421  border-bottom-color:rgba(0,0,0,.08);
4422}
4423.size-item{
4424  flex:1 0 auto;
4425  min-width:38px;
4426  height:42px;
4427  display:flex;
4428  align-items:center;
4429  justify-content:center;
4430  font-size:13px;
4431  font-weight:500;
4432  color:#111 !important;
4433  cursor:pointer;
4434  user-select:none;
4435  background:transparent;
4436  transition:background .15s ease, color .15s ease;
4437  border-right:1px solid rgba(0,0,0,.08);
4438}
4439.size-item:last-child{ border-right:0; }
4440.size-item:hover:not(.disabled):not(.adding){
4441  background:#000 !important;
4442  color:#fff !important;
4443}
4444.size-item.disabled{
4445  color:#111 !important;
4446  text-decoration:line-through !important;
4447  opacity:.30 !important;
4448  cursor:not-allowed;
4449}
4450.size-item.adding{
4451  background:#2e7d32 !important;
4452  color:#fff !important;
4453  cursor:wait;
4454}
4455
4456/* ===== META ===== */
4457.lux-meta{
4458  padding:12px 6px 6px;
4459  background:transparent !important;
4460}
4461.lux-brand{
4462  font-size:16px;
4463  font-weight:600;
4464  color:#111;
4465  margin-bottom:2px;
4466}
4467.lux-title{
4468  font-size:14px;
4469  font-weight:400;
4470  line-height:1.45;
4471  color:#111;
4472  margin:0;
4473}
4474.lux-price{
4475  margin-top:10px;
4476  display:flex;
4477  gap:10px;
4478  align-items:baseline;
4479  background:transparent !important;
4480}
4481.lux-price .list-price{
4482  font-size:14px;
4483  font-weight:400;
4484  color:#111;
4485  text-decoration:line-through;
4486}
4487.lux-price .sale-price{
4488  font-size:16px;
4489  font-weight:600;
4490  color:#e10b0b;
4491}
4492
4493.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
4494.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
4495</style><div class="card-product"
4496     id="card-10477"
4497     data-lux-card-id="10477"
4498     data-lux-product-link="https://www.vezzalux.com/vltn-1200-taba-sneaker-erkek-ayakkabi"
4499     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/vltn-1200-taba-sneaker-erkek-ayakkabi" class="c-p-i-link" title="Vltn 1200 Taba Sneaker Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cdca20ef0-36758161-sw1200sh1200.webp" alt="Vltn 1200 Taba Sneaker Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cdca20ef0-36758161-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cdcb6dca2-69071046-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
4500        onclick="userProductFavourite('add', 10477)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
4501         id="lux-bag-10477"
4502         onclick="return luxBagClick(event, 10477);"
4503         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10477" style="display:none;"></div><div class="size-strip" id="size-strip-10477" data-loaded="0"></div><a href="https://www.vezzalux.com/vltn-1200-taba-sneaker-erkek-ayakkabi" class="c-p-i-link" title="Vltn 1200 Taba Sneaker Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Valentino</div><div class="lux-title">Vltn 1200 Taba Sneaker Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
4503<script>
4504(function(){
4505
4506  /* Bir kez kur */
4507  if(window.__luxCardInit) return;
4508  window.__luxCardInit = true;
4509
4510  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
4511  window.__luxVariantCache = window.__luxVariantCache || {};
4512
4513  function closeAll(){
4514    document.querySelectorAll('.size-strip.open').forEach(function(s){
4515      s.classList.remove('open');
4516    });
4517    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
4518      c.classList.remove('sizes-open');
4519    });
4520  }
4521
4522  function flashSuccess(productId){
4523    var bag = document.getElementById('lux-bag-' + productId);
4524    if(!bag) return;
4525    bag.classList.add('is-success');
4526    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
4527  }
4528
4529  /* Dış tıklama - kapat */
4530  document.addEventListener('click', function(e){
4531    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
4532    if(!inside) closeAll();
4533  });
4534
4535  document.addEventListener('keydown', function(e){
4536    if(e.key === 'Escape') closeAll();
4537  });
4538
4539
4540  /* ============================================
4541     MODAL KILLER - yedek güvence
4542     ============================================ */
4543  var LUX_MODAL_KILL_ACTIVE = false;
4544
4545  function killVisibleModals(){
4546    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
4547    modals.forEach(function(m){
4548      var id = (m.id || '').toLowerCase();
4549      var txt = (m.textContent || '').toLowerCase();
4550      var isCartModal = id.indexOf('cart') > -1
4551                     || id.indexOf('variant') > -1
4552                     || id.indexOf('fast') > -1
4553                     || id.indexOf('urun') > -1
4554                     || txt.indexOf('lütfen seçin') > -1;
4555
4556      if(isCartModal){
4557        if(typeof jQuery !== 'undefined'){
4558          try { jQuery(m).modal('hide'); } catch(e){}
4559        }
4560        m.classList.remove('show','in');
4561        m.style.display = 'none';
4562      }
4563    });
4564
4565    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
4566    document.body.classList.remove('modal-open');
4567    document.body.style.overflow = '';
4568    document.body.style.paddingRight = '';
4569  }
4570
4571  function startModalKill(durationMs){
4572    if(LUX_MODAL_KILL_ACTIVE) return;
4573    LUX_MODAL_KILL_ACTIVE = true;
4574    killVisibleModals();
4575    var interval = setInterval(killVisibleModals, 50);
4576    setTimeout(function(){
4577      clearInterval(interval);
4578      LUX_MODAL_KILL_ACTIVE = false;
4579    }, durationMs || 2000);
4580  }
4581
4582
4583  /* ============================================
4584     AJAX: Varyantları detay sayfasından çek
4585     ============================================
4586     Ürün detay sayfasının tam HTML'ini indir,
4587     DOMParser ile parse et, varyantları bul
4588     ============================================ */
4589  function fetchVariants(productId, productLink, callback){
4590
4591    /* Cache'te varsa hemen döndür */
4592    if(window.__luxVariantCache[productId]){
4593      callback(window.__luxVariantCache[productId]);
4594      return;
4595    }
4596
4597    fetch(productLink, {
4598      method: 'GET',
4599      credentials: 'same-origin',
4600      headers: { 'Accept': 'text/html' }
4601    })
4602    .then(function(r){ return r.text(); })
4603    .then(function(html){
4604      var parser = new DOMParser();
4605      var doc = parser.parseFromString(html, 'text/html');
4606
4607      /* Detay sayfasındaki .variant-box'ı bul */
4608      var variantBox = doc.querySelector('.variant-box');
4609      if(!variantBox){
4610        callback({ variants: [], error: 'no_variant_box' });
4611        return;
4612      }
4613
4614      /* Her varyant grubu için select'leri ve option'ları oku */
4615      var variants = [];
4616      var variantLis = variantBox.querySelectorAll('.variant');
4617
4618      variantLis.forEach(function(li, idx){
4619        var nameEl = li.querySelector('.name');
4620        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
4621
4622        var values = [];
4623
4624        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
4625        var optLinks = li.querySelectorAll('.options a');
4626
4627        if(optLinks.length > 0){
4628          optLinks.forEach(function(a){
4629            /* Beden/renk değerini doğru attribute'tan oku
4630               - data-variant-value: asıl değer (örn: "38", "KAHVE")
4631               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
4632               - textContent: fallback */
4633            var deger = a.getAttribute('data-variant-value')
4634                     || a.textContent.trim();
4635
4636            /* Stok kontrolü - birden fazla yoldan kontrol et */
4637            var isSoldOut = a.classList.contains('sold-out')
4638                         || a.classList.contains('sold_out')
4639                         || a.classList.contains('disabled')
4640                         || a.classList.contains('stoksuz')
4641                         || a.classList.contains('out-of-stock')
4642                         || a.hasAttribute('disabled')
4643                         || a.getAttribute('data-in-stock') === '0'
4644                         || a.getAttribute('data-in-stock') === 'false'
4645                         || a.getAttribute('data-stokta-var-mi') === '0'
4646                         || a.getAttribute('data-stokta-var-mi') === 'false';
4647
4648            values.push({
4649              deger: deger,
4650              inStock: !isSoldOut
4651            });
4652          });
4653        } else {
4654          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
4655          var select = li.querySelector('select');
4656          if(select){
4657            var opts = select.querySelectorAll('option');
4658            opts.forEach(function(o){
4659              if(!o.value) return;
4660              values.push({
4661                deger: o.value,
4662                inStock: !o.disabled
4663              });
4664            });
4665          }
4666        }
4667
4668        variants.push({
4669          index: idx,
4670          baslik: name,
4671          values: values
4672        });
4673      });
4674
4675      var result = { variants: variants };
4676      window.__luxVariantCache[productId] = result;
4677      callback(result);
4678    })
4679    .catch(function(err){
4680      console.error('Varyant çekme hatası:', err);
4681      callback({ variants: [], error: 'fetch_failed' });
4682    });
4683  }
4684
4685
4686  /* ============================================
4687     Beden şeridini ve gizli variant-box'ı oluştur
4688     ============================================ */
4689  function buildVariantUI(productId, data){
4690    var card = document.getElementById('card-' + productId);
4691    if(!card) return false;
4692
4693    var holder = card.querySelector('.lux-variant-box');
4694    var strip = document.getElementById('size-strip-' + productId);
4695    if(!holder || !strip) return false;
4696
4697    if(!data.variants || data.variants.length === 0){
4698      /* Varyant yok */
4699      return false;
4700    }
4701
4702    /* Çoklu değerli ilk varyantı bul (beden) */
4703    var displayVariant = null;
4704    data.variants.forEach(function(v){
4705      if(!displayVariant && v.values.length > 1){
4706        displayVariant = v;
4707      }
4708    });
4709
4710    /* Gizli variant-box HTML */
4711    var html = '<div class="variant-box"><ul>';
4712    data.variants.forEach(function(v){
4713      html += '<li class="variant">';
4714      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
4715
4716      if(v.values.length > 1){
4717        html += '<option value="">Lütfen seçin</option>';
4718      }
4719
4720      v.values.forEach(function(val, i){
4721        var selected = (v.values.length === 1) ? ' selected' : '';
4722        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
4723      });
4724
4725      html += '</select></li>';
4726    });
4727    html += '</ul></div>';
4728
4729    holder.innerHTML = html;
4730    holder.style.display = '';
4731
4732    /* Strip HTML (sadece çoklu değerli varyantlar için)
4733       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
4734    if(displayVariant){
4735      var stripHtml = '';
4736      var inStockCount = 0;
4737
4738      /* DEBUG - console'da gör */
4739      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
4740
4741      displayVariant.values.forEach(function(val){
4742        /* SADECE stokta olanları ekle */
4743        if(val.inStock === true){
4744          stripHtml += '<div class="size-item" '
4745                    + 'data-urun-id="' + productId + '" '
4746                    + 'data-varyant-deger="' + val.deger + '" '
4747                    + 'onclick="return luxAddVariant(event, this);">'
4748                    + val.deger + '</div>';
4749          inStockCount++;
4750        }
4751      });
4752
4753      /* Eğer stokta hiç beden yoksa şeridi gösterme */
4754      if(inStockCount === 0){
4755        strip.setAttribute('data-loaded', '1');
4756        strip.setAttribute('data-has-variants', '0');
4757        return false;
4758      }
4759
4760      strip.innerHTML = stripHtml;
4761      strip.setAttribute('data-loaded', '1');
4762      strip.setAttribute('data-has-variants', '1');
4763      return true;
4764    } else {
4765      strip.setAttribute('data-loaded', '1');
4766      strip.setAttribute('data-has-variants', '0');
4767      return false;
4768    }
4769  }
4770
4771
4772  /* ============================================
4773     SEPET IKONU TIKLAMASI
4774     ============================================ */
4775  window.luxBagClick = function(ev, productId){
4776    ev.preventDefault();
4777    ev.stopPropagation();
4778
4779    var card = document.getElementById('card-' + productId);
4780    var strip = document.getElementById('size-strip-' + productId);
4781    var bag = document.getElementById('lux-bag-' + productId);
4782    if(!card || !strip) return false;
4783
4784    /* Strip zaten yüklenmişse direkt davran */
4785    if(strip.getAttribute('data-loaded') === '1'){
4786      if(strip.getAttribute('data-has-variants') === '1'){
4787        toggleStrip(productId);
4788      } else {
4789        addToCartSmart(productId);
4790      }
4791      return false;
4792    }
4793
4794    /* İlk tıklama - AJAX ile varyantları çek */
4795    bag.classList.add('is-loading');
4796    var productLink = card.getAttribute('data-lux-product-link');
4797
4798    fetchVariants(productId, productLink, function(data){
4799      bag.classList.remove('is-loading');
4800
4801      var hasVariants = buildVariantUI(productId, data);
4802
4803      if(hasVariants){
4804        /* Bedenler var - şeridi aç */
4805        toggleStrip(productId);
4806      } else {
4807        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
4808        addToCartSmart(productId);
4809      }
4810    });
4811
4812    return false;
4813  };
4814
4815  function toggleStrip(productId){
4816    var strip = document.getElementById('size-strip-' + productId);
4817    var card = document.getElementById('card-' + productId);
4818    if(!strip) return;
4819
4820    document.querySelectorAll('.size-strip.open').forEach(function(s){
4821      if(s !== strip) s.classList.remove('open');
4822    });
4823    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
4824      if(c !== card) c.classList.remove('sizes-open');
4825    });
4826
4827    strip.classList.toggle('open');
4828    if(card) card.classList.toggle('sizes-open');
4829  }
4830
4831
4832  /* ============================================
4833     BEDEN TIKLAMASI
4834     ============================================ */
4835  window.luxAddVariant = function(ev, elem){
4836    ev.preventDefault();
4837    ev.stopPropagation();
4838
4839    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
4840
4841    var productId = elem.getAttribute('data-urun-id');
4842    var varyantDeger = elem.getAttribute('data-varyant-deger');
4843
4844    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
4845    if(!holder) return false;
4846
4847    /* Seçilen bedeni ilk select'e yaz */
4848    var firstSelect = holder.querySelector('select[data-variant="0"]');
4849    if(firstSelect){
4850      firstSelect.value = varyantDeger;
4851      if(typeof jQuery !== "undefined"){
4852        jQuery(firstSelect).val(varyantDeger).trigger('change');
4853      }
4854    }
4855
4856    /* Diğer select'lere ilk geçerli değeri koy */
4857    var allSelects = holder.querySelectorAll('select[data-variant]');
4858    allSelects.forEach(function(sel, idx){
4859      if(idx === 0) return;
4860      if(sel.value) return;
4861      var options = sel.querySelectorAll('option');
4862      for(var i = 0; i < options.length; i++){
4863        if(options[i].value){
4864          sel.value = options[i].value;
4865          if(typeof jQuery !== "undefined"){
4866            jQuery(sel).val(options[i].value).trigger('change');
4867          }
4868          break;
4869        }
4870      }
4871    });
4872
4873    /* Görsel feedback */
4874    elem.classList.add('adding');
4875    var originalText = elem.textContent;
4876    elem.textContent = '✓';
4877
4878    /* Sepete ekle */
4879    addToCartSmart(productId, {
4880      checkVariant: true,
4881      variantCount: allSelects.length,
4882      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
4883    });
4884
4885    setTimeout(function(){
4886      elem.textContent = originalText;
4887      elem.classList.remove('adding');
4888      closeAll();
4889    }, 800);
4890
4891    return false;
4892  };
4893
4894
4895  /* ============================================
4896     SEPETE EKLE - Modal killer ile
4897     ============================================ */
4898  function addToCartSmart(productId, extraOptions){
4899    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
4900
4901    var options = {
4902      quantity: 1,
4903      hideNativeModal: 'lux-card-' + productId
4904    };
4905
4906    if(extraOptions){
4907      Object.keys(extraOptions).forEach(function(k){
4908        options[k] = extraOptions[k];
4909      });
4910    } else if(holder){
4911      var selects = holder.querySelectorAll('select[data-variant]');
4912      if(selects.length > 0){
4913        options.checkVariant = true;
4914        options.variantCount = selects.length;
4915        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
4916      }
4917    }
4918
4919    startModalKill(2000);
4920
4921    if(typeof addCart === "function"){
4922      try {
4923        addCart(productId, 'card', options);
4924        flashSuccess(productId);
4925      } catch(err){
4926        console.error('Sepete ekleme hatası:', err);
4927      }
4928    }
4929  }
4930
4931})();
4932</script>
4932</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
4933                             data-lux-product-shell="1"
4934                             data-lux-page="1"><style>
4935@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
4936
4937/* ===== VEZZA LUX CARD ===== */
4938.card-product{
4939  font-family:'Poppins',sans-serif;
4940  background:#fff !important;
4941  position:relative;
4942}
4943.card-product-inner{
4944  background:transparent !important;
4945  position:relative;
4946}
4947.card-product .c-p-i-link,
4948.card-product a{
4949  background:transparent !important;
4950}
4951.card-product-inner > div{
4952  background:transparent !important;
4953}
4954.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
4955  background:transparent !important;
4956}
4957.card-product .card-product-content,
4958.card-product .price-group,
4959.card-product .prices{
4960  background:transparent !important;
4961}
4962[class*="skeleton"],
4963[class*="placeholder"],
4964[class*="loading"]{
4965  background:transparent !important;
4966}
4967
4968/* ===== IMAGE AREA - KARE GÖRSEL ===== */
4969.image-wrapper{
4970  position:relative;
4971  width:100%;
4972  aspect-ratio:1/1;
4973  overflow:hidden;
4974  background:#fff !important;
4975}
4976
4977.image{
4978  position:relative;
4979  width:100%;
4980  height:100%;
4981}
4982
4983.image-wrapper img{
4984  width:100% !important;
4985  height:100% !important;
4986  object-fit:cover !important;
4987  object-position:center center !important;
4988  display:block;
4989  transition:transform .35s ease;
4990}
4991
4992/* ===== DISCOUNT ===== */
4993.discount{
4994  position:absolute;
4995  top:12px;
4996  left:12px;
4997  width:28px;
4998  height:48px;
4999  background:#e10b0b;
5000  color:#fff;
5001  font-size:12px;
5002  font-weight:600;
5003  display:flex;
5004  align-items:center;
5005  justify-content:center;
5006  writing-mode:vertical-rl;
5007  transform:rotate(180deg);
5008  letter-spacing:.5px;
5009  z-index:7;
5010}
5011
5012/* ===== FAV ===== */
5013.lux-fav{
5014  position:absolute;
5015  top:12px;
5016  right:12px;
5017  z-index:7;
5018}
5019.lux-fav a,
5020.lux-fav button{
5021  background:transparent !important;
5022  border:0 !important;
5023  padding:0 !important;
5024  cursor:pointer;
5025  display:inline-flex;
5026  align-items:center;
5027  justify-content:center;
5028}
5029
5030/* ===== SEPET IKON ===== */
5031.lux-bag{
5032  position:absolute;
5033  bottom:12px;
5034  right:12px;
5035  z-index:7;
5036  width:34px;
5037  height:34px;
5038  display:inline-flex;
5039  align-items:center;
5040  justify-content:center;
5041  background:rgba(255,255,255,.92);
5042  border:1px solid rgba(0,0,0,.10);
5043  border-radius:10px;
5044  cursor:pointer;
5045  transition:.2s ease;
5046}
5047.lux-bag:hover{
5048  background:#fff;
5049  border-color:rgba(0,0,0,.25);
5050}
5051.lux-bag.is-loading{
5052  opacity:.6;
5053  cursor:wait;
5054}
5055.lux-bag.is-success{
5056  background:#2e7d32 !important;
5057  border-color:#2e7d32 !important;
5058  color:#fff !important;
5059}
5060.card-product.sizes-open .lux-bag{
5061  opacity:0;
5062  pointer-events:none;
5063}
5064
5065/* Loading spinner */
5066.lux-bag.is-loading i::before{
5067  content:"⏳";
5068}
5069
5070/* ===== SIZE STRIP ===== */
5071.size-strip{
5072  width:100%;
5073  max-height:0;
5074  overflow:hidden;
5075  background:#fff;
5076  display:flex;
5077  flex-wrap:wrap;
5078  transition:max-height .3s ease, border-color .3s ease;
5079  border-top:1px solid transparent;
5080  border-bottom:1px solid transparent;
5081}
5082.size-strip.open{
5083  max-height:200px;
5084  border-top-color:rgba(0,0,0,.08);
5085  border-bottom-color:rgba(0,0,0,.08);
5086}
5087.size-item{
5088  flex:1 0 auto;
5089  min-width:38px;
5090  height:42px;
5091  display:flex;
5092  align-items:center;
5093  justify-content:center;
5094  font-size:13px;
5095  font-weight:500;
5096  color:#111 !important;
5097  cursor:pointer;
5098  user-select:none;
5099  background:transparent;
5100  transition:background .15s ease, color .15s ease;
5101  border-right:1px solid rgba(0,0,0,.08);
5102}
5103.size-item:last-child{ border-right:0; }
5104.size-item:hover:not(.disabled):not(.adding){
5105  background:#000 !important;
5106  color:#fff !important;
5107}
5108.size-item.disabled{
5109  color:#111 !important;
5110  text-decoration:line-through !important;
5111  opacity:.30 !important;
5112  cursor:not-allowed;
5113}
5114.size-item.adding{
5115  background:#2e7d32 !important;
5116  color:#fff !important;
5117  cursor:wait;
5118}
5119
5120/* ===== META ===== */
5121.lux-meta{
5122  padding:12px 6px 6px;
5123  background:transparent !important;
5124}
5125.lux-brand{
5126  font-size:16px;
5127  font-weight:600;
5128  color:#111;
5129  margin-bottom:2px;
5130}
5131.lux-title{
5132  font-size:14px;
5133  font-weight:400;
5134  line-height:1.45;
5135  color:#111;
5136  margin:0;
5137}
5138.lux-price{
5139  margin-top:10px;
5140  display:flex;
5141  gap:10px;
5142  align-items:baseline;
5143  background:transparent !important;
5144}
5145.lux-price .list-price{
5146  font-size:14px;
5147  font-weight:400;
5148  color:#111;
5149  text-decoration:line-through;
5150}
5151.lux-price .sale-price{
5152  font-size:16px;
5153  font-weight:600;
5154  color:#e10b0b;
5155}
5156
5157.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
5158.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
5159</style><div class="card-product"
5160     id="card-10258"
5161     data-lux-card-id="10258"
5162     data-lux-product-link="https://www.vezzalux.com/fendi-926-beyaz-yesil-erkek-ayakkabi"
5163     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/fendi-926-beyaz-yesil-erkek-ayakkabi" class="c-p-i-link" title="Fendi 926 Beyaz Yeşil Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c95a491d8-44320571-sw1200sh1200.webp" alt="Fendi 926 Beyaz Yeşil Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c95a491d8-44320571-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c958a71b8-42963895-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
5164        onclick="userProductFavourite('add', 10258)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
5165         id="lux-bag-10258"
5166         onclick="return luxBagClick(event, 10258);"
5167         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10258" style="display:none;"></div><div class="size-strip" id="size-strip-10258" data-loaded="0"></div><a href="https://www.vezzalux.com/fendi-926-beyaz-yesil-erkek-ayakkabi" class="c-p-i-link" title="Fendi 926 Beyaz Yeşil Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Fendi</div><div class="lux-title">Fendi 926 Beyaz Yeşil Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
5167<script>
5168(function(){
5169
5170  /* Bir kez kur */
5171  if(window.__luxCardInit) return;
5172  window.__luxCardInit = true;
5173
5174  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
5175  window.__luxVariantCache = window.__luxVariantCache || {};
5176
5177  function closeAll(){
5178    document.querySelectorAll('.size-strip.open').forEach(function(s){
5179      s.classList.remove('open');
5180    });
5181    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
5182      c.classList.remove('sizes-open');
5183    });
5184  }
5185
5186  function flashSuccess(productId){
5187    var bag = document.getElementById('lux-bag-' + productId);
5188    if(!bag) return;
5189    bag.classList.add('is-success');
5190    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
5191  }
5192
5193  /* Dış tıklama - kapat */
5194  document.addEventListener('click', function(e){
5195    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
5196    if(!inside) closeAll();
5197  });
5198
5199  document.addEventListener('keydown', function(e){
5200    if(e.key === 'Escape') closeAll();
5201  });
5202
5203
5204  /* ============================================
5205     MODAL KILLER - yedek güvence
5206     ============================================ */
5207  var LUX_MODAL_KILL_ACTIVE = false;
5208
5209  function killVisibleModals(){
5210    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
5211    modals.forEach(function(m){
5212      var id = (m.id || '').toLowerCase();
5213      var txt = (m.textContent || '').toLowerCase();
5214      var isCartModal = id.indexOf('cart') > -1
5215                     || id.indexOf('variant') > -1
5216                     || id.indexOf('fast') > -1
5217                     || id.indexOf('urun') > -1
5218                     || txt.indexOf('lütfen seçin') > -1;
5219
5220      if(isCartModal){
5221        if(typeof jQuery !== 'undefined'){
5222          try { jQuery(m).modal('hide'); } catch(e){}
5223        }
5224        m.classList.remove('show','in');
5225        m.style.display = 'none';
5226      }
5227    });
5228
5229    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
5230    document.body.classList.remove('modal-open');
5231    document.body.style.overflow = '';
5232    document.body.style.paddingRight = '';
5233  }
5234
5235  function startModalKill(durationMs){
5236    if(LUX_MODAL_KILL_ACTIVE) return;
5237    LUX_MODAL_KILL_ACTIVE = true;
5238    killVisibleModals();
5239    var interval = setInterval(killVisibleModals, 50);
5240    setTimeout(function(){
5241      clearInterval(interval);
5242      LUX_MODAL_KILL_ACTIVE = false;
5243    }, durationMs || 2000);
5244  }
5245
5246
5247  /* ============================================
5248     AJAX: Varyantları detay sayfasından çek
5249     ============================================
5250     Ürün detay sayfasının tam HTML'ini indir,
5251     DOMParser ile parse et, varyantları bul
5252     ============================================ */
5253  function fetchVariants(productId, productLink, callback){
5254
5255    /* Cache'te varsa hemen döndür */
5256    if(window.__luxVariantCache[productId]){
5257      callback(window.__luxVariantCache[productId]);
5258      return;
5259    }
5260
5261    fetch(productLink, {
5262      method: 'GET',
5263      credentials: 'same-origin',
5264      headers: { 'Accept': 'text/html' }
5265    })
5266    .then(function(r){ return r.text(); })
5267    .then(function(html){
5268      var parser = new DOMParser();
5269      var doc = parser.parseFromString(html, 'text/html');
5270
5271      /* Detay sayfasındaki .variant-box'ı bul */
5272      var variantBox = doc.querySelector('.variant-box');
5273      if(!variantBox){
5274        callback({ variants: [], error: 'no_variant_box' });
5275        return;
5276      }
5277
5278      /* Her varyant grubu için select'leri ve option'ları oku */
5279      var variants = [];
5280      var variantLis = variantBox.querySelectorAll('.variant');
5281
5282      variantLis.forEach(function(li, idx){
5283        var nameEl = li.querySelector('.name');
5284        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
5285
5286        var values = [];
5287
5288        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
5289        var optLinks = li.querySelectorAll('.options a');
5290
5291        if(optLinks.length > 0){
5292          optLinks.forEach(function(a){
5293            /* Beden/renk değerini doğru attribute'tan oku
5294               - data-variant-value: asıl değer (örn: "38", "KAHVE")
5295               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
5296               - textContent: fallback */
5297            var deger = a.getAttribute('data-variant-value')
5298                     || a.textContent.trim();
5299
5300            /* Stok kontrolü - birden fazla yoldan kontrol et */
5301            var isSoldOut = a.classList.contains('sold-out')
5302                         || a.classList.contains('sold_out')
5303                         || a.classList.contains('disabled')
5304                         || a.classList.contains('stoksuz')
5305                         || a.classList.contains('out-of-stock')
5306                         || a.hasAttribute('disabled')
5307                         || a.getAttribute('data-in-stock') === '0'
5308                         || a.getAttribute('data-in-stock') === 'false'
5309                         || a.getAttribute('data-stokta-var-mi') === '0'
5310                         || a.getAttribute('data-stokta-var-mi') === 'false';
5311
5312            values.push({
5313              deger: deger,
5314              inStock: !isSoldOut
5315            });
5316          });
5317        } else {
5318          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
5319          var select = li.querySelector('select');
5320          if(select){
5321            var opts = select.querySelectorAll('option');
5322            opts.forEach(function(o){
5323              if(!o.value) return;
5324              values.push({
5325                deger: o.value,
5326                inStock: !o.disabled
5327              });
5328            });
5329          }
5330        }
5331
5332        variants.push({
5333          index: idx,
5334          baslik: name,
5335          values: values
5336        });
5337      });
5338
5339      var result = { variants: variants };
5340      window.__luxVariantCache[productId] = result;
5341      callback(result);
5342    })
5343    .catch(function(err){
5344      console.error('Varyant çekme hatası:', err);
5345      callback({ variants: [], error: 'fetch_failed' });
5346    });
5347  }
5348
5349
5350  /* ============================================
5351     Beden şeridini ve gizli variant-box'ı oluştur
5352     ============================================ */
5353  function buildVariantUI(productId, data){
5354    var card = document.getElementById('card-' + productId);
5355    if(!card) return false;
5356
5357    var holder = card.querySelector('.lux-variant-box');
5358    var strip = document.getElementById('size-strip-' + productId);
5359    if(!holder || !strip) return false;
5360
5361    if(!data.variants || data.variants.length === 0){
5362      /* Varyant yok */
5363      return false;
5364    }
5365
5366    /* Çoklu değerli ilk varyantı bul (beden) */
5367    var displayVariant = null;
5368    data.variants.forEach(function(v){
5369      if(!displayVariant && v.values.length > 1){
5370        displayVariant = v;
5371      }
5372    });
5373
5374    /* Gizli variant-box HTML */
5375    var html = '<div class="variant-box"><ul>';
5376    data.variants.forEach(function(v){
5377      html += '<li class="variant">';
5378      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
5379
5380      if(v.values.length > 1){
5381        html += '<option value="">Lütfen seçin</option>';
5382      }
5383
5384      v.values.forEach(function(val, i){
5385        var selected = (v.values.length === 1) ? ' selected' : '';
5386        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
5387      });
5388
5389      html += '</select></li>';
5390    });
5391    html += '</ul></div>';
5392
5393    holder.innerHTML = html;
5394    holder.style.display = '';
5395
5396    /* Strip HTML (sadece çoklu değerli varyantlar için)
5397       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
5398    if(displayVariant){
5399      var stripHtml = '';
5400      var inStockCount = 0;
5401
5402      /* DEBUG - console'da gör */
5403      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
5404
5405      displayVariant.values.forEach(function(val){
5406        /* SADECE stokta olanları ekle */
5407        if(val.inStock === true){
5408          stripHtml += '<div class="size-item" '
5409                    + 'data-urun-id="' + productId + '" '
5410                    + 'data-varyant-deger="' + val.deger + '" '
5411                    + 'onclick="return luxAddVariant(event, this);">'
5412                    + val.deger + '</div>';
5413          inStockCount++;
5414        }
5415      });
5416
5417      /* Eğer stokta hiç beden yoksa şeridi gösterme */
5418      if(inStockCount === 0){
5419        strip.setAttribute('data-loaded', '1');
5420        strip.setAttribute('data-has-variants', '0');
5421        return false;
5422      }
5423
5424      strip.innerHTML = stripHtml;
5425      strip.setAttribute('data-loaded', '1');
5426      strip.setAttribute('data-has-variants', '1');
5427      return true;
5428    } else {
5429      strip.setAttribute('data-loaded', '1');
5430      strip.setAttribute('data-has-variants', '0');
5431      return false;
5432    }
5433  }
5434
5435
5436  /* ============================================
5437     SEPET IKONU TIKLAMASI
5438     ============================================ */
5439  window.luxBagClick = function(ev, productId){
5440    ev.preventDefault();
5441    ev.stopPropagation();
5442
5443    var card = document.getElementById('card-' + productId);
5444    var strip = document.getElementById('size-strip-' + productId);
5445    var bag = document.getElementById('lux-bag-' + productId);
5446    if(!card || !strip) return false;
5447
5448    /* Strip zaten yüklenmişse direkt davran */
5449    if(strip.getAttribute('data-loaded') === '1'){
5450      if(strip.getAttribute('data-has-variants') === '1'){
5451        toggleStrip(productId);
5452      } else {
5453        addToCartSmart(productId);
5454      }
5455      return false;
5456    }
5457
5458    /* İlk tıklama - AJAX ile varyantları çek */
5459    bag.classList.add('is-loading');
5460    var productLink = card.getAttribute('data-lux-product-link');
5461
5462    fetchVariants(productId, productLink, function(data){
5463      bag.classList.remove('is-loading');
5464
5465      var hasVariants = buildVariantUI(productId, data);
5466
5467      if(hasVariants){
5468        /* Bedenler var - şeridi aç */
5469        toggleStrip(productId);
5470      } else {
5471        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
5472        addToCartSmart(productId);
5473      }
5474    });
5475
5476    return false;
5477  };
5478
5479  function toggleStrip(productId){
5480    var strip = document.getElementById('size-strip-' + productId);
5481    var card = document.getElementById('card-' + productId);
5482    if(!strip) return;
5483
5484    document.querySelectorAll('.size-strip.open').forEach(function(s){
5485      if(s !== strip) s.classList.remove('open');
5486    });
5487    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
5488      if(c !== card) c.classList.remove('sizes-open');
5489    });
5490
5491    strip.classList.toggle('open');
5492    if(card) card.classList.toggle('sizes-open');
5493  }
5494
5495
5496  /* ============================================
5497     BEDEN TIKLAMASI
5498     ============================================ */
5499  window.luxAddVariant = function(ev, elem){
5500    ev.preventDefault();
5501    ev.stopPropagation();
5502
5503    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
5504
5505    var productId = elem.getAttribute('data-urun-id');
5506    var varyantDeger = elem.getAttribute('data-varyant-deger');
5507
5508    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
5509    if(!holder) return false;
5510
5511    /* Seçilen bedeni ilk select'e yaz */
5512    var firstSelect = holder.querySelector('select[data-variant="0"]');
5513    if(firstSelect){
5514      firstSelect.value = varyantDeger;
5515      if(typeof jQuery !== "undefined"){
5516        jQuery(firstSelect).val(varyantDeger).trigger('change');
5517      }
5518    }
5519
5520    /* Diğer select'lere ilk geçerli değeri koy */
5521    var allSelects = holder.querySelectorAll('select[data-variant]');
5522    allSelects.forEach(function(sel, idx){
5523      if(idx === 0) return;
5524      if(sel.value) return;
5525      var options = sel.querySelectorAll('option');
5526      for(var i = 0; i < options.length; i++){
5527        if(options[i].value){
5528          sel.value = options[i].value;
5529          if(typeof jQuery !== "undefined"){
5530            jQuery(sel).val(options[i].value).trigger('change');
5531          }
5532          break;
5533        }
5534      }
5535    });
5536
5537    /* Görsel feedback */
5538    elem.classList.add('adding');
5539    var originalText = elem.textContent;
5540    elem.textContent = '✓';
5541
5542    /* Sepete ekle */
5543    addToCartSmart(productId, {
5544      checkVariant: true,
5545      variantCount: allSelects.length,
5546      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
5547    });
5548
5549    setTimeout(function(){
5550      elem.textContent = originalText;
5551      elem.classList.remove('adding');
5552      closeAll();
5553    }, 800);
5554
5555    return false;
5556  };
5557
5558
5559  /* ============================================
5560     SEPETE EKLE - Modal killer ile
5561     ============================================ */
5562  function addToCartSmart(productId, extraOptions){
5563    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
5564
5565    var options = {
5566      quantity: 1,
5567      hideNativeModal: 'lux-card-' + productId
5568    };
5569
5570    if(extraOptions){
5571      Object.keys(extraOptions).forEach(function(k){
5572        options[k] = extraOptions[k];
5573      });
5574    } else if(holder){
5575      var selects = holder.querySelectorAll('select[data-variant]');
5576      if(selects.length > 0){
5577        options.checkVariant = true;
5578        options.variantCount = selects.length;
5579        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
5580      }
5581    }
5582
5583    startModalKill(2000);
5584
5585    if(typeof addCart === "function"){
5586      try {
5587        addCart(productId, 'card', options);
5588        flashSuccess(productId);
5589      } catch(err){
5590        console.error('Sepete ekleme hatası:', err);
5591      }
5592    }
5593  }
5594
5595})();
5596</script>
5596</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
5597                             data-lux-product-shell="1"
5598                             data-lux-page="1"><style>
5599@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
5600
5601/* ===== VEZZA LUX CARD ===== */
5602.card-product{
5603  font-family:'Poppins',sans-serif;
5604  background:#fff !important;
5605  position:relative;
5606}
5607.card-product-inner{
5608  background:transparent !important;
5609  position:relative;
5610}
5611.card-product .c-p-i-link,
5612.card-product a{
5613  background:transparent !important;
5614}
5615.card-product-inner > div{
5616  background:transparent !important;
5617}
5618.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
5619  background:transparent !important;
5620}
5621.card-product .card-product-content,
5622.card-product .price-group,
5623.card-product .prices{
5624  background:transparent !important;
5625}
5626[class*="skeleton"],
5627[class*="placeholder"],
5628[class*="loading"]{
5629  background:transparent !important;
5630}
5631
5632/* ===== IMAGE AREA - KARE GÖRSEL ===== */
5633.image-wrapper{
5634  position:relative;
5635  width:100%;
5636  aspect-ratio:1/1;
5637  overflow:hidden;
5638  background:#fff !important;
5639}
5640
5641.image{
5642  position:relative;
5643  width:100%;
5644  height:100%;
5645}
5646
5647.image-wrapper img{
5648  width:100% !important;
5649  height:100% !important;
5650  object-fit:cover !important;
5651  object-position:center center !important;
5652  display:block;
5653  transition:transform .35s ease;
5654}
5655
5656/* ===== DISCOUNT ===== */
5657.discount{
5658  position:absolute;
5659  top:12px;
5660  left:12px;
5661  width:28px;
5662  height:48px;
5663  background:#e10b0b;
5664  color:#fff;
5665  font-size:12px;
5666  font-weight:600;
5667  display:flex;
5668  align-items:center;
5669  justify-content:center;
5670  writing-mode:vertical-rl;
5671  transform:rotate(180deg);
5672  letter-spacing:.5px;
5673  z-index:7;
5674}
5675
5676/* ===== FAV ===== */
5677.lux-fav{
5678  position:absolute;
5679  top:12px;
5680  right:12px;
5681  z-index:7;
5682}
5683.lux-fav a,
5684.lux-fav button{
5685  background:transparent !important;
5686  border:0 !important;
5687  padding:0 !important;
5688  cursor:pointer;
5689  display:inline-flex;
5690  align-items:center;
5691  justify-content:center;
5692}
5693
5694/* ===== SEPET IKON ===== */
5695.lux-bag{
5696  position:absolute;
5697  bottom:12px;
5698  right:12px;
5699  z-index:7;
5700  width:34px;
5701  height:34px;
5702  display:inline-flex;
5703  align-items:center;
5704  justify-content:center;
5705  background:rgba(255,255,255,.92);
5706  border:1px solid rgba(0,0,0,.10);
5707  border-radius:10px;
5708  cursor:pointer;
5709  transition:.2s ease;
5710}
5711.lux-bag:hover{
5712  background:#fff;
5713  border-color:rgba(0,0,0,.25);
5714}
5715.lux-bag.is-loading{
5716  opacity:.6;
5717  cursor:wait;
5718}
5719.lux-bag.is-success{
5720  background:#2e7d32 !important;
5721  border-color:#2e7d32 !important;
5722  color:#fff !important;
5723}
5724.card-product.sizes-open .lux-bag{
5725  opacity:0;
5726  pointer-events:none;
5727}
5728
5729/* Loading spinner */
5730.lux-bag.is-loading i::before{
5731  content:"⏳";
5732}
5733
5734/* ===== SIZE STRIP ===== */
5735.size-strip{
5736  width:100%;
5737  max-height:0;
5738  overflow:hidden;
5739  background:#fff;
5740  display:flex;
5741  flex-wrap:wrap;
5742  transition:max-height .3s ease, border-color .3s ease;
5743  border-top:1px solid transparent;
5744  border-bottom:1px solid transparent;
5745}
5746.size-strip.open{
5747  max-height:200px;
5748  border-top-color:rgba(0,0,0,.08);
5749  border-bottom-color:rgba(0,0,0,.08);
5750}
5751.size-item{
5752  flex:1 0 auto;
5753  min-width:38px;
5754  height:42px;
5755  display:flex;
5756  align-items:center;
5757  justify-content:center;
5758  font-size:13px;
5759  font-weight:500;
5760  color:#111 !important;
5761  cursor:pointer;
5762  user-select:none;
5763  background:transparent;
5764  transition:background .15s ease, color .15s ease;
5765  border-right:1px solid rgba(0,0,0,.08);
5766}
5767.size-item:last-child{ border-right:0; }
5768.size-item:hover:not(.disabled):not(.adding){
5769  background:#000 !important;
5770  color:#fff !important;
5771}
5772.size-item.disabled{
5773  color:#111 !important;
5774  text-decoration:line-through !important;
5775  opacity:.30 !important;
5776  cursor:not-allowed;
5777}
5778.size-item.adding{
5779  background:#2e7d32 !important;
5780  color:#fff !important;
5781  cursor:wait;
5782}
5783
5784/* ===== META ===== */
5785.lux-meta{
5786  padding:12px 6px 6px;
5787  background:transparent !important;
5788}
5789.lux-brand{
5790  font-size:16px;
5791  font-weight:600;
5792  color:#111;
5793  margin-bottom:2px;
5794}
5795.lux-title{
5796  font-size:14px;
5797  font-weight:400;
5798  line-height:1.45;
5799  color:#111;
5800  margin:0;
5801}
5802.lux-price{
5803  margin-top:10px;
5804  display:flex;
5805  gap:10px;
5806  align-items:baseline;
5807  background:transparent !important;
5808}
5809.lux-price .list-price{
5810  font-size:14px;
5811  font-weight:400;
5812  color:#111;
5813  text-decoration:line-through;
5814}
5815.lux-price .sale-price{
5816  font-size:16px;
5817  font-weight:600;
5818  color:#e10b0b;
5819}
5820
5821.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
5822.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
5823</style><div class="card-product"
5824     id="card-9810"
5825     data-lux-card-id="9810"
5826     data-lux-product-link="https://www.vezzalux.com/gg-808-arkasi-gold-erkek-ayakkabi"
5827     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/gg-808-arkasi-gold-erkek-ayakkabi" class="c-p-i-link" title="Gg 808 Arkası Gold Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0bc7ed5afe-62670560-sw800sh800.webp" alt="Gg 808 Arkası Gold Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0bc7ed5afe-62670560-sw800sh800.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0bc803c6cd-20673716-sw800sh800.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
5828        onclick="userProductFavourite('add', 9810)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
5829         id="lux-bag-9810"
5830         onclick="return luxBagClick(event, 9810);"
5831         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="9810" style="display:none;"></div><div class="size-strip" id="size-strip-9810" data-loaded="0"></div><a href="https://www.vezzalux.com/gg-808-arkasi-gold-erkek-ayakkabi" class="c-p-i-link" title="Gg 808 Arkası Gold Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Golden Goose</div><div class="lux-title">Gg 808 Arkası Gold Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">10.499,00 TL</div></div></div></a></div></div>
5831<script>
5832(function(){
5833
5834  /* Bir kez kur */
5835  if(window.__luxCardInit) return;
5836  window.__luxCardInit = true;
5837
5838  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
5839  window.__luxVariantCache = window.__luxVariantCache || {};
5840
5841  function closeAll(){
5842    document.querySelectorAll('.size-strip.open').forEach(function(s){
5843      s.classList.remove('open');
5844    });
5845    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
5846      c.classList.remove('sizes-open');
5847    });
5848  }
5849
5850  function flashSuccess(productId){
5851    var bag = document.getElementById('lux-bag-' + productId);
5852    if(!bag) return;
5853    bag.classList.add('is-success');
5854    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
5855  }
5856
5857  /* Dış tıklama - kapat */
5858  document.addEventListener('click', function(e){
5859    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
5860    if(!inside) closeAll();
5861  });
5862
5863  document.addEventListener('keydown', function(e){
5864    if(e.key === 'Escape') closeAll();
5865  });
5866
5867
5868  /* ============================================
5869     MODAL KILLER - yedek güvence
5870     ============================================ */
5871  var LUX_MODAL_KILL_ACTIVE = false;
5872
5873  function killVisibleModals(){
5874    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
5875    modals.forEach(function(m){
5876      var id = (m.id || '').toLowerCase();
5877      var txt = (m.textContent || '').toLowerCase();
5878      var isCartModal = id.indexOf('cart') > -1
5879                     || id.indexOf('variant') > -1
5880                     || id.indexOf('fast') > -1
5881                     || id.indexOf('urun') > -1
5882                     || txt.indexOf('lütfen seçin') > -1;
5883
5884      if(isCartModal){
5885        if(typeof jQuery !== 'undefined'){
5886          try { jQuery(m).modal('hide'); } catch(e){}
5887        }
5888        m.classList.remove('show','in');
5889        m.style.display = 'none';
5890      }
5891    });
5892
5893    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
5894    document.body.classList.remove('modal-open');
5895    document.body.style.overflow = '';
5896    document.body.style.paddingRight = '';
5897  }
5898
5899  function startModalKill(durationMs){
5900    if(LUX_MODAL_KILL_ACTIVE) return;
5901    LUX_MODAL_KILL_ACTIVE = true;
5902    killVisibleModals();
5903    var interval = setInterval(killVisibleModals, 50);
5904    setTimeout(function(){
5905      clearInterval(interval);
5906      LUX_MODAL_KILL_ACTIVE = false;
5907    }, durationMs || 2000);
5908  }
5909
5910
5911  /* ============================================
5912     AJAX: Varyantları detay sayfasından çek
5913     ============================================
5914     Ürün detay sayfasının tam HTML'ini indir,
5915     DOMParser ile parse et, varyantları bul
5916     ============================================ */
5917  function fetchVariants(productId, productLink, callback){
5918
5919    /* Cache'te varsa hemen döndür */
5920    if(window.__luxVariantCache[productId]){
5921      callback(window.__luxVariantCache[productId]);
5922      return;
5923    }
5924
5925    fetch(productLink, {
5926      method: 'GET',
5927      credentials: 'same-origin',
5928      headers: { 'Accept': 'text/html' }
5929    })
5930    .then(function(r){ return r.text(); })
5931    .then(function(html){
5932      var parser = new DOMParser();
5933      var doc = parser.parseFromString(html, 'text/html');
5934
5935      /* Detay sayfasındaki .variant-box'ı bul */
5936      var variantBox = doc.querySelector('.variant-box');
5937      if(!variantBox){
5938        callback({ variants: [], error: 'no_variant_box' });
5939        return;
5940      }
5941
5942      /* Her varyant grubu için select'leri ve option'ları oku */
5943      var variants = [];
5944      var variantLis = variantBox.querySelectorAll('.variant');
5945
5946      variantLis.forEach(function(li, idx){
5947        var nameEl = li.querySelector('.name');
5948        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
5949
5950        var values = [];
5951
5952        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
5953        var optLinks = li.querySelectorAll('.options a');
5954
5955        if(optLinks.length > 0){
5956          optLinks.forEach(function(a){
5957            /* Beden/renk değerini doğru attribute'tan oku
5958               - data-variant-value: asıl değer (örn: "38", "KAHVE")
5959               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
5960               - textContent: fallback */
5961            var deger = a.getAttribute('data-variant-value')
5962                     || a.textContent.trim();
5963
5964            /* Stok kontrolü - birden fazla yoldan kontrol et */
5965            var isSoldOut = a.classList.contains('sold-out')
5966                         || a.classList.contains('sold_out')
5967                         || a.classList.contains('disabled')
5968                         || a.classList.contains('stoksuz')
5969                         || a.classList.contains('out-of-stock')
5970                         || a.hasAttribute('disabled')
5971                         || a.getAttribute('data-in-stock') === '0'
5972                         || a.getAttribute('data-in-stock') === 'false'
5973                         || a.getAttribute('data-stokta-var-mi') === '0'
5974                         || a.getAttribute('data-stokta-var-mi') === 'false';
5975
5976            values.push({
5977              deger: deger,
5978              inStock: !isSoldOut
5979            });
5980          });
5981        } else {
5982          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
5983          var select = li.querySelector('select');
5984          if(select){
5985            var opts = select.querySelectorAll('option');
5986            opts.forEach(function(o){
5987              if(!o.value) return;
5988              values.push({
5989                deger: o.value,
5990                inStock: !o.disabled
5991              });
5992            });
5993          }
5994        }
5995
5996        variants.push({
5997          index: idx,
5998          baslik: name,
5999          values: values
6000        });
6001      });
6002
6003      var result = { variants: variants };
6004      window.__luxVariantCache[productId] = result;
6005      callback(result);
6006    })
6007    .catch(function(err){
6008      console.error('Varyant çekme hatası:', err);
6009      callback({ variants: [], error: 'fetch_failed' });
6010    });
6011  }
6012
6013
6014  /* ============================================
6015     Beden şeridini ve gizli variant-box'ı oluştur
6016     ============================================ */
6017  function buildVariantUI(productId, data){
6018    var card = document.getElementById('card-' + productId);
6019    if(!card) return false;
6020
6021    var holder = card.querySelector('.lux-variant-box');
6022    var strip = document.getElementById('size-strip-' + productId);
6023    if(!holder || !strip) return false;
6024
6025    if(!data.variants || data.variants.length === 0){
6026      /* Varyant yok */
6027      return false;
6028    }
6029
6030    /* Çoklu değerli ilk varyantı bul (beden) */
6031    var displayVariant = null;
6032    data.variants.forEach(function(v){
6033      if(!displayVariant && v.values.length > 1){
6034        displayVariant = v;
6035      }
6036    });
6037
6038    /* Gizli variant-box HTML */
6039    var html = '<div class="variant-box"><ul>';
6040    data.variants.forEach(function(v){
6041      html += '<li class="variant">';
6042      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
6043
6044      if(v.values.length > 1){
6045        html += '<option value="">Lütfen seçin</option>';
6046      }
6047
6048      v.values.forEach(function(val, i){
6049        var selected = (v.values.length === 1) ? ' selected' : '';
6050        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
6051      });
6052
6053      html += '</select></li>';
6054    });
6055    html += '</ul></div>';
6056
6057    holder.innerHTML = html;
6058    holder.style.display = '';
6059
6060    /* Strip HTML (sadece çoklu değerli varyantlar için)
6061       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
6062    if(displayVariant){
6063      var stripHtml = '';
6064      var inStockCount = 0;
6065
6066      /* DEBUG - console'da gör */
6067      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
6068
6069      displayVariant.values.forEach(function(val){
6070        /* SADECE stokta olanları ekle */
6071        if(val.inStock === true){
6072          stripHtml += '<div class="size-item" '
6073                    + 'data-urun-id="' + productId + '" '
6074                    + 'data-varyant-deger="' + val.deger + '" '
6075                    + 'onclick="return luxAddVariant(event, this);">'
6076                    + val.deger + '</div>';
6077          inStockCount++;
6078        }
6079      });
6080
6081      /* Eğer stokta hiç beden yoksa şeridi gösterme */
6082      if(inStockCount === 0){
6083        strip.setAttribute('data-loaded', '1');
6084        strip.setAttribute('data-has-variants', '0');
6085        return false;
6086      }
6087
6088      strip.innerHTML = stripHtml;
6089      strip.setAttribute('data-loaded', '1');
6090      strip.setAttribute('data-has-variants', '1');
6091      return true;
6092    } else {
6093      strip.setAttribute('data-loaded', '1');
6094      strip.setAttribute('data-has-variants', '0');
6095      return false;
6096    }
6097  }
6098
6099
6100  /* ============================================
6101     SEPET IKONU TIKLAMASI
6102     ============================================ */
6103  window.luxBagClick = function(ev, productId){
6104    ev.preventDefault();
6105    ev.stopPropagation();
6106
6107    var card = document.getElementById('card-' + productId);
6108    var strip = document.getElementById('size-strip-' + productId);
6109    var bag = document.getElementById('lux-bag-' + productId);
6110    if(!card || !strip) return false;
6111
6112    /* Strip zaten yüklenmişse direkt davran */
6113    if(strip.getAttribute('data-loaded') === '1'){
6114      if(strip.getAttribute('data-has-variants') === '1'){
6115        toggleStrip(productId);
6116      } else {
6117        addToCartSmart(productId);
6118      }
6119      return false;
6120    }
6121
6122    /* İlk tıklama - AJAX ile varyantları çek */
6123    bag.classList.add('is-loading');
6124    var productLink = card.getAttribute('data-lux-product-link');
6125
6126    fetchVariants(productId, productLink, function(data){
6127      bag.classList.remove('is-loading');
6128
6129      var hasVariants = buildVariantUI(productId, data);
6130
6131      if(hasVariants){
6132        /* Bedenler var - şeridi aç */
6133        toggleStrip(productId);
6134      } else {
6135        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
6136        addToCartSmart(productId);
6137      }
6138    });
6139
6140    return false;
6141  };
6142
6143  function toggleStrip(productId){
6144    var strip = document.getElementById('size-strip-' + productId);
6145    var card = document.getElementById('card-' + productId);
6146    if(!strip) return;
6147
6148    document.querySelectorAll('.size-strip.open').forEach(function(s){
6149      if(s !== strip) s.classList.remove('open');
6150    });
6151    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
6152      if(c !== card) c.classList.remove('sizes-open');
6153    });
6154
6155    strip.classList.toggle('open');
6156    if(card) card.classList.toggle('sizes-open');
6157  }
6158
6159
6160  /* ============================================
6161     BEDEN TIKLAMASI
6162     ============================================ */
6163  window.luxAddVariant = function(ev, elem){
6164    ev.preventDefault();
6165    ev.stopPropagation();
6166
6167    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
6168
6169    var productId = elem.getAttribute('data-urun-id');
6170    var varyantDeger = elem.getAttribute('data-varyant-deger');
6171
6172    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
6173    if(!holder) return false;
6174
6175    /* Seçilen bedeni ilk select'e yaz */
6176    var firstSelect = holder.querySelector('select[data-variant="0"]');
6177    if(firstSelect){
6178      firstSelect.value = varyantDeger;
6179      if(typeof jQuery !== "undefined"){
6180        jQuery(firstSelect).val(varyantDeger).trigger('change');
6181      }
6182    }
6183
6184    /* Diğer select'lere ilk geçerli değeri koy */
6185    var allSelects = holder.querySelectorAll('select[data-variant]');
6186    allSelects.forEach(function(sel, idx){
6187      if(idx === 0) return;
6188      if(sel.value) return;
6189      var options = sel.querySelectorAll('option');
6190      for(var i = 0; i < options.length; i++){
6191        if(options[i].value){
6192          sel.value = options[i].value;
6193          if(typeof jQuery !== "undefined"){
6194            jQuery(sel).val(options[i].value).trigger('change');
6195          }
6196          break;
6197        }
6198      }
6199    });
6200
6201    /* Görsel feedback */
6202    elem.classList.add('adding');
6203    var originalText = elem.textContent;
6204    elem.textContent = '✓';
6205
6206    /* Sepete ekle */
6207    addToCartSmart(productId, {
6208      checkVariant: true,
6209      variantCount: allSelects.length,
6210      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
6211    });
6212
6213    setTimeout(function(){
6214      elem.textContent = originalText;
6215      elem.classList.remove('adding');
6216      closeAll();
6217    }, 800);
6218
6219    return false;
6220  };
6221
6222
6223  /* ============================================
6224     SEPETE EKLE - Modal killer ile
6225     ============================================ */
6226  function addToCartSmart(productId, extraOptions){
6227    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
6228
6229    var options = {
6230      quantity: 1,
6231      hideNativeModal: 'lux-card-' + productId
6232    };
6233
6234    if(extraOptions){
6235      Object.keys(extraOptions).forEach(function(k){
6236        options[k] = extraOptions[k];
6237      });
6238    } else if(holder){
6239      var selects = holder.querySelectorAll('select[data-variant]');
6240      if(selects.length > 0){
6241        options.checkVariant = true;
6242        options.variantCount = selects.length;
6243        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
6244      }
6245    }
6246
6247    startModalKill(2000);
6248
6249    if(typeof addCart === "function"){
6250      try {
6251        addCart(productId, 'card', options);
6252        flashSuccess(productId);
6253      } catch(err){
6254        console.error('Sepete ekleme hatası:', err);
6255      }
6256    }
6257  }
6258
6259})();
6260</script>
6260</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
6261                             data-lux-product-shell="1"
6262                             data-lux-page="1"><style>
6263@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
6264
6265/* ===== VEZZA LUX CARD ===== */
6266.card-product{
6267  font-family:'Poppins',sans-serif;
6268  background:#fff !important;
6269  position:relative;
6270}
6271.card-product-inner{
6272  background:transparent !important;
6273  position:relative;
6274}
6275.card-product .c-p-i-link,
6276.card-product a{
6277  background:transparent !important;
6278}
6279.card-product-inner > div{
6280  background:transparent !important;
6281}
6282.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
6283  background:transparent !important;
6284}
6285.card-product .card-product-content,
6286.card-product .price-group,
6287.card-product .prices{
6288  background:transparent !important;
6289}
6290[class*="skeleton"],
6291[class*="placeholder"],
6292[class*="loading"]{
6293  background:transparent !important;
6294}
6295
6296/* ===== IMAGE AREA - KARE GÖRSEL ===== */
6297.image-wrapper{
6298  position:relative;
6299  width:100%;
6300  aspect-ratio:1/1;
6301  overflow:hidden;
6302  background:#fff !important;
6303}
6304
6305.image{
6306  position:relative;
6307  width:100%;
6308  height:100%;
6309}
6310
6311.image-wrapper img{
6312  width:100% !important;
6313  height:100% !important;
6314  object-fit:cover !important;
6315  object-position:center center !important;
6316  display:block;
6317  transition:transform .35s ease;
6318}
6319
6320/* ===== DISCOUNT ===== */
6321.discount{
6322  position:absolute;
6323  top:12px;
6324  left:12px;
6325  width:28px;
6326  height:48px;
6327  background:#e10b0b;
6328  color:#fff;
6329  font-size:12px;
6330  font-weight:600;
6331  display:flex;
6332  align-items:center;
6333  justify-content:center;
6334  writing-mode:vertical-rl;
6335  transform:rotate(180deg);
6336  letter-spacing:.5px;
6337  z-index:7;
6338}
6339
6340/* ===== FAV ===== */
6341.lux-fav{
6342  position:absolute;
6343  top:12px;
6344  right:12px;
6345  z-index:7;
6346}
6347.lux-fav a,
6348.lux-fav button{
6349  background:transparent !important;
6350  border:0 !important;
6351  padding:0 !important;
6352  cursor:pointer;
6353  display:inline-flex;
6354  align-items:center;
6355  justify-content:center;
6356}
6357
6358/* ===== SEPET IKON ===== */
6359.lux-bag{
6360  position:absolute;
6361  bottom:12px;
6362  right:12px;
6363  z-index:7;
6364  width:34px;
6365  height:34px;
6366  display:inline-flex;
6367  align-items:center;
6368  justify-content:center;
6369  background:rgba(255,255,255,.92);
6370  border:1px solid rgba(0,0,0,.10);
6371  border-radius:10px;
6372  cursor:pointer;
6373  transition:.2s ease;
6374}
6375.lux-bag:hover{
6376  background:#fff;
6377  border-color:rgba(0,0,0,.25);
6378}
6379.lux-bag.is-loading{
6380  opacity:.6;
6381  cursor:wait;
6382}
6383.lux-bag.is-success{
6384  background:#2e7d32 !important;
6385  border-color:#2e7d32 !important;
6386  color:#fff !important;
6387}
6388.card-product.sizes-open .lux-bag{
6389  opacity:0;
6390  pointer-events:none;
6391}
6392
6393/* Loading spinner */
6394.lux-bag.is-loading i::before{
6395  content:"⏳";
6396}
6397
6398/* ===== SIZE STRIP ===== */
6399.size-strip{
6400  width:100%;
6401  max-height:0;
6402  overflow:hidden;
6403  background:#fff;
6404  display:flex;
6405  flex-wrap:wrap;
6406  transition:max-height .3s ease, border-color .3s ease;
6407  border-top:1px solid transparent;
6408  border-bottom:1px solid transparent;
6409}
6410.size-strip.open{
6411  max-height:200px;
6412  border-top-color:rgba(0,0,0,.08);
6413  border-bottom-color:rgba(0,0,0,.08);
6414}
6415.size-item{
6416  flex:1 0 auto;
6417  min-width:38px;
6418  height:42px;
6419  display:flex;
6420  align-items:center;
6421  justify-content:center;
6422  font-size:13px;
6423  font-weight:500;
6424  color:#111 !important;
6425  cursor:pointer;
6426  user-select:none;
6427  background:transparent;
6428  transition:background .15s ease, color .15s ease;
6429  border-right:1px solid rgba(0,0,0,.08);
6430}
6431.size-item:last-child{ border-right:0; }
6432.size-item:hover:not(.disabled):not(.adding){
6433  background:#000 !important;
6434  color:#fff !important;
6435}
6436.size-item.disabled{
6437  color:#111 !important;
6438  text-decoration:line-through !important;
6439  opacity:.30 !important;
6440  cursor:not-allowed;
6441}
6442.size-item.adding{
6443  background:#2e7d32 !important;
6444  color:#fff !important;
6445  cursor:wait;
6446}
6447
6448/* ===== META ===== */
6449.lux-meta{
6450  padding:12px 6px 6px;
6451  background:transparent !important;
6452}
6453.lux-brand{
6454  font-size:16px;
6455  font-weight:600;
6456  color:#111;
6457  margin-bottom:2px;
6458}
6459.lux-title{
6460  font-size:14px;
6461  font-weight:400;
6462  line-height:1.45;
6463  color:#111;
6464  margin:0;
6465}
6466.lux-price{
6467  margin-top:10px;
6468  display:flex;
6469  gap:10px;
6470  align-items:baseline;
6471  background:transparent !important;
6472}
6473.lux-price .list-price{
6474  font-size:14px;
6475  font-weight:400;
6476  color:#111;
6477  text-decoration:line-through;
6478}
6479.lux-price .sale-price{
6480  font-size:16px;
6481  font-weight:600;
6482  color:#e10b0b;
6483}
6484
6485.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
6486.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
6487</style><div class="card-product"
6488     id="card-10319"
6489     data-lux-card-id="10319"
6490     data-lux-product-link="https://www.vezzalux.com/fendi-997-full-siyah-suet-tabani-gri-erkek-ayakkabi"
6491     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/fendi-997-full-siyah-suet-tabani-gri-erkek-ayakkabi" class="c-p-i-link" title="Fendi 997 Full Siyah Suet Tabanı Gri Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cad7a2224-9388190-sw1200sh1200.webp" alt="Fendi 997 Full Siyah Suet Tabanı Gri Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cad7a2224-9388190-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cad908db9-52984097-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
6492        onclick="userProductFavourite('add', 10319)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
6493         id="lux-bag-10319"
6494         onclick="return luxBagClick(event, 10319);"
6495         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10319" style="display:none;"></div><div class="size-strip" id="size-strip-10319" data-loaded="0"></div><a href="https://www.vezzalux.com/fendi-997-full-siyah-suet-tabani-gri-erkek-ayakkabi" class="c-p-i-link" title="Fendi 997 Full Siyah Suet Tabanı Gri Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Fendi</div><div class="lux-title">Fendi 997 Full Siyah Suet Tabanı Gri Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
6495<script>
6496(function(){
6497
6498  /* Bir kez kur */
6499  if(window.__luxCardInit) return;
6500  window.__luxCardInit = true;
6501
6502  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
6503  window.__luxVariantCache = window.__luxVariantCache || {};
6504
6505  function closeAll(){
6506    document.querySelectorAll('.size-strip.open').forEach(function(s){
6507      s.classList.remove('open');
6508    });
6509    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
6510      c.classList.remove('sizes-open');
6511    });
6512  }
6513
6514  function flashSuccess(productId){
6515    var bag = document.getElementById('lux-bag-' + productId);
6516    if(!bag) return;
6517    bag.classList.add('is-success');
6518    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
6519  }
6520
6521  /* Dış tıklama - kapat */
6522  document.addEventListener('click', function(e){
6523    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
6524    if(!inside) closeAll();
6525  });
6526
6527  document.addEventListener('keydown', function(e){
6528    if(e.key === 'Escape') closeAll();
6529  });
6530
6531
6532  /* ============================================
6533     MODAL KILLER - yedek güvence
6534     ============================================ */
6535  var LUX_MODAL_KILL_ACTIVE = false;
6536
6537  function killVisibleModals(){
6538    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
6539    modals.forEach(function(m){
6540      var id = (m.id || '').toLowerCase();
6541      var txt = (m.textContent || '').toLowerCase();
6542      var isCartModal = id.indexOf('cart') > -1
6543                     || id.indexOf('variant') > -1
6544                     || id.indexOf('fast') > -1
6545                     || id.indexOf('urun') > -1
6546                     || txt.indexOf('lütfen seçin') > -1;
6547
6548      if(isCartModal){
6549        if(typeof jQuery !== 'undefined'){
6550          try { jQuery(m).modal('hide'); } catch(e){}
6551        }
6552        m.classList.remove('show','in');
6553        m.style.display = 'none';
6554      }
6555    });
6556
6557    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
6558    document.body.classList.remove('modal-open');
6559    document.body.style.overflow = '';
6560    document.body.style.paddingRight = '';
6561  }
6562
6563  function startModalKill(durationMs){
6564    if(LUX_MODAL_KILL_ACTIVE) return;
6565    LUX_MODAL_KILL_ACTIVE = true;
6566    killVisibleModals();
6567    var interval = setInterval(killVisibleModals, 50);
6568    setTimeout(function(){
6569      clearInterval(interval);
6570      LUX_MODAL_KILL_ACTIVE = false;
6571    }, durationMs || 2000);
6572  }
6573
6574
6575  /* ============================================
6576     AJAX: Varyantları detay sayfasından çek
6577     ============================================
6578     Ürün detay sayfasının tam HTML'ini indir,
6579     DOMParser ile parse et, varyantları bul
6580     ============================================ */
6581  function fetchVariants(productId, productLink, callback){
6582
6583    /* Cache'te varsa hemen döndür */
6584    if(window.__luxVariantCache[productId]){
6585      callback(window.__luxVariantCache[productId]);
6586      return;
6587    }
6588
6589    fetch(productLink, {
6590      method: 'GET',
6591      credentials: 'same-origin',
6592      headers: { 'Accept': 'text/html' }
6593    })
6594    .then(function(r){ return r.text(); })
6595    .then(function(html){
6596      var parser = new DOMParser();
6597      var doc = parser.parseFromString(html, 'text/html');
6598
6599      /* Detay sayfasındaki .variant-box'ı bul */
6600      var variantBox = doc.querySelector('.variant-box');
6601      if(!variantBox){
6602        callback({ variants: [], error: 'no_variant_box' });
6603        return;
6604      }
6605
6606      /* Her varyant grubu için select'leri ve option'ları oku */
6607      var variants = [];
6608      var variantLis = variantBox.querySelectorAll('.variant');
6609
6610      variantLis.forEach(function(li, idx){
6611        var nameEl = li.querySelector('.name');
6612        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
6613
6614        var values = [];
6615
6616        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
6617        var optLinks = li.querySelectorAll('.options a');
6618
6619        if(optLinks.length > 0){
6620          optLinks.forEach(function(a){
6621            /* Beden/renk değerini doğru attribute'tan oku
6622               - data-variant-value: asıl değer (örn: "38", "KAHVE")
6623               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
6624               - textContent: fallback */
6625            var deger = a.getAttribute('data-variant-value')
6626                     || a.textContent.trim();
6627
6628            /* Stok kontrolü - birden fazla yoldan kontrol et */
6629            var isSoldOut = a.classList.contains('sold-out')
6630                         || a.classList.contains('sold_out')
6631                         || a.classList.contains('disabled')
6632                         || a.classList.contains('stoksuz')
6633                         || a.classList.contains('out-of-stock')
6634                         || a.hasAttribute('disabled')
6635                         || a.getAttribute('data-in-stock') === '0'
6636                         || a.getAttribute('data-in-stock') === 'false'
6637                         || a.getAttribute('data-stokta-var-mi') === '0'
6638                         || a.getAttribute('data-stokta-var-mi') === 'false';
6639
6640            values.push({
6641              deger: deger,
6642              inStock: !isSoldOut
6643            });
6644          });
6645        } else {
6646          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
6647          var select = li.querySelector('select');
6648          if(select){
6649            var opts = select.querySelectorAll('option');
6650            opts.forEach(function(o){
6651              if(!o.value) return;
6652              values.push({
6653                deger: o.value,
6654                inStock: !o.disabled
6655              });
6656            });
6657          }
6658        }
6659
6660        variants.push({
6661          index: idx,
6662          baslik: name,
6663          values: values
6664        });
6665      });
6666
6667      var result = { variants: variants };
6668      window.__luxVariantCache[productId] = result;
6669      callback(result);
6670    })
6671    .catch(function(err){
6672      console.error('Varyant çekme hatası:', err);
6673      callback({ variants: [], error: 'fetch_failed' });
6674    });
6675  }
6676
6677
6678  /* ============================================
6679     Beden şeridini ve gizli variant-box'ı oluştur
6680     ============================================ */
6681  function buildVariantUI(productId, data){
6682    var card = document.getElementById('card-' + productId);
6683    if(!card) return false;
6684
6685    var holder = card.querySelector('.lux-variant-box');
6686    var strip = document.getElementById('size-strip-' + productId);
6687    if(!holder || !strip) return false;
6688
6689    if(!data.variants || data.variants.length === 0){
6690      /* Varyant yok */
6691      return false;
6692    }
6693
6694    /* Çoklu değerli ilk varyantı bul (beden) */
6695    var displayVariant = null;
6696    data.variants.forEach(function(v){
6697      if(!displayVariant && v.values.length > 1){
6698        displayVariant = v;
6699      }
6700    });
6701
6702    /* Gizli variant-box HTML */
6703    var html = '<div class="variant-box"><ul>';
6704    data.variants.forEach(function(v){
6705      html += '<li class="variant">';
6706      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
6707
6708      if(v.values.length > 1){
6709        html += '<option value="">Lütfen seçin</option>';
6710      }
6711
6712      v.values.forEach(function(val, i){
6713        var selected = (v.values.length === 1) ? ' selected' : '';
6714        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
6715      });
6716
6717      html += '</select></li>';
6718    });
6719    html += '</ul></div>';
6720
6721    holder.innerHTML = html;
6722    holder.style.display = '';
6723
6724    /* Strip HTML (sadece çoklu değerli varyantlar için)
6725       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
6726    if(displayVariant){
6727      var stripHtml = '';
6728      var inStockCount = 0;
6729
6730      /* DEBUG - console'da gör */
6731      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
6732
6733      displayVariant.values.forEach(function(val){
6734        /* SADECE stokta olanları ekle */
6735        if(val.inStock === true){
6736          stripHtml += '<div class="size-item" '
6737                    + 'data-urun-id="' + productId + '" '
6738                    + 'data-varyant-deger="' + val.deger + '" '
6739                    + 'onclick="return luxAddVariant(event, this);">'
6740                    + val.deger + '</div>';
6741          inStockCount++;
6742        }
6743      });
6744
6745      /* Eğer stokta hiç beden yoksa şeridi gösterme */
6746      if(inStockCount === 0){
6747        strip.setAttribute('data-loaded', '1');
6748        strip.setAttribute('data-has-variants', '0');
6749        return false;
6750      }
6751
6752      strip.innerHTML = stripHtml;
6753      strip.setAttribute('data-loaded', '1');
6754      strip.setAttribute('data-has-variants', '1');
6755      return true;
6756    } else {
6757      strip.setAttribute('data-loaded', '1');
6758      strip.setAttribute('data-has-variants', '0');
6759      return false;
6760    }
6761  }
6762
6763
6764  /* ============================================
6765     SEPET IKONU TIKLAMASI
6766     ============================================ */
6767  window.luxBagClick = function(ev, productId){
6768    ev.preventDefault();
6769    ev.stopPropagation();
6770
6771    var card = document.getElementById('card-' + productId);
6772    var strip = document.getElementById('size-strip-' + productId);
6773    var bag = document.getElementById('lux-bag-' + productId);
6774    if(!card || !strip) return false;
6775
6776    /* Strip zaten yüklenmişse direkt davran */
6777    if(strip.getAttribute('data-loaded') === '1'){
6778      if(strip.getAttribute('data-has-variants') === '1'){
6779        toggleStrip(productId);
6780      } else {
6781        addToCartSmart(productId);
6782      }
6783      return false;
6784    }
6785
6786    /* İlk tıklama - AJAX ile varyantları çek */
6787    bag.classList.add('is-loading');
6788    var productLink = card.getAttribute('data-lux-product-link');
6789
6790    fetchVariants(productId, productLink, function(data){
6791      bag.classList.remove('is-loading');
6792
6793      var hasVariants = buildVariantUI(productId, data);
6794
6795      if(hasVariants){
6796        /* Bedenler var - şeridi aç */
6797        toggleStrip(productId);
6798      } else {
6799        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
6800        addToCartSmart(productId);
6801      }
6802    });
6803
6804    return false;
6805  };
6806
6807  function toggleStrip(productId){
6808    var strip = document.getElementById('size-strip-' + productId);
6809    var card = document.getElementById('card-' + productId);
6810    if(!strip) return;
6811
6812    document.querySelectorAll('.size-strip.open').forEach(function(s){
6813      if(s !== strip) s.classList.remove('open');
6814    });
6815    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
6816      if(c !== card) c.classList.remove('sizes-open');
6817    });
6818
6819    strip.classList.toggle('open');
6820    if(card) card.classList.toggle('sizes-open');
6821  }
6822
6823
6824  /* ============================================
6825     BEDEN TIKLAMASI
6826     ============================================ */
6827  window.luxAddVariant = function(ev, elem){
6828    ev.preventDefault();
6829    ev.stopPropagation();
6830
6831    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
6832
6833    var productId = elem.getAttribute('data-urun-id');
6834    var varyantDeger = elem.getAttribute('data-varyant-deger');
6835
6836    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
6837    if(!holder) return false;
6838
6839    /* Seçilen bedeni ilk select'e yaz */
6840    var firstSelect = holder.querySelector('select[data-variant="0"]');
6841    if(firstSelect){
6842      firstSelect.value = varyantDeger;
6843      if(typeof jQuery !== "undefined"){
6844        jQuery(firstSelect).val(varyantDeger).trigger('change');
6845      }
6846    }
6847
6848    /* Diğer select'lere ilk geçerli değeri koy */
6849    var allSelects = holder.querySelectorAll('select[data-variant]');
6850    allSelects.forEach(function(sel, idx){
6851      if(idx === 0) return;
6852      if(sel.value) return;
6853      var options = sel.querySelectorAll('option');
6854      for(var i = 0; i < options.length; i++){
6855        if(options[i].value){
6856          sel.value = options[i].value;
6857          if(typeof jQuery !== "undefined"){
6858            jQuery(sel).val(options[i].value).trigger('change');
6859          }
6860          break;
6861        }
6862      }
6863    });
6864
6865    /* Görsel feedback */
6866    elem.classList.add('adding');
6867    var originalText = elem.textContent;
6868    elem.textContent = '✓';
6869
6870    /* Sepete ekle */
6871    addToCartSmart(productId, {
6872      checkVariant: true,
6873      variantCount: allSelects.length,
6874      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
6875    });
6876
6877    setTimeout(function(){
6878      elem.textContent = originalText;
6879      elem.classList.remove('adding');
6880      closeAll();
6881    }, 800);
6882
6883    return false;
6884  };
6885
6886
6887  /* ============================================
6888     SEPETE EKLE - Modal killer ile
6889     ============================================ */
6890  function addToCartSmart(productId, extraOptions){
6891    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
6892
6893    var options = {
6894      quantity: 1,
6895      hideNativeModal: 'lux-card-' + productId
6896    };
6897
6898    if(extraOptions){
6899      Object.keys(extraOptions).forEach(function(k){
6900        options[k] = extraOptions[k];
6901      });
6902    } else if(holder){
6903      var selects = holder.querySelectorAll('select[data-variant]');
6904      if(selects.length > 0){
6905        options.checkVariant = true;
6906        options.variantCount = selects.length;
6907        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
6908      }
6909    }
6910
6911    startModalKill(2000);
6912
6913    if(typeof addCart === "function"){
6914      try {
6915        addCart(productId, 'card', options);
6916        flashSuccess(productId);
6917      } catch(err){
6918        console.error('Sepete ekleme hatası:', err);
6919      }
6920    }
6921  }
6922
6923})();
6924</script>
6924</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
6925                             data-lux-product-shell="1"
6926                             data-lux-page="1"><style>
6927@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
6928
6929/* ===== VEZZA LUX CARD ===== */
6930.card-product{
6931  font-family:'Poppins',sans-serif;
6932  background:#fff !important;
6933  position:relative;
6934}
6935.card-product-inner{
6936  background:transparent !important;
6937  position:relative;
6938}
6939.card-product .c-p-i-link,
6940.card-product a{
6941  background:transparent !important;
6942}
6943.card-product-inner > div{
6944  background:transparent !important;
6945}
6946.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
6947  background:transparent !important;
6948}
6949.card-product .card-product-content,
6950.card-product .price-group,
6951.card-product .prices{
6952  background:transparent !important;
6953}
6954[class*="skeleton"],
6955[class*="placeholder"],
6956[class*="loading"]{
6957  background:transparent !important;
6958}
6959
6960/* ===== IMAGE AREA - KARE GÖRSEL ===== */
6961.image-wrapper{
6962  position:relative;
6963  width:100%;
6964  aspect-ratio:1/1;
6965  overflow:hidden;
6966  background:#fff !important;
6967}
6968
6969.image{
6970  position:relative;
6971  width:100%;
6972  height:100%;
6973}
6974
6975.image-wrapper img{
6976  width:100% !important;
6977  height:100% !important;
6978  object-fit:cover !important;
6979  object-position:center center !important;
6980  display:block;
6981  transition:transform .35s ease;
6982}
6983
6984/* ===== DISCOUNT ===== */
6985.discount{
6986  position:absolute;
6987  top:12px;
6988  left:12px;
6989  width:28px;
6990  height:48px;
6991  background:#e10b0b;
6992  color:#fff;
6993  font-size:12px;
6994  font-weight:600;
6995  display:flex;
6996  align-items:center;
6997  justify-content:center;
6998  writing-mode:vertical-rl;
6999  transform:rotate(180deg);
7000  letter-spacing:.5px;
7001  z-index:7;
7002}
7003
7004/* ===== FAV ===== */
7005.lux-fav{
7006  position:absolute;
7007  top:12px;
7008  right:12px;
7009  z-index:7;
7010}
7011.lux-fav a,
7012.lux-fav button{
7013  background:transparent !important;
7014  border:0 !important;
7015  padding:0 !important;
7016  cursor:pointer;
7017  display:inline-flex;
7018  align-items:center;
7019  justify-content:center;
7020}
7021
7022/* ===== SEPET IKON ===== */
7023.lux-bag{
7024  position:absolute;
7025  bottom:12px;
7026  right:12px;
7027  z-index:7;
7028  width:34px;
7029  height:34px;
7030  display:inline-flex;
7031  align-items:center;
7032  justify-content:center;
7033  background:rgba(255,255,255,.92);
7034  border:1px solid rgba(0,0,0,.10);
7035  border-radius:10px;
7036  cursor:pointer;
7037  transition:.2s ease;
7038}
7039.lux-bag:hover{
7040  background:#fff;
7041  border-color:rgba(0,0,0,.25);
7042}
7043.lux-bag.is-loading{
7044  opacity:.6;
7045  cursor:wait;
7046}
7047.lux-bag.is-success{
7048  background:#2e7d32 !important;
7049  border-color:#2e7d32 !important;
7050  color:#fff !important;
7051}
7052.card-product.sizes-open .lux-bag{
7053  opacity:0;
7054  pointer-events:none;
7055}
7056
7057/* Loading spinner */
7058.lux-bag.is-loading i::before{
7059  content:"⏳";
7060}
7061
7062/* ===== SIZE STRIP ===== */
7063.size-strip{
7064  width:100%;
7065  max-height:0;
7066  overflow:hidden;
7067  background:#fff;
7068  display:flex;
7069  flex-wrap:wrap;
7070  transition:max-height .3s ease, border-color .3s ease;
7071  border-top:1px solid transparent;
7072  border-bottom:1px solid transparent;
7073}
7074.size-strip.open{
7075  max-height:200px;
7076  border-top-color:rgba(0,0,0,.08);
7077  border-bottom-color:rgba(0,0,0,.08);
7078}
7079.size-item{
7080  flex:1 0 auto;
7081  min-width:38px;
7082  height:42px;
7083  display:flex;
7084  align-items:center;
7085  justify-content:center;
7086  font-size:13px;
7087  font-weight:500;
7088  color:#111 !important;
7089  cursor:pointer;
7090  user-select:none;
7091  background:transparent;
7092  transition:background .15s ease, color .15s ease;
7093  border-right:1px solid rgba(0,0,0,.08);
7094}
7095.size-item:last-child{ border-right:0; }
7096.size-item:hover:not(.disabled):not(.adding){
7097  background:#000 !important;
7098  color:#fff !important;
7099}
7100.size-item.disabled{
7101  color:#111 !important;
7102  text-decoration:line-through !important;
7103  opacity:.30 !important;
7104  cursor:not-allowed;
7105}
7106.size-item.adding{
7107  background:#2e7d32 !important;
7108  color:#fff !important;
7109  cursor:wait;
7110}
7111
7112/* ===== META ===== */
7113.lux-meta{
7114  padding:12px 6px 6px;
7115  background:transparent !important;
7116}
7117.lux-brand{
7118  font-size:16px;
7119  font-weight:600;
7120  color:#111;
7121  margin-bottom:2px;
7122}
7123.lux-title{
7124  font-size:14px;
7125  font-weight:400;
7126  line-height:1.45;
7127  color:#111;
7128  margin:0;
7129}
7130.lux-price{
7131  margin-top:10px;
7132  display:flex;
7133  gap:10px;
7134  align-items:baseline;
7135  background:transparent !important;
7136}
7137.lux-price .list-price{
7138  font-size:14px;
7139  font-weight:400;
7140  color:#111;
7141  text-decoration:line-through;
7142}
7143.lux-price .sale-price{
7144  font-size:16px;
7145  font-weight:600;
7146  color:#e10b0b;
7147}
7148
7149.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
7150.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
7151</style><div class="card-product"
7152     id="card-10214"
7153     data-lux-card-id="10214"
7154     data-lux-product-link="https://www.vezzalux.com/lv-871-siyah-erkek-ayakkabi"
7155     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/lv-871-siyah-erkek-ayakkabi" class="c-p-i-link" title="Lv 871 Siyah Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c83a80db5-20205145-sw1200sh1200.webp" alt="Lv 871 Siyah Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c83a80db5-20205145-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c83c7237d-17031374-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
7156        onclick="userProductFavourite('add', 10214)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
7157         id="lux-bag-10214"
7158         onclick="return luxBagClick(event, 10214);"
7159         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10214" style="display:none;"></div><div class="size-strip" id="size-strip-10214" data-loaded="0"></div><a href="https://www.vezzalux.com/lv-871-siyah-erkek-ayakkabi" class="c-p-i-link" title="Lv 871 Siyah Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Louis Vuitton</div><div class="lux-title">Lv 871 Siyah Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
7159<script>
7160(function(){
7161
7162  /* Bir kez kur */
7163  if(window.__luxCardInit) return;
7164  window.__luxCardInit = true;
7165
7166  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
7167  window.__luxVariantCache = window.__luxVariantCache || {};
7168
7169  function closeAll(){
7170    document.querySelectorAll('.size-strip.open').forEach(function(s){
7171      s.classList.remove('open');
7172    });
7173    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
7174      c.classList.remove('sizes-open');
7175    });
7176  }
7177
7178  function flashSuccess(productId){
7179    var bag = document.getElementById('lux-bag-' + productId);
7180    if(!bag) return;
7181    bag.classList.add('is-success');
7182    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
7183  }
7184
7185  /* Dış tıklama - kapat */
7186  document.addEventListener('click', function(e){
7187    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
7188    if(!inside) closeAll();
7189  });
7190
7191  document.addEventListener('keydown', function(e){
7192    if(e.key === 'Escape') closeAll();
7193  });
7194
7195
7196  /* ============================================
7197     MODAL KILLER - yedek güvence
7198     ============================================ */
7199  var LUX_MODAL_KILL_ACTIVE = false;
7200
7201  function killVisibleModals(){
7202    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
7203    modals.forEach(function(m){
7204      var id = (m.id || '').toLowerCase();
7205      var txt = (m.textContent || '').toLowerCase();
7206      var isCartModal = id.indexOf('cart') > -1
7207                     || id.indexOf('variant') > -1
7208                     || id.indexOf('fast') > -1
7209                     || id.indexOf('urun') > -1
7210                     || txt.indexOf('lütfen seçin') > -1;
7211
7212      if(isCartModal){
7213        if(typeof jQuery !== 'undefined'){
7214          try { jQuery(m).modal('hide'); } catch(e){}
7215        }
7216        m.classList.remove('show','in');
7217        m.style.display = 'none';
7218      }
7219    });
7220
7221    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
7222    document.body.classList.remove('modal-open');
7223    document.body.style.overflow = '';
7224    document.body.style.paddingRight = '';
7225  }
7226
7227  function startModalKill(durationMs){
7228    if(LUX_MODAL_KILL_ACTIVE) return;
7229    LUX_MODAL_KILL_ACTIVE = true;
7230    killVisibleModals();
7231    var interval = setInterval(killVisibleModals, 50);
7232    setTimeout(function(){
7233      clearInterval(interval);
7234      LUX_MODAL_KILL_ACTIVE = false;
7235    }, durationMs || 2000);
7236  }
7237
7238
7239  /* ============================================
7240     AJAX: Varyantları detay sayfasından çek
7241     ============================================
7242     Ürün detay sayfasının tam HTML'ini indir,
7243     DOMParser ile parse et, varyantları bul
7244     ============================================ */
7245  function fetchVariants(productId, productLink, callback){
7246
7247    /* Cache'te varsa hemen döndür */
7248    if(window.__luxVariantCache[productId]){
7249      callback(window.__luxVariantCache[productId]);
7250      return;
7251    }
7252
7253    fetch(productLink, {
7254      method: 'GET',
7255      credentials: 'same-origin',
7256      headers: { 'Accept': 'text/html' }
7257    })
7258    .then(function(r){ return r.text(); })
7259    .then(function(html){
7260      var parser = new DOMParser();
7261      var doc = parser.parseFromString(html, 'text/html');
7262
7263      /* Detay sayfasındaki .variant-box'ı bul */
7264      var variantBox = doc.querySelector('.variant-box');
7265      if(!variantBox){
7266        callback({ variants: [], error: 'no_variant_box' });
7267        return;
7268      }
7269
7270      /* Her varyant grubu için select'leri ve option'ları oku */
7271      var variants = [];
7272      var variantLis = variantBox.querySelectorAll('.variant');
7273
7274      variantLis.forEach(function(li, idx){
7275        var nameEl = li.querySelector('.name');
7276        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
7277
7278        var values = [];
7279
7280        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
7281        var optLinks = li.querySelectorAll('.options a');
7282
7283        if(optLinks.length > 0){
7284          optLinks.forEach(function(a){
7285            /* Beden/renk değerini doğru attribute'tan oku
7286               - data-variant-value: asıl değer (örn: "38", "KAHVE")
7287               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
7288               - textContent: fallback */
7289            var deger = a.getAttribute('data-variant-value')
7290                     || a.textContent.trim();
7291
7292            /* Stok kontrolü - birden fazla yoldan kontrol et */
7293            var isSoldOut = a.classList.contains('sold-out')
7294                         || a.classList.contains('sold_out')
7295                         || a.classList.contains('disabled')
7296                         || a.classList.contains('stoksuz')
7297                         || a.classList.contains('out-of-stock')
7298                         || a.hasAttribute('disabled')
7299                         || a.getAttribute('data-in-stock') === '0'
7300                         || a.getAttribute('data-in-stock') === 'false'
7301                         || a.getAttribute('data-stokta-var-mi') === '0'
7302                         || a.getAttribute('data-stokta-var-mi') === 'false';
7303
7304            values.push({
7305              deger: deger,
7306              inStock: !isSoldOut
7307            });
7308          });
7309        } else {
7310          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
7311          var select = li.querySelector('select');
7312          if(select){
7313            var opts = select.querySelectorAll('option');
7314            opts.forEach(function(o){
7315              if(!o.value) return;
7316              values.push({
7317                deger: o.value,
7318                inStock: !o.disabled
7319              });
7320            });
7321          }
7322        }
7323
7324        variants.push({
7325          index: idx,
7326          baslik: name,
7327          values: values
7328        });
7329      });
7330
7331      var result = { variants: variants };
7332      window.__luxVariantCache[productId] = result;
7333      callback(result);
7334    })
7335    .catch(function(err){
7336      console.error('Varyant çekme hatası:', err);
7337      callback({ variants: [], error: 'fetch_failed' });
7338    });
7339  }
7340
7341
7342  /* ============================================
7343     Beden şeridini ve gizli variant-box'ı oluştur
7344     ============================================ */
7345  function buildVariantUI(productId, data){
7346    var card = document.getElementById('card-' + productId);
7347    if(!card) return false;
7348
7349    var holder = card.querySelector('.lux-variant-box');
7350    var strip = document.getElementById('size-strip-' + productId);
7351    if(!holder || !strip) return false;
7352
7353    if(!data.variants || data.variants.length === 0){
7354      /* Varyant yok */
7355      return false;
7356    }
7357
7358    /* Çoklu değerli ilk varyantı bul (beden) */
7359    var displayVariant = null;
7360    data.variants.forEach(function(v){
7361      if(!displayVariant && v.values.length > 1){
7362        displayVariant = v;
7363      }
7364    });
7365
7366    /* Gizli variant-box HTML */
7367    var html = '<div class="variant-box"><ul>';
7368    data.variants.forEach(function(v){
7369      html += '<li class="variant">';
7370      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
7371
7372      if(v.values.length > 1){
7373        html += '<option value="">Lütfen seçin</option>';
7374      }
7375
7376      v.values.forEach(function(val, i){
7377        var selected = (v.values.length === 1) ? ' selected' : '';
7378        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
7379      });
7380
7381      html += '</select></li>';
7382    });
7383    html += '</ul></div>';
7384
7385    holder.innerHTML = html;
7386    holder.style.display = '';
7387
7388    /* Strip HTML (sadece çoklu değerli varyantlar için)
7389       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
7390    if(displayVariant){
7391      var stripHtml = '';
7392      var inStockCount = 0;
7393
7394      /* DEBUG - console'da gör */
7395      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
7396
7397      displayVariant.values.forEach(function(val){
7398        /* SADECE stokta olanları ekle */
7399        if(val.inStock === true){
7400          stripHtml += '<div class="size-item" '
7401                    + 'data-urun-id="' + productId + '" '
7402                    + 'data-varyant-deger="' + val.deger + '" '
7403                    + 'onclick="return luxAddVariant(event, this);">'
7404                    + val.deger + '</div>';
7405          inStockCount++;
7406        }
7407      });
7408
7409      /* Eğer stokta hiç beden yoksa şeridi gösterme */
7410      if(inStockCount === 0){
7411        strip.setAttribute('data-loaded', '1');
7412        strip.setAttribute('data-has-variants', '0');
7413        return false;
7414      }
7415
7416      strip.innerHTML = stripHtml;
7417      strip.setAttribute('data-loaded', '1');
7418      strip.setAttribute('data-has-variants', '1');
7419      return true;
7420    } else {
7421      strip.setAttribute('data-loaded', '1');
7422      strip.setAttribute('data-has-variants', '0');
7423      return false;
7424    }
7425  }
7426
7427
7428  /* ============================================
7429     SEPET IKONU TIKLAMASI
7430     ============================================ */
7431  window.luxBagClick = function(ev, productId){
7432    ev.preventDefault();
7433    ev.stopPropagation();
7434
7435    var card = document.getElementById('card-' + productId);
7436    var strip = document.getElementById('size-strip-' + productId);
7437    var bag = document.getElementById('lux-bag-' + productId);
7438    if(!card || !strip) return false;
7439
7440    /* Strip zaten yüklenmişse direkt davran */
7441    if(strip.getAttribute('data-loaded') === '1'){
7442      if(strip.getAttribute('data-has-variants') === '1'){
7443        toggleStrip(productId);
7444      } else {
7445        addToCartSmart(productId);
7446      }
7447      return false;
7448    }
7449
7450    /* İlk tıklama - AJAX ile varyantları çek */
7451    bag.classList.add('is-loading');
7452    var productLink = card.getAttribute('data-lux-product-link');
7453
7454    fetchVariants(productId, productLink, function(data){
7455      bag.classList.remove('is-loading');
7456
7457      var hasVariants = buildVariantUI(productId, data);
7458
7459      if(hasVariants){
7460        /* Bedenler var - şeridi aç */
7461        toggleStrip(productId);
7462      } else {
7463        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
7464        addToCartSmart(productId);
7465      }
7466    });
7467
7468    return false;
7469  };
7470
7471  function toggleStrip(productId){
7472    var strip = document.getElementById('size-strip-' + productId);
7473    var card = document.getElementById('card-' + productId);
7474    if(!strip) return;
7475
7476    document.querySelectorAll('.size-strip.open').forEach(function(s){
7477      if(s !== strip) s.classList.remove('open');
7478    });
7479    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
7480      if(c !== card) c.classList.remove('sizes-open');
7481    });
7482
7483    strip.classList.toggle('open');
7484    if(card) card.classList.toggle('sizes-open');
7485  }
7486
7487
7488  /* ============================================
7489     BEDEN TIKLAMASI
7490     ============================================ */
7491  window.luxAddVariant = function(ev, elem){
7492    ev.preventDefault();
7493    ev.stopPropagation();
7494
7495    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
7496
7497    var productId = elem.getAttribute('data-urun-id');
7498    var varyantDeger = elem.getAttribute('data-varyant-deger');
7499
7500    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
7501    if(!holder) return false;
7502
7503    /* Seçilen bedeni ilk select'e yaz */
7504    var firstSelect = holder.querySelector('select[data-variant="0"]');
7505    if(firstSelect){
7506      firstSelect.value = varyantDeger;
7507      if(typeof jQuery !== "undefined"){
7508        jQuery(firstSelect).val(varyantDeger).trigger('change');
7509      }
7510    }
7511
7512    /* Diğer select'lere ilk geçerli değeri koy */
7513    var allSelects = holder.querySelectorAll('select[data-variant]');
7514    allSelects.forEach(function(sel, idx){
7515      if(idx === 0) return;
7516      if(sel.value) return;
7517      var options = sel.querySelectorAll('option');
7518      for(var i = 0; i < options.length; i++){
7519        if(options[i].value){
7520          sel.value = options[i].value;
7521          if(typeof jQuery !== "undefined"){
7522            jQuery(sel).val(options[i].value).trigger('change');
7523          }
7524          break;
7525        }
7526      }
7527    });
7528
7529    /* Görsel feedback */
7530    elem.classList.add('adding');
7531    var originalText = elem.textContent;
7532    elem.textContent = '✓';
7533
7534    /* Sepete ekle */
7535    addToCartSmart(productId, {
7536      checkVariant: true,
7537      variantCount: allSelects.length,
7538      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
7539    });
7540
7541    setTimeout(function(){
7542      elem.textContent = originalText;
7543      elem.classList.remove('adding');
7544      closeAll();
7545    }, 800);
7546
7547    return false;
7548  };
7549
7550
7551  /* ============================================
7552     SEPETE EKLE - Modal killer ile
7553     ============================================ */
7554  function addToCartSmart(productId, extraOptions){
7555    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
7556
7557    var options = {
7558      quantity: 1,
7559      hideNativeModal: 'lux-card-' + productId
7560    };
7561
7562    if(extraOptions){
7563      Object.keys(extraOptions).forEach(function(k){
7564        options[k] = extraOptions[k];
7565      });
7566    } else if(holder){
7567      var selects = holder.querySelectorAll('select[data-variant]');
7568      if(selects.length > 0){
7569        options.checkVariant = true;
7570        options.variantCount = selects.length;
7571        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
7572      }
7573    }
7574
7575    startModalKill(2000);
7576
7577    if(typeof addCart === "function"){
7578      try {
7579        addCart(productId, 'card', options);
7580        flashSuccess(productId);
7581      } catch(err){
7582        console.error('Sepete ekleme hatası:', err);
7583      }
7584    }
7585  }
7586
7587})();
7588</script>
7588</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
7589                             data-lux-product-shell="1"
7590                             data-lux-page="1"><style>
7591@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
7592
7593/* ===== VEZZA LUX CARD ===== */
7594.card-product{
7595  font-family:'Poppins',sans-serif;
7596  background:#fff !important;
7597  position:relative;
7598}
7599.card-product-inner{
7600  background:transparent !important;
7601  position:relative;
7602}
7603.card-product .c-p-i-link,
7604.card-product a{
7605  background:transparent !important;
7606}
7607.card-product-inner > div{
7608  background:transparent !important;
7609}
7610.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
7611  background:transparent !important;
7612}
7613.card-product .card-product-content,
7614.card-product .price-group,
7615.card-product .prices{
7616  background:transparent !important;
7617}
7618[class*="skeleton"],
7619[class*="placeholder"],
7620[class*="loading"]{
7621  background:transparent !important;
7622}
7623
7624/* ===== IMAGE AREA - KARE GÖRSEL ===== */
7625.image-wrapper{
7626  position:relative;
7627  width:100%;
7628  aspect-ratio:1/1;
7629  overflow:hidden;
7630  background:#fff !important;
7631}
7632
7633.image{
7634  position:relative;
7635  width:100%;
7636  height:100%;
7637}
7638
7639.image-wrapper img{
7640  width:100% !important;
7641  height:100% !important;
7642  object-fit:cover !important;
7643  object-position:center center !important;
7644  display:block;
7645  transition:transform .35s ease;
7646}
7647
7648/* ===== DISCOUNT ===== */
7649.discount{
7650  position:absolute;
7651  top:12px;
7652  left:12px;
7653  width:28px;
7654  height:48px;
7655  background:#e10b0b;
7656  color:#fff;
7657  font-size:12px;
7658  font-weight:600;
7659  display:flex;
7660  align-items:center;
7661  justify-content:center;
7662  writing-mode:vertical-rl;
7663  transform:rotate(180deg);
7664  letter-spacing:.5px;
7665  z-index:7;
7666}
7667
7668/* ===== FAV ===== */
7669.lux-fav{
7670  position:absolute;
7671  top:12px;
7672  right:12px;
7673  z-index:7;
7674}
7675.lux-fav a,
7676.lux-fav button{
7677  background:transparent !important;
7678  border:0 !important;
7679  padding:0 !important;
7680  cursor:pointer;
7681  display:inline-flex;
7682  align-items:center;
7683  justify-content:center;
7684}
7685
7686/* ===== SEPET IKON ===== */
7687.lux-bag{
7688  position:absolute;
7689  bottom:12px;
7690  right:12px;
7691  z-index:7;
7692  width:34px;
7693  height:34px;
7694  display:inline-flex;
7695  align-items:center;
7696  justify-content:center;
7697  background:rgba(255,255,255,.92);
7698  border:1px solid rgba(0,0,0,.10);
7699  border-radius:10px;
7700  cursor:pointer;
7701  transition:.2s ease;
7702}
7703.lux-bag:hover{
7704  background:#fff;
7705  border-color:rgba(0,0,0,.25);
7706}
7707.lux-bag.is-loading{
7708  opacity:.6;
7709  cursor:wait;
7710}
7711.lux-bag.is-success{
7712  background:#2e7d32 !important;
7713  border-color:#2e7d32 !important;
7714  color:#fff !important;
7715}
7716.card-product.sizes-open .lux-bag{
7717  opacity:0;
7718  pointer-events:none;
7719}
7720
7721/* Loading spinner */
7722.lux-bag.is-loading i::before{
7723  content:"⏳";
7724}
7725
7726/* ===== SIZE STRIP ===== */
7727.size-strip{
7728  width:100%;
7729  max-height:0;
7730  overflow:hidden;
7731  background:#fff;
7732  display:flex;
7733  flex-wrap:wrap;
7734  transition:max-height .3s ease, border-color .3s ease;
7735  border-top:1px solid transparent;
7736  border-bottom:1px solid transparent;
7737}
7738.size-strip.open{
7739  max-height:200px;
7740  border-top-color:rgba(0,0,0,.08);
7741  border-bottom-color:rgba(0,0,0,.08);
7742}
7743.size-item{
7744  flex:1 0 auto;
7745  min-width:38px;
7746  height:42px;
7747  display:flex;
7748  align-items:center;
7749  justify-content:center;
7750  font-size:13px;
7751  font-weight:500;
7752  color:#111 !important;
7753  cursor:pointer;
7754  user-select:none;
7755  background:transparent;
7756  transition:background .15s ease, color .15s ease;
7757  border-right:1px solid rgba(0,0,0,.08);
7758}
7759.size-item:last-child{ border-right:0; }
7760.size-item:hover:not(.disabled):not(.adding){
7761  background:#000 !important;
7762  color:#fff !important;
7763}
7764.size-item.disabled{
7765  color:#111 !important;
7766  text-decoration:line-through !important;
7767  opacity:.30 !important;
7768  cursor:not-allowed;
7769}
7770.size-item.adding{
7771  background:#2e7d32 !important;
7772  color:#fff !important;
7773  cursor:wait;
7774}
7775
7776/* ===== META ===== */
7777.lux-meta{
7778  padding:12px 6px 6px;
7779  background:transparent !important;
7780}
7781.lux-brand{
7782  font-size:16px;
7783  font-weight:600;
7784  color:#111;
7785  margin-bottom:2px;
7786}
7787.lux-title{
7788  font-size:14px;
7789  font-weight:400;
7790  line-height:1.45;
7791  color:#111;
7792  margin:0;
7793}
7794.lux-price{
7795  margin-top:10px;
7796  display:flex;
7797  gap:10px;
7798  align-items:baseline;
7799  background:transparent !important;
7800}
7801.lux-price .list-price{
7802  font-size:14px;
7803  font-weight:400;
7804  color:#111;
7805  text-decoration:line-through;
7806}
7807.lux-price .sale-price{
7808  font-size:16px;
7809  font-weight:600;
7810  color:#e10b0b;
7811}
7812
7813.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
7814.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
7815</style><div class="card-product"
7816     id="card-10279"
7817     data-lux-card-id="10279"
7818     data-lux-product-link="https://www.vezzalux.com/gucci-949-siyah-beyaz-erkek-ayakkabi"
7819     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/gucci-949-siyah-beyaz-erkek-ayakkabi" class="c-p-i-link" title="Gucci 949 Siyah Beyaz Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c9d022ffa-59918152-sw1200sh1200.webp" alt="Gucci 949 Siyah Beyaz Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c9d022ffa-59918152-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c9cc7e5eb-48303935-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
7820        onclick="userProductFavourite('add', 10279)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
7821         id="lux-bag-10279"
7822         onclick="return luxBagClick(event, 10279);"
7823         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10279" style="display:none;"></div><div class="size-strip" id="size-strip-10279" data-loaded="0"></div><a href="https://www.vezzalux.com/gucci-949-siyah-beyaz-erkek-ayakkabi" class="c-p-i-link" title="Gucci 949 Siyah Beyaz Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Gucci</div><div class="lux-title">Gucci 949 Siyah Beyaz Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
7823<script>
7824(function(){
7825
7826  /* Bir kez kur */
7827  if(window.__luxCardInit) return;
7828  window.__luxCardInit = true;
7829
7830  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
7831  window.__luxVariantCache = window.__luxVariantCache || {};
7832
7833  function closeAll(){
7834    document.querySelectorAll('.size-strip.open').forEach(function(s){
7835      s.classList.remove('open');
7836    });
7837    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
7838      c.classList.remove('sizes-open');
7839    });
7840  }
7841
7842  function flashSuccess(productId){
7843    var bag = document.getElementById('lux-bag-' + productId);
7844    if(!bag) return;
7845    bag.classList.add('is-success');
7846    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
7847  }
7848
7849  /* Dış tıklama - kapat */
7850  document.addEventListener('click', function(e){
7851    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
7852    if(!inside) closeAll();
7853  });
7854
7855  document.addEventListener('keydown', function(e){
7856    if(e.key === 'Escape') closeAll();
7857  });
7858
7859
7860  /* ============================================
7861     MODAL KILLER - yedek güvence
7862     ============================================ */
7863  var LUX_MODAL_KILL_ACTIVE = false;
7864
7865  function killVisibleModals(){
7866    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
7867    modals.forEach(function(m){
7868      var id = (m.id || '').toLowerCase();
7869      var txt = (m.textContent || '').toLowerCase();
7870      var isCartModal = id.indexOf('cart') > -1
7871                     || id.indexOf('variant') > -1
7872                     || id.indexOf('fast') > -1
7873                     || id.indexOf('urun') > -1
7874                     || txt.indexOf('lütfen seçin') > -1;
7875
7876      if(isCartModal){
7877        if(typeof jQuery !== 'undefined'){
7878          try { jQuery(m).modal('hide'); } catch(e){}
7879        }
7880        m.classList.remove('show','in');
7881        m.style.display = 'none';
7882      }
7883    });
7884
7885    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
7886    document.body.classList.remove('modal-open');
7887    document.body.style.overflow = '';
7888    document.body.style.paddingRight = '';
7889  }
7890
7891  function startModalKill(durationMs){
7892    if(LUX_MODAL_KILL_ACTIVE) return;
7893    LUX_MODAL_KILL_ACTIVE = true;
7894    killVisibleModals();
7895    var interval = setInterval(killVisibleModals, 50);
7896    setTimeout(function(){
7897      clearInterval(interval);
7898      LUX_MODAL_KILL_ACTIVE = false;
7899    }, durationMs || 2000);
7900  }
7901
7902
7903  /* ============================================
7904     AJAX: Varyantları detay sayfasından çek
7905     ============================================
7906     Ürün detay sayfasının tam HTML'ini indir,
7907     DOMParser ile parse et, varyantları bul
7908     ============================================ */
7909  function fetchVariants(productId, productLink, callback){
7910
7911    /* Cache'te varsa hemen döndür */
7912    if(window.__luxVariantCache[productId]){
7913      callback(window.__luxVariantCache[productId]);
7914      return;
7915    }
7916
7917    fetch(productLink, {
7918      method: 'GET',
7919      credentials: 'same-origin',
7920      headers: { 'Accept': 'text/html' }
7921    })
7922    .then(function(r){ return r.text(); })
7923    .then(function(html){
7924      var parser = new DOMParser();
7925      var doc = parser.parseFromString(html, 'text/html');
7926
7927      /* Detay sayfasındaki .variant-box'ı bul */
7928      var variantBox = doc.querySelector('.variant-box');
7929      if(!variantBox){
7930        callback({ variants: [], error: 'no_variant_box' });
7931        return;
7932      }
7933
7934      /* Her varyant grubu için select'leri ve option'ları oku */
7935      var variants = [];
7936      var variantLis = variantBox.querySelectorAll('.variant');
7937
7938      variantLis.forEach(function(li, idx){
7939        var nameEl = li.querySelector('.name');
7940        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
7941
7942        var values = [];
7943
7944        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
7945        var optLinks = li.querySelectorAll('.options a');
7946
7947        if(optLinks.length > 0){
7948          optLinks.forEach(function(a){
7949            /* Beden/renk değerini doğru attribute'tan oku
7950               - data-variant-value: asıl değer (örn: "38", "KAHVE")
7951               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
7952               - textContent: fallback */
7953            var deger = a.getAttribute('data-variant-value')
7954                     || a.textContent.trim();
7955
7956            /* Stok kontrolü - birden fazla yoldan kontrol et */
7957            var isSoldOut = a.classList.contains('sold-out')
7958                         || a.classList.contains('sold_out')
7959                         || a.classList.contains('disabled')
7960                         || a.classList.contains('stoksuz')
7961                         || a.classList.contains('out-of-stock')
7962                         || a.hasAttribute('disabled')
7963                         || a.getAttribute('data-in-stock') === '0'
7964                         || a.getAttribute('data-in-stock') === 'false'
7965                         || a.getAttribute('data-stokta-var-mi') === '0'
7966                         || a.getAttribute('data-stokta-var-mi') === 'false';
7967
7968            values.push({
7969              deger: deger,
7970              inStock: !isSoldOut
7971            });
7972          });
7973        } else {
7974          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
7975          var select = li.querySelector('select');
7976          if(select){
7977            var opts = select.querySelectorAll('option');
7978            opts.forEach(function(o){
7979              if(!o.value) return;
7980              values.push({
7981                deger: o.value,
7982                inStock: !o.disabled
7983              });
7984            });
7985          }
7986        }
7987
7988        variants.push({
7989          index: idx,
7990          baslik: name,
7991          values: values
7992        });
7993      });
7994
7995      var result = { variants: variants };
7996      window.__luxVariantCache[productId] = result;
7997      callback(result);
7998    })
7999    .catch(function(err){
8000      console.error('Varyant çekme hatası:', err);
8001      callback({ variants: [], error: 'fetch_failed' });
8002    });
8003  }
8004
8005
8006  /* ============================================
8007     Beden şeridini ve gizli variant-box'ı oluştur
8008     ============================================ */
8009  function buildVariantUI(productId, data){
8010    var card = document.getElementById('card-' + productId);
8011    if(!card) return false;
8012
8013    var holder = card.querySelector('.lux-variant-box');
8014    var strip = document.getElementById('size-strip-' + productId);
8015    if(!holder || !strip) return false;
8016
8017    if(!data.variants || data.variants.length === 0){
8018      /* Varyant yok */
8019      return false;
8020    }
8021
8022    /* Çoklu değerli ilk varyantı bul (beden) */
8023    var displayVariant = null;
8024    data.variants.forEach(function(v){
8025      if(!displayVariant && v.values.length > 1){
8026        displayVariant = v;
8027      }
8028    });
8029
8030    /* Gizli variant-box HTML */
8031    var html = '<div class="variant-box"><ul>';
8032    data.variants.forEach(function(v){
8033      html += '<li class="variant">';
8034      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
8035
8036      if(v.values.length > 1){
8037        html += '<option value="">Lütfen seçin</option>';
8038      }
8039
8040      v.values.forEach(function(val, i){
8041        var selected = (v.values.length === 1) ? ' selected' : '';
8042        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
8043      });
8044
8045      html += '</select></li>';
8046    });
8047    html += '</ul></div>';
8048
8049    holder.innerHTML = html;
8050    holder.style.display = '';
8051
8052    /* Strip HTML (sadece çoklu değerli varyantlar için)
8053       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
8054    if(displayVariant){
8055      var stripHtml = '';
8056      var inStockCount = 0;
8057
8058      /* DEBUG - console'da gör */
8059      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
8060
8061      displayVariant.values.forEach(function(val){
8062        /* SADECE stokta olanları ekle */
8063        if(val.inStock === true){
8064          stripHtml += '<div class="size-item" '
8065                    + 'data-urun-id="' + productId + '" '
8066                    + 'data-varyant-deger="' + val.deger + '" '
8067                    + 'onclick="return luxAddVariant(event, this);">'
8068                    + val.deger + '</div>';
8069          inStockCount++;
8070        }
8071      });
8072
8073      /* Eğer stokta hiç beden yoksa şeridi gösterme */
8074      if(inStockCount === 0){
8075        strip.setAttribute('data-loaded', '1');
8076        strip.setAttribute('data-has-variants', '0');
8077        return false;
8078      }
8079
8080      strip.innerHTML = stripHtml;
8081      strip.setAttribute('data-loaded', '1');
8082      strip.setAttribute('data-has-variants', '1');
8083      return true;
8084    } else {
8085      strip.setAttribute('data-loaded', '1');
8086      strip.setAttribute('data-has-variants', '0');
8087      return false;
8088    }
8089  }
8090
8091
8092  /* ============================================
8093     SEPET IKONU TIKLAMASI
8094     ============================================ */
8095  window.luxBagClick = function(ev, productId){
8096    ev.preventDefault();
8097    ev.stopPropagation();
8098
8099    var card = document.getElementById('card-' + productId);
8100    var strip = document.getElementById('size-strip-' + productId);
8101    var bag = document.getElementById('lux-bag-' + productId);
8102    if(!card || !strip) return false;
8103
8104    /* Strip zaten yüklenmişse direkt davran */
8105    if(strip.getAttribute('data-loaded') === '1'){
8106      if(strip.getAttribute('data-has-variants') === '1'){
8107        toggleStrip(productId);
8108      } else {
8109        addToCartSmart(productId);
8110      }
8111      return false;
8112    }
8113
8114    /* İlk tıklama - AJAX ile varyantları çek */
8115    bag.classList.add('is-loading');
8116    var productLink = card.getAttribute('data-lux-product-link');
8117
8118    fetchVariants(productId, productLink, function(data){
8119      bag.classList.remove('is-loading');
8120
8121      var hasVariants = buildVariantUI(productId, data);
8122
8123      if(hasVariants){
8124        /* Bedenler var - şeridi aç */
8125        toggleStrip(productId);
8126      } else {
8127        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
8128        addToCartSmart(productId);
8129      }
8130    });
8131
8132    return false;
8133  };
8134
8135  function toggleStrip(productId){
8136    var strip = document.getElementById('size-strip-' + productId);
8137    var card = document.getElementById('card-' + productId);
8138    if(!strip) return;
8139
8140    document.querySelectorAll('.size-strip.open').forEach(function(s){
8141      if(s !== strip) s.classList.remove('open');
8142    });
8143    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
8144      if(c !== card) c.classList.remove('sizes-open');
8145    });
8146
8147    strip.classList.toggle('open');
8148    if(card) card.classList.toggle('sizes-open');
8149  }
8150
8151
8152  /* ============================================
8153     BEDEN TIKLAMASI
8154     ============================================ */
8155  window.luxAddVariant = function(ev, elem){
8156    ev.preventDefault();
8157    ev.stopPropagation();
8158
8159    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
8160
8161    var productId = elem.getAttribute('data-urun-id');
8162    var varyantDeger = elem.getAttribute('data-varyant-deger');
8163
8164    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
8165    if(!holder) return false;
8166
8167    /* Seçilen bedeni ilk select'e yaz */
8168    var firstSelect = holder.querySelector('select[data-variant="0"]');
8169    if(firstSelect){
8170      firstSelect.value = varyantDeger;
8171      if(typeof jQuery !== "undefined"){
8172        jQuery(firstSelect).val(varyantDeger).trigger('change');
8173      }
8174    }
8175
8176    /* Diğer select'lere ilk geçerli değeri koy */
8177    var allSelects = holder.querySelectorAll('select[data-variant]');
8178    allSelects.forEach(function(sel, idx){
8179      if(idx === 0) return;
8180      if(sel.value) return;
8181      var options = sel.querySelectorAll('option');
8182      for(var i = 0; i < options.length; i++){
8183        if(options[i].value){
8184          sel.value = options[i].value;
8185          if(typeof jQuery !== "undefined"){
8186            jQuery(sel).val(options[i].value).trigger('change');
8187          }
8188          break;
8189        }
8190      }
8191    });
8192
8193    /* Görsel feedback */
8194    elem.classList.add('adding');
8195    var originalText = elem.textContent;
8196    elem.textContent = '✓';
8197
8198    /* Sepete ekle */
8199    addToCartSmart(productId, {
8200      checkVariant: true,
8201      variantCount: allSelects.length,
8202      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
8203    });
8204
8205    setTimeout(function(){
8206      elem.textContent = originalText;
8207      elem.classList.remove('adding');
8208      closeAll();
8209    }, 800);
8210
8211    return false;
8212  };
8213
8214
8215  /* ============================================
8216     SEPETE EKLE - Modal killer ile
8217     ============================================ */
8218  function addToCartSmart(productId, extraOptions){
8219    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
8220
8221    var options = {
8222      quantity: 1,
8223      hideNativeModal: 'lux-card-' + productId
8224    };
8225
8226    if(extraOptions){
8227      Object.keys(extraOptions).forEach(function(k){
8228        options[k] = extraOptions[k];
8229      });
8230    } else if(holder){
8231      var selects = holder.querySelectorAll('select[data-variant]');
8232      if(selects.length > 0){
8233        options.checkVariant = true;
8234        options.variantCount = selects.length;
8235        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
8236      }
8237    }
8238
8239    startModalKill(2000);
8240
8241    if(typeof addCart === "function"){
8242      try {
8243        addCart(productId, 'card', options);
8244        flashSuccess(productId);
8245      } catch(err){
8246        console.error('Sepete ekleme hatası:', err);
8247      }
8248    }
8249  }
8250
8251})();
8252</script>
8252</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
8253                             data-lux-product-shell="1"
8254                             data-lux-page="1"><style>
8255@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
8256
8257/* ===== VEZZA LUX CARD ===== */
8258.card-product{
8259  font-family:'Poppins',sans-serif;
8260  background:#fff !important;
8261  position:relative;
8262}
8263.card-product-inner{
8264  background:transparent !important;
8265  position:relative;
8266}
8267.card-product .c-p-i-link,
8268.card-product a{
8269  background:transparent !important;
8270}
8271.card-product-inner > div{
8272  background:transparent !important;
8273}
8274.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
8275  background:transparent !important;
8276}
8277.card-product .card-product-content,
8278.card-product .price-group,
8279.card-product .prices{
8280  background:transparent !important;
8281}
8282[class*="skeleton"],
8283[class*="placeholder"],
8284[class*="loading"]{
8285  background:transparent !important;
8286}
8287
8288/* ===== IMAGE AREA - KARE GÖRSEL ===== */
8289.image-wrapper{
8290  position:relative;
8291  width:100%;
8292  aspect-ratio:1/1;
8293  overflow:hidden;
8294  background:#fff !important;
8295}
8296
8297.image{
8298  position:relative;
8299  width:100%;
8300  height:100%;
8301}
8302
8303.image-wrapper img{
8304  width:100% !important;
8305  height:100% !important;
8306  object-fit:cover !important;
8307  object-position:center center !important;
8308  display:block;
8309  transition:transform .35s ease;
8310}
8311
8312/* ===== DISCOUNT ===== */
8313.discount{
8314  position:absolute;
8315  top:12px;
8316  left:12px;
8317  width:28px;
8318  height:48px;
8319  background:#e10b0b;
8320  color:#fff;
8321  font-size:12px;
8322  font-weight:600;
8323  display:flex;
8324  align-items:center;
8325  justify-content:center;
8326  writing-mode:vertical-rl;
8327  transform:rotate(180deg);
8328  letter-spacing:.5px;
8329  z-index:7;
8330}
8331
8332/* ===== FAV ===== */
8333.lux-fav{
8334  position:absolute;
8335  top:12px;
8336  right:12px;
8337  z-index:7;
8338}
8339.lux-fav a,
8340.lux-fav button{
8341  background:transparent !important;
8342  border:0 !important;
8343  padding:0 !important;
8344  cursor:pointer;
8345  display:inline-flex;
8346  align-items:center;
8347  justify-content:center;
8348}
8349
8350/* ===== SEPET IKON ===== */
8351.lux-bag{
8352  position:absolute;
8353  bottom:12px;
8354  right:12px;
8355  z-index:7;
8356  width:34px;
8357  height:34px;
8358  display:inline-flex;
8359  align-items:center;
8360  justify-content:center;
8361  background:rgba(255,255,255,.92);
8362  border:1px solid rgba(0,0,0,.10);
8363  border-radius:10px;
8364  cursor:pointer;
8365  transition:.2s ease;
8366}
8367.lux-bag:hover{
8368  background:#fff;
8369  border-color:rgba(0,0,0,.25);
8370}
8371.lux-bag.is-loading{
8372  opacity:.6;
8373  cursor:wait;
8374}
8375.lux-bag.is-success{
8376  background:#2e7d32 !important;
8377  border-color:#2e7d32 !important;
8378  color:#fff !important;
8379}
8380.card-product.sizes-open .lux-bag{
8381  opacity:0;
8382  pointer-events:none;
8383}
8384
8385/* Loading spinner */
8386.lux-bag.is-loading i::before{
8387  content:"⏳";
8388}
8389
8390/* ===== SIZE STRIP ===== */
8391.size-strip{
8392  width:100%;
8393  max-height:0;
8394  overflow:hidden;
8395  background:#fff;
8396  display:flex;
8397  flex-wrap:wrap;
8398  transition:max-height .3s ease, border-color .3s ease;
8399  border-top:1px solid transparent;
8400  border-bottom:1px solid transparent;
8401}
8402.size-strip.open{
8403  max-height:200px;
8404  border-top-color:rgba(0,0,0,.08);
8405  border-bottom-color:rgba(0,0,0,.08);
8406}
8407.size-item{
8408  flex:1 0 auto;
8409  min-width:38px;
8410  height:42px;
8411  display:flex;
8412  align-items:center;
8413  justify-content:center;
8414  font-size:13px;
8415  font-weight:500;
8416  color:#111 !important;
8417  cursor:pointer;
8418  user-select:none;
8419  background:transparent;
8420  transition:background .15s ease, color .15s ease;
8421  border-right:1px solid rgba(0,0,0,.08);
8422}
8423.size-item:last-child{ border-right:0; }
8424.size-item:hover:not(.disabled):not(.adding){
8425  background:#000 !important;
8426  color:#fff !important;
8427}
8428.size-item.disabled{
8429  color:#111 !important;
8430  text-decoration:line-through !important;
8431  opacity:.30 !important;
8432  cursor:not-allowed;
8433}
8434.size-item.adding{
8435  background:#2e7d32 !important;
8436  color:#fff !important;
8437  cursor:wait;
8438}
8439
8440/* ===== META ===== */
8441.lux-meta{
8442  padding:12px 6px 6px;
8443  background:transparent !important;
8444}
8445.lux-brand{
8446  font-size:16px;
8447  font-weight:600;
8448  color:#111;
8449  margin-bottom:2px;
8450}
8451.lux-title{
8452  font-size:14px;
8453  font-weight:400;
8454  line-height:1.45;
8455  color:#111;
8456  margin:0;
8457}
8458.lux-price{
8459  margin-top:10px;
8460  display:flex;
8461  gap:10px;
8462  align-items:baseline;
8463  background:transparent !important;
8464}
8465.lux-price .list-price{
8466  font-size:14px;
8467  font-weight:400;
8468  color:#111;
8469  text-decoration:line-through;
8470}
8471.lux-price .sale-price{
8472  font-size:16px;
8473  font-weight:600;
8474  color:#e10b0b;
8475}
8476
8477.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
8478.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
8479</style><div class="card-product"
8480     id="card-10172"
8481     data-lux-card-id="10172"
8482     data-lux-product-link="https://www.vezzalux.com/off-816-siyah-kirmizi-logo-erkek-ayakkabi"
8483     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/off-816-siyah-kirmizi-logo-erkek-ayakkabi" class="c-p-i-link" title="Off 816 Siyah Kırmızı Logo Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c73b3c303-50700022-sw1200sh1200.webp" alt="Off 816 Siyah Kırmızı Logo Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c73b3c303-50700022-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c738454c5-41662726-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
8484        onclick="userProductFavourite('add', 10172)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
8485         id="lux-bag-10172"
8486         onclick="return luxBagClick(event, 10172);"
8487         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10172" style="display:none;"></div><div class="size-strip" id="size-strip-10172" data-loaded="0"></div><a href="https://www.vezzalux.com/off-816-siyah-kirmizi-logo-erkek-ayakkabi" class="c-p-i-link" title="Off 816 Siyah Kırmızı Logo Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Off White</div><div class="lux-title">Off 816 Siyah Kırmızı Logo Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
8487<script>
8488(function(){
8489
8490  /* Bir kez kur */
8491  if(window.__luxCardInit) return;
8492  window.__luxCardInit = true;
8493
8494  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
8495  window.__luxVariantCache = window.__luxVariantCache || {};
8496
8497  function closeAll(){
8498    document.querySelectorAll('.size-strip.open').forEach(function(s){
8499      s.classList.remove('open');
8500    });
8501    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
8502      c.classList.remove('sizes-open');
8503    });
8504  }
8505
8506  function flashSuccess(productId){
8507    var bag = document.getElementById('lux-bag-' + productId);
8508    if(!bag) return;
8509    bag.classList.add('is-success');
8510    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
8511  }
8512
8513  /* Dış tıklama - kapat */
8514  document.addEventListener('click', function(e){
8515    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
8516    if(!inside) closeAll();
8517  });
8518
8519  document.addEventListener('keydown', function(e){
8520    if(e.key === 'Escape') closeAll();
8521  });
8522
8523
8524  /* ============================================
8525     MODAL KILLER - yedek güvence
8526     ============================================ */
8527  var LUX_MODAL_KILL_ACTIVE = false;
8528
8529  function killVisibleModals(){
8530    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
8531    modals.forEach(function(m){
8532      var id = (m.id || '').toLowerCase();
8533      var txt = (m.textContent || '').toLowerCase();
8534      var isCartModal = id.indexOf('cart') > -1
8535                     || id.indexOf('variant') > -1
8536                     || id.indexOf('fast') > -1
8537                     || id.indexOf('urun') > -1
8538                     || txt.indexOf('lütfen seçin') > -1;
8539
8540      if(isCartModal){
8541        if(typeof jQuery !== 'undefined'){
8542          try { jQuery(m).modal('hide'); } catch(e){}
8543        }
8544        m.classList.remove('show','in');
8545        m.style.display = 'none';
8546      }
8547    });
8548
8549    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
8550    document.body.classList.remove('modal-open');
8551    document.body.style.overflow = '';
8552    document.body.style.paddingRight = '';
8553  }
8554
8555  function startModalKill(durationMs){
8556    if(LUX_MODAL_KILL_ACTIVE) return;
8557    LUX_MODAL_KILL_ACTIVE = true;
8558    killVisibleModals();
8559    var interval = setInterval(killVisibleModals, 50);
8560    setTimeout(function(){
8561      clearInterval(interval);
8562      LUX_MODAL_KILL_ACTIVE = false;
8563    }, durationMs || 2000);
8564  }
8565
8566
8567  /* ============================================
8568     AJAX: Varyantları detay sayfasından çek
8569     ============================================
8570     Ürün detay sayfasının tam HTML'ini indir,
8571     DOMParser ile parse et, varyantları bul
8572     ============================================ */
8573  function fetchVariants(productId, productLink, callback){
8574
8575    /* Cache'te varsa hemen döndür */
8576    if(window.__luxVariantCache[productId]){
8577      callback(window.__luxVariantCache[productId]);
8578      return;
8579    }
8580
8581    fetch(productLink, {
8582      method: 'GET',
8583      credentials: 'same-origin',
8584      headers: { 'Accept': 'text/html' }
8585    })
8586    .then(function(r){ return r.text(); })
8587    .then(function(html){
8588      var parser = new DOMParser();
8589      var doc = parser.parseFromString(html, 'text/html');
8590
8591      /* Detay sayfasındaki .variant-box'ı bul */
8592      var variantBox = doc.querySelector('.variant-box');
8593      if(!variantBox){
8594        callback({ variants: [], error: 'no_variant_box' });
8595        return;
8596      }
8597
8598      /* Her varyant grubu için select'leri ve option'ları oku */
8599      var variants = [];
8600      var variantLis = variantBox.querySelectorAll('.variant');
8601
8602      variantLis.forEach(function(li, idx){
8603        var nameEl = li.querySelector('.name');
8604        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
8605
8606        var values = [];
8607
8608        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
8609        var optLinks = li.querySelectorAll('.options a');
8610
8611        if(optLinks.length > 0){
8612          optLinks.forEach(function(a){
8613            /* Beden/renk değerini doğru attribute'tan oku
8614               - data-variant-value: asıl değer (örn: "38", "KAHVE")
8615               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
8616               - textContent: fallback */
8617            var deger = a.getAttribute('data-variant-value')
8618                     || a.textContent.trim();
8619
8620            /* Stok kontrolü - birden fazla yoldan kontrol et */
8621            var isSoldOut = a.classList.contains('sold-out')
8622                         || a.classList.contains('sold_out')
8623                         || a.classList.contains('disabled')
8624                         || a.classList.contains('stoksuz')
8625                         || a.classList.contains('out-of-stock')
8626                         || a.hasAttribute('disabled')
8627                         || a.getAttribute('data-in-stock') === '0'
8628                         || a.getAttribute('data-in-stock') === 'false'
8629                         || a.getAttribute('data-stokta-var-mi') === '0'
8630                         || a.getAttribute('data-stokta-var-mi') === 'false';
8631
8632            values.push({
8633              deger: deger,
8634              inStock: !isSoldOut
8635            });
8636          });
8637        } else {
8638          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
8639          var select = li.querySelector('select');
8640          if(select){
8641            var opts = select.querySelectorAll('option');
8642            opts.forEach(function(o){
8643              if(!o.value) return;
8644              values.push({
8645                deger: o.value,
8646                inStock: !o.disabled
8647              });
8648            });
8649          }
8650        }
8651
8652        variants.push({
8653          index: idx,
8654          baslik: name,
8655          values: values
8656        });
8657      });
8658
8659      var result = { variants: variants };
8660      window.__luxVariantCache[productId] = result;
8661      callback(result);
8662    })
8663    .catch(function(err){
8664      console.error('Varyant çekme hatası:', err);
8665      callback({ variants: [], error: 'fetch_failed' });
8666    });
8667  }
8668
8669
8670  /* ============================================
8671     Beden şeridini ve gizli variant-box'ı oluştur
8672     ============================================ */
8673  function buildVariantUI(productId, data){
8674    var card = document.getElementById('card-' + productId);
8675    if(!card) return false;
8676
8677    var holder = card.querySelector('.lux-variant-box');
8678    var strip = document.getElementById('size-strip-' + productId);
8679    if(!holder || !strip) return false;
8680
8681    if(!data.variants || data.variants.length === 0){
8682      /* Varyant yok */
8683      return false;
8684    }
8685
8686    /* Çoklu değerli ilk varyantı bul (beden) */
8687    var displayVariant = null;
8688    data.variants.forEach(function(v){
8689      if(!displayVariant && v.values.length > 1){
8690        displayVariant = v;
8691      }
8692    });
8693
8694    /* Gizli variant-box HTML */
8695    var html = '<div class="variant-box"><ul>';
8696    data.variants.forEach(function(v){
8697      html += '<li class="variant">';
8698      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
8699
8700      if(v.values.length > 1){
8701        html += '<option value="">Lütfen seçin</option>';
8702      }
8703
8704      v.values.forEach(function(val, i){
8705        var selected = (v.values.length === 1) ? ' selected' : '';
8706        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
8707      });
8708
8709      html += '</select></li>';
8710    });
8711    html += '</ul></div>';
8712
8713    holder.innerHTML = html;
8714    holder.style.display = '';
8715
8716    /* Strip HTML (sadece çoklu değerli varyantlar için)
8717       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
8718    if(displayVariant){
8719      var stripHtml = '';
8720      var inStockCount = 0;
8721
8722      /* DEBUG - console'da gör */
8723      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
8724
8725      displayVariant.values.forEach(function(val){
8726        /* SADECE stokta olanları ekle */
8727        if(val.inStock === true){
8728          stripHtml += '<div class="size-item" '
8729                    + 'data-urun-id="' + productId + '" '
8730                    + 'data-varyant-deger="' + val.deger + '" '
8731                    + 'onclick="return luxAddVariant(event, this);">'
8732                    + val.deger + '</div>';
8733          inStockCount++;
8734        }
8735      });
8736
8737      /* Eğer stokta hiç beden yoksa şeridi gösterme */
8738      if(inStockCount === 0){
8739        strip.setAttribute('data-loaded', '1');
8740        strip.setAttribute('data-has-variants', '0');
8741        return false;
8742      }
8743
8744      strip.innerHTML = stripHtml;
8745      strip.setAttribute('data-loaded', '1');
8746      strip.setAttribute('data-has-variants', '1');
8747      return true;
8748    } else {
8749      strip.setAttribute('data-loaded', '1');
8750      strip.setAttribute('data-has-variants', '0');
8751      return false;
8752    }
8753  }
8754
8755
8756  /* ============================================
8757     SEPET IKONU TIKLAMASI
8758     ============================================ */
8759  window.luxBagClick = function(ev, productId){
8760    ev.preventDefault();
8761    ev.stopPropagation();
8762
8763    var card = document.getElementById('card-' + productId);
8764    var strip = document.getElementById('size-strip-' + productId);
8765    var bag = document.getElementById('lux-bag-' + productId);
8766    if(!card || !strip) return false;
8767
8768    /* Strip zaten yüklenmişse direkt davran */
8769    if(strip.getAttribute('data-loaded') === '1'){
8770      if(strip.getAttribute('data-has-variants') === '1'){
8771        toggleStrip(productId);
8772      } else {
8773        addToCartSmart(productId);
8774      }
8775      return false;
8776    }
8777
8778    /* İlk tıklama - AJAX ile varyantları çek */
8779    bag.classList.add('is-loading');
8780    var productLink = card.getAttribute('data-lux-product-link');
8781
8782    fetchVariants(productId, productLink, function(data){
8783      bag.classList.remove('is-loading');
8784
8785      var hasVariants = buildVariantUI(productId, data);
8786
8787      if(hasVariants){
8788        /* Bedenler var - şeridi aç */
8789        toggleStrip(productId);
8790      } else {
8791        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
8792        addToCartSmart(productId);
8793      }
8794    });
8795
8796    return false;
8797  };
8798
8799  function toggleStrip(productId){
8800    var strip = document.getElementById('size-strip-' + productId);
8801    var card = document.getElementById('card-' + productId);
8802    if(!strip) return;
8803
8804    document.querySelectorAll('.size-strip.open').forEach(function(s){
8805      if(s !== strip) s.classList.remove('open');
8806    });
8807    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
8808      if(c !== card) c.classList.remove('sizes-open');
8809    });
8810
8811    strip.classList.toggle('open');
8812    if(card) card.classList.toggle('sizes-open');
8813  }
8814
8815
8816  /* ============================================
8817     BEDEN TIKLAMASI
8818     ============================================ */
8819  window.luxAddVariant = function(ev, elem){
8820    ev.preventDefault();
8821    ev.stopPropagation();
8822
8823    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
8824
8825    var productId = elem.getAttribute('data-urun-id');
8826    var varyantDeger = elem.getAttribute('data-varyant-deger');
8827
8828    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
8829    if(!holder) return false;
8830
8831    /* Seçilen bedeni ilk select'e yaz */
8832    var firstSelect = holder.querySelector('select[data-variant="0"]');
8833    if(firstSelect){
8834      firstSelect.value = varyantDeger;
8835      if(typeof jQuery !== "undefined"){
8836        jQuery(firstSelect).val(varyantDeger).trigger('change');
8837      }
8838    }
8839
8840    /* Diğer select'lere ilk geçerli değeri koy */
8841    var allSelects = holder.querySelectorAll('select[data-variant]');
8842    allSelects.forEach(function(sel, idx){
8843      if(idx === 0) return;
8844      if(sel.value) return;
8845      var options = sel.querySelectorAll('option');
8846      for(var i = 0; i < options.length; i++){
8847        if(options[i].value){
8848          sel.value = options[i].value;
8849          if(typeof jQuery !== "undefined"){
8850            jQuery(sel).val(options[i].value).trigger('change');
8851          }
8852          break;
8853        }
8854      }
8855    });
8856
8857    /* Görsel feedback */
8858    elem.classList.add('adding');
8859    var originalText = elem.textContent;
8860    elem.textContent = '✓';
8861
8862    /* Sepete ekle */
8863    addToCartSmart(productId, {
8864      checkVariant: true,
8865      variantCount: allSelects.length,
8866      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
8867    });
8868
8869    setTimeout(function(){
8870      elem.textContent = originalText;
8871      elem.classList.remove('adding');
8872      closeAll();
8873    }, 800);
8874
8875    return false;
8876  };
8877
8878
8879  /* ============================================
8880     SEPETE EKLE - Modal killer ile
8881     ============================================ */
8882  function addToCartSmart(productId, extraOptions){
8883    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
8884
8885    var options = {
8886      quantity: 1,
8887      hideNativeModal: 'lux-card-' + productId
8888    };
8889
8890    if(extraOptions){
8891      Object.keys(extraOptions).forEach(function(k){
8892        options[k] = extraOptions[k];
8893      });
8894    } else if(holder){
8895      var selects = holder.querySelectorAll('select[data-variant]');
8896      if(selects.length > 0){
8897        options.checkVariant = true;
8898        options.variantCount = selects.length;
8899        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
8900      }
8901    }
8902
8903    startModalKill(2000);
8904
8905    if(typeof addCart === "function"){
8906      try {
8907        addCart(productId, 'card', options);
8908        flashSuccess(productId);
8909      } catch(err){
8910        console.error('Sepete ekleme hatası:', err);
8911      }
8912    }
8913  }
8914
8915})();
8916</script>
8916</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
8917                             data-lux-product-shell="1"
8918                             data-lux-page="1"><style>
8919@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
8920
8921/* ===== VEZZA LUX CARD ===== */
8922.card-product{
8923  font-family:'Poppins',sans-serif;
8924  background:#fff !important;
8925  position:relative;
8926}
8927.card-product-inner{
8928  background:transparent !important;
8929  position:relative;
8930}
8931.card-product .c-p-i-link,
8932.card-product a{
8933  background:transparent !important;
8934}
8935.card-product-inner > div{
8936  background:transparent !important;
8937}
8938.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
8939  background:transparent !important;
8940}
8941.card-product .card-product-content,
8942.card-product .price-group,
8943.card-product .prices{
8944  background:transparent !important;
8945}
8946[class*="skeleton"],
8947[class*="placeholder"],
8948[class*="loading"]{
8949  background:transparent !important;
8950}
8951
8952/* ===== IMAGE AREA - KARE GÖRSEL ===== */
8953.image-wrapper{
8954  position:relative;
8955  width:100%;
8956  aspect-ratio:1/1;
8957  overflow:hidden;
8958  background:#fff !important;
8959}
8960
8961.image{
8962  position:relative;
8963  width:100%;
8964  height:100%;
8965}
8966
8967.image-wrapper img{
8968  width:100% !important;
8969  height:100% !important;
8970  object-fit:cover !important;
8971  object-position:center center !important;
8972  display:block;
8973  transition:transform .35s ease;
8974}
8975
8976/* ===== DISCOUNT ===== */
8977.discount{
8978  position:absolute;
8979  top:12px;
8980  left:12px;
8981  width:28px;
8982  height:48px;
8983  background:#e10b0b;
8984  color:#fff;
8985  font-size:12px;
8986  font-weight:600;
8987  display:flex;
8988  align-items:center;
8989  justify-content:center;
8990  writing-mode:vertical-rl;
8991  transform:rotate(180deg);
8992  letter-spacing:.5px;
8993  z-index:7;
8994}
8995
8996/* ===== FAV ===== */
8997.lux-fav{
8998  position:absolute;
8999  top:12px;
9000  right:12px;
9001  z-index:7;
9002}
9003.lux-fav a,
9004.lux-fav button{
9005  background:transparent !important;
9006  border:0 !important;
9007  padding:0 !important;
9008  cursor:pointer;
9009  display:inline-flex;
9010  align-items:center;
9011  justify-content:center;
9012}
9013
9014/* ===== SEPET IKON ===== */
9015.lux-bag{
9016  position:absolute;
9017  bottom:12px;
9018  right:12px;
9019  z-index:7;
9020  width:34px;
9021  height:34px;
9022  display:inline-flex;
9023  align-items:center;
9024  justify-content:center;
9025  background:rgba(255,255,255,.92);
9026  border:1px solid rgba(0,0,0,.10);
9027  border-radius:10px;
9028  cursor:pointer;
9029  transition:.2s ease;
9030}
9031.lux-bag:hover{
9032  background:#fff;
9033  border-color:rgba(0,0,0,.25);
9034}
9035.lux-bag.is-loading{
9036  opacity:.6;
9037  cursor:wait;
9038}
9039.lux-bag.is-success{
9040  background:#2e7d32 !important;
9041  border-color:#2e7d32 !important;
9042  color:#fff !important;
9043}
9044.card-product.sizes-open .lux-bag{
9045  opacity:0;
9046  pointer-events:none;
9047}
9048
9049/* Loading spinner */
9050.lux-bag.is-loading i::before{
9051  content:"⏳";
9052}
9053
9054/* ===== SIZE STRIP ===== */
9055.size-strip{
9056  width:100%;
9057  max-height:0;
9058  overflow:hidden;
9059  background:#fff;
9060  display:flex;
9061  flex-wrap:wrap;
9062  transition:max-height .3s ease, border-color .3s ease;
9063  border-top:1px solid transparent;
9064  border-bottom:1px solid transparent;
9065}
9066.size-strip.open{
9067  max-height:200px;
9068  border-top-color:rgba(0,0,0,.08);
9069  border-bottom-color:rgba(0,0,0,.08);
9070}
9071.size-item{
9072  flex:1 0 auto;
9073  min-width:38px;
9074  height:42px;
9075  display:flex;
9076  align-items:center;
9077  justify-content:center;
9078  font-size:13px;
9079  font-weight:500;
9080  color:#111 !important;
9081  cursor:pointer;
9082  user-select:none;
9083  background:transparent;
9084  transition:background .15s ease, color .15s ease;
9085  border-right:1px solid rgba(0,0,0,.08);
9086}
9087.size-item:last-child{ border-right:0; }
9088.size-item:hover:not(.disabled):not(.adding){
9089  background:#000 !important;
9090  color:#fff !important;
9091}
9092.size-item.disabled{
9093  color:#111 !important;
9094  text-decoration:line-through !important;
9095  opacity:.30 !important;
9096  cursor:not-allowed;
9097}
9098.size-item.adding{
9099  background:#2e7d32 !important;
9100  color:#fff !important;
9101  cursor:wait;
9102}
9103
9104/* ===== META ===== */
9105.lux-meta{
9106  padding:12px 6px 6px;
9107  background:transparent !important;
9108}
9109.lux-brand{
9110  font-size:16px;
9111  font-weight:600;
9112  color:#111;
9113  margin-bottom:2px;
9114}
9115.lux-title{
9116  font-size:14px;
9117  font-weight:400;
9118  line-height:1.45;
9119  color:#111;
9120  margin:0;
9121}
9122.lux-price{
9123  margin-top:10px;
9124  display:flex;
9125  gap:10px;
9126  align-items:baseline;
9127  background:transparent !important;
9128}
9129.lux-price .list-price{
9130  font-size:14px;
9131  font-weight:400;
9132  color:#111;
9133  text-decoration:line-through;
9134}
9135.lux-price .sale-price{
9136  font-size:16px;
9137  font-weight:600;
9138  color:#e10b0b;
9139}
9140
9141.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
9142.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
9143</style><div class="card-product"
9144     id="card-10362"
9145     data-lux-card-id="10362"
9146     data-lux-product-link="https://www.vezzalux.com/dior-1058-fuul-gri-erkek-ayakkabi"
9147     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/dior-1058-fuul-gri-erkek-ayakkabi" class="c-p-i-link" title="Dior 1058 Fuul Gri Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cbe91ed08-28165726-sw1200sh1200.webp" alt="Dior 1058 Fuul Gri Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cbe91ed08-28165726-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cbea7f22c-48819948-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
9148        onclick="userProductFavourite('add', 10362)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
9149         id="lux-bag-10362"
9150         onclick="return luxBagClick(event, 10362);"
9151         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10362" style="display:none;"></div><div class="size-strip" id="size-strip-10362" data-loaded="0"></div><a href="https://www.vezzalux.com/dior-1058-fuul-gri-erkek-ayakkabi" class="c-p-i-link" title="Dior 1058 Fuul Gri Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Dior</div><div class="lux-title">Dior 1058 Fuul Gri Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.499,00 TL</div></div></div></a></div></div>
9151<script>
9152(function(){
9153
9154  /* Bir kez kur */
9155  if(window.__luxCardInit) return;
9156  window.__luxCardInit = true;
9157
9158  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
9159  window.__luxVariantCache = window.__luxVariantCache || {};
9160
9161  function closeAll(){
9162    document.querySelectorAll('.size-strip.open').forEach(function(s){
9163      s.classList.remove('open');
9164    });
9165    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
9166      c.classList.remove('sizes-open');
9167    });
9168  }
9169
9170  function flashSuccess(productId){
9171    var bag = document.getElementById('lux-bag-' + productId);
9172    if(!bag) return;
9173    bag.classList.add('is-success');
9174    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
9175  }
9176
9177  /* Dış tıklama - kapat */
9178  document.addEventListener('click', function(e){
9179    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
9180    if(!inside) closeAll();
9181  });
9182
9183  document.addEventListener('keydown', function(e){
9184    if(e.key === 'Escape') closeAll();
9185  });
9186
9187
9188  /* ============================================
9189     MODAL KILLER - yedek güvence
9190     ============================================ */
9191  var LUX_MODAL_KILL_ACTIVE = false;
9192
9193  function killVisibleModals(){
9194    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
9195    modals.forEach(function(m){
9196      var id = (m.id || '').toLowerCase();
9197      var txt = (m.textContent || '').toLowerCase();
9198      var isCartModal = id.indexOf('cart') > -1
9199                     || id.indexOf('variant') > -1
9200                     || id.indexOf('fast') > -1
9201                     || id.indexOf('urun') > -1
9202                     || txt.indexOf('lütfen seçin') > -1;
9203
9204      if(isCartModal){
9205        if(typeof jQuery !== 'undefined'){
9206          try { jQuery(m).modal('hide'); } catch(e){}
9207        }
9208        m.classList.remove('show','in');
9209        m.style.display = 'none';
9210      }
9211    });
9212
9213    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
9214    document.body.classList.remove('modal-open');
9215    document.body.style.overflow = '';
9216    document.body.style.paddingRight = '';
9217  }
9218
9219  function startModalKill(durationMs){
9220    if(LUX_MODAL_KILL_ACTIVE) return;
9221    LUX_MODAL_KILL_ACTIVE = true;
9222    killVisibleModals();
9223    var interval = setInterval(killVisibleModals, 50);
9224    setTimeout(function(){
9225      clearInterval(interval);
9226      LUX_MODAL_KILL_ACTIVE = false;
9227    }, durationMs || 2000);
9228  }
9229
9230
9231  /* ============================================
9232     AJAX: Varyantları detay sayfasından çek
9233     ============================================
9234     Ürün detay sayfasının tam HTML'ini indir,
9235     DOMParser ile parse et, varyantları bul
9236     ============================================ */
9237  function fetchVariants(productId, productLink, callback){
9238
9239    /* Cache'te varsa hemen döndür */
9240    if(window.__luxVariantCache[productId]){
9241      callback(window.__luxVariantCache[productId]);
9242      return;
9243    }
9244
9245    fetch(productLink, {
9246      method: 'GET',
9247      credentials: 'same-origin',
9248      headers: { 'Accept': 'text/html' }
9249    })
9250    .then(function(r){ return r.text(); })
9251    .then(function(html){
9252      var parser = new DOMParser();
9253      var doc = parser.parseFromString(html, 'text/html');
9254
9255      /* Detay sayfasındaki .variant-box'ı bul */
9256      var variantBox = doc.querySelector('.variant-box');
9257      if(!variantBox){
9258        callback({ variants: [], error: 'no_variant_box' });
9259        return;
9260      }
9261
9262      /* Her varyant grubu için select'leri ve option'ları oku */
9263      var variants = [];
9264      var variantLis = variantBox.querySelectorAll('.variant');
9265
9266      variantLis.forEach(function(li, idx){
9267        var nameEl = li.querySelector('.name');
9268        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
9269
9270        var values = [];
9271
9272        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
9273        var optLinks = li.querySelectorAll('.options a');
9274
9275        if(optLinks.length > 0){
9276          optLinks.forEach(function(a){
9277            /* Beden/renk değerini doğru attribute'tan oku
9278               - data-variant-value: asıl değer (örn: "38", "KAHVE")
9279               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
9280               - textContent: fallback */
9281            var deger = a.getAttribute('data-variant-value')
9282                     || a.textContent.trim();
9283
9284            /* Stok kontrolü - birden fazla yoldan kontrol et */
9285            var isSoldOut = a.classList.contains('sold-out')
9286                         || a.classList.contains('sold_out')
9287                         || a.classList.contains('disabled')
9288                         || a.classList.contains('stoksuz')
9289                         || a.classList.contains('out-of-stock')
9290                         || a.hasAttribute('disabled')
9291                         || a.getAttribute('data-in-stock') === '0'
9292                         || a.getAttribute('data-in-stock') === 'false'
9293                         || a.getAttribute('data-stokta-var-mi') === '0'
9294                         || a.getAttribute('data-stokta-var-mi') === 'false';
9295
9296            values.push({
9297              deger: deger,
9298              inStock: !isSoldOut
9299            });
9300          });
9301        } else {
9302          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
9303          var select = li.querySelector('select');
9304          if(select){
9305            var opts = select.querySelectorAll('option');
9306            opts.forEach(function(o){
9307              if(!o.value) return;
9308              values.push({
9309                deger: o.value,
9310                inStock: !o.disabled
9311              });
9312            });
9313          }
9314        }
9315
9316        variants.push({
9317          index: idx,
9318          baslik: name,
9319          values: values
9320        });
9321      });
9322
9323      var result = { variants: variants };
9324      window.__luxVariantCache[productId] = result;
9325      callback(result);
9326    })
9327    .catch(function(err){
9328      console.error('Varyant çekme hatası:', err);
9329      callback({ variants: [], error: 'fetch_failed' });
9330    });
9331  }
9332
9333
9334  /* ============================================
9335     Beden şeridini ve gizli variant-box'ı oluştur
9336     ============================================ */
9337  function buildVariantUI(productId, data){
9338    var card = document.getElementById('card-' + productId);
9339    if(!card) return false;
9340
9341    var holder = card.querySelector('.lux-variant-box');
9342    var strip = document.getElementById('size-strip-' + productId);
9343    if(!holder || !strip) return false;
9344
9345    if(!data.variants || data.variants.length === 0){
9346      /* Varyant yok */
9347      return false;
9348    }
9349
9350    /* Çoklu değerli ilk varyantı bul (beden) */
9351    var displayVariant = null;
9352    data.variants.forEach(function(v){
9353      if(!displayVariant && v.values.length > 1){
9354        displayVariant = v;
9355      }
9356    });
9357
9358    /* Gizli variant-box HTML */
9359    var html = '<div class="variant-box"><ul>';
9360    data.variants.forEach(function(v){
9361      html += '<li class="variant">';
9362      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
9363
9364      if(v.values.length > 1){
9365        html += '<option value="">Lütfen seçin</option>';
9366      }
9367
9368      v.values.forEach(function(val, i){
9369        var selected = (v.values.length === 1) ? ' selected' : '';
9370        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
9371      });
9372
9373      html += '</select></li>';
9374    });
9375    html += '</ul></div>';
9376
9377    holder.innerHTML = html;
9378    holder.style.display = '';
9379
9380    /* Strip HTML (sadece çoklu değerli varyantlar için)
9381       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
9382    if(displayVariant){
9383      var stripHtml = '';
9384      var inStockCount = 0;
9385
9386      /* DEBUG - console'da gör */
9387      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
9388
9389      displayVariant.values.forEach(function(val){
9390        /* SADECE stokta olanları ekle */
9391        if(val.inStock === true){
9392          stripHtml += '<div class="size-item" '
9393                    + 'data-urun-id="' + productId + '" '
9394                    + 'data-varyant-deger="' + val.deger + '" '
9395                    + 'onclick="return luxAddVariant(event, this);">'
9396                    + val.deger + '</div>';
9397          inStockCount++;
9398        }
9399      });
9400
9401      /* Eğer stokta hiç beden yoksa şeridi gösterme */
9402      if(inStockCount === 0){
9403        strip.setAttribute('data-loaded', '1');
9404        strip.setAttribute('data-has-variants', '0');
9405        return false;
9406      }
9407
9408      strip.innerHTML = stripHtml;
9409      strip.setAttribute('data-loaded', '1');
9410      strip.setAttribute('data-has-variants', '1');
9411      return true;
9412    } else {
9413      strip.setAttribute('data-loaded', '1');
9414      strip.setAttribute('data-has-variants', '0');
9415      return false;
9416    }
9417  }
9418
9419
9420  /* ============================================
9421     SEPET IKONU TIKLAMASI
9422     ============================================ */
9423  window.luxBagClick = function(ev, productId){
9424    ev.preventDefault();
9425    ev.stopPropagation();
9426
9427    var card = document.getElementById('card-' + productId);
9428    var strip = document.getElementById('size-strip-' + productId);
9429    var bag = document.getElementById('lux-bag-' + productId);
9430    if(!card || !strip) return false;
9431
9432    /* Strip zaten yüklenmişse direkt davran */
9433    if(strip.getAttribute('data-loaded') === '1'){
9434      if(strip.getAttribute('data-has-variants') === '1'){
9435        toggleStrip(productId);
9436      } else {
9437        addToCartSmart(productId);
9438      }
9439      return false;
9440    }
9441
9442    /* İlk tıklama - AJAX ile varyantları çek */
9443    bag.classList.add('is-loading');
9444    var productLink = card.getAttribute('data-lux-product-link');
9445
9446    fetchVariants(productId, productLink, function(data){
9447      bag.classList.remove('is-loading');
9448
9449      var hasVariants = buildVariantUI(productId, data);
9450
9451      if(hasVariants){
9452        /* Bedenler var - şeridi aç */
9453        toggleStrip(productId);
9454      } else {
9455        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
9456        addToCartSmart(productId);
9457      }
9458    });
9459
9460    return false;
9461  };
9462
9463  function toggleStrip(productId){
9464    var strip = document.getElementById('size-strip-' + productId);
9465    var card = document.getElementById('card-' + productId);
9466    if(!strip) return;
9467
9468    document.querySelectorAll('.size-strip.open').forEach(function(s){
9469      if(s !== strip) s.classList.remove('open');
9470    });
9471    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
9472      if(c !== card) c.classList.remove('sizes-open');
9473    });
9474
9475    strip.classList.toggle('open');
9476    if(card) card.classList.toggle('sizes-open');
9477  }
9478
9479
9480  /* ============================================
9481     BEDEN TIKLAMASI
9482     ============================================ */
9483  window.luxAddVariant = function(ev, elem){
9484    ev.preventDefault();
9485    ev.stopPropagation();
9486
9487    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
9488
9489    var productId = elem.getAttribute('data-urun-id');
9490    var varyantDeger = elem.getAttribute('data-varyant-deger');
9491
9492    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
9493    if(!holder) return false;
9494
9495    /* Seçilen bedeni ilk select'e yaz */
9496    var firstSelect = holder.querySelector('select[data-variant="0"]');
9497    if(firstSelect){
9498      firstSelect.value = varyantDeger;
9499      if(typeof jQuery !== "undefined"){
9500        jQuery(firstSelect).val(varyantDeger).trigger('change');
9501      }
9502    }
9503
9504    /* Diğer select'lere ilk geçerli değeri koy */
9505    var allSelects = holder.querySelectorAll('select[data-variant]');
9506    allSelects.forEach(function(sel, idx){
9507      if(idx === 0) return;
9508      if(sel.value) return;
9509      var options = sel.querySelectorAll('option');
9510      for(var i = 0; i < options.length; i++){
9511        if(options[i].value){
9512          sel.value = options[i].value;
9513          if(typeof jQuery !== "undefined"){
9514            jQuery(sel).val(options[i].value).trigger('change');
9515          }
9516          break;
9517        }
9518      }
9519    });
9520
9521    /* Görsel feedback */
9522    elem.classList.add('adding');
9523    var originalText = elem.textContent;
9524    elem.textContent = '✓';
9525
9526    /* Sepete ekle */
9527    addToCartSmart(productId, {
9528      checkVariant: true,
9529      variantCount: allSelects.length,
9530      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
9531    });
9532
9533    setTimeout(function(){
9534      elem.textContent = originalText;
9535      elem.classList.remove('adding');
9536      closeAll();
9537    }, 800);
9538
9539    return false;
9540  };
9541
9542
9543  /* ============================================
9544     SEPETE EKLE - Modal killer ile
9545     ============================================ */
9546  function addToCartSmart(productId, extraOptions){
9547    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
9548
9549    var options = {
9550      quantity: 1,
9551      hideNativeModal: 'lux-card-' + productId
9552    };
9553
9554    if(extraOptions){
9555      Object.keys(extraOptions).forEach(function(k){
9556        options[k] = extraOptions[k];
9557      });
9558    } else if(holder){
9559      var selects = holder.querySelectorAll('select[data-variant]');
9560      if(selects.length > 0){
9561        options.checkVariant = true;
9562        options.variantCount = selects.length;
9563        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
9564      }
9565    }
9566
9567    startModalKill(2000);
9568
9569    if(typeof addCart === "function"){
9570      try {
9571        addCart(productId, 'card', options);
9572        flashSuccess(productId);
9573      } catch(err){
9574        console.error('Sepete ekleme hatası:', err);
9575      }
9576    }
9577  }
9578
9579})();
9580</script>
9580</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
9581                             data-lux-product-shell="1"
9582                             data-lux-page="1"><style>
9583@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
9584
9585/* ===== VEZZA LUX CARD ===== */
9586.card-product{
9587  font-family:'Poppins',sans-serif;
9588  background:#fff !important;
9589  position:relative;
9590}
9591.card-product-inner{
9592  background:transparent !important;
9593  position:relative;
9594}
9595.card-product .c-p-i-link,
9596.card-product a{
9597  background:transparent !important;
9598}
9599.card-product-inner > div{
9600  background:transparent !important;
9601}
9602.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
9603  background:transparent !important;
9604}
9605.card-product .card-product-content,
9606.card-product .price-group,
9607.card-product .prices{
9608  background:transparent !important;
9609}
9610[class*="skeleton"],
9611[class*="placeholder"],
9612[class*="loading"]{
9613  background:transparent !important;
9614}
9615
9616/* ===== IMAGE AREA - KARE GÖRSEL ===== */
9617.image-wrapper{
9618  position:relative;
9619  width:100%;
9620  aspect-ratio:1/1;
9621  overflow:hidden;
9622  background:#fff !important;
9623}
9624
9625.image{
9626  position:relative;
9627  width:100%;
9628  height:100%;
9629}
9630
9631.image-wrapper img{
9632  width:100% !important;
9633  height:100% !important;
9634  object-fit:cover !important;
9635  object-position:center center !important;
9636  display:block;
9637  transition:transform .35s ease;
9638}
9639
9640/* ===== DISCOUNT ===== */
9641.discount{
9642  position:absolute;
9643  top:12px;
9644  left:12px;
9645  width:28px;
9646  height:48px;
9647  background:#e10b0b;
9648  color:#fff;
9649  font-size:12px;
9650  font-weight:600;
9651  display:flex;
9652  align-items:center;
9653  justify-content:center;
9654  writing-mode:vertical-rl;
9655  transform:rotate(180deg);
9656  letter-spacing:.5px;
9657  z-index:7;
9658}
9659
9660/* ===== FAV ===== */
9661.lux-fav{
9662  position:absolute;
9663  top:12px;
9664  right:12px;
9665  z-index:7;
9666}
9667.lux-fav a,
9668.lux-fav button{
9669  background:transparent !important;
9670  border:0 !important;
9671  padding:0 !important;
9672  cursor:pointer;
9673  display:inline-flex;
9674  align-items:center;
9675  justify-content:center;
9676}
9677
9678/* ===== SEPET IKON ===== */
9679.lux-bag{
9680  position:absolute;
9681  bottom:12px;
9682  right:12px;
9683  z-index:7;
9684  width:34px;
9685  height:34px;
9686  display:inline-flex;
9687  align-items:center;
9688  justify-content:center;
9689  background:rgba(255,255,255,.92);
9690  border:1px solid rgba(0,0,0,.10);
9691  border-radius:10px;
9692  cursor:pointer;
9693  transition:.2s ease;
9694}
9695.lux-bag:hover{
9696  background:#fff;
9697  border-color:rgba(0,0,0,.25);
9698}
9699.lux-bag.is-loading{
9700  opacity:.6;
9701  cursor:wait;
9702}
9703.lux-bag.is-success{
9704  background:#2e7d32 !important;
9705  border-color:#2e7d32 !important;
9706  color:#fff !important;
9707}
9708.card-product.sizes-open .lux-bag{
9709  opacity:0;
9710  pointer-events:none;
9711}
9712
9713/* Loading spinner */
9714.lux-bag.is-loading i::before{
9715  content:"⏳";
9716}
9717
9718/* ===== SIZE STRIP ===== */
9719.size-strip{
9720  width:100%;
9721  max-height:0;
9722  overflow:hidden;
9723  background:#fff;
9724  display:flex;
9725  flex-wrap:wrap;
9726  transition:max-height .3s ease, border-color .3s ease;
9727  border-top:1px solid transparent;
9728  border-bottom:1px solid transparent;
9729}
9730.size-strip.open{
9731  max-height:200px;
9732  border-top-color:rgba(0,0,0,.08);
9733  border-bottom-color:rgba(0,0,0,.08);
9734}
9735.size-item{
9736  flex:1 0 auto;
9737  min-width:38px;
9738  height:42px;
9739  display:flex;
9740  align-items:center;
9741  justify-content:center;
9742  font-size:13px;
9743  font-weight:500;
9744  color:#111 !important;
9745  cursor:pointer;
9746  user-select:none;
9747  background:transparent;
9748  transition:background .15s ease, color .15s ease;
9749  border-right:1px solid rgba(0,0,0,.08);
9750}
9751.size-item:last-child{ border-right:0; }
9752.size-item:hover:not(.disabled):not(.adding){
9753  background:#000 !important;
9754  color:#fff !important;
9755}
9756.size-item.disabled{
9757  color:#111 !important;
9758  text-decoration:line-through !important;
9759  opacity:.30 !important;
9760  cursor:not-allowed;
9761}
9762.size-item.adding{
9763  background:#2e7d32 !important;
9764  color:#fff !important;
9765  cursor:wait;
9766}
9767
9768/* ===== META ===== */
9769.lux-meta{
9770  padding:12px 6px 6px;
9771  background:transparent !important;
9772}
9773.lux-brand{
9774  font-size:16px;
9775  font-weight:600;
9776  color:#111;
9777  margin-bottom:2px;
9778}
9779.lux-title{
9780  font-size:14px;
9781  font-weight:400;
9782  line-height:1.45;
9783  color:#111;
9784  margin:0;
9785}
9786.lux-price{
9787  margin-top:10px;
9788  display:flex;
9789  gap:10px;
9790  align-items:baseline;
9791  background:transparent !important;
9792}
9793.lux-price .list-price{
9794  font-size:14px;
9795  font-weight:400;
9796  color:#111;
9797  text-decoration:line-through;
9798}
9799.lux-price .sale-price{
9800  font-size:16px;
9801  font-weight:600;
9802  color:#e10b0b;
9803}
9804
9805.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
9806.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
9807</style><div class="card-product"
9808     id="card-10243"
9809     data-lux-card-id="10243"
9810     data-lux-product-link="https://www.vezzalux.com/dg-902-beyaz-arkasi-gold-erkek-ayakkabi"
9811     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/dg-902-beyaz-arkasi-gold-erkek-ayakkabi" class="c-p-i-link" title="Dg 902 Beyaz Arkası Gold Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c8f5455f6-17315895-sw1200sh1200.webp" alt="Dg 902 Beyaz Arkası Gold Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c8f5455f6-17315895-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c8f684b01-14901638-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
9812        onclick="userProductFavourite('add', 10243)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
9813         id="lux-bag-10243"
9814         onclick="return luxBagClick(event, 10243);"
9815         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10243" style="display:none;"></div><div class="size-strip" id="size-strip-10243" data-loaded="0"></div><a href="https://www.vezzalux.com/dg-902-beyaz-arkasi-gold-erkek-ayakkabi" class="c-p-i-link" title="Dg 902 Beyaz Arkası Gold Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Dolce Gabbana</div><div class="lux-title">Dg 902 Beyaz Arkası Gold Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
9815<script>
9816(function(){
9817
9818  /* Bir kez kur */
9819  if(window.__luxCardInit) return;
9820  window.__luxCardInit = true;
9821
9822  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
9823  window.__luxVariantCache = window.__luxVariantCache || {};
9824
9825  function closeAll(){
9826    document.querySelectorAll('.size-strip.open').forEach(function(s){
9827      s.classList.remove('open');
9828    });
9829    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
9830      c.classList.remove('sizes-open');
9831    });
9832  }
9833
9834  function flashSuccess(productId){
9835    var bag = document.getElementById('lux-bag-' + productId);
9836    if(!bag) return;
9837    bag.classList.add('is-success');
9838    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
9839  }
9840
9841  /* Dış tıklama - kapat */
9842  document.addEventListener('click', function(e){
9843    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
9844    if(!inside) closeAll();
9845  });
9846
9847  document.addEventListener('keydown', function(e){
9848    if(e.key === 'Escape') closeAll();
9849  });
9850
9851
9852  /* ============================================
9853     MODAL KILLER - yedek güvence
9854     ============================================ */
9855  var LUX_MODAL_KILL_ACTIVE = false;
9856
9857  function killVisibleModals(){
9858    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
9859    modals.forEach(function(m){
9860      var id = (m.id || '').toLowerCase();
9861      var txt = (m.textContent || '').toLowerCase();
9862      var isCartModal = id.indexOf('cart') > -1
9863                     || id.indexOf('variant') > -1
9864                     || id.indexOf('fast') > -1
9865                     || id.indexOf('urun') > -1
9866                     || txt.indexOf('lütfen seçin') > -1;
9867
9868      if(isCartModal){
9869        if(typeof jQuery !== 'undefined'){
9870          try { jQuery(m).modal('hide'); } catch(e){}
9871        }
9872        m.classList.remove('show','in');
9873        m.style.display = 'none';
9874      }
9875    });
9876
9877    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
9878    document.body.classList.remove('modal-open');
9879    document.body.style.overflow = '';
9880    document.body.style.paddingRight = '';
9881  }
9882
9883  function startModalKill(durationMs){
9884    if(LUX_MODAL_KILL_ACTIVE) return;
9885    LUX_MODAL_KILL_ACTIVE = true;
9886    killVisibleModals();
9887    var interval = setInterval(killVisibleModals, 50);
9888    setTimeout(function(){
9889      clearInterval(interval);
9890      LUX_MODAL_KILL_ACTIVE = false;
9891    }, durationMs || 2000);
9892  }
9893
9894
9895  /* ============================================
9896     AJAX: Varyantları detay sayfasından çek
9897     ============================================
9898     Ürün detay sayfasının tam HTML'ini indir,
9899     DOMParser ile parse et, varyantları bul
9900     ============================================ */
9901  function fetchVariants(productId, productLink, callback){
9902
9903    /* Cache'te varsa hemen döndür */
9904    if(window.__luxVariantCache[productId]){
9905      callback(window.__luxVariantCache[productId]);
9906      return;
9907    }
9908
9909    fetch(productLink, {
9910      method: 'GET',
9911      credentials: 'same-origin',
9912      headers: { 'Accept': 'text/html' }
9913    })
9914    .then(function(r){ return r.text(); })
9915    .then(function(html){
9916      var parser = new DOMParser();
9917      var doc = parser.parseFromString(html, 'text/html');
9918
9919      /* Detay sayfasındaki .variant-box'ı bul */
9920      var variantBox = doc.querySelector('.variant-box');
9921      if(!variantBox){
9922        callback({ variants: [], error: 'no_variant_box' });
9923        return;
9924      }
9925
9926      /* Her varyant grubu için select'leri ve option'ları oku */
9927      var variants = [];
9928      var variantLis = variantBox.querySelectorAll('.variant');
9929
9930      variantLis.forEach(function(li, idx){
9931        var nameEl = li.querySelector('.name');
9932        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
9933
9934        var values = [];
9935
9936        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
9937        var optLinks = li.querySelectorAll('.options a');
9938
9939        if(optLinks.length > 0){
9940          optLinks.forEach(function(a){
9941            /* Beden/renk değerini doğru attribute'tan oku
9942               - data-variant-value: asıl değer (örn: "38", "KAHVE")
9943               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
9944               - textContent: fallback */
9945            var deger = a.getAttribute('data-variant-value')
9946                     || a.textContent.trim();
9947
9948            /* Stok kontrolü - birden fazla yoldan kontrol et */
9949            var isSoldOut = a.classList.contains('sold-out')
9950                         || a.classList.contains('sold_out')
9951                         || a.classList.contains('disabled')
9952                         || a.classList.contains('stoksuz')
9953                         || a.classList.contains('out-of-stock')
9954                         || a.hasAttribute('disabled')
9955                         || a.getAttribute('data-in-stock') === '0'
9956                         || a.getAttribute('data-in-stock') === 'false'
9957                         || a.getAttribute('data-stokta-var-mi') === '0'
9958                         || a.getAttribute('data-stokta-var-mi') === 'false';
9959
9960            values.push({
9961              deger: deger,
9962              inStock: !isSoldOut
9963            });
9964          });
9965        } else {
9966          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
9967          var select = li.querySelector('select');
9968          if(select){
9969            var opts = select.querySelectorAll('option');
9970            opts.forEach(function(o){
9971              if(!o.value) return;
9972              values.push({
9973                deger: o.value,
9974                inStock: !o.disabled
9975              });
9976            });
9977          }
9978        }
9979
9980        variants.push({
9981          index: idx,
9982          baslik: name,
9983          values: values
9984        });
9985      });
9986
9987      var result = { variants: variants };
9988      window.__luxVariantCache[productId] = result;
9989      callback(result);
9990    })
9991    .catch(function(err){
9992      console.error('Varyant çekme hatası:', err);
9993      callback({ variants: [], error: 'fetch_failed' });
9994    });
9995  }
9996
9997
9998  /* ============================================
9999     Beden şeridini ve gizli variant-box'ı oluştur
10000     ============================================ */
10001  function buildVariantUI(productId, data){
10002    var card = document.getElementById('card-' + productId);
10003    if(!card) return false;
10004
10005    var holder = card.querySelector('.lux-variant-box');
10006    var strip = document.getElementById('size-strip-' + productId);
10007    if(!holder || !strip) return false;
10008
10009    if(!data.variants || data.variants.length === 0){
10010      /* Varyant yok */
10011      return false;
10012    }
10013
10014    /* Çoklu değerli ilk varyantı bul (beden) */
10015    var displayVariant = null;
10016    data.variants.forEach(function(v){
10017      if(!displayVariant && v.values.length > 1){
10018        displayVariant = v;
10019      }
10020    });
10021
10022    /* Gizli variant-box HTML */
10023    var html = '<div class="variant-box"><ul>';
10024    data.variants.forEach(function(v){
10025      html += '<li class="variant">';
10026      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
10027
10028      if(v.values.length > 1){
10029        html += '<option value="">Lütfen seçin</option>';
10030      }
10031
10032      v.values.forEach(function(val, i){
10033        var selected = (v.values.length === 1) ? ' selected' : '';
10034        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
10035      });
10036
10037      html += '</select></li>';
10038    });
10039    html += '</ul></div>';
10040
10041    holder.innerHTML = html;
10042    holder.style.display = '';
10043
10044    /* Strip HTML (sadece çoklu değerli varyantlar için)
10045       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
10046    if(displayVariant){
10047      var stripHtml = '';
10048      var inStockCount = 0;
10049
10050      /* DEBUG - console'da gör */
10051      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
10052
10053      displayVariant.values.forEach(function(val){
10054        /* SADECE stokta olanları ekle */
10055        if(val.inStock === true){
10056          stripHtml += '<div class="size-item" '
10057                    + 'data-urun-id="' + productId + '" '
10058                    + 'data-varyant-deger="' + val.deger + '" '
10059                    + 'onclick="return luxAddVariant(event, this);">'
10060                    + val.deger + '</div>';
10061          inStockCount++;
10062        }
10063      });
10064
10065      /* Eğer stokta hiç beden yoksa şeridi gösterme */
10066      if(inStockCount === 0){
10067        strip.setAttribute('data-loaded', '1');
10068        strip.setAttribute('data-has-variants', '0');
10069        return false;
10070      }
10071
10072      strip.innerHTML = stripHtml;
10073      strip.setAttribute('data-loaded', '1');
10074      strip.setAttribute('data-has-variants', '1');
10075      return true;
10076    } else {
10077      strip.setAttribute('data-loaded', '1');
10078      strip.setAttribute('data-has-variants', '0');
10079      return false;
10080    }
10081  }
10082
10083
10084  /* ============================================
10085     SEPET IKONU TIKLAMASI
10086     ============================================ */
10087  window.luxBagClick = function(ev, productId){
10088    ev.preventDefault();
10089    ev.stopPropagation();
10090
10091    var card = document.getElementById('card-' + productId);
10092    var strip = document.getElementById('size-strip-' + productId);
10093    var bag = document.getElementById('lux-bag-' + productId);
10094    if(!card || !strip) return false;
10095
10096    /* Strip zaten yüklenmişse direkt davran */
10097    if(strip.getAttribute('data-loaded') === '1'){
10098      if(strip.getAttribute('data-has-variants') === '1'){
10099        toggleStrip(productId);
10100      } else {
10101        addToCartSmart(productId);
10102      }
10103      return false;
10104    }
10105
10106    /* İlk tıklama - AJAX ile varyantları çek */
10107    bag.classList.add('is-loading');
10108    var productLink = card.getAttribute('data-lux-product-link');
10109
10110    fetchVariants(productId, productLink, function(data){
10111      bag.classList.remove('is-loading');
10112
10113      var hasVariants = buildVariantUI(productId, data);
10114
10115      if(hasVariants){
10116        /* Bedenler var - şeridi aç */
10117        toggleStrip(productId);
10118      } else {
10119        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
10120        addToCartSmart(productId);
10121      }
10122    });
10123
10124    return false;
10125  };
10126
10127  function toggleStrip(productId){
10128    var strip = document.getElementById('size-strip-' + productId);
10129    var card = document.getElementById('card-' + productId);
10130    if(!strip) return;
10131
10132    document.querySelectorAll('.size-strip.open').forEach(function(s){
10133      if(s !== strip) s.classList.remove('open');
10134    });
10135    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
10136      if(c !== card) c.classList.remove('sizes-open');
10137    });
10138
10139    strip.classList.toggle('open');
10140    if(card) card.classList.toggle('sizes-open');
10141  }
10142
10143
10144  /* ============================================
10145     BEDEN TIKLAMASI
10146     ============================================ */
10147  window.luxAddVariant = function(ev, elem){
10148    ev.preventDefault();
10149    ev.stopPropagation();
10150
10151    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
10152
10153    var productId = elem.getAttribute('data-urun-id');
10154    var varyantDeger = elem.getAttribute('data-varyant-deger');
10155
10156    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
10157    if(!holder) return false;
10158
10159    /* Seçilen bedeni ilk select'e yaz */
10160    var firstSelect = holder.querySelector('select[data-variant="0"]');
10161    if(firstSelect){
10162      firstSelect.value = varyantDeger;
10163      if(typeof jQuery !== "undefined"){
10164        jQuery(firstSelect).val(varyantDeger).trigger('change');
10165      }
10166    }
10167
10168    /* Diğer select'lere ilk geçerli değeri koy */
10169    var allSelects = holder.querySelectorAll('select[data-variant]');
10170    allSelects.forEach(function(sel, idx){
10171      if(idx === 0) return;
10172      if(sel.value) return;
10173      var options = sel.querySelectorAll('option');
10174      for(var i = 0; i < options.length; i++){
10175        if(options[i].value){
10176          sel.value = options[i].value;
10177          if(typeof jQuery !== "undefined"){
10178            jQuery(sel).val(options[i].value).trigger('change');
10179          }
10180          break;
10181        }
10182      }
10183    });
10184
10185    /* Görsel feedback */
10186    elem.classList.add('adding');
10187    var originalText = elem.textContent;
10188    elem.textContent = '✓';
10189
10190    /* Sepete ekle */
10191    addToCartSmart(productId, {
10192      checkVariant: true,
10193      variantCount: allSelects.length,
10194      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
10195    });
10196
10197    setTimeout(function(){
10198      elem.textContent = originalText;
10199      elem.classList.remove('adding');
10200      closeAll();
10201    }, 800);
10202
10203    return false;
10204  };
10205
10206
10207  /* ============================================
10208     SEPETE EKLE - Modal killer ile
10209     ============================================ */
10210  function addToCartSmart(productId, extraOptions){
10211    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
10212
10213    var options = {
10214      quantity: 1,
10215      hideNativeModal: 'lux-card-' + productId
10216    };
10217
10218    if(extraOptions){
10219      Object.keys(extraOptions).forEach(function(k){
10220        options[k] = extraOptions[k];
10221      });
10222    } else if(holder){
10223      var selects = holder.querySelectorAll('select[data-variant]');
10224      if(selects.length > 0){
10225        options.checkVariant = true;
10226        options.variantCount = selects.length;
10227        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
10228      }
10229    }
10230
10231    startModalKill(2000);
10232
10233    if(typeof addCart === "function"){
10234      try {
10235        addCart(productId, 'card', options);
10236        flashSuccess(productId);
10237      } catch(err){
10238        console.error('Sepete ekleme hatası:', err);
10239      }
10240    }
10241  }
10242
10243})();
10244</script>
10244</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
10245                             data-lux-product-shell="1"
10246                             data-lux-page="1"><style>
10247@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
10248
10249/* ===== VEZZA LUX CARD ===== */
10250.card-product{
10251  font-family:'Poppins',sans-serif;
10252  background:#fff !important;
10253  position:relative;
10254}
10255.card-product-inner{
10256  background:transparent !important;
10257  position:relative;
10258}
10259.card-product .c-p-i-link,
10260.card-product a{
10261  background:transparent !important;
10262}
10263.card-product-inner > div{
10264  background:transparent !important;
10265}
10266.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
10267  background:transparent !important;
10268}
10269.card-product .card-product-content,
10270.card-product .price-group,
10271.card-product .prices{
10272  background:transparent !important;
10273}
10274[class*="skeleton"],
10275[class*="placeholder"],
10276[class*="loading"]{
10277  background:transparent !important;
10278}
10279
10280/* ===== IMAGE AREA - KARE GÖRSEL ===== */
10281.image-wrapper{
10282  position:relative;
10283  width:100%;
10284  aspect-ratio:1/1;
10285  overflow:hidden;
10286  background:#fff !important;
10287}
10288
10289.image{
10290  position:relative;
10291  width:100%;
10292  height:100%;
10293}
10294
10295.image-wrapper img{
10296  width:100% !important;
10297  height:100% !important;
10298  object-fit:cover !important;
10299  object-position:center center !important;
10300  display:block;
10301  transition:transform .35s ease;
10302}
10303
10304/* ===== DISCOUNT ===== */
10305.discount{
10306  position:absolute;
10307  top:12px;
10308  left:12px;
10309  width:28px;
10310  height:48px;
10311  background:#e10b0b;
10312  color:#fff;
10313  font-size:12px;
10314  font-weight:600;
10315  display:flex;
10316  align-items:center;
10317  justify-content:center;
10318  writing-mode:vertical-rl;
10319  transform:rotate(180deg);
10320  letter-spacing:.5px;
10321  z-index:7;
10322}
10323
10324/* ===== FAV ===== */
10325.lux-fav{
10326  position:absolute;
10327  top:12px;
10328  right:12px;
10329  z-index:7;
10330}
10331.lux-fav a,
10332.lux-fav button{
10333  background:transparent !important;
10334  border:0 !important;
10335  padding:0 !important;
10336  cursor:pointer;
10337  display:inline-flex;
10338  align-items:center;
10339  justify-content:center;
10340}
10341
10342/* ===== SEPET IKON ===== */
10343.lux-bag{
10344  position:absolute;
10345  bottom:12px;
10346  right:12px;
10347  z-index:7;
10348  width:34px;
10349  height:34px;
10350  display:inline-flex;
10351  align-items:center;
10352  justify-content:center;
10353  background:rgba(255,255,255,.92);
10354  border:1px solid rgba(0,0,0,.10);
10355  border-radius:10px;
10356  cursor:pointer;
10357  transition:.2s ease;
10358}
10359.lux-bag:hover{
10360  background:#fff;
10361  border-color:rgba(0,0,0,.25);
10362}
10363.lux-bag.is-loading{
10364  opacity:.6;
10365  cursor:wait;
10366}
10367.lux-bag.is-success{
10368  background:#2e7d32 !important;
10369  border-color:#2e7d32 !important;
10370  color:#fff !important;
10371}
10372.card-product.sizes-open .lux-bag{
10373  opacity:0;
10374  pointer-events:none;
10375}
10376
10377/* Loading spinner */
10378.lux-bag.is-loading i::before{
10379  content:"⏳";
10380}
10381
10382/* ===== SIZE STRIP ===== */
10383.size-strip{
10384  width:100%;
10385  max-height:0;
10386  overflow:hidden;
10387  background:#fff;
10388  display:flex;
10389  flex-wrap:wrap;
10390  transition:max-height .3s ease, border-color .3s ease;
10391  border-top:1px solid transparent;
10392  border-bottom:1px solid transparent;
10393}
10394.size-strip.open{
10395  max-height:200px;
10396  border-top-color:rgba(0,0,0,.08);
10397  border-bottom-color:rgba(0,0,0,.08);
10398}
10399.size-item{
10400  flex:1 0 auto;
10401  min-width:38px;
10402  height:42px;
10403  display:flex;
10404  align-items:center;
10405  justify-content:center;
10406  font-size:13px;
10407  font-weight:500;
10408  color:#111 !important;
10409  cursor:pointer;
10410  user-select:none;
10411  background:transparent;
10412  transition:background .15s ease, color .15s ease;
10413  border-right:1px solid rgba(0,0,0,.08);
10414}
10415.size-item:last-child{ border-right:0; }
10416.size-item:hover:not(.disabled):not(.adding){
10417  background:#000 !important;
10418  color:#fff !important;
10419}
10420.size-item.disabled{
10421  color:#111 !important;
10422  text-decoration:line-through !important;
10423  opacity:.30 !important;
10424  cursor:not-allowed;
10425}
10426.size-item.adding{
10427  background:#2e7d32 !important;
10428  color:#fff !important;
10429  cursor:wait;
10430}
10431
10432/* ===== META ===== */
10433.lux-meta{
10434  padding:12px 6px 6px;
10435  background:transparent !important;
10436}
10437.lux-brand{
10438  font-size:16px;
10439  font-weight:600;
10440  color:#111;
10441  margin-bottom:2px;
10442}
10443.lux-title{
10444  font-size:14px;
10445  font-weight:400;
10446  line-height:1.45;
10447  color:#111;
10448  margin:0;
10449}
10450.lux-price{
10451  margin-top:10px;
10452  display:flex;
10453  gap:10px;
10454  align-items:baseline;
10455  background:transparent !important;
10456}
10457.lux-price .list-price{
10458  font-size:14px;
10459  font-weight:400;
10460  color:#111;
10461  text-decoration:line-through;
10462}
10463.lux-price .sale-price{
10464  font-size:16px;
10465  font-weight:600;
10466  color:#e10b0b;
10467}
10468
10469.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
10470.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
10471</style><div class="card-product"
10472     id="card-10306"
10473     data-lux-card-id="10306"
10474     data-lux-product-link="https://www.vezzalux.com/mcq-983-full-beyaz-desenli-erkek-ayakkabi"
10475     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/mcq-983-full-beyaz-desenli-erkek-ayakkabi" class="c-p-i-link" title="Mcq 983 Full Beyaz Desenli Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca7bd3539-57314459-sw1200sh1200.webp" alt="Mcq 983 Full Beyaz Desenli Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca7bd3539-57314459-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca7d26587-11767484-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
10476        onclick="userProductFavourite('add', 10306)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
10477         id="lux-bag-10306"
10478         onclick="return luxBagClick(event, 10306);"
10479         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10306" style="display:none;"></div><div class="size-strip" id="size-strip-10306" data-loaded="0"></div><a href="https://www.vezzalux.com/mcq-983-full-beyaz-desenli-erkek-ayakkabi" class="c-p-i-link" title="Mcq 983 Full Beyaz Desenli Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Alexander Mcqueen</div><div class="lux-title">Mcq 983 Full Beyaz Desenli Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
10479<script>
10480(function(){
10481
10482  /* Bir kez kur */
10483  if(window.__luxCardInit) return;
10484  window.__luxCardInit = true;
10485
10486  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
10487  window.__luxVariantCache = window.__luxVariantCache || {};
10488
10489  function closeAll(){
10490    document.querySelectorAll('.size-strip.open').forEach(function(s){
10491      s.classList.remove('open');
10492    });
10493    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
10494      c.classList.remove('sizes-open');
10495    });
10496  }
10497
10498  function flashSuccess(productId){
10499    var bag = document.getElementById('lux-bag-' + productId);
10500    if(!bag) return;
10501    bag.classList.add('is-success');
10502    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
10503  }
10504
10505  /* Dış tıklama - kapat */
10506  document.addEventListener('click', function(e){
10507    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
10508    if(!inside) closeAll();
10509  });
10510
10511  document.addEventListener('keydown', function(e){
10512    if(e.key === 'Escape') closeAll();
10513  });
10514
10515
10516  /* ============================================
10517     MODAL KILLER - yedek güvence
10518     ============================================ */
10519  var LUX_MODAL_KILL_ACTIVE = false;
10520
10521  function killVisibleModals(){
10522    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
10523    modals.forEach(function(m){
10524      var id = (m.id || '').toLowerCase();
10525      var txt = (m.textContent || '').toLowerCase();
10526      var isCartModal = id.indexOf('cart') > -1
10527                     || id.indexOf('variant') > -1
10528                     || id.indexOf('fast') > -1
10529                     || id.indexOf('urun') > -1
10530                     || txt.indexOf('lütfen seçin') > -1;
10531
10532      if(isCartModal){
10533        if(typeof jQuery !== 'undefined'){
10534          try { jQuery(m).modal('hide'); } catch(e){}
10535        }
10536        m.classList.remove('show','in');
10537        m.style.display = 'none';
10538      }
10539    });
10540
10541    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
10542    document.body.classList.remove('modal-open');
10543    document.body.style.overflow = '';
10544    document.body.style.paddingRight = '';
10545  }
10546
10547  function startModalKill(durationMs){
10548    if(LUX_MODAL_KILL_ACTIVE) return;
10549    LUX_MODAL_KILL_ACTIVE = true;
10550    killVisibleModals();
10551    var interval = setInterval(killVisibleModals, 50);
10552    setTimeout(function(){
10553      clearInterval(interval);
10554      LUX_MODAL_KILL_ACTIVE = false;
10555    }, durationMs || 2000);
10556  }
10557
10558
10559  /* ============================================
10560     AJAX: Varyantları detay sayfasından çek
10561     ============================================
10562     Ürün detay sayfasının tam HTML'ini indir,
10563     DOMParser ile parse et, varyantları bul
10564     ============================================ */
10565  function fetchVariants(productId, productLink, callback){
10566
10567    /* Cache'te varsa hemen döndür */
10568    if(window.__luxVariantCache[productId]){
10569      callback(window.__luxVariantCache[productId]);
10570      return;
10571    }
10572
10573    fetch(productLink, {
10574      method: 'GET',
10575      credentials: 'same-origin',
10576      headers: { 'Accept': 'text/html' }
10577    })
10578    .then(function(r){ return r.text(); })
10579    .then(function(html){
10580      var parser = new DOMParser();
10581      var doc = parser.parseFromString(html, 'text/html');
10582
10583      /* Detay sayfasındaki .variant-box'ı bul */
10584      var variantBox = doc.querySelector('.variant-box');
10585      if(!variantBox){
10586        callback({ variants: [], error: 'no_variant_box' });
10587        return;
10588      }
10589
10590      /* Her varyant grubu için select'leri ve option'ları oku */
10591      var variants = [];
10592      var variantLis = variantBox.querySelectorAll('.variant');
10593
10594      variantLis.forEach(function(li, idx){
10595        var nameEl = li.querySelector('.name');
10596        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
10597
10598        var values = [];
10599
10600        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
10601        var optLinks = li.querySelectorAll('.options a');
10602
10603        if(optLinks.length > 0){
10604          optLinks.forEach(function(a){
10605            /* Beden/renk değerini doğru attribute'tan oku
10606               - data-variant-value: asıl değer (örn: "38", "KAHVE")
10607               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
10608               - textContent: fallback */
10609            var deger = a.getAttribute('data-variant-value')
10610                     || a.textContent.trim();
10611
10612            /* Stok kontrolü - birden fazla yoldan kontrol et */
10613            var isSoldOut = a.classList.contains('sold-out')
10614                         || a.classList.contains('sold_out')
10615                         || a.classList.contains('disabled')
10616                         || a.classList.contains('stoksuz')
10617                         || a.classList.contains('out-of-stock')
10618                         || a.hasAttribute('disabled')
10619                         || a.getAttribute('data-in-stock') === '0'
10620                         || a.getAttribute('data-in-stock') === 'false'
10621                         || a.getAttribute('data-stokta-var-mi') === '0'
10622                         || a.getAttribute('data-stokta-var-mi') === 'false';
10623
10624            values.push({
10625              deger: deger,
10626              inStock: !isSoldOut
10627            });
10628          });
10629        } else {
10630          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
10631          var select = li.querySelector('select');
10632          if(select){
10633            var opts = select.querySelectorAll('option');
10634            opts.forEach(function(o){
10635              if(!o.value) return;
10636              values.push({
10637                deger: o.value,
10638                inStock: !o.disabled
10639              });
10640            });
10641          }
10642        }
10643
10644        variants.push({
10645          index: idx,
10646          baslik: name,
10647          values: values
10648        });
10649      });
10650
10651      var result = { variants: variants };
10652      window.__luxVariantCache[productId] = result;
10653      callback(result);
10654    })
10655    .catch(function(err){
10656      console.error('Varyant çekme hatası:', err);
10657      callback({ variants: [], error: 'fetch_failed' });
10658    });
10659  }
10660
10661
10662  /* ============================================
10663     Beden şeridini ve gizli variant-box'ı oluştur
10664     ============================================ */
10665  function buildVariantUI(productId, data){
10666    var card = document.getElementById('card-' + productId);
10667    if(!card) return false;
10668
10669    var holder = card.querySelector('.lux-variant-box');
10670    var strip = document.getElementById('size-strip-' + productId);
10671    if(!holder || !strip) return false;
10672
10673    if(!data.variants || data.variants.length === 0){
10674      /* Varyant yok */
10675      return false;
10676    }
10677
10678    /* Çoklu değerli ilk varyantı bul (beden) */
10679    var displayVariant = null;
10680    data.variants.forEach(function(v){
10681      if(!displayVariant && v.values.length > 1){
10682        displayVariant = v;
10683      }
10684    });
10685
10686    /* Gizli variant-box HTML */
10687    var html = '<div class="variant-box"><ul>';
10688    data.variants.forEach(function(v){
10689      html += '<li class="variant">';
10690      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
10691
10692      if(v.values.length > 1){
10693        html += '<option value="">Lütfen seçin</option>';
10694      }
10695
10696      v.values.forEach(function(val, i){
10697        var selected = (v.values.length === 1) ? ' selected' : '';
10698        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
10699      });
10700
10701      html += '</select></li>';
10702    });
10703    html += '</ul></div>';
10704
10705    holder.innerHTML = html;
10706    holder.style.display = '';
10707
10708    /* Strip HTML (sadece çoklu değerli varyantlar için)
10709       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
10710    if(displayVariant){
10711      var stripHtml = '';
10712      var inStockCount = 0;
10713
10714      /* DEBUG - console'da gör */
10715      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
10716
10717      displayVariant.values.forEach(function(val){
10718        /* SADECE stokta olanları ekle */
10719        if(val.inStock === true){
10720          stripHtml += '<div class="size-item" '
10721                    + 'data-urun-id="' + productId + '" '
10722                    + 'data-varyant-deger="' + val.deger + '" '
10723                    + 'onclick="return luxAddVariant(event, this);">'
10724                    + val.deger + '</div>';
10725          inStockCount++;
10726        }
10727      });
10728
10729      /* Eğer stokta hiç beden yoksa şeridi gösterme */
10730      if(inStockCount === 0){
10731        strip.setAttribute('data-loaded', '1');
10732        strip.setAttribute('data-has-variants', '0');
10733        return false;
10734      }
10735
10736      strip.innerHTML = stripHtml;
10737      strip.setAttribute('data-loaded', '1');
10738      strip.setAttribute('data-has-variants', '1');
10739      return true;
10740    } else {
10741      strip.setAttribute('data-loaded', '1');
10742      strip.setAttribute('data-has-variants', '0');
10743      return false;
10744    }
10745  }
10746
10747
10748  /* ============================================
10749     SEPET IKONU TIKLAMASI
10750     ============================================ */
10751  window.luxBagClick = function(ev, productId){
10752    ev.preventDefault();
10753    ev.stopPropagation();
10754
10755    var card = document.getElementById('card-' + productId);
10756    var strip = document.getElementById('size-strip-' + productId);
10757    var bag = document.getElementById('lux-bag-' + productId);
10758    if(!card || !strip) return false;
10759
10760    /* Strip zaten yüklenmişse direkt davran */
10761    if(strip.getAttribute('data-loaded') === '1'){
10762      if(strip.getAttribute('data-has-variants') === '1'){
10763        toggleStrip(productId);
10764      } else {
10765        addToCartSmart(productId);
10766      }
10767      return false;
10768    }
10769
10770    /* İlk tıklama - AJAX ile varyantları çek */
10771    bag.classList.add('is-loading');
10772    var productLink = card.getAttribute('data-lux-product-link');
10773
10774    fetchVariants(productId, productLink, function(data){
10775      bag.classList.remove('is-loading');
10776
10777      var hasVariants = buildVariantUI(productId, data);
10778
10779      if(hasVariants){
10780        /* Bedenler var - şeridi aç */
10781        toggleStrip(productId);
10782      } else {
10783        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
10784        addToCartSmart(productId);
10785      }
10786    });
10787
10788    return false;
10789  };
10790
10791  function toggleStrip(productId){
10792    var strip = document.getElementById('size-strip-' + productId);
10793    var card = document.getElementById('card-' + productId);
10794    if(!strip) return;
10795
10796    document.querySelectorAll('.size-strip.open').forEach(function(s){
10797      if(s !== strip) s.classList.remove('open');
10798    });
10799    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
10800      if(c !== card) c.classList.remove('sizes-open');
10801    });
10802
10803    strip.classList.toggle('open');
10804    if(card) card.classList.toggle('sizes-open');
10805  }
10806
10807
10808  /* ============================================
10809     BEDEN TIKLAMASI
10810     ============================================ */
10811  window.luxAddVariant = function(ev, elem){
10812    ev.preventDefault();
10813    ev.stopPropagation();
10814
10815    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
10816
10817    var productId = elem.getAttribute('data-urun-id');
10818    var varyantDeger = elem.getAttribute('data-varyant-deger');
10819
10820    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
10821    if(!holder) return false;
10822
10823    /* Seçilen bedeni ilk select'e yaz */
10824    var firstSelect = holder.querySelector('select[data-variant="0"]');
10825    if(firstSelect){
10826      firstSelect.value = varyantDeger;
10827      if(typeof jQuery !== "undefined"){
10828        jQuery(firstSelect).val(varyantDeger).trigger('change');
10829      }
10830    }
10831
10832    /* Diğer select'lere ilk geçerli değeri koy */
10833    var allSelects = holder.querySelectorAll('select[data-variant]');
10834    allSelects.forEach(function(sel, idx){
10835      if(idx === 0) return;
10836      if(sel.value) return;
10837      var options = sel.querySelectorAll('option');
10838      for(var i = 0; i < options.length; i++){
10839        if(options[i].value){
10840          sel.value = options[i].value;
10841          if(typeof jQuery !== "undefined"){
10842            jQuery(sel).val(options[i].value).trigger('change');
10843          }
10844          break;
10845        }
10846      }
10847    });
10848
10849    /* Görsel feedback */
10850    elem.classList.add('adding');
10851    var originalText = elem.textContent;
10852    elem.textContent = '✓';
10853
10854    /* Sepete ekle */
10855    addToCartSmart(productId, {
10856      checkVariant: true,
10857      variantCount: allSelects.length,
10858      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
10859    });
10860
10861    setTimeout(function(){
10862      elem.textContent = originalText;
10863      elem.classList.remove('adding');
10864      closeAll();
10865    }, 800);
10866
10867    return false;
10868  };
10869
10870
10871  /* ============================================
10872     SEPETE EKLE - Modal killer ile
10873     ============================================ */
10874  function addToCartSmart(productId, extraOptions){
10875    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
10876
10877    var options = {
10878      quantity: 1,
10879      hideNativeModal: 'lux-card-' + productId
10880    };
10881
10882    if(extraOptions){
10883      Object.keys(extraOptions).forEach(function(k){
10884        options[k] = extraOptions[k];
10885      });
10886    } else if(holder){
10887      var selects = holder.querySelectorAll('select[data-variant]');
10888      if(selects.length > 0){
10889        options.checkVariant = true;
10890        options.variantCount = selects.length;
10891        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
10892      }
10893    }
10894
10895    startModalKill(2000);
10896
10897    if(typeof addCart === "function"){
10898      try {
10899        addCart(productId, 'card', options);
10900        flashSuccess(productId);
10901      } catch(err){
10902        console.error('Sepete ekleme hatası:', err);
10903      }
10904    }
10905  }
10906
10907})();
10908</script>
10908</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
10909                             data-lux-product-shell="1"
10910                             data-lux-page="1"><style>
10911@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
10912
10913/* ===== VEZZA LUX CARD ===== */
10914.card-product{
10915  font-family:'Poppins',sans-serif;
10916  background:#fff !important;
10917  position:relative;
10918}
10919.card-product-inner{
10920  background:transparent !important;
10921  position:relative;
10922}
10923.card-product .c-p-i-link,
10924.card-product a{
10925  background:transparent !important;
10926}
10927.card-product-inner > div{
10928  background:transparent !important;
10929}
10930.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
10931  background:transparent !important;
10932}
10933.card-product .card-product-content,
10934.card-product .price-group,
10935.card-product .prices{
10936  background:transparent !important;
10937}
10938[class*="skeleton"],
10939[class*="placeholder"],
10940[class*="loading"]{
10941  background:transparent !important;
10942}
10943
10944/* ===== IMAGE AREA - KARE GÖRSEL ===== */
10945.image-wrapper{
10946  position:relative;
10947  width:100%;
10948  aspect-ratio:1/1;
10949  overflow:hidden;
10950  background:#fff !important;
10951}
10952
10953.image{
10954  position:relative;
10955  width:100%;
10956  height:100%;
10957}
10958
10959.image-wrapper img{
10960  width:100% !important;
10961  height:100% !important;
10962  object-fit:cover !important;
10963  object-position:center center !important;
10964  display:block;
10965  transition:transform .35s ease;
10966}
10967
10968/* ===== DISCOUNT ===== */
10969.discount{
10970  position:absolute;
10971  top:12px;
10972  left:12px;
10973  width:28px;
10974  height:48px;
10975  background:#e10b0b;
10976  color:#fff;
10977  font-size:12px;
10978  font-weight:600;
10979  display:flex;
10980  align-items:center;
10981  justify-content:center;
10982  writing-mode:vertical-rl;
10983  transform:rotate(180deg);
10984  letter-spacing:.5px;
10985  z-index:7;
10986}
10987
10988/* ===== FAV ===== */
10989.lux-fav{
10990  position:absolute;
10991  top:12px;
10992  right:12px;
10993  z-index:7;
10994}
10995.lux-fav a,
10996.lux-fav button{
10997  background:transparent !important;
10998  border:0 !important;
10999  padding:0 !important;
11000  cursor:pointer;
11001  display:inline-flex;
11002  align-items:center;
11003  justify-content:center;
11004}
11005
11006/* ===== SEPET IKON ===== */
11007.lux-bag{
11008  position:absolute;
11009  bottom:12px;
11010  right:12px;
11011  z-index:7;
11012  width:34px;
11013  height:34px;
11014  display:inline-flex;
11015  align-items:center;
11016  justify-content:center;
11017  background:rgba(255,255,255,.92);
11018  border:1px solid rgba(0,0,0,.10);
11019  border-radius:10px;
11020  cursor:pointer;
11021  transition:.2s ease;
11022}
11023.lux-bag:hover{
11024  background:#fff;
11025  border-color:rgba(0,0,0,.25);
11026}
11027.lux-bag.is-loading{
11028  opacity:.6;
11029  cursor:wait;
11030}
11031.lux-bag.is-success{
11032  background:#2e7d32 !important;
11033  border-color:#2e7d32 !important;
11034  color:#fff !important;
11035}
11036.card-product.sizes-open .lux-bag{
11037  opacity:0;
11038  pointer-events:none;
11039}
11040
11041/* Loading spinner */
11042.lux-bag.is-loading i::before{
11043  content:"⏳";
11044}
11045
11046/* ===== SIZE STRIP ===== */
11047.size-strip{
11048  width:100%;
11049  max-height:0;
11050  overflow:hidden;
11051  background:#fff;
11052  display:flex;
11053  flex-wrap:wrap;
11054  transition:max-height .3s ease, border-color .3s ease;
11055  border-top:1px solid transparent;
11056  border-bottom:1px solid transparent;
11057}
11058.size-strip.open{
11059  max-height:200px;
11060  border-top-color:rgba(0,0,0,.08);
11061  border-bottom-color:rgba(0,0,0,.08);
11062}
11063.size-item{
11064  flex:1 0 auto;
11065  min-width:38px;
11066  height:42px;
11067  display:flex;
11068  align-items:center;
11069  justify-content:center;
11070  font-size:13px;
11071  font-weight:500;
11072  color:#111 !important;
11073  cursor:pointer;
11074  user-select:none;
11075  background:transparent;
11076  transition:background .15s ease, color .15s ease;
11077  border-right:1px solid rgba(0,0,0,.08);
11078}
11079.size-item:last-child{ border-right:0; }
11080.size-item:hover:not(.disabled):not(.adding){
11081  background:#000 !important;
11082  color:#fff !important;
11083}
11084.size-item.disabled{
11085  color:#111 !important;
11086  text-decoration:line-through !important;
11087  opacity:.30 !important;
11088  cursor:not-allowed;
11089}
11090.size-item.adding{
11091  background:#2e7d32 !important;
11092  color:#fff !important;
11093  cursor:wait;
11094}
11095
11096/* ===== META ===== */
11097.lux-meta{
11098  padding:12px 6px 6px;
11099  background:transparent !important;
11100}
11101.lux-brand{
11102  font-size:16px;
11103  font-weight:600;
11104  color:#111;
11105  margin-bottom:2px;
11106}
11107.lux-title{
11108  font-size:14px;
11109  font-weight:400;
11110  line-height:1.45;
11111  color:#111;
11112  margin:0;
11113}
11114.lux-price{
11115  margin-top:10px;
11116  display:flex;
11117  gap:10px;
11118  align-items:baseline;
11119  background:transparent !important;
11120}
11121.lux-price .list-price{
11122  font-size:14px;
11123  font-weight:400;
11124  color:#111;
11125  text-decoration:line-through;
11126}
11127.lux-price .sale-price{
11128  font-size:16px;
11129  font-weight:600;
11130  color:#e10b0b;
11131}
11132
11133.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
11134.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
11135</style><div class="card-product"
11136     id="card-10200"
11137     data-lux-card-id="10200"
11138     data-lux-product-link="https://www.vezzalux.com/gg-855-beyaz-tuylu-erkek-ayakkabi"
11139     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/gg-855-beyaz-tuylu-erkek-ayakkabi" class="c-p-i-link" title="Gg 855 Beyaz Tüylü Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c7e49cdd1-2677124-sw1200sh1200.webp" alt="Gg 855 Beyaz Tüylü Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c7e49cdd1-2677124-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c7e1a2082-49775039-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
11140        onclick="userProductFavourite('add', 10200)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
11141         id="lux-bag-10200"
11142         onclick="return luxBagClick(event, 10200);"
11143         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10200" style="display:none;"></div><div class="size-strip" id="size-strip-10200" data-loaded="0"></div><a href="https://www.vezzalux.com/gg-855-beyaz-tuylu-erkek-ayakkabi" class="c-p-i-link" title="Gg 855 Beyaz Tüylü Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Golden Goose</div><div class="lux-title">Gg 855 Beyaz Tüylü Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">10.499,00 TL</div></div></div></a></div></div>
11143<script>
11144(function(){
11145
11146  /* Bir kez kur */
11147  if(window.__luxCardInit) return;
11148  window.__luxCardInit = true;
11149
11150  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
11151  window.__luxVariantCache = window.__luxVariantCache || {};
11152
11153  function closeAll(){
11154    document.querySelectorAll('.size-strip.open').forEach(function(s){
11155      s.classList.remove('open');
11156    });
11157    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
11158      c.classList.remove('sizes-open');
11159    });
11160  }
11161
11162  function flashSuccess(productId){
11163    var bag = document.getElementById('lux-bag-' + productId);
11164    if(!bag) return;
11165    bag.classList.add('is-success');
11166    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
11167  }
11168
11169  /* Dış tıklama - kapat */
11170  document.addEventListener('click', function(e){
11171    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
11172    if(!inside) closeAll();
11173  });
11174
11175  document.addEventListener('keydown', function(e){
11176    if(e.key === 'Escape') closeAll();
11177  });
11178
11179
11180  /* ============================================
11181     MODAL KILLER - yedek güvence
11182     ============================================ */
11183  var LUX_MODAL_KILL_ACTIVE = false;
11184
11185  function killVisibleModals(){
11186    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
11187    modals.forEach(function(m){
11188      var id = (m.id || '').toLowerCase();
11189      var txt = (m.textContent || '').toLowerCase();
11190      var isCartModal = id.indexOf('cart') > -1
11191                     || id.indexOf('variant') > -1
11192                     || id.indexOf('fast') > -1
11193                     || id.indexOf('urun') > -1
11194                     || txt.indexOf('lütfen seçin') > -1;
11195
11196      if(isCartModal){
11197        if(typeof jQuery !== 'undefined'){
11198          try { jQuery(m).modal('hide'); } catch(e){}
11199        }
11200        m.classList.remove('show','in');
11201        m.style.display = 'none';
11202      }
11203    });
11204
11205    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
11206    document.body.classList.remove('modal-open');
11207    document.body.style.overflow = '';
11208    document.body.style.paddingRight = '';
11209  }
11210
11211  function startModalKill(durationMs){
11212    if(LUX_MODAL_KILL_ACTIVE) return;
11213    LUX_MODAL_KILL_ACTIVE = true;
11214    killVisibleModals();
11215    var interval = setInterval(killVisibleModals, 50);
11216    setTimeout(function(){
11217      clearInterval(interval);
11218      LUX_MODAL_KILL_ACTIVE = false;
11219    }, durationMs || 2000);
11220  }
11221
11222
11223  /* ============================================
11224     AJAX: Varyantları detay sayfasından çek
11225     ============================================
11226     Ürün detay sayfasının tam HTML'ini indir,
11227     DOMParser ile parse et, varyantları bul
11228     ============================================ */
11229  function fetchVariants(productId, productLink, callback){
11230
11231    /* Cache'te varsa hemen döndür */
11232    if(window.__luxVariantCache[productId]){
11233      callback(window.__luxVariantCache[productId]);
11234      return;
11235    }
11236
11237    fetch(productLink, {
11238      method: 'GET',
11239      credentials: 'same-origin',
11240      headers: { 'Accept': 'text/html' }
11241    })
11242    .then(function(r){ return r.text(); })
11243    .then(function(html){
11244      var parser = new DOMParser();
11245      var doc = parser.parseFromString(html, 'text/html');
11246
11247      /* Detay sayfasındaki .variant-box'ı bul */
11248      var variantBox = doc.querySelector('.variant-box');
11249      if(!variantBox){
11250        callback({ variants: [], error: 'no_variant_box' });
11251        return;
11252      }
11253
11254      /* Her varyant grubu için select'leri ve option'ları oku */
11255      var variants = [];
11256      var variantLis = variantBox.querySelectorAll('.variant');
11257
11258      variantLis.forEach(function(li, idx){
11259        var nameEl = li.querySelector('.name');
11260        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
11261
11262        var values = [];
11263
11264        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
11265        var optLinks = li.querySelectorAll('.options a');
11266
11267        if(optLinks.length > 0){
11268          optLinks.forEach(function(a){
11269            /* Beden/renk değerini doğru attribute'tan oku
11270               - data-variant-value: asıl değer (örn: "38", "KAHVE")
11271               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
11272               - textContent: fallback */
11273            var deger = a.getAttribute('data-variant-value')
11274                     || a.textContent.trim();
11275
11276            /* Stok kontrolü - birden fazla yoldan kontrol et */
11277            var isSoldOut = a.classList.contains('sold-out')
11278                         || a.classList.contains('sold_out')
11279                         || a.classList.contains('disabled')
11280                         || a.classList.contains('stoksuz')
11281                         || a.classList.contains('out-of-stock')
11282                         || a.hasAttribute('disabled')
11283                         || a.getAttribute('data-in-stock') === '0'
11284                         || a.getAttribute('data-in-stock') === 'false'
11285                         || a.getAttribute('data-stokta-var-mi') === '0'
11286                         || a.getAttribute('data-stokta-var-mi') === 'false';
11287
11288            values.push({
11289              deger: deger,
11290              inStock: !isSoldOut
11291            });
11292          });
11293        } else {
11294          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
11295          var select = li.querySelector('select');
11296          if(select){
11297            var opts = select.querySelectorAll('option');
11298            opts.forEach(function(o){
11299              if(!o.value) return;
11300              values.push({
11301                deger: o.value,
11302                inStock: !o.disabled
11303              });
11304            });
11305          }
11306        }
11307
11308        variants.push({
11309          index: idx,
11310          baslik: name,
11311          values: values
11312        });
11313      });
11314
11315      var result = { variants: variants };
11316      window.__luxVariantCache[productId] = result;
11317      callback(result);
11318    })
11319    .catch(function(err){
11320      console.error('Varyant çekme hatası:', err);
11321      callback({ variants: [], error: 'fetch_failed' });
11322    });
11323  }
11324
11325
11326  /* ============================================
11327     Beden şeridini ve gizli variant-box'ı oluştur
11328     ============================================ */
11329  function buildVariantUI(productId, data){
11330    var card = document.getElementById('card-' + productId);
11331    if(!card) return false;
11332
11333    var holder = card.querySelector('.lux-variant-box');
11334    var strip = document.getElementById('size-strip-' + productId);
11335    if(!holder || !strip) return false;
11336
11337    if(!data.variants || data.variants.length === 0){
11338      /* Varyant yok */
11339      return false;
11340    }
11341
11342    /* Çoklu değerli ilk varyantı bul (beden) */
11343    var displayVariant = null;
11344    data.variants.forEach(function(v){
11345      if(!displayVariant && v.values.length > 1){
11346        displayVariant = v;
11347      }
11348    });
11349
11350    /* Gizli variant-box HTML */
11351    var html = '<div class="variant-box"><ul>';
11352    data.variants.forEach(function(v){
11353      html += '<li class="variant">';
11354      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
11355
11356      if(v.values.length > 1){
11357        html += '<option value="">Lütfen seçin</option>';
11358      }
11359
11360      v.values.forEach(function(val, i){
11361        var selected = (v.values.length === 1) ? ' selected' : '';
11362        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
11363      });
11364
11365      html += '</select></li>';
11366    });
11367    html += '</ul></div>';
11368
11369    holder.innerHTML = html;
11370    holder.style.display = '';
11371
11372    /* Strip HTML (sadece çoklu değerli varyantlar için)
11373       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
11374    if(displayVariant){
11375      var stripHtml = '';
11376      var inStockCount = 0;
11377
11378      /* DEBUG - console'da gör */
11379      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
11380
11381      displayVariant.values.forEach(function(val){
11382        /* SADECE stokta olanları ekle */
11383        if(val.inStock === true){
11384          stripHtml += '<div class="size-item" '
11385                    + 'data-urun-id="' + productId + '" '
11386                    + 'data-varyant-deger="' + val.deger + '" '
11387                    + 'onclick="return luxAddVariant(event, this);">'
11388                    + val.deger + '</div>';
11389          inStockCount++;
11390        }
11391      });
11392
11393      /* Eğer stokta hiç beden yoksa şeridi gösterme */
11394      if(inStockCount === 0){
11395        strip.setAttribute('data-loaded', '1');
11396        strip.setAttribute('data-has-variants', '0');
11397        return false;
11398      }
11399
11400      strip.innerHTML = stripHtml;
11401      strip.setAttribute('data-loaded', '1');
11402      strip.setAttribute('data-has-variants', '1');
11403      return true;
11404    } else {
11405      strip.setAttribute('data-loaded', '1');
11406      strip.setAttribute('data-has-variants', '0');
11407      return false;
11408    }
11409  }
11410
11411
11412  /* ============================================
11413     SEPET IKONU TIKLAMASI
11414     ============================================ */
11415  window.luxBagClick = function(ev, productId){
11416    ev.preventDefault();
11417    ev.stopPropagation();
11418
11419    var card = document.getElementById('card-' + productId);
11420    var strip = document.getElementById('size-strip-' + productId);
11421    var bag = document.getElementById('lux-bag-' + productId);
11422    if(!card || !strip) return false;
11423
11424    /* Strip zaten yüklenmişse direkt davran */
11425    if(strip.getAttribute('data-loaded') === '1'){
11426      if(strip.getAttribute('data-has-variants') === '1'){
11427        toggleStrip(productId);
11428      } else {
11429        addToCartSmart(productId);
11430      }
11431      return false;
11432    }
11433
11434    /* İlk tıklama - AJAX ile varyantları çek */
11435    bag.classList.add('is-loading');
11436    var productLink = card.getAttribute('data-lux-product-link');
11437
11438    fetchVariants(productId, productLink, function(data){
11439      bag.classList.remove('is-loading');
11440
11441      var hasVariants = buildVariantUI(productId, data);
11442
11443      if(hasVariants){
11444        /* Bedenler var - şeridi aç */
11445        toggleStrip(productId);
11446      } else {
11447        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
11448        addToCartSmart(productId);
11449      }
11450    });
11451
11452    return false;
11453  };
11454
11455  function toggleStrip(productId){
11456    var strip = document.getElementById('size-strip-' + productId);
11457    var card = document.getElementById('card-' + productId);
11458    if(!strip) return;
11459
11460    document.querySelectorAll('.size-strip.open').forEach(function(s){
11461      if(s !== strip) s.classList.remove('open');
11462    });
11463    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
11464      if(c !== card) c.classList.remove('sizes-open');
11465    });
11466
11467    strip.classList.toggle('open');
11468    if(card) card.classList.toggle('sizes-open');
11469  }
11470
11471
11472  /* ============================================
11473     BEDEN TIKLAMASI
11474     ============================================ */
11475  window.luxAddVariant = function(ev, elem){
11476    ev.preventDefault();
11477    ev.stopPropagation();
11478
11479    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
11480
11481    var productId = elem.getAttribute('data-urun-id');
11482    var varyantDeger = elem.getAttribute('data-varyant-deger');
11483
11484    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
11485    if(!holder) return false;
11486
11487    /* Seçilen bedeni ilk select'e yaz */
11488    var firstSelect = holder.querySelector('select[data-variant="0"]');
11489    if(firstSelect){
11490      firstSelect.value = varyantDeger;
11491      if(typeof jQuery !== "undefined"){
11492        jQuery(firstSelect).val(varyantDeger).trigger('change');
11493      }
11494    }
11495
11496    /* Diğer select'lere ilk geçerli değeri koy */
11497    var allSelects = holder.querySelectorAll('select[data-variant]');
11498    allSelects.forEach(function(sel, idx){
11499      if(idx === 0) return;
11500      if(sel.value) return;
11501      var options = sel.querySelectorAll('option');
11502      for(var i = 0; i < options.length; i++){
11503        if(options[i].value){
11504          sel.value = options[i].value;
11505          if(typeof jQuery !== "undefined"){
11506            jQuery(sel).val(options[i].value).trigger('change');
11507          }
11508          break;
11509        }
11510      }
11511    });
11512
11513    /* Görsel feedback */
11514    elem.classList.add('adding');
11515    var originalText = elem.textContent;
11516    elem.textContent = '✓';
11517
11518    /* Sepete ekle */
11519    addToCartSmart(productId, {
11520      checkVariant: true,
11521      variantCount: allSelects.length,
11522      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
11523    });
11524
11525    setTimeout(function(){
11526      elem.textContent = originalText;
11527      elem.classList.remove('adding');
11528      closeAll();
11529    }, 800);
11530
11531    return false;
11532  };
11533
11534
11535  /* ============================================
11536     SEPETE EKLE - Modal killer ile
11537     ============================================ */
11538  function addToCartSmart(productId, extraOptions){
11539    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
11540
11541    var options = {
11542      quantity: 1,
11543      hideNativeModal: 'lux-card-' + productId
11544    };
11545
11546    if(extraOptions){
11547      Object.keys(extraOptions).forEach(function(k){
11548        options[k] = extraOptions[k];
11549      });
11550    } else if(holder){
11551      var selects = holder.querySelectorAll('select[data-variant]');
11552      if(selects.length > 0){
11553        options.checkVariant = true;
11554        options.variantCount = selects.length;
11555        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
11556      }
11557    }
11558
11559    startModalKill(2000);
11560
11561    if(typeof addCart === "function"){
11562      try {
11563        addCart(productId, 'card', options);
11564        flashSuccess(productId);
11565      } catch(err){
11566        console.error('Sepete ekleme hatası:', err);
11567      }
11568    }
11569  }
11570
11571})();
11572</script>
11572</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
11573                             data-lux-product-shell="1"
11574                             data-lux-page="1"><style>
11575@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
11576
11577/* ===== VEZZA LUX CARD ===== */
11578.card-product{
11579  font-family:'Poppins',sans-serif;
11580  background:#fff !important;
11581  position:relative;
11582}
11583.card-product-inner{
11584  background:transparent !important;
11585  position:relative;
11586}
11587.card-product .c-p-i-link,
11588.card-product a{
11589  background:transparent !important;
11590}
11591.card-product-inner > div{
11592  background:transparent !important;
11593}
11594.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
11595  background:transparent !important;
11596}
11597.card-product .card-product-content,
11598.card-product .price-group,
11599.card-product .prices{
11600  background:transparent !important;
11601}
11602[class*="skeleton"],
11603[class*="placeholder"],
11604[class*="loading"]{
11605  background:transparent !important;
11606}
11607
11608/* ===== IMAGE AREA - KARE GÖRSEL ===== */
11609.image-wrapper{
11610  position:relative;
11611  width:100%;
11612  aspect-ratio:1/1;
11613  overflow:hidden;
11614  background:#fff !important;
11615}
11616
11617.image{
11618  position:relative;
11619  width:100%;
11620  height:100%;
11621}
11622
11623.image-wrapper img{
11624  width:100% !important;
11625  height:100% !important;
11626  object-fit:cover !important;
11627  object-position:center center !important;
11628  display:block;
11629  transition:transform .35s ease;
11630}
11631
11632/* ===== DISCOUNT ===== */
11633.discount{
11634  position:absolute;
11635  top:12px;
11636  left:12px;
11637  width:28px;
11638  height:48px;
11639  background:#e10b0b;
11640  color:#fff;
11641  font-size:12px;
11642  font-weight:600;
11643  display:flex;
11644  align-items:center;
11645  justify-content:center;
11646  writing-mode:vertical-rl;
11647  transform:rotate(180deg);
11648  letter-spacing:.5px;
11649  z-index:7;
11650}
11651
11652/* ===== FAV ===== */
11653.lux-fav{
11654  position:absolute;
11655  top:12px;
11656  right:12px;
11657  z-index:7;
11658}
11659.lux-fav a,
11660.lux-fav button{
11661  background:transparent !important;
11662  border:0 !important;
11663  padding:0 !important;
11664  cursor:pointer;
11665  display:inline-flex;
11666  align-items:center;
11667  justify-content:center;
11668}
11669
11670/* ===== SEPET IKON ===== */
11671.lux-bag{
11672  position:absolute;
11673  bottom:12px;
11674  right:12px;
11675  z-index:7;
11676  width:34px;
11677  height:34px;
11678  display:inline-flex;
11679  align-items:center;
11680  justify-content:center;
11681  background:rgba(255,255,255,.92);
11682  border:1px solid rgba(0,0,0,.10);
11683  border-radius:10px;
11684  cursor:pointer;
11685  transition:.2s ease;
11686}
11687.lux-bag:hover{
11688  background:#fff;
11689  border-color:rgba(0,0,0,.25);
11690}
11691.lux-bag.is-loading{
11692  opacity:.6;
11693  cursor:wait;
11694}
11695.lux-bag.is-success{
11696  background:#2e7d32 !important;
11697  border-color:#2e7d32 !important;
11698  color:#fff !important;
11699}
11700.card-product.sizes-open .lux-bag{
11701  opacity:0;
11702  pointer-events:none;
11703}
11704
11705/* Loading spinner */
11706.lux-bag.is-loading i::before{
11707  content:"⏳";
11708}
11709
11710/* ===== SIZE STRIP ===== */
11711.size-strip{
11712  width:100%;
11713  max-height:0;
11714  overflow:hidden;
11715  background:#fff;
11716  display:flex;
11717  flex-wrap:wrap;
11718  transition:max-height .3s ease, border-color .3s ease;
11719  border-top:1px solid transparent;
11720  border-bottom:1px solid transparent;
11721}
11722.size-strip.open{
11723  max-height:200px;
11724  border-top-color:rgba(0,0,0,.08);
11725  border-bottom-color:rgba(0,0,0,.08);
11726}
11727.size-item{
11728  flex:1 0 auto;
11729  min-width:38px;
11730  height:42px;
11731  display:flex;
11732  align-items:center;
11733  justify-content:center;
11734  font-size:13px;
11735  font-weight:500;
11736  color:#111 !important;
11737  cursor:pointer;
11738  user-select:none;
11739  background:transparent;
11740  transition:background .15s ease, color .15s ease;
11741  border-right:1px solid rgba(0,0,0,.08);
11742}
11743.size-item:last-child{ border-right:0; }
11744.size-item:hover:not(.disabled):not(.adding){
11745  background:#000 !important;
11746  color:#fff !important;
11747}
11748.size-item.disabled{
11749  color:#111 !important;
11750  text-decoration:line-through !important;
11751  opacity:.30 !important;
11752  cursor:not-allowed;
11753}
11754.size-item.adding{
11755  background:#2e7d32 !important;
11756  color:#fff !important;
11757  cursor:wait;
11758}
11759
11760/* ===== META ===== */
11761.lux-meta{
11762  padding:12px 6px 6px;
11763  background:transparent !important;
11764}
11765.lux-brand{
11766  font-size:16px;
11767  font-weight:600;
11768  color:#111;
11769  margin-bottom:2px;
11770}
11771.lux-title{
11772  font-size:14px;
11773  font-weight:400;
11774  line-height:1.45;
11775  color:#111;
11776  margin:0;
11777}
11778.lux-price{
11779  margin-top:10px;
11780  display:flex;
11781  gap:10px;
11782  align-items:baseline;
11783  background:transparent !important;
11784}
11785.lux-price .list-price{
11786  font-size:14px;
11787  font-weight:400;
11788  color:#111;
11789  text-decoration:line-through;
11790}
11791.lux-price .sale-price{
11792  font-size:16px;
11793  font-weight:600;
11794  color:#e10b0b;
11795}
11796
11797.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
11798.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
11799</style><div class="card-product"
11800     id="card-10729"
11801     data-lux-card-id="10729"
11802     data-lux-product-link="https://www.vezzalux.com/hermes-1304-terlik-siyah-beyaz-erkek-ayakkabi"
11803     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/hermes-1304-terlik-siyah-beyaz-erkek-ayakkabi" class="c-p-i-link" title="Hermes 1304 Terlik Siyah Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a440b340ca87-12885728-sw800sh800.webp" alt="Hermes 1304 Terlik Siyah Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a440b340ca87-12885728-sw800sh800.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a440b353fbad-95389479-sw800sh800.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
11804        onclick="userProductFavourite('add', 10729)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
11805         id="lux-bag-10729"
11806         onclick="return luxBagClick(event, 10729);"
11807         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10729" style="display:none;"></div><div class="size-strip" id="size-strip-10729" data-loaded="0"></div><a href="https://www.vezzalux.com/hermes-1304-terlik-siyah-beyaz-erkek-ayakkabi" class="c-p-i-link" title="Hermes 1304 Terlik Siyah Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Hermes</div><div class="lux-title">Hermes 1304 Terlik Siyah Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
11807<script>
11808(function(){
11809
11810  /* Bir kez kur */
11811  if(window.__luxCardInit) return;
11812  window.__luxCardInit = true;
11813
11814  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
11815  window.__luxVariantCache = window.__luxVariantCache || {};
11816
11817  function closeAll(){
11818    document.querySelectorAll('.size-strip.open').forEach(function(s){
11819      s.classList.remove('open');
11820    });
11821    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
11822      c.classList.remove('sizes-open');
11823    });
11824  }
11825
11826  function flashSuccess(productId){
11827    var bag = document.getElementById('lux-bag-' + productId);
11828    if(!bag) return;
11829    bag.classList.add('is-success');
11830    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
11831  }
11832
11833  /* Dış tıklama - kapat */
11834  document.addEventListener('click', function(e){
11835    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
11836    if(!inside) closeAll();
11837  });
11838
11839  document.addEventListener('keydown', function(e){
11840    if(e.key === 'Escape') closeAll();
11841  });
11842
11843
11844  /* ============================================
11845     MODAL KILLER - yedek güvence
11846     ============================================ */
11847  var LUX_MODAL_KILL_ACTIVE = false;
11848
11849  function killVisibleModals(){
11850    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
11851    modals.forEach(function(m){
11852      var id = (m.id || '').toLowerCase();
11853      var txt = (m.textContent || '').toLowerCase();
11854      var isCartModal = id.indexOf('cart') > -1
11855                     || id.indexOf('variant') > -1
11856                     || id.indexOf('fast') > -1
11857                     || id.indexOf('urun') > -1
11858                     || txt.indexOf('lütfen seçin') > -1;
11859
11860      if(isCartModal){
11861        if(typeof jQuery !== 'undefined'){
11862          try { jQuery(m).modal('hide'); } catch(e){}
11863        }
11864        m.classList.remove('show','in');
11865        m.style.display = 'none';
11866      }
11867    });
11868
11869    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
11870    document.body.classList.remove('modal-open');
11871    document.body.style.overflow = '';
11872    document.body.style.paddingRight = '';
11873  }
11874
11875  function startModalKill(durationMs){
11876    if(LUX_MODAL_KILL_ACTIVE) return;
11877    LUX_MODAL_KILL_ACTIVE = true;
11878    killVisibleModals();
11879    var interval = setInterval(killVisibleModals, 50);
11880    setTimeout(function(){
11881      clearInterval(interval);
11882      LUX_MODAL_KILL_ACTIVE = false;
11883    }, durationMs || 2000);
11884  }
11885
11886
11887  /* ============================================
11888     AJAX: Varyantları detay sayfasından çek
11889     ============================================
11890     Ürün detay sayfasının tam HTML'ini indir,
11891     DOMParser ile parse et, varyantları bul
11892     ============================================ */
11893  function fetchVariants(productId, productLink, callback){
11894
11895    /* Cache'te varsa hemen döndür */
11896    if(window.__luxVariantCache[productId]){
11897      callback(window.__luxVariantCache[productId]);
11898      return;
11899    }
11900
11901    fetch(productLink, {
11902      method: 'GET',
11903      credentials: 'same-origin',
11904      headers: { 'Accept': 'text/html' }
11905    })
11906    .then(function(r){ return r.text(); })
11907    .then(function(html){
11908      var parser = new DOMParser();
11909      var doc = parser.parseFromString(html, 'text/html');
11910
11911      /* Detay sayfasındaki .variant-box'ı bul */
11912      var variantBox = doc.querySelector('.variant-box');
11913      if(!variantBox){
11914        callback({ variants: [], error: 'no_variant_box' });
11915        return;
11916      }
11917
11918      /* Her varyant grubu için select'leri ve option'ları oku */
11919      var variants = [];
11920      var variantLis = variantBox.querySelectorAll('.variant');
11921
11922      variantLis.forEach(function(li, idx){
11923        var nameEl = li.querySelector('.name');
11924        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
11925
11926        var values = [];
11927
11928        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
11929        var optLinks = li.querySelectorAll('.options a');
11930
11931        if(optLinks.length > 0){
11932          optLinks.forEach(function(a){
11933            /* Beden/renk değerini doğru attribute'tan oku
11934               - data-variant-value: asıl değer (örn: "38", "KAHVE")
11935               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
11936               - textContent: fallback */
11937            var deger = a.getAttribute('data-variant-value')
11938                     || a.textContent.trim();
11939
11940            /* Stok kontrolü - birden fazla yoldan kontrol et */
11941            var isSoldOut = a.classList.contains('sold-out')
11942                         || a.classList.contains('sold_out')
11943                         || a.classList.contains('disabled')
11944                         || a.classList.contains('stoksuz')
11945                         || a.classList.contains('out-of-stock')
11946                         || a.hasAttribute('disabled')
11947                         || a.getAttribute('data-in-stock') === '0'
11948                         || a.getAttribute('data-in-stock') === 'false'
11949                         || a.getAttribute('data-stokta-var-mi') === '0'
11950                         || a.getAttribute('data-stokta-var-mi') === 'false';
11951
11952            values.push({
11953              deger: deger,
11954              inStock: !isSoldOut
11955            });
11956          });
11957        } else {
11958          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
11959          var select = li.querySelector('select');
11960          if(select){
11961            var opts = select.querySelectorAll('option');
11962            opts.forEach(function(o){
11963              if(!o.value) return;
11964              values.push({
11965                deger: o.value,
11966                inStock: !o.disabled
11967              });
11968            });
11969          }
11970        }
11971
11972        variants.push({
11973          index: idx,
11974          baslik: name,
11975          values: values
11976        });
11977      });
11978
11979      var result = { variants: variants };
11980      window.__luxVariantCache[productId] = result;
11981      callback(result);
11982    })
11983    .catch(function(err){
11984      console.error('Varyant çekme hatası:', err);
11985      callback({ variants: [], error: 'fetch_failed' });
11986    });
11987  }
11988
11989
11990  /* ============================================
11991     Beden şeridini ve gizli variant-box'ı oluştur
11992     ============================================ */
11993  function buildVariantUI(productId, data){
11994    var card = document.getElementById('card-' + productId);
11995    if(!card) return false;
11996
11997    var holder = card.querySelector('.lux-variant-box');
11998    var strip = document.getElementById('size-strip-' + productId);
11999    if(!holder || !strip) return false;
12000
12001    if(!data.variants || data.variants.length === 0){
12002      /* Varyant yok */
12003      return false;
12004    }
12005
12006    /* Çoklu değerli ilk varyantı bul (beden) */
12007    var displayVariant = null;
12008    data.variants.forEach(function(v){
12009      if(!displayVariant && v.values.length > 1){
12010        displayVariant = v;
12011      }
12012    });
12013
12014    /* Gizli variant-box HTML */
12015    var html = '<div class="variant-box"><ul>';
12016    data.variants.forEach(function(v){
12017      html += '<li class="variant">';
12018      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
12019
12020      if(v.values.length > 1){
12021        html += '<option value="">Lütfen seçin</option>';
12022      }
12023
12024      v.values.forEach(function(val, i){
12025        var selected = (v.values.length === 1) ? ' selected' : '';
12026        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
12027      });
12028
12029      html += '</select></li>';
12030    });
12031    html += '</ul></div>';
12032
12033    holder.innerHTML = html;
12034    holder.style.display = '';
12035
12036    /* Strip HTML (sadece çoklu değerli varyantlar için)
12037       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
12038    if(displayVariant){
12039      var stripHtml = '';
12040      var inStockCount = 0;
12041
12042      /* DEBUG - console'da gör */
12043      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
12044
12045      displayVariant.values.forEach(function(val){
12046        /* SADECE stokta olanları ekle */
12047        if(val.inStock === true){
12048          stripHtml += '<div class="size-item" '
12049                    + 'data-urun-id="' + productId + '" '
12050                    + 'data-varyant-deger="' + val.deger + '" '
12051                    + 'onclick="return luxAddVariant(event, this);">'
12052                    + val.deger + '</div>';
12053          inStockCount++;
12054        }
12055      });
12056
12057      /* Eğer stokta hiç beden yoksa şeridi gösterme */
12058      if(inStockCount === 0){
12059        strip.setAttribute('data-loaded', '1');
12060        strip.setAttribute('data-has-variants', '0');
12061        return false;
12062      }
12063
12064      strip.innerHTML = stripHtml;
12065      strip.setAttribute('data-loaded', '1');
12066      strip.setAttribute('data-has-variants', '1');
12067      return true;
12068    } else {
12069      strip.setAttribute('data-loaded', '1');
12070      strip.setAttribute('data-has-variants', '0');
12071      return false;
12072    }
12073  }
12074
12075
12076  /* ============================================
12077     SEPET IKONU TIKLAMASI
12078     ============================================ */
12079  window.luxBagClick = function(ev, productId){
12080    ev.preventDefault();
12081    ev.stopPropagation();
12082
12083    var card = document.getElementById('card-' + productId);
12084    var strip = document.getElementById('size-strip-' + productId);
12085    var bag = document.getElementById('lux-bag-' + productId);
12086    if(!card || !strip) return false;
12087
12088    /* Strip zaten yüklenmişse direkt davran */
12089    if(strip.getAttribute('data-loaded') === '1'){
12090      if(strip.getAttribute('data-has-variants') === '1'){
12091        toggleStrip(productId);
12092      } else {
12093        addToCartSmart(productId);
12094      }
12095      return false;
12096    }
12097
12098    /* İlk tıklama - AJAX ile varyantları çek */
12099    bag.classList.add('is-loading');
12100    var productLink = card.getAttribute('data-lux-product-link');
12101
12102    fetchVariants(productId, productLink, function(data){
12103      bag.classList.remove('is-loading');
12104
12105      var hasVariants = buildVariantUI(productId, data);
12106
12107      if(hasVariants){
12108        /* Bedenler var - şeridi aç */
12109        toggleStrip(productId);
12110      } else {
12111        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
12112        addToCartSmart(productId);
12113      }
12114    });
12115
12116    return false;
12117  };
12118
12119  function toggleStrip(productId){
12120    var strip = document.getElementById('size-strip-' + productId);
12121    var card = document.getElementById('card-' + productId);
12122    if(!strip) return;
12123
12124    document.querySelectorAll('.size-strip.open').forEach(function(s){
12125      if(s !== strip) s.classList.remove('open');
12126    });
12127    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
12128      if(c !== card) c.classList.remove('sizes-open');
12129    });
12130
12131    strip.classList.toggle('open');
12132    if(card) card.classList.toggle('sizes-open');
12133  }
12134
12135
12136  /* ============================================
12137     BEDEN TIKLAMASI
12138     ============================================ */
12139  window.luxAddVariant = function(ev, elem){
12140    ev.preventDefault();
12141    ev.stopPropagation();
12142
12143    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
12144
12145    var productId = elem.getAttribute('data-urun-id');
12146    var varyantDeger = elem.getAttribute('data-varyant-deger');
12147
12148    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
12149    if(!holder) return false;
12150
12151    /* Seçilen bedeni ilk select'e yaz */
12152    var firstSelect = holder.querySelector('select[data-variant="0"]');
12153    if(firstSelect){
12154      firstSelect.value = varyantDeger;
12155      if(typeof jQuery !== "undefined"){
12156        jQuery(firstSelect).val(varyantDeger).trigger('change');
12157      }
12158    }
12159
12160    /* Diğer select'lere ilk geçerli değeri koy */
12161    var allSelects = holder.querySelectorAll('select[data-variant]');
12162    allSelects.forEach(function(sel, idx){
12163      if(idx === 0) return;
12164      if(sel.value) return;
12165      var options = sel.querySelectorAll('option');
12166      for(var i = 0; i < options.length; i++){
12167        if(options[i].value){
12168          sel.value = options[i].value;
12169          if(typeof jQuery !== "undefined"){
12170            jQuery(sel).val(options[i].value).trigger('change');
12171          }
12172          break;
12173        }
12174      }
12175    });
12176
12177    /* Görsel feedback */
12178    elem.classList.add('adding');
12179    var originalText = elem.textContent;
12180    elem.textContent = '✓';
12181
12182    /* Sepete ekle */
12183    addToCartSmart(productId, {
12184      checkVariant: true,
12185      variantCount: allSelects.length,
12186      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
12187    });
12188
12189    setTimeout(function(){
12190      elem.textContent = originalText;
12191      elem.classList.remove('adding');
12192      closeAll();
12193    }, 800);
12194
12195    return false;
12196  };
12197
12198
12199  /* ============================================
12200     SEPETE EKLE - Modal killer ile
12201     ============================================ */
12202  function addToCartSmart(productId, extraOptions){
12203    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
12204
12205    var options = {
12206      quantity: 1,
12207      hideNativeModal: 'lux-card-' + productId
12208    };
12209
12210    if(extraOptions){
12211      Object.keys(extraOptions).forEach(function(k){
12212        options[k] = extraOptions[k];
12213      });
12214    } else if(holder){
12215      var selects = holder.querySelectorAll('select[data-variant]');
12216      if(selects.length > 0){
12217        options.checkVariant = true;
12218        options.variantCount = selects.length;
12219        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
12220      }
12221    }
12222
12223    startModalKill(2000);
12224
12225    if(typeof addCart === "function"){
12226      try {
12227        addCart(productId, 'card', options);
12228        flashSuccess(productId);
12229      } catch(err){
12230        console.error('Sepete ekleme hatası:', err);
12231      }
12232    }
12233  }
12234
12235})();
12236</script>
12236</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
12237                             data-lux-product-shell="1"
12238                             data-lux-page="1"><style>
12239@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
12240
12241/* ===== VEZZA LUX CARD ===== */
12242.card-product{
12243  font-family:'Poppins',sans-serif;
12244  background:#fff !important;
12245  position:relative;
12246}
12247.card-product-inner{
12248  background:transparent !important;
12249  position:relative;
12250}
12251.card-product .c-p-i-link,
12252.card-product a{
12253  background:transparent !important;
12254}
12255.card-product-inner > div{
12256  background:transparent !important;
12257}
12258.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
12259  background:transparent !important;
12260}
12261.card-product .card-product-content,
12262.card-product .price-group,
12263.card-product .prices{
12264  background:transparent !important;
12265}
12266[class*="skeleton"],
12267[class*="placeholder"],
12268[class*="loading"]{
12269  background:transparent !important;
12270}
12271
12272/* ===== IMAGE AREA - KARE GÖRSEL ===== */
12273.image-wrapper{
12274  position:relative;
12275  width:100%;
12276  aspect-ratio:1/1;
12277  overflow:hidden;
12278  background:#fff !important;
12279}
12280
12281.image{
12282  position:relative;
12283  width:100%;
12284  height:100%;
12285}
12286
12287.image-wrapper img{
12288  width:100% !important;
12289  height:100% !important;
12290  object-fit:cover !important;
12291  object-position:center center !important;
12292  display:block;
12293  transition:transform .35s ease;
12294}
12295
12296/* ===== DISCOUNT ===== */
12297.discount{
12298  position:absolute;
12299  top:12px;
12300  left:12px;
12301  width:28px;
12302  height:48px;
12303  background:#e10b0b;
12304  color:#fff;
12305  font-size:12px;
12306  font-weight:600;
12307  display:flex;
12308  align-items:center;
12309  justify-content:center;
12310  writing-mode:vertical-rl;
12311  transform:rotate(180deg);
12312  letter-spacing:.5px;
12313  z-index:7;
12314}
12315
12316/* ===== FAV ===== */
12317.lux-fav{
12318  position:absolute;
12319  top:12px;
12320  right:12px;
12321  z-index:7;
12322}
12323.lux-fav a,
12324.lux-fav button{
12325  background:transparent !important;
12326  border:0 !important;
12327  padding:0 !important;
12328  cursor:pointer;
12329  display:inline-flex;
12330  align-items:center;
12331  justify-content:center;
12332}
12333
12334/* ===== SEPET IKON ===== */
12335.lux-bag{
12336  position:absolute;
12337  bottom:12px;
12338  right:12px;
12339  z-index:7;
12340  width:34px;
12341  height:34px;
12342  display:inline-flex;
12343  align-items:center;
12344  justify-content:center;
12345  background:rgba(255,255,255,.92);
12346  border:1px solid rgba(0,0,0,.10);
12347  border-radius:10px;
12348  cursor:pointer;
12349  transition:.2s ease;
12350}
12351.lux-bag:hover{
12352  background:#fff;
12353  border-color:rgba(0,0,0,.25);
12354}
12355.lux-bag.is-loading{
12356  opacity:.6;
12357  cursor:wait;
12358}
12359.lux-bag.is-success{
12360  background:#2e7d32 !important;
12361  border-color:#2e7d32 !important;
12362  color:#fff !important;
12363}
12364.card-product.sizes-open .lux-bag{
12365  opacity:0;
12366  pointer-events:none;
12367}
12368
12369/* Loading spinner */
12370.lux-bag.is-loading i::before{
12371  content:"⏳";
12372}
12373
12374/* ===== SIZE STRIP ===== */
12375.size-strip{
12376  width:100%;
12377  max-height:0;
12378  overflow:hidden;
12379  background:#fff;
12380  display:flex;
12381  flex-wrap:wrap;
12382  transition:max-height .3s ease, border-color .3s ease;
12383  border-top:1px solid transparent;
12384  border-bottom:1px solid transparent;
12385}
12386.size-strip.open{
12387  max-height:200px;
12388  border-top-color:rgba(0,0,0,.08);
12389  border-bottom-color:rgba(0,0,0,.08);
12390}
12391.size-item{
12392  flex:1 0 auto;
12393  min-width:38px;
12394  height:42px;
12395  display:flex;
12396  align-items:center;
12397  justify-content:center;
12398  font-size:13px;
12399  font-weight:500;
12400  color:#111 !important;
12401  cursor:pointer;
12402  user-select:none;
12403  background:transparent;
12404  transition:background .15s ease, color .15s ease;
12405  border-right:1px solid rgba(0,0,0,.08);
12406}
12407.size-item:last-child{ border-right:0; }
12408.size-item:hover:not(.disabled):not(.adding){
12409  background:#000 !important;
12410  color:#fff !important;
12411}
12412.size-item.disabled{
12413  color:#111 !important;
12414  text-decoration:line-through !important;
12415  opacity:.30 !important;
12416  cursor:not-allowed;
12417}
12418.size-item.adding{
12419  background:#2e7d32 !important;
12420  color:#fff !important;
12421  cursor:wait;
12422}
12423
12424/* ===== META ===== */
12425.lux-meta{
12426  padding:12px 6px 6px;
12427  background:transparent !important;
12428}
12429.lux-brand{
12430  font-size:16px;
12431  font-weight:600;
12432  color:#111;
12433  margin-bottom:2px;
12434}
12435.lux-title{
12436  font-size:14px;
12437  font-weight:400;
12438  line-height:1.45;
12439  color:#111;
12440  margin:0;
12441}
12442.lux-price{
12443  margin-top:10px;
12444  display:flex;
12445  gap:10px;
12446  align-items:baseline;
12447  background:transparent !important;
12448}
12449.lux-price .list-price{
12450  font-size:14px;
12451  font-weight:400;
12452  color:#111;
12453  text-decoration:line-through;
12454}
12455.lux-price .sale-price{
12456  font-size:16px;
12457  font-weight:600;
12458  color:#e10b0b;
12459}
12460
12461.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
12462.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
12463</style><div class="card-product"
12464     id="card-10269"
12465     data-lux-card-id="10269"
12466     data-lux-product-link="https://www.vezzalux.com/dior-939-siyah-erkek-ayakkabi"
12467     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/dior-939-siyah-erkek-ayakkabi" class="c-p-i-link" title="Dior 939 Siyah Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c99443afd-98053537-sw800sh800.webp" alt="Dior 939 Siyah Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c99443afd-98053537-sw800sh800.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c9956a485-79012463-sw800sh800.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
12468        onclick="userProductFavourite('add', 10269)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
12469         id="lux-bag-10269"
12470         onclick="return luxBagClick(event, 10269);"
12471         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10269" style="display:none;"></div><div class="size-strip" id="size-strip-10269" data-loaded="0"></div><a href="https://www.vezzalux.com/dior-939-siyah-erkek-ayakkabi" class="c-p-i-link" title="Dior 939 Siyah Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Dior</div><div class="lux-title">Dior 939 Siyah Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.499,00 TL</div></div></div></a></div></div>
12471<script>
12472(function(){
12473
12474  /* Bir kez kur */
12475  if(window.__luxCardInit) return;
12476  window.__luxCardInit = true;
12477
12478  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
12479  window.__luxVariantCache = window.__luxVariantCache || {};
12480
12481  function closeAll(){
12482    document.querySelectorAll('.size-strip.open').forEach(function(s){
12483      s.classList.remove('open');
12484    });
12485    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
12486      c.classList.remove('sizes-open');
12487    });
12488  }
12489
12490  function flashSuccess(productId){
12491    var bag = document.getElementById('lux-bag-' + productId);
12492    if(!bag) return;
12493    bag.classList.add('is-success');
12494    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
12495  }
12496
12497  /* Dış tıklama - kapat */
12498  document.addEventListener('click', function(e){
12499    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
12500    if(!inside) closeAll();
12501  });
12502
12503  document.addEventListener('keydown', function(e){
12504    if(e.key === 'Escape') closeAll();
12505  });
12506
12507
12508  /* ============================================
12509     MODAL KILLER - yedek güvence
12510     ============================================ */
12511  var LUX_MODAL_KILL_ACTIVE = false;
12512
12513  function killVisibleModals(){
12514    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
12515    modals.forEach(function(m){
12516      var id = (m.id || '').toLowerCase();
12517      var txt = (m.textContent || '').toLowerCase();
12518      var isCartModal = id.indexOf('cart') > -1
12519                     || id.indexOf('variant') > -1
12520                     || id.indexOf('fast') > -1
12521                     || id.indexOf('urun') > -1
12522                     || txt.indexOf('lütfen seçin') > -1;
12523
12524      if(isCartModal){
12525        if(typeof jQuery !== 'undefined'){
12526          try { jQuery(m).modal('hide'); } catch(e){}
12527        }
12528        m.classList.remove('show','in');
12529        m.style.display = 'none';
12530      }
12531    });
12532
12533    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
12534    document.body.classList.remove('modal-open');
12535    document.body.style.overflow = '';
12536    document.body.style.paddingRight = '';
12537  }
12538
12539  function startModalKill(durationMs){
12540    if(LUX_MODAL_KILL_ACTIVE) return;
12541    LUX_MODAL_KILL_ACTIVE = true;
12542    killVisibleModals();
12543    var interval = setInterval(killVisibleModals, 50);
12544    setTimeout(function(){
12545      clearInterval(interval);
12546      LUX_MODAL_KILL_ACTIVE = false;
12547    }, durationMs || 2000);
12548  }
12549
12550
12551  /* ============================================
12552     AJAX: Varyantları detay sayfasından çek
12553     ============================================
12554     Ürün detay sayfasının tam HTML'ini indir,
12555     DOMParser ile parse et, varyantları bul
12556     ============================================ */
12557  function fetchVariants(productId, productLink, callback){
12558
12559    /* Cache'te varsa hemen döndür */
12560    if(window.__luxVariantCache[productId]){
12561      callback(window.__luxVariantCache[productId]);
12562      return;
12563    }
12564
12565    fetch(productLink, {
12566      method: 'GET',
12567      credentials: 'same-origin',
12568      headers: { 'Accept': 'text/html' }
12569    })
12570    .then(function(r){ return r.text(); })
12571    .then(function(html){
12572      var parser = new DOMParser();
12573      var doc = parser.parseFromString(html, 'text/html');
12574
12575      /* Detay sayfasındaki .variant-box'ı bul */
12576      var variantBox = doc.querySelector('.variant-box');
12577      if(!variantBox){
12578        callback({ variants: [], error: 'no_variant_box' });
12579        return;
12580      }
12581
12582      /* Her varyant grubu için select'leri ve option'ları oku */
12583      var variants = [];
12584      var variantLis = variantBox.querySelectorAll('.variant');
12585
12586      variantLis.forEach(function(li, idx){
12587        var nameEl = li.querySelector('.name');
12588        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
12589
12590        var values = [];
12591
12592        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
12593        var optLinks = li.querySelectorAll('.options a');
12594
12595        if(optLinks.length > 0){
12596          optLinks.forEach(function(a){
12597            /* Beden/renk değerini doğru attribute'tan oku
12598               - data-variant-value: asıl değer (örn: "38", "KAHVE")
12599               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
12600               - textContent: fallback */
12601            var deger = a.getAttribute('data-variant-value')
12602                     || a.textContent.trim();
12603
12604            /* Stok kontrolü - birden fazla yoldan kontrol et */
12605            var isSoldOut = a.classList.contains('sold-out')
12606                         || a.classList.contains('sold_out')
12607                         || a.classList.contains('disabled')
12608                         || a.classList.contains('stoksuz')
12609                         || a.classList.contains('out-of-stock')
12610                         || a.hasAttribute('disabled')
12611                         || a.getAttribute('data-in-stock') === '0'
12612                         || a.getAttribute('data-in-stock') === 'false'
12613                         || a.getAttribute('data-stokta-var-mi') === '0'
12614                         || a.getAttribute('data-stokta-var-mi') === 'false';
12615
12616            values.push({
12617              deger: deger,
12618              inStock: !isSoldOut
12619            });
12620          });
12621        } else {
12622          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
12623          var select = li.querySelector('select');
12624          if(select){
12625            var opts = select.querySelectorAll('option');
12626            opts.forEach(function(o){
12627              if(!o.value) return;
12628              values.push({
12629                deger: o.value,
12630                inStock: !o.disabled
12631              });
12632            });
12633          }
12634        }
12635
12636        variants.push({
12637          index: idx,
12638          baslik: name,
12639          values: values
12640        });
12641      });
12642
12643      var result = { variants: variants };
12644      window.__luxVariantCache[productId] = result;
12645      callback(result);
12646    })
12647    .catch(function(err){
12648      console.error('Varyant çekme hatası:', err);
12649      callback({ variants: [], error: 'fetch_failed' });
12650    });
12651  }
12652
12653
12654  /* ============================================
12655     Beden şeridini ve gizli variant-box'ı oluştur
12656     ============================================ */
12657  function buildVariantUI(productId, data){
12658    var card = document.getElementById('card-' + productId);
12659    if(!card) return false;
12660
12661    var holder = card.querySelector('.lux-variant-box');
12662    var strip = document.getElementById('size-strip-' + productId);
12663    if(!holder || !strip) return false;
12664
12665    if(!data.variants || data.variants.length === 0){
12666      /* Varyant yok */
12667      return false;
12668    }
12669
12670    /* Çoklu değerli ilk varyantı bul (beden) */
12671    var displayVariant = null;
12672    data.variants.forEach(function(v){
12673      if(!displayVariant && v.values.length > 1){
12674        displayVariant = v;
12675      }
12676    });
12677
12678    /* Gizli variant-box HTML */
12679    var html = '<div class="variant-box"><ul>';
12680    data.variants.forEach(function(v){
12681      html += '<li class="variant">';
12682      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
12683
12684      if(v.values.length > 1){
12685        html += '<option value="">Lütfen seçin</option>';
12686      }
12687
12688      v.values.forEach(function(val, i){
12689        var selected = (v.values.length === 1) ? ' selected' : '';
12690        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
12691      });
12692
12693      html += '</select></li>';
12694    });
12695    html += '</ul></div>';
12696
12697    holder.innerHTML = html;
12698    holder.style.display = '';
12699
12700    /* Strip HTML (sadece çoklu değerli varyantlar için)
12701       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
12702    if(displayVariant){
12703      var stripHtml = '';
12704      var inStockCount = 0;
12705
12706      /* DEBUG - console'da gör */
12707      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
12708
12709      displayVariant.values.forEach(function(val){
12710        /* SADECE stokta olanları ekle */
12711        if(val.inStock === true){
12712          stripHtml += '<div class="size-item" '
12713                    + 'data-urun-id="' + productId + '" '
12714                    + 'data-varyant-deger="' + val.deger + '" '
12715                    + 'onclick="return luxAddVariant(event, this);">'
12716                    + val.deger + '</div>';
12717          inStockCount++;
12718        }
12719      });
12720
12721      /* Eğer stokta hiç beden yoksa şeridi gösterme */
12722      if(inStockCount === 0){
12723        strip.setAttribute('data-loaded', '1');
12724        strip.setAttribute('data-has-variants', '0');
12725        return false;
12726      }
12727
12728      strip.innerHTML = stripHtml;
12729      strip.setAttribute('data-loaded', '1');
12730      strip.setAttribute('data-has-variants', '1');
12731      return true;
12732    } else {
12733      strip.setAttribute('data-loaded', '1');
12734      strip.setAttribute('data-has-variants', '0');
12735      return false;
12736    }
12737  }
12738
12739
12740  /* ============================================
12741     SEPET IKONU TIKLAMASI
12742     ============================================ */
12743  window.luxBagClick = function(ev, productId){
12744    ev.preventDefault();
12745    ev.stopPropagation();
12746
12747    var card = document.getElementById('card-' + productId);
12748    var strip = document.getElementById('size-strip-' + productId);
12749    var bag = document.getElementById('lux-bag-' + productId);
12750    if(!card || !strip) return false;
12751
12752    /* Strip zaten yüklenmişse direkt davran */
12753    if(strip.getAttribute('data-loaded') === '1'){
12754      if(strip.getAttribute('data-has-variants') === '1'){
12755        toggleStrip(productId);
12756      } else {
12757        addToCartSmart(productId);
12758      }
12759      return false;
12760    }
12761
12762    /* İlk tıklama - AJAX ile varyantları çek */
12763    bag.classList.add('is-loading');
12764    var productLink = card.getAttribute('data-lux-product-link');
12765
12766    fetchVariants(productId, productLink, function(data){
12767      bag.classList.remove('is-loading');
12768
12769      var hasVariants = buildVariantUI(productId, data);
12770
12771      if(hasVariants){
12772        /* Bedenler var - şeridi aç */
12773        toggleStrip(productId);
12774      } else {
12775        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
12776        addToCartSmart(productId);
12777      }
12778    });
12779
12780    return false;
12781  };
12782
12783  function toggleStrip(productId){
12784    var strip = document.getElementById('size-strip-' + productId);
12785    var card = document.getElementById('card-' + productId);
12786    if(!strip) return;
12787
12788    document.querySelectorAll('.size-strip.open').forEach(function(s){
12789      if(s !== strip) s.classList.remove('open');
12790    });
12791    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
12792      if(c !== card) c.classList.remove('sizes-open');
12793    });
12794
12795    strip.classList.toggle('open');
12796    if(card) card.classList.toggle('sizes-open');
12797  }
12798
12799
12800  /* ============================================
12801     BEDEN TIKLAMASI
12802     ============================================ */
12803  window.luxAddVariant = function(ev, elem){
12804    ev.preventDefault();
12805    ev.stopPropagation();
12806
12807    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
12808
12809    var productId = elem.getAttribute('data-urun-id');
12810    var varyantDeger = elem.getAttribute('data-varyant-deger');
12811
12812    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
12813    if(!holder) return false;
12814
12815    /* Seçilen bedeni ilk select'e yaz */
12816    var firstSelect = holder.querySelector('select[data-variant="0"]');
12817    if(firstSelect){
12818      firstSelect.value = varyantDeger;
12819      if(typeof jQuery !== "undefined"){
12820        jQuery(firstSelect).val(varyantDeger).trigger('change');
12821      }
12822    }
12823
12824    /* Diğer select'lere ilk geçerli değeri koy */
12825    var allSelects = holder.querySelectorAll('select[data-variant]');
12826    allSelects.forEach(function(sel, idx){
12827      if(idx === 0) return;
12828      if(sel.value) return;
12829      var options = sel.querySelectorAll('option');
12830      for(var i = 0; i < options.length; i++){
12831        if(options[i].value){
12832          sel.value = options[i].value;
12833          if(typeof jQuery !== "undefined"){
12834            jQuery(sel).val(options[i].value).trigger('change');
12835          }
12836          break;
12837        }
12838      }
12839    });
12840
12841    /* Görsel feedback */
12842    elem.classList.add('adding');
12843    var originalText = elem.textContent;
12844    elem.textContent = '✓';
12845
12846    /* Sepete ekle */
12847    addToCartSmart(productId, {
12848      checkVariant: true,
12849      variantCount: allSelects.length,
12850      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
12851    });
12852
12853    setTimeout(function(){
12854      elem.textContent = originalText;
12855      elem.classList.remove('adding');
12856      closeAll();
12857    }, 800);
12858
12859    return false;
12860  };
12861
12862
12863  /* ============================================
12864     SEPETE EKLE - Modal killer ile
12865     ============================================ */
12866  function addToCartSmart(productId, extraOptions){
12867    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
12868
12869    var options = {
12870      quantity: 1,
12871      hideNativeModal: 'lux-card-' + productId
12872    };
12873
12874    if(extraOptions){
12875      Object.keys(extraOptions).forEach(function(k){
12876        options[k] = extraOptions[k];
12877      });
12878    } else if(holder){
12879      var selects = holder.querySelectorAll('select[data-variant]');
12880      if(selects.length > 0){
12881        options.checkVariant = true;
12882        options.variantCount = selects.length;
12883        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
12884      }
12885    }
12886
12887    startModalKill(2000);
12888
12889    if(typeof addCart === "function"){
12890      try {
12891        addCart(productId, 'card', options);
12892        flashSuccess(productId);
12893      } catch(err){
12894        console.error('Sepete ekleme hatası:', err);
12895      }
12896    }
12897  }
12898
12899})();
12900</script>
12900</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
12901                             data-lux-product-shell="1"
12902                             data-lux-page="1"><style>
12903@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
12904
12905/* ===== VEZZA LUX CARD ===== */
12906.card-product{
12907  font-family:'Poppins',sans-serif;
12908  background:#fff !important;
12909  position:relative;
12910}
12911.card-product-inner{
12912  background:transparent !important;
12913  position:relative;
12914}
12915.card-product .c-p-i-link,
12916.card-product a{
12917  background:transparent !important;
12918}
12919.card-product-inner > div{
12920  background:transparent !important;
12921}
12922.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
12923  background:transparent !important;
12924}
12925.card-product .card-product-content,
12926.card-product .price-group,
12927.card-product .prices{
12928  background:transparent !important;
12929}
12930[class*="skeleton"],
12931[class*="placeholder"],
12932[class*="loading"]{
12933  background:transparent !important;
12934}
12935
12936/* ===== IMAGE AREA - KARE GÖRSEL ===== */
12937.image-wrapper{
12938  position:relative;
12939  width:100%;
12940  aspect-ratio:1/1;
12941  overflow:hidden;
12942  background:#fff !important;
12943}
12944
12945.image{
12946  position:relative;
12947  width:100%;
12948  height:100%;
12949}
12950
12951.image-wrapper img{
12952  width:100% !important;
12953  height:100% !important;
12954  object-fit:cover !important;
12955  object-position:center center !important;
12956  display:block;
12957  transition:transform .35s ease;
12958}
12959
12960/* ===== DISCOUNT ===== */
12961.discount{
12962  position:absolute;
12963  top:12px;
12964  left:12px;
12965  width:28px;
12966  height:48px;
12967  background:#e10b0b;
12968  color:#fff;
12969  font-size:12px;
12970  font-weight:600;
12971  display:flex;
12972  align-items:center;
12973  justify-content:center;
12974  writing-mode:vertical-rl;
12975  transform:rotate(180deg);
12976  letter-spacing:.5px;
12977  z-index:7;
12978}
12979
12980/* ===== FAV ===== */
12981.lux-fav{
12982  position:absolute;
12983  top:12px;
12984  right:12px;
12985  z-index:7;
12986}
12987.lux-fav a,
12988.lux-fav button{
12989  background:transparent !important;
12990  border:0 !important;
12991  padding:0 !important;
12992  cursor:pointer;
12993  display:inline-flex;
12994  align-items:center;
12995  justify-content:center;
12996}
12997
12998/* ===== SEPET IKON ===== */
12999.lux-bag{
13000  position:absolute;
13001  bottom:12px;
13002  right:12px;
13003  z-index:7;
13004  width:34px;
13005  height:34px;
13006  display:inline-flex;
13007  align-items:center;
13008  justify-content:center;
13009  background:rgba(255,255,255,.92);
13010  border:1px solid rgba(0,0,0,.10);
13011  border-radius:10px;
13012  cursor:pointer;
13013  transition:.2s ease;
13014}
13015.lux-bag:hover{
13016  background:#fff;
13017  border-color:rgba(0,0,0,.25);
13018}
13019.lux-bag.is-loading{
13020  opacity:.6;
13021  cursor:wait;
13022}
13023.lux-bag.is-success{
13024  background:#2e7d32 !important;
13025  border-color:#2e7d32 !important;
13026  color:#fff !important;
13027}
13028.card-product.sizes-open .lux-bag{
13029  opacity:0;
13030  pointer-events:none;
13031}
13032
13033/* Loading spinner */
13034.lux-bag.is-loading i::before{
13035  content:"⏳";
13036}
13037
13038/* ===== SIZE STRIP ===== */
13039.size-strip{
13040  width:100%;
13041  max-height:0;
13042  overflow:hidden;
13043  background:#fff;
13044  display:flex;
13045  flex-wrap:wrap;
13046  transition:max-height .3s ease, border-color .3s ease;
13047  border-top:1px solid transparent;
13048  border-bottom:1px solid transparent;
13049}
13050.size-strip.open{
13051  max-height:200px;
13052  border-top-color:rgba(0,0,0,.08);
13053  border-bottom-color:rgba(0,0,0,.08);
13054}
13055.size-item{
13056  flex:1 0 auto;
13057  min-width:38px;
13058  height:42px;
13059  display:flex;
13060  align-items:center;
13061  justify-content:center;
13062  font-size:13px;
13063  font-weight:500;
13064  color:#111 !important;
13065  cursor:pointer;
13066  user-select:none;
13067  background:transparent;
13068  transition:background .15s ease, color .15s ease;
13069  border-right:1px solid rgba(0,0,0,.08);
13070}
13071.size-item:last-child{ border-right:0; }
13072.size-item:hover:not(.disabled):not(.adding){
13073  background:#000 !important;
13074  color:#fff !important;
13075}
13076.size-item.disabled{
13077  color:#111 !important;
13078  text-decoration:line-through !important;
13079  opacity:.30 !important;
13080  cursor:not-allowed;
13081}
13082.size-item.adding{
13083  background:#2e7d32 !important;
13084  color:#fff !important;
13085  cursor:wait;
13086}
13087
13088/* ===== META ===== */
13089.lux-meta{
13090  padding:12px 6px 6px;
13091  background:transparent !important;
13092}
13093.lux-brand{
13094  font-size:16px;
13095  font-weight:600;
13096  color:#111;
13097  margin-bottom:2px;
13098}
13099.lux-title{
13100  font-size:14px;
13101  font-weight:400;
13102  line-height:1.45;
13103  color:#111;
13104  margin:0;
13105}
13106.lux-price{
13107  margin-top:10px;
13108  display:flex;
13109  gap:10px;
13110  align-items:baseline;
13111  background:transparent !important;
13112}
13113.lux-price .list-price{
13114  font-size:14px;
13115  font-weight:400;
13116  color:#111;
13117  text-decoration:line-through;
13118}
13119.lux-price .sale-price{
13120  font-size:16px;
13121  font-weight:600;
13122  color:#e10b0b;
13123}
13124
13125.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
13126.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
13127</style><div class="card-product"
13128     id="card-10158"
13129     data-lux-card-id="10158"
13130     data-lux-product-link="https://www.vezzalux.com/gg-799-arkasi-gumus-erkek-ayakkabi"
13131     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/gg-799-arkasi-gumus-erkek-ayakkabi" class="c-p-i-link" title="Gg 799 Arkası Gümüş Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c6df67968-47350919-sw1200sh1200.webp" alt="Gg 799 Arkası Gümüş Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c6df67968-47350919-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c6e0dd1f8-80130218-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
13132        onclick="userProductFavourite('add', 10158)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
13133         id="lux-bag-10158"
13134         onclick="return luxBagClick(event, 10158);"
13135         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10158" style="display:none;"></div><div class="size-strip" id="size-strip-10158" data-loaded="0"></div><a href="https://www.vezzalux.com/gg-799-arkasi-gumus-erkek-ayakkabi" class="c-p-i-link" title="Gg 799 Arkası Gümüş Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Golden Goose</div><div class="lux-title">Gg 799 Arkası Gümüş Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">10.499,00 TL</div></div></div></a></div></div>
13135<script>
13136(function(){
13137
13138  /* Bir kez kur */
13139  if(window.__luxCardInit) return;
13140  window.__luxCardInit = true;
13141
13142  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
13143  window.__luxVariantCache = window.__luxVariantCache || {};
13144
13145  function closeAll(){
13146    document.querySelectorAll('.size-strip.open').forEach(function(s){
13147      s.classList.remove('open');
13148    });
13149    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
13150      c.classList.remove('sizes-open');
13151    });
13152  }
13153
13154  function flashSuccess(productId){
13155    var bag = document.getElementById('lux-bag-' + productId);
13156    if(!bag) return;
13157    bag.classList.add('is-success');
13158    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
13159  }
13160
13161  /* Dış tıklama - kapat */
13162  document.addEventListener('click', function(e){
13163    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
13164    if(!inside) closeAll();
13165  });
13166
13167  document.addEventListener('keydown', function(e){
13168    if(e.key === 'Escape') closeAll();
13169  });
13170
13171
13172  /* ============================================
13173     MODAL KILLER - yedek güvence
13174     ============================================ */
13175  var LUX_MODAL_KILL_ACTIVE = false;
13176
13177  function killVisibleModals(){
13178    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
13179    modals.forEach(function(m){
13180      var id = (m.id || '').toLowerCase();
13181      var txt = (m.textContent || '').toLowerCase();
13182      var isCartModal = id.indexOf('cart') > -1
13183                     || id.indexOf('variant') > -1
13184                     || id.indexOf('fast') > -1
13185                     || id.indexOf('urun') > -1
13186                     || txt.indexOf('lütfen seçin') > -1;
13187
13188      if(isCartModal){
13189        if(typeof jQuery !== 'undefined'){
13190          try { jQuery(m).modal('hide'); } catch(e){}
13191        }
13192        m.classList.remove('show','in');
13193        m.style.display = 'none';
13194      }
13195    });
13196
13197    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
13198    document.body.classList.remove('modal-open');
13199    document.body.style.overflow = '';
13200    document.body.style.paddingRight = '';
13201  }
13202
13203  function startModalKill(durationMs){
13204    if(LUX_MODAL_KILL_ACTIVE) return;
13205    LUX_MODAL_KILL_ACTIVE = true;
13206    killVisibleModals();
13207    var interval = setInterval(killVisibleModals, 50);
13208    setTimeout(function(){
13209      clearInterval(interval);
13210      LUX_MODAL_KILL_ACTIVE = false;
13211    }, durationMs || 2000);
13212  }
13213
13214
13215  /* ============================================
13216     AJAX: Varyantları detay sayfasından çek
13217     ============================================
13218     Ürün detay sayfasının tam HTML'ini indir,
13219     DOMParser ile parse et, varyantları bul
13220     ============================================ */
13221  function fetchVariants(productId, productLink, callback){
13222
13223    /* Cache'te varsa hemen döndür */
13224    if(window.__luxVariantCache[productId]){
13225      callback(window.__luxVariantCache[productId]);
13226      return;
13227    }
13228
13229    fetch(productLink, {
13230      method: 'GET',
13231      credentials: 'same-origin',
13232      headers: { 'Accept': 'text/html' }
13233    })
13234    .then(function(r){ return r.text(); })
13235    .then(function(html){
13236      var parser = new DOMParser();
13237      var doc = parser.parseFromString(html, 'text/html');
13238
13239      /* Detay sayfasındaki .variant-box'ı bul */
13240      var variantBox = doc.querySelector('.variant-box');
13241      if(!variantBox){
13242        callback({ variants: [], error: 'no_variant_box' });
13243        return;
13244      }
13245
13246      /* Her varyant grubu için select'leri ve option'ları oku */
13247      var variants = [];
13248      var variantLis = variantBox.querySelectorAll('.variant');
13249
13250      variantLis.forEach(function(li, idx){
13251        var nameEl = li.querySelector('.name');
13252        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
13253
13254        var values = [];
13255
13256        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
13257        var optLinks = li.querySelectorAll('.options a');
13258
13259        if(optLinks.length > 0){
13260          optLinks.forEach(function(a){
13261            /* Beden/renk değerini doğru attribute'tan oku
13262               - data-variant-value: asıl değer (örn: "38", "KAHVE")
13263               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
13264               - textContent: fallback */
13265            var deger = a.getAttribute('data-variant-value')
13266                     || a.textContent.trim();
13267
13268            /* Stok kontrolü - birden fazla yoldan kontrol et */
13269            var isSoldOut = a.classList.contains('sold-out')
13270                         || a.classList.contains('sold_out')
13271                         || a.classList.contains('disabled')
13272                         || a.classList.contains('stoksuz')
13273                         || a.classList.contains('out-of-stock')
13274                         || a.hasAttribute('disabled')
13275                         || a.getAttribute('data-in-stock') === '0'
13276                         || a.getAttribute('data-in-stock') === 'false'
13277                         || a.getAttribute('data-stokta-var-mi') === '0'
13278                         || a.getAttribute('data-stokta-var-mi') === 'false';
13279
13280            values.push({
13281              deger: deger,
13282              inStock: !isSoldOut
13283            });
13284          });
13285        } else {
13286          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
13287          var select = li.querySelector('select');
13288          if(select){
13289            var opts = select.querySelectorAll('option');
13290            opts.forEach(function(o){
13291              if(!o.value) return;
13292              values.push({
13293                deger: o.value,
13294                inStock: !o.disabled
13295              });
13296            });
13297          }
13298        }
13299
13300        variants.push({
13301          index: idx,
13302          baslik: name,
13303          values: values
13304        });
13305      });
13306
13307      var result = { variants: variants };
13308      window.__luxVariantCache[productId] = result;
13309      callback(result);
13310    })
13311    .catch(function(err){
13312      console.error('Varyant çekme hatası:', err);
13313      callback({ variants: [], error: 'fetch_failed' });
13314    });
13315  }
13316
13317
13318  /* ============================================
13319     Beden şeridini ve gizli variant-box'ı oluştur
13320     ============================================ */
13321  function buildVariantUI(productId, data){
13322    var card = document.getElementById('card-' + productId);
13323    if(!card) return false;
13324
13325    var holder = card.querySelector('.lux-variant-box');
13326    var strip = document.getElementById('size-strip-' + productId);
13327    if(!holder || !strip) return false;
13328
13329    if(!data.variants || data.variants.length === 0){
13330      /* Varyant yok */
13331      return false;
13332    }
13333
13334    /* Çoklu değerli ilk varyantı bul (beden) */
13335    var displayVariant = null;
13336    data.variants.forEach(function(v){
13337      if(!displayVariant && v.values.length > 1){
13338        displayVariant = v;
13339      }
13340    });
13341
13342    /* Gizli variant-box HTML */
13343    var html = '<div class="variant-box"><ul>';
13344    data.variants.forEach(function(v){
13345      html += '<li class="variant">';
13346      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
13347
13348      if(v.values.length > 1){
13349        html += '<option value="">Lütfen seçin</option>';
13350      }
13351
13352      v.values.forEach(function(val, i){
13353        var selected = (v.values.length === 1) ? ' selected' : '';
13354        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
13355      });
13356
13357      html += '</select></li>';
13358    });
13359    html += '</ul></div>';
13360
13361    holder.innerHTML = html;
13362    holder.style.display = '';
13363
13364    /* Strip HTML (sadece çoklu değerli varyantlar için)
13365       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
13366    if(displayVariant){
13367      var stripHtml = '';
13368      var inStockCount = 0;
13369
13370      /* DEBUG - console'da gör */
13371      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
13372
13373      displayVariant.values.forEach(function(val){
13374        /* SADECE stokta olanları ekle */
13375        if(val.inStock === true){
13376          stripHtml += '<div class="size-item" '
13377                    + 'data-urun-id="' + productId + '" '
13378                    + 'data-varyant-deger="' + val.deger + '" '
13379                    + 'onclick="return luxAddVariant(event, this);">'
13380                    + val.deger + '</div>';
13381          inStockCount++;
13382        }
13383      });
13384
13385      /* Eğer stokta hiç beden yoksa şeridi gösterme */
13386      if(inStockCount === 0){
13387        strip.setAttribute('data-loaded', '1');
13388        strip.setAttribute('data-has-variants', '0');
13389        return false;
13390      }
13391
13392      strip.innerHTML = stripHtml;
13393      strip.setAttribute('data-loaded', '1');
13394      strip.setAttribute('data-has-variants', '1');
13395      return true;
13396    } else {
13397      strip.setAttribute('data-loaded', '1');
13398      strip.setAttribute('data-has-variants', '0');
13399      return false;
13400    }
13401  }
13402
13403
13404  /* ============================================
13405     SEPET IKONU TIKLAMASI
13406     ============================================ */
13407  window.luxBagClick = function(ev, productId){
13408    ev.preventDefault();
13409    ev.stopPropagation();
13410
13411    var card = document.getElementById('card-' + productId);
13412    var strip = document.getElementById('size-strip-' + productId);
13413    var bag = document.getElementById('lux-bag-' + productId);
13414    if(!card || !strip) return false;
13415
13416    /* Strip zaten yüklenmişse direkt davran */
13417    if(strip.getAttribute('data-loaded') === '1'){
13418      if(strip.getAttribute('data-has-variants') === '1'){
13419        toggleStrip(productId);
13420      } else {
13421        addToCartSmart(productId);
13422      }
13423      return false;
13424    }
13425
13426    /* İlk tıklama - AJAX ile varyantları çek */
13427    bag.classList.add('is-loading');
13428    var productLink = card.getAttribute('data-lux-product-link');
13429
13430    fetchVariants(productId, productLink, function(data){
13431      bag.classList.remove('is-loading');
13432
13433      var hasVariants = buildVariantUI(productId, data);
13434
13435      if(hasVariants){
13436        /* Bedenler var - şeridi aç */
13437        toggleStrip(productId);
13438      } else {
13439        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
13440        addToCartSmart(productId);
13441      }
13442    });
13443
13444    return false;
13445  };
13446
13447  function toggleStrip(productId){
13448    var strip = document.getElementById('size-strip-' + productId);
13449    var card = document.getElementById('card-' + productId);
13450    if(!strip) return;
13451
13452    document.querySelectorAll('.size-strip.open').forEach(function(s){
13453      if(s !== strip) s.classList.remove('open');
13454    });
13455    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
13456      if(c !== card) c.classList.remove('sizes-open');
13457    });
13458
13459    strip.classList.toggle('open');
13460    if(card) card.classList.toggle('sizes-open');
13461  }
13462
13463
13464  /* ============================================
13465     BEDEN TIKLAMASI
13466     ============================================ */
13467  window.luxAddVariant = function(ev, elem){
13468    ev.preventDefault();
13469    ev.stopPropagation();
13470
13471    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
13472
13473    var productId = elem.getAttribute('data-urun-id');
13474    var varyantDeger = elem.getAttribute('data-varyant-deger');
13475
13476    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
13477    if(!holder) return false;
13478
13479    /* Seçilen bedeni ilk select'e yaz */
13480    var firstSelect = holder.querySelector('select[data-variant="0"]');
13481    if(firstSelect){
13482      firstSelect.value = varyantDeger;
13483      if(typeof jQuery !== "undefined"){
13484        jQuery(firstSelect).val(varyantDeger).trigger('change');
13485      }
13486    }
13487
13488    /* Diğer select'lere ilk geçerli değeri koy */
13489    var allSelects = holder.querySelectorAll('select[data-variant]');
13490    allSelects.forEach(function(sel, idx){
13491      if(idx === 0) return;
13492      if(sel.value) return;
13493      var options = sel.querySelectorAll('option');
13494      for(var i = 0; i < options.length; i++){
13495        if(options[i].value){
13496          sel.value = options[i].value;
13497          if(typeof jQuery !== "undefined"){
13498            jQuery(sel).val(options[i].value).trigger('change');
13499          }
13500          break;
13501        }
13502      }
13503    });
13504
13505    /* Görsel feedback */
13506    elem.classList.add('adding');
13507    var originalText = elem.textContent;
13508    elem.textContent = '✓';
13509
13510    /* Sepete ekle */
13511    addToCartSmart(productId, {
13512      checkVariant: true,
13513      variantCount: allSelects.length,
13514      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
13515    });
13516
13517    setTimeout(function(){
13518      elem.textContent = originalText;
13519      elem.classList.remove('adding');
13520      closeAll();
13521    }, 800);
13522
13523    return false;
13524  };
13525
13526
13527  /* ============================================
13528     SEPETE EKLE - Modal killer ile
13529     ============================================ */
13530  function addToCartSmart(productId, extraOptions){
13531    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
13532
13533    var options = {
13534      quantity: 1,
13535      hideNativeModal: 'lux-card-' + productId
13536    };
13537
13538    if(extraOptions){
13539      Object.keys(extraOptions).forEach(function(k){
13540        options[k] = extraOptions[k];
13541      });
13542    } else if(holder){
13543      var selects = holder.querySelectorAll('select[data-variant]');
13544      if(selects.length > 0){
13545        options.checkVariant = true;
13546        options.variantCount = selects.length;
13547        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
13548      }
13549    }
13550
13551    startModalKill(2000);
13552
13553    if(typeof addCart === "function"){
13554      try {
13555        addCart(productId, 'card', options);
13556        flashSuccess(productId);
13557      } catch(err){
13558        console.error('Sepete ekleme hatası:', err);
13559      }
13560    }
13561  }
13562
13563})();
13564</script>
13564</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
13565                             data-lux-product-shell="1"
13566                             data-lux-page="1"><style>
13567@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
13568
13569/* ===== VEZZA LUX CARD ===== */
13570.card-product{
13571  font-family:'Poppins',sans-serif;
13572  background:#fff !important;
13573  position:relative;
13574}
13575.card-product-inner{
13576  background:transparent !important;
13577  position:relative;
13578}
13579.card-product .c-p-i-link,
13580.card-product a{
13581  background:transparent !important;
13582}
13583.card-product-inner > div{
13584  background:transparent !important;
13585}
13586.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
13587  background:transparent !important;
13588}
13589.card-product .card-product-content,
13590.card-product .price-group,
13591.card-product .prices{
13592  background:transparent !important;
13593}
13594[class*="skeleton"],
13595[class*="placeholder"],
13596[class*="loading"]{
13597  background:transparent !important;
13598}
13599
13600/* ===== IMAGE AREA - KARE GÖRSEL ===== */
13601.image-wrapper{
13602  position:relative;
13603  width:100%;
13604  aspect-ratio:1/1;
13605  overflow:hidden;
13606  background:#fff !important;
13607}
13608
13609.image{
13610  position:relative;
13611  width:100%;
13612  height:100%;
13613}
13614
13615.image-wrapper img{
13616  width:100% !important;
13617  height:100% !important;
13618  object-fit:cover !important;
13619  object-position:center center !important;
13620  display:block;
13621  transition:transform .35s ease;
13622}
13623
13624/* ===== DISCOUNT ===== */
13625.discount{
13626  position:absolute;
13627  top:12px;
13628  left:12px;
13629  width:28px;
13630  height:48px;
13631  background:#e10b0b;
13632  color:#fff;
13633  font-size:12px;
13634  font-weight:600;
13635  display:flex;
13636  align-items:center;
13637  justify-content:center;
13638  writing-mode:vertical-rl;
13639  transform:rotate(180deg);
13640  letter-spacing:.5px;
13641  z-index:7;
13642}
13643
13644/* ===== FAV ===== */
13645.lux-fav{
13646  position:absolute;
13647  top:12px;
13648  right:12px;
13649  z-index:7;
13650}
13651.lux-fav a,
13652.lux-fav button{
13653  background:transparent !important;
13654  border:0 !important;
13655  padding:0 !important;
13656  cursor:pointer;
13657  display:inline-flex;
13658  align-items:center;
13659  justify-content:center;
13660}
13661
13662/* ===== SEPET IKON ===== */
13663.lux-bag{
13664  position:absolute;
13665  bottom:12px;
13666  right:12px;
13667  z-index:7;
13668  width:34px;
13669  height:34px;
13670  display:inline-flex;
13671  align-items:center;
13672  justify-content:center;
13673  background:rgba(255,255,255,.92);
13674  border:1px solid rgba(0,0,0,.10);
13675  border-radius:10px;
13676  cursor:pointer;
13677  transition:.2s ease;
13678}
13679.lux-bag:hover{
13680  background:#fff;
13681  border-color:rgba(0,0,0,.25);
13682}
13683.lux-bag.is-loading{
13684  opacity:.6;
13685  cursor:wait;
13686}
13687.lux-bag.is-success{
13688  background:#2e7d32 !important;
13689  border-color:#2e7d32 !important;
13690  color:#fff !important;
13691}
13692.card-product.sizes-open .lux-bag{
13693  opacity:0;
13694  pointer-events:none;
13695}
13696
13697/* Loading spinner */
13698.lux-bag.is-loading i::before{
13699  content:"⏳";
13700}
13701
13702/* ===== SIZE STRIP ===== */
13703.size-strip{
13704  width:100%;
13705  max-height:0;
13706  overflow:hidden;
13707  background:#fff;
13708  display:flex;
13709  flex-wrap:wrap;
13710  transition:max-height .3s ease, border-color .3s ease;
13711  border-top:1px solid transparent;
13712  border-bottom:1px solid transparent;
13713}
13714.size-strip.open{
13715  max-height:200px;
13716  border-top-color:rgba(0,0,0,.08);
13717  border-bottom-color:rgba(0,0,0,.08);
13718}
13719.size-item{
13720  flex:1 0 auto;
13721  min-width:38px;
13722  height:42px;
13723  display:flex;
13724  align-items:center;
13725  justify-content:center;
13726  font-size:13px;
13727  font-weight:500;
13728  color:#111 !important;
13729  cursor:pointer;
13730  user-select:none;
13731  background:transparent;
13732  transition:background .15s ease, color .15s ease;
13733  border-right:1px solid rgba(0,0,0,.08);
13734}
13735.size-item:last-child{ border-right:0; }
13736.size-item:hover:not(.disabled):not(.adding){
13737  background:#000 !important;
13738  color:#fff !important;
13739}
13740.size-item.disabled{
13741  color:#111 !important;
13742  text-decoration:line-through !important;
13743  opacity:.30 !important;
13744  cursor:not-allowed;
13745}
13746.size-item.adding{
13747  background:#2e7d32 !important;
13748  color:#fff !important;
13749  cursor:wait;
13750}
13751
13752/* ===== META ===== */
13753.lux-meta{
13754  padding:12px 6px 6px;
13755  background:transparent !important;
13756}
13757.lux-brand{
13758  font-size:16px;
13759  font-weight:600;
13760  color:#111;
13761  margin-bottom:2px;
13762}
13763.lux-title{
13764  font-size:14px;
13765  font-weight:400;
13766  line-height:1.45;
13767  color:#111;
13768  margin:0;
13769}
13770.lux-price{
13771  margin-top:10px;
13772  display:flex;
13773  gap:10px;
13774  align-items:baseline;
13775  background:transparent !important;
13776}
13777.lux-price .list-price{
13778  font-size:14px;
13779  font-weight:400;
13780  color:#111;
13781  text-decoration:line-through;
13782}
13783.lux-price .sale-price{
13784  font-size:16px;
13785  font-weight:600;
13786  color:#e10b0b;
13787}
13788
13789.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
13790.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
13791</style><div class="card-product"
13792     id="card-10333"
13793     data-lux-card-id="10333"
13794     data-lux-product-link="https://www.vezzalux.com/cl-1013-siyah-kirmizi-erkek-ayakkabi"
13795     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/cl-1013-siyah-kirmizi-erkek-ayakkabi" class="c-p-i-link" title="Cl 1013 Siyah Kırmızı Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cb38ab673-52518619-sw1200sh1200.webp" alt="Cl 1013 Siyah Kırmızı Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cb38ab673-52518619-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cb3a51d21-23177296-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
13796        onclick="userProductFavourite('add', 10333)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
13797         id="lux-bag-10333"
13798         onclick="return luxBagClick(event, 10333);"
13799         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10333" style="display:none;"></div><div class="size-strip" id="size-strip-10333" data-loaded="0"></div><a href="https://www.vezzalux.com/cl-1013-siyah-kirmizi-erkek-ayakkabi" class="c-p-i-link" title="Cl 1013 Siyah Kırmızı Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Christian Louboutin</div><div class="lux-title">Cl 1013 Siyah Kırmızı Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
13799<script>
13800(function(){
13801
13802  /* Bir kez kur */
13803  if(window.__luxCardInit) return;
13804  window.__luxCardInit = true;
13805
13806  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
13807  window.__luxVariantCache = window.__luxVariantCache || {};
13808
13809  function closeAll(){
13810    document.querySelectorAll('.size-strip.open').forEach(function(s){
13811      s.classList.remove('open');
13812    });
13813    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
13814      c.classList.remove('sizes-open');
13815    });
13816  }
13817
13818  function flashSuccess(productId){
13819    var bag = document.getElementById('lux-bag-' + productId);
13820    if(!bag) return;
13821    bag.classList.add('is-success');
13822    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
13823  }
13824
13825  /* Dış tıklama - kapat */
13826  document.addEventListener('click', function(e){
13827    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
13828    if(!inside) closeAll();
13829  });
13830
13831  document.addEventListener('keydown', function(e){
13832    if(e.key === 'Escape') closeAll();
13833  });
13834
13835
13836  /* ============================================
13837     MODAL KILLER - yedek güvence
13838     ============================================ */
13839  var LUX_MODAL_KILL_ACTIVE = false;
13840
13841  function killVisibleModals(){
13842    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
13843    modals.forEach(function(m){
13844      var id = (m.id || '').toLowerCase();
13845      var txt = (m.textContent || '').toLowerCase();
13846      var isCartModal = id.indexOf('cart') > -1
13847                     || id.indexOf('variant') > -1
13848                     || id.indexOf('fast') > -1
13849                     || id.indexOf('urun') > -1
13850                     || txt.indexOf('lütfen seçin') > -1;
13851
13852      if(isCartModal){
13853        if(typeof jQuery !== 'undefined'){
13854          try { jQuery(m).modal('hide'); } catch(e){}
13855        }
13856        m.classList.remove('show','in');
13857        m.style.display = 'none';
13858      }
13859    });
13860
13861    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
13862    document.body.classList.remove('modal-open');
13863    document.body.style.overflow = '';
13864    document.body.style.paddingRight = '';
13865  }
13866
13867  function startModalKill(durationMs){
13868    if(LUX_MODAL_KILL_ACTIVE) return;
13869    LUX_MODAL_KILL_ACTIVE = true;
13870    killVisibleModals();
13871    var interval = setInterval(killVisibleModals, 50);
13872    setTimeout(function(){
13873      clearInterval(interval);
13874      LUX_MODAL_KILL_ACTIVE = false;
13875    }, durationMs || 2000);
13876  }
13877
13878
13879  /* ============================================
13880     AJAX: Varyantları detay sayfasından çek
13881     ============================================
13882     Ürün detay sayfasının tam HTML'ini indir,
13883     DOMParser ile parse et, varyantları bul
13884     ============================================ */
13885  function fetchVariants(productId, productLink, callback){
13886
13887    /* Cache'te varsa hemen döndür */
13888    if(window.__luxVariantCache[productId]){
13889      callback(window.__luxVariantCache[productId]);
13890      return;
13891    }
13892
13893    fetch(productLink, {
13894      method: 'GET',
13895      credentials: 'same-origin',
13896      headers: { 'Accept': 'text/html' }
13897    })
13898    .then(function(r){ return r.text(); })
13899    .then(function(html){
13900      var parser = new DOMParser();
13901      var doc = parser.parseFromString(html, 'text/html');
13902
13903      /* Detay sayfasındaki .variant-box'ı bul */
13904      var variantBox = doc.querySelector('.variant-box');
13905      if(!variantBox){
13906        callback({ variants: [], error: 'no_variant_box' });
13907        return;
13908      }
13909
13910      /* Her varyant grubu için select'leri ve option'ları oku */
13911      var variants = [];
13912      var variantLis = variantBox.querySelectorAll('.variant');
13913
13914      variantLis.forEach(function(li, idx){
13915        var nameEl = li.querySelector('.name');
13916        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
13917
13918        var values = [];
13919
13920        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
13921        var optLinks = li.querySelectorAll('.options a');
13922
13923        if(optLinks.length > 0){
13924          optLinks.forEach(function(a){
13925            /* Beden/renk değerini doğru attribute'tan oku
13926               - data-variant-value: asıl değer (örn: "38", "KAHVE")
13927               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
13928               - textContent: fallback */
13929            var deger = a.getAttribute('data-variant-value')
13930                     || a.textContent.trim();
13931
13932            /* Stok kontrolü - birden fazla yoldan kontrol et */
13933            var isSoldOut = a.classList.contains('sold-out')
13934                         || a.classList.contains('sold_out')
13935                         || a.classList.contains('disabled')
13936                         || a.classList.contains('stoksuz')
13937                         || a.classList.contains('out-of-stock')
13938                         || a.hasAttribute('disabled')
13939                         || a.getAttribute('data-in-stock') === '0'
13940                         || a.getAttribute('data-in-stock') === 'false'
13941                         || a.getAttribute('data-stokta-var-mi') === '0'
13942                         || a.getAttribute('data-stokta-var-mi') === 'false';
13943
13944            values.push({
13945              deger: deger,
13946              inStock: !isSoldOut
13947            });
13948          });
13949        } else {
13950          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
13951          var select = li.querySelector('select');
13952          if(select){
13953            var opts = select.querySelectorAll('option');
13954            opts.forEach(function(o){
13955              if(!o.value) return;
13956              values.push({
13957                deger: o.value,
13958                inStock: !o.disabled
13959              });
13960            });
13961          }
13962        }
13963
13964        variants.push({
13965          index: idx,
13966          baslik: name,
13967          values: values
13968        });
13969      });
13970
13971      var result = { variants: variants };
13972      window.__luxVariantCache[productId] = result;
13973      callback(result);
13974    })
13975    .catch(function(err){
13976      console.error('Varyant çekme hatası:', err);
13977      callback({ variants: [], error: 'fetch_failed' });
13978    });
13979  }
13980
13981
13982  /* ============================================
13983     Beden şeridini ve gizli variant-box'ı oluştur
13984     ============================================ */
13985  function buildVariantUI(productId, data){
13986    var card = document.getElementById('card-' + productId);
13987    if(!card) return false;
13988
13989    var holder = card.querySelector('.lux-variant-box');
13990    var strip = document.getElementById('size-strip-' + productId);
13991    if(!holder || !strip) return false;
13992
13993    if(!data.variants || data.variants.length === 0){
13994      /* Varyant yok */
13995      return false;
13996    }
13997
13998    /* Çoklu değerli ilk varyantı bul (beden) */
13999    var displayVariant = null;
14000    data.variants.forEach(function(v){
14001      if(!displayVariant && v.values.length > 1){
14002        displayVariant = v;
14003      }
14004    });
14005
14006    /* Gizli variant-box HTML */
14007    var html = '<div class="variant-box"><ul>';
14008    data.variants.forEach(function(v){
14009      html += '<li class="variant">';
14010      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
14011
14012      if(v.values.length > 1){
14013        html += '<option value="">Lütfen seçin</option>';
14014      }
14015
14016      v.values.forEach(function(val, i){
14017        var selected = (v.values.length === 1) ? ' selected' : '';
14018        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
14019      });
14020
14021      html += '</select></li>';
14022    });
14023    html += '</ul></div>';
14024
14025    holder.innerHTML = html;
14026    holder.style.display = '';
14027
14028    /* Strip HTML (sadece çoklu değerli varyantlar için)
14029       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
14030    if(displayVariant){
14031      var stripHtml = '';
14032      var inStockCount = 0;
14033
14034      /* DEBUG - console'da gör */
14035      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
14036
14037      displayVariant.values.forEach(function(val){
14038        /* SADECE stokta olanları ekle */
14039        if(val.inStock === true){
14040          stripHtml += '<div class="size-item" '
14041                    + 'data-urun-id="' + productId + '" '
14042                    + 'data-varyant-deger="' + val.deger + '" '
14043                    + 'onclick="return luxAddVariant(event, this);">'
14044                    + val.deger + '</div>';
14045          inStockCount++;
14046        }
14047      });
14048
14049      /* Eğer stokta hiç beden yoksa şeridi gösterme */
14050      if(inStockCount === 0){
14051        strip.setAttribute('data-loaded', '1');
14052        strip.setAttribute('data-has-variants', '0');
14053        return false;
14054      }
14055
14056      strip.innerHTML = stripHtml;
14057      strip.setAttribute('data-loaded', '1');
14058      strip.setAttribute('data-has-variants', '1');
14059      return true;
14060    } else {
14061      strip.setAttribute('data-loaded', '1');
14062      strip.setAttribute('data-has-variants', '0');
14063      return false;
14064    }
14065  }
14066
14067
14068  /* ============================================
14069     SEPET IKONU TIKLAMASI
14070     ============================================ */
14071  window.luxBagClick = function(ev, productId){
14072    ev.preventDefault();
14073    ev.stopPropagation();
14074
14075    var card = document.getElementById('card-' + productId);
14076    var strip = document.getElementById('size-strip-' + productId);
14077    var bag = document.getElementById('lux-bag-' + productId);
14078    if(!card || !strip) return false;
14079
14080    /* Strip zaten yüklenmişse direkt davran */
14081    if(strip.getAttribute('data-loaded') === '1'){
14082      if(strip.getAttribute('data-has-variants') === '1'){
14083        toggleStrip(productId);
14084      } else {
14085        addToCartSmart(productId);
14086      }
14087      return false;
14088    }
14089
14090    /* İlk tıklama - AJAX ile varyantları çek */
14091    bag.classList.add('is-loading');
14092    var productLink = card.getAttribute('data-lux-product-link');
14093
14094    fetchVariants(productId, productLink, function(data){
14095      bag.classList.remove('is-loading');
14096
14097      var hasVariants = buildVariantUI(productId, data);
14098
14099      if(hasVariants){
14100        /* Bedenler var - şeridi aç */
14101        toggleStrip(productId);
14102      } else {
14103        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
14104        addToCartSmart(productId);
14105      }
14106    });
14107
14108    return false;
14109  };
14110
14111  function toggleStrip(productId){
14112    var strip = document.getElementById('size-strip-' + productId);
14113    var card = document.getElementById('card-' + productId);
14114    if(!strip) return;
14115
14116    document.querySelectorAll('.size-strip.open').forEach(function(s){
14117      if(s !== strip) s.classList.remove('open');
14118    });
14119    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
14120      if(c !== card) c.classList.remove('sizes-open');
14121    });
14122
14123    strip.classList.toggle('open');
14124    if(card) card.classList.toggle('sizes-open');
14125  }
14126
14127
14128  /* ============================================
14129     BEDEN TIKLAMASI
14130     ============================================ */
14131  window.luxAddVariant = function(ev, elem){
14132    ev.preventDefault();
14133    ev.stopPropagation();
14134
14135    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
14136
14137    var productId = elem.getAttribute('data-urun-id');
14138    var varyantDeger = elem.getAttribute('data-varyant-deger');
14139
14140    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
14141    if(!holder) return false;
14142
14143    /* Seçilen bedeni ilk select'e yaz */
14144    var firstSelect = holder.querySelector('select[data-variant="0"]');
14145    if(firstSelect){
14146      firstSelect.value = varyantDeger;
14147      if(typeof jQuery !== "undefined"){
14148        jQuery(firstSelect).val(varyantDeger).trigger('change');
14149      }
14150    }
14151
14152    /* Diğer select'lere ilk geçerli değeri koy */
14153    var allSelects = holder.querySelectorAll('select[data-variant]');
14154    allSelects.forEach(function(sel, idx){
14155      if(idx === 0) return;
14156      if(sel.value) return;
14157      var options = sel.querySelectorAll('option');
14158      for(var i = 0; i < options.length; i++){
14159        if(options[i].value){
14160          sel.value = options[i].value;
14161          if(typeof jQuery !== "undefined"){
14162            jQuery(sel).val(options[i].value).trigger('change');
14163          }
14164          break;
14165        }
14166      }
14167    });
14168
14169    /* Görsel feedback */
14170    elem.classList.add('adding');
14171    var originalText = elem.textContent;
14172    elem.textContent = '✓';
14173
14174    /* Sepete ekle */
14175    addToCartSmart(productId, {
14176      checkVariant: true,
14177      variantCount: allSelects.length,
14178      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
14179    });
14180
14181    setTimeout(function(){
14182      elem.textContent = originalText;
14183      elem.classList.remove('adding');
14184      closeAll();
14185    }, 800);
14186
14187    return false;
14188  };
14189
14190
14191  /* ============================================
14192     SEPETE EKLE - Modal killer ile
14193     ============================================ */
14194  function addToCartSmart(productId, extraOptions){
14195    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
14196
14197    var options = {
14198      quantity: 1,
14199      hideNativeModal: 'lux-card-' + productId
14200    };
14201
14202    if(extraOptions){
14203      Object.keys(extraOptions).forEach(function(k){
14204        options[k] = extraOptions[k];
14205      });
14206    } else if(holder){
14207      var selects = holder.querySelectorAll('select[data-variant]');
14208      if(selects.length > 0){
14209        options.checkVariant = true;
14210        options.variantCount = selects.length;
14211        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
14212      }
14213    }
14214
14215    startModalKill(2000);
14216
14217    if(typeof addCart === "function"){
14218      try {
14219        addCart(productId, 'card', options);
14220        flashSuccess(productId);
14221      } catch(err){
14222        console.error('Sepete ekleme hatası:', err);
14223      }
14224    }
14225  }
14226
14227})();
14228</script>
14228</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
14229                             data-lux-product-shell="1"
14230                             data-lux-page="1"><style>
14231@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
14232
14233/* ===== VEZZA LUX CARD ===== */
14234.card-product{
14235  font-family:'Poppins',sans-serif;
14236  background:#fff !important;
14237  position:relative;
14238}
14239.card-product-inner{
14240  background:transparent !important;
14241  position:relative;
14242}
14243.card-product .c-p-i-link,
14244.card-product a{
14245  background:transparent !important;
14246}
14247.card-product-inner > div{
14248  background:transparent !important;
14249}
14250.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
14251  background:transparent !important;
14252}
14253.card-product .card-product-content,
14254.card-product .price-group,
14255.card-product .prices{
14256  background:transparent !important;
14257}
14258[class*="skeleton"],
14259[class*="placeholder"],
14260[class*="loading"]{
14261  background:transparent !important;
14262}
14263
14264/* ===== IMAGE AREA - KARE GÖRSEL ===== */
14265.image-wrapper{
14266  position:relative;
14267  width:100%;
14268  aspect-ratio:1/1;
14269  overflow:hidden;
14270  background:#fff !important;
14271}
14272
14273.image{
14274  position:relative;
14275  width:100%;
14276  height:100%;
14277}
14278
14279.image-wrapper img{
14280  width:100% !important;
14281  height:100% !important;
14282  object-fit:cover !important;
14283  object-position:center center !important;
14284  display:block;
14285  transition:transform .35s ease;
14286}
14287
14288/* ===== DISCOUNT ===== */
14289.discount{
14290  position:absolute;
14291  top:12px;
14292  left:12px;
14293  width:28px;
14294  height:48px;
14295  background:#e10b0b;
14296  color:#fff;
14297  font-size:12px;
14298  font-weight:600;
14299  display:flex;
14300  align-items:center;
14301  justify-content:center;
14302  writing-mode:vertical-rl;
14303  transform:rotate(180deg);
14304  letter-spacing:.5px;
14305  z-index:7;
14306}
14307
14308/* ===== FAV ===== */
14309.lux-fav{
14310  position:absolute;
14311  top:12px;
14312  right:12px;
14313  z-index:7;
14314}
14315.lux-fav a,
14316.lux-fav button{
14317  background:transparent !important;
14318  border:0 !important;
14319  padding:0 !important;
14320  cursor:pointer;
14321  display:inline-flex;
14322  align-items:center;
14323  justify-content:center;
14324}
14325
14326/* ===== SEPET IKON ===== */
14327.lux-bag{
14328  position:absolute;
14329  bottom:12px;
14330  right:12px;
14331  z-index:7;
14332  width:34px;
14333  height:34px;
14334  display:inline-flex;
14335  align-items:center;
14336  justify-content:center;
14337  background:rgba(255,255,255,.92);
14338  border:1px solid rgba(0,0,0,.10);
14339  border-radius:10px;
14340  cursor:pointer;
14341  transition:.2s ease;
14342}
14343.lux-bag:hover{
14344  background:#fff;
14345  border-color:rgba(0,0,0,.25);
14346}
14347.lux-bag.is-loading{
14348  opacity:.6;
14349  cursor:wait;
14350}
14351.lux-bag.is-success{
14352  background:#2e7d32 !important;
14353  border-color:#2e7d32 !important;
14354  color:#fff !important;
14355}
14356.card-product.sizes-open .lux-bag{
14357  opacity:0;
14358  pointer-events:none;
14359}
14360
14361/* Loading spinner */
14362.lux-bag.is-loading i::before{
14363  content:"⏳";
14364}
14365
14366/* ===== SIZE STRIP ===== */
14367.size-strip{
14368  width:100%;
14369  max-height:0;
14370  overflow:hidden;
14371  background:#fff;
14372  display:flex;
14373  flex-wrap:wrap;
14374  transition:max-height .3s ease, border-color .3s ease;
14375  border-top:1px solid transparent;
14376  border-bottom:1px solid transparent;
14377}
14378.size-strip.open{
14379  max-height:200px;
14380  border-top-color:rgba(0,0,0,.08);
14381  border-bottom-color:rgba(0,0,0,.08);
14382}
14383.size-item{
14384  flex:1 0 auto;
14385  min-width:38px;
14386  height:42px;
14387  display:flex;
14388  align-items:center;
14389  justify-content:center;
14390  font-size:13px;
14391  font-weight:500;
14392  color:#111 !important;
14393  cursor:pointer;
14394  user-select:none;
14395  background:transparent;
14396  transition:background .15s ease, color .15s ease;
14397  border-right:1px solid rgba(0,0,0,.08);
14398}
14399.size-item:last-child{ border-right:0; }
14400.size-item:hover:not(.disabled):not(.adding){
14401  background:#000 !important;
14402  color:#fff !important;
14403}
14404.size-item.disabled{
14405  color:#111 !important;
14406  text-decoration:line-through !important;
14407  opacity:.30 !important;
14408  cursor:not-allowed;
14409}
14410.size-item.adding{
14411  background:#2e7d32 !important;
14412  color:#fff !important;
14413  cursor:wait;
14414}
14415
14416/* ===== META ===== */
14417.lux-meta{
14418  padding:12px 6px 6px;
14419  background:transparent !important;
14420}
14421.lux-brand{
14422  font-size:16px;
14423  font-weight:600;
14424  color:#111;
14425  margin-bottom:2px;
14426}
14427.lux-title{
14428  font-size:14px;
14429  font-weight:400;
14430  line-height:1.45;
14431  color:#111;
14432  margin:0;
14433}
14434.lux-price{
14435  margin-top:10px;
14436  display:flex;
14437  gap:10px;
14438  align-items:baseline;
14439  background:transparent !important;
14440}
14441.lux-price .list-price{
14442  font-size:14px;
14443  font-weight:400;
14444  color:#111;
14445  text-decoration:line-through;
14446}
14447.lux-price .sale-price{
14448  font-size:16px;
14449  font-weight:600;
14450  color:#e10b0b;
14451}
14452
14453.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
14454.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
14455</style><div class="card-product"
14456     id="card-10228"
14457     data-lux-card-id="10228"
14458     data-lux-product-link="https://www.vezzalux.com/lv-885-siyah-turuncu-bagcik-erkek-ayakkabi"
14459     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/lv-885-siyah-turuncu-bagcik-erkek-ayakkabi" class="c-p-i-link" title="Lv 885 Siyah Turuncu Bağcık Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c89999b68-85964029-sw1200sh1200.webp" alt="Lv 885 Siyah Turuncu Bağcık Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c89999b68-85964029-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c89799bda-26855059-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
14460        onclick="userProductFavourite('add', 10228)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
14461         id="lux-bag-10228"
14462         onclick="return luxBagClick(event, 10228);"
14463         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10228" style="display:none;"></div><div class="size-strip" id="size-strip-10228" data-loaded="0"></div><a href="https://www.vezzalux.com/lv-885-siyah-turuncu-bagcik-erkek-ayakkabi" class="c-p-i-link" title="Lv 885 Siyah Turuncu Bağcık Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Louis Vuitton</div><div class="lux-title">Lv 885 Siyah Turuncu Bağcık Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
14463<script>
14464(function(){
14465
14466  /* Bir kez kur */
14467  if(window.__luxCardInit) return;
14468  window.__luxCardInit = true;
14469
14470  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
14471  window.__luxVariantCache = window.__luxVariantCache || {};
14472
14473  function closeAll(){
14474    document.querySelectorAll('.size-strip.open').forEach(function(s){
14475      s.classList.remove('open');
14476    });
14477    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
14478      c.classList.remove('sizes-open');
14479    });
14480  }
14481
14482  function flashSuccess(productId){
14483    var bag = document.getElementById('lux-bag-' + productId);
14484    if(!bag) return;
14485    bag.classList.add('is-success');
14486    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
14487  }
14488
14489  /* Dış tıklama - kapat */
14490  document.addEventListener('click', function(e){
14491    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
14492    if(!inside) closeAll();
14493  });
14494
14495  document.addEventListener('keydown', function(e){
14496    if(e.key === 'Escape') closeAll();
14497  });
14498
14499
14500  /* ============================================
14501     MODAL KILLER - yedek güvence
14502     ============================================ */
14503  var LUX_MODAL_KILL_ACTIVE = false;
14504
14505  function killVisibleModals(){
14506    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
14507    modals.forEach(function(m){
14508      var id = (m.id || '').toLowerCase();
14509      var txt = (m.textContent || '').toLowerCase();
14510      var isCartModal = id.indexOf('cart') > -1
14511                     || id.indexOf('variant') > -1
14512                     || id.indexOf('fast') > -1
14513                     || id.indexOf('urun') > -1
14514                     || txt.indexOf('lütfen seçin') > -1;
14515
14516      if(isCartModal){
14517        if(typeof jQuery !== 'undefined'){
14518          try { jQuery(m).modal('hide'); } catch(e){}
14519        }
14520        m.classList.remove('show','in');
14521        m.style.display = 'none';
14522      }
14523    });
14524
14525    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
14526    document.body.classList.remove('modal-open');
14527    document.body.style.overflow = '';
14528    document.body.style.paddingRight = '';
14529  }
14530
14531  function startModalKill(durationMs){
14532    if(LUX_MODAL_KILL_ACTIVE) return;
14533    LUX_MODAL_KILL_ACTIVE = true;
14534    killVisibleModals();
14535    var interval = setInterval(killVisibleModals, 50);
14536    setTimeout(function(){
14537      clearInterval(interval);
14538      LUX_MODAL_KILL_ACTIVE = false;
14539    }, durationMs || 2000);
14540  }
14541
14542
14543  /* ============================================
14544     AJAX: Varyantları detay sayfasından çek
14545     ============================================
14546     Ürün detay sayfasının tam HTML'ini indir,
14547     DOMParser ile parse et, varyantları bul
14548     ============================================ */
14549  function fetchVariants(productId, productLink, callback){
14550
14551    /* Cache'te varsa hemen döndür */
14552    if(window.__luxVariantCache[productId]){
14553      callback(window.__luxVariantCache[productId]);
14554      return;
14555    }
14556
14557    fetch(productLink, {
14558      method: 'GET',
14559      credentials: 'same-origin',
14560      headers: { 'Accept': 'text/html' }
14561    })
14562    .then(function(r){ return r.text(); })
14563    .then(function(html){
14564      var parser = new DOMParser();
14565      var doc = parser.parseFromString(html, 'text/html');
14566
14567      /* Detay sayfasındaki .variant-box'ı bul */
14568      var variantBox = doc.querySelector('.variant-box');
14569      if(!variantBox){
14570        callback({ variants: [], error: 'no_variant_box' });
14571        return;
14572      }
14573
14574      /* Her varyant grubu için select'leri ve option'ları oku */
14575      var variants = [];
14576      var variantLis = variantBox.querySelectorAll('.variant');
14577
14578      variantLis.forEach(function(li, idx){
14579        var nameEl = li.querySelector('.name');
14580        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
14581
14582        var values = [];
14583
14584        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
14585        var optLinks = li.querySelectorAll('.options a');
14586
14587        if(optLinks.length > 0){
14588          optLinks.forEach(function(a){
14589            /* Beden/renk değerini doğru attribute'tan oku
14590               - data-variant-value: asıl değer (örn: "38", "KAHVE")
14591               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
14592               - textContent: fallback */
14593            var deger = a.getAttribute('data-variant-value')
14594                     || a.textContent.trim();
14595
14596            /* Stok kontrolü - birden fazla yoldan kontrol et */
14597            var isSoldOut = a.classList.contains('sold-out')
14598                         || a.classList.contains('sold_out')
14599                         || a.classList.contains('disabled')
14600                         || a.classList.contains('stoksuz')
14601                         || a.classList.contains('out-of-stock')
14602                         || a.hasAttribute('disabled')
14603                         || a.getAttribute('data-in-stock') === '0'
14604                         || a.getAttribute('data-in-stock') === 'false'
14605                         || a.getAttribute('data-stokta-var-mi') === '0'
14606                         || a.getAttribute('data-stokta-var-mi') === 'false';
14607
14608            values.push({
14609              deger: deger,
14610              inStock: !isSoldOut
14611            });
14612          });
14613        } else {
14614          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
14615          var select = li.querySelector('select');
14616          if(select){
14617            var opts = select.querySelectorAll('option');
14618            opts.forEach(function(o){
14619              if(!o.value) return;
14620              values.push({
14621                deger: o.value,
14622                inStock: !o.disabled
14623              });
14624            });
14625          }
14626        }
14627
14628        variants.push({
14629          index: idx,
14630          baslik: name,
14631          values: values
14632        });
14633      });
14634
14635      var result = { variants: variants };
14636      window.__luxVariantCache[productId] = result;
14637      callback(result);
14638    })
14639    .catch(function(err){
14640      console.error('Varyant çekme hatası:', err);
14641      callback({ variants: [], error: 'fetch_failed' });
14642    });
14643  }
14644
14645
14646  /* ============================================
14647     Beden şeridini ve gizli variant-box'ı oluştur
14648     ============================================ */
14649  function buildVariantUI(productId, data){
14650    var card = document.getElementById('card-' + productId);
14651    if(!card) return false;
14652
14653    var holder = card.querySelector('.lux-variant-box');
14654    var strip = document.getElementById('size-strip-' + productId);
14655    if(!holder || !strip) return false;
14656
14657    if(!data.variants || data.variants.length === 0){
14658      /* Varyant yok */
14659      return false;
14660    }
14661
14662    /* Çoklu değerli ilk varyantı bul (beden) */
14663    var displayVariant = null;
14664    data.variants.forEach(function(v){
14665      if(!displayVariant && v.values.length > 1){
14666        displayVariant = v;
14667      }
14668    });
14669
14670    /* Gizli variant-box HTML */
14671    var html = '<div class="variant-box"><ul>';
14672    data.variants.forEach(function(v){
14673      html += '<li class="variant">';
14674      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
14675
14676      if(v.values.length > 1){
14677        html += '<option value="">Lütfen seçin</option>';
14678      }
14679
14680      v.values.forEach(function(val, i){
14681        var selected = (v.values.length === 1) ? ' selected' : '';
14682        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
14683      });
14684
14685      html += '</select></li>';
14686    });
14687    html += '</ul></div>';
14688
14689    holder.innerHTML = html;
14690    holder.style.display = '';
14691
14692    /* Strip HTML (sadece çoklu değerli varyantlar için)
14693       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
14694    if(displayVariant){
14695      var stripHtml = '';
14696      var inStockCount = 0;
14697
14698      /* DEBUG - console'da gör */
14699      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
14700
14701      displayVariant.values.forEach(function(val){
14702        /* SADECE stokta olanları ekle */
14703        if(val.inStock === true){
14704          stripHtml += '<div class="size-item" '
14705                    + 'data-urun-id="' + productId + '" '
14706                    + 'data-varyant-deger="' + val.deger + '" '
14707                    + 'onclick="return luxAddVariant(event, this);">'
14708                    + val.deger + '</div>';
14709          inStockCount++;
14710        }
14711      });
14712
14713      /* Eğer stokta hiç beden yoksa şeridi gösterme */
14714      if(inStockCount === 0){
14715        strip.setAttribute('data-loaded', '1');
14716        strip.setAttribute('data-has-variants', '0');
14717        return false;
14718      }
14719
14720      strip.innerHTML = stripHtml;
14721      strip.setAttribute('data-loaded', '1');
14722      strip.setAttribute('data-has-variants', '1');
14723      return true;
14724    } else {
14725      strip.setAttribute('data-loaded', '1');
14726      strip.setAttribute('data-has-variants', '0');
14727      return false;
14728    }
14729  }
14730
14731
14732  /* ============================================
14733     SEPET IKONU TIKLAMASI
14734     ============================================ */
14735  window.luxBagClick = function(ev, productId){
14736    ev.preventDefault();
14737    ev.stopPropagation();
14738
14739    var card = document.getElementById('card-' + productId);
14740    var strip = document.getElementById('size-strip-' + productId);
14741    var bag = document.getElementById('lux-bag-' + productId);
14742    if(!card || !strip) return false;
14743
14744    /* Strip zaten yüklenmişse direkt davran */
14745    if(strip.getAttribute('data-loaded') === '1'){
14746      if(strip.getAttribute('data-has-variants') === '1'){
14747        toggleStrip(productId);
14748      } else {
14749        addToCartSmart(productId);
14750      }
14751      return false;
14752    }
14753
14754    /* İlk tıklama - AJAX ile varyantları çek */
14755    bag.classList.add('is-loading');
14756    var productLink = card.getAttribute('data-lux-product-link');
14757
14758    fetchVariants(productId, productLink, function(data){
14759      bag.classList.remove('is-loading');
14760
14761      var hasVariants = buildVariantUI(productId, data);
14762
14763      if(hasVariants){
14764        /* Bedenler var - şeridi aç */
14765        toggleStrip(productId);
14766      } else {
14767        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
14768        addToCartSmart(productId);
14769      }
14770    });
14771
14772    return false;
14773  };
14774
14775  function toggleStrip(productId){
14776    var strip = document.getElementById('size-strip-' + productId);
14777    var card = document.getElementById('card-' + productId);
14778    if(!strip) return;
14779
14780    document.querySelectorAll('.size-strip.open').forEach(function(s){
14781      if(s !== strip) s.classList.remove('open');
14782    });
14783    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
14784      if(c !== card) c.classList.remove('sizes-open');
14785    });
14786
14787    strip.classList.toggle('open');
14788    if(card) card.classList.toggle('sizes-open');
14789  }
14790
14791
14792  /* ============================================
14793     BEDEN TIKLAMASI
14794     ============================================ */
14795  window.luxAddVariant = function(ev, elem){
14796    ev.preventDefault();
14797    ev.stopPropagation();
14798
14799    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
14800
14801    var productId = elem.getAttribute('data-urun-id');
14802    var varyantDeger = elem.getAttribute('data-varyant-deger');
14803
14804    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
14805    if(!holder) return false;
14806
14807    /* Seçilen bedeni ilk select'e yaz */
14808    var firstSelect = holder.querySelector('select[data-variant="0"]');
14809    if(firstSelect){
14810      firstSelect.value = varyantDeger;
14811      if(typeof jQuery !== "undefined"){
14812        jQuery(firstSelect).val(varyantDeger).trigger('change');
14813      }
14814    }
14815
14816    /* Diğer select'lere ilk geçerli değeri koy */
14817    var allSelects = holder.querySelectorAll('select[data-variant]');
14818    allSelects.forEach(function(sel, idx){
14819      if(idx === 0) return;
14820      if(sel.value) return;
14821      var options = sel.querySelectorAll('option');
14822      for(var i = 0; i < options.length; i++){
14823        if(options[i].value){
14824          sel.value = options[i].value;
14825          if(typeof jQuery !== "undefined"){
14826            jQuery(sel).val(options[i].value).trigger('change');
14827          }
14828          break;
14829        }
14830      }
14831    });
14832
14833    /* Görsel feedback */
14834    elem.classList.add('adding');
14835    var originalText = elem.textContent;
14836    elem.textContent = '✓';
14837
14838    /* Sepete ekle */
14839    addToCartSmart(productId, {
14840      checkVariant: true,
14841      variantCount: allSelects.length,
14842      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
14843    });
14844
14845    setTimeout(function(){
14846      elem.textContent = originalText;
14847      elem.classList.remove('adding');
14848      closeAll();
14849    }, 800);
14850
14851    return false;
14852  };
14853
14854
14855  /* ============================================
14856     SEPETE EKLE - Modal killer ile
14857     ============================================ */
14858  function addToCartSmart(productId, extraOptions){
14859    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
14860
14861    var options = {
14862      quantity: 1,
14863      hideNativeModal: 'lux-card-' + productId
14864    };
14865
14866    if(extraOptions){
14867      Object.keys(extraOptions).forEach(function(k){
14868        options[k] = extraOptions[k];
14869      });
14870    } else if(holder){
14871      var selects = holder.querySelectorAll('select[data-variant]');
14872      if(selects.length > 0){
14873        options.checkVariant = true;
14874        options.variantCount = selects.length;
14875        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
14876      }
14877    }
14878
14879    startModalKill(2000);
14880
14881    if(typeof addCart === "function"){
14882      try {
14883        addCart(productId, 'card', options);
14884        flashSuccess(productId);
14885      } catch(err){
14886        console.error('Sepete ekleme hatası:', err);
14887      }
14888    }
14889  }
14890
14891})();
14892</script>
14892</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
14893                             data-lux-product-shell="1"
14894                             data-lux-page="1"><style>
14895@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
14896
14897/* ===== VEZZA LUX CARD ===== */
14898.card-product{
14899  font-family:'Poppins',sans-serif;
14900  background:#fff !important;
14901  position:relative;
14902}
14903.card-product-inner{
14904  background:transparent !important;
14905  position:relative;
14906}
14907.card-product .c-p-i-link,
14908.card-product a{
14909  background:transparent !important;
14910}
14911.card-product-inner > div{
14912  background:transparent !important;
14913}
14914.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
14915  background:transparent !important;
14916}
14917.card-product .card-product-content,
14918.card-product .price-group,
14919.card-product .prices{
14920  background:transparent !important;
14921}
14922[class*="skeleton"],
14923[class*="placeholder"],
14924[class*="loading"]{
14925  background:transparent !important;
14926}
14927
14928/* ===== IMAGE AREA - KARE GÖRSEL ===== */
14929.image-wrapper{
14930  position:relative;
14931  width:100%;
14932  aspect-ratio:1/1;
14933  overflow:hidden;
14934  background:#fff !important;
14935}
14936
14937.image{
14938  position:relative;
14939  width:100%;
14940  height:100%;
14941}
14942
14943.image-wrapper img{
14944  width:100% !important;
14945  height:100% !important;
14946  object-fit:cover !important;
14947  object-position:center center !important;
14948  display:block;
14949  transition:transform .35s ease;
14950}
14951
14952/* ===== DISCOUNT ===== */
14953.discount{
14954  position:absolute;
14955  top:12px;
14956  left:12px;
14957  width:28px;
14958  height:48px;
14959  background:#e10b0b;
14960  color:#fff;
14961  font-size:12px;
14962  font-weight:600;
14963  display:flex;
14964  align-items:center;
14965  justify-content:center;
14966  writing-mode:vertical-rl;
14967  transform:rotate(180deg);
14968  letter-spacing:.5px;
14969  z-index:7;
14970}
14971
14972/* ===== FAV ===== */
14973.lux-fav{
14974  position:absolute;
14975  top:12px;
14976  right:12px;
14977  z-index:7;
14978}
14979.lux-fav a,
14980.lux-fav button{
14981  background:transparent !important;
14982  border:0 !important;
14983  padding:0 !important;
14984  cursor:pointer;
14985  display:inline-flex;
14986  align-items:center;
14987  justify-content:center;
14988}
14989
14990/* ===== SEPET IKON ===== */
14991.lux-bag{
14992  position:absolute;
14993  bottom:12px;
14994  right:12px;
14995  z-index:7;
14996  width:34px;
14997  height:34px;
14998  display:inline-flex;
14999  align-items:center;
15000  justify-content:center;
15001  background:rgba(255,255,255,.92);
15002  border:1px solid rgba(0,0,0,.10);
15003  border-radius:10px;
15004  cursor:pointer;
15005  transition:.2s ease;
15006}
15007.lux-bag:hover{
15008  background:#fff;
15009  border-color:rgba(0,0,0,.25);
15010}
15011.lux-bag.is-loading{
15012  opacity:.6;
15013  cursor:wait;
15014}
15015.lux-bag.is-success{
15016  background:#2e7d32 !important;
15017  border-color:#2e7d32 !important;
15018  color:#fff !important;
15019}
15020.card-product.sizes-open .lux-bag{
15021  opacity:0;
15022  pointer-events:none;
15023}
15024
15025/* Loading spinner */
15026.lux-bag.is-loading i::before{
15027  content:"⏳";
15028}
15029
15030/* ===== SIZE STRIP ===== */
15031.size-strip{
15032  width:100%;
15033  max-height:0;
15034  overflow:hidden;
15035  background:#fff;
15036  display:flex;
15037  flex-wrap:wrap;
15038  transition:max-height .3s ease, border-color .3s ease;
15039  border-top:1px solid transparent;
15040  border-bottom:1px solid transparent;
15041}
15042.size-strip.open{
15043  max-height:200px;
15044  border-top-color:rgba(0,0,0,.08);
15045  border-bottom-color:rgba(0,0,0,.08);
15046}
15047.size-item{
15048  flex:1 0 auto;
15049  min-width:38px;
15050  height:42px;
15051  display:flex;
15052  align-items:center;
15053  justify-content:center;
15054  font-size:13px;
15055  font-weight:500;
15056  color:#111 !important;
15057  cursor:pointer;
15058  user-select:none;
15059  background:transparent;
15060  transition:background .15s ease, color .15s ease;
15061  border-right:1px solid rgba(0,0,0,.08);
15062}
15063.size-item:last-child{ border-right:0; }
15064.size-item:hover:not(.disabled):not(.adding){
15065  background:#000 !important;
15066  color:#fff !important;
15067}
15068.size-item.disabled{
15069  color:#111 !important;
15070  text-decoration:line-through !important;
15071  opacity:.30 !important;
15072  cursor:not-allowed;
15073}
15074.size-item.adding{
15075  background:#2e7d32 !important;
15076  color:#fff !important;
15077  cursor:wait;
15078}
15079
15080/* ===== META ===== */
15081.lux-meta{
15082  padding:12px 6px 6px;
15083  background:transparent !important;
15084}
15085.lux-brand{
15086  font-size:16px;
15087  font-weight:600;
15088  color:#111;
15089  margin-bottom:2px;
15090}
15091.lux-title{
15092  font-size:14px;
15093  font-weight:400;
15094  line-height:1.45;
15095  color:#111;
15096  margin:0;
15097}
15098.lux-price{
15099  margin-top:10px;
15100  display:flex;
15101  gap:10px;
15102  align-items:baseline;
15103  background:transparent !important;
15104}
15105.lux-price .list-price{
15106  font-size:14px;
15107  font-weight:400;
15108  color:#111;
15109  text-decoration:line-through;
15110}
15111.lux-price .sale-price{
15112  font-size:16px;
15113  font-weight:600;
15114  color:#e10b0b;
15115}
15116
15117.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
15118.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
15119</style><div class="card-product"
15120     id="card-10294"
15121     data-lux-card-id="10294"
15122     data-lux-product-link="https://www.vezzalux.com/hermes-969-terlik-bej-erkek-ayakkabi"
15123     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/hermes-969-terlik-bej-erkek-ayakkabi" class="c-p-i-link" title="Hermes 969 Terlik Bej Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca30d6694-48562929-sw1200sh1200.webp" alt="Hermes 969 Terlik Bej Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca30d6694-48562929-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca32c7730-59336277-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
15124        onclick="userProductFavourite('add', 10294)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
15125         id="lux-bag-10294"
15126         onclick="return luxBagClick(event, 10294);"
15127         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10294" style="display:none;"></div><div class="size-strip" id="size-strip-10294" data-loaded="0"></div><a href="https://www.vezzalux.com/hermes-969-terlik-bej-erkek-ayakkabi" class="c-p-i-link" title="Hermes 969 Terlik Bej Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Hermes</div><div class="lux-title">Hermes 969 Terlik Bej Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
15127<script>
15128(function(){
15129
15130  /* Bir kez kur */
15131  if(window.__luxCardInit) return;
15132  window.__luxCardInit = true;
15133
15134  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
15135  window.__luxVariantCache = window.__luxVariantCache || {};
15136
15137  function closeAll(){
15138    document.querySelectorAll('.size-strip.open').forEach(function(s){
15139      s.classList.remove('open');
15140    });
15141    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
15142      c.classList.remove('sizes-open');
15143    });
15144  }
15145
15146  function flashSuccess(productId){
15147    var bag = document.getElementById('lux-bag-' + productId);
15148    if(!bag) return;
15149    bag.classList.add('is-success');
15150    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
15151  }
15152
15153  /* Dış tıklama - kapat */
15154  document.addEventListener('click', function(e){
15155    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
15156    if(!inside) closeAll();
15157  });
15158
15159  document.addEventListener('keydown', function(e){
15160    if(e.key === 'Escape') closeAll();
15161  });
15162
15163
15164  /* ============================================
15165     MODAL KILLER - yedek güvence
15166     ============================================ */
15167  var LUX_MODAL_KILL_ACTIVE = false;
15168
15169  function killVisibleModals(){
15170    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
15171    modals.forEach(function(m){
15172      var id = (m.id || '').toLowerCase();
15173      var txt = (m.textContent || '').toLowerCase();
15174      var isCartModal = id.indexOf('cart') > -1
15175                     || id.indexOf('variant') > -1
15176                     || id.indexOf('fast') > -1
15177                     || id.indexOf('urun') > -1
15178                     || txt.indexOf('lütfen seçin') > -1;
15179
15180      if(isCartModal){
15181        if(typeof jQuery !== 'undefined'){
15182          try { jQuery(m).modal('hide'); } catch(e){}
15183        }
15184        m.classList.remove('show','in');
15185        m.style.display = 'none';
15186      }
15187    });
15188
15189    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
15190    document.body.classList.remove('modal-open');
15191    document.body.style.overflow = '';
15192    document.body.style.paddingRight = '';
15193  }
15194
15195  function startModalKill(durationMs){
15196    if(LUX_MODAL_KILL_ACTIVE) return;
15197    LUX_MODAL_KILL_ACTIVE = true;
15198    killVisibleModals();
15199    var interval = setInterval(killVisibleModals, 50);
15200    setTimeout(function(){
15201      clearInterval(interval);
15202      LUX_MODAL_KILL_ACTIVE = false;
15203    }, durationMs || 2000);
15204  }
15205
15206
15207  /* ============================================
15208     AJAX: Varyantları detay sayfasından çek
15209     ============================================
15210     Ürün detay sayfasının tam HTML'ini indir,
15211     DOMParser ile parse et, varyantları bul
15212     ============================================ */
15213  function fetchVariants(productId, productLink, callback){
15214
15215    /* Cache'te varsa hemen döndür */
15216    if(window.__luxVariantCache[productId]){
15217      callback(window.__luxVariantCache[productId]);
15218      return;
15219    }
15220
15221    fetch(productLink, {
15222      method: 'GET',
15223      credentials: 'same-origin',
15224      headers: { 'Accept': 'text/html' }
15225    })
15226    .then(function(r){ return r.text(); })
15227    .then(function(html){
15228      var parser = new DOMParser();
15229      var doc = parser.parseFromString(html, 'text/html');
15230
15231      /* Detay sayfasındaki .variant-box'ı bul */
15232      var variantBox = doc.querySelector('.variant-box');
15233      if(!variantBox){
15234        callback({ variants: [], error: 'no_variant_box' });
15235        return;
15236      }
15237
15238      /* Her varyant grubu için select'leri ve option'ları oku */
15239      var variants = [];
15240      var variantLis = variantBox.querySelectorAll('.variant');
15241
15242      variantLis.forEach(function(li, idx){
15243        var nameEl = li.querySelector('.name');
15244        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
15245
15246        var values = [];
15247
15248        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
15249        var optLinks = li.querySelectorAll('.options a');
15250
15251        if(optLinks.length > 0){
15252          optLinks.forEach(function(a){
15253            /* Beden/renk değerini doğru attribute'tan oku
15254               - data-variant-value: asıl değer (örn: "38", "KAHVE")
15255               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
15256               - textContent: fallback */
15257            var deger = a.getAttribute('data-variant-value')
15258                     || a.textContent.trim();
15259
15260            /* Stok kontrolü - birden fazla yoldan kontrol et */
15261            var isSoldOut = a.classList.contains('sold-out')
15262                         || a.classList.contains('sold_out')
15263                         || a.classList.contains('disabled')
15264                         || a.classList.contains('stoksuz')
15265                         || a.classList.contains('out-of-stock')
15266                         || a.hasAttribute('disabled')
15267                         || a.getAttribute('data-in-stock') === '0'
15268                         || a.getAttribute('data-in-stock') === 'false'
15269                         || a.getAttribute('data-stokta-var-mi') === '0'
15270                         || a.getAttribute('data-stokta-var-mi') === 'false';
15271
15272            values.push({
15273              deger: deger,
15274              inStock: !isSoldOut
15275            });
15276          });
15277        } else {
15278          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
15279          var select = li.querySelector('select');
15280          if(select){
15281            var opts = select.querySelectorAll('option');
15282            opts.forEach(function(o){
15283              if(!o.value) return;
15284              values.push({
15285                deger: o.value,
15286                inStock: !o.disabled
15287              });
15288            });
15289          }
15290        }
15291
15292        variants.push({
15293          index: idx,
15294          baslik: name,
15295          values: values
15296        });
15297      });
15298
15299      var result = { variants: variants };
15300      window.__luxVariantCache[productId] = result;
15301      callback(result);
15302    })
15303    .catch(function(err){
15304      console.error('Varyant çekme hatası:', err);
15305      callback({ variants: [], error: 'fetch_failed' });
15306    });
15307  }
15308
15309
15310  /* ============================================
15311     Beden şeridini ve gizli variant-box'ı oluştur
15312     ============================================ */
15313  function buildVariantUI(productId, data){
15314    var card = document.getElementById('card-' + productId);
15315    if(!card) return false;
15316
15317    var holder = card.querySelector('.lux-variant-box');
15318    var strip = document.getElementById('size-strip-' + productId);
15319    if(!holder || !strip) return false;
15320
15321    if(!data.variants || data.variants.length === 0){
15322      /* Varyant yok */
15323      return false;
15324    }
15325
15326    /* Çoklu değerli ilk varyantı bul (beden) */
15327    var displayVariant = null;
15328    data.variants.forEach(function(v){
15329      if(!displayVariant && v.values.length > 1){
15330        displayVariant = v;
15331      }
15332    });
15333
15334    /* Gizli variant-box HTML */
15335    var html = '<div class="variant-box"><ul>';
15336    data.variants.forEach(function(v){
15337      html += '<li class="variant">';
15338      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
15339
15340      if(v.values.length > 1){
15341        html += '<option value="">Lütfen seçin</option>';
15342      }
15343
15344      v.values.forEach(function(val, i){
15345        var selected = (v.values.length === 1) ? ' selected' : '';
15346        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
15347      });
15348
15349      html += '</select></li>';
15350    });
15351    html += '</ul></div>';
15352
15353    holder.innerHTML = html;
15354    holder.style.display = '';
15355
15356    /* Strip HTML (sadece çoklu değerli varyantlar için)
15357       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
15358    if(displayVariant){
15359      var stripHtml = '';
15360      var inStockCount = 0;
15361
15362      /* DEBUG - console'da gör */
15363      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
15364
15365      displayVariant.values.forEach(function(val){
15366        /* SADECE stokta olanları ekle */
15367        if(val.inStock === true){
15368          stripHtml += '<div class="size-item" '
15369                    + 'data-urun-id="' + productId + '" '
15370                    + 'data-varyant-deger="' + val.deger + '" '
15371                    + 'onclick="return luxAddVariant(event, this);">'
15372                    + val.deger + '</div>';
15373          inStockCount++;
15374        }
15375      });
15376
15377      /* Eğer stokta hiç beden yoksa şeridi gösterme */
15378      if(inStockCount === 0){
15379        strip.setAttribute('data-loaded', '1');
15380        strip.setAttribute('data-has-variants', '0');
15381        return false;
15382      }
15383
15384      strip.innerHTML = stripHtml;
15385      strip.setAttribute('data-loaded', '1');
15386      strip.setAttribute('data-has-variants', '1');
15387      return true;
15388    } else {
15389      strip.setAttribute('data-loaded', '1');
15390      strip.setAttribute('data-has-variants', '0');
15391      return false;
15392    }
15393  }
15394
15395
15396  /* ============================================
15397     SEPET IKONU TIKLAMASI
15398     ============================================ */
15399  window.luxBagClick = function(ev, productId){
15400    ev.preventDefault();
15401    ev.stopPropagation();
15402
15403    var card = document.getElementById('card-' + productId);
15404    var strip = document.getElementById('size-strip-' + productId);
15405    var bag = document.getElementById('lux-bag-' + productId);
15406    if(!card || !strip) return false;
15407
15408    /* Strip zaten yüklenmişse direkt davran */
15409    if(strip.getAttribute('data-loaded') === '1'){
15410      if(strip.getAttribute('data-has-variants') === '1'){
15411        toggleStrip(productId);
15412      } else {
15413        addToCartSmart(productId);
15414      }
15415      return false;
15416    }
15417
15418    /* İlk tıklama - AJAX ile varyantları çek */
15419    bag.classList.add('is-loading');
15420    var productLink = card.getAttribute('data-lux-product-link');
15421
15422    fetchVariants(productId, productLink, function(data){
15423      bag.classList.remove('is-loading');
15424
15425      var hasVariants = buildVariantUI(productId, data);
15426
15427      if(hasVariants){
15428        /* Bedenler var - şeridi aç */
15429        toggleStrip(productId);
15430      } else {
15431        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
15432        addToCartSmart(productId);
15433      }
15434    });
15435
15436    return false;
15437  };
15438
15439  function toggleStrip(productId){
15440    var strip = document.getElementById('size-strip-' + productId);
15441    var card = document.getElementById('card-' + productId);
15442    if(!strip) return;
15443
15444    document.querySelectorAll('.size-strip.open').forEach(function(s){
15445      if(s !== strip) s.classList.remove('open');
15446    });
15447    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
15448      if(c !== card) c.classList.remove('sizes-open');
15449    });
15450
15451    strip.classList.toggle('open');
15452    if(card) card.classList.toggle('sizes-open');
15453  }
15454
15455
15456  /* ============================================
15457     BEDEN TIKLAMASI
15458     ============================================ */
15459  window.luxAddVariant = function(ev, elem){
15460    ev.preventDefault();
15461    ev.stopPropagation();
15462
15463    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
15464
15465    var productId = elem.getAttribute('data-urun-id');
15466    var varyantDeger = elem.getAttribute('data-varyant-deger');
15467
15468    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
15469    if(!holder) return false;
15470
15471    /* Seçilen bedeni ilk select'e yaz */
15472    var firstSelect = holder.querySelector('select[data-variant="0"]');
15473    if(firstSelect){
15474      firstSelect.value = varyantDeger;
15475      if(typeof jQuery !== "undefined"){
15476        jQuery(firstSelect).val(varyantDeger).trigger('change');
15477      }
15478    }
15479
15480    /* Diğer select'lere ilk geçerli değeri koy */
15481    var allSelects = holder.querySelectorAll('select[data-variant]');
15482    allSelects.forEach(function(sel, idx){
15483      if(idx === 0) return;
15484      if(sel.value) return;
15485      var options = sel.querySelectorAll('option');
15486      for(var i = 0; i < options.length; i++){
15487        if(options[i].value){
15488          sel.value = options[i].value;
15489          if(typeof jQuery !== "undefined"){
15490            jQuery(sel).val(options[i].value).trigger('change');
15491          }
15492          break;
15493        }
15494      }
15495    });
15496
15497    /* Görsel feedback */
15498    elem.classList.add('adding');
15499    var originalText = elem.textContent;
15500    elem.textContent = '✓';
15501
15502    /* Sepete ekle */
15503    addToCartSmart(productId, {
15504      checkVariant: true,
15505      variantCount: allSelects.length,
15506      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
15507    });
15508
15509    setTimeout(function(){
15510      elem.textContent = originalText;
15511      elem.classList.remove('adding');
15512      closeAll();
15513    }, 800);
15514
15515    return false;
15516  };
15517
15518
15519  /* ============================================
15520     SEPETE EKLE - Modal killer ile
15521     ============================================ */
15522  function addToCartSmart(productId, extraOptions){
15523    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
15524
15525    var options = {
15526      quantity: 1,
15527      hideNativeModal: 'lux-card-' + productId
15528    };
15529
15530    if(extraOptions){
15531      Object.keys(extraOptions).forEach(function(k){
15532        options[k] = extraOptions[k];
15533      });
15534    } else if(holder){
15535      var selects = holder.querySelectorAll('select[data-variant]');
15536      if(selects.length > 0){
15537        options.checkVariant = true;
15538        options.variantCount = selects.length;
15539        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
15540      }
15541    }
15542
15543    startModalKill(2000);
15544
15545    if(typeof addCart === "function"){
15546      try {
15547        addCart(productId, 'card', options);
15548        flashSuccess(productId);
15549      } catch(err){
15550        console.error('Sepete ekleme hatası:', err);
15551      }
15552    }
15553  }
15554
15555})();
15556</script>
15556</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
15557                             data-lux-product-shell="1"
15558                             data-lux-page="1"><style>
15559@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
15560
15561/* ===== VEZZA LUX CARD ===== */
15562.card-product{
15563  font-family:'Poppins',sans-serif;
15564  background:#fff !important;
15565  position:relative;
15566}
15567.card-product-inner{
15568  background:transparent !important;
15569  position:relative;
15570}
15571.card-product .c-p-i-link,
15572.card-product a{
15573  background:transparent !important;
15574}
15575.card-product-inner > div{
15576  background:transparent !important;
15577}
15578.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
15579  background:transparent !important;
15580}
15581.card-product .card-product-content,
15582.card-product .price-group,
15583.card-product .prices{
15584  background:transparent !important;
15585}
15586[class*="skeleton"],
15587[class*="placeholder"],
15588[class*="loading"]{
15589  background:transparent !important;
15590}
15591
15592/* ===== IMAGE AREA - KARE GÖRSEL ===== */
15593.image-wrapper{
15594  position:relative;
15595  width:100%;
15596  aspect-ratio:1/1;
15597  overflow:hidden;
15598  background:#fff !important;
15599}
15600
15601.image{
15602  position:relative;
15603  width:100%;
15604  height:100%;
15605}
15606
15607.image-wrapper img{
15608  width:100% !important;
15609  height:100% !important;
15610  object-fit:cover !important;
15611  object-position:center center !important;
15612  display:block;
15613  transition:transform .35s ease;
15614}
15615
15616/* ===== DISCOUNT ===== */
15617.discount{
15618  position:absolute;
15619  top:12px;
15620  left:12px;
15621  width:28px;
15622  height:48px;
15623  background:#e10b0b;
15624  color:#fff;
15625  font-size:12px;
15626  font-weight:600;
15627  display:flex;
15628  align-items:center;
15629  justify-content:center;
15630  writing-mode:vertical-rl;
15631  transform:rotate(180deg);
15632  letter-spacing:.5px;
15633  z-index:7;
15634}
15635
15636/* ===== FAV ===== */
15637.lux-fav{
15638  position:absolute;
15639  top:12px;
15640  right:12px;
15641  z-index:7;
15642}
15643.lux-fav a,
15644.lux-fav button{
15645  background:transparent !important;
15646  border:0 !important;
15647  padding:0 !important;
15648  cursor:pointer;
15649  display:inline-flex;
15650  align-items:center;
15651  justify-content:center;
15652}
15653
15654/* ===== SEPET IKON ===== */
15655.lux-bag{
15656  position:absolute;
15657  bottom:12px;
15658  right:12px;
15659  z-index:7;
15660  width:34px;
15661  height:34px;
15662  display:inline-flex;
15663  align-items:center;
15664  justify-content:center;
15665  background:rgba(255,255,255,.92);
15666  border:1px solid rgba(0,0,0,.10);
15667  border-radius:10px;
15668  cursor:pointer;
15669  transition:.2s ease;
15670}
15671.lux-bag:hover{
15672  background:#fff;
15673  border-color:rgba(0,0,0,.25);
15674}
15675.lux-bag.is-loading{
15676  opacity:.6;
15677  cursor:wait;
15678}
15679.lux-bag.is-success{
15680  background:#2e7d32 !important;
15681  border-color:#2e7d32 !important;
15682  color:#fff !important;
15683}
15684.card-product.sizes-open .lux-bag{
15685  opacity:0;
15686  pointer-events:none;
15687}
15688
15689/* Loading spinner */
15690.lux-bag.is-loading i::before{
15691  content:"⏳";
15692}
15693
15694/* ===== SIZE STRIP ===== */
15695.size-strip{
15696  width:100%;
15697  max-height:0;
15698  overflow:hidden;
15699  background:#fff;
15700  display:flex;
15701  flex-wrap:wrap;
15702  transition:max-height .3s ease, border-color .3s ease;
15703  border-top:1px solid transparent;
15704  border-bottom:1px solid transparent;
15705}
15706.size-strip.open{
15707  max-height:200px;
15708  border-top-color:rgba(0,0,0,.08);
15709  border-bottom-color:rgba(0,0,0,.08);
15710}
15711.size-item{
15712  flex:1 0 auto;
15713  min-width:38px;
15714  height:42px;
15715  display:flex;
15716  align-items:center;
15717  justify-content:center;
15718  font-size:13px;
15719  font-weight:500;
15720  color:#111 !important;
15721  cursor:pointer;
15722  user-select:none;
15723  background:transparent;
15724  transition:background .15s ease, color .15s ease;
15725  border-right:1px solid rgba(0,0,0,.08);
15726}
15727.size-item:last-child{ border-right:0; }
15728.size-item:hover:not(.disabled):not(.adding){
15729  background:#000 !important;
15730  color:#fff !important;
15731}
15732.size-item.disabled{
15733  color:#111 !important;
15734  text-decoration:line-through !important;
15735  opacity:.30 !important;
15736  cursor:not-allowed;
15737}
15738.size-item.adding{
15739  background:#2e7d32 !important;
15740  color:#fff !important;
15741  cursor:wait;
15742}
15743
15744/* ===== META ===== */
15745.lux-meta{
15746  padding:12px 6px 6px;
15747  background:transparent !important;
15748}
15749.lux-brand{
15750  font-size:16px;
15751  font-weight:600;
15752  color:#111;
15753  margin-bottom:2px;
15754}
15755.lux-title{
15756  font-size:14px;
15757  font-weight:400;
15758  line-height:1.45;
15759  color:#111;
15760  margin:0;
15761}
15762.lux-price{
15763  margin-top:10px;
15764  display:flex;
15765  gap:10px;
15766  align-items:baseline;
15767  background:transparent !important;
15768}
15769.lux-price .list-price{
15770  font-size:14px;
15771  font-weight:400;
15772  color:#111;
15773  text-decoration:line-through;
15774}
15775.lux-price .sale-price{
15776  font-size:16px;
15777  font-weight:600;
15778  color:#e10b0b;
15779}
15780
15781.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
15782.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
15783</style><div class="card-product"
15784     id="card-10317"
15785     data-lux-card-id="10317"
15786     data-lux-product-link="https://www.vezzalux.com/lv-995-arkasi-siyah-beyaz-desenli-erkek-ayakkabi"
15787     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/lv-995-arkasi-siyah-beyaz-desenli-erkek-ayakkabi" class="c-p-i-link" title="Lv 995 Arkası Siyah Beyaz Desenli Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cacca7ae4-86124824-sw1200sh1200.webp" alt="Lv 995 Arkası Siyah Beyaz Desenli Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cacca7ae4-86124824-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cace305b5-91968583-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
15788        onclick="userProductFavourite('add', 10317)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
15789         id="lux-bag-10317"
15790         onclick="return luxBagClick(event, 10317);"
15791         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10317" style="display:none;"></div><div class="size-strip" id="size-strip-10317" data-loaded="0"></div><a href="https://www.vezzalux.com/lv-995-arkasi-siyah-beyaz-desenli-erkek-ayakkabi" class="c-p-i-link" title="Lv 995 Arkası Siyah Beyaz Desenli Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Louis Vuitton</div><div class="lux-title">Lv 995 Arkası Siyah Beyaz Desenli Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
15791<script>
15792(function(){
15793
15794  /* Bir kez kur */
15795  if(window.__luxCardInit) return;
15796  window.__luxCardInit = true;
15797
15798  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
15799  window.__luxVariantCache = window.__luxVariantCache || {};
15800
15801  function closeAll(){
15802    document.querySelectorAll('.size-strip.open').forEach(function(s){
15803      s.classList.remove('open');
15804    });
15805    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
15806      c.classList.remove('sizes-open');
15807    });
15808  }
15809
15810  function flashSuccess(productId){
15811    var bag = document.getElementById('lux-bag-' + productId);
15812    if(!bag) return;
15813    bag.classList.add('is-success');
15814    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
15815  }
15816
15817  /* Dış tıklama - kapat */
15818  document.addEventListener('click', function(e){
15819    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
15820    if(!inside) closeAll();
15821  });
15822
15823  document.addEventListener('keydown', function(e){
15824    if(e.key === 'Escape') closeAll();
15825  });
15826
15827
15828  /* ============================================
15829     MODAL KILLER - yedek güvence
15830     ============================================ */
15831  var LUX_MODAL_KILL_ACTIVE = false;
15832
15833  function killVisibleModals(){
15834    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
15835    modals.forEach(function(m){
15836      var id = (m.id || '').toLowerCase();
15837      var txt = (m.textContent || '').toLowerCase();
15838      var isCartModal = id.indexOf('cart') > -1
15839                     || id.indexOf('variant') > -1
15840                     || id.indexOf('fast') > -1
15841                     || id.indexOf('urun') > -1
15842                     || txt.indexOf('lütfen seçin') > -1;
15843
15844      if(isCartModal){
15845        if(typeof jQuery !== 'undefined'){
15846          try { jQuery(m).modal('hide'); } catch(e){}
15847        }
15848        m.classList.remove('show','in');
15849        m.style.display = 'none';
15850      }
15851    });
15852
15853    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
15854    document.body.classList.remove('modal-open');
15855    document.body.style.overflow = '';
15856    document.body.style.paddingRight = '';
15857  }
15858
15859  function startModalKill(durationMs){
15860    if(LUX_MODAL_KILL_ACTIVE) return;
15861    LUX_MODAL_KILL_ACTIVE = true;
15862    killVisibleModals();
15863    var interval = setInterval(killVisibleModals, 50);
15864    setTimeout(function(){
15865      clearInterval(interval);
15866      LUX_MODAL_KILL_ACTIVE = false;
15867    }, durationMs || 2000);
15868  }
15869
15870
15871  /* ============================================
15872     AJAX: Varyantları detay sayfasından çek
15873     ============================================
15874     Ürün detay sayfasının tam HTML'ini indir,
15875     DOMParser ile parse et, varyantları bul
15876     ============================================ */
15877  function fetchVariants(productId, productLink, callback){
15878
15879    /* Cache'te varsa hemen döndür */
15880    if(window.__luxVariantCache[productId]){
15881      callback(window.__luxVariantCache[productId]);
15882      return;
15883    }
15884
15885    fetch(productLink, {
15886      method: 'GET',
15887      credentials: 'same-origin',
15888      headers: { 'Accept': 'text/html' }
15889    })
15890    .then(function(r){ return r.text(); })
15891    .then(function(html){
15892      var parser = new DOMParser();
15893      var doc = parser.parseFromString(html, 'text/html');
15894
15895      /* Detay sayfasındaki .variant-box'ı bul */
15896      var variantBox = doc.querySelector('.variant-box');
15897      if(!variantBox){
15898        callback({ variants: [], error: 'no_variant_box' });
15899        return;
15900      }
15901
15902      /* Her varyant grubu için select'leri ve option'ları oku */
15903      var variants = [];
15904      var variantLis = variantBox.querySelectorAll('.variant');
15905
15906      variantLis.forEach(function(li, idx){
15907        var nameEl = li.querySelector('.name');
15908        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
15909
15910        var values = [];
15911
15912        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
15913        var optLinks = li.querySelectorAll('.options a');
15914
15915        if(optLinks.length > 0){
15916          optLinks.forEach(function(a){
15917            /* Beden/renk değerini doğru attribute'tan oku
15918               - data-variant-value: asıl değer (örn: "38", "KAHVE")
15919               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
15920               - textContent: fallback */
15921            var deger = a.getAttribute('data-variant-value')
15922                     || a.textContent.trim();
15923
15924            /* Stok kontrolü - birden fazla yoldan kontrol et */
15925            var isSoldOut = a.classList.contains('sold-out')
15926                         || a.classList.contains('sold_out')
15927                         || a.classList.contains('disabled')
15928                         || a.classList.contains('stoksuz')
15929                         || a.classList.contains('out-of-stock')
15930                         || a.hasAttribute('disabled')
15931                         || a.getAttribute('data-in-stock') === '0'
15932                         || a.getAttribute('data-in-stock') === 'false'
15933                         || a.getAttribute('data-stokta-var-mi') === '0'
15934                         || a.getAttribute('data-stokta-var-mi') === 'false';
15935
15936            values.push({
15937              deger: deger,
15938              inStock: !isSoldOut
15939            });
15940          });
15941        } else {
15942          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
15943          var select = li.querySelector('select');
15944          if(select){
15945            var opts = select.querySelectorAll('option');
15946            opts.forEach(function(o){
15947              if(!o.value) return;
15948              values.push({
15949                deger: o.value,
15950                inStock: !o.disabled
15951              });
15952            });
15953          }
15954        }
15955
15956        variants.push({
15957          index: idx,
15958          baslik: name,
15959          values: values
15960        });
15961      });
15962
15963      var result = { variants: variants };
15964      window.__luxVariantCache[productId] = result;
15965      callback(result);
15966    })
15967    .catch(function(err){
15968      console.error('Varyant çekme hatası:', err);
15969      callback({ variants: [], error: 'fetch_failed' });
15970    });
15971  }
15972
15973
15974  /* ============================================
15975     Beden şeridini ve gizli variant-box'ı oluştur
15976     ============================================ */
15977  function buildVariantUI(productId, data){
15978    var card = document.getElementById('card-' + productId);
15979    if(!card) return false;
15980
15981    var holder = card.querySelector('.lux-variant-box');
15982    var strip = document.getElementById('size-strip-' + productId);
15983    if(!holder || !strip) return false;
15984
15985    if(!data.variants || data.variants.length === 0){
15986      /* Varyant yok */
15987      return false;
15988    }
15989
15990    /* Çoklu değerli ilk varyantı bul (beden) */
15991    var displayVariant = null;
15992    data.variants.forEach(function(v){
15993      if(!displayVariant && v.values.length > 1){
15994        displayVariant = v;
15995      }
15996    });
15997
15998    /* Gizli variant-box HTML */
15999    var html = '<div class="variant-box"><ul>';
16000    data.variants.forEach(function(v){
16001      html += '<li class="variant">';
16002      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
16003
16004      if(v.values.length > 1){
16005        html += '<option value="">Lütfen seçin</option>';
16006      }
16007
16008      v.values.forEach(function(val, i){
16009        var selected = (v.values.length === 1) ? ' selected' : '';
16010        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
16011      });
16012
16013      html += '</select></li>';
16014    });
16015    html += '</ul></div>';
16016
16017    holder.innerHTML = html;
16018    holder.style.display = '';
16019
16020    /* Strip HTML (sadece çoklu değerli varyantlar için)
16021       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
16022    if(displayVariant){
16023      var stripHtml = '';
16024      var inStockCount = 0;
16025
16026      /* DEBUG - console'da gör */
16027      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
16028
16029      displayVariant.values.forEach(function(val){
16030        /* SADECE stokta olanları ekle */
16031        if(val.inStock === true){
16032          stripHtml += '<div class="size-item" '
16033                    + 'data-urun-id="' + productId + '" '
16034                    + 'data-varyant-deger="' + val.deger + '" '
16035                    + 'onclick="return luxAddVariant(event, this);">'
16036                    + val.deger + '</div>';
16037          inStockCount++;
16038        }
16039      });
16040
16041      /* Eğer stokta hiç beden yoksa şeridi gösterme */
16042      if(inStockCount === 0){
16043        strip.setAttribute('data-loaded', '1');
16044        strip.setAttribute('data-has-variants', '0');
16045        return false;
16046      }
16047
16048      strip.innerHTML = stripHtml;
16049      strip.setAttribute('data-loaded', '1');
16050      strip.setAttribute('data-has-variants', '1');
16051      return true;
16052    } else {
16053      strip.setAttribute('data-loaded', '1');
16054      strip.setAttribute('data-has-variants', '0');
16055      return false;
16056    }
16057  }
16058
16059
16060  /* ============================================
16061     SEPET IKONU TIKLAMASI
16062     ============================================ */
16063  window.luxBagClick = function(ev, productId){
16064    ev.preventDefault();
16065    ev.stopPropagation();
16066
16067    var card = document.getElementById('card-' + productId);
16068    var strip = document.getElementById('size-strip-' + productId);
16069    var bag = document.getElementById('lux-bag-' + productId);
16070    if(!card || !strip) return false;
16071
16072    /* Strip zaten yüklenmişse direkt davran */
16073    if(strip.getAttribute('data-loaded') === '1'){
16074      if(strip.getAttribute('data-has-variants') === '1'){
16075        toggleStrip(productId);
16076      } else {
16077        addToCartSmart(productId);
16078      }
16079      return false;
16080    }
16081
16082    /* İlk tıklama - AJAX ile varyantları çek */
16083    bag.classList.add('is-loading');
16084    var productLink = card.getAttribute('data-lux-product-link');
16085
16086    fetchVariants(productId, productLink, function(data){
16087      bag.classList.remove('is-loading');
16088
16089      var hasVariants = buildVariantUI(productId, data);
16090
16091      if(hasVariants){
16092        /* Bedenler var - şeridi aç */
16093        toggleStrip(productId);
16094      } else {
16095        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
16096        addToCartSmart(productId);
16097      }
16098    });
16099
16100    return false;
16101  };
16102
16103  function toggleStrip(productId){
16104    var strip = document.getElementById('size-strip-' + productId);
16105    var card = document.getElementById('card-' + productId);
16106    if(!strip) return;
16107
16108    document.querySelectorAll('.size-strip.open').forEach(function(s){
16109      if(s !== strip) s.classList.remove('open');
16110    });
16111    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
16112      if(c !== card) c.classList.remove('sizes-open');
16113    });
16114
16115    strip.classList.toggle('open');
16116    if(card) card.classList.toggle('sizes-open');
16117  }
16118
16119
16120  /* ============================================
16121     BEDEN TIKLAMASI
16122     ============================================ */
16123  window.luxAddVariant = function(ev, elem){
16124    ev.preventDefault();
16125    ev.stopPropagation();
16126
16127    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
16128
16129    var productId = elem.getAttribute('data-urun-id');
16130    var varyantDeger = elem.getAttribute('data-varyant-deger');
16131
16132    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
16133    if(!holder) return false;
16134
16135    /* Seçilen bedeni ilk select'e yaz */
16136    var firstSelect = holder.querySelector('select[data-variant="0"]');
16137    if(firstSelect){
16138      firstSelect.value = varyantDeger;
16139      if(typeof jQuery !== "undefined"){
16140        jQuery(firstSelect).val(varyantDeger).trigger('change');
16141      }
16142    }
16143
16144    /* Diğer select'lere ilk geçerli değeri koy */
16145    var allSelects = holder.querySelectorAll('select[data-variant]');
16146    allSelects.forEach(function(sel, idx){
16147      if(idx === 0) return;
16148      if(sel.value) return;
16149      var options = sel.querySelectorAll('option');
16150      for(var i = 0; i < options.length; i++){
16151        if(options[i].value){
16152          sel.value = options[i].value;
16153          if(typeof jQuery !== "undefined"){
16154            jQuery(sel).val(options[i].value).trigger('change');
16155          }
16156          break;
16157        }
16158      }
16159    });
16160
16161    /* Görsel feedback */
16162    elem.classList.add('adding');
16163    var originalText = elem.textContent;
16164    elem.textContent = '✓';
16165
16166    /* Sepete ekle */
16167    addToCartSmart(productId, {
16168      checkVariant: true,
16169      variantCount: allSelects.length,
16170      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
16171    });
16172
16173    setTimeout(function(){
16174      elem.textContent = originalText;
16175      elem.classList.remove('adding');
16176      closeAll();
16177    }, 800);
16178
16179    return false;
16180  };
16181
16182
16183  /* ============================================
16184     SEPETE EKLE - Modal killer ile
16185     ============================================ */
16186  function addToCartSmart(productId, extraOptions){
16187    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
16188
16189    var options = {
16190      quantity: 1,
16191      hideNativeModal: 'lux-card-' + productId
16192    };
16193
16194    if(extraOptions){
16195      Object.keys(extraOptions).forEach(function(k){
16196        options[k] = extraOptions[k];
16197      });
16198    } else if(holder){
16199      var selects = holder.querySelectorAll('select[data-variant]');
16200      if(selects.length > 0){
16201        options.checkVariant = true;
16202        options.variantCount = selects.length;
16203        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
16204      }
16205    }
16206
16207    startModalKill(2000);
16208
16209    if(typeof addCart === "function"){
16210      try {
16211        addCart(productId, 'card', options);
16212        flashSuccess(productId);
16213      } catch(err){
16214        console.error('Sepete ekleme hatası:', err);
16215      }
16216    }
16217  }
16218
16219})();
16220</script>
16220</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
16221                             data-lux-product-shell="1"
16222                             data-lux-page="1"><style>
16223@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
16224
16225/* ===== VEZZA LUX CARD ===== */
16226.card-product{
16227  font-family:'Poppins',sans-serif;
16228  background:#fff !important;
16229  position:relative;
16230}
16231.card-product-inner{
16232  background:transparent !important;
16233  position:relative;
16234}
16235.card-product .c-p-i-link,
16236.card-product a{
16237  background:transparent !important;
16238}
16239.card-product-inner > div{
16240  background:transparent !important;
16241}
16242.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
16243  background:transparent !important;
16244}
16245.card-product .card-product-content,
16246.card-product .price-group,
16247.card-product .prices{
16248  background:transparent !important;
16249}
16250[class*="skeleton"],
16251[class*="placeholder"],
16252[class*="loading"]{
16253  background:transparent !important;
16254}
16255
16256/* ===== IMAGE AREA - KARE GÖRSEL ===== */
16257.image-wrapper{
16258  position:relative;
16259  width:100%;
16260  aspect-ratio:1/1;
16261  overflow:hidden;
16262  background:#fff !important;
16263}
16264
16265.image{
16266  position:relative;
16267  width:100%;
16268  height:100%;
16269}
16270
16271.image-wrapper img{
16272  width:100% !important;
16273  height:100% !important;
16274  object-fit:cover !important;
16275  object-position:center center !important;
16276  display:block;
16277  transition:transform .35s ease;
16278}
16279
16280/* ===== DISCOUNT ===== */
16281.discount{
16282  position:absolute;
16283  top:12px;
16284  left:12px;
16285  width:28px;
16286  height:48px;
16287  background:#e10b0b;
16288  color:#fff;
16289  font-size:12px;
16290  font-weight:600;
16291  display:flex;
16292  align-items:center;
16293  justify-content:center;
16294  writing-mode:vertical-rl;
16295  transform:rotate(180deg);
16296  letter-spacing:.5px;
16297  z-index:7;
16298}
16299
16300/* ===== FAV ===== */
16301.lux-fav{
16302  position:absolute;
16303  top:12px;
16304  right:12px;
16305  z-index:7;
16306}
16307.lux-fav a,
16308.lux-fav button{
16309  background:transparent !important;
16310  border:0 !important;
16311  padding:0 !important;
16312  cursor:pointer;
16313  display:inline-flex;
16314  align-items:center;
16315  justify-content:center;
16316}
16317
16318/* ===== SEPET IKON ===== */
16319.lux-bag{
16320  position:absolute;
16321  bottom:12px;
16322  right:12px;
16323  z-index:7;
16324  width:34px;
16325  height:34px;
16326  display:inline-flex;
16327  align-items:center;
16328  justify-content:center;
16329  background:rgba(255,255,255,.92);
16330  border:1px solid rgba(0,0,0,.10);
16331  border-radius:10px;
16332  cursor:pointer;
16333  transition:.2s ease;
16334}
16335.lux-bag:hover{
16336  background:#fff;
16337  border-color:rgba(0,0,0,.25);
16338}
16339.lux-bag.is-loading{
16340  opacity:.6;
16341  cursor:wait;
16342}
16343.lux-bag.is-success{
16344  background:#2e7d32 !important;
16345  border-color:#2e7d32 !important;
16346  color:#fff !important;
16347}
16348.card-product.sizes-open .lux-bag{
16349  opacity:0;
16350  pointer-events:none;
16351}
16352
16353/* Loading spinner */
16354.lux-bag.is-loading i::before{
16355  content:"⏳";
16356}
16357
16358/* ===== SIZE STRIP ===== */
16359.size-strip{
16360  width:100%;
16361  max-height:0;
16362  overflow:hidden;
16363  background:#fff;
16364  display:flex;
16365  flex-wrap:wrap;
16366  transition:max-height .3s ease, border-color .3s ease;
16367  border-top:1px solid transparent;
16368  border-bottom:1px solid transparent;
16369}
16370.size-strip.open{
16371  max-height:200px;
16372  border-top-color:rgba(0,0,0,.08);
16373  border-bottom-color:rgba(0,0,0,.08);
16374}
16375.size-item{
16376  flex:1 0 auto;
16377  min-width:38px;
16378  height:42px;
16379  display:flex;
16380  align-items:center;
16381  justify-content:center;
16382  font-size:13px;
16383  font-weight:500;
16384  color:#111 !important;
16385  cursor:pointer;
16386  user-select:none;
16387  background:transparent;
16388  transition:background .15s ease, color .15s ease;
16389  border-right:1px solid rgba(0,0,0,.08);
16390}
16391.size-item:last-child{ border-right:0; }
16392.size-item:hover:not(.disabled):not(.adding){
16393  background:#000 !important;
16394  color:#fff !important;
16395}
16396.size-item.disabled{
16397  color:#111 !important;
16398  text-decoration:line-through !important;
16399  opacity:.30 !important;
16400  cursor:not-allowed;
16401}
16402.size-item.adding{
16403  background:#2e7d32 !important;
16404  color:#fff !important;
16405  cursor:wait;
16406}
16407
16408/* ===== META ===== */
16409.lux-meta{
16410  padding:12px 6px 6px;
16411  background:transparent !important;
16412}
16413.lux-brand{
16414  font-size:16px;
16415  font-weight:600;
16416  color:#111;
16417  margin-bottom:2px;
16418}
16419.lux-title{
16420  font-size:14px;
16421  font-weight:400;
16422  line-height:1.45;
16423  color:#111;
16424  margin:0;
16425}
16426.lux-price{
16427  margin-top:10px;
16428  display:flex;
16429  gap:10px;
16430  align-items:baseline;
16431  background:transparent !important;
16432}
16433.lux-price .list-price{
16434  font-size:14px;
16435  font-weight:400;
16436  color:#111;
16437  text-decoration:line-through;
16438}
16439.lux-price .sale-price{
16440  font-size:16px;
16441  font-weight:600;
16442  color:#e10b0b;
16443}
16444
16445.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
16446.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
16447</style><div class="card-product"
16448     id="card-10213"
16449     data-lux-card-id="10213"
16450     data-lux-product-link="https://www.vezzalux.com/lv-870-kot-erkek-ayakkabi"
16451     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/lv-870-kot-erkek-ayakkabi" class="c-p-i-link" title="Lv 870 Kot Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c838846be-25252411-sw1200sh1200.webp" alt="Lv 870 Kot Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c838846be-25252411-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c834dbcee-9256114-sw1200sh1200.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
16452        onclick="userProductFavourite('add', 10213)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
16453         id="lux-bag-10213"
16454         onclick="return luxBagClick(event, 10213);"
16455         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10213" style="display:none;"></div><div class="size-strip" id="size-strip-10213" data-loaded="0"></div><a href="https://www.vezzalux.com/lv-870-kot-erkek-ayakkabi" class="c-p-i-link" title="Lv 870 Kot Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Louis Vuitton</div><div class="lux-title">Lv 870 Kot Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
16455<script>
16456(function(){
16457
16458  /* Bir kez kur */
16459  if(window.__luxCardInit) return;
16460  window.__luxCardInit = true;
16461
16462  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
16463  window.__luxVariantCache = window.__luxVariantCache || {};
16464
16465  function closeAll(){
16466    document.querySelectorAll('.size-strip.open').forEach(function(s){
16467      s.classList.remove('open');
16468    });
16469    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
16470      c.classList.remove('sizes-open');
16471    });
16472  }
16473
16474  function flashSuccess(productId){
16475    var bag = document.getElementById('lux-bag-' + productId);
16476    if(!bag) return;
16477    bag.classList.add('is-success');
16478    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
16479  }
16480
16481  /* Dış tıklama - kapat */
16482  document.addEventListener('click', function(e){
16483    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
16484    if(!inside) closeAll();
16485  });
16486
16487  document.addEventListener('keydown', function(e){
16488    if(e.key === 'Escape') closeAll();
16489  });
16490
16491
16492  /* ============================================
16493     MODAL KILLER - yedek güvence
16494     ============================================ */
16495  var LUX_MODAL_KILL_ACTIVE = false;
16496
16497  function killVisibleModals(){
16498    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
16499    modals.forEach(function(m){
16500      var id = (m.id || '').toLowerCase();
16501      var txt = (m.textContent || '').toLowerCase();
16502      var isCartModal = id.indexOf('cart') > -1
16503                     || id.indexOf('variant') > -1
16504                     || id.indexOf('fast') > -1
16505                     || id.indexOf('urun') > -1
16506                     || txt.indexOf('lütfen seçin') > -1;
16507
16508      if(isCartModal){
16509        if(typeof jQuery !== 'undefined'){
16510          try { jQuery(m).modal('hide'); } catch(e){}
16511        }
16512        m.classList.remove('show','in');
16513        m.style.display = 'none';
16514      }
16515    });
16516
16517    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
16518    document.body.classList.remove('modal-open');
16519    document.body.style.overflow = '';
16520    document.body.style.paddingRight = '';
16521  }
16522
16523  function startModalKill(durationMs){
16524    if(LUX_MODAL_KILL_ACTIVE) return;
16525    LUX_MODAL_KILL_ACTIVE = true;
16526    killVisibleModals();
16527    var interval = setInterval(killVisibleModals, 50);
16528    setTimeout(function(){
16529      clearInterval(interval);
16530      LUX_MODAL_KILL_ACTIVE = false;
16531    }, durationMs || 2000);
16532  }
16533
16534
16535  /* ============================================
16536     AJAX: Varyantları detay sayfasından çek
16537     ============================================
16538     Ürün detay sayfasının tam HTML'ini indir,
16539     DOMParser ile parse et, varyantları bul
16540     ============================================ */
16541  function fetchVariants(productId, productLink, callback){
16542
16543    /* Cache'te varsa hemen döndür */
16544    if(window.__luxVariantCache[productId]){
16545      callback(window.__luxVariantCache[productId]);
16546      return;
16547    }
16548
16549    fetch(productLink, {
16550      method: 'GET',
16551      credentials: 'same-origin',
16552      headers: { 'Accept': 'text/html' }
16553    })
16554    .then(function(r){ return r.text(); })
16555    .then(function(html){
16556      var parser = new DOMParser();
16557      var doc = parser.parseFromString(html, 'text/html');
16558
16559      /* Detay sayfasındaki .variant-box'ı bul */
16560      var variantBox = doc.querySelector('.variant-box');
16561      if(!variantBox){
16562        callback({ variants: [], error: 'no_variant_box' });
16563        return;
16564      }
16565
16566      /* Her varyant grubu için select'leri ve option'ları oku */
16567      var variants = [];
16568      var variantLis = variantBox.querySelectorAll('.variant');
16569
16570      variantLis.forEach(function(li, idx){
16571        var nameEl = li.querySelector('.name');
16572        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
16573
16574        var values = [];
16575
16576        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
16577        var optLinks = li.querySelectorAll('.options a');
16578
16579        if(optLinks.length > 0){
16580          optLinks.forEach(function(a){
16581            /* Beden/renk değerini doğru attribute'tan oku
16582               - data-variant-value: asıl değer (örn: "38", "KAHVE")
16583               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
16584               - textContent: fallback */
16585            var deger = a.getAttribute('data-variant-value')
16586                     || a.textContent.trim();
16587
16588            /* Stok kontrolü - birden fazla yoldan kontrol et */
16589            var isSoldOut = a.classList.contains('sold-out')
16590                         || a.classList.contains('sold_out')
16591                         || a.classList.contains('disabled')
16592                         || a.classList.contains('stoksuz')
16593                         || a.classList.contains('out-of-stock')
16594                         || a.hasAttribute('disabled')
16595                         || a.getAttribute('data-in-stock') === '0'
16596                         || a.getAttribute('data-in-stock') === 'false'
16597                         || a.getAttribute('data-stokta-var-mi') === '0'
16598                         || a.getAttribute('data-stokta-var-mi') === 'false';
16599
16600            values.push({
16601              deger: deger,
16602              inStock: !isSoldOut
16603            });
16604          });
16605        } else {
16606          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
16607          var select = li.querySelector('select');
16608          if(select){
16609            var opts = select.querySelectorAll('option');
16610            opts.forEach(function(o){
16611              if(!o.value) return;
16612              values.push({
16613                deger: o.value,
16614                inStock: !o.disabled
16615              });
16616            });
16617          }
16618        }
16619
16620        variants.push({
16621          index: idx,
16622          baslik: name,
16623          values: values
16624        });
16625      });
16626
16627      var result = { variants: variants };
16628      window.__luxVariantCache[productId] = result;
16629      callback(result);
16630    })
16631    .catch(function(err){
16632      console.error('Varyant çekme hatası:', err);
16633      callback({ variants: [], error: 'fetch_failed' });
16634    });
16635  }
16636
16637
16638  /* ============================================
16639     Beden şeridini ve gizli variant-box'ı oluştur
16640     ============================================ */
16641  function buildVariantUI(productId, data){
16642    var card = document.getElementById('card-' + productId);
16643    if(!card) return false;
16644
16645    var holder = card.querySelector('.lux-variant-box');
16646    var strip = document.getElementById('size-strip-' + productId);
16647    if(!holder || !strip) return false;
16648
16649    if(!data.variants || data.variants.length === 0){
16650      /* Varyant yok */
16651      return false;
16652    }
16653
16654    /* Çoklu değerli ilk varyantı bul (beden) */
16655    var displayVariant = null;
16656    data.variants.forEach(function(v){
16657      if(!displayVariant && v.values.length > 1){
16658        displayVariant = v;
16659      }
16660    });
16661
16662    /* Gizli variant-box HTML */
16663    var html = '<div class="variant-box"><ul>';
16664    data.variants.forEach(function(v){
16665      html += '<li class="variant">';
16666      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
16667
16668      if(v.values.length > 1){
16669        html += '<option value="">Lütfen seçin</option>';
16670      }
16671
16672      v.values.forEach(function(val, i){
16673        var selected = (v.values.length === 1) ? ' selected' : '';
16674        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
16675      });
16676
16677      html += '</select></li>';
16678    });
16679    html += '</ul></div>';
16680
16681    holder.innerHTML = html;
16682    holder.style.display = '';
16683
16684    /* Strip HTML (sadece çoklu değerli varyantlar için)
16685       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
16686    if(displayVariant){
16687      var stripHtml = '';
16688      var inStockCount = 0;
16689
16690      /* DEBUG - console'da gör */
16691      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
16692
16693      displayVariant.values.forEach(function(val){
16694        /* SADECE stokta olanları ekle */
16695        if(val.inStock === true){
16696          stripHtml += '<div class="size-item" '
16697                    + 'data-urun-id="' + productId + '" '
16698                    + 'data-varyant-deger="' + val.deger + '" '
16699                    + 'onclick="return luxAddVariant(event, this);">'
16700                    + val.deger + '</div>';
16701          inStockCount++;
16702        }
16703      });
16704
16705      /* Eğer stokta hiç beden yoksa şeridi gösterme */
16706      if(inStockCount === 0){
16707        strip.setAttribute('data-loaded', '1');
16708        strip.setAttribute('data-has-variants', '0');
16709        return false;
16710      }
16711
16712      strip.innerHTML = stripHtml;
16713      strip.setAttribute('data-loaded', '1');
16714      strip.setAttribute('data-has-variants', '1');
16715      return true;
16716    } else {
16717      strip.setAttribute('data-loaded', '1');
16718      strip.setAttribute('data-has-variants', '0');
16719      return false;
16720    }
16721  }
16722
16723
16724  /* ============================================
16725     SEPET IKONU TIKLAMASI
16726     ============================================ */
16727  window.luxBagClick = function(ev, productId){
16728    ev.preventDefault();
16729    ev.stopPropagation();
16730
16731    var card = document.getElementById('card-' + productId);
16732    var strip = document.getElementById('size-strip-' + productId);
16733    var bag = document.getElementById('lux-bag-' + productId);
16734    if(!card || !strip) return false;
16735
16736    /* Strip zaten yüklenmişse direkt davran */
16737    if(strip.getAttribute('data-loaded') === '1'){
16738      if(strip.getAttribute('data-has-variants') === '1'){
16739        toggleStrip(productId);
16740      } else {
16741        addToCartSmart(productId);
16742      }
16743      return false;
16744    }
16745
16746    /* İlk tıklama - AJAX ile varyantları çek */
16747    bag.classList.add('is-loading');
16748    var productLink = card.getAttribute('data-lux-product-link');
16749
16750    fetchVariants(productId, productLink, function(data){
16751      bag.classList.remove('is-loading');
16752
16753      var hasVariants = buildVariantUI(productId, data);
16754
16755      if(hasVariants){
16756        /* Bedenler var - şeridi aç */
16757        toggleStrip(productId);
16758      } else {
16759        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
16760        addToCartSmart(productId);
16761      }
16762    });
16763
16764    return false;
16765  };
16766
16767  function toggleStrip(productId){
16768    var strip = document.getElementById('size-strip-' + productId);
16769    var card = document.getElementById('card-' + productId);
16770    if(!strip) return;
16771
16772    document.querySelectorAll('.size-strip.open').forEach(function(s){
16773      if(s !== strip) s.classList.remove('open');
16774    });
16775    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
16776      if(c !== card) c.classList.remove('sizes-open');
16777    });
16778
16779    strip.classList.toggle('open');
16780    if(card) card.classList.toggle('sizes-open');
16781  }
16782
16783
16784  /* ============================================
16785     BEDEN TIKLAMASI
16786     ============================================ */
16787  window.luxAddVariant = function(ev, elem){
16788    ev.preventDefault();
16789    ev.stopPropagation();
16790
16791    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
16792
16793    var productId = elem.getAttribute('data-urun-id');
16794    var varyantDeger = elem.getAttribute('data-varyant-deger');
16795
16796    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
16797    if(!holder) return false;
16798
16799    /* Seçilen bedeni ilk select'e yaz */
16800    var firstSelect = holder.querySelector('select[data-variant="0"]');
16801    if(firstSelect){
16802      firstSelect.value = varyantDeger;
16803      if(typeof jQuery !== "undefined"){
16804        jQuery(firstSelect).val(varyantDeger).trigger('change');
16805      }
16806    }
16807
16808    /* Diğer select'lere ilk geçerli değeri koy */
16809    var allSelects = holder.querySelectorAll('select[data-variant]');
16810    allSelects.forEach(function(sel, idx){
16811      if(idx === 0) return;
16812      if(sel.value) return;
16813      var options = sel.querySelectorAll('option');
16814      for(var i = 0; i < options.length; i++){
16815        if(options[i].value){
16816          sel.value = options[i].value;
16817          if(typeof jQuery !== "undefined"){
16818            jQuery(sel).val(options[i].value).trigger('change');
16819          }
16820          break;
16821        }
16822      }
16823    });
16824
16825    /* Görsel feedback */
16826    elem.classList.add('adding');
16827    var originalText = elem.textContent;
16828    elem.textContent = '✓';
16829
16830    /* Sepete ekle */
16831    addToCartSmart(productId, {
16832      checkVariant: true,
16833      variantCount: allSelects.length,
16834      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
16835    });
16836
16837    setTimeout(function(){
16838      elem.textContent = originalText;
16839      elem.classList.remove('adding');
16840      closeAll();
16841    }, 800);
16842
16843    return false;
16844  };
16845
16846
16847  /* ============================================
16848     SEPETE EKLE - Modal killer ile
16849     ============================================ */
16850  function addToCartSmart(productId, extraOptions){
16851    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
16852
16853    var options = {
16854      quantity: 1,
16855      hideNativeModal: 'lux-card-' + productId
16856    };
16857
16858    if(extraOptions){
16859      Object.keys(extraOptions).forEach(function(k){
16860        options[k] = extraOptions[k];
16861      });
16862    } else if(holder){
16863      var selects = holder.querySelectorAll('select[data-variant]');
16864      if(selects.length > 0){
16865        options.checkVariant = true;
16866        options.variantCount = selects.length;
16867        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
16868      }
16869    }
16870
16871    startModalKill(2000);
16872
16873    if(typeof addCart === "function"){
16874      try {
16875        addCart(productId, 'card', options);
16876        flashSuccess(productId);
16877      } catch(err){
16878        console.error('Sepete ekleme hatası:', err);
16879      }
16880    }
16881  }
16882
16883})();
16884</script>
16884</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
16885                             data-lux-product-shell="1"
16886                             data-lux-page="1"><style>
16887@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
16888
16889/* ===== VEZZA LUX CARD ===== */
16890.card-product{
16891  font-family:'Poppins',sans-serif;
16892  background:#fff !important;
16893  position:relative;
16894}
16895.card-product-inner{
16896  background:transparent !important;
16897  position:relative;
16898}
16899.card-product .c-p-i-link,
16900.card-product a{
16901  background:transparent !important;
16902}
16903.card-product-inner > div{
16904  background:transparent !important;
16905}
16906.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
16907  background:transparent !important;
16908}
16909.card-product .card-product-content,
16910.card-product .price-group,
16911.card-product .prices{
16912  background:transparent !important;
16913}
16914[class*="skeleton"],
16915[class*="placeholder"],
16916[class*="loading"]{
16917  background:transparent !important;
16918}
16919
16920/* ===== IMAGE AREA - KARE GÖRSEL ===== */
16921.image-wrapper{
16922  position:relative;
16923  width:100%;
16924  aspect-ratio:1/1;
16925  overflow:hidden;
16926  background:#fff !important;
16927}
16928
16929.image{
16930  position:relative;
16931  width:100%;
16932  height:100%;
16933}
16934
16935.image-wrapper img{
16936  width:100% !important;
16937  height:100% !important;
16938  object-fit:cover !important;
16939  object-position:center center !important;
16940  display:block;
16941  transition:transform .35s ease;
16942}
16943
16944/* ===== DISCOUNT ===== */
16945.discount{
16946  position:absolute;
16947  top:12px;
16948  left:12px;
16949  width:28px;
16950  height:48px;
16951  background:#e10b0b;
16952  color:#fff;
16953  font-size:12px;
16954  font-weight:600;
16955  display:flex;
16956  align-items:center;
16957  justify-content:center;
16958  writing-mode:vertical-rl;
16959  transform:rotate(180deg);
16960  letter-spacing:.5px;
16961  z-index:7;
16962}
16963
16964/* ===== FAV ===== */
16965.lux-fav{
16966  position:absolute;
16967  top:12px;
16968  right:12px;
16969  z-index:7;
16970}
16971.lux-fav a,
16972.lux-fav button{
16973  background:transparent !important;
16974  border:0 !important;
16975  padding:0 !important;
16976  cursor:pointer;
16977  display:inline-flex;
16978  align-items:center;
16979  justify-content:center;
16980}
16981
16982/* ===== SEPET IKON ===== */
16983.lux-bag{
16984  position:absolute;
16985  bottom:12px;
16986  right:12px;
16987  z-index:7;
16988  width:34px;
16989  height:34px;
16990  display:inline-flex;
16991  align-items:center;
16992  justify-content:center;
16993  background:rgba(255,255,255,.92);
16994  border:1px solid rgba(0,0,0,.10);
16995  border-radius:10px;
16996  cursor:pointer;
16997  transition:.2s ease;
16998}
16999.lux-bag:hover{
17000  background:#fff;
17001  border-color:rgba(0,0,0,.25);
17002}
17003.lux-bag.is-loading{
17004  opacity:.6;
17005  cursor:wait;
17006}
17007.lux-bag.is-success{
17008  background:#2e7d32 !important;
17009  border-color:#2e7d32 !important;
17010  color:#fff !important;
17011}
17012.card-product.sizes-open .lux-bag{
17013  opacity:0;
17014  pointer-events:none;
17015}
17016
17017/* Loading spinner */
17018.lux-bag.is-loading i::before{
17019  content:"⏳";
17020}
17021
17022/* ===== SIZE STRIP ===== */
17023.size-strip{
17024  width:100%;
17025  max-height:0;
17026  overflow:hidden;
17027  background:#fff;
17028  display:flex;
17029  flex-wrap:wrap;
17030  transition:max-height .3s ease, border-color .3s ease;
17031  border-top:1px solid transparent;
17032  border-bottom:1px solid transparent;
17033}
17034.size-strip.open{
17035  max-height:200px;
17036  border-top-color:rgba(0,0,0,.08);
17037  border-bottom-color:rgba(0,0,0,.08);
17038}
17039.size-item{
17040  flex:1 0 auto;
17041  min-width:38px;
17042  height:42px;
17043  display:flex;
17044  align-items:center;
17045  justify-content:center;
17046  font-size:13px;
17047  font-weight:500;
17048  color:#111 !important;
17049  cursor:pointer;
17050  user-select:none;
17051  background:transparent;
17052  transition:background .15s ease, color .15s ease;
17053  border-right:1px solid rgba(0,0,0,.08);
17054}
17055.size-item:last-child{ border-right:0; }
17056.size-item:hover:not(.disabled):not(.adding){
17057  background:#000 !important;
17058  color:#fff !important;
17059}
17060.size-item.disabled{
17061  color:#111 !important;
17062  text-decoration:line-through !important;
17063  opacity:.30 !important;
17064  cursor:not-allowed;
17065}
17066.size-item.adding{
17067  background:#2e7d32 !important;
17068  color:#fff !important;
17069  cursor:wait;
17070}
17071
17072/* ===== META ===== */
17073.lux-meta{
17074  padding:12px 6px 6px;
17075  background:transparent !important;
17076}
17077.lux-brand{
17078  font-size:16px;
17079  font-weight:600;
17080  color:#111;
17081  margin-bottom:2px;
17082}
17083.lux-title{
17084  font-size:14px;
17085  font-weight:400;
17086  line-height:1.45;
17087  color:#111;
17088  margin:0;
17089}
17090.lux-price{
17091  margin-top:10px;
17092  display:flex;
17093  gap:10px;
17094  align-items:baseline;
17095  background:transparent !important;
17096}
17097.lux-price .list-price{
17098  font-size:14px;
17099  font-weight:400;
17100  color:#111;
17101  text-decoration:line-through;
17102}
17103.lux-price .sale-price{
17104  font-size:16px;
17105  font-weight:600;
17106  color:#e10b0b;
17107}
17108
17109.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
17110.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
17111</style><div class="card-product"
17112     id="card-10740"
17113     data-lux-card-id="10740"
17114     data-lux-product-link="https://www.vezzalux.com/bottega-1315-suet-kahverengi-gri-loafer-erkek-ayakkabi"
17115     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/bottega-1315-suet-kahverengi-gri-loafer-erkek-ayakkabi" class="c-p-i-link" title="Bottega 1315 Süet Gri Loafer Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a60396467ba9-87647597-sw800sh800.webp" alt="Bottega 1315 Süet Gri Loafer Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a60396467ba9-87647597-sw800sh800.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a603965c31b2-84945590-sw800sh800.webp" data-image-type="hover-image" src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAACACwAAAAAAQABAAACAlQBADs="></div></a><div class="lux-fav"><div class="product-favourite-kart" data-favourite-product-id="267"><a href="javascript:;" class=" d-block add-favorite" 
17116        onclick="userProductFavourite('add', 10740)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
17117         id="lux-bag-10740"
17118         onclick="return luxBagClick(event, 10740);"
17119         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10740" style="display:none;"></div><div class="size-strip" id="size-strip-10740" data-loaded="0"></div><a href="https://www.vezzalux.com/bottega-1315-suet-kahverengi-gri-loafer-erkek-ayakkabi" class="c-p-i-link" title="Bottega 1315 Süet Gri Loafer Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Bottega Veneta</div><div class="lux-title">Bottega 1315 Süet Gri Loafer Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">13.500,00 TL</div></div></div></a></div></div>
17119<script>
17120(function(){
17121
17122  /* Bir kez kur */
17123  if(window.__luxCardInit) return;
17124  window.__luxCardInit = true;
17125
17126  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
17127  window.__luxVariantCache = window.__luxVariantCache || {};
17128
17129  function closeAll(){
17130    document.querySelectorAll('.size-strip.open').forEach(function(s){
17131      s.classList.remove('open');
17132    });
17133    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
17134      c.classList.remove('sizes-open');
17135    });
17136  }
17137
17138  function flashSuccess(productId){
17139    var bag = document.getElementById('lux-bag-' + productId);
17140    if(!bag) return;
17141    bag.classList.add('is-success');
17142    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
17143  }
17144
17145  /* Dış tıklama - kapat */
17146  document.addEventListener('click', function(e){
17147    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
17148    if(!inside) closeAll();
17149  });
17150
17151  document.addEventListener('keydown', function(e){
17152    if(e.key === 'Escape') closeAll();
17153  });
17154
17155
17156  /* ============================================
17157     MODAL KILLER - yedek güvence
17158     ============================================ */
17159  var LUX_MODAL_KILL_ACTIVE = false;
17160
17161  function killVisibleModals(){
17162    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
17163    modals.forEach(function(m){
17164      var id = (m.id || '').toLowerCase();
17165      var txt = (m.textContent || '').toLowerCase();
17166      var isCartModal = id.indexOf('cart') > -1
17167                     || id.indexOf('variant') > -1
17168                     || id.indexOf('fast') > -1
17169                     || id.indexOf('urun') > -1
17170                     || txt.indexOf('lütfen seçin') > -1;
17171
17172      if(isCartModal){
17173        if(typeof jQuery !== 'undefined'){
17174          try { jQuery(m).modal('hide'); } catch(e){}
17175        }
17176        m.classList.remove('show','in');
17177        m.style.display = 'none';
17178      }
17179    });
17180
17181    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
17182    document.body.classList.remove('modal-open');
17183    document.body.style.overflow = '';
17184    document.body.style.paddingRight = '';
17185  }
17186
17187  function startModalKill(durationMs){
17188    if(LUX_MODAL_KILL_ACTIVE) return;
17189    LUX_MODAL_KILL_ACTIVE = true;
17190    killVisibleModals();
17191    var interval = setInterval(killVisibleModals, 50);
17192    setTimeout(function(){
17193      clearInterval(interval);
17194      LUX_MODAL_KILL_ACTIVE = false;
17195    }, durationMs || 2000);
17196  }
17197
17198
17199  /* ============================================
17200     AJAX: Varyantları detay sayfasından çek
17201     ============================================
17202     Ürün detay sayfasının tam HTML'ini indir,
17203     DOMParser ile parse et, varyantları bul
17204     ============================================ */
17205  function fetchVariants(productId, productLink, callback){
17206
17207    /* Cache'te varsa hemen döndür */
17208    if(window.__luxVariantCache[productId]){
17209      callback(window.__luxVariantCache[productId]);
17210      return;
17211    }
17212
17213    fetch(productLink, {
17214      method: 'GET',
17215      credentials: 'same-origin',
17216      headers: { 'Accept': 'text/html' }
17217    })
17218    .then(function(r){ return r.text(); })
17219    .then(function(html){
17220      var parser = new DOMParser();
17221      var doc = parser.parseFromString(html, 'text/html');
17222
17223      /* Detay sayfasındaki .variant-box'ı bul */
17224      var variantBox = doc.querySelector('.variant-box');
17225      if(!variantBox){
17226        callback({ variants: [], error: 'no_variant_box' });
17227        return;
17228      }
17229
17230      /* Her varyant grubu için select'leri ve option'ları oku */
17231      var variants = [];
17232      var variantLis = variantBox.querySelectorAll('.variant');
17233
17234      variantLis.forEach(function(li, idx){
17235        var nameEl = li.querySelector('.name');
17236        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
17237
17238        var values = [];
17239
17240        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
17241        var optLinks = li.querySelectorAll('.options a');
17242
17243        if(optLinks.length > 0){
17244          optLinks.forEach(function(a){
17245            /* Beden/renk değerini doğru attribute'tan oku
17246               - data-variant-value: asıl değer (örn: "38", "KAHVE")
17247               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
17248               - textContent: fallback */
17249            var deger = a.getAttribute('data-variant-value')
17250                     || a.textContent.trim();
17251
17252            /* Stok kontrolü - birden fazla yoldan kontrol et */
17253            var isSoldOut = a.classList.contains('sold-out')
17254                         || a.classList.contains('sold_out')
17255                         || a.classList.contains('disabled')
17256                         || a.classList.contains('stoksuz')
17257                         || a.classList.contains('out-of-stock')
17258                         || a.hasAttribute('disabled')
17259                         || a.getAttribute('data-in-stock') === '0'
17260                         || a.getAttribute('data-in-stock') === 'false'
17261                         || a.getAttribute('data-stokta-var-mi') === '0'
17262                         || a.getAttribute('data-stokta-var-mi') === 'false';
17263
17264            values.push({
17265              deger: deger,
17266              inStock: !isSoldOut
17267            });
17268          });
17269        } else {
17270          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
17271          var select = li.querySelector('select');
17272          if(select){
17273            var opts = select.querySelectorAll('option');
17274            opts.forEach(function(o){
17275              if(!o.value) return;
17276              values.push({
17277                deger: o.value,
17278                inStock: !o.disabled
17279              });
17280            });
17281          }
17282        }
17283
17284        variants.push({
17285          index: idx,
17286          baslik: name,
17287          values: values
17288        });
17289      });
17290
17291      var result = { variants: variants };
17292      window.__luxVariantCache[productId] = result;
17293      callback(result);
17294    })
17295    .catch(function(err){
17296      console.error('Varyant çekme hatası:', err);
17297      callback({ variants: [], error: 'fetch_failed' });
17298    });
17299  }
17300
17301
17302  /* ============================================
17303     Beden şeridini ve gizli variant-box'ı oluştur
17304     ============================================ */
17305  function buildVariantUI(productId, data){
17306    var card = document.getElementById('card-' + productId);
17307    if(!card) return false;
17308
17309    var holder = card.querySelector('.lux-variant-box');
17310    var strip = document.getElementById('size-strip-' + productId);
17311    if(!holder || !strip) return false;
17312
17313    if(!data.variants || data.variants.length === 0){
17314      /* Varyant yok */
17315      return false;
17316    }
17317
17318    /* Çoklu değerli ilk varyantı bul (beden) */
17319    var displayVariant = null;
17320    data.variants.forEach(function(v){
17321      if(!displayVariant && v.values.length > 1){
17322        displayVariant = v;
17323      }
17324    });
17325
17326    /* Gizli variant-box HTML */
17327    var html = '<div class="variant-box"><ul>';
17328    data.variants.forEach(function(v){
17329      html += '<li class="variant">';
17330      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
17331
17332      if(v.values.length > 1){
17333        html += '<option value="">Lütfen seçin</option>';
17334      }
17335
17336      v.values.forEach(function(val, i){
17337        var selected = (v.values.length === 1) ? ' selected' : '';
17338        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
17339      });
17340
17341      html += '</select></li>';
17342    });
17343    html += '</ul></div>';
17344
17345    holder.innerHTML = html;
17346    holder.style.display = '';
17347
17348    /* Strip HTML (sadece çoklu değerli varyantlar için)
17349       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
17350    if(displayVariant){
17351      var stripHtml = '';
17352      var inStockCount = 0;
17353
17354      /* DEBUG - console'da gör */
17355      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
17356
17357      displayVariant.values.forEach(function(val){
17358        /* SADECE stokta olanları ekle */
17359        if(val.inStock === true){
17360          stripHtml += '<div class="size-item" '
17361                    + 'data-urun-id="' + productId + '" '
17362                    + 'data-varyant-deger="' + val.deger + '" '
17363                    + 'onclick="return luxAddVariant(event, this);">'
17364                    + val.deger + '</div>';
17365          inStockCount++;
17366        }
17367      });
17368
17369      /* Eğer stokta hiç beden yoksa şeridi gösterme */
17370      if(inStockCount === 0){
17371        strip.setAttribute('data-loaded', '1');
17372        strip.setAttribute('data-has-variants', '0');
17373        return false;
17374      }
17375
17376      strip.innerHTML = stripHtml;
17377      strip.setAttribute('data-loaded', '1');
17378      strip.setAttribute('data-has-variants', '1');
17379      return true;
17380    } else {
17381      strip.setAttribute('data-loaded', '1');
17382      strip.setAttribute('data-has-variants', '0');
17383      return false;
17384    }
17385  }
17386
17387
17388  /* ============================================
17389     SEPET IKONU TIKLAMASI
17390     ============================================ */
17391  window.luxBagClick = function(ev, productId){
17392    ev.preventDefault();
17393    ev.stopPropagation();
17394
17395    var card = document.getElementById('card-' + productId);
17396    var strip = document.getElementById('size-strip-' + productId);
17397    var bag = document.getElementById('lux-bag-' + productId);
17398    if(!card || !strip) return false;
17399
17400    /* Strip zaten yüklenmişse direkt davran */
17401    if(strip.getAttribute('data-loaded') === '1'){
17402      if(strip.getAttribute('data-has-variants') === '1'){
17403        toggleStrip(productId);
17404      } else {
17405        addToCartSmart(productId);
17406      }
17407      return false;
17408    }
17409
17410    /* İlk tıklama - AJAX ile varyantları çek */
17411    bag.classList.add('is-loading');
17412    var productLink = card.getAttribute('data-lux-product-link');
17413
17414    fetchVariants(productId, productLink, function(data){
17415      bag.classList.remove('is-loading');
17416
17417      var hasVariants = buildVariantUI(productId, data);
17418
17419      if(hasVariants){
17420        /* Bedenler var - şeridi aç */
17421        toggleStrip(productId);
17422      } else {
17423        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
17424        addToCartSmart(productId);
17425      }
17426    });
17427
17428    return false;
17429  };
17430
17431  function toggleStrip(productId){
17432    var strip = document.getElementById('size-strip-' + productId);
17433    var card = document.getElementById('card-' + productId);
17434    if(!strip) return;
17435
17436    document.querySelectorAll('.size-strip.open').forEach(function(s){
17437      if(s !== strip) s.classList.remove('open');
17438    });
17439    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
17440      if(c !== card) c.classList.remove('sizes-open');
17441    });
17442
17443    strip.classList.toggle('open');
17444    if(card) card.classList.toggle('sizes-open');
17445  }
17446
17447
17448  /* ============================================
17449     BEDEN TIKLAMASI
17450     ============================================ */
17451  window.luxAddVariant = function(ev, elem){
17452    ev.preventDefault();
17453    ev.stopPropagation();
17454
17455    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
17456
17457    var productId = elem.getAttribute('data-urun-id');
17458    var varyantDeger = elem.getAttribute('data-varyant-deger');
17459
17460    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
17461    if(!holder) return false;
17462
17463    /* Seçilen bedeni ilk select'e yaz */
17464    var firstSelect = holder.querySelector('select[data-variant="0"]');
17465    if(firstSelect){
17466      firstSelect.value = varyantDeger;
17467      if(typeof jQuery !== "undefined"){
17468        jQuery(firstSelect).val(varyantDeger).trigger('change');
17469      }
17470    }
17471
17472    /* Diğer select'lere ilk geçerli değeri koy */
17473    var allSelects = holder.querySelectorAll('select[data-variant]');
17474    allSelects.forEach(function(sel, idx){
17475      if(idx === 0) return;
17476      if(sel.value) return;
17477      var options = sel.querySelectorAll('option');
17478      for(var i = 0; i < options.length; i++){
17479        if(options[i].value){
17480          sel.value = options[i].value;
17481          if(typeof jQuery !== "undefined"){
17482            jQuery(sel).val(options[i].value).trigger('change');
17483          }
17484          break;
17485        }
17486      }
17487    });
17488
17489    /* Görsel feedback */
17490    elem.classList.add('adding');
17491    var originalText = elem.textContent;
17492    elem.textContent = '✓';
17493
17494    /* Sepete ekle */
17495    addToCartSmart(productId, {
17496      checkVariant: true,
17497      variantCount: allSelects.length,
17498      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
17499    });
17500
17501    setTimeout(function(){
17502      elem.textContent = originalText;
17503      elem.classList.remove('adding');
17504      closeAll();
17505    }, 800);
17506
17507    return false;
17508  };
17509
17510
17511  /* ============================================
17512     SEPETE EKLE - Modal killer ile
17513     ============================================ */
17514  function addToCartSmart(productId, extraOptions){
17515    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
17516
17517    var options = {
17518      quantity: 1,
17519      hideNativeModal: 'lux-card-' + productId
17520    };
17521
17522    if(extraOptions){
17523      Object.keys(extraOptions).forEach(function(k){
17524        options[k] = extraOptions[k];
17525      });
17526    } else if(holder){
17527      var selects = holder.querySelectorAll('select[data-variant]');
17528      if(selects.length > 0){
17529        options.checkVariant = true;
17530        options.variantCount = selects.length;
17531        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
17532      }
17533    }
17534
17535    startModalKill(2000);
17536
17537    if(typeof addCart === "function"){
17538      try {
17539        addCart(productId, 'card', options);
17540        flashSuccess(productId);
17541      } catch(err){
17542        console.error('Sepete ekleme hatası:', err);
17543      }
17544    }
17545  }
17546
17547})();
17548</script>
17548</div></div><div class="lux-custom-empty" id="luxCustomEmpty" style="display:none;">
17549                    Seçilen bedene uygun ürün bulunamadı.
17550                </div><ul class="lux-custom-pagination" id="luxCustomPagination" style="display:none;"></ul></div><div class="pagination-wrapper" id="luxNativePagination"><nav class="pagination-nav"><ul class="pagination"><li class="page-item  active "><a class="page-link" href="javascript:;">1</a></li><li class="page-item "><a class="page-link" href="https://www.vezzalux.com/e-ayakkabi?sayfa=2">2</a></li><li class="page-item "><a class="page-link" href="https://www.vezzalux.com/e-ayakkabi?sayfa=3">3</a></li><li class="page-item "><a class="page-link" href="javascript:;">...</a></li><li class="page-item "><a class="page-link" href="https://www.vezzalux.com/e-ayakkabi?sayfa=7">7</a></li></ul></nav></div></div></div></div></div></div></div></div></div></section><section class="pattern-group pattern-group-t-0 pattern-group-p-categories "><div class="no-container"><div class="pattern-group-body"><div class="p-g-b-c-wrapper"><div class="p-g-b-c-inner"><div class="p-g-mod p-g-mod-t-29 p-g-mod-footer  p-g-mod-trans   "><div class="p-g-mod-body  p-g-mod-body-p-0  "><div class="info-bar-1"><div class="container"><div class="icons"><div class="icon-group"><i class="coreicon-cargo-4"></i><div class="inf"><div class="name">Ücretsiz Kargo</div><div class="description">Tüm siparişlerinizde hızlı ve ücretsiz teslimat</div></div></div><div class="icon-group"><i class="coreicon-credit-card"></i><div class="inf"><div class="name">Güvenli Ödeme</div><div class="description">%100 korumalı ve güvenli ödeme altyapısı</div></div></div><div class="icon-group"><i class="coreicon-box-1"></i><div class="inf"><div class="name">Seçkin Koleksiyon</div><div class="description">Özenle seçilmiş özel ürün seçenekleri</div></div></div><div class="icon-group"><i class="coreicon-time-1"></i><div class="inf"><div class="name">Müşteri Destek Hattı</div><div class="description">Her zaman yanınızdayız</div></div></div></div></div></div><div class="footer-app-link"><style>
17551            .social-media {
17552    display: flex;
17553    align-items: center;
17554    gap: 10px;
17555    flex-wrap: wrap;
17556}
17557
17558.social-media-title {
17559    font-size: 11px;
17560    letter-spacing: 0.15em;
17561    text-transform: uppercase;
17562    color: #555;
17563    margin-right: 4px;
17564}
17565
17566.social-icon {
17567    width: 38px;
17568    height: 38px;
17569    border: 0.5px solid #333;
17570    border-radius: 50%;
17571    display: flex;
17572    align-items: center;
17573    justify-content: center;
17574    color: #888;
17575    font-size: 14px;
17576    text-decoration: none;
17577    transition: border-color 0.2s, color 0.2s;
17578}
17579
17580.social-icon:hover {
17581    border-color: #fff;
17582    color: #fff;
17583}
17584.footer-newsletter-band {
17585    background: #f5c518;
17586    padding: 18px 0;
17587}
17588
17589.footer-newsletter-band form {
17590    max-width: 700px;
17591    margin: 0 auto;
17592    display: flex;
17593    align-items: center;
17594    gap: 14px;
17595    padding: 0 20px;
17596    flex-wrap: wrap;
17597    justify-content: center;
17598}
17599
17600.fnb-icon {
17601    color: #000;
17602    font-size: 16px;
17603    flex-shrink: 0;
17604}
17605
17606.fnb-text {
17607    font-size: 11px;
17608    letter-spacing: 0.08em;
17609    color: #000;
17610    font-weight: 500;
17611    flex: 1;
17612    min-width: 200px;
17613    text-align: left;
17614}
17615
17616.fnb-input {
17617    background: transparent;
17618    border: none;
17619    border-bottom: 1px solid rgba(0,0,0,0.3);
17620    color: #000;
17621    font-size: 12px;
17622    padding: 6px 0;
17623    width: 220px;
17624    outline: none;
17625    transition: border-color 0.2s;
17626}
17627
17628.fnb-input:focus {
17629    border-bottom-color: #000;
17630}
17631
17632.fnb-input::placeholder {
17633    color: rgba(0,0,0,0.4);
17634}
17635
17636.fnb-btn {
17637    background: #000;
17638    border: none;
17639    border-radius: 4px;
17640    color: #f5c518;
17641    font-size: 11px;
17642    letter-spacing: 0.12em;
17643    text-transform: uppercase;
17644    padding: 8px 20px;
17645    cursor: pointer;
17646    flex-shrink: 0;
17647    transition: background 0.2s;
17648}
17649
17650.fnb-btn:hover {
17651    background: #222;
17652}
17653        </style><div class="social-media"><div class="social-media-title">Bizi Takip Edin</div><a href="https://www.instagram.com/vezzalux_tr" class="social-icon" target="_blank"><i class="fab fa-instagram"></i></a><a href="https://tr.pinterest.com/vezzalux" class="social-icon" target="_blank"><i class="fab fa-pinterest-p"></i></a></div><div class="mobile-app ml-5"><div class="mobile-app-title mr-3">
17653Mobil Uygulamalarımız</div><div class="d-flex"><a class="mr-3" href="https://apps.apple.com/tr/app/vezzalux/id6779634959" target="_blank"><i class="fab fa-apple"></i></a><a href="https://play.google.com/store/apps/details?id=com.qukasoft.vezzalux" target="_blank"><i class="fab fa-google-play"></i></a></div></div></div><div class="footer-newsletter-band"><form class="newsletter-form" action="" method="post" onsubmit="return emailNewsletter(this)"><i class="far fa-envelope fnb-icon"></i><span class="fnb-text">Kampanya, duyuru ve bilgilendirmelerden <br> e-posta ile haberdar olun.</span><input type="email" class="fnb-input" name="email" placeholder="E-Posta adresinizi yazınız"><button type="submit" class="fnb-btn">Gönder</button></form></div><footer><div class="bb"><div class="container"><div class="row"><div class="col-md-12"><div class="info"><div class="row"><div class="col-md-3"><div class="title text-left" onclick="mobileFooterToggle(4)">KURUMSAL</div><div class="fs f4"><ul><li><a href="https://www.vezzalux.com/hakkimizda">
17654                                                        Hakkımızda
17655                                                    </a></li><li><a href="https://www.vezzalux.com/iletisim">
17656                                                        İletişim
17657                                                    </a></li><li><a href="https://www.vezzalux.com/gizlilik-sozlesmesi">
17658                                                        Gizlilik Sözleşmesi
17659                                                    </a></li><li><a href="https://www.vezzalux.com/kullanici-sozlesmesi">
17660                                                        Kullanıcı Sözleşmesi
17661                                                    </a></li><li><a href="https://www.vezzalux.com/cerez-politikasi">
17662                                                        Çerez Politikası
17663                                                    </a></li><li><a href="https://www.vezzalux.com/mesafeli-satis-sozlesmesi">
17664                                                        Mesafeli Satış Sözleşmesi
17665                                                    </a></li></ul></div></div><div class="col-md-3"><div class="title text-left" onclick="mobileFooterToggle(1)">MÜŞTERİ HİZMETLERİ</div><div class="fs f1"><ul><li><a href="https://www.vezzalux.com/sss">
17666                                                        Sıkça Sorulan Sorular
17667                                                    </a></li><li><a href="https://www.vezzalux.com/siparis-takip">
17668                                                        Sipariş Takip
17669                                                    </a></li><li><a href="https://www.vezzalux.com/havale-bildirimleri">
17670                                                        Havale Bildirimleri
17671                                                    </a></li></ul></div></div><div class="col-md-3"><div class="title text-left" onclick="mobileFooterToggle(2)">KATEGORİLER</div><div class="fs f2"><ul><li><a href="https://www.vezzalux.com/erkek">
17672                                                        ERKEK
17673                                                    </a></li><li><a href="https://www.vezzalux.com/kadin">
17674                                                        KADIN
17675                                                    </a></li><li><a href="https://www.vezzalux.com/yeni-sezon">
17676                                                        YENİ SEZON
17677                                                    </a></li><li><a href="https://www.vezzalux.com/tek-kalanlar">
17678                                                        KADIN TEK KALANLAR
17679                                                    </a></li><li><a href="https://www.vezzalux.com/erkek-tek-kalanlar">
17680                                                        ERKEK TEK KALANLAR
17681                                                    </a></li></ul></div></div><div class="col-md-3"><div class="title text-left" onclick="mobileFooterToggle(3)">BİZE ULAŞIN</div><div class="fs f3"><div class="footer-contact">
17682                                            Haftai&ccedil;i 09:00 - 19:00 Cumartesi 10:00 - 17:00 saatleri arasında ulaşabilirsiniz.
17683                                        </div></div></div></div></div></div></div></div></div></footer></div></div></div></div></div></div></section>
17683<script type="text/javascript">
17684        var SITE_CONFIG = {
17685            mode: 'production',
17686            page: 'categories',
17687            url: 'https://www.vezzalux.com',
17688            baseUrl: 'https://www.vezzalux.com',
17689            cartUrl: 'https://www.vezzalux.com/sepet',
17690            cartShippingType: 'in_order',
17691            paymentUrl: 'https://www.vezzalux.com/odeme',
17692            defaultCountry: 'TR',
17693            preferredCountries: ["TR"],
17694            onlyCountries: ["TR"],
17695            userIsLogin: false,
17696            userId: 0,
17697            lazyLoadEffectTime: '0',
17698            token: 'VXRafTLqhMMr7OZKITB1cce98985e36c0d68f4d74c136e399331CXIdvijKH0hu3cOTotp0s+MQqNUDvxP9nDopG5xpT0vDrmgSaT2NbEE5uMh92m7LkW1qOwpqMzdLXVz2RcofXwGAJphcTPojrAym2w5s6aVB4ovAz7J3+J4EHsAeQbTLuUbhkLtVJeLMcxGG2qW3gEvzPChkNBgR+WmgW/QhuFqPiVX5eEtRc7qgFV5EVvXhfkjY3M8T0Aqch9aGQXZLbdikHL+9iTgO4Qn4XMriUF5TzaBt3ZOpTvs555SNVv9lXlATXw==1X2nweWf8R',
17699            accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
17700            pageKey: 'fd7e2e45358daf2288e09d9cbc63c08fjnySh5UTcEzm2tQmPf7Hf/kxiT/PqKkMU0RyW1OVnP9s0z4nXjjMI+1SLFwBUDHSr8b1vgW0IgYqzIYyPsQXCHWgQxb1ERja8nhxaLMBL7EUDX3ByvVDQkXtOxMUY6sblCfRjTkTB2dYkqmoPYb0dG6iOivBH/WLUtV4tess5JEZdOph5Ee0lPlwrw4DXLrr31rtYVp1xeCMukOzbSNTicOQwlIEdv+kwlh8yo4tPkLnrLuA5X6Jz2ewaA3H+9Gml30leRAgGWUGApwnof3uEXoqAMAdTDJgPsj+KpQBHcAcOwY=',
17701            paymentStep: '0',
17702            orderCode: '',
17703            contentId: '267',
17704            contentTitle: 'Ayakkabı',
17705            contentType: 'category',
17706            priceRounding: {
17707                active: false,
17708                type: '1',
17709                direction: '0'
17710            },
17711            currency: {
17712                name: 'Türk Lirası',
17713                symbol: 'TL',
17714                code: 'TRY',
17715                decimal: '2',
17716                displayType: '0'
17717            },
17718            listPriceRule: {
17719                active: false,
17720                limit: '15'
17721            },
17722            analytics: {
17723                mode: 'production',
17724                sessionInterval: '1800',
17725                liveVisitInterval: '600',
17726                cookieSettings: 'Secure; SameSite=None; path=/;',
17727                apiUrl: 'https://analytics.qs-apps.com/',
17728                trackingId: '4377112946590',
17729                visitorDetails: 'eyJkb21haW4iOiJ2ZXp6YWx1eC5jb20iLCJpc19ib3QiOmZhbHNlLCJ1c2VyX2FnZW50IjoiTW96aWxsYVwvNS4wIEFwcGxlV2ViS2l0XC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvOyBjb21wYXRpYmxlOyBQYWdlU291cmNlU2VhcmNoQm90XC8xLjA7IGh0dHBzOlwvXC9wYWdlc291cmNlc2VhcmNoLmNvbVwvYm90KSBDaHJvbWVcLzEyOC4wLjAuMCBTYWZhcmlcLzUzNy4zNiIsInV0bV9zb3VyY2UiOmZhbHNlLCJ1dG1fbWVkaXVtIjpmYWxzZSwidXRtX2NhbXBhaWduIjpmYWxzZSwidXRtX3Rlcm0iOmZhbHNlLCJ1dG1fY29udGVudCI6ZmFsc2UsImNoYW5uZWwiOjAsInRyYWZmaWNfc291cmNlIjpmYWxzZSwic2VhcmNoX2tleXdvcmQiOmZhbHNlLCJub3RpZmljYXRpb25fY2FtcGFpZ25fY29kZSI6ZmFsc2UsImFmZmlsaWF0ZV9pbmZsdWVuY2VyX2NvZGUiOmZhbHNlLCJ1c2VyX2NvbGxlY3Rpb25fY29kZSI6ZmFsc2V9',
17730                namespace: {
17731                    localCurrentSession: 'qanalytcs_session_',
17732                    localDailyVisit: 'qanalytcs_uniquev',
17733                    localLiveVisits: 'qanalytcs_activities',
17734                    localTimeSpent: 'qanalytcs_lstra',
17735                    cookieTest: 'qanalytcs_test',
17736                    cookieTimeSpent: 'qanalytcs_tts',
17737                    cookieScreenWidth: 'qanalytcs_scrnwdth'
17738                }
17739            },
17740            datepicker: {
17741                load: false,
17742                css: 'https://www.vezzalux.com/template/smart/default/assets/plugins/datepicker/datepicker.css?v=1673397887',
17743                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/datepicker/datepicker.js?v=1673398008',
17744            },
17745            simplebar: {
17746                load: false,
17747                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/simplebar/simplebar.js?v=1673398960',
17748            },
17749            fancybox: {
17750                load: false,
17751                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/fancybox/fancybox.js?v=1673399778',
17752            },
17753            imageupload: {
17754                load: false,
17755                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/imageupload/upload.js?v=1687644019',
17756            },
17757            croppie: {
17758                load: false,
17759                css: 'https://www.vezzalux.com/template/smart/default/assets/plugins/croppie/croppie.css?v=1684160415',
17760                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/croppie/croppie.js?v=1684193487',
17761                js2: 'https://www.vezzalux.com/template/smart/default/assets/plugins/croppie/exif.js?v=1684160405',
17762            },
17763            tweenmax: {
17764                load: false,
17765                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/tweenmax/TweenMax.min.js?v=1690415568',
17766            },
17767            form: {
17768                load: false,
17769                js: 'https://www.vezzalux.com/template/smart/default/assets/form.js?v=1790058138',
17770            },
17771            mask: {
17772                load: false,
17773                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/inputmask/jquery.inputmask.min.js?v=1771941751',
17774            },
17775            print: {
17776                load: false,
17777                js: 'https://www.vezzalux.com/template/smart/default/assets/print.js?v=1790058138',
17778            },
17779        };
17780        var LANG_HELPER = {"success":"Ba\u015far\u0131l\u0131!","alert":"Uyar\u0131!","error":"Hata!","ok":"Tamam","errorMsg":"\u0130\u015flem ger\u00e7ekle\u015ftirilirken bir hata olu\u015ftu!","login":"Giri\u015f Yap","variantMsg":"Sepete eklemek i\u00e7in l\u00fctfen \"{%x%}\" se\u00e7in.","specialFieldMsg":"Sepete eklemek i\u00e7in l\u00fctfen \"{%x%}\" alan\u0131n\u0131 doldurun.","keepShopping":"Al\u0131\u015fveri\u015fe Devam Et","goCart":"Sepete Git","select":"Se\u00e7in","priceAlertVariantMsg":"Fiyat alarm\u0131 olu\u015fturmak i\u00e7in l\u00fctfen \"{%x%}
17780\" se\u00e7in.","selectProduct":"L\u00fctfen bir \u00fcr\u00fcn se\u00e7in.","copySuccess":"Kopyaland\u0131!","fillInRequiredFields":"L\u00fctfen zorunlu alanlar\u0131 doldurun.","areYouSureToDelete":"Silmek istedi\u011finize emin misin?","cancel":"Vazge\u00e7","deleteIt":"Eminim, Sil!"};
17781    </script>
17781<script type="text/javascript" src="https://www.vezzalux.com/template/smart/default/assets/plugins/bootstrap.js?v=1774571286" /></script>
17781<script type="text/javascript" src="https://www.vezzalux.com/template/smart/default/assets/scripts.min.js?v=1790058138" /></script>
17781<link type="text/css" href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet"><link rel="stylesheet" type="text/css" href="https://www.vezzalux.com/template/smart/default/assets/plugins/bootstrap.helper.min.css?v=1721165315" /><link rel="stylesheet" type="text/css" href="https://www.vezzalux.com/template/smart/default/assets/plugins/fontawesome/css/all.min.css?v=1665957357" /><link rel="stylesheet" type="text/css" href="https://www.vezzalux.com/template/smart/default/assets/plugins/flagicon/all.min.css?v=1577975374"><div class="addons-mobile-menu amm-desktop-0 amm-mobile-1"><ul><li class="amm-li-0"><a href="https://www.vezzalux.com"><span class="icon"><i class="coreicon-home-4"></i></span><span class="title">Anasayfa</span></a></li><li class="amm-li-1"><a href="https://www.vezzalux.com/tumu-c-0"><span class="icon"><i class="coreicon-search-1"></i></span><span class="title">Ürünler</span></a></li><li class="amm-li-2"><a href="https://www.vezzalux.com/sepet"><span class="icon"><i class="coreicon-bag-2"></i></span><span class="title">Sepetim</span><span class="count" data-cart-quantity>0</span></a></li><li class="amm-li-3"><a href="https://www.vezzalux.com/hesabim/favori-listem"><span class="icon"><i class="coreicon-heart-1"></i></span><span class="title">Favorilerim</span></a></li><li class="amm-li-4"><a href="https://www.vezzalux.com/hesabim"><span class="icon"><i class="coreicon-user-1"></i></span><span class="title">Hesabım</span></a></li></ul></div><style type="text/css">
17782    .addons-mobile-menu {
17783        height: 65px;
17784        background: #ffffff;
17785        border-top: 1px solid #cfcfcf;
17786    }
17787    .addons-mobile-menu ul li a .icon {
17788        color: #333333;
17789        font-size: 15px;
17790    }
17791    .addons-mobile-menu ul li a .title {
17792        color: #333333;
17793        font-size: 12px;
17794    }
17795    @media (max-width: 991px) {
17796        body {
17797            padding-bottom: 65px;
17798        }
17799    }
17800</style><div class="addons-whatsapp-widget aww-direction-0 aww-size-1 aww-title-0 aww-desktop-1 aww-mobile-1"
17801     style="padding: 10px;"><div class="wp-title">
17802        Size nasıl yardımcı olabiliriz?
17803    </div><a target="_blank" href="https://api.whatsapp.com/send?phone=https://wa.me/5336563444&text=Ürünleriniz hakkında detaylı bilgi almak istiyorum"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512"
17804             style="enable-background:new 0 0 512 512;" xml:space="preserve"><linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="0" y1="256" x2="512" y2="256"><stop offset="0" style="stop-color:#F9F9F9"></stop><stop offset="1" style="stop-color:#FFFFFF"></stop></linearGradient><path style="fill:url(#SVGID_1_);" d="M0,512l35.31-128C12.359,344.276,0,300.138,0,254.234C0,114.759,114.759,0,255.117,0
17805                S512,114.759,512,254.234S395.476,512,255.117,512c-44.138,0-86.51-14.124-124.469-35.31L0,512z"></path><linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="100.2171" y1="477.1111" x2="376.9547" y2="81.8889"><stop offset="0" style="stop-color:#20B038"></stop><stop offset="1" style="stop-color:#60D66A"></stop></linearGradient><path style="fill:url(#SVGID_2_);" d="M137.71,430.786l7.945,4.414c32.662,20.303,70.621,32.662,110.345,32.662
17806                c115.641,0,211.862-96.221,211.862-213.628S371.641,44.138,255.117,44.138S44.138,137.71,44.138,254.234
17807                c0,40.607,11.476,80.331,32.662,113.876l5.297,7.945l-20.303,74.152L137.71,430.786z"></path><path style="fill:#FEFEFE;" d="M187.145,135.945l-16.772-0.883c-5.297,0-10.593,1.766-14.124,5.297
17808                c-7.945,7.062-21.186,20.303-24.717,37.959c-6.179,26.483,3.531,58.262,26.483,90.041s67.09,82.979,144.772,105.048
17809                c24.717,7.062,44.138,2.648,60.028-7.062c12.359-7.945,20.303-20.303,22.952-33.545l2.648-12.359
17810                c0.883-3.531-0.883-7.945-4.414-9.71l-55.614-25.6c-3.531-1.766-7.945-0.883-10.593,2.648l-22.069,28.248
17811                c-1.766,1.766-4.414,2.648-7.062,1.766c-15.007-5.297-65.324-26.483-92.69-79.448c-0.883-2.648-0.883-5.297,0.883-7.062
17812                l21.186-23.834c1.766-2.648,2.648-6.179,1.766-8.828l-25.6-57.379C193.324,138.593,190.676,135.945,187.145,135.945"></path></svg></a></div><style type="text/css">
17813        
17814                @media (max-width: 991px) {
17815            .addons-whatsapp-widget {
17816                margin-bottom: 70px
17817            }
17818        }
17819            </style>
17819<script src="https://apis.google.com/js/platform.js" async defer></script>
17819<div class="google-review-badge gwb-footer gwb-hide-desktop gwb-hide-mobile"><g:ratingbadge merchant_id="5772617662"></g:ratingbadge></div>
17819<script>
17820        window.___gcfg = {
17821            lang: 'tr'
17822        };
17823    </script>
17823<script type="text/javascript">
17824    browserAlert("VEZZALUX | Lüksün Dijital Dünyası ");
17825</script>
17825<div class="qk-app-sticky-discount" tabindex="-1"
17826     data-position-type="fixed"
17827     data-position-element=""
17828     data-position-element-location="after"
17829     data-desktop="true"
17830     data-mobile="true"><div class="sticky-button">
17831        Tüm Ürünlerde %20 İndirim!
17832        <i class="fa fa-angle-double-left"></i></div><div class="sticky-contents" style="display: none"><div class="item-custom"><span class="text-1" style="font-weight: 600; font-size: 19px; color: #ffffff"></span><span class="text-2" style="font-size: 14px; color: #ffffff"></span><span class="text-3" style="font-weight: 500; font-size: 15px; color: #ffffff"></span></div><span class="button-close"><i class="fa fa-times"></i></span></div></div><style type="text/css">
17833    .qk-app-sticky-discount {
17834        display: none;
17835                    position: fixed;
17836            z-index: 9;
17837            }
17838    .qk-app-sticky-discount.active {
17839        z-index: 9999
17840    }
17841    .qk-app-sticky-discount .sticky-button {
17842        cursor: pointer;
17843        position: relative;
17844        display: flex;
17845        justify-content: center;
17846        align-items: center;
17847        text-align: center;
17848        background: #4a0e0e;
17849        width: 210px;
17850        height: 41.4px;
17851        color: #ffffff;
17852        font-size: 18px;
17853        font-weight: 500;
17854                    -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17855            -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17856            box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17857            }
17858    .qk-app-sticky-discount .sticky-button i {
17859        font-size: 13px;
17860        margin: 0 0 -2px 10px;
17861    }
17862    .qk-app-sticky-discount .sticky-contents {
17863        display: flex;
17864        width: 210px;
17865        height: 230px;
17866        background: #4a0e0e;
17867        position: absolute;
17868        flex-direction: column;
17869        justify-content: center;
17870        align-items: center;
17871        text-align: center;
17872        -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
17873        -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
17874        box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
17875        overflow-y: auto;
17876        overflow-x: hidden;
17877    }
17878    .qk-app-sticky-discount .sticky-contents .button-close {
17879        cursor: pointer;
17880        background: rgba(0, 0, 0, .5);
17881        color: #fff;
17882        position: absolute;
17883        right: 3px;
17884        top: 3px;
17885        font-size: 11px;
17886        width: 23px;
17887        height: 23px;
17888        padding-top: 3px;
17889    }
17890            .qk-app-sticky-discount .sticky-contents .item-custom {
17891            display: flex;
17892            flex-direction: column;
17893            justify-content: center;
17894            align-items: center;
17895            text-align: center;
17896            height: 100%;
17897            width: 100%;
17898            padding: 15px
17899        }
17900        .qk-app-sticky-discount .sticky-contents span,
17901        .qk-app-sticky-discount .sticky-contents a {
17902            display: block;
17903            margin: 5px 0
17904        }
17905        .qk-app-sticky-discount .sticky-contents a {
17906            color: #fff;
17907            width: 100%;
17908            padding: 10px 5px;
17909            border-radius: 5px;
17910            font-weight: 500;
17911            -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17912            -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17913            box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17914        }
17915        .qk-app-sticky-discount .sticky-contents a:hover {
17916            opacity: 0.9;
17917        }
17918    
17919            .qk-app-sticky-discount .sticky-button {
17920            position: absolute;
17921            width: 41.4px;
17922            height: 230px;
17923            writing-mode: vertical-lr;
17924            transform: scale(-1);
17925        }
17926        .qk-app-sticky-discount .sticky-button i {
17927            margin: 10px 0 0 -2px;
17928        }
17929        .qk-app-sticky-discount .sticky-button,
17930        .qk-app-sticky-discount .sticky-contents {
17931                                        left: 0;
17932                    }
17933    
17934    @media (min-width: 992px){
17935        .qk-app-sticky-discount {
17936        left: 0px;right: auto;top: calc(50% - 115px);bottom: auto;transform: scale(1);transform-origin: left ;margin: 0px;
17937                }
17938    }
17939    @media (max-width: 992px){
17940        .qk-app-sticky-discount {
17941        left: 0px;right: auto;top: calc(50% - 115px);bottom: auto;transform: scale(0.7);transform-origin: left ;margin: 0px;
17942                }
17943    }
17944</style>
17944<script type="text/javascript">
17945    $( window ).on("load", function() {
17946        customAppEffects({"trigger_click_button_label":"","trigger_custom_event_value":"","trigger_scroll_type":"percentage","trigger_scroll_value":"5","trigger_status":"1","trigger_time_on_page_value":"1","trigger_type":"page_load"}, function () {
17947            let element = '.qk-app-sticky-discount';
17948
17949            // check current screen sizes
17950            let screen_width = (window.innerWidth || document.documentElement.clientWidth);
17951            if ((screen_width >= 992 && !$(element).data('desktop')) ||
17952                (screen_width < 992 && !$(element).data('mobile'))){
17953                return
17954            }
17955
17956            customAppScreenPosition(element);
17957
17958            // click campaign icon to show gifts
17959            $(element).find('.sticky-button').on('click', function (){
17960                $(element).find('.sticky-contents').fadeToggle(250);
17961                $(element).toggleClass('active');
17962            })
17963
17964            // click outside gifts box to hide
17965            $(element).on('focusout', function () {
17966                $(element).find('.sticky-contents').fadeOut(250);
17967                $(element).removeClass('active');
17968            });
17969
17970            // close button
17971            $(element+ ' .button-close').on('click', function () {
17972                $(element).find('.sticky-contents').fadeOut(250);
17973                $(element).removeClass('active');
17974            });
17975
17976        });
17977    });
17978</script>
17978<div class="qk-app-dropdown-products" tabindex="-1"
17979     data-position-type="fixed"
17980     data-position-element=""
17981     data-position-element-location="after"
17982     data-desktop="true"
17983     data-mobile="true"><div class="sticky-button"><i class="fas fa-list"></i><span>Son Gezilenler</span></div><div class="sticky-contents" style="display: none"><div class="bar"><span class="title">Son Gezilen Ürünler</span><span class="button-close"><i class="fa fa-times"></i></span></div><div class="items"></div></div></div><style type="text/css">
17984    .qk-app-dropdown-products {
17985        display: none;
17986                    position: fixed;
17987            z-index: 9;
17988            }
17989    .qk-app-dropdown-products.active {
17990        z-index: 9999
17991    }
17992    .qk-app-dropdown-products .sticky-button {
17993        cursor: pointer;
17994        position: relative;
17995        display: flex;
17996        justify-content: center;
17997        align-items: center;
17998        text-align: center;
17999        background: #ffffff;
18000        width: 140px;
18001        height: 50px;
18002        color: #222222;
18003        font-size: 14px;
18004        border: 1px solid #dddddd;
18005                    -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18006            -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18007            box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18008            }
18009    .qk-app-dropdown-products .sticky-button i {
18010        color: #222222;
18011        font-size: 14px;
18012        margin-right: 10px
18013    }
18014            .qk-app-dropdown-products .sticky-button {
18015            position: absolute;
18016            width: 50px;
18017            height: 140px;
18018            writing-mode: vertical-lr;
18019            transform: scale(-1);
18020        }
18021        .qk-app-dropdown-products .sticky-button i {
18022            margin: 0 0 10px -2px;
18023        }
18024        .qk-app-dropdown-products .sticky-button,
18025        .qk-app-dropdown-products .sticky-contents {
18026                            right: 0;
18027                    }
18028                .qk-app-dropdown-products .sticky-contents {
18029            right: 0;
18030        }
18031    
18032    .qk-app-dropdown-products .sticky-contents {
18033        display: flex;
18034        width: 300px;
18035        min-height: 200px;
18036        height: auto;
18037        max-height: 520px;
18038        background: #fff;
18039        position: absolute;
18040        flex-direction: column;
18041        justify-content: center;
18042        align-items: center;
18043        text-align: center;
18044        -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
18045        -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
18046        box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
18047    }
18048    .qk-app-dropdown-products .sticky-contents .bar {
18049        width: 100%;
18050        height: 60px;
18051        display: flex;
18052        justify-content: flex-start;
18053        align-items: center;
18054        padding: 0 15px;
18055        position: relative;
18056        color: #222222;
18057        font-size: 17px;
18058        border: 1px solid rgba(0,0,0,.1);
18059        font-weight: 500;
18060    }
18061    .qk-app-dropdown-products .sticky-contents .bar .button-close {
18062        cursor: pointer;
18063        color: #777;
18064        position: absolute;
18065        right: 13px;
18066        top: 12px;
18067        font-size: 17px;
18068        width: 25px;
18069        height: 25px;
18070        padding-top: 4px;
18071        border-radius: 5px;
18072    }
18073    .qk-app-dropdown-products .sticky-contents .items {
18074        flex: 1;
18075        max-height: 460px;
18076        width: 100%;
18077        padding-right: 10px
18078    }
18079    .qk-app-dropdown-products .sticky-contents .items .alert-message {
18080        padding: 10px 0;
18081    }
18082    .qk-app-dropdown-products .sticky-contents .items .item {
18083        display: flex;
18084        justify-content: flex-start;
18085        align-items: flex-start;
18086        border-bottom: 1px solid #ebebeb;
18087        padding: 10px;
18088        height: 115px;
18089        color: #333
18090    }
18091    .qk-app-dropdown-products .sticky-contents .items .item .image {
18092        flex: 1
18093    }
18094    .qk-app-dropdown-products .sticky-contents .items .item .image img {
18095        max-height: 90px;
18096        max-width: 90px;
18097    }
18098    .qk-app-dropdown-products .sticky-contents .items .item .info {
18099        flex: 2;
18100        height: 100%;
18101        display: flex;
18102        flex-direction: column;
18103        align-items: flex-start;
18104        margin-left: 10px;
18105        text-align: left;
18106    }
18107    .qk-app-dropdown-products .sticky-contents .items .item .info .title {
18108        font-size: 13px;
18109        margin-bottom: 6px
18110    }
18111    .qk-app-dropdown-products .sticky-contents .items .item .info .list-price {
18112        font-size: 12px;
18113        color: #555;
18114        text-decoration: line-through;
18115        margin-bottom: 6px
18116    }
18117    .qk-app-dropdown-products .sticky-contents .items .item .info .sale-price {
18118        font-size: 15px;
18119        font-weight: 600;
18120        color: #d21c1c;
18121        margin-bottom: 6px
18122    }
18123
18124    @media (min-width: 992px){
18125        .qk-app-dropdown-products {
18126        left: auto;right: 10px;top: calc(50% - 25px);bottom: auto;transform: scale(1);transform-origin: right ;margin: 0px;
18127                }
18128    }
18129    @media (max-width: 992px){
18130        .qk-app-dropdown-products {
18131        left: auto;right: 10px;top: calc(50% - 25px);bottom: auto;transform: scale(0.85);transform-origin: right ;margin: 0px;
18132                }
18133    }
18134</style>
18134<script type="text/javascript">
18135    $( window ).on("load", function() {
18136        customAppEffects({"trigger_click_button_label":"","trigger_custom_event_value":"","trigger_scroll_type":"percentage","trigger_scroll_value":"5","trigger_status":"0","trigger_time_on_page_value":"1","trigger_type":"page_load"}, function () {
18137            let element = '.qk-app-dropdown-products';
18138
18139            // check current screen sizes
18140            let screen_width = (window.innerWidth || document.documentElement.clientWidth);
18141            if ((screen_width >= 992 && !$(element).data('desktop')) ||
18142                (screen_width < 992 && !$(element).data('mobile'))){
18143                return
18144            }
18145
18146            customAppScreenPosition(element);
18147
18148            // click campaign icon to show gifts
18149            var fetch_products = false;
18150            $(element).find('.sticky-button').on('click', function (){
18151                $(element).find('.sticky-contents').fadeToggle(150);
18152                $(element).toggleClass('active');
18153                if (!fetch_products){
18154                    fetch_products = true;
18155                    customAppDropDownFetchProducts(element);
18156                }
18157            })
18158
18159            // click outside gifts box to hide
18160            $(element).on('focusout', function () {
18161                $(element).find('.sticky-contents').fadeOut(150);
18162                $(element).removeClass('active');
18163            });
18164
18165            // close button
18166            $(element+ ' .button-close').on('click', function () {
18167                $(element).find('.sticky-contents').fadeOut(150);
18168                $(element).removeClass('active');
18169            });
18170
18171        });
18172    });
18173    function customAppDropDownFetchProducts(element)
18174    {
18175        var data = [
18176            {name: "type", value: 'visited'},
18177            {name: "limit", value: '4'},
18178        ]
18179
18180        ajaxFormGate(
18181            'POST', 'Category', 'getSimpleProducts', data, false, function(result){
18182                if (result.length == 0){
18183                    $(element+ ' .sticky-contents').find('.items').html('<div class="alert-message">Ürün bulunamadı.</div>')
18184                }else{
18185                    $(element+ ' .sticky-contents').find('.items').html(' ')
18186                    let item = '', html = '';
18187                    for(let i = 0; i < result.length; i++){
18188                        item = result[i];
18189                        html = '';
18190                        html = html + '<a class="item" href="'+ item.link +'">';
18191                        html = html + '<div class="image">';
18192                        html = html + '<img src="'+ item.resim +'" alt="" />';
18193                        html = html + '</div>';
18194                        html = html + '<div class="info">';
18195                        html = html + '<span class="title">'+ item.adi +'</span>';
18196                        if (item.indirim){
18197                            html = html + '<span class="list-price">'+ item.piyasa_fiyati +'</span>';
18198                        }
18199                        html = html + '<span class="sale-price">'+ item.fiyat +'</span>';
18200                        html = html + '</div>';
18201                        html = html + '</a>';
18202                        $(element + ' .sticky-contents .items').append(html)
18203                    }
18204                }
18205            },
18206            false
18207        )
18208    }
18209</script>
18209<div class="qk-app-popup-products" tabindex="-1"
18210     data-position-type="fixed"
18211     data-position-element=""
18212     data-position-element-location="after"
18213     data-desktop="true"
18214     data-mobile="true"><div class="wrapper-showcase"><div class="bar"><span class="title">Beğendiğiniz Ürün Sizi Bekliyor</span><span class="sub-title">Tüm Ürünlerde Sepette %20 İndirim, Ücretsiz Aynı Gün Kargo Fırsatıyla Siparişinizi Tamamlayın.</span><span class="button-close"><i class="fa fa-times"></i></span></div><div class="owl-wrapper"><div class="owl-carousel items qk-app-popup-products-items"></div><div class="owl-single-button owl-single-button-prev qk-app-popup-products-items-prev"><button type="button" class="btn btn-owl" aria-label="left"><i class="fas fa-angle-left"></i></button></div><div class="owl-single-button owl-single-button-next qk-app-popup-products-items-next"><button type="button" class="btn btn-owl" aria-label="right"><i class="fas fa-angle-right"></i></button></div></div></div></div><style type="text/css">
18215    .qk-app-popup-products {
18216        display: none;
18217                    position: fixed;
18218            z-index: 999999;
18219                left: 0;
18220        right: 0;
18221        top: 0;
18222        bottom: 0;
18223        background: rgba(0, 0, 0, .6);
18224    }
18225    .qk-app-popup-products .wrapper-showcase {
18226        position: fixed;
18227        background: #ffffff;
18228        width: 750px;
18229        height: 460px;
18230        padding: 30px;
18231                    -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18232            -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18233            box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18234            }
18235    .qk-app-popup-products .wrapper-showcase .bar {
18236        display: flex;
18237        flex-direction: column;
18238        text-align: center;
18239        justify-content: center;
18240        align-items: center;
18241    }
18242    .qk-app-popup-products .wrapper-showcase .bar .title {
18243        color: #222222;
18244        font-size: 17px;
18245        margin-bottom: 5px;
18246        font-weight: 500
18247    }
18248    .qk-app-popup-products .wrapper-showcase .bar .sub-title {
18249        color: #222222;
18250        font-size: 14px;
18251    }
18252    .qk-app-popup-products .wrapper-showcase .bar .button-close {
18253        cursor: pointer;
18254        color: #555;
18255        position: absolute;
18256        right: 5px;
18257        top: 5px;
18258        font-size: 20px;
18259        width: 23px;
18260        height: 23px;
18261        padding-top: 3px;
18262    }
18263    .qk-app-popup-products .wrapper-showcase .items {
18264        width: 100%;
18265        margin-top: 20px
18266    }
18267    .qk-app-popup-products .wrapper-showcase .items .item {
18268        padding: 10px;
18269        color: #333
18270    }
18271    .qk-app-popup-products .wrapper-showcase .items .item .image {
18272        flex: 1;
18273        text-align: center;
18274        justify-content: center;
18275        align-items: center;
18276        display: flex;
18277    }
18278    .qk-app-popup-products .wrapper-showcase .items .item .image img {
18279        max-height: 200px;
18280        max-width: 200px;
18281        width: auto;
18282        height: auto;
18283    }
18284    .qk-app-popup-products .wrapper-showcase .items .item .info {
18285        display: flex;
18286        flex-direction: column;
18287        align-items: flex-start;
18288        margin-top: 10px;
18289        text-align: left;
18290    }
18291    .qk-app-popup-products .wrapper-showcase .items .item .info .title {
18292        font-size: 13px;
18293        margin-bottom: 6px
18294    }
18295    .qk-app-popup-products .wrapper-showcase .items .item .info .list-price {
18296        font-size: 12px;
18297        color: #555;
18298        text-decoration: line-through;
18299        margin-top: 6px
18300    }
18301    .qk-app-popup-products .wrapper-showcase .items .item .info .sale-price {
18302        font-size: 15px;
18303        font-weight: 600;
18304        color: #d21c1c;
18305        margin-top: 6px
18306    }
18307
18308    @media (min-width: 992px){
18309        .qk-app-popup-products {
18310                    }
18311        .qk-app-popup-products .wrapper-showcase {
18312            left: calc(50% - 375px);right: auto;top: calc(50% - 230px);bottom: auto;transform: scale(1);transform-origin: center ;margin: 0px;
18313        }
18314    }
18315    @media (max-width: 992px){
18316        .qk-app-popup-products {
18317                    }
18318        .qk-app-popup-products .wrapper-showcase {
18319            left: calc(50% - 375px);right: auto;top: calc(50% - 230px);bottom: auto;transform: scale(0.95);transform-origin: center ;margin: 0px;
18320            width: 100% !important;
18321            left: 0 !important;
18322            right: 0 !important;
18323        }
18324    }
18325</style>
18325<script type="text/javascript">
18326    $( window ).on("load", function() {
18327        customAppEffects({"trigger_click_button_label":"","trigger_custom_event_value":"","trigger_scroll_type":"percentage","trigger_scroll_value":"5","trigger_status":"1","trigger_time_on_page_value":"180","trigger_type":"time_on_page"}, function () {
18328            let element = '.qk-app-popup-products';
18329
18330            // check current screen sizes
18331            let screen_width = (window.innerWidth || document.documentElement.clientWidth);
18332            if ((screen_width >= 992 && !$(element).data('desktop')) ||
18333                (screen_width < 992 && !$(element).data('mobile'))){
18334                return
18335            }
18336
18337            customAppScreenPosition(element);
18338
18339            // close button
18340            $(element+ ' .button-close').on('click', function () {
18341                $(element).remove();
18342            });
18343
18344            // fetch products
18345            var data = [
18346                {name: "type", value: 'visited'},
18347                {name: "limit", value: '10'},
18348            ];
18349
18350            ajaxFormGate(
18351                'POST', 'Category', 'getSimpleProducts', data, false, function(result){
18352                    if (result.length == 0){
18353                        $(element).remove();
18354                    }else{
18355                        $(element).find('.items').html(' ')
18356                        let item = '', html = '';
18357                        for(let i = 0; i < result.length; i++){
18358                            item = result[i];
18359                            html = '';
18360                            html = html + '<a class="owl-carousel-item item" href="'+ item.link +'">';
18361                            html = html + '<div class="image">';
18362                            html = html + '<img src="'+ item.resim +'" alt="" />';
18363                            html = html + '</div>';
18364                            html = html + '<div class="info">';
18365                            html = html + '<span class="title">'+ item.adi +'</span>';
18366                            if (item.indirim){
18367                                html = html + '<span class="list-price">'+ item.piyasa_fiyati +'</span>';
18368                            }
18369                            html = html + '<span class="sale-price">'+ item.fiyat +'</span>';
18370                            html = html + '</div>';
18371                            html = html + '</a>';
18372                            $(element).find('.items').append(html)
18373                        }
18374                        createOwlCarousel('qk-app-popup-products-items', {"0":{"items":2},"992":{"items":3}});
18375                    }
18376                },
18377                false
18378            )
18379
18380        });
18381    });
18382</script>
18382<div class="cookie-agreement-module"
18383     tabindex="-1"
18384     data-desktop="true"
18385     data-mobile="true"><div class="cam-contents"><div class="items"><div class="title">Çerez Kullanımı</div><div class="description"><p class="cookie-bar__text">Size en iyi alışveriş deneyimini sunabilmek adına sitemizde &ccedil;erez (cookie) kullanılmaktadır. Detaylı bilgi i&ccedil;in <a href="/cerez-politikasi">&Ccedil;erez Politikası</a> ve <a href="/gizlilik-sozlesmesi">Gizlilik S&ouml;zleşmesi</a>&#39;ni inceleyebilirsiniz.</p></div></div><button type="button" onclick="cookieAgreement()" class="cam-btn">
18386                Kabul Ediyorum
18387            </button></div></div><style type="text/css">
18388    .cookie-agreement-module {
18389                    z-index: 9999999;
18390            position: fixed;
18391                background: rgba(0, 0, 0, 0.97);
18392                border-radius: 35px;
18393    }
18394    .cookie-agreement-module .cam-contents {
18395        position: relative;
18396        display: flex;
18397        justify-content: center;
18398        align-items: center;
18399        min-height: 110px;
18400        width: 100%;
18401                    padding: 5px 15px;
18402            max-width: 360px;
18403            margin: 0 auto;
18404            }
18405    .cookie-agreement-module .items {
18406        flex: 1;
18407        text-align: left;
18408    }
18409    .cookie-agreement-module .items .title {
18410        color: #ffffff !important;
18411        font-size: 14px !important;
18412        margin-bottom: 5px;
18413        font-weight: 500;
18414    }
18415    .cookie-agreement-module .items .description {
18416        color: #ffffff !important;
18417        font-size: 13px !important;
18418    }
18419    .cookie-agreement-module .items .description a {
18420        color: #ffffff !important;
18421        font-size: 13px !important;
18422        text-decoration: none !important;
18423    }
18424    .cookie-agreement-module .cam-btn {
18425        border: 0 !important;
18426        border-radius: 3px !important;
18427        display: inline-block !important;
18428        padding: 7px 10px;
18429        font-weight: 600;
18430        background: #ffffff;
18431        color: #000000;
18432        font-size: 13px;
18433                    margin-left: 10px;
18434            }
18435    .cookie-agreement-module .button-close {
18436        cursor: pointer;
18437        font-size: 13px;
18438        color: #000000;
18439                    margin-left: 10px;
18440            }
18441    @media (min-width: 992px){
18442        .cookie-agreement-module {
18443            left: calc(50% - 180px);right: auto;top: auto;bottom: 15px;transform: scale(0.75);transform-origin:  bottom;margin: 0px;
18444                                        left: 0 !important;
18445                right: 0 !important;
18446                    }
18447                    .cookie-agreement-module .cam-contents {
18448                max-width: initial;
18449            }
18450            }
18451    @media (max-width: 992px){
18452        .cookie-agreement-module {
18453            left: calc(50% - 180px);right: auto;top: auto;bottom: 5px;transform: scale(0.95);transform-origin:  bottom;margin: 0px;
18454                                        left: 0 !important;
18455                right: 0 !important;
18456                    }
18457                    .cookie-agreement-module .cam-contents {
18458                padding: 8px;
18459                flex-direction: column;
18460                align-items: flex-start;
18461            }
18462            .cookie-agreement-module .cam-btn {
18463                margin: 10px auto 0 auto;
18464            }
18465            }
18466</style>
18466<script type="text/javascript">
18467    $( window ).on("load", function() {
18468        let element = '.cookie-agreement-module';
18469        // check current screen sizes
18470        let screen_width = (window.innerWidth || document.documentElement.clientWidth);
18471        if ((screen_width >= 992 && !$(element).data('desktop')) ||
18472            (screen_width < 992 && !$(element).data('mobile'))){
18473            return
18474        }
18475
18476        customAppScreenPosition(element);
18477    });
18478
18479    function cookieAgreement(){
18480        ajaxFormGate(
18481            'POST', 'Visitor', 'cookieAgreement', [], false, function(result){
18482                $('.cookie-agreement-module').remove();
18483            },
18484            false
18485        );
18486    }
18487</script>
18487<div class="overlay d-none"><div class="spinner-border spin" role="status"><span class="sr-only">Yükleniyor...</span></div></div><div class="op-black-2"></div>
18487<script type="text/javascript">
18488        var swal_alert_timer = 10;
18489    </script>
18489<script type="text/javascript" src="https://www.vezzalux.com/theme/___sirius/assets/scripts.js?v=1653353722" /></script>
18489<script type="text/javascript">
18490            $(function () {
18491                $('.addons-marquee-bar').marquee({
18492                    pauseOnHover: true,
18493                    direction: 'left',
18494                    duration: 60000,
18495                    duplicated: true,
18496                    startVisible: true,
18497                    delayBeforeStart: 0
18498                });
18499            });
18500        </script>
18500<style>
18501body.lux-size-filter-active #luxNativePagination,
18502.lux-category-products-area.is-lux-filter-active + #luxNativePagination {
18503    display: none !important;
18504}
18505
18506.lux-custom-empty {
18507    padding: 40px 10px;
18508    text-align: center;
18509    color: #999;
18510    font-size: 14px;
18511}
18512
18513.lux-custom-pagination {
18514    display: flex;
18515    justify-content: center;
18516    align-items: center;
18517    gap: 6px;
18518    flex-wrap: wrap;
18519    margin: 34px 0 20px;
18520    padding: 0;
18521    list-style: none;
18522}
18523
18524.lux-custom-pagination button,
18525.lux-custom-pagination span {
18526    min-width: 38px;
18527    height: 38px;
18528    padding: 0 12px;
18529    border: 1px solid #ddd;
18530    background: #fff;
18531    color: #333;
18532    font-size: 13px;
18533    font-weight: 500;
18534    cursor: pointer;
18535    border-radius: 2px;
18536    transition: all .2s ease;
18537}
18538
18539.lux-custom-pagination button:hover {
18540    border-color: #111;
18541    color: #111;
18542}
18543
18544.lux-custom-pagination button.is-active {
18545    background: #111;
18546    border-color: #111;
18547    color: #fff;
18548    cursor: default;
18549}
18550
18551.lux-custom-pagination button:disabled {
18552    opacity: .45;
18553    cursor: not-allowed;
18554}
18555
18556.lux-custom-pagination span {
18557    display: inline-flex;
18558    align-items: center;
18559    justify-content: center;
18560    border: none;
18561    color: #aaa;
18562    cursor: default;
18563}
18564</style>
18564<script type="text/javascript">
18565const CATEGORY_PAGE_DATA = {
18566    k: '',
18567    url: 'https://www.vezzalux.com/e-ayakkabi',
18568    filtreleme: '2b90c6a8ad01871748117717b2ffee80/ofEThJ1ijbituULyQv+VIJtCeQXaM1E/sn3VjgoFiC/NjgdYcnnElqItDBc4hGaQo9/LC1hBfueL4kLaUJflQZAtyYsGfyO1YTBeMHB5TysW8sGub7HferbRW1K8d1XdzwcWhq/sBTFyMU29DM3bjRRyNKHeBdLYAOCb6Brh6pFGtTe/9HfYl9tFYR7iUzzwPUOOmoozZJ9UbZxUMUl3t2dV6BjO6wxhHzi44z8RX6HnBvFccuOoFjCx+ZNAnFGhatTtW4f3ImKlZgjI3m1BvjCaou/HVC5hyM/zC57RB1uELwd/NBOndA+ZfgU+Z1TPvXVy8i5rCJXnFzdF8nrNrbIJHmH5rAzLZWjbF7bJ3xaTu7AdgE7bHdbDXp2Hw4nj1Kf7utcI0j2Grv7JtTMHcvoiwjhugvbsDyoMS0G+IrT0daIzYPC/TIyYYe9E+iGA18+GqkpLSFrhikiAMNK/Si+66S8O5THtQ9zTV83P0gzLvceJcjgdLCa6HaA+XtLsd+X+T3G8Rt0CxuZAIT8NTehzBojMry04f6eRT8hd02Bd5zpC5dlUQg9ZbjUniHYixUskUYPXEFPZxQTAl00NbdVbjxc1La4Xw5wDhbdV4fmpJr8Q/PrdvgCEWRhCro/a4rmuZo+TTO4vv/vHey2ZhPi8FSgdJ4GnGyp0x2vwD0jeqm8yxEVkI5tsmVmcm5xHbDh8ckHUrfGUbMHpIeOIvANOmPO/TIRQbLIIZEYJ86VaD1k4WM3fLBPBg6ETPhcr7B89vkTcebAK9/7eX2nBdPQ4QXT7jIqFtfJrZ/+gYEgZ08Zce8Ms3NzE3Ro5vS22ZXOAC3EWoj1Yw+tXgfrIlaqX8arwmGz/X7Z2mSbnqRvyovQ5+DWRFE0QagE35zYOaQVVZgBrwTlvJKe2ZvLyYJKlK2aIt1t55Kw85skiFIV8Ph5Ws8XGIaS4E31nmPcfM2MJ7al/vtaAIwFqfPEgvovtAPAVo2P3y0u1/I7T44Fu4JBxVnD7La+mYGwqk8bPE4mh4WyUMI20eJBFF0dFmxBUQ+gDKsNt0ARy96Ld8fdU3Hco95AXPNX8WOuyHoN/BWH46Zcn4Uqe08ndR5K4XudRGiKUNk0/d8TnMiYuHpxRxALWNcyjx7iHP9UNXlo5iYKnSPWtNJIHfhE90dzsotz9Kw2UyOPvcTGElk3yXBGNQ=='
18569};
18570
18571$(function(){
18572    smartCategoryFilters(CATEGORY_PAGE_DATA);
18573
18574    if (localStorage.getItem('category-view-type') == 2){
18575        categoryViewType(6, 6, 2);
18576    } else if (localStorage.getItem('category-view-type') == 3){
18577        categoryViewType(4, 4, 3);
18578    } else if (localStorage.getItem('category-view-type') == 4){
18579        categoryViewType(4, 3, 4);
18580    }
18581});
18582
18583function categoryViewType(cls1, cls2, type){
18584    $(".p-g-mod-t-20 .col-list-p-v-1, #luxProductGrid .col-list-p-v-1").removeClass()
18585        .addClass("col-6 col-sm-6 col-md-6 col-lg-"+cls1+" col-xl-"+cls2+" col-list-p-v-1");
18586
18587    localStorage.setItem('category-view-type', type);
18588}
18589
18590if (localStorage.getItem('category-view-type') == 2){
18591    $(".two-view").addClass("active");
18592} else if (localStorage.getItem('category-view-type') == 3){
18593    $(".three-view").addClass("active");
18594} else if (localStorage.getItem('category-view-type') == 4){
18595    $(".four-view").addClass("active");
18596}
18597
18598$(".two-view").click(function(){
18599    $(".product-view-select a").removeClass("active");
18600    $(".two-view").addClass("active");
18601});
18602
18603$(".three-view").click(function(){
18604    $(".product-view-select a").removeClass("active");
18605    $(".three-view").addClass("active");
18606});
18607
18608$(".four-view").click(function(){
18609    $(".product-view-select a").removeClass("active");
18610    $(".four-view").addClass("active");
18611});
18612
18613function catFilterOrder(element){
18614    $("#cat-filter-order-"+$(element).val()).prop('checked', true).click();
18615}
18616</script>
18616<style type="text/css">
18617            .swal-modal {
18618                background: #fff !important;
18619                border-radius: 10px !important;
18620                padding: 0 !important;
18621            }
18622            .swal-footer {
18623                background: #F1F1F1 !important;
18624                border-radius: 0 0 10px 10px;
18625                padding: 10px;
18626                text-align: center;
18627            }
18628            .swal-footer .swal-button:focus {
18629                box-shadow: none;
18630            }
18631            .swal-title {
18632                font-size: 20px!important;
18633                margin-top: 15px!important;
18634                margin-bottom: 10px!important;
18635            }
18636            .swal-text {
18637                font-size: 15px!important;
18638                font-weight: 500!important;
18639                color: #555!important;
18640                padding: 0 10px!important;
18641            }
18642            .swal-icon {
18643                margin: 5px auto
18644            }
18645            .swal-icon--success {
18646                color: #fff !important;
18647            }
18648            .swal-icon--success__ring {
18649                background: #a5dc86;
18650                z-index: 1
18651            }
18652            .swal-icon--success__hide-corners {
18653                background: transparent;
18654            }
18655            .swal-icon--success__line {
18656                background: #fff;
18657            }
18658            .swal-icon--error {
18659                background: #f27474;
18660            }
18661            .swal-icon--error__line {
18662                background: #fff;
18663            }
18664        </style>
18664<script type="text/javascript">
18665
18666        $(function(){
18667
18668                                    
18669                                        submitMarketingEvents([{"platform":"google","event_name":"view_item_list","event_id":"","encrypted_data":"","params":{"item_list_id":"267","item_list_name":"ERKEK > Ayakkab\u0131","items":[{"item_id":"10741","item_name":"Bottega 1314 Kahverengi S\u00fcet Loafer Erkek Ayakkab\u0131","item_brand":"Bottega Veneta","price":13500,"index":0,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Loafer"},{"item_id":"10329","item_name":"Lora 1008 Haki Erkek Ayakkab\u0131","item_brand":"Lora piana","price":11499,"index":1,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Bot"},{"item_id":"10731","item_name":"Cl 1302 Ye\u015fil Loafer Erkek Ayakkab\u0131","item_brand":"Christian Louboutin","price":12500,"index":2,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Loafer"},{"item_id":"10185","item_name":"Mcq 831 Parlak Gri Erkek Ayakkab\u0131","item_brand":"Alexander Mcqueen","price":12500,"index":3,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10477","item_name":"Vltn 1200 Taba Sneaker Erkek Ayakkab\u0131","item_brand":"Valentino","price":12500,"index":4,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10258","item_name":"Fendi 926 Beyaz Ye\u015fil Erkek Ayakkab\u0131","item_brand":"Fendi","price":12500,"index":5,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"9810","item_name":"Gg 808 Arkas\u0131 Gold Erkek Ayakkab\u0131","item_brand":"Golden Goose","price":10499,"index":6,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10319","item_name":"Fendi 997 Full Siyah Suet Taban\u0131 Gri Erkek Ayakkab\u0131","item_brand":"Fendi","price":12500,"index":7,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Loafer"},{"item_id":"10214","item_name":"Lv 871 Siyah Erkek Ayakkab\u0131","item_brand":"Louis Vuitton","price":12500,"index":8,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10279","item_name":"Gucci 949 Siyah Beyaz Erkek Ayakkab\u0131","item_brand":"Gucci","price":12500,"index":9,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10172","item_name":"Off 816 Siyah K\u0131rm\u0131z\u0131 Logo Erkek Ayakkab\u0131","item_brand":"Off White","price":12500,"index":10,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10362","item_name":"Dior 1058 Fuul Gri Erkek Ayakkab\u0131","item_brand":"Dior","price":12499,"index":11,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10243","item_name":"Dg 902 Beyaz Arkas\u0131 Gold Erkek Ayakkab\u0131","item_brand":"Dolce Gabbana","price":12500,"index":12,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10306","item_name":"Mcq 983 Full Beyaz Desenli Erkek Ayakkab\u0131","item_brand":"Alexander Mcqueen","price":12500,"index":13,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10200","item_name":"Gg 855 Beyaz T\u00fcyl\u00fc Erkek Ayakkab\u0131","item_brand":"Golden Goose","price":10499,"index":14,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10729","item_name":"Hermes 1304 Terlik Siyah Erkek Ayakkab\u0131","item_brand":"Hermes","price":12500,"index":15,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Terlik"},{"item_id":"10269","item_name":"Dior 939 Siyah Erkek Ayakkab\u0131","item_brand":"Dior","price":12499,"index":16,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10158","item_name":"Gg 799 Arkas\u0131 G\u00fcm\u00fc\u015f Erkek Ayakkab\u0131","item_brand":"Golden Goose","price":10499,"index":17,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10333","item_name":"Cl 1013 Siyah K\u0131rm\u0131z\u0131 Erkek Ayakkab\u0131","item_brand":"Christian Louboutin","price":12500,"index":18,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10228","item_name":"Lv 885 Siyah Turuncu Ba\u011fc\u0131k Erkek Ayakkab\u0131","item_brand":"Louis Vuitton","price":12500,"index":19,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Loafer"},{"item_id":"10294","item_name":"Hermes 969 Terlik Bej Erkek Ayakkab\u0131","item_brand":"Hermes","price":12500,"index":20,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Terlik"},{"item_id":"10317","item_name":"Lv 995 Arkas\u0131 Siyah Beyaz Desenli Erkek Ayakkab\u0131","item_brand":"Louis Vuitton","price":12500,"index":21,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10213","item_name":"Lv 870 Kot Erkek Ayakkab\u0131","item_brand":"Louis Vuitton","price":12500,"index":22,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10740","item_name":"Bottega 1315 S\u00fcet Gri Loafer Erkek Ayakkab\u0131","item_brand":"Bottega Veneta","price":13500,"index":23,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Loafer"}]}},{"platform":"facebook","event_name":"ViewContent","event_id":"","encrypted_data":"","params":{"content_name":"ERKEK > Ayakkab\u0131","content_type":"product","content_ids":["10741","10329","10731","10185","10477","10258","9810","10319","10214","10279","10172","10362","10243","10306","10200","10729","10269","10158","10333","10228","10294","10317","10213","10740"]}}]);
18670            
18671                                });
18672    </script>
18672<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":"972563036cf44d718609e76697e7f07c","r":1,"spa":2}' crossorigin="anonymous"></script>
18672
18673</body></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.