PageSourceSearch

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

html vezzalux.com collected 2026-10-02 01:47:45 UTC 639,762 bytes, 18,671 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            Seçili ürünlerde %60 a Varan İndirim
92        </a><a href="javascript:;" class="item" style="color: #ffffff">
93            Seçili ürünlerde %60 a Varan İndirim
94        </a><a href="javascript:;" class="item" style="color: #ffffff">
95            Seçili ürünlerde %60 a Varan İndirim
96        </a><a href="javascript:;" class="item" style="color: #ffffff">
97            Seçili ürünlerde %60 a Varan İndirim
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-291"><a href="https://www.vezzalux.com/erkek-tek-kalanlar" data-id="291"><span class="name ">FIRSAT ÜRÜNLERİ</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#eb82858d84ab9d8e91918a879e93c5888486"><i class="coreicon-envelope-1 mr-2"></i><span>
156                                <span class="__cf_email__" data-cfemail="4b22252d240b3d2e31312a273e3365282426">[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/erkek-tek-kalanlar">
287                                            FIRSAT ÜRÜNLERİ
288                    </a></li><li class="menu-markalar-item"><input type="checkbox" id="sub-markalar" class="submenu-toggle"><label class="submenu-label" for="sub-markalar">
289               Markalar
290           </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
291                       </label></strong></li><li class="menu-sub-all-link"><a href="https://www.vezzalux.com/markalar"><i class="fas fa-th"></i>
292                       Tümünü Gör (Markalar)
293                   </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/adidas">
294                                                      Adidas
295                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/alaia">
296                                                      Alaia
297                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/alexander-mcqueen">
298                                                      Alexander Mcqueen
299                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/amina-muaddi">
300                                                      Amina Muaddi
301                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/amiri">
302                                                      Amiri
303                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/aquazzura">
304                                                      Aquazzura
305                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/balenciaga">
306                                                      Balenciaga
307                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/balmain">
308                                                      Balmain
309                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/bottega-veneta">
310                                                      Bottega Veneta
311                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/brunnella-cucinelli">
312                                                      Brunnella Cucinelli
313                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/celine">
314                                                      Celine
315                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/chanel">
316                                                      Chanel
317                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/chloe">
318                                                      Chloe
319                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/christian-louboutin">
320                                                      Christian Louboutin
321                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/dior">
322                                                      Dior
323                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/dolce-gabbana">
324                                                      Dolce Gabbana
325                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/dsq2">
326                                                      Dsq2
327                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/fendi">
328                                                      Fendi
329                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/ferragamo">
330                                                      Ferragamo
331                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/givenchy">
332                                                      Givenchy
333                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/golden-goose">
334                                                      Golden Goose
335                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/goyard">
336                                                      Goyard
337                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/gucci">
338                                                      Gucci
339                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/hermes">
340                                                      Hermes
341                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/jimmy-choo">
342                                                      Jimmy Choo
343                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/loewe">
344                                                      Loewe
345                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/lora-piana">
346                                                      Lora piana
347                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/louis-vuitton">
348                                                      Louis Vuitton
349                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/mach-mach">
350                                                      Mach Mach
351                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/miu-miu">
352                                                      Miu Miu
353                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/moncler">
354                                                      Moncler
355                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/montblanc">
356                                                      Montblanc
357                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/off-white">
358                                                      Off White
359                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/prada">
360                                                      Prada
361                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/premiata">
362                                                      Premiata
363                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/stella-c">
364                                                      Stella C.
365                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/the-row">
366                                                      The Row
367                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/ugg">
368                                                      Ugg
369                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/valentino">
370                                                      Valentino
371                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/versace">
372                                                      Versace
373                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/ysl">
374                                                      Ysl
375                       </a></li><li class="menu-marka-item"><a href="https://www.vezzalux.com/zegna">
376                                                      Zegna
377                       </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">
378                            Alt Kategoriler
379                        </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">
380                            Markalar
381                        </div></div></div><div class="p-g-mod-body  "><style>
382.lux-size-global-filter-module {
383    display: block !important;
384    width: 100%;
385}
386
387.lux-size-filter-group {
388    display: block;
389    width: 100%;
390    margin-bottom: 24px;
391}
392
393.lux-size-filter-title {
394    display: block;
395    margin-bottom: 12px;
396    font-size: 12px;
397    font-weight: 700;
398    color: #111;
399    letter-spacing: .8px;
400    text-transform: uppercase;
401}
402
403.lux-size-filter-group .category-filter-list {
404    display: block !important;
405    width: 100%;
406    visibility: visible !important;
407    opacity: 1 !important;
408}
409
410.lux-size-button-list {
411    display: flex;
412    flex-wrap: wrap;
413    gap: 8px;
414}
415
416.lux-size-btn {
417    display: inline-flex;
418    align-items: center;
419    justify-content: center;
420    min-height: 34px;
421    min-width: 42px;
422    padding: 7px 14px;
423    border: 1px solid #ddd;
424    border-radius: 20px;
425    background: #fff;
426    color: #111;
427    font-size: 13px;
428    font-weight: 500;
429    line-height: 1;
430    cursor: pointer;
431    margin: 0;
432    transition: all .2s ease;
433    text-decoration: none !important;
434}
435
436.lux-size-btn:hover {
437    border-color: #111;
438    color: #111;
439}
440
441.lux-size-btn.is-active {
442    background: #111;
443    border-color: #111;
444    color: #fff !important;
445}
446
447.lux-size-loading {
448    display: none;
449    font-size: 12px;
450    color: #999;
451    padding: 6px 0;
452}
453</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="">
454            Tümü
455        </a><a href="javascript:;"
456               class="lux-size-btn"
457               data-size-filter="36">
458                36
459            </a><a href="javascript:;"
460               class="lux-size-btn"
461               data-size-filter="37">
462                37
463            </a><a href="javascript:;"
464               class="lux-size-btn"
465               data-size-filter="38">
466                38
467            </a><a href="javascript:;"
468               class="lux-size-btn"
469               data-size-filter="39">
470                39
471            </a><a href="javascript:;"
472               class="lux-size-btn"
473               data-size-filter="40">
474                40
475            </a><a href="javascript:;"
476               class="lux-size-btn"
477               data-size-filter="41">
478                41
479            </a><a href="javascript:;"
480               class="lux-size-btn"
481               data-size-filter="42">
482                42
483            </a><a href="javascript:;"
484               class="lux-size-btn"
485               data-size-filter="43">
486                43
487            </a><a href="javascript:;"
488               class="lux-size-btn"
489               data-size-filter="44">
490                44
491            </a><a href="javascript:;"
492               class="lux-size-btn"
493               data-size-filter="45">
494                45
495            </a><a href="javascript:;"
496               class="lux-size-btn"
497               data-size-filter="46">
498                46
499            </a></div><div class="lux-size-loading" id="luxSizeLoading">
500        Ürünler filtreleniyor...
501    </div></div>
vendor: 108 bytes, line 501
501<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
501<script>
502document.addEventListener('DOMContentLoaded', function(){
503
504    var filterBox = document.getElementById('luxSizeGlobalFilter');
505    if(!filterBox) return;
506
507    var loadingEl = document.getElementById('luxSizeLoading');
508
509    var PRODUCTS_PER_PAGE = 24;
510    var PAGE_CONCURRENT_LIMIT = 4;
511    var VARIANT_CONCURRENT_LIMIT = 8;
512    var MAX_PAGES_SAFE = 120;
513
514    var productMap = {};
515    var productQueue = [];
516    var activeSizes = [];
517    var currentCustomPage = 1;
518    var allPagesLoaded = false;
519    var variantsLoaded = false;
520    var requestRunning = false;
521
522    function clean(v){
523        return String(v || '').replace(/\s+/g, ' ').trim();
524    }
525
526    function norm(v){
527        return clean(v).toLocaleUpperCase('tr-TR');
528    }
529
530    function getUrlSizes(){
531        var url = new URL(window.location.href);
532        var raw = url.searchParams.get('bedenler') || '';
533
534        if(!raw) return [];
535
536        return raw.split(',')
537            .map(function(v){ return norm(v); })
538            .filter(function(v){ return v !== ''; });
539    }
540
541    function setUrlSizes(sizes){
542        var url = new URL(window.location.href);
543
544        if(sizes && sizes.length){
545            url.searchParams.set('bedenler', sizes.join(','));
546        } else {
547            url.searchParams.delete('bedenler');
548        }
549
550        url.searchParams.delete('sayfa');
551        url.searchParams.delete('page');
552
553        window.history.replaceState({}, '', url.toString());
554    }
555
556    function getGrid(){
557        return document.getElementById('luxProductGrid');
558    }
559
560    function getProductsArea(){
561        return document.getElementById('luxCategoryProductsArea');
562    }
563
564    function getNativePagination(){
565        return document.getElementById('luxNativePagination');
566    }
567
568    function getCustomPagination(){
569        return document.getElementById('luxCustomPagination');
570    }
571
572    function getCustomEmpty(){
573        return document.getElementById('luxCustomEmpty');
574    }
575
576    function getPerPage(){
577        var area = getProductsArea();
578        var value = area ? parseInt(area.getAttribute('data-lux-per-page') || '', 10) : 0;
579
580        if(!isNaN(value) && value > 0){
581            return value;
582        }
583
584        return PRODUCTS_PER_PAGE;
585    }
586
587    function activateLuxImages(scope){
588        scope = scope || document;
589
590        scope.querySelectorAll('img').forEach(function(img){
591            var dataSrc =
592                img.getAttribute('data-src') ||
593                img.getAttribute('data-original') ||
594                img.getAttribute('data-lazy') ||
595                img.getAttribute('data-lazy-src') ||
596                img.getAttribute('data-echo');
597
598            var dataSrcset = img.getAttribute('data-srcset');
599
600            if(dataSrcset){
601                img.setAttribute('srcset', dataSrcset);
602                img.removeAttribute('data-srcset');
603            }
604
605            if(dataSrc){
606                img.setAttribute('src', dataSrc);
607
608                img.removeAttribute('data-src');
609                img.removeAttribute('data-original');
610                img.removeAttribute('data-lazy');
611                img.removeAttribute('data-lazy-src');
612                img.removeAttribute('data-echo');
613
614                img.classList.remove('lazyload');
615                img.classList.remove('lazy');
616                img.classList.add('lazyloaded');
617            }
618
619            if(img.getAttribute('loading') === 'lazy'){
620                img.setAttribute('loading', 'eager');
621            }
622        });
623
624        if(window.lazyLoadInstance && typeof window.lazyLoadInstance.update === 'function'){
625            try {
626                window.lazyLoadInstance.update();
627            } catch(e){}
628        }
629
630        if(typeof LazyLoad !== 'undefined'){
631            try {
632                new LazyLoad();
633            } catch(e){}
634        }
635
636        if(typeof lazyLoadInstance !== 'undefined' && lazyLoadInstance.update){
637            try {
638                lazyLoadInstance.update();
639            } catch(e){}
640        }
641    }
642
643    function getCacheKey(link){
644        return 'lux_global_size_cache_v2_' + encodeURIComponent(link);
645    }
646
647    function getCachedSizes(link){
648        try {
649            var raw = sessionStorage.getItem(getCacheKey(link));
650            if(!raw) return null;
651
652            var data = JSON.parse(raw);
653            if(!data || !data.time || !data.sizes) return null;
654
655            var ttl = 30 * 60 * 1000;
656
657            if(Date.now() - data.time > ttl) return null;
658
659            return data.sizes;
660        } catch(e){
661            return null;
662        }
663    }
664
665    function setCachedSizes(link, sizes){
666        try {
667            sessionStorage.setItem(getCacheKey(link), JSON.stringify({
668                time: Date.now(),
669                sizes: sizes
670            }));
671        } catch(e){}
672    }
673
674    function isSoldOut(el){
675        if(!el) return false;
676
677        var cls = String(el.className || '').toLowerCase();
678
679        if(cls.indexOf('sold-out') !== -1) return true;
680        if(cls.indexOf('soldout') !== -1) return true;
681        if(cls.indexOf('sold_out') !== -1) return true;
682        if(cls.indexOf('disabled') !== -1) return true;
683        if(cls.indexOf('stoksuz') !== -1) return true;
684        if(cls.indexOf('out-of-stock') !== -1) return true;
685        if(cls.indexOf('outstock') !== -1) return true;
686        if(cls.indexOf('stok-yok') !== -1) return true;
687        if(cls.indexOf('pasif') !== -1) return true;
688        if(cls.indexOf('passive') !== -1) return true;
689
690        if(el.hasAttribute('disabled')) return true;
691        if(el.getAttribute('aria-disabled') === 'true') return true;
692        if(el.getAttribute('data-in-stock') === '0') return true;
693        if(el.getAttribute('data-in-stock') === 'false') return true;
694        if(el.getAttribute('data-stokta-var-mi') === '0') return true;
695        if(el.getAttribute('data-stokta-var-mi') === 'false') return true;
696
697        return false;
698    }
699
700    function isSizeTitle(v){
701        v = norm(v);
702
703        return (
704            v === 'BEDEN' ||
705            v === 'BEDENLER' ||
706            v === 'NUMARA' ||
707            v === 'SIZE' ||
708            v.indexOf('BEDEN') !== -1 ||
709            v.indexOf('NUMARA') !== -1 ||
710            v.indexOf('SIZE') !== -1
711        );
712    }
713
714    function getProductWrapper(card){
715        return card.closest('[data-lux-product-shell="1"]') ||
716               card.closest('.col-list-p-v-1') ||
717               card.closest('[class*="col-"]') ||
718               card.parentElement;
719    }
720
721    function registerCard(card){
722        var productId = clean(card.getAttribute('data-lux-card-id'));
723        var link = clean(card.getAttribute('data-lux-product-link'));
724
725        if(!productId || !link) return;
726        if(productMap[productId]) return;
727
728        var wrapper = getProductWrapper(card);
729
730        productMap[productId] = {
731            id: productId,
732            link: link,
733            card: card,
734            wrapper: wrapper,
735            sizes: [],
736            loaded: false
737        };
738
739        productQueue.push({
740            id: productId,
741            link: link
742        });
743    }
744
745    function collectCurrentProducts(){
746        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){
747            registerCard(card);
748        });
749    }
750
751    function buildPageUrl(pageNo){
752        var url = new URL(window.location.href);
753
754        url.searchParams.set('sayfa', pageNo);
755        url.searchParams.delete('page');
756        url.searchParams.delete('bedenler');
757
758        return url.toString();
759    }
760
761    function fetchPage(pageNo){
762        return fetch(buildPageUrl(pageNo), {
763            method: 'GET',
764            credentials: 'same-origin',
765            headers: {
766                'Accept': 'text/html'
767            }
768        })
769        .then(function(r){
770            return r.text();
771        })
772        .then(function(html){
773            var doc = new DOMParser().parseFromString(html, 'text/html');
774            var shells = doc.querySelectorAll('#luxProductGrid [data-lux-product-shell="1"]');
775
776            if(!shells.length){
777                shells = doc.querySelectorAll('.col-list-p-v-1');
778            }
779
780            if(!shells.length) return 0;
781
782            var grid = getGrid();
783            if(!grid) return 0;
784
785            var frag = document.createDocumentFragment();
786            var added = 0;
787
788            shells.forEach(function(shell){
789                var card = shell.querySelector('.card-product[data-lux-card-id][data-lux-product-link]');
790                if(!card) return;
791
792                var productId = clean(card.getAttribute('data-lux-card-id'));
793                if(!productId || productMap[productId]) return;
794
795                var clone = shell.cloneNode(true);
796
797                clone.style.display = 'none';
798                clone.setAttribute('data-lux-product-shell', '1');
799                clone.setAttribute('data-lux-added-page', pageNo);
800
801                frag.appendChild(clone);
802                added++;
803            });
804
805            if(frag.childNodes.length){
806                grid.appendChild(frag);
807
808                grid.querySelectorAll('[data-lux-added-page="' + pageNo + '"]').forEach(function(shell){
809                    activateLuxImages(shell);
810                });
811
812                grid.querySelectorAll('[data-lux-added-page="' + pageNo + '"] .card-product[data-lux-card-id][data-lux-product-link]').forEach(function(card){
813                    registerCard(card);
814                });
815            }
816
817            return added;
818        })
819        .catch(function(){
820            return 0;
821        });
822    }
823
824    function runLimited(items, limit, worker, done){
825        var index = 0;
826        var active = 0;
827        var finished = 0;
828        var total = items.length;
829
830        if(total === 0){
831            done();
832            return;
833        }
834
835        function next(){
836            while(active < limit && index < total){
837                var item = items[index++];
838                active++;
839
840                worker(item).then(function(){
841                    active--;
842                    finished++;
843
844                    if(finished >= total){
845                        done();
846                    } else {
847                        next();
848                    }
849                });
850            }
851        }
852
853        next();
854    }
855
856    function fetchAllPages(done){
857        if(allPagesLoaded){
858            done();
859            return;
860        }
861
862        var area = getProductsArea();
863        var twigTotalPage = area ? parseInt(area.getAttribute('data-lux-total-page') || '1', 10) : 1;
864
865        if(!isNaN(twigTotalPage) && twigTotalPage > 1){
866            var pages = [];
867
868            for(var p = 2; p <= twigTotalPage; p++){
869                pages.push(p);
870            }
871
872            runLimited(pages, PAGE_CONCURRENT_LIMIT, fetchPage, function(){
873                allPagesLoaded = true;
874                done();
875            });
876
877            return;
878        }
879
880        var nextPage = 2;
881        var stop = false;
882
883        function batch(){
884            if(stop || nextPage > MAX_PAGES_SAFE){
885                allPagesLoaded = true;
886                done();
887                return;
888            }
889
890            var pages = [];
891
892            for(var i = 0; i < PAGE_CONCURRENT_LIMIT; i++){
893                pages.push(nextPage);
894                nextPage++;
895            }
896
897            Promise.all(pages.map(fetchPage)).then(function(results){
898                var added = 0;
899
900                results.forEach(function(count){
901                    added += parseInt(count || 0, 10);
902                });
903
904                if(added <= 0){
905                    stop = true;
906                    allPagesLoaded = true;
907                    done();
908                } else {
909                    batch();
910                }
911            }).catch(function(){
912                allPagesLoaded = true;
913                done();
914            });
915        }
916
917        batch();
918    }
919
920    function parseSizesFromHtml(html){
921        var doc = new DOMParser().parseFromString(html, 'text/html');
922        var sizes = [];
923
924        var variantBox = doc.querySelector('.variant-box');
925        if(!variantBox) return sizes;
926
927        var variants = variantBox.querySelectorAll('.variant, li[data-variant-baslik], [data-variant-baslik]');
928
929        variants.forEach(function(li, index){
930            var title = '';
931
932            var nameEl = li.querySelector('.name');
933
934            if(nameEl){
935                title = clean(nameEl.textContent.replace(':', ''));
936            }
937
938            if(!title){
939                title = clean(
940                    li.getAttribute('data-variant-baslik') ||
941                    li.getAttribute('data-variant-name') ||
942                    li.getAttribute('data-variant-title') ||
943                    ''
944                );
945            }
946
947            var shouldRead = isSizeTitle(title);
948
949            if(!shouldRead && index === 0){
950                shouldRead = true;
951            }
952
953            if(!shouldRead) return;
954
955            var optionLinks = li.querySelectorAll('.options a[data-variant-value], .options a, a[data-variant-value]');
956
957            if(optionLinks.length > 0){
958                optionLinks.forEach(function(a){
959                    if(isSoldOut(a)) return;
960
961                    var val = clean(
962                        a.getAttribute('data-variant-value') ||
963                        a.getAttribute('data-value') ||
964                        a.textContent
965                    );
966
967                    if(val && sizes.indexOf(val) === -1){
968                        sizes.push(val);
969                    }
970                });
971            } else {
972                var select = li.querySelector('select');
973
974                if(select){
975                    select.querySelectorAll('option').forEach(function(opt){
976                        if(!opt.value) return;
977                        if(isSoldOut(opt)) return;
978
979                        var val = clean(
980                            opt.getAttribute('data-variant-value') ||
981                            opt.value ||
982                            opt.textContent
983                        );
984
985                        if(val && sizes.indexOf(val) === -1){
986                            sizes.push(val);
987                        }
988                    });
989                }
990            }
991        });
992
993        return sizes;
994    }
995
996    function fetchProductSizes(item){
997        var product = productMap[item.id];
998
999        if(!product){
1000            return Promise.resolve([]);
1001        }
1002
1003        if(product.loaded){
1004            return Promise.resolve(product.sizes);
1005        }
1006
1007        var cached = getCachedSizes(item.link);
1008
1009        if(cached){
1010            product.sizes = cached;
1011            product.loaded = true;
1012            product.card.setAttribute('data-lux-stock-sizes', cached.join('|'));
1013
1014            return Promise.resolve(cached);
1015        }
1016
1017        return fetch(item.link, {
1018            method: 'GET',
1019            credentials: 'same-origin',
1020            headers: {
1021                'Accept': 'text/html'
1022            }
1023        })
1024        .then(function(r){
1025            return r.text();
1026        })
1027        .then(function(html){
1028            var sizes = parseSizesFromHtml(html);
1029
1030            product.sizes = sizes;
1031            product.loaded = true;
1032            product.card.setAttribute('data-lux-stock-sizes', sizes.join('|'));
1033
1034            setCachedSizes(item.link, sizes);
1035
1036            return sizes;
1037        })
1038        .catch(function(){
1039            product.sizes = [];
1040            product.loaded = true;
1041            product.card.setAttribute('data-lux-stock-sizes', '');
1042
1043            return [];
1044        });
1045    }
1046
1047    function fetchAllVariants(done){
1048        if(variantsLoaded){
1049            done();
1050            return;
1051        }
1052
1053        var unique = [];
1054        var seen = {};
1055
1056        productQueue.forEach(function(item){
1057            if(!seen[item.id]){
1058                seen[item.id] = true;
1059                unique.push(item);
1060            }
1061        });
1062
1063        productQueue = unique;
1064
1065        runLimited(productQueue, VARIANT_CONCURRENT_LIMIT, fetchProductSizes, function(){
1066            variantsLoaded = true;
1067            done();
1068        });
1069    }
1070
1071    function getFilteredProducts(){
1072        var list = [];
1073
1074        Object.keys(productMap).forEach(function(productId){
1075            var product = productMap[productId];
1076
1077            if(!activeSizes.length){
1078                list.push(product);
1079                return;
1080            }
1081
1082            var hasSize = false;
1083
1084            product.sizes.forEach(function(size){
1085                if(activeSizes.indexOf(norm(size)) !== -1){
1086                    hasSize = true;
1087                }
1088            });
1089
1090            if(hasSize){
1091                list.push(product);
1092            }
1093        });
1094
1095        return list;
1096    }
1097
1098    function setPaginationMode(){
1099        var area = getProductsArea();
1100        var nativePagination = getNativePagination();
1101        var customPagination = getCustomPagination();
1102
1103        if(activeSizes.length){
1104            document.body.classList.add('lux-size-filter-active');
1105
1106            if(area){
1107                area.classList.add('is-lux-filter-active');
1108            }
1109
1110            if(nativePagination){
1111                nativePagination.style.display = 'none';
1112            }
1113
1114            if(customPagination){
1115                customPagination.style.display = 'flex';
1116            }
1117        } else {
1118            document.body.classList.remove('lux-size-filter-active');
1119
1120            if(area){
1121                area.classList.remove('is-lux-filter-active');
1122            }
1123
1124            if(nativePagination){
1125                nativePagination.style.display = '';
1126            }
1127
1128            if(customPagination){
1129                customPagination.style.display = 'none';
1130                customPagination.innerHTML = '';
1131            }
1132        }
1133    }
1134
1135    function resetToNativeMode(){
1136        setPaginationMode();
1137
1138        Object.keys(productMap).forEach(function(productId){
1139            var product = productMap[productId];
1140
1141            if(!product.wrapper) return;
1142
1143            if(product.wrapper.getAttribute('data-lux-added-page')){
1144                product.wrapper.style.display = 'none';
1145            } else {
1146                product.wrapper.style.display = '';
1147                activateLuxImages(product.wrapper);
1148            }
1149        });
1150
1151        var emptyBox = getCustomEmpty();
1152
1153        if(emptyBox){
1154            emptyBox.style.display = 'none';
1155        }
1156    }
1157
1158    function renderFilteredProducts(){
1159        setPaginationMode();
1160
1161        if(!activeSizes.length){
1162            resetToNativeMode();
1163            return;
1164        }
1165
1166        var products = getFilteredProducts();
1167        var total = products.length;
1168        var perPage = getPerPage();
1169        var totalPages = Math.max(1, Math.ceil(total / perPage));
1170        var emptyBox = getCustomEmpty();
1171
1172        if(currentCustomPage < 1){
1173            currentCustomPage = 1;
1174        }
1175
1176        if(currentCustomPage > totalPages){
1177            currentCustomPage = totalPages;
1178        }
1179
1180        Object.keys(productMap).forEach(function(productId){
1181            var product = productMap[productId];
1182
1183            if(product.wrapper){
1184                product.wrapper.style.display = 'none';
1185            }
1186        });
1187
1188        if(total === 0){
1189            if(emptyBox){
1190                emptyBox.style.display = 'block';
1191            }
1192
1193            renderCustomPagination(totalPages);
1194            return;
1195        }
1196
1197        if(emptyBox){
1198            emptyBox.style.display = 'none';
1199        }
1200
1201        var start = (currentCustomPage - 1) * perPage;
1202        var end = start + perPage;
1203
1204        products.slice(start, end).forEach(function(product){
1205            if(product.wrapper){
1206                product.wrapper.style.display = '';
1207                activateLuxImages(product.wrapper);
1208            }
1209        });
1210
1211        renderCustomPagination(totalPages);
1212    }
1213
1214    function paginationNumbers(current, total){
1215        var arr = [];
1216        var delta = 2;
1217
1218        if(total <= 7){
1219            for(var i = 1; i <= total; i++){
1220                arr.push(i);
1221            }
1222
1223            return arr;
1224        }
1225
1226        arr.push(1);
1227
1228        if(current - delta > 2){
1229            arr.push('...');
1230        }
1231
1232        for(var j = Math.max(2, current - delta); j <= Math.min(total - 1, current + delta); j++){
1233            arr.push(j);
1234        }
1235
1236        if(current + delta < total - 1){
1237            arr.push('...');
1238        }
1239
1240        arr.push(total);
1241
1242        return arr;
1243    }
1244
1245    function renderCustomPagination(totalPages){
1246        var pagination = getCustomPagination();
1247
1248        if(!pagination) return;
1249
1250        pagination.innerHTML = '';
1251
1252        if(!activeSizes.length || totalPages <= 1){
1253            pagination.style.display = 'none';
1254            return;
1255        }
1256
1257        pagination.style.display = 'flex';
1258
1259        function makeButton(label, disabled, active, callback){
1260            var btn = document.createElement('button');
1261
1262            btn.type = 'button';
1263            btn.innerHTML = label;
1264            btn.disabled = !!disabled;
1265
1266            if(active){
1267                btn.classList.add('is-active');
1268            }
1269
1270            if(!disabled && typeof callback === 'function'){
1271                btn.addEventListener('click', callback);
1272            }
1273
1274            return btn;
1275        }
1276
1277        pagination.appendChild(makeButton('‹', currentCustomPage <= 1, false, function(){
1278            currentCustomPage--;
1279            renderFilteredProducts();
1280            scrollToProducts();
1281        }));
1282
1283        paginationNumbers(currentCustomPage, totalPages).forEach(function(page){
1284            if(page === '...'){
1285                var span = document.createElement('span');
1286                span.textContent = '...';
1287                pagination.appendChild(span);
1288            } else {
1289                pagination.appendChild(makeButton(page, false, page === currentCustomPage, function(){
1290                    currentCustomPage = page;
1291                    renderFilteredProducts();
1292                    scrollToProducts();
1293                }));
1294            }
1295        });
1296
1297        pagination.appendChild(makeButton('›', currentCustomPage >= totalPages, false, function(){
1298            currentCustomPage++;
1299            renderFilteredProducts();
1300            scrollToProducts();
1301        }));
1302    }
1303
1304    function scrollToProducts(){
1305        var grid = getGrid();
1306
1307        if(grid){
1308            grid.scrollIntoView({
1309                behavior: 'smooth',
1310                block: 'start'
1311            });
1312        }
1313    }
1314
1315    function updateButtons(){
1316        document.querySelectorAll('.lux-size-btn').forEach(function(btn){
1317            var size = norm(btn.getAttribute('data-size-filter') || '');
1318
1319            if(size === ''){
1320                btn.classList.toggle('is-active', activeSizes.length === 0);
1321            } else {
1322                btn.classList.toggle('is-active', activeSizes.indexOf(size) !== -1);
1323            }
1324        });
1325    }
1326
1327    function startGlobalFilter(){
1328        if(requestRunning) return;
1329
1330        if(!activeSizes.length){
1331            resetToNativeMode();
1332            return;
1333        }
1334
1335        requestRunning = true;
1336
1337        if(loadingEl){
1338            loadingEl.style.display = 'block';
1339        }
1340
1341        collectCurrentProducts();
1342
1343        fetchAllPages(function(){
1344            fetchAllVariants(function(){
1345                requestRunning = false;
1346
1347                if(loadingEl){
1348                    loadingEl.style.display = 'none';
1349                }
1350
1351                renderFilteredProducts();
1352            });
1353        });
1354    }
1355
1356    function bindButtons(){
1357        document.querySelectorAll('.lux-size-btn').forEach(function(btn){
1358            btn.onclick = function(e){
1359                e.preventDefault();
1360
1361                if(requestRunning) return;
1362
1363                var selected = norm(this.getAttribute('data-size-filter') || '');
1364
1365                if(selected === ''){
1366                    activeSizes = [];
1367                } else {
1368                    var index = activeSizes.indexOf(selected);
1369
1370                    if(index === -1){
1371                        activeSizes.push(selected);
1372                    } else {
1373                        activeSizes.splice(index, 1);
1374                    }
1375                }
1376
1377                currentCustomPage = 1;
1378
1379                setUrlSizes(activeSizes);
1380                updateButtons();
1381                startGlobalFilter();
1382            };
1383        });
1384    }
1385
1386    function init(){
1387        activeSizes = getUrlSizes();
1388
1389        collectCurrentProducts();
1390        bindButtons();
1391        updateButtons();
1392        activateLuxImages(document);
1393
1394        if(activeSizes.length){
1395            startGlobalFilter();
1396        } else {
1397            resetToNativeMode();
1398        }
1399    }
1400
1401    init();
1402
1403});
1404</script>
1404</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">
1405                            Fiyat Aralıkları
1406                        </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"
1407               data-smart-cat-search="1" placeholder="En Az"
1408               value="" /><span class="seperator">-</span><input class="form-control number-input" name="smart-cat-max-price"
1409               data-smart-cat-search="1" placeholder="En Çok"
1410               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">
1411                            Listeleme
1412                        </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>
1413.cat-lux-action-module {
1414    display: block !important;
1415    visibility: visible !important;
1416    opacity: 1 !important;
1417}
1418
1419.cat-lux-filter-actions {
1420    width: 100%;
1421    display: flex !important;
1422    align-items: center;
1423    justify-content: space-between;
1424    gap: 10px;
1425    padding: 14px 0;
1426    margin: 10px 0 16px;
1427    position: relative;
1428    z-index: 50;
1429    visibility: visible !important;
1430    opacity: 1 !important;
1431}
1432
1433.cat-lux-filter-btn {
1434    min-height: 42px;
1435    padding: 11px 18px;
1436    border-radius: 4px;
1437    border: 1px solid #111;
1438    font-size: 13px;
1439    font-weight: 600;
1440    line-height: 1.2;
1441    text-decoration: none !important;
1442    display: inline-flex !important;
1443    align-items: center;
1444    justify-content: center;
1445    gap: 8px;
1446    cursor: pointer;
1447    font-family: inherit;
1448    transition: all .2s ease;
1449    visibility: visible !important;
1450    opacity: 1 !important;
1451    white-space: nowrap;
1452}
1453
1454.cat-lux-filter-btn-clear {
1455    background: #fff;
1456    color: #111 !important;
1457}
1458
1459.cat-lux-filter-btn-clear:hover {
1460    background: #111;
1461    color: #fff !important;
1462}
1463
1464.cat-lux-filter-btn-show {
1465    background: #111;
1466    color: #fff !important;
1467}
1468
1469.cat-lux-filter-btn-show:hover {
1470    background: #333;
1471    color: #fff !important;
1472}
1473
1474.cat-lux-filter-btn svg {
1475    width: 15px;
1476    height: 15px;
1477    stroke: currentColor;
1478    fill: none;
1479    stroke-width: 2;
1480}
1481
1482@media (min-width: 992px) {
1483    .cat-lux-filter-btn-show {
1484        display: none !important;
1485    }
1486
1487    .cat-lux-filter-actions {
1488        justify-content: flex-start;
1489    }
1490}
1491
1492@media (max-width: 991px) {
1493    .cat-lux-filter-actions {
1494        position: sticky;
1495        bottom: 0;
1496        left: 0;
1497        right: 0;
1498        background: #fff;
1499        padding: 12px;
1500        margin: 0;
1501        z-index: 9999;
1502        box-shadow: 0 -8px 24px rgba(0,0,0,.08);
1503        border-top: 1px solid #eee;
1504    }
1505
1506    .cat-lux-filter-btn {
1507        flex: 1;
1508        width: 50%;
1509        min-height: 46px;
1510        font-size: 13px;
1511    }
1512}
1513</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">
1513<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>
1514        Seçimleri Temizle
1515    </a><a href="javascript:;"
1516       onclick="if(typeof hideSmartCategoryPopup === 'function'){ hideSmartCategoryPopup(); } return false;"
1517       class="cat-lux-filter-btn cat-lux-filter-btn-show">
1518        Ürünleri Listele
1519        <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">
1520                            Ayakkabı
1521                    </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"
1522                                    onchange="catFilterOrder(this)"><option selected value="cok-satanlar">
1523                                        En çok satanlar
1524                                    </option><option  value="en-yeniler">
1525                                        En yeniler
1526                                    </option><option  value="a-z">
1527                                        Ürün adı (A-Z)
1528                                    </option><option  value="z-a">
1529                                        Ürün adı (Z-A)
1530                                    </option><option  value="en-dusuk-fiyat">
1531                                        En düşük fiyat
1532                                    </option><option  value="en-yuksek-fiyat">
1533                                        En yüksek fiyat
1534                                    </option><option  value="en-cok-oylanan">
1535                                        En çok oylananlar
1536                                    </option></select><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1537                                            id="cat-filter-order-cok-satanlar"
1538                                            name="smart-cat-siralama"
1539                                            value="cok-satanlar"
1540                                            data-search-value="cok-satanlar"
1541                                            data-smart-cat-search="1"
1542                                            type="radio"
1543                                            checked
1544                                        ><label for="cat-filter-order-cok-satanlar">
1545                                            En çok satanlar
1546                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1547                                            id="cat-filter-order-en-yeniler"
1548                                            name="smart-cat-siralama"
1549                                            value="en-yeniler"
1550                                            data-search-value="en-yeniler"
1551                                            data-smart-cat-search="1"
1552                                            type="radio"
1553                                            
1554                                        ><label for="cat-filter-order-en-yeniler">
1555                                            En yeniler
1556                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1557                                            id="cat-filter-order-a-z"
1558                                            name="smart-cat-siralama"
1559                                            value="a-z"
1560                                            data-search-value="a-z"
1561                                            data-smart-cat-search="1"
1562                                            type="radio"
1563                                            
1564                                        ><label for="cat-filter-order-a-z">
1565                                            Ürün adı (A-Z)
1566                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1567                                            id="cat-filter-order-z-a"
1568                                            name="smart-cat-siralama"
1569                                            value="z-a"
1570                                            data-search-value="z-a"
1571                                            data-smart-cat-search="1"
1572                                            type="radio"
1573                                            
1574                                        ><label for="cat-filter-order-z-a">
1575                                            Ürün adı (Z-A)
1576                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1577                                            id="cat-filter-order-en-dusuk-fiyat"
1578                                            name="smart-cat-siralama"
1579                                            value="en-dusuk-fiyat"
1580                                            data-search-value="en-dusuk-fiyat"
1581                                            data-smart-cat-search="1"
1582                                            type="radio"
1583                                            
1584                                        ><label for="cat-filter-order-en-dusuk-fiyat">
1585                                            En düşük fiyat
1586                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1587                                            id="cat-filter-order-en-yuksek-fiyat"
1588                                            name="smart-cat-siralama"
1589                                            value="en-yuksek-fiyat"
1590                                            data-search-value="en-yuksek-fiyat"
1591                                            data-smart-cat-search="1"
1592                                            type="radio"
1593                                            
1594                                        ><label for="cat-filter-order-en-yuksek-fiyat">
1595                                            En yüksek fiyat
1596                                        </label></div></li><li class="category-filter-order-mobile"><div class="lag-checkbox"><input
1597                                            id="cat-filter-order-en-cok-oylanan"
1598                                            name="smart-cat-siralama"
1599                                            value="en-cok-oylanan"
1600                                            data-search-value="en-cok-oylanan"
1601                                            data-smart-cat-search="1"
1602                                            type="radio"
1603                                            
1604                                        ><label for="cat-filter-order-en-cok-oylanan">
1605                                            En çok oylananlar
1606                                        </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"
1607                 id="luxCategoryProductsArea"
1608                 data-lux-base-url="https://www.vezzalux.com/e-ayakkabi"
1609                 data-lux-total-page="6"
1610                 data-lux-per-page="24"><div class="row" id="luxProductGrid">
1610<div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
1611                             data-lux-product-shell="1"
1612                             data-lux-page="1"><style>
1613@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
1614
1615/* ===== VEZZA LUX CARD ===== */
1616.card-product{
1617  font-family:'Poppins',sans-serif;
1618  background:#fff !important;
1619  position:relative;
1620}
1621.card-product-inner{
1622  background:transparent !important;
1623  position:relative;
1624}
1625.card-product .c-p-i-link,
1626.card-product a{
1627  background:transparent !important;
1628}
1629.card-product-inner > div{
1630  background:transparent !important;
1631}
1632.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
1633  background:transparent !important;
1634}
1635.card-product .card-product-content,
1636.card-product .price-group,
1637.card-product .prices{
1638  background:transparent !important;
1639}
1640[class*="skeleton"],
1641[class*="placeholder"],
1642[class*="loading"]{
1643  background:transparent !important;
1644}
1645
1646/* ===== IMAGE AREA - KARE GÖRSEL ===== */
1647.image-wrapper{
1648  position:relative;
1649  width:100%;
1650  aspect-ratio:1/1;
1651  overflow:hidden;
1652  background:#fff !important;
1653}
1654
1655.image{
1656  position:relative;
1657  width:100%;
1658  height:100%;
1659}
1660
1661.image-wrapper img{
1662  width:100% !important;
1663  height:100% !important;
1664  object-fit:cover !important;
1665  object-position:center center !important;
1666  display:block;
1667  transition:transform .35s ease;
1668}
1669
1670/* ===== DISCOUNT ===== */
1671.discount{
1672  position:absolute;
1673  top:12px;
1674  left:12px;
1675  width:28px;
1676  height:48px;
1677  background:#e10b0b;
1678  color:#fff;
1679  font-size:12px;
1680  font-weight:600;
1681  display:flex;
1682  align-items:center;
1683  justify-content:center;
1684  writing-mode:vertical-rl;
1685  transform:rotate(180deg);
1686  letter-spacing:.5px;
1687  z-index:7;
1688}
1689
1690/* ===== FAV ===== */
1691.lux-fav{
1692  position:absolute;
1693  top:12px;
1694  right:12px;
1695  z-index:7;
1696}
1697.lux-fav a,
1698.lux-fav button{
1699  background:transparent !important;
1700  border:0 !important;
1701  padding:0 !important;
1702  cursor:pointer;
1703  display:inline-flex;
1704  align-items:center;
1705  justify-content:center;
1706}
1707
1708/* ===== SEPET IKON ===== */
1709.lux-bag{
1710  position:absolute;
1711  bottom:12px;
1712  right:12px;
1713  z-index:7;
1714  width:34px;
1715  height:34px;
1716  display:inline-flex;
1717  align-items:center;
1718  justify-content:center;
1719  background:rgba(255,255,255,.92);
1720  border:1px solid rgba(0,0,0,.10);
1721  border-radius:10px;
1722  cursor:pointer;
1723  transition:.2s ease;
1724}
1725.lux-bag:hover{
1726  background:#fff;
1727  border-color:rgba(0,0,0,.25);
1728}
1729.lux-bag.is-loading{
1730  opacity:.6;
1731  cursor:wait;
1732}
1733.lux-bag.is-success{
1734  background:#2e7d32 !important;
1735  border-color:#2e7d32 !important;
1736  color:#fff !important;
1737}
1738.card-product.sizes-open .lux-bag{
1739  opacity:0;
1740  pointer-events:none;
1741}
1742
1743/* Loading spinner */
1744.lux-bag.is-loading i::before{
1745  content:"⏳";
1746}
1747
1748/* ===== SIZE STRIP ===== */
1749.size-strip{
1750  width:100%;
1751  max-height:0;
1752  overflow:hidden;
1753  background:#fff;
1754  display:flex;
1755  flex-wrap:wrap;
1756  transition:max-height .3s ease, border-color .3s ease;
1757  border-top:1px solid transparent;
1758  border-bottom:1px solid transparent;
1759}
1760.size-strip.open{
1761  max-height:200px;
1762  border-top-color:rgba(0,0,0,.08);
1763  border-bottom-color:rgba(0,0,0,.08);
1764}
1765.size-item{
1766  flex:1 0 auto;
1767  min-width:38px;
1768  height:42px;
1769  display:flex;
1770  align-items:center;
1771  justify-content:center;
1772  font-size:13px;
1773  font-weight:500;
1774  color:#111 !important;
1775  cursor:pointer;
1776  user-select:none;
1777  background:transparent;
1778  transition:background .15s ease, color .15s ease;
1779  border-right:1px solid rgba(0,0,0,.08);
1780}
1781.size-item:last-child{ border-right:0; }
1782.size-item:hover:not(.disabled):not(.adding){
1783  background:#000 !important;
1784  color:#fff !important;
1785}
1786.size-item.disabled{
1787  color:#111 !important;
1788  text-decoration:line-through !important;
1789  opacity:.30 !important;
1790  cursor:not-allowed;
1791}
1792.size-item.adding{
1793  background:#2e7d32 !important;
1794  color:#fff !important;
1795  cursor:wait;
1796}
1797
1798/* ===== META ===== */
1799.lux-meta{
1800  padding:12px 6px 6px;
1801  background:transparent !important;
1802}
1803.lux-brand{
1804  font-size:16px;
1805  font-weight:600;
1806  color:#111;
1807  margin-bottom:2px;
1808}
1809.lux-title{
1810  font-size:14px;
1811  font-weight:400;
1812  line-height:1.45;
1813  color:#111;
1814  margin:0;
1815}
1816.lux-price{
1817  margin-top:10px;
1818  display:flex;
1819  gap:10px;
1820  align-items:baseline;
1821  background:transparent !important;
1822}
1823.lux-price .list-price{
1824  font-size:14px;
1825  font-weight:400;
1826  color:#111;
1827  text-decoration:line-through;
1828}
1829.lux-price .sale-price{
1830  font-size:16px;
1831  font-weight:600;
1832  color:#e10b0b;
1833}
1834
1835.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
1836.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
1837</style><div class="card-product"
1838     id="card-10731"
1839     data-lux-card-id="10731"
1840     data-lux-product-link="https://www.vezzalux.com/cl-1302-yesil-loafer-erkek-ayakkabi"
1841     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" 
1842        onclick="userProductFavourite('add', 10731)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
1843         id="lux-bag-10731"
1844         onclick="return luxBagClick(event, 10731);"
1845         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>
1845<script>
1846(function(){
1847
1848  /* Bir kez kur */
1849  if(window.__luxCardInit) return;
1850  window.__luxCardInit = true;
1851
1852  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
1853  window.__luxVariantCache = window.__luxVariantCache || {};
1854
1855  function closeAll(){
1856    document.querySelectorAll('.size-strip.open').forEach(function(s){
1857      s.classList.remove('open');
1858    });
1859    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
1860      c.classList.remove('sizes-open');
1861    });
1862  }
1863
1864  function flashSuccess(productId){
1865    var bag = document.getElementById('lux-bag-' + productId);
1866    if(!bag) return;
1867    bag.classList.add('is-success');
1868    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
1869  }
1870
1871  /* Dış tıklama - kapat */
1872  document.addEventListener('click', function(e){
1873    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
1874    if(!inside) closeAll();
1875  });
1876
1877  document.addEventListener('keydown', function(e){
1878    if(e.key === 'Escape') closeAll();
1879  });
1880
1881
1882  /* ============================================
1883     MODAL KILLER - yedek güvence
1884     ============================================ */
1885  var LUX_MODAL_KILL_ACTIVE = false;
1886
1887  function killVisibleModals(){
1888    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
1889    modals.forEach(function(m){
1890      var id = (m.id || '').toLowerCase();
1891      var txt = (m.textContent || '').toLowerCase();
1892      var isCartModal = id.indexOf('cart') > -1
1893                     || id.indexOf('variant') > -1
1894                     || id.indexOf('fast') > -1
1895                     || id.indexOf('urun') > -1
1896                     || txt.indexOf('lütfen seçin') > -1;
1897
1898      if(isCartModal){
1899        if(typeof jQuery !== 'undefined'){
1900          try { jQuery(m).modal('hide'); } catch(e){}
1901        }
1902        m.classList.remove('show','in');
1903        m.style.display = 'none';
1904      }
1905    });
1906
1907    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
1908    document.body.classList.remove('modal-open');
1909    document.body.style.overflow = '';
1910    document.body.style.paddingRight = '';
1911  }
1912
1913  function startModalKill(durationMs){
1914    if(LUX_MODAL_KILL_ACTIVE) return;
1915    LUX_MODAL_KILL_ACTIVE = true;
1916    killVisibleModals();
1917    var interval = setInterval(killVisibleModals, 50);
1918    setTimeout(function(){
1919      clearInterval(interval);
1920      LUX_MODAL_KILL_ACTIVE = false;
1921    }, durationMs || 2000);
1922  }
1923
1924
1925  /* ============================================
1926     AJAX: Varyantları detay sayfasından çek
1927     ============================================
1928     Ürün detay sayfasının tam HTML'ini indir,
1929     DOMParser ile parse et, varyantları bul
1930     ============================================ */
1931  function fetchVariants(productId, productLink, callback){
1932
1933    /* Cache'te varsa hemen döndür */
1934    if(window.__luxVariantCache[productId]){
1935      callback(window.__luxVariantCache[productId]);
1936      return;
1937    }
1938
1939    fetch(productLink, {
1940      method: 'GET',
1941      credentials: 'same-origin',
1942      headers: { 'Accept': 'text/html' }
1943    })
1944    .then(function(r){ return r.text(); })
1945    .then(function(html){
1946      var parser = new DOMParser();
1947      var doc = parser.parseFromString(html, 'text/html');
1948
1949      /* Detay sayfasındaki .variant-box'ı bul */
1950      var variantBox = doc.querySelector('.variant-box');
1951      if(!variantBox){
1952        callback({ variants: [], error: 'no_variant_box' });
1953        return;
1954      }
1955
1956      /* Her varyant grubu için select'leri ve option'ları oku */
1957      var variants = [];
1958      var variantLis = variantBox.querySelectorAll('.variant');
1959
1960      variantLis.forEach(function(li, idx){
1961        var nameEl = li.querySelector('.name');
1962        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
1963
1964        var values = [];
1965
1966        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
1967        var optLinks = li.querySelectorAll('.options a');
1968
1969        if(optLinks.length > 0){
1970          optLinks.forEach(function(a){
1971            /* Beden/renk değerini doğru attribute'tan oku
1972               - data-variant-value: asıl değer (örn: "38", "KAHVE")
1973               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
1974               - textContent: fallback */
1975            var deger = a.getAttribute('data-variant-value')
1976                     || a.textContent.trim();
1977
1978            /* Stok kontrolü - birden fazla yoldan kontrol et */
1979            var isSoldOut = a.classList.contains('sold-out')
1980                         || a.classList.contains('sold_out')
1981                         || a.classList.contains('disabled')
1982                         || a.classList.contains('stoksuz')
1983                         || a.classList.contains('out-of-stock')
1984                         || a.hasAttribute('disabled')
1985                         || a.getAttribute('data-in-stock') === '0'
1986                         || a.getAttribute('data-in-stock') === 'false'
1987                         || a.getAttribute('data-stokta-var-mi') === '0'
1988                         || a.getAttribute('data-stokta-var-mi') === 'false';
1989
1990            values.push({
1991              deger: deger,
1992              inStock: !isSoldOut
1993            });
1994          });
1995        } else {
1996          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
1997          var select = li.querySelector('select');
1998          if(select){
1999            var opts = select.querySelectorAll('option');
2000            opts.forEach(function(o){
2001              if(!o.value) return;
2002              values.push({
2003                deger: o.value,
2004                inStock: !o.disabled
2005              });
2006            });
2007          }
2008        }
2009
2010        variants.push({
2011          index: idx,
2012          baslik: name,
2013          values: values
2014        });
2015      });
2016
2017      var result = { variants: variants };
2018      window.__luxVariantCache[productId] = result;
2019      callback(result);
2020    })
2021    .catch(function(err){
2022      console.error('Varyant çekme hatası:', err);
2023      callback({ variants: [], error: 'fetch_failed' });
2024    });
2025  }
2026
2027
2028  /* ============================================
2029     Beden şeridini ve gizli variant-box'ı oluştur
2030     ============================================ */
2031  function buildVariantUI(productId, data){
2032    var card = document.getElementById('card-' + productId);
2033    if(!card) return false;
2034
2035    var holder = card.querySelector('.lux-variant-box');
2036    var strip = document.getElementById('size-strip-' + productId);
2037    if(!holder || !strip) return false;
2038
2039    if(!data.variants || data.variants.length === 0){
2040      /* Varyant yok */
2041      return false;
2042    }
2043
2044    /* Çoklu değerli ilk varyantı bul (beden) */
2045    var displayVariant = null;
2046    data.variants.forEach(function(v){
2047      if(!displayVariant && v.values.length > 1){
2048        displayVariant = v;
2049      }
2050    });
2051
2052    /* Gizli variant-box HTML */
2053    var html = '<div class="variant-box"><ul>';
2054    data.variants.forEach(function(v){
2055      html += '<li class="variant">';
2056      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
2057
2058      if(v.values.length > 1){
2059        html += '<option value="">Lütfen seçin</option>';
2060      }
2061
2062      v.values.forEach(function(val, i){
2063        var selected = (v.values.length === 1) ? ' selected' : '';
2064        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
2065      });
2066
2067      html += '</select></li>';
2068    });
2069    html += '</ul></div>';
2070
2071    holder.innerHTML = html;
2072    holder.style.display = '';
2073
2074    /* Strip HTML (sadece çoklu değerli varyantlar için)
2075       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
2076    if(displayVariant){
2077      var stripHtml = '';
2078      var inStockCount = 0;
2079
2080      /* DEBUG - console'da gör */
2081      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
2082
2083      displayVariant.values.forEach(function(val){
2084        /* SADECE stokta olanları ekle */
2085        if(val.inStock === true){
2086          stripHtml += '<div class="size-item" '
2087                    + 'data-urun-id="' + productId + '" '
2088                    + 'data-varyant-deger="' + val.deger + '" '
2089                    + 'onclick="return luxAddVariant(event, this);">'
2090                    + val.deger + '</div>';
2091          inStockCount++;
2092        }
2093      });
2094
2095      /* Eğer stokta hiç beden yoksa şeridi gösterme */
2096      if(inStockCount === 0){
2097        strip.setAttribute('data-loaded', '1');
2098        strip.setAttribute('data-has-variants', '0');
2099        return false;
2100      }
2101
2102      strip.innerHTML = stripHtml;
2103      strip.setAttribute('data-loaded', '1');
2104      strip.setAttribute('data-has-variants', '1');
2105      return true;
2106    } else {
2107      strip.setAttribute('data-loaded', '1');
2108      strip.setAttribute('data-has-variants', '0');
2109      return false;
2110    }
2111  }
2112
2113
2114  /* ============================================
2115     SEPET IKONU TIKLAMASI
2116     ============================================ */
2117  window.luxBagClick = function(ev, productId){
2118    ev.preventDefault();
2119    ev.stopPropagation();
2120
2121    var card = document.getElementById('card-' + productId);
2122    var strip = document.getElementById('size-strip-' + productId);
2123    var bag = document.getElementById('lux-bag-' + productId);
2124    if(!card || !strip) return false;
2125
2126    /* Strip zaten yüklenmişse direkt davran */
2127    if(strip.getAttribute('data-loaded') === '1'){
2128      if(strip.getAttribute('data-has-variants') === '1'){
2129        toggleStrip(productId);
2130      } else {
2131        addToCartSmart(productId);
2132      }
2133      return false;
2134    }
2135
2136    /* İlk tıklama - AJAX ile varyantları çek */
2137    bag.classList.add('is-loading');
2138    var productLink = card.getAttribute('data-lux-product-link');
2139
2140    fetchVariants(productId, productLink, function(data){
2141      bag.classList.remove('is-loading');
2142
2143      var hasVariants = buildVariantUI(productId, data);
2144
2145      if(hasVariants){
2146        /* Bedenler var - şeridi aç */
2147        toggleStrip(productId);
2148      } else {
2149        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
2150        addToCartSmart(productId);
2151      }
2152    });
2153
2154    return false;
2155  };
2156
2157  function toggleStrip(productId){
2158    var strip = document.getElementById('size-strip-' + productId);
2159    var card = document.getElementById('card-' + productId);
2160    if(!strip) return;
2161
2162    document.querySelectorAll('.size-strip.open').forEach(function(s){
2163      if(s !== strip) s.classList.remove('open');
2164    });
2165    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
2166      if(c !== card) c.classList.remove('sizes-open');
2167    });
2168
2169    strip.classList.toggle('open');
2170    if(card) card.classList.toggle('sizes-open');
2171  }
2172
2173
2174  /* ============================================
2175     BEDEN TIKLAMASI
2176     ============================================ */
2177  window.luxAddVariant = function(ev, elem){
2178    ev.preventDefault();
2179    ev.stopPropagation();
2180
2181    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
2182
2183    var productId = elem.getAttribute('data-urun-id');
2184    var varyantDeger = elem.getAttribute('data-varyant-deger');
2185
2186    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
2187    if(!holder) return false;
2188
2189    /* Seçilen bedeni ilk select'e yaz */
2190    var firstSelect = holder.querySelector('select[data-variant="0"]');
2191    if(firstSelect){
2192      firstSelect.value = varyantDeger;
2193      if(typeof jQuery !== "undefined"){
2194        jQuery(firstSelect).val(varyantDeger).trigger('change');
2195      }
2196    }
2197
2198    /* Diğer select'lere ilk geçerli değeri koy */
2199    var allSelects = holder.querySelectorAll('select[data-variant]');
2200    allSelects.forEach(function(sel, idx){
2201      if(idx === 0) return;
2202      if(sel.value) return;
2203      var options = sel.querySelectorAll('option');
2204      for(var i = 0; i < options.length; i++){
2205        if(options[i].value){
2206          sel.value = options[i].value;
2207          if(typeof jQuery !== "undefined"){
2208            jQuery(sel).val(options[i].value).trigger('change');
2209          }
2210          break;
2211        }
2212      }
2213    });
2214
2215    /* Görsel feedback */
2216    elem.classList.add('adding');
2217    var originalText = elem.textContent;
2218    elem.textContent = '✓';
2219
2220    /* Sepete ekle */
2221    addToCartSmart(productId, {
2222      checkVariant: true,
2223      variantCount: allSelects.length,
2224      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
2225    });
2226
2227    setTimeout(function(){
2228      elem.textContent = originalText;
2229      elem.classList.remove('adding');
2230      closeAll();
2231    }, 800);
2232
2233    return false;
2234  };
2235
2236
2237  /* ============================================
2238     SEPETE EKLE - Modal killer ile
2239     ============================================ */
2240  function addToCartSmart(productId, extraOptions){
2241    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
2242
2243    var options = {
2244      quantity: 1,
2245      hideNativeModal: 'lux-card-' + productId
2246    };
2247
2248    if(extraOptions){
2249      Object.keys(extraOptions).forEach(function(k){
2250        options[k] = extraOptions[k];
2251      });
2252    } else if(holder){
2253      var selects = holder.querySelectorAll('select[data-variant]');
2254      if(selects.length > 0){
2255        options.checkVariant = true;
2256        options.variantCount = selects.length;
2257        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
2258      }
2259    }
2260
2261    startModalKill(2000);
2262
2263    if(typeof addCart === "function"){
2264      try {
2265        addCart(productId, 'card', options);
2266        flashSuccess(productId);
2267      } catch(err){
2268        console.error('Sepete ekleme hatası:', err);
2269      }
2270    }
2271  }
2272
2273})();
2274</script>
2274</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
2275                             data-lux-product-shell="1"
2276                             data-lux-page="1"><style>
2277@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
2278
2279/* ===== VEZZA LUX CARD ===== */
2280.card-product{
2281  font-family:'Poppins',sans-serif;
2282  background:#fff !important;
2283  position:relative;
2284}
2285.card-product-inner{
2286  background:transparent !important;
2287  position:relative;
2288}
2289.card-product .c-p-i-link,
2290.card-product a{
2291  background:transparent !important;
2292}
2293.card-product-inner > div{
2294  background:transparent !important;
2295}
2296.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
2297  background:transparent !important;
2298}
2299.card-product .card-product-content,
2300.card-product .price-group,
2301.card-product .prices{
2302  background:transparent !important;
2303}
2304[class*="skeleton"],
2305[class*="placeholder"],
2306[class*="loading"]{
2307  background:transparent !important;
2308}
2309
2310/* ===== IMAGE AREA - KARE GÖRSEL ===== */
2311.image-wrapper{
2312  position:relative;
2313  width:100%;
2314  aspect-ratio:1/1;
2315  overflow:hidden;
2316  background:#fff !important;
2317}
2318
2319.image{
2320  position:relative;
2321  width:100%;
2322  height:100%;
2323}
2324
2325.image-wrapper img{
2326  width:100% !important;
2327  height:100% !important;
2328  object-fit:cover !important;
2329  object-position:center center !important;
2330  display:block;
2331  transition:transform .35s ease;
2332}
2333
2334/* ===== DISCOUNT ===== */
2335.discount{
2336  position:absolute;
2337  top:12px;
2338  left:12px;
2339  width:28px;
2340  height:48px;
2341  background:#e10b0b;
2342  color:#fff;
2343  font-size:12px;
2344  font-weight:600;
2345  display:flex;
2346  align-items:center;
2347  justify-content:center;
2348  writing-mode:vertical-rl;
2349  transform:rotate(180deg);
2350  letter-spacing:.5px;
2351  z-index:7;
2352}
2353
2354/* ===== FAV ===== */
2355.lux-fav{
2356  position:absolute;
2357  top:12px;
2358  right:12px;
2359  z-index:7;
2360}
2361.lux-fav a,
2362.lux-fav button{
2363  background:transparent !important;
2364  border:0 !important;
2365  padding:0 !important;
2366  cursor:pointer;
2367  display:inline-flex;
2368  align-items:center;
2369  justify-content:center;
2370}
2371
2372/* ===== SEPET IKON ===== */
2373.lux-bag{
2374  position:absolute;
2375  bottom:12px;
2376  right:12px;
2377  z-index:7;
2378  width:34px;
2379  height:34px;
2380  display:inline-flex;
2381  align-items:center;
2382  justify-content:center;
2383  background:rgba(255,255,255,.92);
2384  border:1px solid rgba(0,0,0,.10);
2385  border-radius:10px;
2386  cursor:pointer;
2387  transition:.2s ease;
2388}
2389.lux-bag:hover{
2390  background:#fff;
2391  border-color:rgba(0,0,0,.25);
2392}
2393.lux-bag.is-loading{
2394  opacity:.6;
2395  cursor:wait;
2396}
2397.lux-bag.is-success{
2398  background:#2e7d32 !important;
2399  border-color:#2e7d32 !important;
2400  color:#fff !important;
2401}
2402.card-product.sizes-open .lux-bag{
2403  opacity:0;
2404  pointer-events:none;
2405}
2406
2407/* Loading spinner */
2408.lux-bag.is-loading i::before{
2409  content:"⏳";
2410}
2411
2412/* ===== SIZE STRIP ===== */
2413.size-strip{
2414  width:100%;
2415  max-height:0;
2416  overflow:hidden;
2417  background:#fff;
2418  display:flex;
2419  flex-wrap:wrap;
2420  transition:max-height .3s ease, border-color .3s ease;
2421  border-top:1px solid transparent;
2422  border-bottom:1px solid transparent;
2423}
2424.size-strip.open{
2425  max-height:200px;
2426  border-top-color:rgba(0,0,0,.08);
2427  border-bottom-color:rgba(0,0,0,.08);
2428}
2429.size-item{
2430  flex:1 0 auto;
2431  min-width:38px;
2432  height:42px;
2433  display:flex;
2434  align-items:center;
2435  justify-content:center;
2436  font-size:13px;
2437  font-weight:500;
2438  color:#111 !important;
2439  cursor:pointer;
2440  user-select:none;
2441  background:transparent;
2442  transition:background .15s ease, color .15s ease;
2443  border-right:1px solid rgba(0,0,0,.08);
2444}
2445.size-item:last-child{ border-right:0; }
2446.size-item:hover:not(.disabled):not(.adding){
2447  background:#000 !important;
2448  color:#fff !important;
2449}
2450.size-item.disabled{
2451  color:#111 !important;
2452  text-decoration:line-through !important;
2453  opacity:.30 !important;
2454  cursor:not-allowed;
2455}
2456.size-item.adding{
2457  background:#2e7d32 !important;
2458  color:#fff !important;
2459  cursor:wait;
2460}
2461
2462/* ===== META ===== */
2463.lux-meta{
2464  padding:12px 6px 6px;
2465  background:transparent !important;
2466}
2467.lux-brand{
2468  font-size:16px;
2469  font-weight:600;
2470  color:#111;
2471  margin-bottom:2px;
2472}
2473.lux-title{
2474  font-size:14px;
2475  font-weight:400;
2476  line-height:1.45;
2477  color:#111;
2478  margin:0;
2479}
2480.lux-price{
2481  margin-top:10px;
2482  display:flex;
2483  gap:10px;
2484  align-items:baseline;
2485  background:transparent !important;
2486}
2487.lux-price .list-price{
2488  font-size:14px;
2489  font-weight:400;
2490  color:#111;
2491  text-decoration:line-through;
2492}
2493.lux-price .sale-price{
2494  font-size:16px;
2495  font-weight:600;
2496  color:#e10b0b;
2497}
2498
2499.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
2500.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
2501</style><div class="card-product"
2502     id="card-10741"
2503     data-lux-card-id="10741"
2504     data-lux-product-link="https://www.vezzalux.com/bottega-1314-kahverengi-loafer-erkek-ayakkabi"
2505     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" 
2506        onclick="userProductFavourite('add', 10741)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
2507         id="lux-bag-10741"
2508         onclick="return luxBagClick(event, 10741);"
2509         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>
2509<script>
2510(function(){
2511
2512  /* Bir kez kur */
2513  if(window.__luxCardInit) return;
2514  window.__luxCardInit = true;
2515
2516  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
2517  window.__luxVariantCache = window.__luxVariantCache || {};
2518
2519  function closeAll(){
2520    document.querySelectorAll('.size-strip.open').forEach(function(s){
2521      s.classList.remove('open');
2522    });
2523    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
2524      c.classList.remove('sizes-open');
2525    });
2526  }
2527
2528  function flashSuccess(productId){
2529    var bag = document.getElementById('lux-bag-' + productId);
2530    if(!bag) return;
2531    bag.classList.add('is-success');
2532    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
2533  }
2534
2535  /* Dış tıklama - kapat */
2536  document.addEventListener('click', function(e){
2537    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
2538    if(!inside) closeAll();
2539  });
2540
2541  document.addEventListener('keydown', function(e){
2542    if(e.key === 'Escape') closeAll();
2543  });
2544
2545
2546  /* ============================================
2547     MODAL KILLER - yedek güvence
2548     ============================================ */
2549  var LUX_MODAL_KILL_ACTIVE = false;
2550
2551  function killVisibleModals(){
2552    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
2553    modals.forEach(function(m){
2554      var id = (m.id || '').toLowerCase();
2555      var txt = (m.textContent || '').toLowerCase();
2556      var isCartModal = id.indexOf('cart') > -1
2557                     || id.indexOf('variant') > -1
2558                     || id.indexOf('fast') > -1
2559                     || id.indexOf('urun') > -1
2560                     || txt.indexOf('lütfen seçin') > -1;
2561
2562      if(isCartModal){
2563        if(typeof jQuery !== 'undefined'){
2564          try { jQuery(m).modal('hide'); } catch(e){}
2565        }
2566        m.classList.remove('show','in');
2567        m.style.display = 'none';
2568      }
2569    });
2570
2571    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
2572    document.body.classList.remove('modal-open');
2573    document.body.style.overflow = '';
2574    document.body.style.paddingRight = '';
2575  }
2576
2577  function startModalKill(durationMs){
2578    if(LUX_MODAL_KILL_ACTIVE) return;
2579    LUX_MODAL_KILL_ACTIVE = true;
2580    killVisibleModals();
2581    var interval = setInterval(killVisibleModals, 50);
2582    setTimeout(function(){
2583      clearInterval(interval);
2584      LUX_MODAL_KILL_ACTIVE = false;
2585    }, durationMs || 2000);
2586  }
2587
2588
2589  /* ============================================
2590     AJAX: Varyantları detay sayfasından çek
2591     ============================================
2592     Ürün detay sayfasının tam HTML'ini indir,
2593     DOMParser ile parse et, varyantları bul
2594     ============================================ */
2595  function fetchVariants(productId, productLink, callback){
2596
2597    /* Cache'te varsa hemen döndür */
2598    if(window.__luxVariantCache[productId]){
2599      callback(window.__luxVariantCache[productId]);
2600      return;
2601    }
2602
2603    fetch(productLink, {
2604      method: 'GET',
2605      credentials: 'same-origin',
2606      headers: { 'Accept': 'text/html' }
2607    })
2608    .then(function(r){ return r.text(); })
2609    .then(function(html){
2610      var parser = new DOMParser();
2611      var doc = parser.parseFromString(html, 'text/html');
2612
2613      /* Detay sayfasındaki .variant-box'ı bul */
2614      var variantBox = doc.querySelector('.variant-box');
2615      if(!variantBox){
2616        callback({ variants: [], error: 'no_variant_box' });
2617        return;
2618      }
2619
2620      /* Her varyant grubu için select'leri ve option'ları oku */
2621      var variants = [];
2622      var variantLis = variantBox.querySelectorAll('.variant');
2623
2624      variantLis.forEach(function(li, idx){
2625        var nameEl = li.querySelector('.name');
2626        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
2627
2628        var values = [];
2629
2630        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
2631        var optLinks = li.querySelectorAll('.options a');
2632
2633        if(optLinks.length > 0){
2634          optLinks.forEach(function(a){
2635            /* Beden/renk değerini doğru attribute'tan oku
2636               - data-variant-value: asıl değer (örn: "38", "KAHVE")
2637               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
2638               - textContent: fallback */
2639            var deger = a.getAttribute('data-variant-value')
2640                     || a.textContent.trim();
2641
2642            /* Stok kontrolü - birden fazla yoldan kontrol et */
2643            var isSoldOut = a.classList.contains('sold-out')
2644                         || a.classList.contains('sold_out')
2645                         || a.classList.contains('disabled')
2646                         || a.classList.contains('stoksuz')
2647                         || a.classList.contains('out-of-stock')
2648                         || a.hasAttribute('disabled')
2649                         || a.getAttribute('data-in-stock') === '0'
2650                         || a.getAttribute('data-in-stock') === 'false'
2651                         || a.getAttribute('data-stokta-var-mi') === '0'
2652                         || a.getAttribute('data-stokta-var-mi') === 'false';
2653
2654            values.push({
2655              deger: deger,
2656              inStock: !isSoldOut
2657            });
2658          });
2659        } else {
2660          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
2661          var select = li.querySelector('select');
2662          if(select){
2663            var opts = select.querySelectorAll('option');
2664            opts.forEach(function(o){
2665              if(!o.value) return;
2666              values.push({
2667                deger: o.value,
2668                inStock: !o.disabled
2669              });
2670            });
2671          }
2672        }
2673
2674        variants.push({
2675          index: idx,
2676          baslik: name,
2677          values: values
2678        });
2679      });
2680
2681      var result = { variants: variants };
2682      window.__luxVariantCache[productId] = result;
2683      callback(result);
2684    })
2685    .catch(function(err){
2686      console.error('Varyant çekme hatası:', err);
2687      callback({ variants: [], error: 'fetch_failed' });
2688    });
2689  }
2690
2691
2692  /* ============================================
2693     Beden şeridini ve gizli variant-box'ı oluştur
2694     ============================================ */
2695  function buildVariantUI(productId, data){
2696    var card = document.getElementById('card-' + productId);
2697    if(!card) return false;
2698
2699    var holder = card.querySelector('.lux-variant-box');
2700    var strip = document.getElementById('size-strip-' + productId);
2701    if(!holder || !strip) return false;
2702
2703    if(!data.variants || data.variants.length === 0){
2704      /* Varyant yok */
2705      return false;
2706    }
2707
2708    /* Çoklu değerli ilk varyantı bul (beden) */
2709    var displayVariant = null;
2710    data.variants.forEach(function(v){
2711      if(!displayVariant && v.values.length > 1){
2712        displayVariant = v;
2713      }
2714    });
2715
2716    /* Gizli variant-box HTML */
2717    var html = '<div class="variant-box"><ul>';
2718    data.variants.forEach(function(v){
2719      html += '<li class="variant">';
2720      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
2721
2722      if(v.values.length > 1){
2723        html += '<option value="">Lütfen seçin</option>';
2724      }
2725
2726      v.values.forEach(function(val, i){
2727        var selected = (v.values.length === 1) ? ' selected' : '';
2728        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
2729      });
2730
2731      html += '</select></li>';
2732    });
2733    html += '</ul></div>';
2734
2735    holder.innerHTML = html;
2736    holder.style.display = '';
2737
2738    /* Strip HTML (sadece çoklu değerli varyantlar için)
2739       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
2740    if(displayVariant){
2741      var stripHtml = '';
2742      var inStockCount = 0;
2743
2744      /* DEBUG - console'da gör */
2745      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
2746
2747      displayVariant.values.forEach(function(val){
2748        /* SADECE stokta olanları ekle */
2749        if(val.inStock === true){
2750          stripHtml += '<div class="size-item" '
2751                    + 'data-urun-id="' + productId + '" '
2752                    + 'data-varyant-deger="' + val.deger + '" '
2753                    + 'onclick="return luxAddVariant(event, this);">'
2754                    + val.deger + '</div>';
2755          inStockCount++;
2756        }
2757      });
2758
2759      /* Eğer stokta hiç beden yoksa şeridi gösterme */
2760      if(inStockCount === 0){
2761        strip.setAttribute('data-loaded', '1');
2762        strip.setAttribute('data-has-variants', '0');
2763        return false;
2764      }
2765
2766      strip.innerHTML = stripHtml;
2767      strip.setAttribute('data-loaded', '1');
2768      strip.setAttribute('data-has-variants', '1');
2769      return true;
2770    } else {
2771      strip.setAttribute('data-loaded', '1');
2772      strip.setAttribute('data-has-variants', '0');
2773      return false;
2774    }
2775  }
2776
2777
2778  /* ============================================
2779     SEPET IKONU TIKLAMASI
2780     ============================================ */
2781  window.luxBagClick = function(ev, productId){
2782    ev.preventDefault();
2783    ev.stopPropagation();
2784
2785    var card = document.getElementById('card-' + productId);
2786    var strip = document.getElementById('size-strip-' + productId);
2787    var bag = document.getElementById('lux-bag-' + productId);
2788    if(!card || !strip) return false;
2789
2790    /* Strip zaten yüklenmişse direkt davran */
2791    if(strip.getAttribute('data-loaded') === '1'){
2792      if(strip.getAttribute('data-has-variants') === '1'){
2793        toggleStrip(productId);
2794      } else {
2795        addToCartSmart(productId);
2796      }
2797      return false;
2798    }
2799
2800    /* İlk tıklama - AJAX ile varyantları çek */
2801    bag.classList.add('is-loading');
2802    var productLink = card.getAttribute('data-lux-product-link');
2803
2804    fetchVariants(productId, productLink, function(data){
2805      bag.classList.remove('is-loading');
2806
2807      var hasVariants = buildVariantUI(productId, data);
2808
2809      if(hasVariants){
2810        /* Bedenler var - şeridi aç */
2811        toggleStrip(productId);
2812      } else {
2813        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
2814        addToCartSmart(productId);
2815      }
2816    });
2817
2818    return false;
2819  };
2820
2821  function toggleStrip(productId){
2822    var strip = document.getElementById('size-strip-' + productId);
2823    var card = document.getElementById('card-' + productId);
2824    if(!strip) return;
2825
2826    document.querySelectorAll('.size-strip.open').forEach(function(s){
2827      if(s !== strip) s.classList.remove('open');
2828    });
2829    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
2830      if(c !== card) c.classList.remove('sizes-open');
2831    });
2832
2833    strip.classList.toggle('open');
2834    if(card) card.classList.toggle('sizes-open');
2835  }
2836
2837
2838  /* ============================================
2839     BEDEN TIKLAMASI
2840     ============================================ */
2841  window.luxAddVariant = function(ev, elem){
2842    ev.preventDefault();
2843    ev.stopPropagation();
2844
2845    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
2846
2847    var productId = elem.getAttribute('data-urun-id');
2848    var varyantDeger = elem.getAttribute('data-varyant-deger');
2849
2850    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
2851    if(!holder) return false;
2852
2853    /* Seçilen bedeni ilk select'e yaz */
2854    var firstSelect = holder.querySelector('select[data-variant="0"]');
2855    if(firstSelect){
2856      firstSelect.value = varyantDeger;
2857      if(typeof jQuery !== "undefined"){
2858        jQuery(firstSelect).val(varyantDeger).trigger('change');
2859      }
2860    }
2861
2862    /* Diğer select'lere ilk geçerli değeri koy */
2863    var allSelects = holder.querySelectorAll('select[data-variant]');
2864    allSelects.forEach(function(sel, idx){
2865      if(idx === 0) return;
2866      if(sel.value) return;
2867      var options = sel.querySelectorAll('option');
2868      for(var i = 0; i < options.length; i++){
2869        if(options[i].value){
2870          sel.value = options[i].value;
2871          if(typeof jQuery !== "undefined"){
2872            jQuery(sel).val(options[i].value).trigger('change');
2873          }
2874          break;
2875        }
2876      }
2877    });
2878
2879    /* Görsel feedback */
2880    elem.classList.add('adding');
2881    var originalText = elem.textContent;
2882    elem.textContent = '✓';
2883
2884    /* Sepete ekle */
2885    addToCartSmart(productId, {
2886      checkVariant: true,
2887      variantCount: allSelects.length,
2888      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
2889    });
2890
2891    setTimeout(function(){
2892      elem.textContent = originalText;
2893      elem.classList.remove('adding');
2894      closeAll();
2895    }, 800);
2896
2897    return false;
2898  };
2899
2900
2901  /* ============================================
2902     SEPETE EKLE - Modal killer ile
2903     ============================================ */
2904  function addToCartSmart(productId, extraOptions){
2905    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
2906
2907    var options = {
2908      quantity: 1,
2909      hideNativeModal: 'lux-card-' + productId
2910    };
2911
2912    if(extraOptions){
2913      Object.keys(extraOptions).forEach(function(k){
2914        options[k] = extraOptions[k];
2915      });
2916    } else if(holder){
2917      var selects = holder.querySelectorAll('select[data-variant]');
2918      if(selects.length > 0){
2919        options.checkVariant = true;
2920        options.variantCount = selects.length;
2921        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
2922      }
2923    }
2924
2925    startModalKill(2000);
2926
2927    if(typeof addCart === "function"){
2928      try {
2929        addCart(productId, 'card', options);
2930        flashSuccess(productId);
2931      } catch(err){
2932        console.error('Sepete ekleme hatası:', err);
2933      }
2934    }
2935  }
2936
2937})();
2938</script>
2938</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
2939                             data-lux-product-shell="1"
2940                             data-lux-page="1"><style>
2941@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
2942
2943/* ===== VEZZA LUX CARD ===== */
2944.card-product{
2945  font-family:'Poppins',sans-serif;
2946  background:#fff !important;
2947  position:relative;
2948}
2949.card-product-inner{
2950  background:transparent !important;
2951  position:relative;
2952}
2953.card-product .c-p-i-link,
2954.card-product a{
2955  background:transparent !important;
2956}
2957.card-product-inner > div{
2958  background:transparent !important;
2959}
2960.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
2961  background:transparent !important;
2962}
2963.card-product .card-product-content,
2964.card-product .price-group,
2965.card-product .prices{
2966  background:transparent !important;
2967}
2968[class*="skeleton"],
2969[class*="placeholder"],
2970[class*="loading"]{
2971  background:transparent !important;
2972}
2973
2974/* ===== IMAGE AREA - KARE GÖRSEL ===== */
2975.image-wrapper{
2976  position:relative;
2977  width:100%;
2978  aspect-ratio:1/1;
2979  overflow:hidden;
2980  background:#fff !important;
2981}
2982
2983.image{
2984  position:relative;
2985  width:100%;
2986  height:100%;
2987}
2988
2989.image-wrapper img{
2990  width:100% !important;
2991  height:100% !important;
2992  object-fit:cover !important;
2993  object-position:center center !important;
2994  display:block;
2995  transition:transform .35s ease;
2996}
2997
2998/* ===== DISCOUNT ===== */
2999.discount{
3000  position:absolute;
3001  top:12px;
3002  left:12px;
3003  width:28px;
3004  height:48px;
3005  background:#e10b0b;
3006  color:#fff;
3007  font-size:12px;
3008  font-weight:600;
3009  display:flex;
3010  align-items:center;
3011  justify-content:center;
3012  writing-mode:vertical-rl;
3013  transform:rotate(180deg);
3014  letter-spacing:.5px;
3015  z-index:7;
3016}
3017
3018/* ===== FAV ===== */
3019.lux-fav{
3020  position:absolute;
3021  top:12px;
3022  right:12px;
3023  z-index:7;
3024}
3025.lux-fav a,
3026.lux-fav button{
3027  background:transparent !important;
3028  border:0 !important;
3029  padding:0 !important;
3030  cursor:pointer;
3031  display:inline-flex;
3032  align-items:center;
3033  justify-content:center;
3034}
3035
3036/* ===== SEPET IKON ===== */
3037.lux-bag{
3038  position:absolute;
3039  bottom:12px;
3040  right:12px;
3041  z-index:7;
3042  width:34px;
3043  height:34px;
3044  display:inline-flex;
3045  align-items:center;
3046  justify-content:center;
3047  background:rgba(255,255,255,.92);
3048  border:1px solid rgba(0,0,0,.10);
3049  border-radius:10px;
3050  cursor:pointer;
3051  transition:.2s ease;
3052}
3053.lux-bag:hover{
3054  background:#fff;
3055  border-color:rgba(0,0,0,.25);
3056}
3057.lux-bag.is-loading{
3058  opacity:.6;
3059  cursor:wait;
3060}
3061.lux-bag.is-success{
3062  background:#2e7d32 !important;
3063  border-color:#2e7d32 !important;
3064  color:#fff !important;
3065}
3066.card-product.sizes-open .lux-bag{
3067  opacity:0;
3068  pointer-events:none;
3069}
3070
3071/* Loading spinner */
3072.lux-bag.is-loading i::before{
3073  content:"⏳";
3074}
3075
3076/* ===== SIZE STRIP ===== */
3077.size-strip{
3078  width:100%;
3079  max-height:0;
3080  overflow:hidden;
3081  background:#fff;
3082  display:flex;
3083  flex-wrap:wrap;
3084  transition:max-height .3s ease, border-color .3s ease;
3085  border-top:1px solid transparent;
3086  border-bottom:1px solid transparent;
3087}
3088.size-strip.open{
3089  max-height:200px;
3090  border-top-color:rgba(0,0,0,.08);
3091  border-bottom-color:rgba(0,0,0,.08);
3092}
3093.size-item{
3094  flex:1 0 auto;
3095  min-width:38px;
3096  height:42px;
3097  display:flex;
3098  align-items:center;
3099  justify-content:center;
3100  font-size:13px;
3101  font-weight:500;
3102  color:#111 !important;
3103  cursor:pointer;
3104  user-select:none;
3105  background:transparent;
3106  transition:background .15s ease, color .15s ease;
3107  border-right:1px solid rgba(0,0,0,.08);
3108}
3109.size-item:last-child{ border-right:0; }
3110.size-item:hover:not(.disabled):not(.adding){
3111  background:#000 !important;
3112  color:#fff !important;
3113}
3114.size-item.disabled{
3115  color:#111 !important;
3116  text-decoration:line-through !important;
3117  opacity:.30 !important;
3118  cursor:not-allowed;
3119}
3120.size-item.adding{
3121  background:#2e7d32 !important;
3122  color:#fff !important;
3123  cursor:wait;
3124}
3125
3126/* ===== META ===== */
3127.lux-meta{
3128  padding:12px 6px 6px;
3129  background:transparent !important;
3130}
3131.lux-brand{
3132  font-size:16px;
3133  font-weight:600;
3134  color:#111;
3135  margin-bottom:2px;
3136}
3137.lux-title{
3138  font-size:14px;
3139  font-weight:400;
3140  line-height:1.45;
3141  color:#111;
3142  margin:0;
3143}
3144.lux-price{
3145  margin-top:10px;
3146  display:flex;
3147  gap:10px;
3148  align-items:baseline;
3149  background:transparent !important;
3150}
3151.lux-price .list-price{
3152  font-size:14px;
3153  font-weight:400;
3154  color:#111;
3155  text-decoration:line-through;
3156}
3157.lux-price .sale-price{
3158  font-size:16px;
3159  font-weight:600;
3160  color:#e10b0b;
3161}
3162
3163.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
3164.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
3165</style><div class="card-product"
3166     id="card-10329"
3167     data-lux-card-id="10329"
3168     data-lux-product-link="https://www.vezzalux.com/lora-1008-haki-erkek-ayakkabi"
3169     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%43</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="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" 
3170        onclick="userProductFavourite('add', 10329)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
3171         id="lux-bag-10329"
3172         onclick="return luxBagClick(event, 10329);"
3173         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="list-price">11.499,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
3173<script>
3174(function(){
3175
3176  /* Bir kez kur */
3177  if(window.__luxCardInit) return;
3178  window.__luxCardInit = true;
3179
3180  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
3181  window.__luxVariantCache = window.__luxVariantCache || {};
3182
3183  function closeAll(){
3184    document.querySelectorAll('.size-strip.open').forEach(function(s){
3185      s.classList.remove('open');
3186    });
3187    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
3188      c.classList.remove('sizes-open');
3189    });
3190  }
3191
3192  function flashSuccess(productId){
3193    var bag = document.getElementById('lux-bag-' + productId);
3194    if(!bag) return;
3195    bag.classList.add('is-success');
3196    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
3197  }
3198
3199  /* Dış tıklama - kapat */
3200  document.addEventListener('click', function(e){
3201    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
3202    if(!inside) closeAll();
3203  });
3204
3205  document.addEventListener('keydown', function(e){
3206    if(e.key === 'Escape') closeAll();
3207  });
3208
3209
3210  /* ============================================
3211     MODAL KILLER - yedek güvence
3212     ============================================ */
3213  var LUX_MODAL_KILL_ACTIVE = false;
3214
3215  function killVisibleModals(){
3216    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
3217    modals.forEach(function(m){
3218      var id = (m.id || '').toLowerCase();
3219      var txt = (m.textContent || '').toLowerCase();
3220      var isCartModal = id.indexOf('cart') > -1
3221                     || id.indexOf('variant') > -1
3222                     || id.indexOf('fast') > -1
3223                     || id.indexOf('urun') > -1
3224                     || txt.indexOf('lütfen seçin') > -1;
3225
3226      if(isCartModal){
3227        if(typeof jQuery !== 'undefined'){
3228          try { jQuery(m).modal('hide'); } catch(e){}
3229        }
3230        m.classList.remove('show','in');
3231        m.style.display = 'none';
3232      }
3233    });
3234
3235    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
3236    document.body.classList.remove('modal-open');
3237    document.body.style.overflow = '';
3238    document.body.style.paddingRight = '';
3239  }
3240
3241  function startModalKill(durationMs){
3242    if(LUX_MODAL_KILL_ACTIVE) return;
3243    LUX_MODAL_KILL_ACTIVE = true;
3244    killVisibleModals();
3245    var interval = setInterval(killVisibleModals, 50);
3246    setTimeout(function(){
3247      clearInterval(interval);
3248      LUX_MODAL_KILL_ACTIVE = false;
3249    }, durationMs || 2000);
3250  }
3251
3252
3253  /* ============================================
3254     AJAX: Varyantları detay sayfasından çek
3255     ============================================
3256     Ürün detay sayfasının tam HTML'ini indir,
3257     DOMParser ile parse et, varyantları bul
3258     ============================================ */
3259  function fetchVariants(productId, productLink, callback){
3260
3261    /* Cache'te varsa hemen döndür */
3262    if(window.__luxVariantCache[productId]){
3263      callback(window.__luxVariantCache[productId]);
3264      return;
3265    }
3266
3267    fetch(productLink, {
3268      method: 'GET',
3269      credentials: 'same-origin',
3270      headers: { 'Accept': 'text/html' }
3271    })
3272    .then(function(r){ return r.text(); })
3273    .then(function(html){
3274      var parser = new DOMParser();
3275      var doc = parser.parseFromString(html, 'text/html');
3276
3277      /* Detay sayfasındaki .variant-box'ı bul */
3278      var variantBox = doc.querySelector('.variant-box');
3279      if(!variantBox){
3280        callback({ variants: [], error: 'no_variant_box' });
3281        return;
3282      }
3283
3284      /* Her varyant grubu için select'leri ve option'ları oku */
3285      var variants = [];
3286      var variantLis = variantBox.querySelectorAll('.variant');
3287
3288      variantLis.forEach(function(li, idx){
3289        var nameEl = li.querySelector('.name');
3290        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
3291
3292        var values = [];
3293
3294        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
3295        var optLinks = li.querySelectorAll('.options a');
3296
3297        if(optLinks.length > 0){
3298          optLinks.forEach(function(a){
3299            /* Beden/renk değerini doğru attribute'tan oku
3300               - data-variant-value: asıl değer (örn: "38", "KAHVE")
3301               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
3302               - textContent: fallback */
3303            var deger = a.getAttribute('data-variant-value')
3304                     || a.textContent.trim();
3305
3306            /* Stok kontrolü - birden fazla yoldan kontrol et */
3307            var isSoldOut = a.classList.contains('sold-out')
3308                         || a.classList.contains('sold_out')
3309                         || a.classList.contains('disabled')
3310                         || a.classList.contains('stoksuz')
3311                         || a.classList.contains('out-of-stock')
3312                         || a.hasAttribute('disabled')
3313                         || a.getAttribute('data-in-stock') === '0'
3314                         || a.getAttribute('data-in-stock') === 'false'
3315                         || a.getAttribute('data-stokta-var-mi') === '0'
3316                         || a.getAttribute('data-stokta-var-mi') === 'false';
3317
3318            values.push({
3319              deger: deger,
3320              inStock: !isSoldOut
3321            });
3322          });
3323        } else {
3324          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
3325          var select = li.querySelector('select');
3326          if(select){
3327            var opts = select.querySelectorAll('option');
3328            opts.forEach(function(o){
3329              if(!o.value) return;
3330              values.push({
3331                deger: o.value,
3332                inStock: !o.disabled
3333              });
3334            });
3335          }
3336        }
3337
3338        variants.push({
3339          index: idx,
3340          baslik: name,
3341          values: values
3342        });
3343      });
3344
3345      var result = { variants: variants };
3346      window.__luxVariantCache[productId] = result;
3347      callback(result);
3348    })
3349    .catch(function(err){
3350      console.error('Varyant çekme hatası:', err);
3351      callback({ variants: [], error: 'fetch_failed' });
3352    });
3353  }
3354
3355
3356  /* ============================================
3357     Beden şeridini ve gizli variant-box'ı oluştur
3358     ============================================ */
3359  function buildVariantUI(productId, data){
3360    var card = document.getElementById('card-' + productId);
3361    if(!card) return false;
3362
3363    var holder = card.querySelector('.lux-variant-box');
3364    var strip = document.getElementById('size-strip-' + productId);
3365    if(!holder || !strip) return false;
3366
3367    if(!data.variants || data.variants.length === 0){
3368      /* Varyant yok */
3369      return false;
3370    }
3371
3372    /* Çoklu değerli ilk varyantı bul (beden) */
3373    var displayVariant = null;
3374    data.variants.forEach(function(v){
3375      if(!displayVariant && v.values.length > 1){
3376        displayVariant = v;
3377      }
3378    });
3379
3380    /* Gizli variant-box HTML */
3381    var html = '<div class="variant-box"><ul>';
3382    data.variants.forEach(function(v){
3383      html += '<li class="variant">';
3384      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
3385
3386      if(v.values.length > 1){
3387        html += '<option value="">Lütfen seçin</option>';
3388      }
3389
3390      v.values.forEach(function(val, i){
3391        var selected = (v.values.length === 1) ? ' selected' : '';
3392        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
3393      });
3394
3395      html += '</select></li>';
3396    });
3397    html += '</ul></div>';
3398
3399    holder.innerHTML = html;
3400    holder.style.display = '';
3401
3402    /* Strip HTML (sadece çoklu değerli varyantlar için)
3403       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
3404    if(displayVariant){
3405      var stripHtml = '';
3406      var inStockCount = 0;
3407
3408      /* DEBUG - console'da gör */
3409      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
3410
3411      displayVariant.values.forEach(function(val){
3412        /* SADECE stokta olanları ekle */
3413        if(val.inStock === true){
3414          stripHtml += '<div class="size-item" '
3415                    + 'data-urun-id="' + productId + '" '
3416                    + 'data-varyant-deger="' + val.deger + '" '
3417                    + 'onclick="return luxAddVariant(event, this);">'
3418                    + val.deger + '</div>';
3419          inStockCount++;
3420        }
3421      });
3422
3423      /* Eğer stokta hiç beden yoksa şeridi gösterme */
3424      if(inStockCount === 0){
3425        strip.setAttribute('data-loaded', '1');
3426        strip.setAttribute('data-has-variants', '0');
3427        return false;
3428      }
3429
3430      strip.innerHTML = stripHtml;
3431      strip.setAttribute('data-loaded', '1');
3432      strip.setAttribute('data-has-variants', '1');
3433      return true;
3434    } else {
3435      strip.setAttribute('data-loaded', '1');
3436      strip.setAttribute('data-has-variants', '0');
3437      return false;
3438    }
3439  }
3440
3441
3442  /* ============================================
3443     SEPET IKONU TIKLAMASI
3444     ============================================ */
3445  window.luxBagClick = function(ev, productId){
3446    ev.preventDefault();
3447    ev.stopPropagation();
3448
3449    var card = document.getElementById('card-' + productId);
3450    var strip = document.getElementById('size-strip-' + productId);
3451    var bag = document.getElementById('lux-bag-' + productId);
3452    if(!card || !strip) return false;
3453
3454    /* Strip zaten yüklenmişse direkt davran */
3455    if(strip.getAttribute('data-loaded') === '1'){
3456      if(strip.getAttribute('data-has-variants') === '1'){
3457        toggleStrip(productId);
3458      } else {
3459        addToCartSmart(productId);
3460      }
3461      return false;
3462    }
3463
3464    /* İlk tıklama - AJAX ile varyantları çek */
3465    bag.classList.add('is-loading');
3466    var productLink = card.getAttribute('data-lux-product-link');
3467
3468    fetchVariants(productId, productLink, function(data){
3469      bag.classList.remove('is-loading');
3470
3471      var hasVariants = buildVariantUI(productId, data);
3472
3473      if(hasVariants){
3474        /* Bedenler var - şeridi aç */
3475        toggleStrip(productId);
3476      } else {
3477        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
3478        addToCartSmart(productId);
3479      }
3480    });
3481
3482    return false;
3483  };
3484
3485  function toggleStrip(productId){
3486    var strip = document.getElementById('size-strip-' + productId);
3487    var card = document.getElementById('card-' + productId);
3488    if(!strip) return;
3489
3490    document.querySelectorAll('.size-strip.open').forEach(function(s){
3491      if(s !== strip) s.classList.remove('open');
3492    });
3493    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
3494      if(c !== card) c.classList.remove('sizes-open');
3495    });
3496
3497    strip.classList.toggle('open');
3498    if(card) card.classList.toggle('sizes-open');
3499  }
3500
3501
3502  /* ============================================
3503     BEDEN TIKLAMASI
3504     ============================================ */
3505  window.luxAddVariant = function(ev, elem){
3506    ev.preventDefault();
3507    ev.stopPropagation();
3508
3509    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
3510
3511    var productId = elem.getAttribute('data-urun-id');
3512    var varyantDeger = elem.getAttribute('data-varyant-deger');
3513
3514    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
3515    if(!holder) return false;
3516
3517    /* Seçilen bedeni ilk select'e yaz */
3518    var firstSelect = holder.querySelector('select[data-variant="0"]');
3519    if(firstSelect){
3520      firstSelect.value = varyantDeger;
3521      if(typeof jQuery !== "undefined"){
3522        jQuery(firstSelect).val(varyantDeger).trigger('change');
3523      }
3524    }
3525
3526    /* Diğer select'lere ilk geçerli değeri koy */
3527    var allSelects = holder.querySelectorAll('select[data-variant]');
3528    allSelects.forEach(function(sel, idx){
3529      if(idx === 0) return;
3530      if(sel.value) return;
3531      var options = sel.querySelectorAll('option');
3532      for(var i = 0; i < options.length; i++){
3533        if(options[i].value){
3534          sel.value = options[i].value;
3535          if(typeof jQuery !== "undefined"){
3536            jQuery(sel).val(options[i].value).trigger('change');
3537          }
3538          break;
3539        }
3540      }
3541    });
3542
3543    /* Görsel feedback */
3544    elem.classList.add('adding');
3545    var originalText = elem.textContent;
3546    elem.textContent = '✓';
3547
3548    /* Sepete ekle */
3549    addToCartSmart(productId, {
3550      checkVariant: true,
3551      variantCount: allSelects.length,
3552      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
3553    });
3554
3555    setTimeout(function(){
3556      elem.textContent = originalText;
3557      elem.classList.remove('adding');
3558      closeAll();
3559    }, 800);
3560
3561    return false;
3562  };
3563
3564
3565  /* ============================================
3566     SEPETE EKLE - Modal killer ile
3567     ============================================ */
3568  function addToCartSmart(productId, extraOptions){
3569    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
3570
3571    var options = {
3572      quantity: 1,
3573      hideNativeModal: 'lux-card-' + productId
3574    };
3575
3576    if(extraOptions){
3577      Object.keys(extraOptions).forEach(function(k){
3578        options[k] = extraOptions[k];
3579      });
3580    } else if(holder){
3581      var selects = holder.querySelectorAll('select[data-variant]');
3582      if(selects.length > 0){
3583        options.checkVariant = true;
3584        options.variantCount = selects.length;
3585        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
3586      }
3587    }
3588
3589    startModalKill(2000);
3590
3591    if(typeof addCart === "function"){
3592      try {
3593        addCart(productId, 'card', options);
3594        flashSuccess(productId);
3595      } catch(err){
3596        console.error('Sepete ekleme hatası:', err);
3597      }
3598    }
3599  }
3600
3601})();
3602</script>
3602</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
3603                             data-lux-product-shell="1"
3604                             data-lux-page="1"><style>
3605@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
3606
3607/* ===== VEZZA LUX CARD ===== */
3608.card-product{
3609  font-family:'Poppins',sans-serif;
3610  background:#fff !important;
3611  position:relative;
3612}
3613.card-product-inner{
3614  background:transparent !important;
3615  position:relative;
3616}
3617.card-product .c-p-i-link,
3618.card-product a{
3619  background:transparent !important;
3620}
3621.card-product-inner > div{
3622  background:transparent !important;
3623}
3624.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
3625  background:transparent !important;
3626}
3627.card-product .card-product-content,
3628.card-product .price-group,
3629.card-product .prices{
3630  background:transparent !important;
3631}
3632[class*="skeleton"],
3633[class*="placeholder"],
3634[class*="loading"]{
3635  background:transparent !important;
3636}
3637
3638/* ===== IMAGE AREA - KARE GÖRSEL ===== */
3639.image-wrapper{
3640  position:relative;
3641  width:100%;
3642  aspect-ratio:1/1;
3643  overflow:hidden;
3644  background:#fff !important;
3645}
3646
3647.image{
3648  position:relative;
3649  width:100%;
3650  height:100%;
3651}
3652
3653.image-wrapper img{
3654  width:100% !important;
3655  height:100% !important;
3656  object-fit:cover !important;
3657  object-position:center center !important;
3658  display:block;
3659  transition:transform .35s ease;
3660}
3661
3662/* ===== DISCOUNT ===== */
3663.discount{
3664  position:absolute;
3665  top:12px;
3666  left:12px;
3667  width:28px;
3668  height:48px;
3669  background:#e10b0b;
3670  color:#fff;
3671  font-size:12px;
3672  font-weight:600;
3673  display:flex;
3674  align-items:center;
3675  justify-content:center;
3676  writing-mode:vertical-rl;
3677  transform:rotate(180deg);
3678  letter-spacing:.5px;
3679  z-index:7;
3680}
3681
3682/* ===== FAV ===== */
3683.lux-fav{
3684  position:absolute;
3685  top:12px;
3686  right:12px;
3687  z-index:7;
3688}
3689.lux-fav a,
3690.lux-fav button{
3691  background:transparent !important;
3692  border:0 !important;
3693  padding:0 !important;
3694  cursor:pointer;
3695  display:inline-flex;
3696  align-items:center;
3697  justify-content:center;
3698}
3699
3700/* ===== SEPET IKON ===== */
3701.lux-bag{
3702  position:absolute;
3703  bottom:12px;
3704  right:12px;
3705  z-index:7;
3706  width:34px;
3707  height:34px;
3708  display:inline-flex;
3709  align-items:center;
3710  justify-content:center;
3711  background:rgba(255,255,255,.92);
3712  border:1px solid rgba(0,0,0,.10);
3713  border-radius:10px;
3714  cursor:pointer;
3715  transition:.2s ease;
3716}
3717.lux-bag:hover{
3718  background:#fff;
3719  border-color:rgba(0,0,0,.25);
3720}
3721.lux-bag.is-loading{
3722  opacity:.6;
3723  cursor:wait;
3724}
3725.lux-bag.is-success{
3726  background:#2e7d32 !important;
3727  border-color:#2e7d32 !important;
3728  color:#fff !important;
3729}
3730.card-product.sizes-open .lux-bag{
3731  opacity:0;
3732  pointer-events:none;
3733}
3734
3735/* Loading spinner */
3736.lux-bag.is-loading i::before{
3737  content:"⏳";
3738}
3739
3740/* ===== SIZE STRIP ===== */
3741.size-strip{
3742  width:100%;
3743  max-height:0;
3744  overflow:hidden;
3745  background:#fff;
3746  display:flex;
3747  flex-wrap:wrap;
3748  transition:max-height .3s ease, border-color .3s ease;
3749  border-top:1px solid transparent;
3750  border-bottom:1px solid transparent;
3751}
3752.size-strip.open{
3753  max-height:200px;
3754  border-top-color:rgba(0,0,0,.08);
3755  border-bottom-color:rgba(0,0,0,.08);
3756}
3757.size-item{
3758  flex:1 0 auto;
3759  min-width:38px;
3760  height:42px;
3761  display:flex;
3762  align-items:center;
3763  justify-content:center;
3764  font-size:13px;
3765  font-weight:500;
3766  color:#111 !important;
3767  cursor:pointer;
3768  user-select:none;
3769  background:transparent;
3770  transition:background .15s ease, color .15s ease;
3771  border-right:1px solid rgba(0,0,0,.08);
3772}
3773.size-item:last-child{ border-right:0; }
3774.size-item:hover:not(.disabled):not(.adding){
3775  background:#000 !important;
3776  color:#fff !important;
3777}
3778.size-item.disabled{
3779  color:#111 !important;
3780  text-decoration:line-through !important;
3781  opacity:.30 !important;
3782  cursor:not-allowed;
3783}
3784.size-item.adding{
3785  background:#2e7d32 !important;
3786  color:#fff !important;
3787  cursor:wait;
3788}
3789
3790/* ===== META ===== */
3791.lux-meta{
3792  padding:12px 6px 6px;
3793  background:transparent !important;
3794}
3795.lux-brand{
3796  font-size:16px;
3797  font-weight:600;
3798  color:#111;
3799  margin-bottom:2px;
3800}
3801.lux-title{
3802  font-size:14px;
3803  font-weight:400;
3804  line-height:1.45;
3805  color:#111;
3806  margin:0;
3807}
3808.lux-price{
3809  margin-top:10px;
3810  display:flex;
3811  gap:10px;
3812  align-items:baseline;
3813  background:transparent !important;
3814}
3815.lux-price .list-price{
3816  font-size:14px;
3817  font-weight:400;
3818  color:#111;
3819  text-decoration:line-through;
3820}
3821.lux-price .sale-price{
3822  font-size:16px;
3823  font-weight:600;
3824  color:#e10b0b;
3825}
3826
3827.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
3828.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
3829</style><div class="card-product"
3830     id="card-10215"
3831     data-lux-card-id="10215"
3832     data-lux-product-link="https://www.vezzalux.com/lv-872-turkuaz-erkek-ayakkabi"
3833     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</div><a href="https://www.vezzalux.com/lv-872-turkuaz-erkek-ayakkabi" class="c-p-i-link" title="Lv 872 Turkuaz Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c84775d55-29149030-sw1200sh1200.webp" alt="Lv 872 Turkuaz Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c84775d55-29149030-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c84599d98-51854622-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" 
3834        onclick="userProductFavourite('add', 10215)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
3835         id="lux-bag-10215"
3836         onclick="return luxBagClick(event, 10215);"
3837         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10215" style="display:none;"></div><div class="size-strip" id="size-strip-10215" data-loaded="0"></div><a href="https://www.vezzalux.com/lv-872-turkuaz-erkek-ayakkabi" class="c-p-i-link" title="Lv 872 Turkuaz Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Louis Vuitton</div><div class="lux-title">Lv 872 Turkuaz Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">12.500,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
3837<script>
3838(function(){
3839
3840  /* Bir kez kur */
3841  if(window.__luxCardInit) return;
3842  window.__luxCardInit = true;
3843
3844  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
3845  window.__luxVariantCache = window.__luxVariantCache || {};
3846
3847  function closeAll(){
3848    document.querySelectorAll('.size-strip.open').forEach(function(s){
3849      s.classList.remove('open');
3850    });
3851    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
3852      c.classList.remove('sizes-open');
3853    });
3854  }
3855
3856  function flashSuccess(productId){
3857    var bag = document.getElementById('lux-bag-' + productId);
3858    if(!bag) return;
3859    bag.classList.add('is-success');
3860    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
3861  }
3862
3863  /* Dış tıklama - kapat */
3864  document.addEventListener('click', function(e){
3865    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
3866    if(!inside) closeAll();
3867  });
3868
3869  document.addEventListener('keydown', function(e){
3870    if(e.key === 'Escape') closeAll();
3871  });
3872
3873
3874  /* ============================================
3875     MODAL KILLER - yedek güvence
3876     ============================================ */
3877  var LUX_MODAL_KILL_ACTIVE = false;
3878
3879  function killVisibleModals(){
3880    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
3881    modals.forEach(function(m){
3882      var id = (m.id || '').toLowerCase();
3883      var txt = (m.textContent || '').toLowerCase();
3884      var isCartModal = id.indexOf('cart') > -1
3885                     || id.indexOf('variant') > -1
3886                     || id.indexOf('fast') > -1
3887                     || id.indexOf('urun') > -1
3888                     || txt.indexOf('lütfen seçin') > -1;
3889
3890      if(isCartModal){
3891        if(typeof jQuery !== 'undefined'){
3892          try { jQuery(m).modal('hide'); } catch(e){}
3893        }
3894        m.classList.remove('show','in');
3895        m.style.display = 'none';
3896      }
3897    });
3898
3899    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
3900    document.body.classList.remove('modal-open');
3901    document.body.style.overflow = '';
3902    document.body.style.paddingRight = '';
3903  }
3904
3905  function startModalKill(durationMs){
3906    if(LUX_MODAL_KILL_ACTIVE) return;
3907    LUX_MODAL_KILL_ACTIVE = true;
3908    killVisibleModals();
3909    var interval = setInterval(killVisibleModals, 50);
3910    setTimeout(function(){
3911      clearInterval(interval);
3912      LUX_MODAL_KILL_ACTIVE = false;
3913    }, durationMs || 2000);
3914  }
3915
3916
3917  /* ============================================
3918     AJAX: Varyantları detay sayfasından çek
3919     ============================================
3920     Ürün detay sayfasının tam HTML'ini indir,
3921     DOMParser ile parse et, varyantları bul
3922     ============================================ */
3923  function fetchVariants(productId, productLink, callback){
3924
3925    /* Cache'te varsa hemen döndür */
3926    if(window.__luxVariantCache[productId]){
3927      callback(window.__luxVariantCache[productId]);
3928      return;
3929    }
3930
3931    fetch(productLink, {
3932      method: 'GET',
3933      credentials: 'same-origin',
3934      headers: { 'Accept': 'text/html' }
3935    })
3936    .then(function(r){ return r.text(); })
3937    .then(function(html){
3938      var parser = new DOMParser();
3939      var doc = parser.parseFromString(html, 'text/html');
3940
3941      /* Detay sayfasındaki .variant-box'ı bul */
3942      var variantBox = doc.querySelector('.variant-box');
3943      if(!variantBox){
3944        callback({ variants: [], error: 'no_variant_box' });
3945        return;
3946      }
3947
3948      /* Her varyant grubu için select'leri ve option'ları oku */
3949      var variants = [];
3950      var variantLis = variantBox.querySelectorAll('.variant');
3951
3952      variantLis.forEach(function(li, idx){
3953        var nameEl = li.querySelector('.name');
3954        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
3955
3956        var values = [];
3957
3958        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
3959        var optLinks = li.querySelectorAll('.options a');
3960
3961        if(optLinks.length > 0){
3962          optLinks.forEach(function(a){
3963            /* Beden/renk değerini doğru attribute'tan oku
3964               - data-variant-value: asıl değer (örn: "38", "KAHVE")
3965               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
3966               - textContent: fallback */
3967            var deger = a.getAttribute('data-variant-value')
3968                     || a.textContent.trim();
3969
3970            /* Stok kontrolü - birden fazla yoldan kontrol et */
3971            var isSoldOut = a.classList.contains('sold-out')
3972                         || a.classList.contains('sold_out')
3973                         || a.classList.contains('disabled')
3974                         || a.classList.contains('stoksuz')
3975                         || a.classList.contains('out-of-stock')
3976                         || a.hasAttribute('disabled')
3977                         || a.getAttribute('data-in-stock') === '0'
3978                         || a.getAttribute('data-in-stock') === 'false'
3979                         || a.getAttribute('data-stokta-var-mi') === '0'
3980                         || a.getAttribute('data-stokta-var-mi') === 'false';
3981
3982            values.push({
3983              deger: deger,
3984              inStock: !isSoldOut
3985            });
3986          });
3987        } else {
3988          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
3989          var select = li.querySelector('select');
3990          if(select){
3991            var opts = select.querySelectorAll('option');
3992            opts.forEach(function(o){
3993              if(!o.value) return;
3994              values.push({
3995                deger: o.value,
3996                inStock: !o.disabled
3997              });
3998            });
3999          }
4000        }
4001
4002        variants.push({
4003          index: idx,
4004          baslik: name,
4005          values: values
4006        });
4007      });
4008
4009      var result = { variants: variants };
4010      window.__luxVariantCache[productId] = result;
4011      callback(result);
4012    })
4013    .catch(function(err){
4014      console.error('Varyant çekme hatası:', err);
4015      callback({ variants: [], error: 'fetch_failed' });
4016    });
4017  }
4018
4019
4020  /* ============================================
4021     Beden şeridini ve gizli variant-box'ı oluştur
4022     ============================================ */
4023  function buildVariantUI(productId, data){
4024    var card = document.getElementById('card-' + productId);
4025    if(!card) return false;
4026
4027    var holder = card.querySelector('.lux-variant-box');
4028    var strip = document.getElementById('size-strip-' + productId);
4029    if(!holder || !strip) return false;
4030
4031    if(!data.variants || data.variants.length === 0){
4032      /* Varyant yok */
4033      return false;
4034    }
4035
4036    /* Çoklu değerli ilk varyantı bul (beden) */
4037    var displayVariant = null;
4038    data.variants.forEach(function(v){
4039      if(!displayVariant && v.values.length > 1){
4040        displayVariant = v;
4041      }
4042    });
4043
4044    /* Gizli variant-box HTML */
4045    var html = '<div class="variant-box"><ul>';
4046    data.variants.forEach(function(v){
4047      html += '<li class="variant">';
4048      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
4049
4050      if(v.values.length > 1){
4051        html += '<option value="">Lütfen seçin</option>';
4052      }
4053
4054      v.values.forEach(function(val, i){
4055        var selected = (v.values.length === 1) ? ' selected' : '';
4056        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
4057      });
4058
4059      html += '</select></li>';
4060    });
4061    html += '</ul></div>';
4062
4063    holder.innerHTML = html;
4064    holder.style.display = '';
4065
4066    /* Strip HTML (sadece çoklu değerli varyantlar için)
4067       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
4068    if(displayVariant){
4069      var stripHtml = '';
4070      var inStockCount = 0;
4071
4072      /* DEBUG - console'da gör */
4073      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
4074
4075      displayVariant.values.forEach(function(val){
4076        /* SADECE stokta olanları ekle */
4077        if(val.inStock === true){
4078          stripHtml += '<div class="size-item" '
4079                    + 'data-urun-id="' + productId + '" '
4080                    + 'data-varyant-deger="' + val.deger + '" '
4081                    + 'onclick="return luxAddVariant(event, this);">'
4082                    + val.deger + '</div>';
4083          inStockCount++;
4084        }
4085      });
4086
4087      /* Eğer stokta hiç beden yoksa şeridi gösterme */
4088      if(inStockCount === 0){
4089        strip.setAttribute('data-loaded', '1');
4090        strip.setAttribute('data-has-variants', '0');
4091        return false;
4092      }
4093
4094      strip.innerHTML = stripHtml;
4095      strip.setAttribute('data-loaded', '1');
4096      strip.setAttribute('data-has-variants', '1');
4097      return true;
4098    } else {
4099      strip.setAttribute('data-loaded', '1');
4100      strip.setAttribute('data-has-variants', '0');
4101      return false;
4102    }
4103  }
4104
4105
4106  /* ============================================
4107     SEPET IKONU TIKLAMASI
4108     ============================================ */
4109  window.luxBagClick = function(ev, productId){
4110    ev.preventDefault();
4111    ev.stopPropagation();
4112
4113    var card = document.getElementById('card-' + productId);
4114    var strip = document.getElementById('size-strip-' + productId);
4115    var bag = document.getElementById('lux-bag-' + productId);
4116    if(!card || !strip) return false;
4117
4118    /* Strip zaten yüklenmişse direkt davran */
4119    if(strip.getAttribute('data-loaded') === '1'){
4120      if(strip.getAttribute('data-has-variants') === '1'){
4121        toggleStrip(productId);
4122      } else {
4123        addToCartSmart(productId);
4124      }
4125      return false;
4126    }
4127
4128    /* İlk tıklama - AJAX ile varyantları çek */
4129    bag.classList.add('is-loading');
4130    var productLink = card.getAttribute('data-lux-product-link');
4131
4132    fetchVariants(productId, productLink, function(data){
4133      bag.classList.remove('is-loading');
4134
4135      var hasVariants = buildVariantUI(productId, data);
4136
4137      if(hasVariants){
4138        /* Bedenler var - şeridi aç */
4139        toggleStrip(productId);
4140      } else {
4141        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
4142        addToCartSmart(productId);
4143      }
4144    });
4145
4146    return false;
4147  };
4148
4149  function toggleStrip(productId){
4150    var strip = document.getElementById('size-strip-' + productId);
4151    var card = document.getElementById('card-' + productId);
4152    if(!strip) return;
4153
4154    document.querySelectorAll('.size-strip.open').forEach(function(s){
4155      if(s !== strip) s.classList.remove('open');
4156    });
4157    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
4158      if(c !== card) c.classList.remove('sizes-open');
4159    });
4160
4161    strip.classList.toggle('open');
4162    if(card) card.classList.toggle('sizes-open');
4163  }
4164
4165
4166  /* ============================================
4167     BEDEN TIKLAMASI
4168     ============================================ */
4169  window.luxAddVariant = function(ev, elem){
4170    ev.preventDefault();
4171    ev.stopPropagation();
4172
4173    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
4174
4175    var productId = elem.getAttribute('data-urun-id');
4176    var varyantDeger = elem.getAttribute('data-varyant-deger');
4177
4178    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
4179    if(!holder) return false;
4180
4181    /* Seçilen bedeni ilk select'e yaz */
4182    var firstSelect = holder.querySelector('select[data-variant="0"]');
4183    if(firstSelect){
4184      firstSelect.value = varyantDeger;
4185      if(typeof jQuery !== "undefined"){
4186        jQuery(firstSelect).val(varyantDeger).trigger('change');
4187      }
4188    }
4189
4190    /* Diğer select'lere ilk geçerli değeri koy */
4191    var allSelects = holder.querySelectorAll('select[data-variant]');
4192    allSelects.forEach(function(sel, idx){
4193      if(idx === 0) return;
4194      if(sel.value) return;
4195      var options = sel.querySelectorAll('option');
4196      for(var i = 0; i < options.length; i++){
4197        if(options[i].value){
4198          sel.value = options[i].value;
4199          if(typeof jQuery !== "undefined"){
4200            jQuery(sel).val(options[i].value).trigger('change');
4201          }
4202          break;
4203        }
4204      }
4205    });
4206
4207    /* Görsel feedback */
4208    elem.classList.add('adding');
4209    var originalText = elem.textContent;
4210    elem.textContent = '✓';
4211
4212    /* Sepete ekle */
4213    addToCartSmart(productId, {
4214      checkVariant: true,
4215      variantCount: allSelects.length,
4216      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
4217    });
4218
4219    setTimeout(function(){
4220      elem.textContent = originalText;
4221      elem.classList.remove('adding');
4222      closeAll();
4223    }, 800);
4224
4225    return false;
4226  };
4227
4228
4229  /* ============================================
4230     SEPETE EKLE - Modal killer ile
4231     ============================================ */
4232  function addToCartSmart(productId, extraOptions){
4233    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
4234
4235    var options = {
4236      quantity: 1,
4237      hideNativeModal: 'lux-card-' + productId
4238    };
4239
4240    if(extraOptions){
4241      Object.keys(extraOptions).forEach(function(k){
4242        options[k] = extraOptions[k];
4243      });
4244    } else if(holder){
4245      var selects = holder.querySelectorAll('select[data-variant]');
4246      if(selects.length > 0){
4247        options.checkVariant = true;
4248        options.variantCount = selects.length;
4249        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
4250      }
4251    }
4252
4253    startModalKill(2000);
4254
4255    if(typeof addCart === "function"){
4256      try {
4257        addCart(productId, 'card', options);
4258        flashSuccess(productId);
4259      } catch(err){
4260        console.error('Sepete ekleme hatası:', err);
4261      }
4262    }
4263  }
4264
4265})();
4266</script>
4266</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
4267                             data-lux-product-shell="1"
4268                             data-lux-page="1"><style>
4269@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
4270
4271/* ===== VEZZA LUX CARD ===== */
4272.card-product{
4273  font-family:'Poppins',sans-serif;
4274  background:#fff !important;
4275  position:relative;
4276}
4277.card-product-inner{
4278  background:transparent !important;
4279  position:relative;
4280}
4281.card-product .c-p-i-link,
4282.card-product a{
4283  background:transparent !important;
4284}
4285.card-product-inner > div{
4286  background:transparent !important;
4287}
4288.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
4289  background:transparent !important;
4290}
4291.card-product .card-product-content,
4292.card-product .price-group,
4293.card-product .prices{
4294  background:transparent !important;
4295}
4296[class*="skeleton"],
4297[class*="placeholder"],
4298[class*="loading"]{
4299  background:transparent !important;
4300}
4301
4302/* ===== IMAGE AREA - KARE GÖRSEL ===== */
4303.image-wrapper{
4304  position:relative;
4305  width:100%;
4306  aspect-ratio:1/1;
4307  overflow:hidden;
4308  background:#fff !important;
4309}
4310
4311.image{
4312  position:relative;
4313  width:100%;
4314  height:100%;
4315}
4316
4317.image-wrapper img{
4318  width:100% !important;
4319  height:100% !important;
4320  object-fit:cover !important;
4321  object-position:center center !important;
4322  display:block;
4323  transition:transform .35s ease;
4324}
4325
4326/* ===== DISCOUNT ===== */
4327.discount{
4328  position:absolute;
4329  top:12px;
4330  left:12px;
4331  width:28px;
4332  height:48px;
4333  background:#e10b0b;
4334  color:#fff;
4335  font-size:12px;
4336  font-weight:600;
4337  display:flex;
4338  align-items:center;
4339  justify-content:center;
4340  writing-mode:vertical-rl;
4341  transform:rotate(180deg);
4342  letter-spacing:.5px;
4343  z-index:7;
4344}
4345
4346/* ===== FAV ===== */
4347.lux-fav{
4348  position:absolute;
4349  top:12px;
4350  right:12px;
4351  z-index:7;
4352}
4353.lux-fav a,
4354.lux-fav button{
4355  background:transparent !important;
4356  border:0 !important;
4357  padding:0 !important;
4358  cursor:pointer;
4359  display:inline-flex;
4360  align-items:center;
4361  justify-content:center;
4362}
4363
4364/* ===== SEPET IKON ===== */
4365.lux-bag{
4366  position:absolute;
4367  bottom:12px;
4368  right:12px;
4369  z-index:7;
4370  width:34px;
4371  height:34px;
4372  display:inline-flex;
4373  align-items:center;
4374  justify-content:center;
4375  background:rgba(255,255,255,.92);
4376  border:1px solid rgba(0,0,0,.10);
4377  border-radius:10px;
4378  cursor:pointer;
4379  transition:.2s ease;
4380}
4381.lux-bag:hover{
4382  background:#fff;
4383  border-color:rgba(0,0,0,.25);
4384}
4385.lux-bag.is-loading{
4386  opacity:.6;
4387  cursor:wait;
4388}
4389.lux-bag.is-success{
4390  background:#2e7d32 !important;
4391  border-color:#2e7d32 !important;
4392  color:#fff !important;
4393}
4394.card-product.sizes-open .lux-bag{
4395  opacity:0;
4396  pointer-events:none;
4397}
4398
4399/* Loading spinner */
4400.lux-bag.is-loading i::before{
4401  content:"⏳";
4402}
4403
4404/* ===== SIZE STRIP ===== */
4405.size-strip{
4406  width:100%;
4407  max-height:0;
4408  overflow:hidden;
4409  background:#fff;
4410  display:flex;
4411  flex-wrap:wrap;
4412  transition:max-height .3s ease, border-color .3s ease;
4413  border-top:1px solid transparent;
4414  border-bottom:1px solid transparent;
4415}
4416.size-strip.open{
4417  max-height:200px;
4418  border-top-color:rgba(0,0,0,.08);
4419  border-bottom-color:rgba(0,0,0,.08);
4420}
4421.size-item{
4422  flex:1 0 auto;
4423  min-width:38px;
4424  height:42px;
4425  display:flex;
4426  align-items:center;
4427  justify-content:center;
4428  font-size:13px;
4429  font-weight:500;
4430  color:#111 !important;
4431  cursor:pointer;
4432  user-select:none;
4433  background:transparent;
4434  transition:background .15s ease, color .15s ease;
4435  border-right:1px solid rgba(0,0,0,.08);
4436}
4437.size-item:last-child{ border-right:0; }
4438.size-item:hover:not(.disabled):not(.adding){
4439  background:#000 !important;
4440  color:#fff !important;
4441}
4442.size-item.disabled{
4443  color:#111 !important;
4444  text-decoration:line-through !important;
4445  opacity:.30 !important;
4446  cursor:not-allowed;
4447}
4448.size-item.adding{
4449  background:#2e7d32 !important;
4450  color:#fff !important;
4451  cursor:wait;
4452}
4453
4454/* ===== META ===== */
4455.lux-meta{
4456  padding:12px 6px 6px;
4457  background:transparent !important;
4458}
4459.lux-brand{
4460  font-size:16px;
4461  font-weight:600;
4462  color:#111;
4463  margin-bottom:2px;
4464}
4465.lux-title{
4466  font-size:14px;
4467  font-weight:400;
4468  line-height:1.45;
4469  color:#111;
4470  margin:0;
4471}
4472.lux-price{
4473  margin-top:10px;
4474  display:flex;
4475  gap:10px;
4476  align-items:baseline;
4477  background:transparent !important;
4478}
4479.lux-price .list-price{
4480  font-size:14px;
4481  font-weight:400;
4482  color:#111;
4483  text-decoration:line-through;
4484}
4485.lux-price .sale-price{
4486  font-size:16px;
4487  font-weight:600;
4488  color:#e10b0b;
4489}
4490
4491.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
4492.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
4493</style><div class="card-product"
4494     id="card-9791"
4495     data-lux-card-id="9791"
4496     data-lux-product-link="https://www.vezzalux.com/fendi-922-bej-loafer-erkek-ayakkabi"
4497     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</div><a href="https://www.vezzalux.com/fendi-922-bej-loafer-erkek-ayakkabi" class="c-p-i-link" title="Fendi 922 Bej Loafer Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0bc5a08728-23129189-sw800sh800.webp" alt="Fendi 922 Bej Loafer Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0bc5a08728-23129189-sw800sh800.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0bc5b7a300-10924974-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" 
4498        onclick="userProductFavourite('add', 9791)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
4499         id="lux-bag-9791"
4500         onclick="return luxBagClick(event, 9791);"
4501         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="9791" style="display:none;"></div><div class="size-strip" id="size-strip-9791" data-loaded="0"></div><a href="https://www.vezzalux.com/fendi-922-bej-loafer-erkek-ayakkabi" class="c-p-i-link" title="Fendi 922 Bej Loafer Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Fendi</div><div class="lux-title">Fendi 922 Bej Loafer Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">12.500,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
4501<script>
4502(function(){
4503
4504  /* Bir kez kur */
4505  if(window.__luxCardInit) return;
4506  window.__luxCardInit = true;
4507
4508  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
4509  window.__luxVariantCache = window.__luxVariantCache || {};
4510
4511  function closeAll(){
4512    document.querySelectorAll('.size-strip.open').forEach(function(s){
4513      s.classList.remove('open');
4514    });
4515    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
4516      c.classList.remove('sizes-open');
4517    });
4518  }
4519
4520  function flashSuccess(productId){
4521    var bag = document.getElementById('lux-bag-' + productId);
4522    if(!bag) return;
4523    bag.classList.add('is-success');
4524    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
4525  }
4526
4527  /* Dış tıklama - kapat */
4528  document.addEventListener('click', function(e){
4529    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
4530    if(!inside) closeAll();
4531  });
4532
4533  document.addEventListener('keydown', function(e){
4534    if(e.key === 'Escape') closeAll();
4535  });
4536
4537
4538  /* ============================================
4539     MODAL KILLER - yedek güvence
4540     ============================================ */
4541  var LUX_MODAL_KILL_ACTIVE = false;
4542
4543  function killVisibleModals(){
4544    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
4545    modals.forEach(function(m){
4546      var id = (m.id || '').toLowerCase();
4547      var txt = (m.textContent || '').toLowerCase();
4548      var isCartModal = id.indexOf('cart') > -1
4549                     || id.indexOf('variant') > -1
4550                     || id.indexOf('fast') > -1
4551                     || id.indexOf('urun') > -1
4552                     || txt.indexOf('lütfen seçin') > -1;
4553
4554      if(isCartModal){
4555        if(typeof jQuery !== 'undefined'){
4556          try { jQuery(m).modal('hide'); } catch(e){}
4557        }
4558        m.classList.remove('show','in');
4559        m.style.display = 'none';
4560      }
4561    });
4562
4563    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
4564    document.body.classList.remove('modal-open');
4565    document.body.style.overflow = '';
4566    document.body.style.paddingRight = '';
4567  }
4568
4569  function startModalKill(durationMs){
4570    if(LUX_MODAL_KILL_ACTIVE) return;
4571    LUX_MODAL_KILL_ACTIVE = true;
4572    killVisibleModals();
4573    var interval = setInterval(killVisibleModals, 50);
4574    setTimeout(function(){
4575      clearInterval(interval);
4576      LUX_MODAL_KILL_ACTIVE = false;
4577    }, durationMs || 2000);
4578  }
4579
4580
4581  /* ============================================
4582     AJAX: Varyantları detay sayfasından çek
4583     ============================================
4584     Ürün detay sayfasının tam HTML'ini indir,
4585     DOMParser ile parse et, varyantları bul
4586     ============================================ */
4587  function fetchVariants(productId, productLink, callback){
4588
4589    /* Cache'te varsa hemen döndür */
4590    if(window.__luxVariantCache[productId]){
4591      callback(window.__luxVariantCache[productId]);
4592      return;
4593    }
4594
4595    fetch(productLink, {
4596      method: 'GET',
4597      credentials: 'same-origin',
4598      headers: { 'Accept': 'text/html' }
4599    })
4600    .then(function(r){ return r.text(); })
4601    .then(function(html){
4602      var parser = new DOMParser();
4603      var doc = parser.parseFromString(html, 'text/html');
4604
4605      /* Detay sayfasındaki .variant-box'ı bul */
4606      var variantBox = doc.querySelector('.variant-box');
4607      if(!variantBox){
4608        callback({ variants: [], error: 'no_variant_box' });
4609        return;
4610      }
4611
4612      /* Her varyant grubu için select'leri ve option'ları oku */
4613      var variants = [];
4614      var variantLis = variantBox.querySelectorAll('.variant');
4615
4616      variantLis.forEach(function(li, idx){
4617        var nameEl = li.querySelector('.name');
4618        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
4619
4620        var values = [];
4621
4622        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
4623        var optLinks = li.querySelectorAll('.options a');
4624
4625        if(optLinks.length > 0){
4626          optLinks.forEach(function(a){
4627            /* Beden/renk değerini doğru attribute'tan oku
4628               - data-variant-value: asıl değer (örn: "38", "KAHVE")
4629               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
4630               - textContent: fallback */
4631            var deger = a.getAttribute('data-variant-value')
4632                     || a.textContent.trim();
4633
4634            /* Stok kontrolü - birden fazla yoldan kontrol et */
4635            var isSoldOut = a.classList.contains('sold-out')
4636                         || a.classList.contains('sold_out')
4637                         || a.classList.contains('disabled')
4638                         || a.classList.contains('stoksuz')
4639                         || a.classList.contains('out-of-stock')
4640                         || a.hasAttribute('disabled')
4641                         || a.getAttribute('data-in-stock') === '0'
4642                         || a.getAttribute('data-in-stock') === 'false'
4643                         || a.getAttribute('data-stokta-var-mi') === '0'
4644                         || a.getAttribute('data-stokta-var-mi') === 'false';
4645
4646            values.push({
4647              deger: deger,
4648              inStock: !isSoldOut
4649            });
4650          });
4651        } else {
4652          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
4653          var select = li.querySelector('select');
4654          if(select){
4655            var opts = select.querySelectorAll('option');
4656            opts.forEach(function(o){
4657              if(!o.value) return;
4658              values.push({
4659                deger: o.value,
4660                inStock: !o.disabled
4661              });
4662            });
4663          }
4664        }
4665
4666        variants.push({
4667          index: idx,
4668          baslik: name,
4669          values: values
4670        });
4671      });
4672
4673      var result = { variants: variants };
4674      window.__luxVariantCache[productId] = result;
4675      callback(result);
4676    })
4677    .catch(function(err){
4678      console.error('Varyant çekme hatası:', err);
4679      callback({ variants: [], error: 'fetch_failed' });
4680    });
4681  }
4682
4683
4684  /* ============================================
4685     Beden şeridini ve gizli variant-box'ı oluştur
4686     ============================================ */
4687  function buildVariantUI(productId, data){
4688    var card = document.getElementById('card-' + productId);
4689    if(!card) return false;
4690
4691    var holder = card.querySelector('.lux-variant-box');
4692    var strip = document.getElementById('size-strip-' + productId);
4693    if(!holder || !strip) return false;
4694
4695    if(!data.variants || data.variants.length === 0){
4696      /* Varyant yok */
4697      return false;
4698    }
4699
4700    /* Çoklu değerli ilk varyantı bul (beden) */
4701    var displayVariant = null;
4702    data.variants.forEach(function(v){
4703      if(!displayVariant && v.values.length > 1){
4704        displayVariant = v;
4705      }
4706    });
4707
4708    /* Gizli variant-box HTML */
4709    var html = '<div class="variant-box"><ul>';
4710    data.variants.forEach(function(v){
4711      html += '<li class="variant">';
4712      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
4713
4714      if(v.values.length > 1){
4715        html += '<option value="">Lütfen seçin</option>';
4716      }
4717
4718      v.values.forEach(function(val, i){
4719        var selected = (v.values.length === 1) ? ' selected' : '';
4720        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
4721      });
4722
4723      html += '</select></li>';
4724    });
4725    html += '</ul></div>';
4726
4727    holder.innerHTML = html;
4728    holder.style.display = '';
4729
4730    /* Strip HTML (sadece çoklu değerli varyantlar için)
4731       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
4732    if(displayVariant){
4733      var stripHtml = '';
4734      var inStockCount = 0;
4735
4736      /* DEBUG - console'da gör */
4737      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
4738
4739      displayVariant.values.forEach(function(val){
4740        /* SADECE stokta olanları ekle */
4741        if(val.inStock === true){
4742          stripHtml += '<div class="size-item" '
4743                    + 'data-urun-id="' + productId + '" '
4744                    + 'data-varyant-deger="' + val.deger + '" '
4745                    + 'onclick="return luxAddVariant(event, this);">'
4746                    + val.deger + '</div>';
4747          inStockCount++;
4748        }
4749      });
4750
4751      /* Eğer stokta hiç beden yoksa şeridi gösterme */
4752      if(inStockCount === 0){
4753        strip.setAttribute('data-loaded', '1');
4754        strip.setAttribute('data-has-variants', '0');
4755        return false;
4756      }
4757
4758      strip.innerHTML = stripHtml;
4759      strip.setAttribute('data-loaded', '1');
4760      strip.setAttribute('data-has-variants', '1');
4761      return true;
4762    } else {
4763      strip.setAttribute('data-loaded', '1');
4764      strip.setAttribute('data-has-variants', '0');
4765      return false;
4766    }
4767  }
4768
4769
4770  /* ============================================
4771     SEPET IKONU TIKLAMASI
4772     ============================================ */
4773  window.luxBagClick = function(ev, productId){
4774    ev.preventDefault();
4775    ev.stopPropagation();
4776
4777    var card = document.getElementById('card-' + productId);
4778    var strip = document.getElementById('size-strip-' + productId);
4779    var bag = document.getElementById('lux-bag-' + productId);
4780    if(!card || !strip) return false;
4781
4782    /* Strip zaten yüklenmişse direkt davran */
4783    if(strip.getAttribute('data-loaded') === '1'){
4784      if(strip.getAttribute('data-has-variants') === '1'){
4785        toggleStrip(productId);
4786      } else {
4787        addToCartSmart(productId);
4788      }
4789      return false;
4790    }
4791
4792    /* İlk tıklama - AJAX ile varyantları çek */
4793    bag.classList.add('is-loading');
4794    var productLink = card.getAttribute('data-lux-product-link');
4795
4796    fetchVariants(productId, productLink, function(data){
4797      bag.classList.remove('is-loading');
4798
4799      var hasVariants = buildVariantUI(productId, data);
4800
4801      if(hasVariants){
4802        /* Bedenler var - şeridi aç */
4803        toggleStrip(productId);
4804      } else {
4805        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
4806        addToCartSmart(productId);
4807      }
4808    });
4809
4810    return false;
4811  };
4812
4813  function toggleStrip(productId){
4814    var strip = document.getElementById('size-strip-' + productId);
4815    var card = document.getElementById('card-' + productId);
4816    if(!strip) return;
4817
4818    document.querySelectorAll('.size-strip.open').forEach(function(s){
4819      if(s !== strip) s.classList.remove('open');
4820    });
4821    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
4822      if(c !== card) c.classList.remove('sizes-open');
4823    });
4824
4825    strip.classList.toggle('open');
4826    if(card) card.classList.toggle('sizes-open');
4827  }
4828
4829
4830  /* ============================================
4831     BEDEN TIKLAMASI
4832     ============================================ */
4833  window.luxAddVariant = function(ev, elem){
4834    ev.preventDefault();
4835    ev.stopPropagation();
4836
4837    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
4838
4839    var productId = elem.getAttribute('data-urun-id');
4840    var varyantDeger = elem.getAttribute('data-varyant-deger');
4841
4842    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
4843    if(!holder) return false;
4844
4845    /* Seçilen bedeni ilk select'e yaz */
4846    var firstSelect = holder.querySelector('select[data-variant="0"]');
4847    if(firstSelect){
4848      firstSelect.value = varyantDeger;
4849      if(typeof jQuery !== "undefined"){
4850        jQuery(firstSelect).val(varyantDeger).trigger('change');
4851      }
4852    }
4853
4854    /* Diğer select'lere ilk geçerli değeri koy */
4855    var allSelects = holder.querySelectorAll('select[data-variant]');
4856    allSelects.forEach(function(sel, idx){
4857      if(idx === 0) return;
4858      if(sel.value) return;
4859      var options = sel.querySelectorAll('option');
4860      for(var i = 0; i < options.length; i++){
4861        if(options[i].value){
4862          sel.value = options[i].value;
4863          if(typeof jQuery !== "undefined"){
4864            jQuery(sel).val(options[i].value).trigger('change');
4865          }
4866          break;
4867        }
4868      }
4869    });
4870
4871    /* Görsel feedback */
4872    elem.classList.add('adding');
4873    var originalText = elem.textContent;
4874    elem.textContent = '✓';
4875
4876    /* Sepete ekle */
4877    addToCartSmart(productId, {
4878      checkVariant: true,
4879      variantCount: allSelects.length,
4880      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
4881    });
4882
4883    setTimeout(function(){
4884      elem.textContent = originalText;
4885      elem.classList.remove('adding');
4886      closeAll();
4887    }, 800);
4888
4889    return false;
4890  };
4891
4892
4893  /* ============================================
4894     SEPETE EKLE - Modal killer ile
4895     ============================================ */
4896  function addToCartSmart(productId, extraOptions){
4897    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
4898
4899    var options = {
4900      quantity: 1,
4901      hideNativeModal: 'lux-card-' + productId
4902    };
4903
4904    if(extraOptions){
4905      Object.keys(extraOptions).forEach(function(k){
4906        options[k] = extraOptions[k];
4907      });
4908    } else if(holder){
4909      var selects = holder.querySelectorAll('select[data-variant]');
4910      if(selects.length > 0){
4911        options.checkVariant = true;
4912        options.variantCount = selects.length;
4913        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
4914      }
4915    }
4916
4917    startModalKill(2000);
4918
4919    if(typeof addCart === "function"){
4920      try {
4921        addCart(productId, 'card', options);
4922        flashSuccess(productId);
4923      } catch(err){
4924        console.error('Sepete ekleme hatası:', err);
4925      }
4926    }
4927  }
4928
4929})();
4930</script>
4930</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
4931                             data-lux-product-shell="1"
4932                             data-lux-page="1"><style>
4933@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
4934
4935/* ===== VEZZA LUX CARD ===== */
4936.card-product{
4937  font-family:'Poppins',sans-serif;
4938  background:#fff !important;
4939  position:relative;
4940}
4941.card-product-inner{
4942  background:transparent !important;
4943  position:relative;
4944}
4945.card-product .c-p-i-link,
4946.card-product a{
4947  background:transparent !important;
4948}
4949.card-product-inner > div{
4950  background:transparent !important;
4951}
4952.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
4953  background:transparent !important;
4954}
4955.card-product .card-product-content,
4956.card-product .price-group,
4957.card-product .prices{
4958  background:transparent !important;
4959}
4960[class*="skeleton"],
4961[class*="placeholder"],
4962[class*="loading"]{
4963  background:transparent !important;
4964}
4965
4966/* ===== IMAGE AREA - KARE GÖRSEL ===== */
4967.image-wrapper{
4968  position:relative;
4969  width:100%;
4970  aspect-ratio:1/1;
4971  overflow:hidden;
4972  background:#fff !important;
4973}
4974
4975.image{
4976  position:relative;
4977  width:100%;
4978  height:100%;
4979}
4980
4981.image-wrapper img{
4982  width:100% !important;
4983  height:100% !important;
4984  object-fit:cover !important;
4985  object-position:center center !important;
4986  display:block;
4987  transition:transform .35s ease;
4988}
4989
4990/* ===== DISCOUNT ===== */
4991.discount{
4992  position:absolute;
4993  top:12px;
4994  left:12px;
4995  width:28px;
4996  height:48px;
4997  background:#e10b0b;
4998  color:#fff;
4999  font-size:12px;
5000  font-weight:600;
5001  display:flex;
5002  align-items:center;
5003  justify-content:center;
5004  writing-mode:vertical-rl;
5005  transform:rotate(180deg);
5006  letter-spacing:.5px;
5007  z-index:7;
5008}
5009
5010/* ===== FAV ===== */
5011.lux-fav{
5012  position:absolute;
5013  top:12px;
5014  right:12px;
5015  z-index:7;
5016}
5017.lux-fav a,
5018.lux-fav button{
5019  background:transparent !important;
5020  border:0 !important;
5021  padding:0 !important;
5022  cursor:pointer;
5023  display:inline-flex;
5024  align-items:center;
5025  justify-content:center;
5026}
5027
5028/* ===== SEPET IKON ===== */
5029.lux-bag{
5030  position:absolute;
5031  bottom:12px;
5032  right:12px;
5033  z-index:7;
5034  width:34px;
5035  height:34px;
5036  display:inline-flex;
5037  align-items:center;
5038  justify-content:center;
5039  background:rgba(255,255,255,.92);
5040  border:1px solid rgba(0,0,0,.10);
5041  border-radius:10px;
5042  cursor:pointer;
5043  transition:.2s ease;
5044}
5045.lux-bag:hover{
5046  background:#fff;
5047  border-color:rgba(0,0,0,.25);
5048}
5049.lux-bag.is-loading{
5050  opacity:.6;
5051  cursor:wait;
5052}
5053.lux-bag.is-success{
5054  background:#2e7d32 !important;
5055  border-color:#2e7d32 !important;
5056  color:#fff !important;
5057}
5058.card-product.sizes-open .lux-bag{
5059  opacity:0;
5060  pointer-events:none;
5061}
5062
5063/* Loading spinner */
5064.lux-bag.is-loading i::before{
5065  content:"⏳";
5066}
5067
5068/* ===== SIZE STRIP ===== */
5069.size-strip{
5070  width:100%;
5071  max-height:0;
5072  overflow:hidden;
5073  background:#fff;
5074  display:flex;
5075  flex-wrap:wrap;
5076  transition:max-height .3s ease, border-color .3s ease;
5077  border-top:1px solid transparent;
5078  border-bottom:1px solid transparent;
5079}
5080.size-strip.open{
5081  max-height:200px;
5082  border-top-color:rgba(0,0,0,.08);
5083  border-bottom-color:rgba(0,0,0,.08);
5084}
5085.size-item{
5086  flex:1 0 auto;
5087  min-width:38px;
5088  height:42px;
5089  display:flex;
5090  align-items:center;
5091  justify-content:center;
5092  font-size:13px;
5093  font-weight:500;
5094  color:#111 !important;
5095  cursor:pointer;
5096  user-select:none;
5097  background:transparent;
5098  transition:background .15s ease, color .15s ease;
5099  border-right:1px solid rgba(0,0,0,.08);
5100}
5101.size-item:last-child{ border-right:0; }
5102.size-item:hover:not(.disabled):not(.adding){
5103  background:#000 !important;
5104  color:#fff !important;
5105}
5106.size-item.disabled{
5107  color:#111 !important;
5108  text-decoration:line-through !important;
5109  opacity:.30 !important;
5110  cursor:not-allowed;
5111}
5112.size-item.adding{
5113  background:#2e7d32 !important;
5114  color:#fff !important;
5115  cursor:wait;
5116}
5117
5118/* ===== META ===== */
5119.lux-meta{
5120  padding:12px 6px 6px;
5121  background:transparent !important;
5122}
5123.lux-brand{
5124  font-size:16px;
5125  font-weight:600;
5126  color:#111;
5127  margin-bottom:2px;
5128}
5129.lux-title{
5130  font-size:14px;
5131  font-weight:400;
5132  line-height:1.45;
5133  color:#111;
5134  margin:0;
5135}
5136.lux-price{
5137  margin-top:10px;
5138  display:flex;
5139  gap:10px;
5140  align-items:baseline;
5141  background:transparent !important;
5142}
5143.lux-price .list-price{
5144  font-size:14px;
5145  font-weight:400;
5146  color:#111;
5147  text-decoration:line-through;
5148}
5149.lux-price .sale-price{
5150  font-size:16px;
5151  font-weight:600;
5152  color:#e10b0b;
5153}
5154
5155.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
5156.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
5157</style><div class="card-product"
5158     id="card-10306"
5159     data-lux-card-id="10306"
5160     data-lux-product-link="https://www.vezzalux.com/mcq-983-full-beyaz-desenli-erkek-ayakkabi"
5161     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</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="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" 
5162        onclick="userProductFavourite('add', 10306)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
5163         id="lux-bag-10306"
5164         onclick="return luxBagClick(event, 10306);"
5165         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="list-price">12.500,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
5165<script>
5166(function(){
5167
5168  /* Bir kez kur */
5169  if(window.__luxCardInit) return;
5170  window.__luxCardInit = true;
5171
5172  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
5173  window.__luxVariantCache = window.__luxVariantCache || {};
5174
5175  function closeAll(){
5176    document.querySelectorAll('.size-strip.open').forEach(function(s){
5177      s.classList.remove('open');
5178    });
5179    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
5180      c.classList.remove('sizes-open');
5181    });
5182  }
5183
5184  function flashSuccess(productId){
5185    var bag = document.getElementById('lux-bag-' + productId);
5186    if(!bag) return;
5187    bag.classList.add('is-success');
5188    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
5189  }
5190
5191  /* Dış tıklama - kapat */
5192  document.addEventListener('click', function(e){
5193    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
5194    if(!inside) closeAll();
5195  });
5196
5197  document.addEventListener('keydown', function(e){
5198    if(e.key === 'Escape') closeAll();
5199  });
5200
5201
5202  /* ============================================
5203     MODAL KILLER - yedek güvence
5204     ============================================ */
5205  var LUX_MODAL_KILL_ACTIVE = false;
5206
5207  function killVisibleModals(){
5208    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
5209    modals.forEach(function(m){
5210      var id = (m.id || '').toLowerCase();
5211      var txt = (m.textContent || '').toLowerCase();
5212      var isCartModal = id.indexOf('cart') > -1
5213                     || id.indexOf('variant') > -1
5214                     || id.indexOf('fast') > -1
5215                     || id.indexOf('urun') > -1
5216                     || txt.indexOf('lütfen seçin') > -1;
5217
5218      if(isCartModal){
5219        if(typeof jQuery !== 'undefined'){
5220          try { jQuery(m).modal('hide'); } catch(e){}
5221        }
5222        m.classList.remove('show','in');
5223        m.style.display = 'none';
5224      }
5225    });
5226
5227    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
5228    document.body.classList.remove('modal-open');
5229    document.body.style.overflow = '';
5230    document.body.style.paddingRight = '';
5231  }
5232
5233  function startModalKill(durationMs){
5234    if(LUX_MODAL_KILL_ACTIVE) return;
5235    LUX_MODAL_KILL_ACTIVE = true;
5236    killVisibleModals();
5237    var interval = setInterval(killVisibleModals, 50);
5238    setTimeout(function(){
5239      clearInterval(interval);
5240      LUX_MODAL_KILL_ACTIVE = false;
5241    }, durationMs || 2000);
5242  }
5243
5244
5245  /* ============================================
5246     AJAX: Varyantları detay sayfasından çek
5247     ============================================
5248     Ürün detay sayfasının tam HTML'ini indir,
5249     DOMParser ile parse et, varyantları bul
5250     ============================================ */
5251  function fetchVariants(productId, productLink, callback){
5252
5253    /* Cache'te varsa hemen döndür */
5254    if(window.__luxVariantCache[productId]){
5255      callback(window.__luxVariantCache[productId]);
5256      return;
5257    }
5258
5259    fetch(productLink, {
5260      method: 'GET',
5261      credentials: 'same-origin',
5262      headers: { 'Accept': 'text/html' }
5263    })
5264    .then(function(r){ return r.text(); })
5265    .then(function(html){
5266      var parser = new DOMParser();
5267      var doc = parser.parseFromString(html, 'text/html');
5268
5269      /* Detay sayfasındaki .variant-box'ı bul */
5270      var variantBox = doc.querySelector('.variant-box');
5271      if(!variantBox){
5272        callback({ variants: [], error: 'no_variant_box' });
5273        return;
5274      }
5275
5276      /* Her varyant grubu için select'leri ve option'ları oku */
5277      var variants = [];
5278      var variantLis = variantBox.querySelectorAll('.variant');
5279
5280      variantLis.forEach(function(li, idx){
5281        var nameEl = li.querySelector('.name');
5282        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
5283
5284        var values = [];
5285
5286        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
5287        var optLinks = li.querySelectorAll('.options a');
5288
5289        if(optLinks.length > 0){
5290          optLinks.forEach(function(a){
5291            /* Beden/renk değerini doğru attribute'tan oku
5292               - data-variant-value: asıl değer (örn: "38", "KAHVE")
5293               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
5294               - textContent: fallback */
5295            var deger = a.getAttribute('data-variant-value')
5296                     || a.textContent.trim();
5297
5298            /* Stok kontrolü - birden fazla yoldan kontrol et */
5299            var isSoldOut = a.classList.contains('sold-out')
5300                         || a.classList.contains('sold_out')
5301                         || a.classList.contains('disabled')
5302                         || a.classList.contains('stoksuz')
5303                         || a.classList.contains('out-of-stock')
5304                         || a.hasAttribute('disabled')
5305                         || a.getAttribute('data-in-stock') === '0'
5306                         || a.getAttribute('data-in-stock') === 'false'
5307                         || a.getAttribute('data-stokta-var-mi') === '0'
5308                         || a.getAttribute('data-stokta-var-mi') === 'false';
5309
5310            values.push({
5311              deger: deger,
5312              inStock: !isSoldOut
5313            });
5314          });
5315        } else {
5316          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
5317          var select = li.querySelector('select');
5318          if(select){
5319            var opts = select.querySelectorAll('option');
5320            opts.forEach(function(o){
5321              if(!o.value) return;
5322              values.push({
5323                deger: o.value,
5324                inStock: !o.disabled
5325              });
5326            });
5327          }
5328        }
5329
5330        variants.push({
5331          index: idx,
5332          baslik: name,
5333          values: values
5334        });
5335      });
5336
5337      var result = { variants: variants };
5338      window.__luxVariantCache[productId] = result;
5339      callback(result);
5340    })
5341    .catch(function(err){
5342      console.error('Varyant çekme hatası:', err);
5343      callback({ variants: [], error: 'fetch_failed' });
5344    });
5345  }
5346
5347
5348  /* ============================================
5349     Beden şeridini ve gizli variant-box'ı oluştur
5350     ============================================ */
5351  function buildVariantUI(productId, data){
5352    var card = document.getElementById('card-' + productId);
5353    if(!card) return false;
5354
5355    var holder = card.querySelector('.lux-variant-box');
5356    var strip = document.getElementById('size-strip-' + productId);
5357    if(!holder || !strip) return false;
5358
5359    if(!data.variants || data.variants.length === 0){
5360      /* Varyant yok */
5361      return false;
5362    }
5363
5364    /* Çoklu değerli ilk varyantı bul (beden) */
5365    var displayVariant = null;
5366    data.variants.forEach(function(v){
5367      if(!displayVariant && v.values.length > 1){
5368        displayVariant = v;
5369      }
5370    });
5371
5372    /* Gizli variant-box HTML */
5373    var html = '<div class="variant-box"><ul>';
5374    data.variants.forEach(function(v){
5375      html += '<li class="variant">';
5376      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
5377
5378      if(v.values.length > 1){
5379        html += '<option value="">Lütfen seçin</option>';
5380      }
5381
5382      v.values.forEach(function(val, i){
5383        var selected = (v.values.length === 1) ? ' selected' : '';
5384        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
5385      });
5386
5387      html += '</select></li>';
5388    });
5389    html += '</ul></div>';
5390
5391    holder.innerHTML = html;
5392    holder.style.display = '';
5393
5394    /* Strip HTML (sadece çoklu değerli varyantlar için)
5395       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
5396    if(displayVariant){
5397      var stripHtml = '';
5398      var inStockCount = 0;
5399
5400      /* DEBUG - console'da gör */
5401      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
5402
5403      displayVariant.values.forEach(function(val){
5404        /* SADECE stokta olanları ekle */
5405        if(val.inStock === true){
5406          stripHtml += '<div class="size-item" '
5407                    + 'data-urun-id="' + productId + '" '
5408                    + 'data-varyant-deger="' + val.deger + '" '
5409                    + 'onclick="return luxAddVariant(event, this);">'
5410                    + val.deger + '</div>';
5411          inStockCount++;
5412        }
5413      });
5414
5415      /* Eğer stokta hiç beden yoksa şeridi gösterme */
5416      if(inStockCount === 0){
5417        strip.setAttribute('data-loaded', '1');
5418        strip.setAttribute('data-has-variants', '0');
5419        return false;
5420      }
5421
5422      strip.innerHTML = stripHtml;
5423      strip.setAttribute('data-loaded', '1');
5424      strip.setAttribute('data-has-variants', '1');
5425      return true;
5426    } else {
5427      strip.setAttribute('data-loaded', '1');
5428      strip.setAttribute('data-has-variants', '0');
5429      return false;
5430    }
5431  }
5432
5433
5434  /* ============================================
5435     SEPET IKONU TIKLAMASI
5436     ============================================ */
5437  window.luxBagClick = function(ev, productId){
5438    ev.preventDefault();
5439    ev.stopPropagation();
5440
5441    var card = document.getElementById('card-' + productId);
5442    var strip = document.getElementById('size-strip-' + productId);
5443    var bag = document.getElementById('lux-bag-' + productId);
5444    if(!card || !strip) return false;
5445
5446    /* Strip zaten yüklenmişse direkt davran */
5447    if(strip.getAttribute('data-loaded') === '1'){
5448      if(strip.getAttribute('data-has-variants') === '1'){
5449        toggleStrip(productId);
5450      } else {
5451        addToCartSmart(productId);
5452      }
5453      return false;
5454    }
5455
5456    /* İlk tıklama - AJAX ile varyantları çek */
5457    bag.classList.add('is-loading');
5458    var productLink = card.getAttribute('data-lux-product-link');
5459
5460    fetchVariants(productId, productLink, function(data){
5461      bag.classList.remove('is-loading');
5462
5463      var hasVariants = buildVariantUI(productId, data);
5464
5465      if(hasVariants){
5466        /* Bedenler var - şeridi aç */
5467        toggleStrip(productId);
5468      } else {
5469        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
5470        addToCartSmart(productId);
5471      }
5472    });
5473
5474    return false;
5475  };
5476
5477  function toggleStrip(productId){
5478    var strip = document.getElementById('size-strip-' + productId);
5479    var card = document.getElementById('card-' + productId);
5480    if(!strip) return;
5481
5482    document.querySelectorAll('.size-strip.open').forEach(function(s){
5483      if(s !== strip) s.classList.remove('open');
5484    });
5485    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
5486      if(c !== card) c.classList.remove('sizes-open');
5487    });
5488
5489    strip.classList.toggle('open');
5490    if(card) card.classList.toggle('sizes-open');
5491  }
5492
5493
5494  /* ============================================
5495     BEDEN TIKLAMASI
5496     ============================================ */
5497  window.luxAddVariant = function(ev, elem){
5498    ev.preventDefault();
5499    ev.stopPropagation();
5500
5501    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
5502
5503    var productId = elem.getAttribute('data-urun-id');
5504    var varyantDeger = elem.getAttribute('data-varyant-deger');
5505
5506    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
5507    if(!holder) return false;
5508
5509    /* Seçilen bedeni ilk select'e yaz */
5510    var firstSelect = holder.querySelector('select[data-variant="0"]');
5511    if(firstSelect){
5512      firstSelect.value = varyantDeger;
5513      if(typeof jQuery !== "undefined"){
5514        jQuery(firstSelect).val(varyantDeger).trigger('change');
5515      }
5516    }
5517
5518    /* Diğer select'lere ilk geçerli değeri koy */
5519    var allSelects = holder.querySelectorAll('select[data-variant]');
5520    allSelects.forEach(function(sel, idx){
5521      if(idx === 0) return;
5522      if(sel.value) return;
5523      var options = sel.querySelectorAll('option');
5524      for(var i = 0; i < options.length; i++){
5525        if(options[i].value){
5526          sel.value = options[i].value;
5527          if(typeof jQuery !== "undefined"){
5528            jQuery(sel).val(options[i].value).trigger('change');
5529          }
5530          break;
5531        }
5532      }
5533    });
5534
5535    /* Görsel feedback */
5536    elem.classList.add('adding');
5537    var originalText = elem.textContent;
5538    elem.textContent = '✓';
5539
5540    /* Sepete ekle */
5541    addToCartSmart(productId, {
5542      checkVariant: true,
5543      variantCount: allSelects.length,
5544      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
5545    });
5546
5547    setTimeout(function(){
5548      elem.textContent = originalText;
5549      elem.classList.remove('adding');
5550      closeAll();
5551    }, 800);
5552
5553    return false;
5554  };
5555
5556
5557  /* ============================================
5558     SEPETE EKLE - Modal killer ile
5559     ============================================ */
5560  function addToCartSmart(productId, extraOptions){
5561    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
5562
5563    var options = {
5564      quantity: 1,
5565      hideNativeModal: 'lux-card-' + productId
5566    };
5567
5568    if(extraOptions){
5569      Object.keys(extraOptions).forEach(function(k){
5570        options[k] = extraOptions[k];
5571      });
5572    } else if(holder){
5573      var selects = holder.querySelectorAll('select[data-variant]');
5574      if(selects.length > 0){
5575        options.checkVariant = true;
5576        options.variantCount = selects.length;
5577        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
5578      }
5579    }
5580
5581    startModalKill(2000);
5582
5583    if(typeof addCart === "function"){
5584      try {
5585        addCart(productId, 'card', options);
5586        flashSuccess(productId);
5587      } catch(err){
5588        console.error('Sepete ekleme hatası:', err);
5589      }
5590    }
5591  }
5592
5593})();
5594</script>
5594</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
5595                             data-lux-product-shell="1"
5596                             data-lux-page="1"><style>
5597@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
5598
5599/* ===== VEZZA LUX CARD ===== */
5600.card-product{
5601  font-family:'Poppins',sans-serif;
5602  background:#fff !important;
5603  position:relative;
5604}
5605.card-product-inner{
5606  background:transparent !important;
5607  position:relative;
5608}
5609.card-product .c-p-i-link,
5610.card-product a{
5611  background:transparent !important;
5612}
5613.card-product-inner > div{
5614  background:transparent !important;
5615}
5616.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
5617  background:transparent !important;
5618}
5619.card-product .card-product-content,
5620.card-product .price-group,
5621.card-product .prices{
5622  background:transparent !important;
5623}
5624[class*="skeleton"],
5625[class*="placeholder"],
5626[class*="loading"]{
5627  background:transparent !important;
5628}
5629
5630/* ===== IMAGE AREA - KARE GÖRSEL ===== */
5631.image-wrapper{
5632  position:relative;
5633  width:100%;
5634  aspect-ratio:1/1;
5635  overflow:hidden;
5636  background:#fff !important;
5637}
5638
5639.image{
5640  position:relative;
5641  width:100%;
5642  height:100%;
5643}
5644
5645.image-wrapper img{
5646  width:100% !important;
5647  height:100% !important;
5648  object-fit:cover !important;
5649  object-position:center center !important;
5650  display:block;
5651  transition:transform .35s ease;
5652}
5653
5654/* ===== DISCOUNT ===== */
5655.discount{
5656  position:absolute;
5657  top:12px;
5658  left:12px;
5659  width:28px;
5660  height:48px;
5661  background:#e10b0b;
5662  color:#fff;
5663  font-size:12px;
5664  font-weight:600;
5665  display:flex;
5666  align-items:center;
5667  justify-content:center;
5668  writing-mode:vertical-rl;
5669  transform:rotate(180deg);
5670  letter-spacing:.5px;
5671  z-index:7;
5672}
5673
5674/* ===== FAV ===== */
5675.lux-fav{
5676  position:absolute;
5677  top:12px;
5678  right:12px;
5679  z-index:7;
5680}
5681.lux-fav a,
5682.lux-fav button{
5683  background:transparent !important;
5684  border:0 !important;
5685  padding:0 !important;
5686  cursor:pointer;
5687  display:inline-flex;
5688  align-items:center;
5689  justify-content:center;
5690}
5691
5692/* ===== SEPET IKON ===== */
5693.lux-bag{
5694  position:absolute;
5695  bottom:12px;
5696  right:12px;
5697  z-index:7;
5698  width:34px;
5699  height:34px;
5700  display:inline-flex;
5701  align-items:center;
5702  justify-content:center;
5703  background:rgba(255,255,255,.92);
5704  border:1px solid rgba(0,0,0,.10);
5705  border-radius:10px;
5706  cursor:pointer;
5707  transition:.2s ease;
5708}
5709.lux-bag:hover{
5710  background:#fff;
5711  border-color:rgba(0,0,0,.25);
5712}
5713.lux-bag.is-loading{
5714  opacity:.6;
5715  cursor:wait;
5716}
5717.lux-bag.is-success{
5718  background:#2e7d32 !important;
5719  border-color:#2e7d32 !important;
5720  color:#fff !important;
5721}
5722.card-product.sizes-open .lux-bag{
5723  opacity:0;
5724  pointer-events:none;
5725}
5726
5727/* Loading spinner */
5728.lux-bag.is-loading i::before{
5729  content:"⏳";
5730}
5731
5732/* ===== SIZE STRIP ===== */
5733.size-strip{
5734  width:100%;
5735  max-height:0;
5736  overflow:hidden;
5737  background:#fff;
5738  display:flex;
5739  flex-wrap:wrap;
5740  transition:max-height .3s ease, border-color .3s ease;
5741  border-top:1px solid transparent;
5742  border-bottom:1px solid transparent;
5743}
5744.size-strip.open{
5745  max-height:200px;
5746  border-top-color:rgba(0,0,0,.08);
5747  border-bottom-color:rgba(0,0,0,.08);
5748}
5749.size-item{
5750  flex:1 0 auto;
5751  min-width:38px;
5752  height:42px;
5753  display:flex;
5754  align-items:center;
5755  justify-content:center;
5756  font-size:13px;
5757  font-weight:500;
5758  color:#111 !important;
5759  cursor:pointer;
5760  user-select:none;
5761  background:transparent;
5762  transition:background .15s ease, color .15s ease;
5763  border-right:1px solid rgba(0,0,0,.08);
5764}
5765.size-item:last-child{ border-right:0; }
5766.size-item:hover:not(.disabled):not(.adding){
5767  background:#000 !important;
5768  color:#fff !important;
5769}
5770.size-item.disabled{
5771  color:#111 !important;
5772  text-decoration:line-through !important;
5773  opacity:.30 !important;
5774  cursor:not-allowed;
5775}
5776.size-item.adding{
5777  background:#2e7d32 !important;
5778  color:#fff !important;
5779  cursor:wait;
5780}
5781
5782/* ===== META ===== */
5783.lux-meta{
5784  padding:12px 6px 6px;
5785  background:transparent !important;
5786}
5787.lux-brand{
5788  font-size:16px;
5789  font-weight:600;
5790  color:#111;
5791  margin-bottom:2px;
5792}
5793.lux-title{
5794  font-size:14px;
5795  font-weight:400;
5796  line-height:1.45;
5797  color:#111;
5798  margin:0;
5799}
5800.lux-price{
5801  margin-top:10px;
5802  display:flex;
5803  gap:10px;
5804  align-items:baseline;
5805  background:transparent !important;
5806}
5807.lux-price .list-price{
5808  font-size:14px;
5809  font-weight:400;
5810  color:#111;
5811  text-decoration:line-through;
5812}
5813.lux-price .sale-price{
5814  font-size:16px;
5815  font-weight:600;
5816  color:#e10b0b;
5817}
5818
5819.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
5820.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
5821</style><div class="card-product"
5822     id="card-10162"
5823     data-lux-card-id="10162"
5824     data-lux-product-link="https://www.vezzalux.com/gg-805-arkasi-kirmizi-erkek-ayakkabi"
5825     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%38</div><a href="https://www.vezzalux.com/gg-805-arkasi-kirmizi-erkek-ayakkabi" class="c-p-i-link" title="Gg 805 Arkası Kırmızı Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c6fe7ba1c-49812934-sw1200sh1200.webp" alt="Gg 805 Arkası Kırmızı Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c6fe7ba1c-49812934-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c6f6a6a17-56294488-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" 
5826        onclick="userProductFavourite('add', 10162)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
5827         id="lux-bag-10162"
5828         onclick="return luxBagClick(event, 10162);"
5829         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10162" style="display:none;"></div><div class="size-strip" id="size-strip-10162" data-loaded="0"></div><a href="https://www.vezzalux.com/gg-805-arkasi-kirmizi-erkek-ayakkabi" class="c-p-i-link" title="Gg 805 Arkası Kırmızı Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Golden Goose</div><div class="lux-title">Gg 805 Arkası Kırmızı Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">10.499,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
5829<script>
5830(function(){
5831
5832  /* Bir kez kur */
5833  if(window.__luxCardInit) return;
5834  window.__luxCardInit = true;
5835
5836  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
5837  window.__luxVariantCache = window.__luxVariantCache || {};
5838
5839  function closeAll(){
5840    document.querySelectorAll('.size-strip.open').forEach(function(s){
5841      s.classList.remove('open');
5842    });
5843    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
5844      c.classList.remove('sizes-open');
5845    });
5846  }
5847
5848  function flashSuccess(productId){
5849    var bag = document.getElementById('lux-bag-' + productId);
5850    if(!bag) return;
5851    bag.classList.add('is-success');
5852    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
5853  }
5854
5855  /* Dış tıklama - kapat */
5856  document.addEventListener('click', function(e){
5857    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
5858    if(!inside) closeAll();
5859  });
5860
5861  document.addEventListener('keydown', function(e){
5862    if(e.key === 'Escape') closeAll();
5863  });
5864
5865
5866  /* ============================================
5867     MODAL KILLER - yedek güvence
5868     ============================================ */
5869  var LUX_MODAL_KILL_ACTIVE = false;
5870
5871  function killVisibleModals(){
5872    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
5873    modals.forEach(function(m){
5874      var id = (m.id || '').toLowerCase();
5875      var txt = (m.textContent || '').toLowerCase();
5876      var isCartModal = id.indexOf('cart') > -1
5877                     || id.indexOf('variant') > -1
5878                     || id.indexOf('fast') > -1
5879                     || id.indexOf('urun') > -1
5880                     || txt.indexOf('lütfen seçin') > -1;
5881
5882      if(isCartModal){
5883        if(typeof jQuery !== 'undefined'){
5884          try { jQuery(m).modal('hide'); } catch(e){}
5885        }
5886        m.classList.remove('show','in');
5887        m.style.display = 'none';
5888      }
5889    });
5890
5891    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
5892    document.body.classList.remove('modal-open');
5893    document.body.style.overflow = '';
5894    document.body.style.paddingRight = '';
5895  }
5896
5897  function startModalKill(durationMs){
5898    if(LUX_MODAL_KILL_ACTIVE) return;
5899    LUX_MODAL_KILL_ACTIVE = true;
5900    killVisibleModals();
5901    var interval = setInterval(killVisibleModals, 50);
5902    setTimeout(function(){
5903      clearInterval(interval);
5904      LUX_MODAL_KILL_ACTIVE = false;
5905    }, durationMs || 2000);
5906  }
5907
5908
5909  /* ============================================
5910     AJAX: Varyantları detay sayfasından çek
5911     ============================================
5912     Ürün detay sayfasının tam HTML'ini indir,
5913     DOMParser ile parse et, varyantları bul
5914     ============================================ */
5915  function fetchVariants(productId, productLink, callback){
5916
5917    /* Cache'te varsa hemen döndür */
5918    if(window.__luxVariantCache[productId]){
5919      callback(window.__luxVariantCache[productId]);
5920      return;
5921    }
5922
5923    fetch(productLink, {
5924      method: 'GET',
5925      credentials: 'same-origin',
5926      headers: { 'Accept': 'text/html' }
5927    })
5928    .then(function(r){ return r.text(); })
5929    .then(function(html){
5930      var parser = new DOMParser();
5931      var doc = parser.parseFromString(html, 'text/html');
5932
5933      /* Detay sayfasındaki .variant-box'ı bul */
5934      var variantBox = doc.querySelector('.variant-box');
5935      if(!variantBox){
5936        callback({ variants: [], error: 'no_variant_box' });
5937        return;
5938      }
5939
5940      /* Her varyant grubu için select'leri ve option'ları oku */
5941      var variants = [];
5942      var variantLis = variantBox.querySelectorAll('.variant');
5943
5944      variantLis.forEach(function(li, idx){
5945        var nameEl = li.querySelector('.name');
5946        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
5947
5948        var values = [];
5949
5950        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
5951        var optLinks = li.querySelectorAll('.options a');
5952
5953        if(optLinks.length > 0){
5954          optLinks.forEach(function(a){
5955            /* Beden/renk değerini doğru attribute'tan oku
5956               - data-variant-value: asıl değer (örn: "38", "KAHVE")
5957               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
5958               - textContent: fallback */
5959            var deger = a.getAttribute('data-variant-value')
5960                     || a.textContent.trim();
5961
5962            /* Stok kontrolü - birden fazla yoldan kontrol et */
5963            var isSoldOut = a.classList.contains('sold-out')
5964                         || a.classList.contains('sold_out')
5965                         || a.classList.contains('disabled')
5966                         || a.classList.contains('stoksuz')
5967                         || a.classList.contains('out-of-stock')
5968                         || a.hasAttribute('disabled')
5969                         || a.getAttribute('data-in-stock') === '0'
5970                         || a.getAttribute('data-in-stock') === 'false'
5971                         || a.getAttribute('data-stokta-var-mi') === '0'
5972                         || a.getAttribute('data-stokta-var-mi') === 'false';
5973
5974            values.push({
5975              deger: deger,
5976              inStock: !isSoldOut
5977            });
5978          });
5979        } else {
5980          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
5981          var select = li.querySelector('select');
5982          if(select){
5983            var opts = select.querySelectorAll('option');
5984            opts.forEach(function(o){
5985              if(!o.value) return;
5986              values.push({
5987                deger: o.value,
5988                inStock: !o.disabled
5989              });
5990            });
5991          }
5992        }
5993
5994        variants.push({
5995          index: idx,
5996          baslik: name,
5997          values: values
5998        });
5999      });
6000
6001      var result = { variants: variants };
6002      window.__luxVariantCache[productId] = result;
6003      callback(result);
6004    })
6005    .catch(function(err){
6006      console.error('Varyant çekme hatası:', err);
6007      callback({ variants: [], error: 'fetch_failed' });
6008    });
6009  }
6010
6011
6012  /* ============================================
6013     Beden şeridini ve gizli variant-box'ı oluştur
6014     ============================================ */
6015  function buildVariantUI(productId, data){
6016    var card = document.getElementById('card-' + productId);
6017    if(!card) return false;
6018
6019    var holder = card.querySelector('.lux-variant-box');
6020    var strip = document.getElementById('size-strip-' + productId);
6021    if(!holder || !strip) return false;
6022
6023    if(!data.variants || data.variants.length === 0){
6024      /* Varyant yok */
6025      return false;
6026    }
6027
6028    /* Çoklu değerli ilk varyantı bul (beden) */
6029    var displayVariant = null;
6030    data.variants.forEach(function(v){
6031      if(!displayVariant && v.values.length > 1){
6032        displayVariant = v;
6033      }
6034    });
6035
6036    /* Gizli variant-box HTML */
6037    var html = '<div class="variant-box"><ul>';
6038    data.variants.forEach(function(v){
6039      html += '<li class="variant">';
6040      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
6041
6042      if(v.values.length > 1){
6043        html += '<option value="">Lütfen seçin</option>';
6044      }
6045
6046      v.values.forEach(function(val, i){
6047        var selected = (v.values.length === 1) ? ' selected' : '';
6048        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
6049      });
6050
6051      html += '</select></li>';
6052    });
6053    html += '</ul></div>';
6054
6055    holder.innerHTML = html;
6056    holder.style.display = '';
6057
6058    /* Strip HTML (sadece çoklu değerli varyantlar için)
6059       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
6060    if(displayVariant){
6061      var stripHtml = '';
6062      var inStockCount = 0;
6063
6064      /* DEBUG - console'da gör */
6065      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
6066
6067      displayVariant.values.forEach(function(val){
6068        /* SADECE stokta olanları ekle */
6069        if(val.inStock === true){
6070          stripHtml += '<div class="size-item" '
6071                    + 'data-urun-id="' + productId + '" '
6072                    + 'data-varyant-deger="' + val.deger + '" '
6073                    + 'onclick="return luxAddVariant(event, this);">'
6074                    + val.deger + '</div>';
6075          inStockCount++;
6076        }
6077      });
6078
6079      /* Eğer stokta hiç beden yoksa şeridi gösterme */
6080      if(inStockCount === 0){
6081        strip.setAttribute('data-loaded', '1');
6082        strip.setAttribute('data-has-variants', '0');
6083        return false;
6084      }
6085
6086      strip.innerHTML = stripHtml;
6087      strip.setAttribute('data-loaded', '1');
6088      strip.setAttribute('data-has-variants', '1');
6089      return true;
6090    } else {
6091      strip.setAttribute('data-loaded', '1');
6092      strip.setAttribute('data-has-variants', '0');
6093      return false;
6094    }
6095  }
6096
6097
6098  /* ============================================
6099     SEPET IKONU TIKLAMASI
6100     ============================================ */
6101  window.luxBagClick = function(ev, productId){
6102    ev.preventDefault();
6103    ev.stopPropagation();
6104
6105    var card = document.getElementById('card-' + productId);
6106    var strip = document.getElementById('size-strip-' + productId);
6107    var bag = document.getElementById('lux-bag-' + productId);
6108    if(!card || !strip) return false;
6109
6110    /* Strip zaten yüklenmişse direkt davran */
6111    if(strip.getAttribute('data-loaded') === '1'){
6112      if(strip.getAttribute('data-has-variants') === '1'){
6113        toggleStrip(productId);
6114      } else {
6115        addToCartSmart(productId);
6116      }
6117      return false;
6118    }
6119
6120    /* İlk tıklama - AJAX ile varyantları çek */
6121    bag.classList.add('is-loading');
6122    var productLink = card.getAttribute('data-lux-product-link');
6123
6124    fetchVariants(productId, productLink, function(data){
6125      bag.classList.remove('is-loading');
6126
6127      var hasVariants = buildVariantUI(productId, data);
6128
6129      if(hasVariants){
6130        /* Bedenler var - şeridi aç */
6131        toggleStrip(productId);
6132      } else {
6133        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
6134        addToCartSmart(productId);
6135      }
6136    });
6137
6138    return false;
6139  };
6140
6141  function toggleStrip(productId){
6142    var strip = document.getElementById('size-strip-' + productId);
6143    var card = document.getElementById('card-' + productId);
6144    if(!strip) return;
6145
6146    document.querySelectorAll('.size-strip.open').forEach(function(s){
6147      if(s !== strip) s.classList.remove('open');
6148    });
6149    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
6150      if(c !== card) c.classList.remove('sizes-open');
6151    });
6152
6153    strip.classList.toggle('open');
6154    if(card) card.classList.toggle('sizes-open');
6155  }
6156
6157
6158  /* ============================================
6159     BEDEN TIKLAMASI
6160     ============================================ */
6161  window.luxAddVariant = function(ev, elem){
6162    ev.preventDefault();
6163    ev.stopPropagation();
6164
6165    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
6166
6167    var productId = elem.getAttribute('data-urun-id');
6168    var varyantDeger = elem.getAttribute('data-varyant-deger');
6169
6170    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
6171    if(!holder) return false;
6172
6173    /* Seçilen bedeni ilk select'e yaz */
6174    var firstSelect = holder.querySelector('select[data-variant="0"]');
6175    if(firstSelect){
6176      firstSelect.value = varyantDeger;
6177      if(typeof jQuery !== "undefined"){
6178        jQuery(firstSelect).val(varyantDeger).trigger('change');
6179      }
6180    }
6181
6182    /* Diğer select'lere ilk geçerli değeri koy */
6183    var allSelects = holder.querySelectorAll('select[data-variant]');
6184    allSelects.forEach(function(sel, idx){
6185      if(idx === 0) return;
6186      if(sel.value) return;
6187      var options = sel.querySelectorAll('option');
6188      for(var i = 0; i < options.length; i++){
6189        if(options[i].value){
6190          sel.value = options[i].value;
6191          if(typeof jQuery !== "undefined"){
6192            jQuery(sel).val(options[i].value).trigger('change');
6193          }
6194          break;
6195        }
6196      }
6197    });
6198
6199    /* Görsel feedback */
6200    elem.classList.add('adding');
6201    var originalText = elem.textContent;
6202    elem.textContent = '✓';
6203
6204    /* Sepete ekle */
6205    addToCartSmart(productId, {
6206      checkVariant: true,
6207      variantCount: allSelects.length,
6208      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
6209    });
6210
6211    setTimeout(function(){
6212      elem.textContent = originalText;
6213      elem.classList.remove('adding');
6214      closeAll();
6215    }, 800);
6216
6217    return false;
6218  };
6219
6220
6221  /* ============================================
6222     SEPETE EKLE - Modal killer ile
6223     ============================================ */
6224  function addToCartSmart(productId, extraOptions){
6225    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
6226
6227    var options = {
6228      quantity: 1,
6229      hideNativeModal: 'lux-card-' + productId
6230    };
6231
6232    if(extraOptions){
6233      Object.keys(extraOptions).forEach(function(k){
6234        options[k] = extraOptions[k];
6235      });
6236    } else if(holder){
6237      var selects = holder.querySelectorAll('select[data-variant]');
6238      if(selects.length > 0){
6239        options.checkVariant = true;
6240        options.variantCount = selects.length;
6241        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
6242      }
6243    }
6244
6245    startModalKill(2000);
6246
6247    if(typeof addCart === "function"){
6248      try {
6249        addCart(productId, 'card', options);
6250        flashSuccess(productId);
6251      } catch(err){
6252        console.error('Sepete ekleme hatası:', err);
6253      }
6254    }
6255  }
6256
6257})();
6258</script>
6258</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
6259                             data-lux-product-shell="1"
6260                             data-lux-page="1"><style>
6261@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
6262
6263/* ===== VEZZA LUX CARD ===== */
6264.card-product{
6265  font-family:'Poppins',sans-serif;
6266  background:#fff !important;
6267  position:relative;
6268}
6269.card-product-inner{
6270  background:transparent !important;
6271  position:relative;
6272}
6273.card-product .c-p-i-link,
6274.card-product a{
6275  background:transparent !important;
6276}
6277.card-product-inner > div{
6278  background:transparent !important;
6279}
6280.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
6281  background:transparent !important;
6282}
6283.card-product .card-product-content,
6284.card-product .price-group,
6285.card-product .prices{
6286  background:transparent !important;
6287}
6288[class*="skeleton"],
6289[class*="placeholder"],
6290[class*="loading"]{
6291  background:transparent !important;
6292}
6293
6294/* ===== IMAGE AREA - KARE GÖRSEL ===== */
6295.image-wrapper{
6296  position:relative;
6297  width:100%;
6298  aspect-ratio:1/1;
6299  overflow:hidden;
6300  background:#fff !important;
6301}
6302
6303.image{
6304  position:relative;
6305  width:100%;
6306  height:100%;
6307}
6308
6309.image-wrapper img{
6310  width:100% !important;
6311  height:100% !important;
6312  object-fit:cover !important;
6313  object-position:center center !important;
6314  display:block;
6315  transition:transform .35s ease;
6316}
6317
6318/* ===== DISCOUNT ===== */
6319.discount{
6320  position:absolute;
6321  top:12px;
6322  left:12px;
6323  width:28px;
6324  height:48px;
6325  background:#e10b0b;
6326  color:#fff;
6327  font-size:12px;
6328  font-weight:600;
6329  display:flex;
6330  align-items:center;
6331  justify-content:center;
6332  writing-mode:vertical-rl;
6333  transform:rotate(180deg);
6334  letter-spacing:.5px;
6335  z-index:7;
6336}
6337
6338/* ===== FAV ===== */
6339.lux-fav{
6340  position:absolute;
6341  top:12px;
6342  right:12px;
6343  z-index:7;
6344}
6345.lux-fav a,
6346.lux-fav button{
6347  background:transparent !important;
6348  border:0 !important;
6349  padding:0 !important;
6350  cursor:pointer;
6351  display:inline-flex;
6352  align-items:center;
6353  justify-content:center;
6354}
6355
6356/* ===== SEPET IKON ===== */
6357.lux-bag{
6358  position:absolute;
6359  bottom:12px;
6360  right:12px;
6361  z-index:7;
6362  width:34px;
6363  height:34px;
6364  display:inline-flex;
6365  align-items:center;
6366  justify-content:center;
6367  background:rgba(255,255,255,.92);
6368  border:1px solid rgba(0,0,0,.10);
6369  border-radius:10px;
6370  cursor:pointer;
6371  transition:.2s ease;
6372}
6373.lux-bag:hover{
6374  background:#fff;
6375  border-color:rgba(0,0,0,.25);
6376}
6377.lux-bag.is-loading{
6378  opacity:.6;
6379  cursor:wait;
6380}
6381.lux-bag.is-success{
6382  background:#2e7d32 !important;
6383  border-color:#2e7d32 !important;
6384  color:#fff !important;
6385}
6386.card-product.sizes-open .lux-bag{
6387  opacity:0;
6388  pointer-events:none;
6389}
6390
6391/* Loading spinner */
6392.lux-bag.is-loading i::before{
6393  content:"⏳";
6394}
6395
6396/* ===== SIZE STRIP ===== */
6397.size-strip{
6398  width:100%;
6399  max-height:0;
6400  overflow:hidden;
6401  background:#fff;
6402  display:flex;
6403  flex-wrap:wrap;
6404  transition:max-height .3s ease, border-color .3s ease;
6405  border-top:1px solid transparent;
6406  border-bottom:1px solid transparent;
6407}
6408.size-strip.open{
6409  max-height:200px;
6410  border-top-color:rgba(0,0,0,.08);
6411  border-bottom-color:rgba(0,0,0,.08);
6412}
6413.size-item{
6414  flex:1 0 auto;
6415  min-width:38px;
6416  height:42px;
6417  display:flex;
6418  align-items:center;
6419  justify-content:center;
6420  font-size:13px;
6421  font-weight:500;
6422  color:#111 !important;
6423  cursor:pointer;
6424  user-select:none;
6425  background:transparent;
6426  transition:background .15s ease, color .15s ease;
6427  border-right:1px solid rgba(0,0,0,.08);
6428}
6429.size-item:last-child{ border-right:0; }
6430.size-item:hover:not(.disabled):not(.adding){
6431  background:#000 !important;
6432  color:#fff !important;
6433}
6434.size-item.disabled{
6435  color:#111 !important;
6436  text-decoration:line-through !important;
6437  opacity:.30 !important;
6438  cursor:not-allowed;
6439}
6440.size-item.adding{
6441  background:#2e7d32 !important;
6442  color:#fff !important;
6443  cursor:wait;
6444}
6445
6446/* ===== META ===== */
6447.lux-meta{
6448  padding:12px 6px 6px;
6449  background:transparent !important;
6450}
6451.lux-brand{
6452  font-size:16px;
6453  font-weight:600;
6454  color:#111;
6455  margin-bottom:2px;
6456}
6457.lux-title{
6458  font-size:14px;
6459  font-weight:400;
6460  line-height:1.45;
6461  color:#111;
6462  margin:0;
6463}
6464.lux-price{
6465  margin-top:10px;
6466  display:flex;
6467  gap:10px;
6468  align-items:baseline;
6469  background:transparent !important;
6470}
6471.lux-price .list-price{
6472  font-size:14px;
6473  font-weight:400;
6474  color:#111;
6475  text-decoration:line-through;
6476}
6477.lux-price .sale-price{
6478  font-size:16px;
6479  font-weight:600;
6480  color:#e10b0b;
6481}
6482
6483.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
6484.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
6485</style><div class="card-product"
6486     id="card-10262"
6487     data-lux-card-id="10262"
6488     data-lux-product-link="https://www.vezzalux.com/fendi-931-siyah-sari-beyaz-erkek-ayakkabi"
6489     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</div><a href="https://www.vezzalux.com/fendi-931-siyah-sari-beyaz-erkek-ayakkabi" class="c-p-i-link" title="Fendi 931 Siyah Sarı Beyaz Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c97009810-81840931-sw1200sh1200.webp" alt="Fendi 931 Siyah Sarı Beyaz Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c97009810-81840931-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c96ba54fb-36108421-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" 
6490        onclick="userProductFavourite('add', 10262)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
6491         id="lux-bag-10262"
6492         onclick="return luxBagClick(event, 10262);"
6493         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10262" style="display:none;"></div><div class="size-strip" id="size-strip-10262" data-loaded="0"></div><a href="https://www.vezzalux.com/fendi-931-siyah-sari-beyaz-erkek-ayakkabi" class="c-p-i-link" title="Fendi 931 Siyah Sarı Beyaz Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Fendi</div><div class="lux-title">Fendi 931 Siyah Sarı Beyaz Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">12.500,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
6493<script>
6494(function(){
6495
6496  /* Bir kez kur */
6497  if(window.__luxCardInit) return;
6498  window.__luxCardInit = true;
6499
6500  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
6501  window.__luxVariantCache = window.__luxVariantCache || {};
6502
6503  function closeAll(){
6504    document.querySelectorAll('.size-strip.open').forEach(function(s){
6505      s.classList.remove('open');
6506    });
6507    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
6508      c.classList.remove('sizes-open');
6509    });
6510  }
6511
6512  function flashSuccess(productId){
6513    var bag = document.getElementById('lux-bag-' + productId);
6514    if(!bag) return;
6515    bag.classList.add('is-success');
6516    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
6517  }
6518
6519  /* Dış tıklama - kapat */
6520  document.addEventListener('click', function(e){
6521    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
6522    if(!inside) closeAll();
6523  });
6524
6525  document.addEventListener('keydown', function(e){
6526    if(e.key === 'Escape') closeAll();
6527  });
6528
6529
6530  /* ============================================
6531     MODAL KILLER - yedek güvence
6532     ============================================ */
6533  var LUX_MODAL_KILL_ACTIVE = false;
6534
6535  function killVisibleModals(){
6536    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
6537    modals.forEach(function(m){
6538      var id = (m.id || '').toLowerCase();
6539      var txt = (m.textContent || '').toLowerCase();
6540      var isCartModal = id.indexOf('cart') > -1
6541                     || id.indexOf('variant') > -1
6542                     || id.indexOf('fast') > -1
6543                     || id.indexOf('urun') > -1
6544                     || txt.indexOf('lütfen seçin') > -1;
6545
6546      if(isCartModal){
6547        if(typeof jQuery !== 'undefined'){
6548          try { jQuery(m).modal('hide'); } catch(e){}
6549        }
6550        m.classList.remove('show','in');
6551        m.style.display = 'none';
6552      }
6553    });
6554
6555    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
6556    document.body.classList.remove('modal-open');
6557    document.body.style.overflow = '';
6558    document.body.style.paddingRight = '';
6559  }
6560
6561  function startModalKill(durationMs){
6562    if(LUX_MODAL_KILL_ACTIVE) return;
6563    LUX_MODAL_KILL_ACTIVE = true;
6564    killVisibleModals();
6565    var interval = setInterval(killVisibleModals, 50);
6566    setTimeout(function(){
6567      clearInterval(interval);
6568      LUX_MODAL_KILL_ACTIVE = false;
6569    }, durationMs || 2000);
6570  }
6571
6572
6573  /* ============================================
6574     AJAX: Varyantları detay sayfasından çek
6575     ============================================
6576     Ürün detay sayfasının tam HTML'ini indir,
6577     DOMParser ile parse et, varyantları bul
6578     ============================================ */
6579  function fetchVariants(productId, productLink, callback){
6580
6581    /* Cache'te varsa hemen döndür */
6582    if(window.__luxVariantCache[productId]){
6583      callback(window.__luxVariantCache[productId]);
6584      return;
6585    }
6586
6587    fetch(productLink, {
6588      method: 'GET',
6589      credentials: 'same-origin',
6590      headers: { 'Accept': 'text/html' }
6591    })
6592    .then(function(r){ return r.text(); })
6593    .then(function(html){
6594      var parser = new DOMParser();
6595      var doc = parser.parseFromString(html, 'text/html');
6596
6597      /* Detay sayfasındaki .variant-box'ı bul */
6598      var variantBox = doc.querySelector('.variant-box');
6599      if(!variantBox){
6600        callback({ variants: [], error: 'no_variant_box' });
6601        return;
6602      }
6603
6604      /* Her varyant grubu için select'leri ve option'ları oku */
6605      var variants = [];
6606      var variantLis = variantBox.querySelectorAll('.variant');
6607
6608      variantLis.forEach(function(li, idx){
6609        var nameEl = li.querySelector('.name');
6610        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
6611
6612        var values = [];
6613
6614        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
6615        var optLinks = li.querySelectorAll('.options a');
6616
6617        if(optLinks.length > 0){
6618          optLinks.forEach(function(a){
6619            /* Beden/renk değerini doğru attribute'tan oku
6620               - data-variant-value: asıl değer (örn: "38", "KAHVE")
6621               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
6622               - textContent: fallback */
6623            var deger = a.getAttribute('data-variant-value')
6624                     || a.textContent.trim();
6625
6626            /* Stok kontrolü - birden fazla yoldan kontrol et */
6627            var isSoldOut = a.classList.contains('sold-out')
6628                         || a.classList.contains('sold_out')
6629                         || a.classList.contains('disabled')
6630                         || a.classList.contains('stoksuz')
6631                         || a.classList.contains('out-of-stock')
6632                         || a.hasAttribute('disabled')
6633                         || a.getAttribute('data-in-stock') === '0'
6634                         || a.getAttribute('data-in-stock') === 'false'
6635                         || a.getAttribute('data-stokta-var-mi') === '0'
6636                         || a.getAttribute('data-stokta-var-mi') === 'false';
6637
6638            values.push({
6639              deger: deger,
6640              inStock: !isSoldOut
6641            });
6642          });
6643        } else {
6644          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
6645          var select = li.querySelector('select');
6646          if(select){
6647            var opts = select.querySelectorAll('option');
6648            opts.forEach(function(o){
6649              if(!o.value) return;
6650              values.push({
6651                deger: o.value,
6652                inStock: !o.disabled
6653              });
6654            });
6655          }
6656        }
6657
6658        variants.push({
6659          index: idx,
6660          baslik: name,
6661          values: values
6662        });
6663      });
6664
6665      var result = { variants: variants };
6666      window.__luxVariantCache[productId] = result;
6667      callback(result);
6668    })
6669    .catch(function(err){
6670      console.error('Varyant çekme hatası:', err);
6671      callback({ variants: [], error: 'fetch_failed' });
6672    });
6673  }
6674
6675
6676  /* ============================================
6677     Beden şeridini ve gizli variant-box'ı oluştur
6678     ============================================ */
6679  function buildVariantUI(productId, data){
6680    var card = document.getElementById('card-' + productId);
6681    if(!card) return false;
6682
6683    var holder = card.querySelector('.lux-variant-box');
6684    var strip = document.getElementById('size-strip-' + productId);
6685    if(!holder || !strip) return false;
6686
6687    if(!data.variants || data.variants.length === 0){
6688      /* Varyant yok */
6689      return false;
6690    }
6691
6692    /* Çoklu değerli ilk varyantı bul (beden) */
6693    var displayVariant = null;
6694    data.variants.forEach(function(v){
6695      if(!displayVariant && v.values.length > 1){
6696        displayVariant = v;
6697      }
6698    });
6699
6700    /* Gizli variant-box HTML */
6701    var html = '<div class="variant-box"><ul>';
6702    data.variants.forEach(function(v){
6703      html += '<li class="variant">';
6704      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
6705
6706      if(v.values.length > 1){
6707        html += '<option value="">Lütfen seçin</option>';
6708      }
6709
6710      v.values.forEach(function(val, i){
6711        var selected = (v.values.length === 1) ? ' selected' : '';
6712        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
6713      });
6714
6715      html += '</select></li>';
6716    });
6717    html += '</ul></div>';
6718
6719    holder.innerHTML = html;
6720    holder.style.display = '';
6721
6722    /* Strip HTML (sadece çoklu değerli varyantlar için)
6723       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
6724    if(displayVariant){
6725      var stripHtml = '';
6726      var inStockCount = 0;
6727
6728      /* DEBUG - console'da gör */
6729      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
6730
6731      displayVariant.values.forEach(function(val){
6732        /* SADECE stokta olanları ekle */
6733        if(val.inStock === true){
6734          stripHtml += '<div class="size-item" '
6735                    + 'data-urun-id="' + productId + '" '
6736                    + 'data-varyant-deger="' + val.deger + '" '
6737                    + 'onclick="return luxAddVariant(event, this);">'
6738                    + val.deger + '</div>';
6739          inStockCount++;
6740        }
6741      });
6742
6743      /* Eğer stokta hiç beden yoksa şeridi gösterme */
6744      if(inStockCount === 0){
6745        strip.setAttribute('data-loaded', '1');
6746        strip.setAttribute('data-has-variants', '0');
6747        return false;
6748      }
6749
6750      strip.innerHTML = stripHtml;
6751      strip.setAttribute('data-loaded', '1');
6752      strip.setAttribute('data-has-variants', '1');
6753      return true;
6754    } else {
6755      strip.setAttribute('data-loaded', '1');
6756      strip.setAttribute('data-has-variants', '0');
6757      return false;
6758    }
6759  }
6760
6761
6762  /* ============================================
6763     SEPET IKONU TIKLAMASI
6764     ============================================ */
6765  window.luxBagClick = function(ev, productId){
6766    ev.preventDefault();
6767    ev.stopPropagation();
6768
6769    var card = document.getElementById('card-' + productId);
6770    var strip = document.getElementById('size-strip-' + productId);
6771    var bag = document.getElementById('lux-bag-' + productId);
6772    if(!card || !strip) return false;
6773
6774    /* Strip zaten yüklenmişse direkt davran */
6775    if(strip.getAttribute('data-loaded') === '1'){
6776      if(strip.getAttribute('data-has-variants') === '1'){
6777        toggleStrip(productId);
6778      } else {
6779        addToCartSmart(productId);
6780      }
6781      return false;
6782    }
6783
6784    /* İlk tıklama - AJAX ile varyantları çek */
6785    bag.classList.add('is-loading');
6786    var productLink = card.getAttribute('data-lux-product-link');
6787
6788    fetchVariants(productId, productLink, function(data){
6789      bag.classList.remove('is-loading');
6790
6791      var hasVariants = buildVariantUI(productId, data);
6792
6793      if(hasVariants){
6794        /* Bedenler var - şeridi aç */
6795        toggleStrip(productId);
6796      } else {
6797        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
6798        addToCartSmart(productId);
6799      }
6800    });
6801
6802    return false;
6803  };
6804
6805  function toggleStrip(productId){
6806    var strip = document.getElementById('size-strip-' + productId);
6807    var card = document.getElementById('card-' + productId);
6808    if(!strip) return;
6809
6810    document.querySelectorAll('.size-strip.open').forEach(function(s){
6811      if(s !== strip) s.classList.remove('open');
6812    });
6813    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
6814      if(c !== card) c.classList.remove('sizes-open');
6815    });
6816
6817    strip.classList.toggle('open');
6818    if(card) card.classList.toggle('sizes-open');
6819  }
6820
6821
6822  /* ============================================
6823     BEDEN TIKLAMASI
6824     ============================================ */
6825  window.luxAddVariant = function(ev, elem){
6826    ev.preventDefault();
6827    ev.stopPropagation();
6828
6829    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
6830
6831    var productId = elem.getAttribute('data-urun-id');
6832    var varyantDeger = elem.getAttribute('data-varyant-deger');
6833
6834    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
6835    if(!holder) return false;
6836
6837    /* Seçilen bedeni ilk select'e yaz */
6838    var firstSelect = holder.querySelector('select[data-variant="0"]');
6839    if(firstSelect){
6840      firstSelect.value = varyantDeger;
6841      if(typeof jQuery !== "undefined"){
6842        jQuery(firstSelect).val(varyantDeger).trigger('change');
6843      }
6844    }
6845
6846    /* Diğer select'lere ilk geçerli değeri koy */
6847    var allSelects = holder.querySelectorAll('select[data-variant]');
6848    allSelects.forEach(function(sel, idx){
6849      if(idx === 0) return;
6850      if(sel.value) return;
6851      var options = sel.querySelectorAll('option');
6852      for(var i = 0; i < options.length; i++){
6853        if(options[i].value){
6854          sel.value = options[i].value;
6855          if(typeof jQuery !== "undefined"){
6856            jQuery(sel).val(options[i].value).trigger('change');
6857          }
6858          break;
6859        }
6860      }
6861    });
6862
6863    /* Görsel feedback */
6864    elem.classList.add('adding');
6865    var originalText = elem.textContent;
6866    elem.textContent = '✓';
6867
6868    /* Sepete ekle */
6869    addToCartSmart(productId, {
6870      checkVariant: true,
6871      variantCount: allSelects.length,
6872      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
6873    });
6874
6875    setTimeout(function(){
6876      elem.textContent = originalText;
6877      elem.classList.remove('adding');
6878      closeAll();
6879    }, 800);
6880
6881    return false;
6882  };
6883
6884
6885  /* ============================================
6886     SEPETE EKLE - Modal killer ile
6887     ============================================ */
6888  function addToCartSmart(productId, extraOptions){
6889    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
6890
6891    var options = {
6892      quantity: 1,
6893      hideNativeModal: 'lux-card-' + productId
6894    };
6895
6896    if(extraOptions){
6897      Object.keys(extraOptions).forEach(function(k){
6898        options[k] = extraOptions[k];
6899      });
6900    } else if(holder){
6901      var selects = holder.querySelectorAll('select[data-variant]');
6902      if(selects.length > 0){
6903        options.checkVariant = true;
6904        options.variantCount = selects.length;
6905        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
6906      }
6907    }
6908
6909    startModalKill(2000);
6910
6911    if(typeof addCart === "function"){
6912      try {
6913        addCart(productId, 'card', options);
6914        flashSuccess(productId);
6915      } catch(err){
6916        console.error('Sepete ekleme hatası:', err);
6917      }
6918    }
6919  }
6920
6921})();
6922</script>
6922</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
6923                             data-lux-product-shell="1"
6924                             data-lux-page="1"><style>
6925@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
6926
6927/* ===== VEZZA LUX CARD ===== */
6928.card-product{
6929  font-family:'Poppins',sans-serif;
6930  background:#fff !important;
6931  position:relative;
6932}
6933.card-product-inner{
6934  background:transparent !important;
6935  position:relative;
6936}
6937.card-product .c-p-i-link,
6938.card-product a{
6939  background:transparent !important;
6940}
6941.card-product-inner > div{
6942  background:transparent !important;
6943}
6944.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
6945  background:transparent !important;
6946}
6947.card-product .card-product-content,
6948.card-product .price-group,
6949.card-product .prices{
6950  background:transparent !important;
6951}
6952[class*="skeleton"],
6953[class*="placeholder"],
6954[class*="loading"]{
6955  background:transparent !important;
6956}
6957
6958/* ===== IMAGE AREA - KARE GÖRSEL ===== */
6959.image-wrapper{
6960  position:relative;
6961  width:100%;
6962  aspect-ratio:1/1;
6963  overflow:hidden;
6964  background:#fff !important;
6965}
6966
6967.image{
6968  position:relative;
6969  width:100%;
6970  height:100%;
6971}
6972
6973.image-wrapper img{
6974  width:100% !important;
6975  height:100% !important;
6976  object-fit:cover !important;
6977  object-position:center center !important;
6978  display:block;
6979  transition:transform .35s ease;
6980}
6981
6982/* ===== DISCOUNT ===== */
6983.discount{
6984  position:absolute;
6985  top:12px;
6986  left:12px;
6987  width:28px;
6988  height:48px;
6989  background:#e10b0b;
6990  color:#fff;
6991  font-size:12px;
6992  font-weight:600;
6993  display:flex;
6994  align-items:center;
6995  justify-content:center;
6996  writing-mode:vertical-rl;
6997  transform:rotate(180deg);
6998  letter-spacing:.5px;
6999  z-index:7;
7000}
7001
7002/* ===== FAV ===== */
7003.lux-fav{
7004  position:absolute;
7005  top:12px;
7006  right:12px;
7007  z-index:7;
7008}
7009.lux-fav a,
7010.lux-fav button{
7011  background:transparent !important;
7012  border:0 !important;
7013  padding:0 !important;
7014  cursor:pointer;
7015  display:inline-flex;
7016  align-items:center;
7017  justify-content:center;
7018}
7019
7020/* ===== SEPET IKON ===== */
7021.lux-bag{
7022  position:absolute;
7023  bottom:12px;
7024  right:12px;
7025  z-index:7;
7026  width:34px;
7027  height:34px;
7028  display:inline-flex;
7029  align-items:center;
7030  justify-content:center;
7031  background:rgba(255,255,255,.92);
7032  border:1px solid rgba(0,0,0,.10);
7033  border-radius:10px;
7034  cursor:pointer;
7035  transition:.2s ease;
7036}
7037.lux-bag:hover{
7038  background:#fff;
7039  border-color:rgba(0,0,0,.25);
7040}
7041.lux-bag.is-loading{
7042  opacity:.6;
7043  cursor:wait;
7044}
7045.lux-bag.is-success{
7046  background:#2e7d32 !important;
7047  border-color:#2e7d32 !important;
7048  color:#fff !important;
7049}
7050.card-product.sizes-open .lux-bag{
7051  opacity:0;
7052  pointer-events:none;
7053}
7054
7055/* Loading spinner */
7056.lux-bag.is-loading i::before{
7057  content:"⏳";
7058}
7059
7060/* ===== SIZE STRIP ===== */
7061.size-strip{
7062  width:100%;
7063  max-height:0;
7064  overflow:hidden;
7065  background:#fff;
7066  display:flex;
7067  flex-wrap:wrap;
7068  transition:max-height .3s ease, border-color .3s ease;
7069  border-top:1px solid transparent;
7070  border-bottom:1px solid transparent;
7071}
7072.size-strip.open{
7073  max-height:200px;
7074  border-top-color:rgba(0,0,0,.08);
7075  border-bottom-color:rgba(0,0,0,.08);
7076}
7077.size-item{
7078  flex:1 0 auto;
7079  min-width:38px;
7080  height:42px;
7081  display:flex;
7082  align-items:center;
7083  justify-content:center;
7084  font-size:13px;
7085  font-weight:500;
7086  color:#111 !important;
7087  cursor:pointer;
7088  user-select:none;
7089  background:transparent;
7090  transition:background .15s ease, color .15s ease;
7091  border-right:1px solid rgba(0,0,0,.08);
7092}
7093.size-item:last-child{ border-right:0; }
7094.size-item:hover:not(.disabled):not(.adding){
7095  background:#000 !important;
7096  color:#fff !important;
7097}
7098.size-item.disabled{
7099  color:#111 !important;
7100  text-decoration:line-through !important;
7101  opacity:.30 !important;
7102  cursor:not-allowed;
7103}
7104.size-item.adding{
7105  background:#2e7d32 !important;
7106  color:#fff !important;
7107  cursor:wait;
7108}
7109
7110/* ===== META ===== */
7111.lux-meta{
7112  padding:12px 6px 6px;
7113  background:transparent !important;
7114}
7115.lux-brand{
7116  font-size:16px;
7117  font-weight:600;
7118  color:#111;
7119  margin-bottom:2px;
7120}
7121.lux-title{
7122  font-size:14px;
7123  font-weight:400;
7124  line-height:1.45;
7125  color:#111;
7126  margin:0;
7127}
7128.lux-price{
7129  margin-top:10px;
7130  display:flex;
7131  gap:10px;
7132  align-items:baseline;
7133  background:transparent !important;
7134}
7135.lux-price .list-price{
7136  font-size:14px;
7137  font-weight:400;
7138  color:#111;
7139  text-decoration:line-through;
7140}
7141.lux-price .sale-price{
7142  font-size:16px;
7143  font-weight:600;
7144  color:#e10b0b;
7145}
7146
7147.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
7148.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
7149</style><div class="card-product"
7150     id="card-10733"
7151     data-lux-card-id="10733"
7152     data-lux-product-link="https://www.vezzalux.com/cl-1301-gri-loafer-erkek-ayakkabi"
7153     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/cl-1301-gri-loafer-erkek-ayakkabi" class="c-p-i-link" title="Cl 1301 Gri Loafer Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a3c14385e1bc-53414724-sw800sh800.webp" alt="Cl 1301 Gri Loafer Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a3c14385e1bc-53414724-sw800sh800.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/6a3c1439a3f9f-66287884-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" 
7154        onclick="userProductFavourite('add', 10733)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
7155         id="lux-bag-10733"
7156         onclick="return luxBagClick(event, 10733);"
7157         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10733" style="display:none;"></div><div class="size-strip" id="size-strip-10733" data-loaded="0"></div><a href="https://www.vezzalux.com/cl-1301-gri-loafer-erkek-ayakkabi" class="c-p-i-link" title="Cl 1301 Gri Loafer Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Christian Louboutin</div><div class="lux-title">Cl 1301 Gri Loafer Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
7157<script>
7158(function(){
7159
7160  /* Bir kez kur */
7161  if(window.__luxCardInit) return;
7162  window.__luxCardInit = true;
7163
7164  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
7165  window.__luxVariantCache = window.__luxVariantCache || {};
7166
7167  function closeAll(){
7168    document.querySelectorAll('.size-strip.open').forEach(function(s){
7169      s.classList.remove('open');
7170    });
7171    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
7172      c.classList.remove('sizes-open');
7173    });
7174  }
7175
7176  function flashSuccess(productId){
7177    var bag = document.getElementById('lux-bag-' + productId);
7178    if(!bag) return;
7179    bag.classList.add('is-success');
7180    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
7181  }
7182
7183  /* Dış tıklama - kapat */
7184  document.addEventListener('click', function(e){
7185    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
7186    if(!inside) closeAll();
7187  });
7188
7189  document.addEventListener('keydown', function(e){
7190    if(e.key === 'Escape') closeAll();
7191  });
7192
7193
7194  /* ============================================
7195     MODAL KILLER - yedek güvence
7196     ============================================ */
7197  var LUX_MODAL_KILL_ACTIVE = false;
7198
7199  function killVisibleModals(){
7200    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
7201    modals.forEach(function(m){
7202      var id = (m.id || '').toLowerCase();
7203      var txt = (m.textContent || '').toLowerCase();
7204      var isCartModal = id.indexOf('cart') > -1
7205                     || id.indexOf('variant') > -1
7206                     || id.indexOf('fast') > -1
7207                     || id.indexOf('urun') > -1
7208                     || txt.indexOf('lütfen seçin') > -1;
7209
7210      if(isCartModal){
7211        if(typeof jQuery !== 'undefined'){
7212          try { jQuery(m).modal('hide'); } catch(e){}
7213        }
7214        m.classList.remove('show','in');
7215        m.style.display = 'none';
7216      }
7217    });
7218
7219    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
7220    document.body.classList.remove('modal-open');
7221    document.body.style.overflow = '';
7222    document.body.style.paddingRight = '';
7223  }
7224
7225  function startModalKill(durationMs){
7226    if(LUX_MODAL_KILL_ACTIVE) return;
7227    LUX_MODAL_KILL_ACTIVE = true;
7228    killVisibleModals();
7229    var interval = setInterval(killVisibleModals, 50);
7230    setTimeout(function(){
7231      clearInterval(interval);
7232      LUX_MODAL_KILL_ACTIVE = false;
7233    }, durationMs || 2000);
7234  }
7235
7236
7237  /* ============================================
7238     AJAX: Varyantları detay sayfasından çek
7239     ============================================
7240     Ürün detay sayfasının tam HTML'ini indir,
7241     DOMParser ile parse et, varyantları bul
7242     ============================================ */
7243  function fetchVariants(productId, productLink, callback){
7244
7245    /* Cache'te varsa hemen döndür */
7246    if(window.__luxVariantCache[productId]){
7247      callback(window.__luxVariantCache[productId]);
7248      return;
7249    }
7250
7251    fetch(productLink, {
7252      method: 'GET',
7253      credentials: 'same-origin',
7254      headers: { 'Accept': 'text/html' }
7255    })
7256    .then(function(r){ return r.text(); })
7257    .then(function(html){
7258      var parser = new DOMParser();
7259      var doc = parser.parseFromString(html, 'text/html');
7260
7261      /* Detay sayfasındaki .variant-box'ı bul */
7262      var variantBox = doc.querySelector('.variant-box');
7263      if(!variantBox){
7264        callback({ variants: [], error: 'no_variant_box' });
7265        return;
7266      }
7267
7268      /* Her varyant grubu için select'leri ve option'ları oku */
7269      var variants = [];
7270      var variantLis = variantBox.querySelectorAll('.variant');
7271
7272      variantLis.forEach(function(li, idx){
7273        var nameEl = li.querySelector('.name');
7274        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
7275
7276        var values = [];
7277
7278        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
7279        var optLinks = li.querySelectorAll('.options a');
7280
7281        if(optLinks.length > 0){
7282          optLinks.forEach(function(a){
7283            /* Beden/renk değerini doğru attribute'tan oku
7284               - data-variant-value: asıl değer (örn: "38", "KAHVE")
7285               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
7286               - textContent: fallback */
7287            var deger = a.getAttribute('data-variant-value')
7288                     || a.textContent.trim();
7289
7290            /* Stok kontrolü - birden fazla yoldan kontrol et */
7291            var isSoldOut = a.classList.contains('sold-out')
7292                         || a.classList.contains('sold_out')
7293                         || a.classList.contains('disabled')
7294                         || a.classList.contains('stoksuz')
7295                         || a.classList.contains('out-of-stock')
7296                         || a.hasAttribute('disabled')
7297                         || a.getAttribute('data-in-stock') === '0'
7298                         || a.getAttribute('data-in-stock') === 'false'
7299                         || a.getAttribute('data-stokta-var-mi') === '0'
7300                         || a.getAttribute('data-stokta-var-mi') === 'false';
7301
7302            values.push({
7303              deger: deger,
7304              inStock: !isSoldOut
7305            });
7306          });
7307        } else {
7308          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
7309          var select = li.querySelector('select');
7310          if(select){
7311            var opts = select.querySelectorAll('option');
7312            opts.forEach(function(o){
7313              if(!o.value) return;
7314              values.push({
7315                deger: o.value,
7316                inStock: !o.disabled
7317              });
7318            });
7319          }
7320        }
7321
7322        variants.push({
7323          index: idx,
7324          baslik: name,
7325          values: values
7326        });
7327      });
7328
7329      var result = { variants: variants };
7330      window.__luxVariantCache[productId] = result;
7331      callback(result);
7332    })
7333    .catch(function(err){
7334      console.error('Varyant çekme hatası:', err);
7335      callback({ variants: [], error: 'fetch_failed' });
7336    });
7337  }
7338
7339
7340  /* ============================================
7341     Beden şeridini ve gizli variant-box'ı oluştur
7342     ============================================ */
7343  function buildVariantUI(productId, data){
7344    var card = document.getElementById('card-' + productId);
7345    if(!card) return false;
7346
7347    var holder = card.querySelector('.lux-variant-box');
7348    var strip = document.getElementById('size-strip-' + productId);
7349    if(!holder || !strip) return false;
7350
7351    if(!data.variants || data.variants.length === 0){
7352      /* Varyant yok */
7353      return false;
7354    }
7355
7356    /* Çoklu değerli ilk varyantı bul (beden) */
7357    var displayVariant = null;
7358    data.variants.forEach(function(v){
7359      if(!displayVariant && v.values.length > 1){
7360        displayVariant = v;
7361      }
7362    });
7363
7364    /* Gizli variant-box HTML */
7365    var html = '<div class="variant-box"><ul>';
7366    data.variants.forEach(function(v){
7367      html += '<li class="variant">';
7368      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
7369
7370      if(v.values.length > 1){
7371        html += '<option value="">Lütfen seçin</option>';
7372      }
7373
7374      v.values.forEach(function(val, i){
7375        var selected = (v.values.length === 1) ? ' selected' : '';
7376        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
7377      });
7378
7379      html += '</select></li>';
7380    });
7381    html += '</ul></div>';
7382
7383    holder.innerHTML = html;
7384    holder.style.display = '';
7385
7386    /* Strip HTML (sadece çoklu değerli varyantlar için)
7387       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
7388    if(displayVariant){
7389      var stripHtml = '';
7390      var inStockCount = 0;
7391
7392      /* DEBUG - console'da gör */
7393      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
7394
7395      displayVariant.values.forEach(function(val){
7396        /* SADECE stokta olanları ekle */
7397        if(val.inStock === true){
7398          stripHtml += '<div class="size-item" '
7399                    + 'data-urun-id="' + productId + '" '
7400                    + 'data-varyant-deger="' + val.deger + '" '
7401                    + 'onclick="return luxAddVariant(event, this);">'
7402                    + val.deger + '</div>';
7403          inStockCount++;
7404        }
7405      });
7406
7407      /* Eğer stokta hiç beden yoksa şeridi gösterme */
7408      if(inStockCount === 0){
7409        strip.setAttribute('data-loaded', '1');
7410        strip.setAttribute('data-has-variants', '0');
7411        return false;
7412      }
7413
7414      strip.innerHTML = stripHtml;
7415      strip.setAttribute('data-loaded', '1');
7416      strip.setAttribute('data-has-variants', '1');
7417      return true;
7418    } else {
7419      strip.setAttribute('data-loaded', '1');
7420      strip.setAttribute('data-has-variants', '0');
7421      return false;
7422    }
7423  }
7424
7425
7426  /* ============================================
7427     SEPET IKONU TIKLAMASI
7428     ============================================ */
7429  window.luxBagClick = function(ev, productId){
7430    ev.preventDefault();
7431    ev.stopPropagation();
7432
7433    var card = document.getElementById('card-' + productId);
7434    var strip = document.getElementById('size-strip-' + productId);
7435    var bag = document.getElementById('lux-bag-' + productId);
7436    if(!card || !strip) return false;
7437
7438    /* Strip zaten yüklenmişse direkt davran */
7439    if(strip.getAttribute('data-loaded') === '1'){
7440      if(strip.getAttribute('data-has-variants') === '1'){
7441        toggleStrip(productId);
7442      } else {
7443        addToCartSmart(productId);
7444      }
7445      return false;
7446    }
7447
7448    /* İlk tıklama - AJAX ile varyantları çek */
7449    bag.classList.add('is-loading');
7450    var productLink = card.getAttribute('data-lux-product-link');
7451
7452    fetchVariants(productId, productLink, function(data){
7453      bag.classList.remove('is-loading');
7454
7455      var hasVariants = buildVariantUI(productId, data);
7456
7457      if(hasVariants){
7458        /* Bedenler var - şeridi aç */
7459        toggleStrip(productId);
7460      } else {
7461        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
7462        addToCartSmart(productId);
7463      }
7464    });
7465
7466    return false;
7467  };
7468
7469  function toggleStrip(productId){
7470    var strip = document.getElementById('size-strip-' + productId);
7471    var card = document.getElementById('card-' + productId);
7472    if(!strip) return;
7473
7474    document.querySelectorAll('.size-strip.open').forEach(function(s){
7475      if(s !== strip) s.classList.remove('open');
7476    });
7477    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
7478      if(c !== card) c.classList.remove('sizes-open');
7479    });
7480
7481    strip.classList.toggle('open');
7482    if(card) card.classList.toggle('sizes-open');
7483  }
7484
7485
7486  /* ============================================
7487     BEDEN TIKLAMASI
7488     ============================================ */
7489  window.luxAddVariant = function(ev, elem){
7490    ev.preventDefault();
7491    ev.stopPropagation();
7492
7493    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
7494
7495    var productId = elem.getAttribute('data-urun-id');
7496    var varyantDeger = elem.getAttribute('data-varyant-deger');
7497
7498    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
7499    if(!holder) return false;
7500
7501    /* Seçilen bedeni ilk select'e yaz */
7502    var firstSelect = holder.querySelector('select[data-variant="0"]');
7503    if(firstSelect){
7504      firstSelect.value = varyantDeger;
7505      if(typeof jQuery !== "undefined"){
7506        jQuery(firstSelect).val(varyantDeger).trigger('change');
7507      }
7508    }
7509
7510    /* Diğer select'lere ilk geçerli değeri koy */
7511    var allSelects = holder.querySelectorAll('select[data-variant]');
7512    allSelects.forEach(function(sel, idx){
7513      if(idx === 0) return;
7514      if(sel.value) return;
7515      var options = sel.querySelectorAll('option');
7516      for(var i = 0; i < options.length; i++){
7517        if(options[i].value){
7518          sel.value = options[i].value;
7519          if(typeof jQuery !== "undefined"){
7520            jQuery(sel).val(options[i].value).trigger('change');
7521          }
7522          break;
7523        }
7524      }
7525    });
7526
7527    /* Görsel feedback */
7528    elem.classList.add('adding');
7529    var originalText = elem.textContent;
7530    elem.textContent = '✓';
7531
7532    /* Sepete ekle */
7533    addToCartSmart(productId, {
7534      checkVariant: true,
7535      variantCount: allSelects.length,
7536      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
7537    });
7538
7539    setTimeout(function(){
7540      elem.textContent = originalText;
7541      elem.classList.remove('adding');
7542      closeAll();
7543    }, 800);
7544
7545    return false;
7546  };
7547
7548
7549  /* ============================================
7550     SEPETE EKLE - Modal killer ile
7551     ============================================ */
7552  function addToCartSmart(productId, extraOptions){
7553    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
7554
7555    var options = {
7556      quantity: 1,
7557      hideNativeModal: 'lux-card-' + productId
7558    };
7559
7560    if(extraOptions){
7561      Object.keys(extraOptions).forEach(function(k){
7562        options[k] = extraOptions[k];
7563      });
7564    } else if(holder){
7565      var selects = holder.querySelectorAll('select[data-variant]');
7566      if(selects.length > 0){
7567        options.checkVariant = true;
7568        options.variantCount = selects.length;
7569        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
7570      }
7571    }
7572
7573    startModalKill(2000);
7574
7575    if(typeof addCart === "function"){
7576      try {
7577        addCart(productId, 'card', options);
7578        flashSuccess(productId);
7579      } catch(err){
7580        console.error('Sepete ekleme hatası:', err);
7581      }
7582    }
7583  }
7584
7585})();
7586</script>
7586</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
7587                             data-lux-product-shell="1"
7588                             data-lux-page="1"><style>
7589@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
7590
7591/* ===== VEZZA LUX CARD ===== */
7592.card-product{
7593  font-family:'Poppins',sans-serif;
7594  background:#fff !important;
7595  position:relative;
7596}
7597.card-product-inner{
7598  background:transparent !important;
7599  position:relative;
7600}
7601.card-product .c-p-i-link,
7602.card-product a{
7603  background:transparent !important;
7604}
7605.card-product-inner > div{
7606  background:transparent !important;
7607}
7608.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
7609  background:transparent !important;
7610}
7611.card-product .card-product-content,
7612.card-product .price-group,
7613.card-product .prices{
7614  background:transparent !important;
7615}
7616[class*="skeleton"],
7617[class*="placeholder"],
7618[class*="loading"]{
7619  background:transparent !important;
7620}
7621
7622/* ===== IMAGE AREA - KARE GÖRSEL ===== */
7623.image-wrapper{
7624  position:relative;
7625  width:100%;
7626  aspect-ratio:1/1;
7627  overflow:hidden;
7628  background:#fff !important;
7629}
7630
7631.image{
7632  position:relative;
7633  width:100%;
7634  height:100%;
7635}
7636
7637.image-wrapper img{
7638  width:100% !important;
7639  height:100% !important;
7640  object-fit:cover !important;
7641  object-position:center center !important;
7642  display:block;
7643  transition:transform .35s ease;
7644}
7645
7646/* ===== DISCOUNT ===== */
7647.discount{
7648  position:absolute;
7649  top:12px;
7650  left:12px;
7651  width:28px;
7652  height:48px;
7653  background:#e10b0b;
7654  color:#fff;
7655  font-size:12px;
7656  font-weight:600;
7657  display:flex;
7658  align-items:center;
7659  justify-content:center;
7660  writing-mode:vertical-rl;
7661  transform:rotate(180deg);
7662  letter-spacing:.5px;
7663  z-index:7;
7664}
7665
7666/* ===== FAV ===== */
7667.lux-fav{
7668  position:absolute;
7669  top:12px;
7670  right:12px;
7671  z-index:7;
7672}
7673.lux-fav a,
7674.lux-fav button{
7675  background:transparent !important;
7676  border:0 !important;
7677  padding:0 !important;
7678  cursor:pointer;
7679  display:inline-flex;
7680  align-items:center;
7681  justify-content:center;
7682}
7683
7684/* ===== SEPET IKON ===== */
7685.lux-bag{
7686  position:absolute;
7687  bottom:12px;
7688  right:12px;
7689  z-index:7;
7690  width:34px;
7691  height:34px;
7692  display:inline-flex;
7693  align-items:center;
7694  justify-content:center;
7695  background:rgba(255,255,255,.92);
7696  border:1px solid rgba(0,0,0,.10);
7697  border-radius:10px;
7698  cursor:pointer;
7699  transition:.2s ease;
7700}
7701.lux-bag:hover{
7702  background:#fff;
7703  border-color:rgba(0,0,0,.25);
7704}
7705.lux-bag.is-loading{
7706  opacity:.6;
7707  cursor:wait;
7708}
7709.lux-bag.is-success{
7710  background:#2e7d32 !important;
7711  border-color:#2e7d32 !important;
7712  color:#fff !important;
7713}
7714.card-product.sizes-open .lux-bag{
7715  opacity:0;
7716  pointer-events:none;
7717}
7718
7719/* Loading spinner */
7720.lux-bag.is-loading i::before{
7721  content:"⏳";
7722}
7723
7724/* ===== SIZE STRIP ===== */
7725.size-strip{
7726  width:100%;
7727  max-height:0;
7728  overflow:hidden;
7729  background:#fff;
7730  display:flex;
7731  flex-wrap:wrap;
7732  transition:max-height .3s ease, border-color .3s ease;
7733  border-top:1px solid transparent;
7734  border-bottom:1px solid transparent;
7735}
7736.size-strip.open{
7737  max-height:200px;
7738  border-top-color:rgba(0,0,0,.08);
7739  border-bottom-color:rgba(0,0,0,.08);
7740}
7741.size-item{
7742  flex:1 0 auto;
7743  min-width:38px;
7744  height:42px;
7745  display:flex;
7746  align-items:center;
7747  justify-content:center;
7748  font-size:13px;
7749  font-weight:500;
7750  color:#111 !important;
7751  cursor:pointer;
7752  user-select:none;
7753  background:transparent;
7754  transition:background .15s ease, color .15s ease;
7755  border-right:1px solid rgba(0,0,0,.08);
7756}
7757.size-item:last-child{ border-right:0; }
7758.size-item:hover:not(.disabled):not(.adding){
7759  background:#000 !important;
7760  color:#fff !important;
7761}
7762.size-item.disabled{
7763  color:#111 !important;
7764  text-decoration:line-through !important;
7765  opacity:.30 !important;
7766  cursor:not-allowed;
7767}
7768.size-item.adding{
7769  background:#2e7d32 !important;
7770  color:#fff !important;
7771  cursor:wait;
7772}
7773
7774/* ===== META ===== */
7775.lux-meta{
7776  padding:12px 6px 6px;
7777  background:transparent !important;
7778}
7779.lux-brand{
7780  font-size:16px;
7781  font-weight:600;
7782  color:#111;
7783  margin-bottom:2px;
7784}
7785.lux-title{
7786  font-size:14px;
7787  font-weight:400;
7788  line-height:1.45;
7789  color:#111;
7790  margin:0;
7791}
7792.lux-price{
7793  margin-top:10px;
7794  display:flex;
7795  gap:10px;
7796  align-items:baseline;
7797  background:transparent !important;
7798}
7799.lux-price .list-price{
7800  font-size:14px;
7801  font-weight:400;
7802  color:#111;
7803  text-decoration:line-through;
7804}
7805.lux-price .sale-price{
7806  font-size:16px;
7807  font-weight:600;
7808  color:#e10b0b;
7809}
7810
7811.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
7812.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
7813</style><div class="card-product"
7814     id="card-10452"
7815     data-lux-card-id="10452"
7816     data-lux-product-link="https://www.vezzalux.com/cl-1169-siyah-sneaker-erkek-ayakkabi"
7817     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/cl-1169-siyah-sneaker-erkek-ayakkabi" class="c-p-i-link" title="Cl 1169 Siyah Sneaker Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cd3d23fd6-92281142-sw1200sh1200.webp" alt="Cl 1169 Siyah Sneaker Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cd3d23fd6-92281142-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cd3e7e18f-16888515-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" 
7818        onclick="userProductFavourite('add', 10452)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
7819         id="lux-bag-10452"
7820         onclick="return luxBagClick(event, 10452);"
7821         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10452" style="display:none;"></div><div class="size-strip" id="size-strip-10452" data-loaded="0"></div><a href="https://www.vezzalux.com/cl-1169-siyah-sneaker-erkek-ayakkabi" class="c-p-i-link" title="Cl 1169 Siyah Sneaker Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Christian Louboutin</div><div class="lux-title">Cl 1169 Siyah Sneaker Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
7821<script>
7822(function(){
7823
7824  /* Bir kez kur */
7825  if(window.__luxCardInit) return;
7826  window.__luxCardInit = true;
7827
7828  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
7829  window.__luxVariantCache = window.__luxVariantCache || {};
7830
7831  function closeAll(){
7832    document.querySelectorAll('.size-strip.open').forEach(function(s){
7833      s.classList.remove('open');
7834    });
7835    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
7836      c.classList.remove('sizes-open');
7837    });
7838  }
7839
7840  function flashSuccess(productId){
7841    var bag = document.getElementById('lux-bag-' + productId);
7842    if(!bag) return;
7843    bag.classList.add('is-success');
7844    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
7845  }
7846
7847  /* Dış tıklama - kapat */
7848  document.addEventListener('click', function(e){
7849    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
7850    if(!inside) closeAll();
7851  });
7852
7853  document.addEventListener('keydown', function(e){
7854    if(e.key === 'Escape') closeAll();
7855  });
7856
7857
7858  /* ============================================
7859     MODAL KILLER - yedek güvence
7860     ============================================ */
7861  var LUX_MODAL_KILL_ACTIVE = false;
7862
7863  function killVisibleModals(){
7864    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
7865    modals.forEach(function(m){
7866      var id = (m.id || '').toLowerCase();
7867      var txt = (m.textContent || '').toLowerCase();
7868      var isCartModal = id.indexOf('cart') > -1
7869                     || id.indexOf('variant') > -1
7870                     || id.indexOf('fast') > -1
7871                     || id.indexOf('urun') > -1
7872                     || txt.indexOf('lütfen seçin') > -1;
7873
7874      if(isCartModal){
7875        if(typeof jQuery !== 'undefined'){
7876          try { jQuery(m).modal('hide'); } catch(e){}
7877        }
7878        m.classList.remove('show','in');
7879        m.style.display = 'none';
7880      }
7881    });
7882
7883    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
7884    document.body.classList.remove('modal-open');
7885    document.body.style.overflow = '';
7886    document.body.style.paddingRight = '';
7887  }
7888
7889  function startModalKill(durationMs){
7890    if(LUX_MODAL_KILL_ACTIVE) return;
7891    LUX_MODAL_KILL_ACTIVE = true;
7892    killVisibleModals();
7893    var interval = setInterval(killVisibleModals, 50);
7894    setTimeout(function(){
7895      clearInterval(interval);
7896      LUX_MODAL_KILL_ACTIVE = false;
7897    }, durationMs || 2000);
7898  }
7899
7900
7901  /* ============================================
7902     AJAX: Varyantları detay sayfasından çek
7903     ============================================
7904     Ürün detay sayfasının tam HTML'ini indir,
7905     DOMParser ile parse et, varyantları bul
7906     ============================================ */
7907  function fetchVariants(productId, productLink, callback){
7908
7909    /* Cache'te varsa hemen döndür */
7910    if(window.__luxVariantCache[productId]){
7911      callback(window.__luxVariantCache[productId]);
7912      return;
7913    }
7914
7915    fetch(productLink, {
7916      method: 'GET',
7917      credentials: 'same-origin',
7918      headers: { 'Accept': 'text/html' }
7919    })
7920    .then(function(r){ return r.text(); })
7921    .then(function(html){
7922      var parser = new DOMParser();
7923      var doc = parser.parseFromString(html, 'text/html');
7924
7925      /* Detay sayfasındaki .variant-box'ı bul */
7926      var variantBox = doc.querySelector('.variant-box');
7927      if(!variantBox){
7928        callback({ variants: [], error: 'no_variant_box' });
7929        return;
7930      }
7931
7932      /* Her varyant grubu için select'leri ve option'ları oku */
7933      var variants = [];
7934      var variantLis = variantBox.querySelectorAll('.variant');
7935
7936      variantLis.forEach(function(li, idx){
7937        var nameEl = li.querySelector('.name');
7938        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
7939
7940        var values = [];
7941
7942        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
7943        var optLinks = li.querySelectorAll('.options a');
7944
7945        if(optLinks.length > 0){
7946          optLinks.forEach(function(a){
7947            /* Beden/renk değerini doğru attribute'tan oku
7948               - data-variant-value: asıl değer (örn: "38", "KAHVE")
7949               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
7950               - textContent: fallback */
7951            var deger = a.getAttribute('data-variant-value')
7952                     || a.textContent.trim();
7953
7954            /* Stok kontrolü - birden fazla yoldan kontrol et */
7955            var isSoldOut = a.classList.contains('sold-out')
7956                         || a.classList.contains('sold_out')
7957                         || a.classList.contains('disabled')
7958                         || a.classList.contains('stoksuz')
7959                         || a.classList.contains('out-of-stock')
7960                         || a.hasAttribute('disabled')
7961                         || a.getAttribute('data-in-stock') === '0'
7962                         || a.getAttribute('data-in-stock') === 'false'
7963                         || a.getAttribute('data-stokta-var-mi') === '0'
7964                         || a.getAttribute('data-stokta-var-mi') === 'false';
7965
7966            values.push({
7967              deger: deger,
7968              inStock: !isSoldOut
7969            });
7970          });
7971        } else {
7972          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
7973          var select = li.querySelector('select');
7974          if(select){
7975            var opts = select.querySelectorAll('option');
7976            opts.forEach(function(o){
7977              if(!o.value) return;
7978              values.push({
7979                deger: o.value,
7980                inStock: !o.disabled
7981              });
7982            });
7983          }
7984        }
7985
7986        variants.push({
7987          index: idx,
7988          baslik: name,
7989          values: values
7990        });
7991      });
7992
7993      var result = { variants: variants };
7994      window.__luxVariantCache[productId] = result;
7995      callback(result);
7996    })
7997    .catch(function(err){
7998      console.error('Varyant çekme hatası:', err);
7999      callback({ variants: [], error: 'fetch_failed' });
8000    });
8001  }
8002
8003
8004  /* ============================================
8005     Beden şeridini ve gizli variant-box'ı oluştur
8006     ============================================ */
8007  function buildVariantUI(productId, data){
8008    var card = document.getElementById('card-' + productId);
8009    if(!card) return false;
8010
8011    var holder = card.querySelector('.lux-variant-box');
8012    var strip = document.getElementById('size-strip-' + productId);
8013    if(!holder || !strip) return false;
8014
8015    if(!data.variants || data.variants.length === 0){
8016      /* Varyant yok */
8017      return false;
8018    }
8019
8020    /* Çoklu değerli ilk varyantı bul (beden) */
8021    var displayVariant = null;
8022    data.variants.forEach(function(v){
8023      if(!displayVariant && v.values.length > 1){
8024        displayVariant = v;
8025      }
8026    });
8027
8028    /* Gizli variant-box HTML */
8029    var html = '<div class="variant-box"><ul>';
8030    data.variants.forEach(function(v){
8031      html += '<li class="variant">';
8032      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
8033
8034      if(v.values.length > 1){
8035        html += '<option value="">Lütfen seçin</option>';
8036      }
8037
8038      v.values.forEach(function(val, i){
8039        var selected = (v.values.length === 1) ? ' selected' : '';
8040        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
8041      });
8042
8043      html += '</select></li>';
8044    });
8045    html += '</ul></div>';
8046
8047    holder.innerHTML = html;
8048    holder.style.display = '';
8049
8050    /* Strip HTML (sadece çoklu değerli varyantlar için)
8051       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
8052    if(displayVariant){
8053      var stripHtml = '';
8054      var inStockCount = 0;
8055
8056      /* DEBUG - console'da gör */
8057      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
8058
8059      displayVariant.values.forEach(function(val){
8060        /* SADECE stokta olanları ekle */
8061        if(val.inStock === true){
8062          stripHtml += '<div class="size-item" '
8063                    + 'data-urun-id="' + productId + '" '
8064                    + 'data-varyant-deger="' + val.deger + '" '
8065                    + 'onclick="return luxAddVariant(event, this);">'
8066                    + val.deger + '</div>';
8067          inStockCount++;
8068        }
8069      });
8070
8071      /* Eğer stokta hiç beden yoksa şeridi gösterme */
8072      if(inStockCount === 0){
8073        strip.setAttribute('data-loaded', '1');
8074        strip.setAttribute('data-has-variants', '0');
8075        return false;
8076      }
8077
8078      strip.innerHTML = stripHtml;
8079      strip.setAttribute('data-loaded', '1');
8080      strip.setAttribute('data-has-variants', '1');
8081      return true;
8082    } else {
8083      strip.setAttribute('data-loaded', '1');
8084      strip.setAttribute('data-has-variants', '0');
8085      return false;
8086    }
8087  }
8088
8089
8090  /* ============================================
8091     SEPET IKONU TIKLAMASI
8092     ============================================ */
8093  window.luxBagClick = function(ev, productId){
8094    ev.preventDefault();
8095    ev.stopPropagation();
8096
8097    var card = document.getElementById('card-' + productId);
8098    var strip = document.getElementById('size-strip-' + productId);
8099    var bag = document.getElementById('lux-bag-' + productId);
8100    if(!card || !strip) return false;
8101
8102    /* Strip zaten yüklenmişse direkt davran */
8103    if(strip.getAttribute('data-loaded') === '1'){
8104      if(strip.getAttribute('data-has-variants') === '1'){
8105        toggleStrip(productId);
8106      } else {
8107        addToCartSmart(productId);
8108      }
8109      return false;
8110    }
8111
8112    /* İlk tıklama - AJAX ile varyantları çek */
8113    bag.classList.add('is-loading');
8114    var productLink = card.getAttribute('data-lux-product-link');
8115
8116    fetchVariants(productId, productLink, function(data){
8117      bag.classList.remove('is-loading');
8118
8119      var hasVariants = buildVariantUI(productId, data);
8120
8121      if(hasVariants){
8122        /* Bedenler var - şeridi aç */
8123        toggleStrip(productId);
8124      } else {
8125        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
8126        addToCartSmart(productId);
8127      }
8128    });
8129
8130    return false;
8131  };
8132
8133  function toggleStrip(productId){
8134    var strip = document.getElementById('size-strip-' + productId);
8135    var card = document.getElementById('card-' + productId);
8136    if(!strip) return;
8137
8138    document.querySelectorAll('.size-strip.open').forEach(function(s){
8139      if(s !== strip) s.classList.remove('open');
8140    });
8141    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
8142      if(c !== card) c.classList.remove('sizes-open');
8143    });
8144
8145    strip.classList.toggle('open');
8146    if(card) card.classList.toggle('sizes-open');
8147  }
8148
8149
8150  /* ============================================
8151     BEDEN TIKLAMASI
8152     ============================================ */
8153  window.luxAddVariant = function(ev, elem){
8154    ev.preventDefault();
8155    ev.stopPropagation();
8156
8157    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
8158
8159    var productId = elem.getAttribute('data-urun-id');
8160    var varyantDeger = elem.getAttribute('data-varyant-deger');
8161
8162    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
8163    if(!holder) return false;
8164
8165    /* Seçilen bedeni ilk select'e yaz */
8166    var firstSelect = holder.querySelector('select[data-variant="0"]');
8167    if(firstSelect){
8168      firstSelect.value = varyantDeger;
8169      if(typeof jQuery !== "undefined"){
8170        jQuery(firstSelect).val(varyantDeger).trigger('change');
8171      }
8172    }
8173
8174    /* Diğer select'lere ilk geçerli değeri koy */
8175    var allSelects = holder.querySelectorAll('select[data-variant]');
8176    allSelects.forEach(function(sel, idx){
8177      if(idx === 0) return;
8178      if(sel.value) return;
8179      var options = sel.querySelectorAll('option');
8180      for(var i = 0; i < options.length; i++){
8181        if(options[i].value){
8182          sel.value = options[i].value;
8183          if(typeof jQuery !== "undefined"){
8184            jQuery(sel).val(options[i].value).trigger('change');
8185          }
8186          break;
8187        }
8188      }
8189    });
8190
8191    /* Görsel feedback */
8192    elem.classList.add('adding');
8193    var originalText = elem.textContent;
8194    elem.textContent = '✓';
8195
8196    /* Sepete ekle */
8197    addToCartSmart(productId, {
8198      checkVariant: true,
8199      variantCount: allSelects.length,
8200      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
8201    });
8202
8203    setTimeout(function(){
8204      elem.textContent = originalText;
8205      elem.classList.remove('adding');
8206      closeAll();
8207    }, 800);
8208
8209    return false;
8210  };
8211
8212
8213  /* ============================================
8214     SEPETE EKLE - Modal killer ile
8215     ============================================ */
8216  function addToCartSmart(productId, extraOptions){
8217    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
8218
8219    var options = {
8220      quantity: 1,
8221      hideNativeModal: 'lux-card-' + productId
8222    };
8223
8224    if(extraOptions){
8225      Object.keys(extraOptions).forEach(function(k){
8226        options[k] = extraOptions[k];
8227      });
8228    } else if(holder){
8229      var selects = holder.querySelectorAll('select[data-variant]');
8230      if(selects.length > 0){
8231        options.checkVariant = true;
8232        options.variantCount = selects.length;
8233        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
8234      }
8235    }
8236
8237    startModalKill(2000);
8238
8239    if(typeof addCart === "function"){
8240      try {
8241        addCart(productId, 'card', options);
8242        flashSuccess(productId);
8243      } catch(err){
8244        console.error('Sepete ekleme hatası:', err);
8245      }
8246    }
8247  }
8248
8249})();
8250</script>
8250</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
8251                             data-lux-product-shell="1"
8252                             data-lux-page="1"><style>
8253@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
8254
8255/* ===== VEZZA LUX CARD ===== */
8256.card-product{
8257  font-family:'Poppins',sans-serif;
8258  background:#fff !important;
8259  position:relative;
8260}
8261.card-product-inner{
8262  background:transparent !important;
8263  position:relative;
8264}
8265.card-product .c-p-i-link,
8266.card-product a{
8267  background:transparent !important;
8268}
8269.card-product-inner > div{
8270  background:transparent !important;
8271}
8272.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
8273  background:transparent !important;
8274}
8275.card-product .card-product-content,
8276.card-product .price-group,
8277.card-product .prices{
8278  background:transparent !important;
8279}
8280[class*="skeleton"],
8281[class*="placeholder"],
8282[class*="loading"]{
8283  background:transparent !important;
8284}
8285
8286/* ===== IMAGE AREA - KARE GÖRSEL ===== */
8287.image-wrapper{
8288  position:relative;
8289  width:100%;
8290  aspect-ratio:1/1;
8291  overflow:hidden;
8292  background:#fff !important;
8293}
8294
8295.image{
8296  position:relative;
8297  width:100%;
8298  height:100%;
8299}
8300
8301.image-wrapper img{
8302  width:100% !important;
8303  height:100% !important;
8304  object-fit:cover !important;
8305  object-position:center center !important;
8306  display:block;
8307  transition:transform .35s ease;
8308}
8309
8310/* ===== DISCOUNT ===== */
8311.discount{
8312  position:absolute;
8313  top:12px;
8314  left:12px;
8315  width:28px;
8316  height:48px;
8317  background:#e10b0b;
8318  color:#fff;
8319  font-size:12px;
8320  font-weight:600;
8321  display:flex;
8322  align-items:center;
8323  justify-content:center;
8324  writing-mode:vertical-rl;
8325  transform:rotate(180deg);
8326  letter-spacing:.5px;
8327  z-index:7;
8328}
8329
8330/* ===== FAV ===== */
8331.lux-fav{
8332  position:absolute;
8333  top:12px;
8334  right:12px;
8335  z-index:7;
8336}
8337.lux-fav a,
8338.lux-fav button{
8339  background:transparent !important;
8340  border:0 !important;
8341  padding:0 !important;
8342  cursor:pointer;
8343  display:inline-flex;
8344  align-items:center;
8345  justify-content:center;
8346}
8347
8348/* ===== SEPET IKON ===== */
8349.lux-bag{
8350  position:absolute;
8351  bottom:12px;
8352  right:12px;
8353  z-index:7;
8354  width:34px;
8355  height:34px;
8356  display:inline-flex;
8357  align-items:center;
8358  justify-content:center;
8359  background:rgba(255,255,255,.92);
8360  border:1px solid rgba(0,0,0,.10);
8361  border-radius:10px;
8362  cursor:pointer;
8363  transition:.2s ease;
8364}
8365.lux-bag:hover{
8366  background:#fff;
8367  border-color:rgba(0,0,0,.25);
8368}
8369.lux-bag.is-loading{
8370  opacity:.6;
8371  cursor:wait;
8372}
8373.lux-bag.is-success{
8374  background:#2e7d32 !important;
8375  border-color:#2e7d32 !important;
8376  color:#fff !important;
8377}
8378.card-product.sizes-open .lux-bag{
8379  opacity:0;
8380  pointer-events:none;
8381}
8382
8383/* Loading spinner */
8384.lux-bag.is-loading i::before{
8385  content:"⏳";
8386}
8387
8388/* ===== SIZE STRIP ===== */
8389.size-strip{
8390  width:100%;
8391  max-height:0;
8392  overflow:hidden;
8393  background:#fff;
8394  display:flex;
8395  flex-wrap:wrap;
8396  transition:max-height .3s ease, border-color .3s ease;
8397  border-top:1px solid transparent;
8398  border-bottom:1px solid transparent;
8399}
8400.size-strip.open{
8401  max-height:200px;
8402  border-top-color:rgba(0,0,0,.08);
8403  border-bottom-color:rgba(0,0,0,.08);
8404}
8405.size-item{
8406  flex:1 0 auto;
8407  min-width:38px;
8408  height:42px;
8409  display:flex;
8410  align-items:center;
8411  justify-content:center;
8412  font-size:13px;
8413  font-weight:500;
8414  color:#111 !important;
8415  cursor:pointer;
8416  user-select:none;
8417  background:transparent;
8418  transition:background .15s ease, color .15s ease;
8419  border-right:1px solid rgba(0,0,0,.08);
8420}
8421.size-item:last-child{ border-right:0; }
8422.size-item:hover:not(.disabled):not(.adding){
8423  background:#000 !important;
8424  color:#fff !important;
8425}
8426.size-item.disabled{
8427  color:#111 !important;
8428  text-decoration:line-through !important;
8429  opacity:.30 !important;
8430  cursor:not-allowed;
8431}
8432.size-item.adding{
8433  background:#2e7d32 !important;
8434  color:#fff !important;
8435  cursor:wait;
8436}
8437
8438/* ===== META ===== */
8439.lux-meta{
8440  padding:12px 6px 6px;
8441  background:transparent !important;
8442}
8443.lux-brand{
8444  font-size:16px;
8445  font-weight:600;
8446  color:#111;
8447  margin-bottom:2px;
8448}
8449.lux-title{
8450  font-size:14px;
8451  font-weight:400;
8452  line-height:1.45;
8453  color:#111;
8454  margin:0;
8455}
8456.lux-price{
8457  margin-top:10px;
8458  display:flex;
8459  gap:10px;
8460  align-items:baseline;
8461  background:transparent !important;
8462}
8463.lux-price .list-price{
8464  font-size:14px;
8465  font-weight:400;
8466  color:#111;
8467  text-decoration:line-through;
8468}
8469.lux-price .sale-price{
8470  font-size:16px;
8471  font-weight:600;
8472  color:#e10b0b;
8473}
8474
8475.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
8476.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
8477</style><div class="card-product"
8478     id="card-10201"
8479     data-lux-card-id="10201"
8480     data-lux-product-link="https://www.vezzalux.com/gg-856-arkasi-gold-erkek-ayakkabi"
8481     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%38</div><a href="https://www.vezzalux.com/gg-856-arkasi-gold-erkek-ayakkabi" class="c-p-i-link" title="Gg 856 Arkası Gold Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c7e648254-60323027-sw1200sh1200.webp" alt="Gg 856 Arkası Gold Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c7e648254-60323027-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c7e7e34ce-69020570-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" 
8482        onclick="userProductFavourite('add', 10201)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
8483         id="lux-bag-10201"
8484         onclick="return luxBagClick(event, 10201);"
8485         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10201" style="display:none;"></div><div class="size-strip" id="size-strip-10201" data-loaded="0"></div><a href="https://www.vezzalux.com/gg-856-arkasi-gold-erkek-ayakkabi" class="c-p-i-link" title="Gg 856 Arkası Gold Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Golden Goose</div><div class="lux-title">Gg 856 Arkası Gold Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">10.499,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
8485<script>
8486(function(){
8487
8488  /* Bir kez kur */
8489  if(window.__luxCardInit) return;
8490  window.__luxCardInit = true;
8491
8492  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
8493  window.__luxVariantCache = window.__luxVariantCache || {};
8494
8495  function closeAll(){
8496    document.querySelectorAll('.size-strip.open').forEach(function(s){
8497      s.classList.remove('open');
8498    });
8499    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
8500      c.classList.remove('sizes-open');
8501    });
8502  }
8503
8504  function flashSuccess(productId){
8505    var bag = document.getElementById('lux-bag-' + productId);
8506    if(!bag) return;
8507    bag.classList.add('is-success');
8508    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
8509  }
8510
8511  /* Dış tıklama - kapat */
8512  document.addEventListener('click', function(e){
8513    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
8514    if(!inside) closeAll();
8515  });
8516
8517  document.addEventListener('keydown', function(e){
8518    if(e.key === 'Escape') closeAll();
8519  });
8520
8521
8522  /* ============================================
8523     MODAL KILLER - yedek güvence
8524     ============================================ */
8525  var LUX_MODAL_KILL_ACTIVE = false;
8526
8527  function killVisibleModals(){
8528    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
8529    modals.forEach(function(m){
8530      var id = (m.id || '').toLowerCase();
8531      var txt = (m.textContent || '').toLowerCase();
8532      var isCartModal = id.indexOf('cart') > -1
8533                     || id.indexOf('variant') > -1
8534                     || id.indexOf('fast') > -1
8535                     || id.indexOf('urun') > -1
8536                     || txt.indexOf('lütfen seçin') > -1;
8537
8538      if(isCartModal){
8539        if(typeof jQuery !== 'undefined'){
8540          try { jQuery(m).modal('hide'); } catch(e){}
8541        }
8542        m.classList.remove('show','in');
8543        m.style.display = 'none';
8544      }
8545    });
8546
8547    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
8548    document.body.classList.remove('modal-open');
8549    document.body.style.overflow = '';
8550    document.body.style.paddingRight = '';
8551  }
8552
8553  function startModalKill(durationMs){
8554    if(LUX_MODAL_KILL_ACTIVE) return;
8555    LUX_MODAL_KILL_ACTIVE = true;
8556    killVisibleModals();
8557    var interval = setInterval(killVisibleModals, 50);
8558    setTimeout(function(){
8559      clearInterval(interval);
8560      LUX_MODAL_KILL_ACTIVE = false;
8561    }, durationMs || 2000);
8562  }
8563
8564
8565  /* ============================================
8566     AJAX: Varyantları detay sayfasından çek
8567     ============================================
8568     Ürün detay sayfasının tam HTML'ini indir,
8569     DOMParser ile parse et, varyantları bul
8570     ============================================ */
8571  function fetchVariants(productId, productLink, callback){
8572
8573    /* Cache'te varsa hemen döndür */
8574    if(window.__luxVariantCache[productId]){
8575      callback(window.__luxVariantCache[productId]);
8576      return;
8577    }
8578
8579    fetch(productLink, {
8580      method: 'GET',
8581      credentials: 'same-origin',
8582      headers: { 'Accept': 'text/html' }
8583    })
8584    .then(function(r){ return r.text(); })
8585    .then(function(html){
8586      var parser = new DOMParser();
8587      var doc = parser.parseFromString(html, 'text/html');
8588
8589      /* Detay sayfasındaki .variant-box'ı bul */
8590      var variantBox = doc.querySelector('.variant-box');
8591      if(!variantBox){
8592        callback({ variants: [], error: 'no_variant_box' });
8593        return;
8594      }
8595
8596      /* Her varyant grubu için select'leri ve option'ları oku */
8597      var variants = [];
8598      var variantLis = variantBox.querySelectorAll('.variant');
8599
8600      variantLis.forEach(function(li, idx){
8601        var nameEl = li.querySelector('.name');
8602        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
8603
8604        var values = [];
8605
8606        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
8607        var optLinks = li.querySelectorAll('.options a');
8608
8609        if(optLinks.length > 0){
8610          optLinks.forEach(function(a){
8611            /* Beden/renk değerini doğru attribute'tan oku
8612               - data-variant-value: asıl değer (örn: "38", "KAHVE")
8613               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
8614               - textContent: fallback */
8615            var deger = a.getAttribute('data-variant-value')
8616                     || a.textContent.trim();
8617
8618            /* Stok kontrolü - birden fazla yoldan kontrol et */
8619            var isSoldOut = a.classList.contains('sold-out')
8620                         || a.classList.contains('sold_out')
8621                         || a.classList.contains('disabled')
8622                         || a.classList.contains('stoksuz')
8623                         || a.classList.contains('out-of-stock')
8624                         || a.hasAttribute('disabled')
8625                         || a.getAttribute('data-in-stock') === '0'
8626                         || a.getAttribute('data-in-stock') === 'false'
8627                         || a.getAttribute('data-stokta-var-mi') === '0'
8628                         || a.getAttribute('data-stokta-var-mi') === 'false';
8629
8630            values.push({
8631              deger: deger,
8632              inStock: !isSoldOut
8633            });
8634          });
8635        } else {
8636          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
8637          var select = li.querySelector('select');
8638          if(select){
8639            var opts = select.querySelectorAll('option');
8640            opts.forEach(function(o){
8641              if(!o.value) return;
8642              values.push({
8643                deger: o.value,
8644                inStock: !o.disabled
8645              });
8646            });
8647          }
8648        }
8649
8650        variants.push({
8651          index: idx,
8652          baslik: name,
8653          values: values
8654        });
8655      });
8656
8657      var result = { variants: variants };
8658      window.__luxVariantCache[productId] = result;
8659      callback(result);
8660    })
8661    .catch(function(err){
8662      console.error('Varyant çekme hatası:', err);
8663      callback({ variants: [], error: 'fetch_failed' });
8664    });
8665  }
8666
8667
8668  /* ============================================
8669     Beden şeridini ve gizli variant-box'ı oluştur
8670     ============================================ */
8671  function buildVariantUI(productId, data){
8672    var card = document.getElementById('card-' + productId);
8673    if(!card) return false;
8674
8675    var holder = card.querySelector('.lux-variant-box');
8676    var strip = document.getElementById('size-strip-' + productId);
8677    if(!holder || !strip) return false;
8678
8679    if(!data.variants || data.variants.length === 0){
8680      /* Varyant yok */
8681      return false;
8682    }
8683
8684    /* Çoklu değerli ilk varyantı bul (beden) */
8685    var displayVariant = null;
8686    data.variants.forEach(function(v){
8687      if(!displayVariant && v.values.length > 1){
8688        displayVariant = v;
8689      }
8690    });
8691
8692    /* Gizli variant-box HTML */
8693    var html = '<div class="variant-box"><ul>';
8694    data.variants.forEach(function(v){
8695      html += '<li class="variant">';
8696      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
8697
8698      if(v.values.length > 1){
8699        html += '<option value="">Lütfen seçin</option>';
8700      }
8701
8702      v.values.forEach(function(val, i){
8703        var selected = (v.values.length === 1) ? ' selected' : '';
8704        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
8705      });
8706
8707      html += '</select></li>';
8708    });
8709    html += '</ul></div>';
8710
8711    holder.innerHTML = html;
8712    holder.style.display = '';
8713
8714    /* Strip HTML (sadece çoklu değerli varyantlar için)
8715       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
8716    if(displayVariant){
8717      var stripHtml = '';
8718      var inStockCount = 0;
8719
8720      /* DEBUG - console'da gör */
8721      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
8722
8723      displayVariant.values.forEach(function(val){
8724        /* SADECE stokta olanları ekle */
8725        if(val.inStock === true){
8726          stripHtml += '<div class="size-item" '
8727                    + 'data-urun-id="' + productId + '" '
8728                    + 'data-varyant-deger="' + val.deger + '" '
8729                    + 'onclick="return luxAddVariant(event, this);">'
8730                    + val.deger + '</div>';
8731          inStockCount++;
8732        }
8733      });
8734
8735      /* Eğer stokta hiç beden yoksa şeridi gösterme */
8736      if(inStockCount === 0){
8737        strip.setAttribute('data-loaded', '1');
8738        strip.setAttribute('data-has-variants', '0');
8739        return false;
8740      }
8741
8742      strip.innerHTML = stripHtml;
8743      strip.setAttribute('data-loaded', '1');
8744      strip.setAttribute('data-has-variants', '1');
8745      return true;
8746    } else {
8747      strip.setAttribute('data-loaded', '1');
8748      strip.setAttribute('data-has-variants', '0');
8749      return false;
8750    }
8751  }
8752
8753
8754  /* ============================================
8755     SEPET IKONU TIKLAMASI
8756     ============================================ */
8757  window.luxBagClick = function(ev, productId){
8758    ev.preventDefault();
8759    ev.stopPropagation();
8760
8761    var card = document.getElementById('card-' + productId);
8762    var strip = document.getElementById('size-strip-' + productId);
8763    var bag = document.getElementById('lux-bag-' + productId);
8764    if(!card || !strip) return false;
8765
8766    /* Strip zaten yüklenmişse direkt davran */
8767    if(strip.getAttribute('data-loaded') === '1'){
8768      if(strip.getAttribute('data-has-variants') === '1'){
8769        toggleStrip(productId);
8770      } else {
8771        addToCartSmart(productId);
8772      }
8773      return false;
8774    }
8775
8776    /* İlk tıklama - AJAX ile varyantları çek */
8777    bag.classList.add('is-loading');
8778    var productLink = card.getAttribute('data-lux-product-link');
8779
8780    fetchVariants(productId, productLink, function(data){
8781      bag.classList.remove('is-loading');
8782
8783      var hasVariants = buildVariantUI(productId, data);
8784
8785      if(hasVariants){
8786        /* Bedenler var - şeridi aç */
8787        toggleStrip(productId);
8788      } else {
8789        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
8790        addToCartSmart(productId);
8791      }
8792    });
8793
8794    return false;
8795  };
8796
8797  function toggleStrip(productId){
8798    var strip = document.getElementById('size-strip-' + productId);
8799    var card = document.getElementById('card-' + productId);
8800    if(!strip) return;
8801
8802    document.querySelectorAll('.size-strip.open').forEach(function(s){
8803      if(s !== strip) s.classList.remove('open');
8804    });
8805    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
8806      if(c !== card) c.classList.remove('sizes-open');
8807    });
8808
8809    strip.classList.toggle('open');
8810    if(card) card.classList.toggle('sizes-open');
8811  }
8812
8813
8814  /* ============================================
8815     BEDEN TIKLAMASI
8816     ============================================ */
8817  window.luxAddVariant = function(ev, elem){
8818    ev.preventDefault();
8819    ev.stopPropagation();
8820
8821    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
8822
8823    var productId = elem.getAttribute('data-urun-id');
8824    var varyantDeger = elem.getAttribute('data-varyant-deger');
8825
8826    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
8827    if(!holder) return false;
8828
8829    /* Seçilen bedeni ilk select'e yaz */
8830    var firstSelect = holder.querySelector('select[data-variant="0"]');
8831    if(firstSelect){
8832      firstSelect.value = varyantDeger;
8833      if(typeof jQuery !== "undefined"){
8834        jQuery(firstSelect).val(varyantDeger).trigger('change');
8835      }
8836    }
8837
8838    /* Diğer select'lere ilk geçerli değeri koy */
8839    var allSelects = holder.querySelectorAll('select[data-variant]');
8840    allSelects.forEach(function(sel, idx){
8841      if(idx === 0) return;
8842      if(sel.value) return;
8843      var options = sel.querySelectorAll('option');
8844      for(var i = 0; i < options.length; i++){
8845        if(options[i].value){
8846          sel.value = options[i].value;
8847          if(typeof jQuery !== "undefined"){
8848            jQuery(sel).val(options[i].value).trigger('change');
8849          }
8850          break;
8851        }
8852      }
8853    });
8854
8855    /* Görsel feedback */
8856    elem.classList.add('adding');
8857    var originalText = elem.textContent;
8858    elem.textContent = '✓';
8859
8860    /* Sepete ekle */
8861    addToCartSmart(productId, {
8862      checkVariant: true,
8863      variantCount: allSelects.length,
8864      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
8865    });
8866
8867    setTimeout(function(){
8868      elem.textContent = originalText;
8869      elem.classList.remove('adding');
8870      closeAll();
8871    }, 800);
8872
8873    return false;
8874  };
8875
8876
8877  /* ============================================
8878     SEPETE EKLE - Modal killer ile
8879     ============================================ */
8880  function addToCartSmart(productId, extraOptions){
8881    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
8882
8883    var options = {
8884      quantity: 1,
8885      hideNativeModal: 'lux-card-' + productId
8886    };
8887
8888    if(extraOptions){
8889      Object.keys(extraOptions).forEach(function(k){
8890        options[k] = extraOptions[k];
8891      });
8892    } else if(holder){
8893      var selects = holder.querySelectorAll('select[data-variant]');
8894      if(selects.length > 0){
8895        options.checkVariant = true;
8896        options.variantCount = selects.length;
8897        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
8898      }
8899    }
8900
8901    startModalKill(2000);
8902
8903    if(typeof addCart === "function"){
8904      try {
8905        addCart(productId, 'card', options);
8906        flashSuccess(productId);
8907      } catch(err){
8908        console.error('Sepete ekleme hatası:', err);
8909      }
8910    }
8911  }
8912
8913})();
8914</script>
8914</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
8915                             data-lux-product-shell="1"
8916                             data-lux-page="1"><style>
8917@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
8918
8919/* ===== VEZZA LUX CARD ===== */
8920.card-product{
8921  font-family:'Poppins',sans-serif;
8922  background:#fff !important;
8923  position:relative;
8924}
8925.card-product-inner{
8926  background:transparent !important;
8927  position:relative;
8928}
8929.card-product .c-p-i-link,
8930.card-product a{
8931  background:transparent !important;
8932}
8933.card-product-inner > div{
8934  background:transparent !important;
8935}
8936.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
8937  background:transparent !important;
8938}
8939.card-product .card-product-content,
8940.card-product .price-group,
8941.card-product .prices{
8942  background:transparent !important;
8943}
8944[class*="skeleton"],
8945[class*="placeholder"],
8946[class*="loading"]{
8947  background:transparent !important;
8948}
8949
8950/* ===== IMAGE AREA - KARE GÖRSEL ===== */
8951.image-wrapper{
8952  position:relative;
8953  width:100%;
8954  aspect-ratio:1/1;
8955  overflow:hidden;
8956  background:#fff !important;
8957}
8958
8959.image{
8960  position:relative;
8961  width:100%;
8962  height:100%;
8963}
8964
8965.image-wrapper img{
8966  width:100% !important;
8967  height:100% !important;
8968  object-fit:cover !important;
8969  object-position:center center !important;
8970  display:block;
8971  transition:transform .35s ease;
8972}
8973
8974/* ===== DISCOUNT ===== */
8975.discount{
8976  position:absolute;
8977  top:12px;
8978  left:12px;
8979  width:28px;
8980  height:48px;
8981  background:#e10b0b;
8982  color:#fff;
8983  font-size:12px;
8984  font-weight:600;
8985  display:flex;
8986  align-items:center;
8987  justify-content:center;
8988  writing-mode:vertical-rl;
8989  transform:rotate(180deg);
8990  letter-spacing:.5px;
8991  z-index:7;
8992}
8993
8994/* ===== FAV ===== */
8995.lux-fav{
8996  position:absolute;
8997  top:12px;
8998  right:12px;
8999  z-index:7;
9000}
9001.lux-fav a,
9002.lux-fav button{
9003  background:transparent !important;
9004  border:0 !important;
9005  padding:0 !important;
9006  cursor:pointer;
9007  display:inline-flex;
9008  align-items:center;
9009  justify-content:center;
9010}
9011
9012/* ===== SEPET IKON ===== */
9013.lux-bag{
9014  position:absolute;
9015  bottom:12px;
9016  right:12px;
9017  z-index:7;
9018  width:34px;
9019  height:34px;
9020  display:inline-flex;
9021  align-items:center;
9022  justify-content:center;
9023  background:rgba(255,255,255,.92);
9024  border:1px solid rgba(0,0,0,.10);
9025  border-radius:10px;
9026  cursor:pointer;
9027  transition:.2s ease;
9028}
9029.lux-bag:hover{
9030  background:#fff;
9031  border-color:rgba(0,0,0,.25);
9032}
9033.lux-bag.is-loading{
9034  opacity:.6;
9035  cursor:wait;
9036}
9037.lux-bag.is-success{
9038  background:#2e7d32 !important;
9039  border-color:#2e7d32 !important;
9040  color:#fff !important;
9041}
9042.card-product.sizes-open .lux-bag{
9043  opacity:0;
9044  pointer-events:none;
9045}
9046
9047/* Loading spinner */
9048.lux-bag.is-loading i::before{
9049  content:"⏳";
9050}
9051
9052/* ===== SIZE STRIP ===== */
9053.size-strip{
9054  width:100%;
9055  max-height:0;
9056  overflow:hidden;
9057  background:#fff;
9058  display:flex;
9059  flex-wrap:wrap;
9060  transition:max-height .3s ease, border-color .3s ease;
9061  border-top:1px solid transparent;
9062  border-bottom:1px solid transparent;
9063}
9064.size-strip.open{
9065  max-height:200px;
9066  border-top-color:rgba(0,0,0,.08);
9067  border-bottom-color:rgba(0,0,0,.08);
9068}
9069.size-item{
9070  flex:1 0 auto;
9071  min-width:38px;
9072  height:42px;
9073  display:flex;
9074  align-items:center;
9075  justify-content:center;
9076  font-size:13px;
9077  font-weight:500;
9078  color:#111 !important;
9079  cursor:pointer;
9080  user-select:none;
9081  background:transparent;
9082  transition:background .15s ease, color .15s ease;
9083  border-right:1px solid rgba(0,0,0,.08);
9084}
9085.size-item:last-child{ border-right:0; }
9086.size-item:hover:not(.disabled):not(.adding){
9087  background:#000 !important;
9088  color:#fff !important;
9089}
9090.size-item.disabled{
9091  color:#111 !important;
9092  text-decoration:line-through !important;
9093  opacity:.30 !important;
9094  cursor:not-allowed;
9095}
9096.size-item.adding{
9097  background:#2e7d32 !important;
9098  color:#fff !important;
9099  cursor:wait;
9100}
9101
9102/* ===== META ===== */
9103.lux-meta{
9104  padding:12px 6px 6px;
9105  background:transparent !important;
9106}
9107.lux-brand{
9108  font-size:16px;
9109  font-weight:600;
9110  color:#111;
9111  margin-bottom:2px;
9112}
9113.lux-title{
9114  font-size:14px;
9115  font-weight:400;
9116  line-height:1.45;
9117  color:#111;
9118  margin:0;
9119}
9120.lux-price{
9121  margin-top:10px;
9122  display:flex;
9123  gap:10px;
9124  align-items:baseline;
9125  background:transparent !important;
9126}
9127.lux-price .list-price{
9128  font-size:14px;
9129  font-weight:400;
9130  color:#111;
9131  text-decoration:line-through;
9132}
9133.lux-price .sale-price{
9134  font-size:16px;
9135  font-weight:600;
9136  color:#e10b0b;
9137}
9138
9139.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
9140.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
9141</style><div class="card-product"
9142     id="card-10289"
9143     data-lux-card-id="10289"
9144     data-lux-product-link="https://www.vezzalux.com/prada-962-deri-siyah-tirnakli-erkek-ayakkabi"
9145     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</div><a href="https://www.vezzalux.com/prada-962-deri-siyah-tirnakli-erkek-ayakkabi" class="c-p-i-link" title="Prada 962 Deri Siyah Tırnaklı Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca0ae9abe-76139591-sw1200sh1200.webp" alt="Prada 962 Deri Siyah Tırnaklı Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca0ae9abe-76139591-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca0794db4-39526875-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" 
9146        onclick="userProductFavourite('add', 10289)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
9147         id="lux-bag-10289"
9148         onclick="return luxBagClick(event, 10289);"
9149         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10289" style="display:none;"></div><div class="size-strip" id="size-strip-10289" data-loaded="0"></div><a href="https://www.vezzalux.com/prada-962-deri-siyah-tirnakli-erkek-ayakkabi" class="c-p-i-link" title="Prada 962 Deri Siyah Tırnaklı Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Prada</div><div class="lux-title">Prada 962 Deri Siyah Tırnaklı Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">12.500,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
9149<script>
9150(function(){
9151
9152  /* Bir kez kur */
9153  if(window.__luxCardInit) return;
9154  window.__luxCardInit = true;
9155
9156  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
9157  window.__luxVariantCache = window.__luxVariantCache || {};
9158
9159  function closeAll(){
9160    document.querySelectorAll('.size-strip.open').forEach(function(s){
9161      s.classList.remove('open');
9162    });
9163    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
9164      c.classList.remove('sizes-open');
9165    });
9166  }
9167
9168  function flashSuccess(productId){
9169    var bag = document.getElementById('lux-bag-' + productId);
9170    if(!bag) return;
9171    bag.classList.add('is-success');
9172    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
9173  }
9174
9175  /* Dış tıklama - kapat */
9176  document.addEventListener('click', function(e){
9177    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
9178    if(!inside) closeAll();
9179  });
9180
9181  document.addEventListener('keydown', function(e){
9182    if(e.key === 'Escape') closeAll();
9183  });
9184
9185
9186  /* ============================================
9187     MODAL KILLER - yedek güvence
9188     ============================================ */
9189  var LUX_MODAL_KILL_ACTIVE = false;
9190
9191  function killVisibleModals(){
9192    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
9193    modals.forEach(function(m){
9194      var id = (m.id || '').toLowerCase();
9195      var txt = (m.textContent || '').toLowerCase();
9196      var isCartModal = id.indexOf('cart') > -1
9197                     || id.indexOf('variant') > -1
9198                     || id.indexOf('fast') > -1
9199                     || id.indexOf('urun') > -1
9200                     || txt.indexOf('lütfen seçin') > -1;
9201
9202      if(isCartModal){
9203        if(typeof jQuery !== 'undefined'){
9204          try { jQuery(m).modal('hide'); } catch(e){}
9205        }
9206        m.classList.remove('show','in');
9207        m.style.display = 'none';
9208      }
9209    });
9210
9211    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
9212    document.body.classList.remove('modal-open');
9213    document.body.style.overflow = '';
9214    document.body.style.paddingRight = '';
9215  }
9216
9217  function startModalKill(durationMs){
9218    if(LUX_MODAL_KILL_ACTIVE) return;
9219    LUX_MODAL_KILL_ACTIVE = true;
9220    killVisibleModals();
9221    var interval = setInterval(killVisibleModals, 50);
9222    setTimeout(function(){
9223      clearInterval(interval);
9224      LUX_MODAL_KILL_ACTIVE = false;
9225    }, durationMs || 2000);
9226  }
9227
9228
9229  /* ============================================
9230     AJAX: Varyantları detay sayfasından çek
9231     ============================================
9232     Ürün detay sayfasının tam HTML'ini indir,
9233     DOMParser ile parse et, varyantları bul
9234     ============================================ */
9235  function fetchVariants(productId, productLink, callback){
9236
9237    /* Cache'te varsa hemen döndür */
9238    if(window.__luxVariantCache[productId]){
9239      callback(window.__luxVariantCache[productId]);
9240      return;
9241    }
9242
9243    fetch(productLink, {
9244      method: 'GET',
9245      credentials: 'same-origin',
9246      headers: { 'Accept': 'text/html' }
9247    })
9248    .then(function(r){ return r.text(); })
9249    .then(function(html){
9250      var parser = new DOMParser();
9251      var doc = parser.parseFromString(html, 'text/html');
9252
9253      /* Detay sayfasındaki .variant-box'ı bul */
9254      var variantBox = doc.querySelector('.variant-box');
9255      if(!variantBox){
9256        callback({ variants: [], error: 'no_variant_box' });
9257        return;
9258      }
9259
9260      /* Her varyant grubu için select'leri ve option'ları oku */
9261      var variants = [];
9262      var variantLis = variantBox.querySelectorAll('.variant');
9263
9264      variantLis.forEach(function(li, idx){
9265        var nameEl = li.querySelector('.name');
9266        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
9267
9268        var values = [];
9269
9270        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
9271        var optLinks = li.querySelectorAll('.options a');
9272
9273        if(optLinks.length > 0){
9274          optLinks.forEach(function(a){
9275            /* Beden/renk değerini doğru attribute'tan oku
9276               - data-variant-value: asıl değer (örn: "38", "KAHVE")
9277               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
9278               - textContent: fallback */
9279            var deger = a.getAttribute('data-variant-value')
9280                     || a.textContent.trim();
9281
9282            /* Stok kontrolü - birden fazla yoldan kontrol et */
9283            var isSoldOut = a.classList.contains('sold-out')
9284                         || a.classList.contains('sold_out')
9285                         || a.classList.contains('disabled')
9286                         || a.classList.contains('stoksuz')
9287                         || a.classList.contains('out-of-stock')
9288                         || a.hasAttribute('disabled')
9289                         || a.getAttribute('data-in-stock') === '0'
9290                         || a.getAttribute('data-in-stock') === 'false'
9291                         || a.getAttribute('data-stokta-var-mi') === '0'
9292                         || a.getAttribute('data-stokta-var-mi') === 'false';
9293
9294            values.push({
9295              deger: deger,
9296              inStock: !isSoldOut
9297            });
9298          });
9299        } else {
9300          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
9301          var select = li.querySelector('select');
9302          if(select){
9303            var opts = select.querySelectorAll('option');
9304            opts.forEach(function(o){
9305              if(!o.value) return;
9306              values.push({
9307                deger: o.value,
9308                inStock: !o.disabled
9309              });
9310            });
9311          }
9312        }
9313
9314        variants.push({
9315          index: idx,
9316          baslik: name,
9317          values: values
9318        });
9319      });
9320
9321      var result = { variants: variants };
9322      window.__luxVariantCache[productId] = result;
9323      callback(result);
9324    })
9325    .catch(function(err){
9326      console.error('Varyant çekme hatası:', err);
9327      callback({ variants: [], error: 'fetch_failed' });
9328    });
9329  }
9330
9331
9332  /* ============================================
9333     Beden şeridini ve gizli variant-box'ı oluştur
9334     ============================================ */
9335  function buildVariantUI(productId, data){
9336    var card = document.getElementById('card-' + productId);
9337    if(!card) return false;
9338
9339    var holder = card.querySelector('.lux-variant-box');
9340    var strip = document.getElementById('size-strip-' + productId);
9341    if(!holder || !strip) return false;
9342
9343    if(!data.variants || data.variants.length === 0){
9344      /* Varyant yok */
9345      return false;
9346    }
9347
9348    /* Çoklu değerli ilk varyantı bul (beden) */
9349    var displayVariant = null;
9350    data.variants.forEach(function(v){
9351      if(!displayVariant && v.values.length > 1){
9352        displayVariant = v;
9353      }
9354    });
9355
9356    /* Gizli variant-box HTML */
9357    var html = '<div class="variant-box"><ul>';
9358    data.variants.forEach(function(v){
9359      html += '<li class="variant">';
9360      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
9361
9362      if(v.values.length > 1){
9363        html += '<option value="">Lütfen seçin</option>';
9364      }
9365
9366      v.values.forEach(function(val, i){
9367        var selected = (v.values.length === 1) ? ' selected' : '';
9368        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
9369      });
9370
9371      html += '</select></li>';
9372    });
9373    html += '</ul></div>';
9374
9375    holder.innerHTML = html;
9376    holder.style.display = '';
9377
9378    /* Strip HTML (sadece çoklu değerli varyantlar için)
9379       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
9380    if(displayVariant){
9381      var stripHtml = '';
9382      var inStockCount = 0;
9383
9384      /* DEBUG - console'da gör */
9385      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
9386
9387      displayVariant.values.forEach(function(val){
9388        /* SADECE stokta olanları ekle */
9389        if(val.inStock === true){
9390          stripHtml += '<div class="size-item" '
9391                    + 'data-urun-id="' + productId + '" '
9392                    + 'data-varyant-deger="' + val.deger + '" '
9393                    + 'onclick="return luxAddVariant(event, this);">'
9394                    + val.deger + '</div>';
9395          inStockCount++;
9396        }
9397      });
9398
9399      /* Eğer stokta hiç beden yoksa şeridi gösterme */
9400      if(inStockCount === 0){
9401        strip.setAttribute('data-loaded', '1');
9402        strip.setAttribute('data-has-variants', '0');
9403        return false;
9404      }
9405
9406      strip.innerHTML = stripHtml;
9407      strip.setAttribute('data-loaded', '1');
9408      strip.setAttribute('data-has-variants', '1');
9409      return true;
9410    } else {
9411      strip.setAttribute('data-loaded', '1');
9412      strip.setAttribute('data-has-variants', '0');
9413      return false;
9414    }
9415  }
9416
9417
9418  /* ============================================
9419     SEPET IKONU TIKLAMASI
9420     ============================================ */
9421  window.luxBagClick = function(ev, productId){
9422    ev.preventDefault();
9423    ev.stopPropagation();
9424
9425    var card = document.getElementById('card-' + productId);
9426    var strip = document.getElementById('size-strip-' + productId);
9427    var bag = document.getElementById('lux-bag-' + productId);
9428    if(!card || !strip) return false;
9429
9430    /* Strip zaten yüklenmişse direkt davran */
9431    if(strip.getAttribute('data-loaded') === '1'){
9432      if(strip.getAttribute('data-has-variants') === '1'){
9433        toggleStrip(productId);
9434      } else {
9435        addToCartSmart(productId);
9436      }
9437      return false;
9438    }
9439
9440    /* İlk tıklama - AJAX ile varyantları çek */
9441    bag.classList.add('is-loading');
9442    var productLink = card.getAttribute('data-lux-product-link');
9443
9444    fetchVariants(productId, productLink, function(data){
9445      bag.classList.remove('is-loading');
9446
9447      var hasVariants = buildVariantUI(productId, data);
9448
9449      if(hasVariants){
9450        /* Bedenler var - şeridi aç */
9451        toggleStrip(productId);
9452      } else {
9453        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
9454        addToCartSmart(productId);
9455      }
9456    });
9457
9458    return false;
9459  };
9460
9461  function toggleStrip(productId){
9462    var strip = document.getElementById('size-strip-' + productId);
9463    var card = document.getElementById('card-' + productId);
9464    if(!strip) return;
9465
9466    document.querySelectorAll('.size-strip.open').forEach(function(s){
9467      if(s !== strip) s.classList.remove('open');
9468    });
9469    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
9470      if(c !== card) c.classList.remove('sizes-open');
9471    });
9472
9473    strip.classList.toggle('open');
9474    if(card) card.classList.toggle('sizes-open');
9475  }
9476
9477
9478  /* ============================================
9479     BEDEN TIKLAMASI
9480     ============================================ */
9481  window.luxAddVariant = function(ev, elem){
9482    ev.preventDefault();
9483    ev.stopPropagation();
9484
9485    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
9486
9487    var productId = elem.getAttribute('data-urun-id');
9488    var varyantDeger = elem.getAttribute('data-varyant-deger');
9489
9490    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
9491    if(!holder) return false;
9492
9493    /* Seçilen bedeni ilk select'e yaz */
9494    var firstSelect = holder.querySelector('select[data-variant="0"]');
9495    if(firstSelect){
9496      firstSelect.value = varyantDeger;
9497      if(typeof jQuery !== "undefined"){
9498        jQuery(firstSelect).val(varyantDeger).trigger('change');
9499      }
9500    }
9501
9502    /* Diğer select'lere ilk geçerli değeri koy */
9503    var allSelects = holder.querySelectorAll('select[data-variant]');
9504    allSelects.forEach(function(sel, idx){
9505      if(idx === 0) return;
9506      if(sel.value) return;
9507      var options = sel.querySelectorAll('option');
9508      for(var i = 0; i < options.length; i++){
9509        if(options[i].value){
9510          sel.value = options[i].value;
9511          if(typeof jQuery !== "undefined"){
9512            jQuery(sel).val(options[i].value).trigger('change');
9513          }
9514          break;
9515        }
9516      }
9517    });
9518
9519    /* Görsel feedback */
9520    elem.classList.add('adding');
9521    var originalText = elem.textContent;
9522    elem.textContent = '✓';
9523
9524    /* Sepete ekle */
9525    addToCartSmart(productId, {
9526      checkVariant: true,
9527      variantCount: allSelects.length,
9528      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
9529    });
9530
9531    setTimeout(function(){
9532      elem.textContent = originalText;
9533      elem.classList.remove('adding');
9534      closeAll();
9535    }, 800);
9536
9537    return false;
9538  };
9539
9540
9541  /* ============================================
9542     SEPETE EKLE - Modal killer ile
9543     ============================================ */
9544  function addToCartSmart(productId, extraOptions){
9545    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
9546
9547    var options = {
9548      quantity: 1,
9549      hideNativeModal: 'lux-card-' + productId
9550    };
9551
9552    if(extraOptions){
9553      Object.keys(extraOptions).forEach(function(k){
9554        options[k] = extraOptions[k];
9555      });
9556    } else if(holder){
9557      var selects = holder.querySelectorAll('select[data-variant]');
9558      if(selects.length > 0){
9559        options.checkVariant = true;
9560        options.variantCount = selects.length;
9561        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
9562      }
9563    }
9564
9565    startModalKill(2000);
9566
9567    if(typeof addCart === "function"){
9568      try {
9569        addCart(productId, 'card', options);
9570        flashSuccess(productId);
9571      } catch(err){
9572        console.error('Sepete ekleme hatası:', err);
9573      }
9574    }
9575  }
9576
9577})();
9578</script>
9578</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
9579                             data-lux-product-shell="1"
9580                             data-lux-page="1"><style>
9581@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
9582
9583/* ===== VEZZA LUX CARD ===== */
9584.card-product{
9585  font-family:'Poppins',sans-serif;
9586  background:#fff !important;
9587  position:relative;
9588}
9589.card-product-inner{
9590  background:transparent !important;
9591  position:relative;
9592}
9593.card-product .c-p-i-link,
9594.card-product a{
9595  background:transparent !important;
9596}
9597.card-product-inner > div{
9598  background:transparent !important;
9599}
9600.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
9601  background:transparent !important;
9602}
9603.card-product .card-product-content,
9604.card-product .price-group,
9605.card-product .prices{
9606  background:transparent !important;
9607}
9608[class*="skeleton"],
9609[class*="placeholder"],
9610[class*="loading"]{
9611  background:transparent !important;
9612}
9613
9614/* ===== IMAGE AREA - KARE GÖRSEL ===== */
9615.image-wrapper{
9616  position:relative;
9617  width:100%;
9618  aspect-ratio:1/1;
9619  overflow:hidden;
9620  background:#fff !important;
9621}
9622
9623.image{
9624  position:relative;
9625  width:100%;
9626  height:100%;
9627}
9628
9629.image-wrapper img{
9630  width:100% !important;
9631  height:100% !important;
9632  object-fit:cover !important;
9633  object-position:center center !important;
9634  display:block;
9635  transition:transform .35s ease;
9636}
9637
9638/* ===== DISCOUNT ===== */
9639.discount{
9640  position:absolute;
9641  top:12px;
9642  left:12px;
9643  width:28px;
9644  height:48px;
9645  background:#e10b0b;
9646  color:#fff;
9647  font-size:12px;
9648  font-weight:600;
9649  display:flex;
9650  align-items:center;
9651  justify-content:center;
9652  writing-mode:vertical-rl;
9653  transform:rotate(180deg);
9654  letter-spacing:.5px;
9655  z-index:7;
9656}
9657
9658/* ===== FAV ===== */
9659.lux-fav{
9660  position:absolute;
9661  top:12px;
9662  right:12px;
9663  z-index:7;
9664}
9665.lux-fav a,
9666.lux-fav button{
9667  background:transparent !important;
9668  border:0 !important;
9669  padding:0 !important;
9670  cursor:pointer;
9671  display:inline-flex;
9672  align-items:center;
9673  justify-content:center;
9674}
9675
9676/* ===== SEPET IKON ===== */
9677.lux-bag{
9678  position:absolute;
9679  bottom:12px;
9680  right:12px;
9681  z-index:7;
9682  width:34px;
9683  height:34px;
9684  display:inline-flex;
9685  align-items:center;
9686  justify-content:center;
9687  background:rgba(255,255,255,.92);
9688  border:1px solid rgba(0,0,0,.10);
9689  border-radius:10px;
9690  cursor:pointer;
9691  transition:.2s ease;
9692}
9693.lux-bag:hover{
9694  background:#fff;
9695  border-color:rgba(0,0,0,.25);
9696}
9697.lux-bag.is-loading{
9698  opacity:.6;
9699  cursor:wait;
9700}
9701.lux-bag.is-success{
9702  background:#2e7d32 !important;
9703  border-color:#2e7d32 !important;
9704  color:#fff !important;
9705}
9706.card-product.sizes-open .lux-bag{
9707  opacity:0;
9708  pointer-events:none;
9709}
9710
9711/* Loading spinner */
9712.lux-bag.is-loading i::before{
9713  content:"⏳";
9714}
9715
9716/* ===== SIZE STRIP ===== */
9717.size-strip{
9718  width:100%;
9719  max-height:0;
9720  overflow:hidden;
9721  background:#fff;
9722  display:flex;
9723  flex-wrap:wrap;
9724  transition:max-height .3s ease, border-color .3s ease;
9725  border-top:1px solid transparent;
9726  border-bottom:1px solid transparent;
9727}
9728.size-strip.open{
9729  max-height:200px;
9730  border-top-color:rgba(0,0,0,.08);
9731  border-bottom-color:rgba(0,0,0,.08);
9732}
9733.size-item{
9734  flex:1 0 auto;
9735  min-width:38px;
9736  height:42px;
9737  display:flex;
9738  align-items:center;
9739  justify-content:center;
9740  font-size:13px;
9741  font-weight:500;
9742  color:#111 !important;
9743  cursor:pointer;
9744  user-select:none;
9745  background:transparent;
9746  transition:background .15s ease, color .15s ease;
9747  border-right:1px solid rgba(0,0,0,.08);
9748}
9749.size-item:last-child{ border-right:0; }
9750.size-item:hover:not(.disabled):not(.adding){
9751  background:#000 !important;
9752  color:#fff !important;
9753}
9754.size-item.disabled{
9755  color:#111 !important;
9756  text-decoration:line-through !important;
9757  opacity:.30 !important;
9758  cursor:not-allowed;
9759}
9760.size-item.adding{
9761  background:#2e7d32 !important;
9762  color:#fff !important;
9763  cursor:wait;
9764}
9765
9766/* ===== META ===== */
9767.lux-meta{
9768  padding:12px 6px 6px;
9769  background:transparent !important;
9770}
9771.lux-brand{
9772  font-size:16px;
9773  font-weight:600;
9774  color:#111;
9775  margin-bottom:2px;
9776}
9777.lux-title{
9778  font-size:14px;
9779  font-weight:400;
9780  line-height:1.45;
9781  color:#111;
9782  margin:0;
9783}
9784.lux-price{
9785  margin-top:10px;
9786  display:flex;
9787  gap:10px;
9788  align-items:baseline;
9789  background:transparent !important;
9790}
9791.lux-price .list-price{
9792  font-size:14px;
9793  font-weight:400;
9794  color:#111;
9795  text-decoration:line-through;
9796}
9797.lux-price .sale-price{
9798  font-size:16px;
9799  font-weight:600;
9800  color:#e10b0b;
9801}
9802
9803.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
9804.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
9805</style><div class="card-product"
9806     id="card-10250"
9807     data-lux-card-id="10250"
9808     data-lux-product-link="https://www.vezzalux.com/lora-914-krem-bogazli-erkek-ayakkabi"
9809     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%43</div><a href="https://www.vezzalux.com/lora-914-krem-bogazli-erkek-ayakkabi" class="c-p-i-link" title="Lora 914 Krem Boğazlı Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c925a87d8-8933619-sw1200sh1200.webp" alt="Lora 914 Krem Boğazlı Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c925a87d8-8933619-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c9274bca2-34849557-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" 
9810        onclick="userProductFavourite('add', 10250)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
9811         id="lux-bag-10250"
9812         onclick="return luxBagClick(event, 10250);"
9813         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10250" style="display:none;"></div><div class="size-strip" id="size-strip-10250" data-loaded="0"></div><a href="https://www.vezzalux.com/lora-914-krem-bogazli-erkek-ayakkabi" class="c-p-i-link" title="Lora 914 Krem Boğazlı Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Lora piana</div><div class="lux-title">Lora 914 Krem Boğazlı Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">11.499,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
9813<script>
9814(function(){
9815
9816  /* Bir kez kur */
9817  if(window.__luxCardInit) return;
9818  window.__luxCardInit = true;
9819
9820  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
9821  window.__luxVariantCache = window.__luxVariantCache || {};
9822
9823  function closeAll(){
9824    document.querySelectorAll('.size-strip.open').forEach(function(s){
9825      s.classList.remove('open');
9826    });
9827    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
9828      c.classList.remove('sizes-open');
9829    });
9830  }
9831
9832  function flashSuccess(productId){
9833    var bag = document.getElementById('lux-bag-' + productId);
9834    if(!bag) return;
9835    bag.classList.add('is-success');
9836    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
9837  }
9838
9839  /* Dış tıklama - kapat */
9840  document.addEventListener('click', function(e){
9841    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
9842    if(!inside) closeAll();
9843  });
9844
9845  document.addEventListener('keydown', function(e){
9846    if(e.key === 'Escape') closeAll();
9847  });
9848
9849
9850  /* ============================================
9851     MODAL KILLER - yedek güvence
9852     ============================================ */
9853  var LUX_MODAL_KILL_ACTIVE = false;
9854
9855  function killVisibleModals(){
9856    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
9857    modals.forEach(function(m){
9858      var id = (m.id || '').toLowerCase();
9859      var txt = (m.textContent || '').toLowerCase();
9860      var isCartModal = id.indexOf('cart') > -1
9861                     || id.indexOf('variant') > -1
9862                     || id.indexOf('fast') > -1
9863                     || id.indexOf('urun') > -1
9864                     || txt.indexOf('lütfen seçin') > -1;
9865
9866      if(isCartModal){
9867        if(typeof jQuery !== 'undefined'){
9868          try { jQuery(m).modal('hide'); } catch(e){}
9869        }
9870        m.classList.remove('show','in');
9871        m.style.display = 'none';
9872      }
9873    });
9874
9875    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
9876    document.body.classList.remove('modal-open');
9877    document.body.style.overflow = '';
9878    document.body.style.paddingRight = '';
9879  }
9880
9881  function startModalKill(durationMs){
9882    if(LUX_MODAL_KILL_ACTIVE) return;
9883    LUX_MODAL_KILL_ACTIVE = true;
9884    killVisibleModals();
9885    var interval = setInterval(killVisibleModals, 50);
9886    setTimeout(function(){
9887      clearInterval(interval);
9888      LUX_MODAL_KILL_ACTIVE = false;
9889    }, durationMs || 2000);
9890  }
9891
9892
9893  /* ============================================
9894     AJAX: Varyantları detay sayfasından çek
9895     ============================================
9896     Ürün detay sayfasının tam HTML'ini indir,
9897     DOMParser ile parse et, varyantları bul
9898     ============================================ */
9899  function fetchVariants(productId, productLink, callback){
9900
9901    /* Cache'te varsa hemen döndür */
9902    if(window.__luxVariantCache[productId]){
9903      callback(window.__luxVariantCache[productId]);
9904      return;
9905    }
9906
9907    fetch(productLink, {
9908      method: 'GET',
9909      credentials: 'same-origin',
9910      headers: { 'Accept': 'text/html' }
9911    })
9912    .then(function(r){ return r.text(); })
9913    .then(function(html){
9914      var parser = new DOMParser();
9915      var doc = parser.parseFromString(html, 'text/html');
9916
9917      /* Detay sayfasındaki .variant-box'ı bul */
9918      var variantBox = doc.querySelector('.variant-box');
9919      if(!variantBox){
9920        callback({ variants: [], error: 'no_variant_box' });
9921        return;
9922      }
9923
9924      /* Her varyant grubu için select'leri ve option'ları oku */
9925      var variants = [];
9926      var variantLis = variantBox.querySelectorAll('.variant');
9927
9928      variantLis.forEach(function(li, idx){
9929        var nameEl = li.querySelector('.name');
9930        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
9931
9932        var values = [];
9933
9934        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
9935        var optLinks = li.querySelectorAll('.options a');
9936
9937        if(optLinks.length > 0){
9938          optLinks.forEach(function(a){
9939            /* Beden/renk değerini doğru attribute'tan oku
9940               - data-variant-value: asıl değer (örn: "38", "KAHVE")
9941               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
9942               - textContent: fallback */
9943            var deger = a.getAttribute('data-variant-value')
9944                     || a.textContent.trim();
9945
9946            /* Stok kontrolü - birden fazla yoldan kontrol et */
9947            var isSoldOut = a.classList.contains('sold-out')
9948                         || a.classList.contains('sold_out')
9949                         || a.classList.contains('disabled')
9950                         || a.classList.contains('stoksuz')
9951                         || a.classList.contains('out-of-stock')
9952                         || a.hasAttribute('disabled')
9953                         || a.getAttribute('data-in-stock') === '0'
9954                         || a.getAttribute('data-in-stock') === 'false'
9955                         || a.getAttribute('data-stokta-var-mi') === '0'
9956                         || a.getAttribute('data-stokta-var-mi') === 'false';
9957
9958            values.push({
9959              deger: deger,
9960              inStock: !isSoldOut
9961            });
9962          });
9963        } else {
9964          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
9965          var select = li.querySelector('select');
9966          if(select){
9967            var opts = select.querySelectorAll('option');
9968            opts.forEach(function(o){
9969              if(!o.value) return;
9970              values.push({
9971                deger: o.value,
9972                inStock: !o.disabled
9973              });
9974            });
9975          }
9976        }
9977
9978        variants.push({
9979          index: idx,
9980          baslik: name,
9981          values: values
9982        });
9983      });
9984
9985      var result = { variants: variants };
9986      window.__luxVariantCache[productId] = result;
9987      callback(result);
9988    })
9989    .catch(function(err){
9990      console.error('Varyant çekme hatası:', err);
9991      callback({ variants: [], error: 'fetch_failed' });
9992    });
9993  }
9994
9995
9996  /* ============================================
9997     Beden şeridini ve gizli variant-box'ı oluştur
9998     ============================================ */
9999  function buildVariantUI(productId, data){
10000    var card = document.getElementById('card-' + productId);
10001    if(!card) return false;
10002
10003    var holder = card.querySelector('.lux-variant-box');
10004    var strip = document.getElementById('size-strip-' + productId);
10005    if(!holder || !strip) return false;
10006
10007    if(!data.variants || data.variants.length === 0){
10008      /* Varyant yok */
10009      return false;
10010    }
10011
10012    /* Çoklu değerli ilk varyantı bul (beden) */
10013    var displayVariant = null;
10014    data.variants.forEach(function(v){
10015      if(!displayVariant && v.values.length > 1){
10016        displayVariant = v;
10017      }
10018    });
10019
10020    /* Gizli variant-box HTML */
10021    var html = '<div class="variant-box"><ul>';
10022    data.variants.forEach(function(v){
10023      html += '<li class="variant">';
10024      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
10025
10026      if(v.values.length > 1){
10027        html += '<option value="">Lütfen seçin</option>';
10028      }
10029
10030      v.values.forEach(function(val, i){
10031        var selected = (v.values.length === 1) ? ' selected' : '';
10032        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
10033      });
10034
10035      html += '</select></li>';
10036    });
10037    html += '</ul></div>';
10038
10039    holder.innerHTML = html;
10040    holder.style.display = '';
10041
10042    /* Strip HTML (sadece çoklu değerli varyantlar için)
10043       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
10044    if(displayVariant){
10045      var stripHtml = '';
10046      var inStockCount = 0;
10047
10048      /* DEBUG - console'da gör */
10049      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
10050
10051      displayVariant.values.forEach(function(val){
10052        /* SADECE stokta olanları ekle */
10053        if(val.inStock === true){
10054          stripHtml += '<div class="size-item" '
10055                    + 'data-urun-id="' + productId + '" '
10056                    + 'data-varyant-deger="' + val.deger + '" '
10057                    + 'onclick="return luxAddVariant(event, this);">'
10058                    + val.deger + '</div>';
10059          inStockCount++;
10060        }
10061      });
10062
10063      /* Eğer stokta hiç beden yoksa şeridi gösterme */
10064      if(inStockCount === 0){
10065        strip.setAttribute('data-loaded', '1');
10066        strip.setAttribute('data-has-variants', '0');
10067        return false;
10068      }
10069
10070      strip.innerHTML = stripHtml;
10071      strip.setAttribute('data-loaded', '1');
10072      strip.setAttribute('data-has-variants', '1');
10073      return true;
10074    } else {
10075      strip.setAttribute('data-loaded', '1');
10076      strip.setAttribute('data-has-variants', '0');
10077      return false;
10078    }
10079  }
10080
10081
10082  /* ============================================
10083     SEPET IKONU TIKLAMASI
10084     ============================================ */
10085  window.luxBagClick = function(ev, productId){
10086    ev.preventDefault();
10087    ev.stopPropagation();
10088
10089    var card = document.getElementById('card-' + productId);
10090    var strip = document.getElementById('size-strip-' + productId);
10091    var bag = document.getElementById('lux-bag-' + productId);
10092    if(!card || !strip) return false;
10093
10094    /* Strip zaten yüklenmişse direkt davran */
10095    if(strip.getAttribute('data-loaded') === '1'){
10096      if(strip.getAttribute('data-has-variants') === '1'){
10097        toggleStrip(productId);
10098      } else {
10099        addToCartSmart(productId);
10100      }
10101      return false;
10102    }
10103
10104    /* İlk tıklama - AJAX ile varyantları çek */
10105    bag.classList.add('is-loading');
10106    var productLink = card.getAttribute('data-lux-product-link');
10107
10108    fetchVariants(productId, productLink, function(data){
10109      bag.classList.remove('is-loading');
10110
10111      var hasVariants = buildVariantUI(productId, data);
10112
10113      if(hasVariants){
10114        /* Bedenler var - şeridi aç */
10115        toggleStrip(productId);
10116      } else {
10117        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
10118        addToCartSmart(productId);
10119      }
10120    });
10121
10122    return false;
10123  };
10124
10125  function toggleStrip(productId){
10126    var strip = document.getElementById('size-strip-' + productId);
10127    var card = document.getElementById('card-' + productId);
10128    if(!strip) return;
10129
10130    document.querySelectorAll('.size-strip.open').forEach(function(s){
10131      if(s !== strip) s.classList.remove('open');
10132    });
10133    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
10134      if(c !== card) c.classList.remove('sizes-open');
10135    });
10136
10137    strip.classList.toggle('open');
10138    if(card) card.classList.toggle('sizes-open');
10139  }
10140
10141
10142  /* ============================================
10143     BEDEN TIKLAMASI
10144     ============================================ */
10145  window.luxAddVariant = function(ev, elem){
10146    ev.preventDefault();
10147    ev.stopPropagation();
10148
10149    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
10150
10151    var productId = elem.getAttribute('data-urun-id');
10152    var varyantDeger = elem.getAttribute('data-varyant-deger');
10153
10154    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
10155    if(!holder) return false;
10156
10157    /* Seçilen bedeni ilk select'e yaz */
10158    var firstSelect = holder.querySelector('select[data-variant="0"]');
10159    if(firstSelect){
10160      firstSelect.value = varyantDeger;
10161      if(typeof jQuery !== "undefined"){
10162        jQuery(firstSelect).val(varyantDeger).trigger('change');
10163      }
10164    }
10165
10166    /* Diğer select'lere ilk geçerli değeri koy */
10167    var allSelects = holder.querySelectorAll('select[data-variant]');
10168    allSelects.forEach(function(sel, idx){
10169      if(idx === 0) return;
10170      if(sel.value) return;
10171      var options = sel.querySelectorAll('option');
10172      for(var i = 0; i < options.length; i++){
10173        if(options[i].value){
10174          sel.value = options[i].value;
10175          if(typeof jQuery !== "undefined"){
10176            jQuery(sel).val(options[i].value).trigger('change');
10177          }
10178          break;
10179        }
10180      }
10181    });
10182
10183    /* Görsel feedback */
10184    elem.classList.add('adding');
10185    var originalText = elem.textContent;
10186    elem.textContent = '✓';
10187
10188    /* Sepete ekle */
10189    addToCartSmart(productId, {
10190      checkVariant: true,
10191      variantCount: allSelects.length,
10192      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
10193    });
10194
10195    setTimeout(function(){
10196      elem.textContent = originalText;
10197      elem.classList.remove('adding');
10198      closeAll();
10199    }, 800);
10200
10201    return false;
10202  };
10203
10204
10205  /* ============================================
10206     SEPETE EKLE - Modal killer ile
10207     ============================================ */
10208  function addToCartSmart(productId, extraOptions){
10209    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
10210
10211    var options = {
10212      quantity: 1,
10213      hideNativeModal: 'lux-card-' + productId
10214    };
10215
10216    if(extraOptions){
10217      Object.keys(extraOptions).forEach(function(k){
10218        options[k] = extraOptions[k];
10219      });
10220    } else if(holder){
10221      var selects = holder.querySelectorAll('select[data-variant]');
10222      if(selects.length > 0){
10223        options.checkVariant = true;
10224        options.variantCount = selects.length;
10225        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
10226      }
10227    }
10228
10229    startModalKill(2000);
10230
10231    if(typeof addCart === "function"){
10232      try {
10233        addCart(productId, 'card', options);
10234        flashSuccess(productId);
10235      } catch(err){
10236        console.error('Sepete ekleme hatası:', err);
10237      }
10238    }
10239  }
10240
10241})();
10242</script>
10242</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
10243                             data-lux-product-shell="1"
10244                             data-lux-page="1"><style>
10245@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
10246
10247/* ===== VEZZA LUX CARD ===== */
10248.card-product{
10249  font-family:'Poppins',sans-serif;
10250  background:#fff !important;
10251  position:relative;
10252}
10253.card-product-inner{
10254  background:transparent !important;
10255  position:relative;
10256}
10257.card-product .c-p-i-link,
10258.card-product a{
10259  background:transparent !important;
10260}
10261.card-product-inner > div{
10262  background:transparent !important;
10263}
10264.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
10265  background:transparent !important;
10266}
10267.card-product .card-product-content,
10268.card-product .price-group,
10269.card-product .prices{
10270  background:transparent !important;
10271}
10272[class*="skeleton"],
10273[class*="placeholder"],
10274[class*="loading"]{
10275  background:transparent !important;
10276}
10277
10278/* ===== IMAGE AREA - KARE GÖRSEL ===== */
10279.image-wrapper{
10280  position:relative;
10281  width:100%;
10282  aspect-ratio:1/1;
10283  overflow:hidden;
10284  background:#fff !important;
10285}
10286
10287.image{
10288  position:relative;
10289  width:100%;
10290  height:100%;
10291}
10292
10293.image-wrapper img{
10294  width:100% !important;
10295  height:100% !important;
10296  object-fit:cover !important;
10297  object-position:center center !important;
10298  display:block;
10299  transition:transform .35s ease;
10300}
10301
10302/* ===== DISCOUNT ===== */
10303.discount{
10304  position:absolute;
10305  top:12px;
10306  left:12px;
10307  width:28px;
10308  height:48px;
10309  background:#e10b0b;
10310  color:#fff;
10311  font-size:12px;
10312  font-weight:600;
10313  display:flex;
10314  align-items:center;
10315  justify-content:center;
10316  writing-mode:vertical-rl;
10317  transform:rotate(180deg);
10318  letter-spacing:.5px;
10319  z-index:7;
10320}
10321
10322/* ===== FAV ===== */
10323.lux-fav{
10324  position:absolute;
10325  top:12px;
10326  right:12px;
10327  z-index:7;
10328}
10329.lux-fav a,
10330.lux-fav button{
10331  background:transparent !important;
10332  border:0 !important;
10333  padding:0 !important;
10334  cursor:pointer;
10335  display:inline-flex;
10336  align-items:center;
10337  justify-content:center;
10338}
10339
10340/* ===== SEPET IKON ===== */
10341.lux-bag{
10342  position:absolute;
10343  bottom:12px;
10344  right:12px;
10345  z-index:7;
10346  width:34px;
10347  height:34px;
10348  display:inline-flex;
10349  align-items:center;
10350  justify-content:center;
10351  background:rgba(255,255,255,.92);
10352  border:1px solid rgba(0,0,0,.10);
10353  border-radius:10px;
10354  cursor:pointer;
10355  transition:.2s ease;
10356}
10357.lux-bag:hover{
10358  background:#fff;
10359  border-color:rgba(0,0,0,.25);
10360}
10361.lux-bag.is-loading{
10362  opacity:.6;
10363  cursor:wait;
10364}
10365.lux-bag.is-success{
10366  background:#2e7d32 !important;
10367  border-color:#2e7d32 !important;
10368  color:#fff !important;
10369}
10370.card-product.sizes-open .lux-bag{
10371  opacity:0;
10372  pointer-events:none;
10373}
10374
10375/* Loading spinner */
10376.lux-bag.is-loading i::before{
10377  content:"⏳";
10378}
10379
10380/* ===== SIZE STRIP ===== */
10381.size-strip{
10382  width:100%;
10383  max-height:0;
10384  overflow:hidden;
10385  background:#fff;
10386  display:flex;
10387  flex-wrap:wrap;
10388  transition:max-height .3s ease, border-color .3s ease;
10389  border-top:1px solid transparent;
10390  border-bottom:1px solid transparent;
10391}
10392.size-strip.open{
10393  max-height:200px;
10394  border-top-color:rgba(0,0,0,.08);
10395  border-bottom-color:rgba(0,0,0,.08);
10396}
10397.size-item{
10398  flex:1 0 auto;
10399  min-width:38px;
10400  height:42px;
10401  display:flex;
10402  align-items:center;
10403  justify-content:center;
10404  font-size:13px;
10405  font-weight:500;
10406  color:#111 !important;
10407  cursor:pointer;
10408  user-select:none;
10409  background:transparent;
10410  transition:background .15s ease, color .15s ease;
10411  border-right:1px solid rgba(0,0,0,.08);
10412}
10413.size-item:last-child{ border-right:0; }
10414.size-item:hover:not(.disabled):not(.adding){
10415  background:#000 !important;
10416  color:#fff !important;
10417}
10418.size-item.disabled{
10419  color:#111 !important;
10420  text-decoration:line-through !important;
10421  opacity:.30 !important;
10422  cursor:not-allowed;
10423}
10424.size-item.adding{
10425  background:#2e7d32 !important;
10426  color:#fff !important;
10427  cursor:wait;
10428}
10429
10430/* ===== META ===== */
10431.lux-meta{
10432  padding:12px 6px 6px;
10433  background:transparent !important;
10434}
10435.lux-brand{
10436  font-size:16px;
10437  font-weight:600;
10438  color:#111;
10439  margin-bottom:2px;
10440}
10441.lux-title{
10442  font-size:14px;
10443  font-weight:400;
10444  line-height:1.45;
10445  color:#111;
10446  margin:0;
10447}
10448.lux-price{
10449  margin-top:10px;
10450  display:flex;
10451  gap:10px;
10452  align-items:baseline;
10453  background:transparent !important;
10454}
10455.lux-price .list-price{
10456  font-size:14px;
10457  font-weight:400;
10458  color:#111;
10459  text-decoration:line-through;
10460}
10461.lux-price .sale-price{
10462  font-size:16px;
10463  font-weight:600;
10464  color:#e10b0b;
10465}
10466
10467.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
10468.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
10469</style><div class="card-product"
10470     id="card-10236"
10471     data-lux-card-id="10236"
10472     data-lux-product-link="https://www.vezzalux.com/dg-894-siyah-gri-erkek-ayakkabi"
10473     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</div><a href="https://www.vezzalux.com/dg-894-siyah-gri-erkek-ayakkabi" class="c-p-i-link" title="Dg 894 Siyah Gri Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c8cb3531d-6888892-sw1200sh1200.webp" alt="Dg 894 Siyah Gri Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c8cb3531d-6888892-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c8c97c95e-55930898-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" 
10474        onclick="userProductFavourite('add', 10236)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
10475         id="lux-bag-10236"
10476         onclick="return luxBagClick(event, 10236);"
10477         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10236" style="display:none;"></div><div class="size-strip" id="size-strip-10236" data-loaded="0"></div><a href="https://www.vezzalux.com/dg-894-siyah-gri-erkek-ayakkabi" class="c-p-i-link" title="Dg 894 Siyah Gri Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Dolce Gabbana</div><div class="lux-title">Dg 894 Siyah Gri Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">12.500,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
10477<script>
10478(function(){
10479
10480  /* Bir kez kur */
10481  if(window.__luxCardInit) return;
10482  window.__luxCardInit = true;
10483
10484  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
10485  window.__luxVariantCache = window.__luxVariantCache || {};
10486
10487  function closeAll(){
10488    document.querySelectorAll('.size-strip.open').forEach(function(s){
10489      s.classList.remove('open');
10490    });
10491    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
10492      c.classList.remove('sizes-open');
10493    });
10494  }
10495
10496  function flashSuccess(productId){
10497    var bag = document.getElementById('lux-bag-' + productId);
10498    if(!bag) return;
10499    bag.classList.add('is-success');
10500    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
10501  }
10502
10503  /* Dış tıklama - kapat */
10504  document.addEventListener('click', function(e){
10505    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
10506    if(!inside) closeAll();
10507  });
10508
10509  document.addEventListener('keydown', function(e){
10510    if(e.key === 'Escape') closeAll();
10511  });
10512
10513
10514  /* ============================================
10515     MODAL KILLER - yedek güvence
10516     ============================================ */
10517  var LUX_MODAL_KILL_ACTIVE = false;
10518
10519  function killVisibleModals(){
10520    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
10521    modals.forEach(function(m){
10522      var id = (m.id || '').toLowerCase();
10523      var txt = (m.textContent || '').toLowerCase();
10524      var isCartModal = id.indexOf('cart') > -1
10525                     || id.indexOf('variant') > -1
10526                     || id.indexOf('fast') > -1
10527                     || id.indexOf('urun') > -1
10528                     || txt.indexOf('lütfen seçin') > -1;
10529
10530      if(isCartModal){
10531        if(typeof jQuery !== 'undefined'){
10532          try { jQuery(m).modal('hide'); } catch(e){}
10533        }
10534        m.classList.remove('show','in');
10535        m.style.display = 'none';
10536      }
10537    });
10538
10539    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
10540    document.body.classList.remove('modal-open');
10541    document.body.style.overflow = '';
10542    document.body.style.paddingRight = '';
10543  }
10544
10545  function startModalKill(durationMs){
10546    if(LUX_MODAL_KILL_ACTIVE) return;
10547    LUX_MODAL_KILL_ACTIVE = true;
10548    killVisibleModals();
10549    var interval = setInterval(killVisibleModals, 50);
10550    setTimeout(function(){
10551      clearInterval(interval);
10552      LUX_MODAL_KILL_ACTIVE = false;
10553    }, durationMs || 2000);
10554  }
10555
10556
10557  /* ============================================
10558     AJAX: Varyantları detay sayfasından çek
10559     ============================================
10560     Ürün detay sayfasının tam HTML'ini indir,
10561     DOMParser ile parse et, varyantları bul
10562     ============================================ */
10563  function fetchVariants(productId, productLink, callback){
10564
10565    /* Cache'te varsa hemen döndür */
10566    if(window.__luxVariantCache[productId]){
10567      callback(window.__luxVariantCache[productId]);
10568      return;
10569    }
10570
10571    fetch(productLink, {
10572      method: 'GET',
10573      credentials: 'same-origin',
10574      headers: { 'Accept': 'text/html' }
10575    })
10576    .then(function(r){ return r.text(); })
10577    .then(function(html){
10578      var parser = new DOMParser();
10579      var doc = parser.parseFromString(html, 'text/html');
10580
10581      /* Detay sayfasındaki .variant-box'ı bul */
10582      var variantBox = doc.querySelector('.variant-box');
10583      if(!variantBox){
10584        callback({ variants: [], error: 'no_variant_box' });
10585        return;
10586      }
10587
10588      /* Her varyant grubu için select'leri ve option'ları oku */
10589      var variants = [];
10590      var variantLis = variantBox.querySelectorAll('.variant');
10591
10592      variantLis.forEach(function(li, idx){
10593        var nameEl = li.querySelector('.name');
10594        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
10595
10596        var values = [];
10597
10598        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
10599        var optLinks = li.querySelectorAll('.options a');
10600
10601        if(optLinks.length > 0){
10602          optLinks.forEach(function(a){
10603            /* Beden/renk değerini doğru attribute'tan oku
10604               - data-variant-value: asıl değer (örn: "38", "KAHVE")
10605               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
10606               - textContent: fallback */
10607            var deger = a.getAttribute('data-variant-value')
10608                     || a.textContent.trim();
10609
10610            /* Stok kontrolü - birden fazla yoldan kontrol et */
10611            var isSoldOut = a.classList.contains('sold-out')
10612                         || a.classList.contains('sold_out')
10613                         || a.classList.contains('disabled')
10614                         || a.classList.contains('stoksuz')
10615                         || a.classList.contains('out-of-stock')
10616                         || a.hasAttribute('disabled')
10617                         || a.getAttribute('data-in-stock') === '0'
10618                         || a.getAttribute('data-in-stock') === 'false'
10619                         || a.getAttribute('data-stokta-var-mi') === '0'
10620                         || a.getAttribute('data-stokta-var-mi') === 'false';
10621
10622            values.push({
10623              deger: deger,
10624              inStock: !isSoldOut
10625            });
10626          });
10627        } else {
10628          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
10629          var select = li.querySelector('select');
10630          if(select){
10631            var opts = select.querySelectorAll('option');
10632            opts.forEach(function(o){
10633              if(!o.value) return;
10634              values.push({
10635                deger: o.value,
10636                inStock: !o.disabled
10637              });
10638            });
10639          }
10640        }
10641
10642        variants.push({
10643          index: idx,
10644          baslik: name,
10645          values: values
10646        });
10647      });
10648
10649      var result = { variants: variants };
10650      window.__luxVariantCache[productId] = result;
10651      callback(result);
10652    })
10653    .catch(function(err){
10654      console.error('Varyant çekme hatası:', err);
10655      callback({ variants: [], error: 'fetch_failed' });
10656    });
10657  }
10658
10659
10660  /* ============================================
10661     Beden şeridini ve gizli variant-box'ı oluştur
10662     ============================================ */
10663  function buildVariantUI(productId, data){
10664    var card = document.getElementById('card-' + productId);
10665    if(!card) return false;
10666
10667    var holder = card.querySelector('.lux-variant-box');
10668    var strip = document.getElementById('size-strip-' + productId);
10669    if(!holder || !strip) return false;
10670
10671    if(!data.variants || data.variants.length === 0){
10672      /* Varyant yok */
10673      return false;
10674    }
10675
10676    /* Çoklu değerli ilk varyantı bul (beden) */
10677    var displayVariant = null;
10678    data.variants.forEach(function(v){
10679      if(!displayVariant && v.values.length > 1){
10680        displayVariant = v;
10681      }
10682    });
10683
10684    /* Gizli variant-box HTML */
10685    var html = '<div class="variant-box"><ul>';
10686    data.variants.forEach(function(v){
10687      html += '<li class="variant">';
10688      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
10689
10690      if(v.values.length > 1){
10691        html += '<option value="">Lütfen seçin</option>';
10692      }
10693
10694      v.values.forEach(function(val, i){
10695        var selected = (v.values.length === 1) ? ' selected' : '';
10696        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
10697      });
10698
10699      html += '</select></li>';
10700    });
10701    html += '</ul></div>';
10702
10703    holder.innerHTML = html;
10704    holder.style.display = '';
10705
10706    /* Strip HTML (sadece çoklu değerli varyantlar için)
10707       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
10708    if(displayVariant){
10709      var stripHtml = '';
10710      var inStockCount = 0;
10711
10712      /* DEBUG - console'da gör */
10713      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
10714
10715      displayVariant.values.forEach(function(val){
10716        /* SADECE stokta olanları ekle */
10717        if(val.inStock === true){
10718          stripHtml += '<div class="size-item" '
10719                    + 'data-urun-id="' + productId + '" '
10720                    + 'data-varyant-deger="' + val.deger + '" '
10721                    + 'onclick="return luxAddVariant(event, this);">'
10722                    + val.deger + '</div>';
10723          inStockCount++;
10724        }
10725      });
10726
10727      /* Eğer stokta hiç beden yoksa şeridi gösterme */
10728      if(inStockCount === 0){
10729        strip.setAttribute('data-loaded', '1');
10730        strip.setAttribute('data-has-variants', '0');
10731        return false;
10732      }
10733
10734      strip.innerHTML = stripHtml;
10735      strip.setAttribute('data-loaded', '1');
10736      strip.setAttribute('data-has-variants', '1');
10737      return true;
10738    } else {
10739      strip.setAttribute('data-loaded', '1');
10740      strip.setAttribute('data-has-variants', '0');
10741      return false;
10742    }
10743  }
10744
10745
10746  /* ============================================
10747     SEPET IKONU TIKLAMASI
10748     ============================================ */
10749  window.luxBagClick = function(ev, productId){
10750    ev.preventDefault();
10751    ev.stopPropagation();
10752
10753    var card = document.getElementById('card-' + productId);
10754    var strip = document.getElementById('size-strip-' + productId);
10755    var bag = document.getElementById('lux-bag-' + productId);
10756    if(!card || !strip) return false;
10757
10758    /* Strip zaten yüklenmişse direkt davran */
10759    if(strip.getAttribute('data-loaded') === '1'){
10760      if(strip.getAttribute('data-has-variants') === '1'){
10761        toggleStrip(productId);
10762      } else {
10763        addToCartSmart(productId);
10764      }
10765      return false;
10766    }
10767
10768    /* İlk tıklama - AJAX ile varyantları çek */
10769    bag.classList.add('is-loading');
10770    var productLink = card.getAttribute('data-lux-product-link');
10771
10772    fetchVariants(productId, productLink, function(data){
10773      bag.classList.remove('is-loading');
10774
10775      var hasVariants = buildVariantUI(productId, data);
10776
10777      if(hasVariants){
10778        /* Bedenler var - şeridi aç */
10779        toggleStrip(productId);
10780      } else {
10781        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
10782        addToCartSmart(productId);
10783      }
10784    });
10785
10786    return false;
10787  };
10788
10789  function toggleStrip(productId){
10790    var strip = document.getElementById('size-strip-' + productId);
10791    var card = document.getElementById('card-' + productId);
10792    if(!strip) return;
10793
10794    document.querySelectorAll('.size-strip.open').forEach(function(s){
10795      if(s !== strip) s.classList.remove('open');
10796    });
10797    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
10798      if(c !== card) c.classList.remove('sizes-open');
10799    });
10800
10801    strip.classList.toggle('open');
10802    if(card) card.classList.toggle('sizes-open');
10803  }
10804
10805
10806  /* ============================================
10807     BEDEN TIKLAMASI
10808     ============================================ */
10809  window.luxAddVariant = function(ev, elem){
10810    ev.preventDefault();
10811    ev.stopPropagation();
10812
10813    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
10814
10815    var productId = elem.getAttribute('data-urun-id');
10816    var varyantDeger = elem.getAttribute('data-varyant-deger');
10817
10818    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
10819    if(!holder) return false;
10820
10821    /* Seçilen bedeni ilk select'e yaz */
10822    var firstSelect = holder.querySelector('select[data-variant="0"]');
10823    if(firstSelect){
10824      firstSelect.value = varyantDeger;
10825      if(typeof jQuery !== "undefined"){
10826        jQuery(firstSelect).val(varyantDeger).trigger('change');
10827      }
10828    }
10829
10830    /* Diğer select'lere ilk geçerli değeri koy */
10831    var allSelects = holder.querySelectorAll('select[data-variant]');
10832    allSelects.forEach(function(sel, idx){
10833      if(idx === 0) return;
10834      if(sel.value) return;
10835      var options = sel.querySelectorAll('option');
10836      for(var i = 0; i < options.length; i++){
10837        if(options[i].value){
10838          sel.value = options[i].value;
10839          if(typeof jQuery !== "undefined"){
10840            jQuery(sel).val(options[i].value).trigger('change');
10841          }
10842          break;
10843        }
10844      }
10845    });
10846
10847    /* Görsel feedback */
10848    elem.classList.add('adding');
10849    var originalText = elem.textContent;
10850    elem.textContent = '✓';
10851
10852    /* Sepete ekle */
10853    addToCartSmart(productId, {
10854      checkVariant: true,
10855      variantCount: allSelects.length,
10856      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
10857    });
10858
10859    setTimeout(function(){
10860      elem.textContent = originalText;
10861      elem.classList.remove('adding');
10862      closeAll();
10863    }, 800);
10864
10865    return false;
10866  };
10867
10868
10869  /* ============================================
10870     SEPETE EKLE - Modal killer ile
10871     ============================================ */
10872  function addToCartSmart(productId, extraOptions){
10873    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
10874
10875    var options = {
10876      quantity: 1,
10877      hideNativeModal: 'lux-card-' + productId
10878    };
10879
10880    if(extraOptions){
10881      Object.keys(extraOptions).forEach(function(k){
10882        options[k] = extraOptions[k];
10883      });
10884    } else if(holder){
10885      var selects = holder.querySelectorAll('select[data-variant]');
10886      if(selects.length > 0){
10887        options.checkVariant = true;
10888        options.variantCount = selects.length;
10889        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
10890      }
10891    }
10892
10893    startModalKill(2000);
10894
10895    if(typeof addCart === "function"){
10896      try {
10897        addCart(productId, 'card', options);
10898        flashSuccess(productId);
10899      } catch(err){
10900        console.error('Sepete ekleme hatası:', err);
10901      }
10902    }
10903  }
10904
10905})();
10906</script>
10906</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
10907                             data-lux-product-shell="1"
10908                             data-lux-page="1"><style>
10909@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
10910
10911/* ===== VEZZA LUX CARD ===== */
10912.card-product{
10913  font-family:'Poppins',sans-serif;
10914  background:#fff !important;
10915  position:relative;
10916}
10917.card-product-inner{
10918  background:transparent !important;
10919  position:relative;
10920}
10921.card-product .c-p-i-link,
10922.card-product a{
10923  background:transparent !important;
10924}
10925.card-product-inner > div{
10926  background:transparent !important;
10927}
10928.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
10929  background:transparent !important;
10930}
10931.card-product .card-product-content,
10932.card-product .price-group,
10933.card-product .prices{
10934  background:transparent !important;
10935}
10936[class*="skeleton"],
10937[class*="placeholder"],
10938[class*="loading"]{
10939  background:transparent !important;
10940}
10941
10942/* ===== IMAGE AREA - KARE GÖRSEL ===== */
10943.image-wrapper{
10944  position:relative;
10945  width:100%;
10946  aspect-ratio:1/1;
10947  overflow:hidden;
10948  background:#fff !important;
10949}
10950
10951.image{
10952  position:relative;
10953  width:100%;
10954  height:100%;
10955}
10956
10957.image-wrapper img{
10958  width:100% !important;
10959  height:100% !important;
10960  object-fit:cover !important;
10961  object-position:center center !important;
10962  display:block;
10963  transition:transform .35s ease;
10964}
10965
10966/* ===== DISCOUNT ===== */
10967.discount{
10968  position:absolute;
10969  top:12px;
10970  left:12px;
10971  width:28px;
10972  height:48px;
10973  background:#e10b0b;
10974  color:#fff;
10975  font-size:12px;
10976  font-weight:600;
10977  display:flex;
10978  align-items:center;
10979  justify-content:center;
10980  writing-mode:vertical-rl;
10981  transform:rotate(180deg);
10982  letter-spacing:.5px;
10983  z-index:7;
10984}
10985
10986/* ===== FAV ===== */
10987.lux-fav{
10988  position:absolute;
10989  top:12px;
10990  right:12px;
10991  z-index:7;
10992}
10993.lux-fav a,
10994.lux-fav button{
10995  background:transparent !important;
10996  border:0 !important;
10997  padding:0 !important;
10998  cursor:pointer;
10999  display:inline-flex;
11000  align-items:center;
11001  justify-content:center;
11002}
11003
11004/* ===== SEPET IKON ===== */
11005.lux-bag{
11006  position:absolute;
11007  bottom:12px;
11008  right:12px;
11009  z-index:7;
11010  width:34px;
11011  height:34px;
11012  display:inline-flex;
11013  align-items:center;
11014  justify-content:center;
11015  background:rgba(255,255,255,.92);
11016  border:1px solid rgba(0,0,0,.10);
11017  border-radius:10px;
11018  cursor:pointer;
11019  transition:.2s ease;
11020}
11021.lux-bag:hover{
11022  background:#fff;
11023  border-color:rgba(0,0,0,.25);
11024}
11025.lux-bag.is-loading{
11026  opacity:.6;
11027  cursor:wait;
11028}
11029.lux-bag.is-success{
11030  background:#2e7d32 !important;
11031  border-color:#2e7d32 !important;
11032  color:#fff !important;
11033}
11034.card-product.sizes-open .lux-bag{
11035  opacity:0;
11036  pointer-events:none;
11037}
11038
11039/* Loading spinner */
11040.lux-bag.is-loading i::before{
11041  content:"⏳";
11042}
11043
11044/* ===== SIZE STRIP ===== */
11045.size-strip{
11046  width:100%;
11047  max-height:0;
11048  overflow:hidden;
11049  background:#fff;
11050  display:flex;
11051  flex-wrap:wrap;
11052  transition:max-height .3s ease, border-color .3s ease;
11053  border-top:1px solid transparent;
11054  border-bottom:1px solid transparent;
11055}
11056.size-strip.open{
11057  max-height:200px;
11058  border-top-color:rgba(0,0,0,.08);
11059  border-bottom-color:rgba(0,0,0,.08);
11060}
11061.size-item{
11062  flex:1 0 auto;
11063  min-width:38px;
11064  height:42px;
11065  display:flex;
11066  align-items:center;
11067  justify-content:center;
11068  font-size:13px;
11069  font-weight:500;
11070  color:#111 !important;
11071  cursor:pointer;
11072  user-select:none;
11073  background:transparent;
11074  transition:background .15s ease, color .15s ease;
11075  border-right:1px solid rgba(0,0,0,.08);
11076}
11077.size-item:last-child{ border-right:0; }
11078.size-item:hover:not(.disabled):not(.adding){
11079  background:#000 !important;
11080  color:#fff !important;
11081}
11082.size-item.disabled{
11083  color:#111 !important;
11084  text-decoration:line-through !important;
11085  opacity:.30 !important;
11086  cursor:not-allowed;
11087}
11088.size-item.adding{
11089  background:#2e7d32 !important;
11090  color:#fff !important;
11091  cursor:wait;
11092}
11093
11094/* ===== META ===== */
11095.lux-meta{
11096  padding:12px 6px 6px;
11097  background:transparent !important;
11098}
11099.lux-brand{
11100  font-size:16px;
11101  font-weight:600;
11102  color:#111;
11103  margin-bottom:2px;
11104}
11105.lux-title{
11106  font-size:14px;
11107  font-weight:400;
11108  line-height:1.45;
11109  color:#111;
11110  margin:0;
11111}
11112.lux-price{
11113  margin-top:10px;
11114  display:flex;
11115  gap:10px;
11116  align-items:baseline;
11117  background:transparent !important;
11118}
11119.lux-price .list-price{
11120  font-size:14px;
11121  font-weight:400;
11122  color:#111;
11123  text-decoration:line-through;
11124}
11125.lux-price .sale-price{
11126  font-size:16px;
11127  font-weight:600;
11128  color:#e10b0b;
11129}
11130
11131.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
11132.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
11133</style><div class="card-product"
11134     id="card-10454"
11135     data-lux-card-id="10454"
11136     data-lux-product-link="https://www.vezzalux.com/prada-1171-krem-loafer-suet-erkek-ayakkabi"
11137     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/prada-1171-krem-loafer-suet-erkek-ayakkabi" class="c-p-i-link" title="Prada 1171 Krem Loafer Süet Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cd46650ab-56663319-sw1200sh1200.webp" alt="Prada 1171 Krem Loafer Süet Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cd46650ab-56663319-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cd47a4668-93634913-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" 
11138        onclick="userProductFavourite('add', 10454)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
11139         id="lux-bag-10454"
11140         onclick="return luxBagClick(event, 10454);"
11141         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10454" style="display:none;"></div><div class="size-strip" id="size-strip-10454" data-loaded="0"></div><a href="https://www.vezzalux.com/prada-1171-krem-loafer-suet-erkek-ayakkabi" class="c-p-i-link" title="Prada 1171 Krem Loafer Süet Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Prada</div><div class="lux-title">Prada 1171 Krem Loafer Süet Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
11141<script>
11142(function(){
11143
11144  /* Bir kez kur */
11145  if(window.__luxCardInit) return;
11146  window.__luxCardInit = true;
11147
11148  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
11149  window.__luxVariantCache = window.__luxVariantCache || {};
11150
11151  function closeAll(){
11152    document.querySelectorAll('.size-strip.open').forEach(function(s){
11153      s.classList.remove('open');
11154    });
11155    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
11156      c.classList.remove('sizes-open');
11157    });
11158  }
11159
11160  function flashSuccess(productId){
11161    var bag = document.getElementById('lux-bag-' + productId);
11162    if(!bag) return;
11163    bag.classList.add('is-success');
11164    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
11165  }
11166
11167  /* Dış tıklama - kapat */
11168  document.addEventListener('click', function(e){
11169    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
11170    if(!inside) closeAll();
11171  });
11172
11173  document.addEventListener('keydown', function(e){
11174    if(e.key === 'Escape') closeAll();
11175  });
11176
11177
11178  /* ============================================
11179     MODAL KILLER - yedek güvence
11180     ============================================ */
11181  var LUX_MODAL_KILL_ACTIVE = false;
11182
11183  function killVisibleModals(){
11184    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
11185    modals.forEach(function(m){
11186      var id = (m.id || '').toLowerCase();
11187      var txt = (m.textContent || '').toLowerCase();
11188      var isCartModal = id.indexOf('cart') > -1
11189                     || id.indexOf('variant') > -1
11190                     || id.indexOf('fast') > -1
11191                     || id.indexOf('urun') > -1
11192                     || txt.indexOf('lütfen seçin') > -1;
11193
11194      if(isCartModal){
11195        if(typeof jQuery !== 'undefined'){
11196          try { jQuery(m).modal('hide'); } catch(e){}
11197        }
11198        m.classList.remove('show','in');
11199        m.style.display = 'none';
11200      }
11201    });
11202
11203    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
11204    document.body.classList.remove('modal-open');
11205    document.body.style.overflow = '';
11206    document.body.style.paddingRight = '';
11207  }
11208
11209  function startModalKill(durationMs){
11210    if(LUX_MODAL_KILL_ACTIVE) return;
11211    LUX_MODAL_KILL_ACTIVE = true;
11212    killVisibleModals();
11213    var interval = setInterval(killVisibleModals, 50);
11214    setTimeout(function(){
11215      clearInterval(interval);
11216      LUX_MODAL_KILL_ACTIVE = false;
11217    }, durationMs || 2000);
11218  }
11219
11220
11221  /* ============================================
11222     AJAX: Varyantları detay sayfasından çek
11223     ============================================
11224     Ürün detay sayfasının tam HTML'ini indir,
11225     DOMParser ile parse et, varyantları bul
11226     ============================================ */
11227  function fetchVariants(productId, productLink, callback){
11228
11229    /* Cache'te varsa hemen döndür */
11230    if(window.__luxVariantCache[productId]){
11231      callback(window.__luxVariantCache[productId]);
11232      return;
11233    }
11234
11235    fetch(productLink, {
11236      method: 'GET',
11237      credentials: 'same-origin',
11238      headers: { 'Accept': 'text/html' }
11239    })
11240    .then(function(r){ return r.text(); })
11241    .then(function(html){
11242      var parser = new DOMParser();
11243      var doc = parser.parseFromString(html, 'text/html');
11244
11245      /* Detay sayfasındaki .variant-box'ı bul */
11246      var variantBox = doc.querySelector('.variant-box');
11247      if(!variantBox){
11248        callback({ variants: [], error: 'no_variant_box' });
11249        return;
11250      }
11251
11252      /* Her varyant grubu için select'leri ve option'ları oku */
11253      var variants = [];
11254      var variantLis = variantBox.querySelectorAll('.variant');
11255
11256      variantLis.forEach(function(li, idx){
11257        var nameEl = li.querySelector('.name');
11258        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
11259
11260        var values = [];
11261
11262        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
11263        var optLinks = li.querySelectorAll('.options a');
11264
11265        if(optLinks.length > 0){
11266          optLinks.forEach(function(a){
11267            /* Beden/renk değerini doğru attribute'tan oku
11268               - data-variant-value: asıl değer (örn: "38", "KAHVE")
11269               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
11270               - textContent: fallback */
11271            var deger = a.getAttribute('data-variant-value')
11272                     || a.textContent.trim();
11273
11274            /* Stok kontrolü - birden fazla yoldan kontrol et */
11275            var isSoldOut = a.classList.contains('sold-out')
11276                         || a.classList.contains('sold_out')
11277                         || a.classList.contains('disabled')
11278                         || a.classList.contains('stoksuz')
11279                         || a.classList.contains('out-of-stock')
11280                         || a.hasAttribute('disabled')
11281                         || a.getAttribute('data-in-stock') === '0'
11282                         || a.getAttribute('data-in-stock') === 'false'
11283                         || a.getAttribute('data-stokta-var-mi') === '0'
11284                         || a.getAttribute('data-stokta-var-mi') === 'false';
11285
11286            values.push({
11287              deger: deger,
11288              inStock: !isSoldOut
11289            });
11290          });
11291        } else {
11292          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
11293          var select = li.querySelector('select');
11294          if(select){
11295            var opts = select.querySelectorAll('option');
11296            opts.forEach(function(o){
11297              if(!o.value) return;
11298              values.push({
11299                deger: o.value,
11300                inStock: !o.disabled
11301              });
11302            });
11303          }
11304        }
11305
11306        variants.push({
11307          index: idx,
11308          baslik: name,
11309          values: values
11310        });
11311      });
11312
11313      var result = { variants: variants };
11314      window.__luxVariantCache[productId] = result;
11315      callback(result);
11316    })
11317    .catch(function(err){
11318      console.error('Varyant çekme hatası:', err);
11319      callback({ variants: [], error: 'fetch_failed' });
11320    });
11321  }
11322
11323
11324  /* ============================================
11325     Beden şeridini ve gizli variant-box'ı oluştur
11326     ============================================ */
11327  function buildVariantUI(productId, data){
11328    var card = document.getElementById('card-' + productId);
11329    if(!card) return false;
11330
11331    var holder = card.querySelector('.lux-variant-box');
11332    var strip = document.getElementById('size-strip-' + productId);
11333    if(!holder || !strip) return false;
11334
11335    if(!data.variants || data.variants.length === 0){
11336      /* Varyant yok */
11337      return false;
11338    }
11339
11340    /* Çoklu değerli ilk varyantı bul (beden) */
11341    var displayVariant = null;
11342    data.variants.forEach(function(v){
11343      if(!displayVariant && v.values.length > 1){
11344        displayVariant = v;
11345      }
11346    });
11347
11348    /* Gizli variant-box HTML */
11349    var html = '<div class="variant-box"><ul>';
11350    data.variants.forEach(function(v){
11351      html += '<li class="variant">';
11352      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
11353
11354      if(v.values.length > 1){
11355        html += '<option value="">Lütfen seçin</option>';
11356      }
11357
11358      v.values.forEach(function(val, i){
11359        var selected = (v.values.length === 1) ? ' selected' : '';
11360        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
11361      });
11362
11363      html += '</select></li>';
11364    });
11365    html += '</ul></div>';
11366
11367    holder.innerHTML = html;
11368    holder.style.display = '';
11369
11370    /* Strip HTML (sadece çoklu değerli varyantlar için)
11371       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
11372    if(displayVariant){
11373      var stripHtml = '';
11374      var inStockCount = 0;
11375
11376      /* DEBUG - console'da gör */
11377      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
11378
11379      displayVariant.values.forEach(function(val){
11380        /* SADECE stokta olanları ekle */
11381        if(val.inStock === true){
11382          stripHtml += '<div class="size-item" '
11383                    + 'data-urun-id="' + productId + '" '
11384                    + 'data-varyant-deger="' + val.deger + '" '
11385                    + 'onclick="return luxAddVariant(event, this);">'
11386                    + val.deger + '</div>';
11387          inStockCount++;
11388        }
11389      });
11390
11391      /* Eğer stokta hiç beden yoksa şeridi gösterme */
11392      if(inStockCount === 0){
11393        strip.setAttribute('data-loaded', '1');
11394        strip.setAttribute('data-has-variants', '0');
11395        return false;
11396      }
11397
11398      strip.innerHTML = stripHtml;
11399      strip.setAttribute('data-loaded', '1');
11400      strip.setAttribute('data-has-variants', '1');
11401      return true;
11402    } else {
11403      strip.setAttribute('data-loaded', '1');
11404      strip.setAttribute('data-has-variants', '0');
11405      return false;
11406    }
11407  }
11408
11409
11410  /* ============================================
11411     SEPET IKONU TIKLAMASI
11412     ============================================ */
11413  window.luxBagClick = function(ev, productId){
11414    ev.preventDefault();
11415    ev.stopPropagation();
11416
11417    var card = document.getElementById('card-' + productId);
11418    var strip = document.getElementById('size-strip-' + productId);
11419    var bag = document.getElementById('lux-bag-' + productId);
11420    if(!card || !strip) return false;
11421
11422    /* Strip zaten yüklenmişse direkt davran */
11423    if(strip.getAttribute('data-loaded') === '1'){
11424      if(strip.getAttribute('data-has-variants') === '1'){
11425        toggleStrip(productId);
11426      } else {
11427        addToCartSmart(productId);
11428      }
11429      return false;
11430    }
11431
11432    /* İlk tıklama - AJAX ile varyantları çek */
11433    bag.classList.add('is-loading');
11434    var productLink = card.getAttribute('data-lux-product-link');
11435
11436    fetchVariants(productId, productLink, function(data){
11437      bag.classList.remove('is-loading');
11438
11439      var hasVariants = buildVariantUI(productId, data);
11440
11441      if(hasVariants){
11442        /* Bedenler var - şeridi aç */
11443        toggleStrip(productId);
11444      } else {
11445        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
11446        addToCartSmart(productId);
11447      }
11448    });
11449
11450    return false;
11451  };
11452
11453  function toggleStrip(productId){
11454    var strip = document.getElementById('size-strip-' + productId);
11455    var card = document.getElementById('card-' + productId);
11456    if(!strip) return;
11457
11458    document.querySelectorAll('.size-strip.open').forEach(function(s){
11459      if(s !== strip) s.classList.remove('open');
11460    });
11461    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
11462      if(c !== card) c.classList.remove('sizes-open');
11463    });
11464
11465    strip.classList.toggle('open');
11466    if(card) card.classList.toggle('sizes-open');
11467  }
11468
11469
11470  /* ============================================
11471     BEDEN TIKLAMASI
11472     ============================================ */
11473  window.luxAddVariant = function(ev, elem){
11474    ev.preventDefault();
11475    ev.stopPropagation();
11476
11477    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
11478
11479    var productId = elem.getAttribute('data-urun-id');
11480    var varyantDeger = elem.getAttribute('data-varyant-deger');
11481
11482    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
11483    if(!holder) return false;
11484
11485    /* Seçilen bedeni ilk select'e yaz */
11486    var firstSelect = holder.querySelector('select[data-variant="0"]');
11487    if(firstSelect){
11488      firstSelect.value = varyantDeger;
11489      if(typeof jQuery !== "undefined"){
11490        jQuery(firstSelect).val(varyantDeger).trigger('change');
11491      }
11492    }
11493
11494    /* Diğer select'lere ilk geçerli değeri koy */
11495    var allSelects = holder.querySelectorAll('select[data-variant]');
11496    allSelects.forEach(function(sel, idx){
11497      if(idx === 0) return;
11498      if(sel.value) return;
11499      var options = sel.querySelectorAll('option');
11500      for(var i = 0; i < options.length; i++){
11501        if(options[i].value){
11502          sel.value = options[i].value;
11503          if(typeof jQuery !== "undefined"){
11504            jQuery(sel).val(options[i].value).trigger('change');
11505          }
11506          break;
11507        }
11508      }
11509    });
11510
11511    /* Görsel feedback */
11512    elem.classList.add('adding');
11513    var originalText = elem.textContent;
11514    elem.textContent = '✓';
11515
11516    /* Sepete ekle */
11517    addToCartSmart(productId, {
11518      checkVariant: true,
11519      variantCount: allSelects.length,
11520      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
11521    });
11522
11523    setTimeout(function(){
11524      elem.textContent = originalText;
11525      elem.classList.remove('adding');
11526      closeAll();
11527    }, 800);
11528
11529    return false;
11530  };
11531
11532
11533  /* ============================================
11534     SEPETE EKLE - Modal killer ile
11535     ============================================ */
11536  function addToCartSmart(productId, extraOptions){
11537    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
11538
11539    var options = {
11540      quantity: 1,
11541      hideNativeModal: 'lux-card-' + productId
11542    };
11543
11544    if(extraOptions){
11545      Object.keys(extraOptions).forEach(function(k){
11546        options[k] = extraOptions[k];
11547      });
11548    } else if(holder){
11549      var selects = holder.querySelectorAll('select[data-variant]');
11550      if(selects.length > 0){
11551        options.checkVariant = true;
11552        options.variantCount = selects.length;
11553        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
11554      }
11555    }
11556
11557    startModalKill(2000);
11558
11559    if(typeof addCart === "function"){
11560      try {
11561        addCart(productId, 'card', options);
11562        flashSuccess(productId);
11563      } catch(err){
11564        console.error('Sepete ekleme hatası:', err);
11565      }
11566    }
11567  }
11568
11569})();
11570</script>
11570</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
11571                             data-lux-product-shell="1"
11572                             data-lux-page="1"><style>
11573@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
11574
11575/* ===== VEZZA LUX CARD ===== */
11576.card-product{
11577  font-family:'Poppins',sans-serif;
11578  background:#fff !important;
11579  position:relative;
11580}
11581.card-product-inner{
11582  background:transparent !important;
11583  position:relative;
11584}
11585.card-product .c-p-i-link,
11586.card-product a{
11587  background:transparent !important;
11588}
11589.card-product-inner > div{
11590  background:transparent !important;
11591}
11592.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
11593  background:transparent !important;
11594}
11595.card-product .card-product-content,
11596.card-product .price-group,
11597.card-product .prices{
11598  background:transparent !important;
11599}
11600[class*="skeleton"],
11601[class*="placeholder"],
11602[class*="loading"]{
11603  background:transparent !important;
11604}
11605
11606/* ===== IMAGE AREA - KARE GÖRSEL ===== */
11607.image-wrapper{
11608  position:relative;
11609  width:100%;
11610  aspect-ratio:1/1;
11611  overflow:hidden;
11612  background:#fff !important;
11613}
11614
11615.image{
11616  position:relative;
11617  width:100%;
11618  height:100%;
11619}
11620
11621.image-wrapper img{
11622  width:100% !important;
11623  height:100% !important;
11624  object-fit:cover !important;
11625  object-position:center center !important;
11626  display:block;
11627  transition:transform .35s ease;
11628}
11629
11630/* ===== DISCOUNT ===== */
11631.discount{
11632  position:absolute;
11633  top:12px;
11634  left:12px;
11635  width:28px;
11636  height:48px;
11637  background:#e10b0b;
11638  color:#fff;
11639  font-size:12px;
11640  font-weight:600;
11641  display:flex;
11642  align-items:center;
11643  justify-content:center;
11644  writing-mode:vertical-rl;
11645  transform:rotate(180deg);
11646  letter-spacing:.5px;
11647  z-index:7;
11648}
11649
11650/* ===== FAV ===== */
11651.lux-fav{
11652  position:absolute;
11653  top:12px;
11654  right:12px;
11655  z-index:7;
11656}
11657.lux-fav a,
11658.lux-fav button{
11659  background:transparent !important;
11660  border:0 !important;
11661  padding:0 !important;
11662  cursor:pointer;
11663  display:inline-flex;
11664  align-items:center;
11665  justify-content:center;
11666}
11667
11668/* ===== SEPET IKON ===== */
11669.lux-bag{
11670  position:absolute;
11671  bottom:12px;
11672  right:12px;
11673  z-index:7;
11674  width:34px;
11675  height:34px;
11676  display:inline-flex;
11677  align-items:center;
11678  justify-content:center;
11679  background:rgba(255,255,255,.92);
11680  border:1px solid rgba(0,0,0,.10);
11681  border-radius:10px;
11682  cursor:pointer;
11683  transition:.2s ease;
11684}
11685.lux-bag:hover{
11686  background:#fff;
11687  border-color:rgba(0,0,0,.25);
11688}
11689.lux-bag.is-loading{
11690  opacity:.6;
11691  cursor:wait;
11692}
11693.lux-bag.is-success{
11694  background:#2e7d32 !important;
11695  border-color:#2e7d32 !important;
11696  color:#fff !important;
11697}
11698.card-product.sizes-open .lux-bag{
11699  opacity:0;
11700  pointer-events:none;
11701}
11702
11703/* Loading spinner */
11704.lux-bag.is-loading i::before{
11705  content:"⏳";
11706}
11707
11708/* ===== SIZE STRIP ===== */
11709.size-strip{
11710  width:100%;
11711  max-height:0;
11712  overflow:hidden;
11713  background:#fff;
11714  display:flex;
11715  flex-wrap:wrap;
11716  transition:max-height .3s ease, border-color .3s ease;
11717  border-top:1px solid transparent;
11718  border-bottom:1px solid transparent;
11719}
11720.size-strip.open{
11721  max-height:200px;
11722  border-top-color:rgba(0,0,0,.08);
11723  border-bottom-color:rgba(0,0,0,.08);
11724}
11725.size-item{
11726  flex:1 0 auto;
11727  min-width:38px;
11728  height:42px;
11729  display:flex;
11730  align-items:center;
11731  justify-content:center;
11732  font-size:13px;
11733  font-weight:500;
11734  color:#111 !important;
11735  cursor:pointer;
11736  user-select:none;
11737  background:transparent;
11738  transition:background .15s ease, color .15s ease;
11739  border-right:1px solid rgba(0,0,0,.08);
11740}
11741.size-item:last-child{ border-right:0; }
11742.size-item:hover:not(.disabled):not(.adding){
11743  background:#000 !important;
11744  color:#fff !important;
11745}
11746.size-item.disabled{
11747  color:#111 !important;
11748  text-decoration:line-through !important;
11749  opacity:.30 !important;
11750  cursor:not-allowed;
11751}
11752.size-item.adding{
11753  background:#2e7d32 !important;
11754  color:#fff !important;
11755  cursor:wait;
11756}
11757
11758/* ===== META ===== */
11759.lux-meta{
11760  padding:12px 6px 6px;
11761  background:transparent !important;
11762}
11763.lux-brand{
11764  font-size:16px;
11765  font-weight:600;
11766  color:#111;
11767  margin-bottom:2px;
11768}
11769.lux-title{
11770  font-size:14px;
11771  font-weight:400;
11772  line-height:1.45;
11773  color:#111;
11774  margin:0;
11775}
11776.lux-price{
11777  margin-top:10px;
11778  display:flex;
11779  gap:10px;
11780  align-items:baseline;
11781  background:transparent !important;
11782}
11783.lux-price .list-price{
11784  font-size:14px;
11785  font-weight:400;
11786  color:#111;
11787  text-decoration:line-through;
11788}
11789.lux-price .sale-price{
11790  font-size:16px;
11791  font-weight:600;
11792  color:#e10b0b;
11793}
11794
11795.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
11796.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
11797</style><div class="card-product"
11798     id="card-10334"
11799     data-lux-card-id="10334"
11800     data-lux-product-link="https://www.vezzalux.com/dior-1015-full-gri-beyaz-taban-erkek-ayakkabi"
11801     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</div><a href="https://www.vezzalux.com/dior-1015-full-gri-beyaz-taban-erkek-ayakkabi" class="c-p-i-link" title="Dior 1015 Full Gri Beyaz Taban Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cb3f0d46f-70986911-sw1200sh1200.webp" alt="Dior 1015 Full Gri Beyaz Taban Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cb3f0d46f-70986911-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cb40a3623-76175129-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" 
11802        onclick="userProductFavourite('add', 10334)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
11803         id="lux-bag-10334"
11804         onclick="return luxBagClick(event, 10334);"
11805         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10334" style="display:none;"></div><div class="size-strip" id="size-strip-10334" data-loaded="0"></div><a href="https://www.vezzalux.com/dior-1015-full-gri-beyaz-taban-erkek-ayakkabi" class="c-p-i-link" title="Dior 1015 Full Gri Beyaz Taban Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Dior</div><div class="lux-title">Dior 1015 Full Gri Beyaz Taban Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">12.499,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
11805<script>
11806(function(){
11807
11808  /* Bir kez kur */
11809  if(window.__luxCardInit) return;
11810  window.__luxCardInit = true;
11811
11812  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
11813  window.__luxVariantCache = window.__luxVariantCache || {};
11814
11815  function closeAll(){
11816    document.querySelectorAll('.size-strip.open').forEach(function(s){
11817      s.classList.remove('open');
11818    });
11819    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
11820      c.classList.remove('sizes-open');
11821    });
11822  }
11823
11824  function flashSuccess(productId){
11825    var bag = document.getElementById('lux-bag-' + productId);
11826    if(!bag) return;
11827    bag.classList.add('is-success');
11828    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
11829  }
11830
11831  /* Dış tıklama - kapat */
11832  document.addEventListener('click', function(e){
11833    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
11834    if(!inside) closeAll();
11835  });
11836
11837  document.addEventListener('keydown', function(e){
11838    if(e.key === 'Escape') closeAll();
11839  });
11840
11841
11842  /* ============================================
11843     MODAL KILLER - yedek güvence
11844     ============================================ */
11845  var LUX_MODAL_KILL_ACTIVE = false;
11846
11847  function killVisibleModals(){
11848    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
11849    modals.forEach(function(m){
11850      var id = (m.id || '').toLowerCase();
11851      var txt = (m.textContent || '').toLowerCase();
11852      var isCartModal = id.indexOf('cart') > -1
11853                     || id.indexOf('variant') > -1
11854                     || id.indexOf('fast') > -1
11855                     || id.indexOf('urun') > -1
11856                     || txt.indexOf('lütfen seçin') > -1;
11857
11858      if(isCartModal){
11859        if(typeof jQuery !== 'undefined'){
11860          try { jQuery(m).modal('hide'); } catch(e){}
11861        }
11862        m.classList.remove('show','in');
11863        m.style.display = 'none';
11864      }
11865    });
11866
11867    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
11868    document.body.classList.remove('modal-open');
11869    document.body.style.overflow = '';
11870    document.body.style.paddingRight = '';
11871  }
11872
11873  function startModalKill(durationMs){
11874    if(LUX_MODAL_KILL_ACTIVE) return;
11875    LUX_MODAL_KILL_ACTIVE = true;
11876    killVisibleModals();
11877    var interval = setInterval(killVisibleModals, 50);
11878    setTimeout(function(){
11879      clearInterval(interval);
11880      LUX_MODAL_KILL_ACTIVE = false;
11881    }, durationMs || 2000);
11882  }
11883
11884
11885  /* ============================================
11886     AJAX: Varyantları detay sayfasından çek
11887     ============================================
11888     Ürün detay sayfasının tam HTML'ini indir,
11889     DOMParser ile parse et, varyantları bul
11890     ============================================ */
11891  function fetchVariants(productId, productLink, callback){
11892
11893    /* Cache'te varsa hemen döndür */
11894    if(window.__luxVariantCache[productId]){
11895      callback(window.__luxVariantCache[productId]);
11896      return;
11897    }
11898
11899    fetch(productLink, {
11900      method: 'GET',
11901      credentials: 'same-origin',
11902      headers: { 'Accept': 'text/html' }
11903    })
11904    .then(function(r){ return r.text(); })
11905    .then(function(html){
11906      var parser = new DOMParser();
11907      var doc = parser.parseFromString(html, 'text/html');
11908
11909      /* Detay sayfasındaki .variant-box'ı bul */
11910      var variantBox = doc.querySelector('.variant-box');
11911      if(!variantBox){
11912        callback({ variants: [], error: 'no_variant_box' });
11913        return;
11914      }
11915
11916      /* Her varyant grubu için select'leri ve option'ları oku */
11917      var variants = [];
11918      var variantLis = variantBox.querySelectorAll('.variant');
11919
11920      variantLis.forEach(function(li, idx){
11921        var nameEl = li.querySelector('.name');
11922        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
11923
11924        var values = [];
11925
11926        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
11927        var optLinks = li.querySelectorAll('.options a');
11928
11929        if(optLinks.length > 0){
11930          optLinks.forEach(function(a){
11931            /* Beden/renk değerini doğru attribute'tan oku
11932               - data-variant-value: asıl değer (örn: "38", "KAHVE")
11933               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
11934               - textContent: fallback */
11935            var deger = a.getAttribute('data-variant-value')
11936                     || a.textContent.trim();
11937
11938            /* Stok kontrolü - birden fazla yoldan kontrol et */
11939            var isSoldOut = a.classList.contains('sold-out')
11940                         || a.classList.contains('sold_out')
11941                         || a.classList.contains('disabled')
11942                         || a.classList.contains('stoksuz')
11943                         || a.classList.contains('out-of-stock')
11944                         || a.hasAttribute('disabled')
11945                         || a.getAttribute('data-in-stock') === '0'
11946                         || a.getAttribute('data-in-stock') === 'false'
11947                         || a.getAttribute('data-stokta-var-mi') === '0'
11948                         || a.getAttribute('data-stokta-var-mi') === 'false';
11949
11950            values.push({
11951              deger: deger,
11952              inStock: !isSoldOut
11953            });
11954          });
11955        } else {
11956          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
11957          var select = li.querySelector('select');
11958          if(select){
11959            var opts = select.querySelectorAll('option');
11960            opts.forEach(function(o){
11961              if(!o.value) return;
11962              values.push({
11963                deger: o.value,
11964                inStock: !o.disabled
11965              });
11966            });
11967          }
11968        }
11969
11970        variants.push({
11971          index: idx,
11972          baslik: name,
11973          values: values
11974        });
11975      });
11976
11977      var result = { variants: variants };
11978      window.__luxVariantCache[productId] = result;
11979      callback(result);
11980    })
11981    .catch(function(err){
11982      console.error('Varyant çekme hatası:', err);
11983      callback({ variants: [], error: 'fetch_failed' });
11984    });
11985  }
11986
11987
11988  /* ============================================
11989     Beden şeridini ve gizli variant-box'ı oluştur
11990     ============================================ */
11991  function buildVariantUI(productId, data){
11992    var card = document.getElementById('card-' + productId);
11993    if(!card) return false;
11994
11995    var holder = card.querySelector('.lux-variant-box');
11996    var strip = document.getElementById('size-strip-' + productId);
11997    if(!holder || !strip) return false;
11998
11999    if(!data.variants || data.variants.length === 0){
12000      /* Varyant yok */
12001      return false;
12002    }
12003
12004    /* Çoklu değerli ilk varyantı bul (beden) */
12005    var displayVariant = null;
12006    data.variants.forEach(function(v){
12007      if(!displayVariant && v.values.length > 1){
12008        displayVariant = v;
12009      }
12010    });
12011
12012    /* Gizli variant-box HTML */
12013    var html = '<div class="variant-box"><ul>';
12014    data.variants.forEach(function(v){
12015      html += '<li class="variant">';
12016      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
12017
12018      if(v.values.length > 1){
12019        html += '<option value="">Lütfen seçin</option>';
12020      }
12021
12022      v.values.forEach(function(val, i){
12023        var selected = (v.values.length === 1) ? ' selected' : '';
12024        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
12025      });
12026
12027      html += '</select></li>';
12028    });
12029    html += '</ul></div>';
12030
12031    holder.innerHTML = html;
12032    holder.style.display = '';
12033
12034    /* Strip HTML (sadece çoklu değerli varyantlar için)
12035       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
12036    if(displayVariant){
12037      var stripHtml = '';
12038      var inStockCount = 0;
12039
12040      /* DEBUG - console'da gör */
12041      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
12042
12043      displayVariant.values.forEach(function(val){
12044        /* SADECE stokta olanları ekle */
12045        if(val.inStock === true){
12046          stripHtml += '<div class="size-item" '
12047                    + 'data-urun-id="' + productId + '" '
12048                    + 'data-varyant-deger="' + val.deger + '" '
12049                    + 'onclick="return luxAddVariant(event, this);">'
12050                    + val.deger + '</div>';
12051          inStockCount++;
12052        }
12053      });
12054
12055      /* Eğer stokta hiç beden yoksa şeridi gösterme */
12056      if(inStockCount === 0){
12057        strip.setAttribute('data-loaded', '1');
12058        strip.setAttribute('data-has-variants', '0');
12059        return false;
12060      }
12061
12062      strip.innerHTML = stripHtml;
12063      strip.setAttribute('data-loaded', '1');
12064      strip.setAttribute('data-has-variants', '1');
12065      return true;
12066    } else {
12067      strip.setAttribute('data-loaded', '1');
12068      strip.setAttribute('data-has-variants', '0');
12069      return false;
12070    }
12071  }
12072
12073
12074  /* ============================================
12075     SEPET IKONU TIKLAMASI
12076     ============================================ */
12077  window.luxBagClick = function(ev, productId){
12078    ev.preventDefault();
12079    ev.stopPropagation();
12080
12081    var card = document.getElementById('card-' + productId);
12082    var strip = document.getElementById('size-strip-' + productId);
12083    var bag = document.getElementById('lux-bag-' + productId);
12084    if(!card || !strip) return false;
12085
12086    /* Strip zaten yüklenmişse direkt davran */
12087    if(strip.getAttribute('data-loaded') === '1'){
12088      if(strip.getAttribute('data-has-variants') === '1'){
12089        toggleStrip(productId);
12090      } else {
12091        addToCartSmart(productId);
12092      }
12093      return false;
12094    }
12095
12096    /* İlk tıklama - AJAX ile varyantları çek */
12097    bag.classList.add('is-loading');
12098    var productLink = card.getAttribute('data-lux-product-link');
12099
12100    fetchVariants(productId, productLink, function(data){
12101      bag.classList.remove('is-loading');
12102
12103      var hasVariants = buildVariantUI(productId, data);
12104
12105      if(hasVariants){
12106        /* Bedenler var - şeridi aç */
12107        toggleStrip(productId);
12108      } else {
12109        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
12110        addToCartSmart(productId);
12111      }
12112    });
12113
12114    return false;
12115  };
12116
12117  function toggleStrip(productId){
12118    var strip = document.getElementById('size-strip-' + productId);
12119    var card = document.getElementById('card-' + productId);
12120    if(!strip) return;
12121
12122    document.querySelectorAll('.size-strip.open').forEach(function(s){
12123      if(s !== strip) s.classList.remove('open');
12124    });
12125    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
12126      if(c !== card) c.classList.remove('sizes-open');
12127    });
12128
12129    strip.classList.toggle('open');
12130    if(card) card.classList.toggle('sizes-open');
12131  }
12132
12133
12134  /* ============================================
12135     BEDEN TIKLAMASI
12136     ============================================ */
12137  window.luxAddVariant = function(ev, elem){
12138    ev.preventDefault();
12139    ev.stopPropagation();
12140
12141    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
12142
12143    var productId = elem.getAttribute('data-urun-id');
12144    var varyantDeger = elem.getAttribute('data-varyant-deger');
12145
12146    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
12147    if(!holder) return false;
12148
12149    /* Seçilen bedeni ilk select'e yaz */
12150    var firstSelect = holder.querySelector('select[data-variant="0"]');
12151    if(firstSelect){
12152      firstSelect.value = varyantDeger;
12153      if(typeof jQuery !== "undefined"){
12154        jQuery(firstSelect).val(varyantDeger).trigger('change');
12155      }
12156    }
12157
12158    /* Diğer select'lere ilk geçerli değeri koy */
12159    var allSelects = holder.querySelectorAll('select[data-variant]');
12160    allSelects.forEach(function(sel, idx){
12161      if(idx === 0) return;
12162      if(sel.value) return;
12163      var options = sel.querySelectorAll('option');
12164      for(var i = 0; i < options.length; i++){
12165        if(options[i].value){
12166          sel.value = options[i].value;
12167          if(typeof jQuery !== "undefined"){
12168            jQuery(sel).val(options[i].value).trigger('change');
12169          }
12170          break;
12171        }
12172      }
12173    });
12174
12175    /* Görsel feedback */
12176    elem.classList.add('adding');
12177    var originalText = elem.textContent;
12178    elem.textContent = '✓';
12179
12180    /* Sepete ekle */
12181    addToCartSmart(productId, {
12182      checkVariant: true,
12183      variantCount: allSelects.length,
12184      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
12185    });
12186
12187    setTimeout(function(){
12188      elem.textContent = originalText;
12189      elem.classList.remove('adding');
12190      closeAll();
12191    }, 800);
12192
12193    return false;
12194  };
12195
12196
12197  /* ============================================
12198     SEPETE EKLE - Modal killer ile
12199     ============================================ */
12200  function addToCartSmart(productId, extraOptions){
12201    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
12202
12203    var options = {
12204      quantity: 1,
12205      hideNativeModal: 'lux-card-' + productId
12206    };
12207
12208    if(extraOptions){
12209      Object.keys(extraOptions).forEach(function(k){
12210        options[k] = extraOptions[k];
12211      });
12212    } else if(holder){
12213      var selects = holder.querySelectorAll('select[data-variant]');
12214      if(selects.length > 0){
12215        options.checkVariant = true;
12216        options.variantCount = selects.length;
12217        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
12218      }
12219    }
12220
12221    startModalKill(2000);
12222
12223    if(typeof addCart === "function"){
12224      try {
12225        addCart(productId, 'card', options);
12226        flashSuccess(productId);
12227      } catch(err){
12228        console.error('Sepete ekleme hatası:', err);
12229      }
12230    }
12231  }
12232
12233})();
12234</script>
12234</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
12235                             data-lux-product-shell="1"
12236                             data-lux-page="1"><style>
12237@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
12238
12239/* ===== VEZZA LUX CARD ===== */
12240.card-product{
12241  font-family:'Poppins',sans-serif;
12242  background:#fff !important;
12243  position:relative;
12244}
12245.card-product-inner{
12246  background:transparent !important;
12247  position:relative;
12248}
12249.card-product .c-p-i-link,
12250.card-product a{
12251  background:transparent !important;
12252}
12253.card-product-inner > div{
12254  background:transparent !important;
12255}
12256.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
12257  background:transparent !important;
12258}
12259.card-product .card-product-content,
12260.card-product .price-group,
12261.card-product .prices{
12262  background:transparent !important;
12263}
12264[class*="skeleton"],
12265[class*="placeholder"],
12266[class*="loading"]{
12267  background:transparent !important;
12268}
12269
12270/* ===== IMAGE AREA - KARE GÖRSEL ===== */
12271.image-wrapper{
12272  position:relative;
12273  width:100%;
12274  aspect-ratio:1/1;
12275  overflow:hidden;
12276  background:#fff !important;
12277}
12278
12279.image{
12280  position:relative;
12281  width:100%;
12282  height:100%;
12283}
12284
12285.image-wrapper img{
12286  width:100% !important;
12287  height:100% !important;
12288  object-fit:cover !important;
12289  object-position:center center !important;
12290  display:block;
12291  transition:transform .35s ease;
12292}
12293
12294/* ===== DISCOUNT ===== */
12295.discount{
12296  position:absolute;
12297  top:12px;
12298  left:12px;
12299  width:28px;
12300  height:48px;
12301  background:#e10b0b;
12302  color:#fff;
12303  font-size:12px;
12304  font-weight:600;
12305  display:flex;
12306  align-items:center;
12307  justify-content:center;
12308  writing-mode:vertical-rl;
12309  transform:rotate(180deg);
12310  letter-spacing:.5px;
12311  z-index:7;
12312}
12313
12314/* ===== FAV ===== */
12315.lux-fav{
12316  position:absolute;
12317  top:12px;
12318  right:12px;
12319  z-index:7;
12320}
12321.lux-fav a,
12322.lux-fav button{
12323  background:transparent !important;
12324  border:0 !important;
12325  padding:0 !important;
12326  cursor:pointer;
12327  display:inline-flex;
12328  align-items:center;
12329  justify-content:center;
12330}
12331
12332/* ===== SEPET IKON ===== */
12333.lux-bag{
12334  position:absolute;
12335  bottom:12px;
12336  right:12px;
12337  z-index:7;
12338  width:34px;
12339  height:34px;
12340  display:inline-flex;
12341  align-items:center;
12342  justify-content:center;
12343  background:rgba(255,255,255,.92);
12344  border:1px solid rgba(0,0,0,.10);
12345  border-radius:10px;
12346  cursor:pointer;
12347  transition:.2s ease;
12348}
12349.lux-bag:hover{
12350  background:#fff;
12351  border-color:rgba(0,0,0,.25);
12352}
12353.lux-bag.is-loading{
12354  opacity:.6;
12355  cursor:wait;
12356}
12357.lux-bag.is-success{
12358  background:#2e7d32 !important;
12359  border-color:#2e7d32 !important;
12360  color:#fff !important;
12361}
12362.card-product.sizes-open .lux-bag{
12363  opacity:0;
12364  pointer-events:none;
12365}
12366
12367/* Loading spinner */
12368.lux-bag.is-loading i::before{
12369  content:"⏳";
12370}
12371
12372/* ===== SIZE STRIP ===== */
12373.size-strip{
12374  width:100%;
12375  max-height:0;
12376  overflow:hidden;
12377  background:#fff;
12378  display:flex;
12379  flex-wrap:wrap;
12380  transition:max-height .3s ease, border-color .3s ease;
12381  border-top:1px solid transparent;
12382  border-bottom:1px solid transparent;
12383}
12384.size-strip.open{
12385  max-height:200px;
12386  border-top-color:rgba(0,0,0,.08);
12387  border-bottom-color:rgba(0,0,0,.08);
12388}
12389.size-item{
12390  flex:1 0 auto;
12391  min-width:38px;
12392  height:42px;
12393  display:flex;
12394  align-items:center;
12395  justify-content:center;
12396  font-size:13px;
12397  font-weight:500;
12398  color:#111 !important;
12399  cursor:pointer;
12400  user-select:none;
12401  background:transparent;
12402  transition:background .15s ease, color .15s ease;
12403  border-right:1px solid rgba(0,0,0,.08);
12404}
12405.size-item:last-child{ border-right:0; }
12406.size-item:hover:not(.disabled):not(.adding){
12407  background:#000 !important;
12408  color:#fff !important;
12409}
12410.size-item.disabled{
12411  color:#111 !important;
12412  text-decoration:line-through !important;
12413  opacity:.30 !important;
12414  cursor:not-allowed;
12415}
12416.size-item.adding{
12417  background:#2e7d32 !important;
12418  color:#fff !important;
12419  cursor:wait;
12420}
12421
12422/* ===== META ===== */
12423.lux-meta{
12424  padding:12px 6px 6px;
12425  background:transparent !important;
12426}
12427.lux-brand{
12428  font-size:16px;
12429  font-weight:600;
12430  color:#111;
12431  margin-bottom:2px;
12432}
12433.lux-title{
12434  font-size:14px;
12435  font-weight:400;
12436  line-height:1.45;
12437  color:#111;
12438  margin:0;
12439}
12440.lux-price{
12441  margin-top:10px;
12442  display:flex;
12443  gap:10px;
12444  align-items:baseline;
12445  background:transparent !important;
12446}
12447.lux-price .list-price{
12448  font-size:14px;
12449  font-weight:400;
12450  color:#111;
12451  text-decoration:line-through;
12452}
12453.lux-price .sale-price{
12454  font-size:16px;
12455  font-weight:600;
12456  color:#e10b0b;
12457}
12458
12459.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
12460.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
12461</style><div class="card-product"
12462     id="card-10177"
12463     data-lux-card-id="10177"
12464     data-lux-product-link="https://www.vezzalux.com/amiri-823-siyah-erkek-ayakkabi"
12465     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</div><a href="https://www.vezzalux.com/amiri-823-siyah-erkek-ayakkabi" class="c-p-i-link" title="Amiri 823 Siyah Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c75766362-24212613-sw1200sh1200.webp" alt="Amiri 823 Siyah Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c75766362-24212613-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c755c0cc8-61953316-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" 
12466        onclick="userProductFavourite('add', 10177)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
12467         id="lux-bag-10177"
12468         onclick="return luxBagClick(event, 10177);"
12469         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10177" style="display:none;"></div><div class="size-strip" id="size-strip-10177" data-loaded="0"></div><a href="https://www.vezzalux.com/amiri-823-siyah-erkek-ayakkabi" class="c-p-i-link" title="Amiri 823 Siyah Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Amiri</div><div class="lux-title">Amiri 823 Siyah Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">12.500,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
12469<script>
12470(function(){
12471
12472  /* Bir kez kur */
12473  if(window.__luxCardInit) return;
12474  window.__luxCardInit = true;
12475
12476  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
12477  window.__luxVariantCache = window.__luxVariantCache || {};
12478
12479  function closeAll(){
12480    document.querySelectorAll('.size-strip.open').forEach(function(s){
12481      s.classList.remove('open');
12482    });
12483    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
12484      c.classList.remove('sizes-open');
12485    });
12486  }
12487
12488  function flashSuccess(productId){
12489    var bag = document.getElementById('lux-bag-' + productId);
12490    if(!bag) return;
12491    bag.classList.add('is-success');
12492    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
12493  }
12494
12495  /* Dış tıklama - kapat */
12496  document.addEventListener('click', function(e){
12497    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
12498    if(!inside) closeAll();
12499  });
12500
12501  document.addEventListener('keydown', function(e){
12502    if(e.key === 'Escape') closeAll();
12503  });
12504
12505
12506  /* ============================================
12507     MODAL KILLER - yedek güvence
12508     ============================================ */
12509  var LUX_MODAL_KILL_ACTIVE = false;
12510
12511  function killVisibleModals(){
12512    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
12513    modals.forEach(function(m){
12514      var id = (m.id || '').toLowerCase();
12515      var txt = (m.textContent || '').toLowerCase();
12516      var isCartModal = id.indexOf('cart') > -1
12517                     || id.indexOf('variant') > -1
12518                     || id.indexOf('fast') > -1
12519                     || id.indexOf('urun') > -1
12520                     || txt.indexOf('lütfen seçin') > -1;
12521
12522      if(isCartModal){
12523        if(typeof jQuery !== 'undefined'){
12524          try { jQuery(m).modal('hide'); } catch(e){}
12525        }
12526        m.classList.remove('show','in');
12527        m.style.display = 'none';
12528      }
12529    });
12530
12531    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
12532    document.body.classList.remove('modal-open');
12533    document.body.style.overflow = '';
12534    document.body.style.paddingRight = '';
12535  }
12536
12537  function startModalKill(durationMs){
12538    if(LUX_MODAL_KILL_ACTIVE) return;
12539    LUX_MODAL_KILL_ACTIVE = true;
12540    killVisibleModals();
12541    var interval = setInterval(killVisibleModals, 50);
12542    setTimeout(function(){
12543      clearInterval(interval);
12544      LUX_MODAL_KILL_ACTIVE = false;
12545    }, durationMs || 2000);
12546  }
12547
12548
12549  /* ============================================
12550     AJAX: Varyantları detay sayfasından çek
12551     ============================================
12552     Ürün detay sayfasının tam HTML'ini indir,
12553     DOMParser ile parse et, varyantları bul
12554     ============================================ */
12555  function fetchVariants(productId, productLink, callback){
12556
12557    /* Cache'te varsa hemen döndür */
12558    if(window.__luxVariantCache[productId]){
12559      callback(window.__luxVariantCache[productId]);
12560      return;
12561    }
12562
12563    fetch(productLink, {
12564      method: 'GET',
12565      credentials: 'same-origin',
12566      headers: { 'Accept': 'text/html' }
12567    })
12568    .then(function(r){ return r.text(); })
12569    .then(function(html){
12570      var parser = new DOMParser();
12571      var doc = parser.parseFromString(html, 'text/html');
12572
12573      /* Detay sayfasındaki .variant-box'ı bul */
12574      var variantBox = doc.querySelector('.variant-box');
12575      if(!variantBox){
12576        callback({ variants: [], error: 'no_variant_box' });
12577        return;
12578      }
12579
12580      /* Her varyant grubu için select'leri ve option'ları oku */
12581      var variants = [];
12582      var variantLis = variantBox.querySelectorAll('.variant');
12583
12584      variantLis.forEach(function(li, idx){
12585        var nameEl = li.querySelector('.name');
12586        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
12587
12588        var values = [];
12589
12590        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
12591        var optLinks = li.querySelectorAll('.options a');
12592
12593        if(optLinks.length > 0){
12594          optLinks.forEach(function(a){
12595            /* Beden/renk değerini doğru attribute'tan oku
12596               - data-variant-value: asıl değer (örn: "38", "KAHVE")
12597               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
12598               - textContent: fallback */
12599            var deger = a.getAttribute('data-variant-value')
12600                     || a.textContent.trim();
12601
12602            /* Stok kontrolü - birden fazla yoldan kontrol et */
12603            var isSoldOut = a.classList.contains('sold-out')
12604                         || a.classList.contains('sold_out')
12605                         || a.classList.contains('disabled')
12606                         || a.classList.contains('stoksuz')
12607                         || a.classList.contains('out-of-stock')
12608                         || a.hasAttribute('disabled')
12609                         || a.getAttribute('data-in-stock') === '0'
12610                         || a.getAttribute('data-in-stock') === 'false'
12611                         || a.getAttribute('data-stokta-var-mi') === '0'
12612                         || a.getAttribute('data-stokta-var-mi') === 'false';
12613
12614            values.push({
12615              deger: deger,
12616              inStock: !isSoldOut
12617            });
12618          });
12619        } else {
12620          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
12621          var select = li.querySelector('select');
12622          if(select){
12623            var opts = select.querySelectorAll('option');
12624            opts.forEach(function(o){
12625              if(!o.value) return;
12626              values.push({
12627                deger: o.value,
12628                inStock: !o.disabled
12629              });
12630            });
12631          }
12632        }
12633
12634        variants.push({
12635          index: idx,
12636          baslik: name,
12637          values: values
12638        });
12639      });
12640
12641      var result = { variants: variants };
12642      window.__luxVariantCache[productId] = result;
12643      callback(result);
12644    })
12645    .catch(function(err){
12646      console.error('Varyant çekme hatası:', err);
12647      callback({ variants: [], error: 'fetch_failed' });
12648    });
12649  }
12650
12651
12652  /* ============================================
12653     Beden şeridini ve gizli variant-box'ı oluştur
12654     ============================================ */
12655  function buildVariantUI(productId, data){
12656    var card = document.getElementById('card-' + productId);
12657    if(!card) return false;
12658
12659    var holder = card.querySelector('.lux-variant-box');
12660    var strip = document.getElementById('size-strip-' + productId);
12661    if(!holder || !strip) return false;
12662
12663    if(!data.variants || data.variants.length === 0){
12664      /* Varyant yok */
12665      return false;
12666    }
12667
12668    /* Çoklu değerli ilk varyantı bul (beden) */
12669    var displayVariant = null;
12670    data.variants.forEach(function(v){
12671      if(!displayVariant && v.values.length > 1){
12672        displayVariant = v;
12673      }
12674    });
12675
12676    /* Gizli variant-box HTML */
12677    var html = '<div class="variant-box"><ul>';
12678    data.variants.forEach(function(v){
12679      html += '<li class="variant">';
12680      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
12681
12682      if(v.values.length > 1){
12683        html += '<option value="">Lütfen seçin</option>';
12684      }
12685
12686      v.values.forEach(function(val, i){
12687        var selected = (v.values.length === 1) ? ' selected' : '';
12688        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
12689      });
12690
12691      html += '</select></li>';
12692    });
12693    html += '</ul></div>';
12694
12695    holder.innerHTML = html;
12696    holder.style.display = '';
12697
12698    /* Strip HTML (sadece çoklu değerli varyantlar için)
12699       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
12700    if(displayVariant){
12701      var stripHtml = '';
12702      var inStockCount = 0;
12703
12704      /* DEBUG - console'da gör */
12705      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
12706
12707      displayVariant.values.forEach(function(val){
12708        /* SADECE stokta olanları ekle */
12709        if(val.inStock === true){
12710          stripHtml += '<div class="size-item" '
12711                    + 'data-urun-id="' + productId + '" '
12712                    + 'data-varyant-deger="' + val.deger + '" '
12713                    + 'onclick="return luxAddVariant(event, this);">'
12714                    + val.deger + '</div>';
12715          inStockCount++;
12716        }
12717      });
12718
12719      /* Eğer stokta hiç beden yoksa şeridi gösterme */
12720      if(inStockCount === 0){
12721        strip.setAttribute('data-loaded', '1');
12722        strip.setAttribute('data-has-variants', '0');
12723        return false;
12724      }
12725
12726      strip.innerHTML = stripHtml;
12727      strip.setAttribute('data-loaded', '1');
12728      strip.setAttribute('data-has-variants', '1');
12729      return true;
12730    } else {
12731      strip.setAttribute('data-loaded', '1');
12732      strip.setAttribute('data-has-variants', '0');
12733      return false;
12734    }
12735  }
12736
12737
12738  /* ============================================
12739     SEPET IKONU TIKLAMASI
12740     ============================================ */
12741  window.luxBagClick = function(ev, productId){
12742    ev.preventDefault();
12743    ev.stopPropagation();
12744
12745    var card = document.getElementById('card-' + productId);
12746    var strip = document.getElementById('size-strip-' + productId);
12747    var bag = document.getElementById('lux-bag-' + productId);
12748    if(!card || !strip) return false;
12749
12750    /* Strip zaten yüklenmişse direkt davran */
12751    if(strip.getAttribute('data-loaded') === '1'){
12752      if(strip.getAttribute('data-has-variants') === '1'){
12753        toggleStrip(productId);
12754      } else {
12755        addToCartSmart(productId);
12756      }
12757      return false;
12758    }
12759
12760    /* İlk tıklama - AJAX ile varyantları çek */
12761    bag.classList.add('is-loading');
12762    var productLink = card.getAttribute('data-lux-product-link');
12763
12764    fetchVariants(productId, productLink, function(data){
12765      bag.classList.remove('is-loading');
12766
12767      var hasVariants = buildVariantUI(productId, data);
12768
12769      if(hasVariants){
12770        /* Bedenler var - şeridi aç */
12771        toggleStrip(productId);
12772      } else {
12773        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
12774        addToCartSmart(productId);
12775      }
12776    });
12777
12778    return false;
12779  };
12780
12781  function toggleStrip(productId){
12782    var strip = document.getElementById('size-strip-' + productId);
12783    var card = document.getElementById('card-' + productId);
12784    if(!strip) return;
12785
12786    document.querySelectorAll('.size-strip.open').forEach(function(s){
12787      if(s !== strip) s.classList.remove('open');
12788    });
12789    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
12790      if(c !== card) c.classList.remove('sizes-open');
12791    });
12792
12793    strip.classList.toggle('open');
12794    if(card) card.classList.toggle('sizes-open');
12795  }
12796
12797
12798  /* ============================================
12799     BEDEN TIKLAMASI
12800     ============================================ */
12801  window.luxAddVariant = function(ev, elem){
12802    ev.preventDefault();
12803    ev.stopPropagation();
12804
12805    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
12806
12807    var productId = elem.getAttribute('data-urun-id');
12808    var varyantDeger = elem.getAttribute('data-varyant-deger');
12809
12810    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
12811    if(!holder) return false;
12812
12813    /* Seçilen bedeni ilk select'e yaz */
12814    var firstSelect = holder.querySelector('select[data-variant="0"]');
12815    if(firstSelect){
12816      firstSelect.value = varyantDeger;
12817      if(typeof jQuery !== "undefined"){
12818        jQuery(firstSelect).val(varyantDeger).trigger('change');
12819      }
12820    }
12821
12822    /* Diğer select'lere ilk geçerli değeri koy */
12823    var allSelects = holder.querySelectorAll('select[data-variant]');
12824    allSelects.forEach(function(sel, idx){
12825      if(idx === 0) return;
12826      if(sel.value) return;
12827      var options = sel.querySelectorAll('option');
12828      for(var i = 0; i < options.length; i++){
12829        if(options[i].value){
12830          sel.value = options[i].value;
12831          if(typeof jQuery !== "undefined"){
12832            jQuery(sel).val(options[i].value).trigger('change');
12833          }
12834          break;
12835        }
12836      }
12837    });
12838
12839    /* Görsel feedback */
12840    elem.classList.add('adding');
12841    var originalText = elem.textContent;
12842    elem.textContent = '✓';
12843
12844    /* Sepete ekle */
12845    addToCartSmart(productId, {
12846      checkVariant: true,
12847      variantCount: allSelects.length,
12848      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
12849    });
12850
12851    setTimeout(function(){
12852      elem.textContent = originalText;
12853      elem.classList.remove('adding');
12854      closeAll();
12855    }, 800);
12856
12857    return false;
12858  };
12859
12860
12861  /* ============================================
12862     SEPETE EKLE - Modal killer ile
12863     ============================================ */
12864  function addToCartSmart(productId, extraOptions){
12865    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
12866
12867    var options = {
12868      quantity: 1,
12869      hideNativeModal: 'lux-card-' + productId
12870    };
12871
12872    if(extraOptions){
12873      Object.keys(extraOptions).forEach(function(k){
12874        options[k] = extraOptions[k];
12875      });
12876    } else if(holder){
12877      var selects = holder.querySelectorAll('select[data-variant]');
12878      if(selects.length > 0){
12879        options.checkVariant = true;
12880        options.variantCount = selects.length;
12881        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
12882      }
12883    }
12884
12885    startModalKill(2000);
12886
12887    if(typeof addCart === "function"){
12888      try {
12889        addCart(productId, 'card', options);
12890        flashSuccess(productId);
12891      } catch(err){
12892        console.error('Sepete ekleme hatası:', err);
12893      }
12894    }
12895  }
12896
12897})();
12898</script>
12898</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
12899                             data-lux-product-shell="1"
12900                             data-lux-page="1"><style>
12901@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
12902
12903/* ===== VEZZA LUX CARD ===== */
12904.card-product{
12905  font-family:'Poppins',sans-serif;
12906  background:#fff !important;
12907  position:relative;
12908}
12909.card-product-inner{
12910  background:transparent !important;
12911  position:relative;
12912}
12913.card-product .c-p-i-link,
12914.card-product a{
12915  background:transparent !important;
12916}
12917.card-product-inner > div{
12918  background:transparent !important;
12919}
12920.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
12921  background:transparent !important;
12922}
12923.card-product .card-product-content,
12924.card-product .price-group,
12925.card-product .prices{
12926  background:transparent !important;
12927}
12928[class*="skeleton"],
12929[class*="placeholder"],
12930[class*="loading"]{
12931  background:transparent !important;
12932}
12933
12934/* ===== IMAGE AREA - KARE GÖRSEL ===== */
12935.image-wrapper{
12936  position:relative;
12937  width:100%;
12938  aspect-ratio:1/1;
12939  overflow:hidden;
12940  background:#fff !important;
12941}
12942
12943.image{
12944  position:relative;
12945  width:100%;
12946  height:100%;
12947}
12948
12949.image-wrapper img{
12950  width:100% !important;
12951  height:100% !important;
12952  object-fit:cover !important;
12953  object-position:center center !important;
12954  display:block;
12955  transition:transform .35s ease;
12956}
12957
12958/* ===== DISCOUNT ===== */
12959.discount{
12960  position:absolute;
12961  top:12px;
12962  left:12px;
12963  width:28px;
12964  height:48px;
12965  background:#e10b0b;
12966  color:#fff;
12967  font-size:12px;
12968  font-weight:600;
12969  display:flex;
12970  align-items:center;
12971  justify-content:center;
12972  writing-mode:vertical-rl;
12973  transform:rotate(180deg);
12974  letter-spacing:.5px;
12975  z-index:7;
12976}
12977
12978/* ===== FAV ===== */
12979.lux-fav{
12980  position:absolute;
12981  top:12px;
12982  right:12px;
12983  z-index:7;
12984}
12985.lux-fav a,
12986.lux-fav button{
12987  background:transparent !important;
12988  border:0 !important;
12989  padding:0 !important;
12990  cursor:pointer;
12991  display:inline-flex;
12992  align-items:center;
12993  justify-content:center;
12994}
12995
12996/* ===== SEPET IKON ===== */
12997.lux-bag{
12998  position:absolute;
12999  bottom:12px;
13000  right:12px;
13001  z-index:7;
13002  width:34px;
13003  height:34px;
13004  display:inline-flex;
13005  align-items:center;
13006  justify-content:center;
13007  background:rgba(255,255,255,.92);
13008  border:1px solid rgba(0,0,0,.10);
13009  border-radius:10px;
13010  cursor:pointer;
13011  transition:.2s ease;
13012}
13013.lux-bag:hover{
13014  background:#fff;
13015  border-color:rgba(0,0,0,.25);
13016}
13017.lux-bag.is-loading{
13018  opacity:.6;
13019  cursor:wait;
13020}
13021.lux-bag.is-success{
13022  background:#2e7d32 !important;
13023  border-color:#2e7d32 !important;
13024  color:#fff !important;
13025}
13026.card-product.sizes-open .lux-bag{
13027  opacity:0;
13028  pointer-events:none;
13029}
13030
13031/* Loading spinner */
13032.lux-bag.is-loading i::before{
13033  content:"⏳";
13034}
13035
13036/* ===== SIZE STRIP ===== */
13037.size-strip{
13038  width:100%;
13039  max-height:0;
13040  overflow:hidden;
13041  background:#fff;
13042  display:flex;
13043  flex-wrap:wrap;
13044  transition:max-height .3s ease, border-color .3s ease;
13045  border-top:1px solid transparent;
13046  border-bottom:1px solid transparent;
13047}
13048.size-strip.open{
13049  max-height:200px;
13050  border-top-color:rgba(0,0,0,.08);
13051  border-bottom-color:rgba(0,0,0,.08);
13052}
13053.size-item{
13054  flex:1 0 auto;
13055  min-width:38px;
13056  height:42px;
13057  display:flex;
13058  align-items:center;
13059  justify-content:center;
13060  font-size:13px;
13061  font-weight:500;
13062  color:#111 !important;
13063  cursor:pointer;
13064  user-select:none;
13065  background:transparent;
13066  transition:background .15s ease, color .15s ease;
13067  border-right:1px solid rgba(0,0,0,.08);
13068}
13069.size-item:last-child{ border-right:0; }
13070.size-item:hover:not(.disabled):not(.adding){
13071  background:#000 !important;
13072  color:#fff !important;
13073}
13074.size-item.disabled{
13075  color:#111 !important;
13076  text-decoration:line-through !important;
13077  opacity:.30 !important;
13078  cursor:not-allowed;
13079}
13080.size-item.adding{
13081  background:#2e7d32 !important;
13082  color:#fff !important;
13083  cursor:wait;
13084}
13085
13086/* ===== META ===== */
13087.lux-meta{
13088  padding:12px 6px 6px;
13089  background:transparent !important;
13090}
13091.lux-brand{
13092  font-size:16px;
13093  font-weight:600;
13094  color:#111;
13095  margin-bottom:2px;
13096}
13097.lux-title{
13098  font-size:14px;
13099  font-weight:400;
13100  line-height:1.45;
13101  color:#111;
13102  margin:0;
13103}
13104.lux-price{
13105  margin-top:10px;
13106  display:flex;
13107  gap:10px;
13108  align-items:baseline;
13109  background:transparent !important;
13110}
13111.lux-price .list-price{
13112  font-size:14px;
13113  font-weight:400;
13114  color:#111;
13115  text-decoration:line-through;
13116}
13117.lux-price .sale-price{
13118  font-size:16px;
13119  font-weight:600;
13120  color:#e10b0b;
13121}
13122
13123.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
13124.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
13125</style><div class="card-product"
13126     id="card-10273"
13127     data-lux-card-id="10273"
13128     data-lux-product-link="https://www.vezzalux.com/dior-943-siyah-logosu-kumas-erkek-ayakkabi"
13129     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</div><a href="https://www.vezzalux.com/dior-943-siyah-logosu-kumas-erkek-ayakkabi" class="c-p-i-link" title="Dior 943 Siyah Logosu Kumaş Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c9ab32107-97240786-sw1200sh1200.webp" alt="Dior 943 Siyah Logosu Kumaş Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c9ab32107-97240786-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c9ac9e0ad-62650519-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" 
13130        onclick="userProductFavourite('add', 10273)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
13131         id="lux-bag-10273"
13132         onclick="return luxBagClick(event, 10273);"
13133         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10273" style="display:none;"></div><div class="size-strip" id="size-strip-10273" data-loaded="0"></div><a href="https://www.vezzalux.com/dior-943-siyah-logosu-kumas-erkek-ayakkabi" class="c-p-i-link" title="Dior 943 Siyah Logosu Kumaş Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Dior</div><div class="lux-title">Dior 943 Siyah Logosu Kumaş Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">12.499,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
13133<script>
13134(function(){
13135
13136  /* Bir kez kur */
13137  if(window.__luxCardInit) return;
13138  window.__luxCardInit = true;
13139
13140  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
13141  window.__luxVariantCache = window.__luxVariantCache || {};
13142
13143  function closeAll(){
13144    document.querySelectorAll('.size-strip.open').forEach(function(s){
13145      s.classList.remove('open');
13146    });
13147    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
13148      c.classList.remove('sizes-open');
13149    });
13150  }
13151
13152  function flashSuccess(productId){
13153    var bag = document.getElementById('lux-bag-' + productId);
13154    if(!bag) return;
13155    bag.classList.add('is-success');
13156    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
13157  }
13158
13159  /* Dış tıklama - kapat */
13160  document.addEventListener('click', function(e){
13161    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
13162    if(!inside) closeAll();
13163  });
13164
13165  document.addEventListener('keydown', function(e){
13166    if(e.key === 'Escape') closeAll();
13167  });
13168
13169
13170  /* ============================================
13171     MODAL KILLER - yedek güvence
13172     ============================================ */
13173  var LUX_MODAL_KILL_ACTIVE = false;
13174
13175  function killVisibleModals(){
13176    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
13177    modals.forEach(function(m){
13178      var id = (m.id || '').toLowerCase();
13179      var txt = (m.textContent || '').toLowerCase();
13180      var isCartModal = id.indexOf('cart') > -1
13181                     || id.indexOf('variant') > -1
13182                     || id.indexOf('fast') > -1
13183                     || id.indexOf('urun') > -1
13184                     || txt.indexOf('lütfen seçin') > -1;
13185
13186      if(isCartModal){
13187        if(typeof jQuery !== 'undefined'){
13188          try { jQuery(m).modal('hide'); } catch(e){}
13189        }
13190        m.classList.remove('show','in');
13191        m.style.display = 'none';
13192      }
13193    });
13194
13195    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
13196    document.body.classList.remove('modal-open');
13197    document.body.style.overflow = '';
13198    document.body.style.paddingRight = '';
13199  }
13200
13201  function startModalKill(durationMs){
13202    if(LUX_MODAL_KILL_ACTIVE) return;
13203    LUX_MODAL_KILL_ACTIVE = true;
13204    killVisibleModals();
13205    var interval = setInterval(killVisibleModals, 50);
13206    setTimeout(function(){
13207      clearInterval(interval);
13208      LUX_MODAL_KILL_ACTIVE = false;
13209    }, durationMs || 2000);
13210  }
13211
13212
13213  /* ============================================
13214     AJAX: Varyantları detay sayfasından çek
13215     ============================================
13216     Ürün detay sayfasının tam HTML'ini indir,
13217     DOMParser ile parse et, varyantları bul
13218     ============================================ */
13219  function fetchVariants(productId, productLink, callback){
13220
13221    /* Cache'te varsa hemen döndür */
13222    if(window.__luxVariantCache[productId]){
13223      callback(window.__luxVariantCache[productId]);
13224      return;
13225    }
13226
13227    fetch(productLink, {
13228      method: 'GET',
13229      credentials: 'same-origin',
13230      headers: { 'Accept': 'text/html' }
13231    })
13232    .then(function(r){ return r.text(); })
13233    .then(function(html){
13234      var parser = new DOMParser();
13235      var doc = parser.parseFromString(html, 'text/html');
13236
13237      /* Detay sayfasındaki .variant-box'ı bul */
13238      var variantBox = doc.querySelector('.variant-box');
13239      if(!variantBox){
13240        callback({ variants: [], error: 'no_variant_box' });
13241        return;
13242      }
13243
13244      /* Her varyant grubu için select'leri ve option'ları oku */
13245      var variants = [];
13246      var variantLis = variantBox.querySelectorAll('.variant');
13247
13248      variantLis.forEach(function(li, idx){
13249        var nameEl = li.querySelector('.name');
13250        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
13251
13252        var values = [];
13253
13254        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
13255        var optLinks = li.querySelectorAll('.options a');
13256
13257        if(optLinks.length > 0){
13258          optLinks.forEach(function(a){
13259            /* Beden/renk değerini doğru attribute'tan oku
13260               - data-variant-value: asıl değer (örn: "38", "KAHVE")
13261               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
13262               - textContent: fallback */
13263            var deger = a.getAttribute('data-variant-value')
13264                     || a.textContent.trim();
13265
13266            /* Stok kontrolü - birden fazla yoldan kontrol et */
13267            var isSoldOut = a.classList.contains('sold-out')
13268                         || a.classList.contains('sold_out')
13269                         || a.classList.contains('disabled')
13270                         || a.classList.contains('stoksuz')
13271                         || a.classList.contains('out-of-stock')
13272                         || a.hasAttribute('disabled')
13273                         || a.getAttribute('data-in-stock') === '0'
13274                         || a.getAttribute('data-in-stock') === 'false'
13275                         || a.getAttribute('data-stokta-var-mi') === '0'
13276                         || a.getAttribute('data-stokta-var-mi') === 'false';
13277
13278            values.push({
13279              deger: deger,
13280              inStock: !isSoldOut
13281            });
13282          });
13283        } else {
13284          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
13285          var select = li.querySelector('select');
13286          if(select){
13287            var opts = select.querySelectorAll('option');
13288            opts.forEach(function(o){
13289              if(!o.value) return;
13290              values.push({
13291                deger: o.value,
13292                inStock: !o.disabled
13293              });
13294            });
13295          }
13296        }
13297
13298        variants.push({
13299          index: idx,
13300          baslik: name,
13301          values: values
13302        });
13303      });
13304
13305      var result = { variants: variants };
13306      window.__luxVariantCache[productId] = result;
13307      callback(result);
13308    })
13309    .catch(function(err){
13310      console.error('Varyant çekme hatası:', err);
13311      callback({ variants: [], error: 'fetch_failed' });
13312    });
13313  }
13314
13315
13316  /* ============================================
13317     Beden şeridini ve gizli variant-box'ı oluştur
13318     ============================================ */
13319  function buildVariantUI(productId, data){
13320    var card = document.getElementById('card-' + productId);
13321    if(!card) return false;
13322
13323    var holder = card.querySelector('.lux-variant-box');
13324    var strip = document.getElementById('size-strip-' + productId);
13325    if(!holder || !strip) return false;
13326
13327    if(!data.variants || data.variants.length === 0){
13328      /* Varyant yok */
13329      return false;
13330    }
13331
13332    /* Çoklu değerli ilk varyantı bul (beden) */
13333    var displayVariant = null;
13334    data.variants.forEach(function(v){
13335      if(!displayVariant && v.values.length > 1){
13336        displayVariant = v;
13337      }
13338    });
13339
13340    /* Gizli variant-box HTML */
13341    var html = '<div class="variant-box"><ul>';
13342    data.variants.forEach(function(v){
13343      html += '<li class="variant">';
13344      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
13345
13346      if(v.values.length > 1){
13347        html += '<option value="">Lütfen seçin</option>';
13348      }
13349
13350      v.values.forEach(function(val, i){
13351        var selected = (v.values.length === 1) ? ' selected' : '';
13352        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
13353      });
13354
13355      html += '</select></li>';
13356    });
13357    html += '</ul></div>';
13358
13359    holder.innerHTML = html;
13360    holder.style.display = '';
13361
13362    /* Strip HTML (sadece çoklu değerli varyantlar için)
13363       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
13364    if(displayVariant){
13365      var stripHtml = '';
13366      var inStockCount = 0;
13367
13368      /* DEBUG - console'da gör */
13369      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
13370
13371      displayVariant.values.forEach(function(val){
13372        /* SADECE stokta olanları ekle */
13373        if(val.inStock === true){
13374          stripHtml += '<div class="size-item" '
13375                    + 'data-urun-id="' + productId + '" '
13376                    + 'data-varyant-deger="' + val.deger + '" '
13377                    + 'onclick="return luxAddVariant(event, this);">'
13378                    + val.deger + '</div>';
13379          inStockCount++;
13380        }
13381      });
13382
13383      /* Eğer stokta hiç beden yoksa şeridi gösterme */
13384      if(inStockCount === 0){
13385        strip.setAttribute('data-loaded', '1');
13386        strip.setAttribute('data-has-variants', '0');
13387        return false;
13388      }
13389
13390      strip.innerHTML = stripHtml;
13391      strip.setAttribute('data-loaded', '1');
13392      strip.setAttribute('data-has-variants', '1');
13393      return true;
13394    } else {
13395      strip.setAttribute('data-loaded', '1');
13396      strip.setAttribute('data-has-variants', '0');
13397      return false;
13398    }
13399  }
13400
13401
13402  /* ============================================
13403     SEPET IKONU TIKLAMASI
13404     ============================================ */
13405  window.luxBagClick = function(ev, productId){
13406    ev.preventDefault();
13407    ev.stopPropagation();
13408
13409    var card = document.getElementById('card-' + productId);
13410    var strip = document.getElementById('size-strip-' + productId);
13411    var bag = document.getElementById('lux-bag-' + productId);
13412    if(!card || !strip) return false;
13413
13414    /* Strip zaten yüklenmişse direkt davran */
13415    if(strip.getAttribute('data-loaded') === '1'){
13416      if(strip.getAttribute('data-has-variants') === '1'){
13417        toggleStrip(productId);
13418      } else {
13419        addToCartSmart(productId);
13420      }
13421      return false;
13422    }
13423
13424    /* İlk tıklama - AJAX ile varyantları çek */
13425    bag.classList.add('is-loading');
13426    var productLink = card.getAttribute('data-lux-product-link');
13427
13428    fetchVariants(productId, productLink, function(data){
13429      bag.classList.remove('is-loading');
13430
13431      var hasVariants = buildVariantUI(productId, data);
13432
13433      if(hasVariants){
13434        /* Bedenler var - şeridi aç */
13435        toggleStrip(productId);
13436      } else {
13437        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
13438        addToCartSmart(productId);
13439      }
13440    });
13441
13442    return false;
13443  };
13444
13445  function toggleStrip(productId){
13446    var strip = document.getElementById('size-strip-' + productId);
13447    var card = document.getElementById('card-' + productId);
13448    if(!strip) return;
13449
13450    document.querySelectorAll('.size-strip.open').forEach(function(s){
13451      if(s !== strip) s.classList.remove('open');
13452    });
13453    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
13454      if(c !== card) c.classList.remove('sizes-open');
13455    });
13456
13457    strip.classList.toggle('open');
13458    if(card) card.classList.toggle('sizes-open');
13459  }
13460
13461
13462  /* ============================================
13463     BEDEN TIKLAMASI
13464     ============================================ */
13465  window.luxAddVariant = function(ev, elem){
13466    ev.preventDefault();
13467    ev.stopPropagation();
13468
13469    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
13470
13471    var productId = elem.getAttribute('data-urun-id');
13472    var varyantDeger = elem.getAttribute('data-varyant-deger');
13473
13474    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
13475    if(!holder) return false;
13476
13477    /* Seçilen bedeni ilk select'e yaz */
13478    var firstSelect = holder.querySelector('select[data-variant="0"]');
13479    if(firstSelect){
13480      firstSelect.value = varyantDeger;
13481      if(typeof jQuery !== "undefined"){
13482        jQuery(firstSelect).val(varyantDeger).trigger('change');
13483      }
13484    }
13485
13486    /* Diğer select'lere ilk geçerli değeri koy */
13487    var allSelects = holder.querySelectorAll('select[data-variant]');
13488    allSelects.forEach(function(sel, idx){
13489      if(idx === 0) return;
13490      if(sel.value) return;
13491      var options = sel.querySelectorAll('option');
13492      for(var i = 0; i < options.length; i++){
13493        if(options[i].value){
13494          sel.value = options[i].value;
13495          if(typeof jQuery !== "undefined"){
13496            jQuery(sel).val(options[i].value).trigger('change');
13497          }
13498          break;
13499        }
13500      }
13501    });
13502
13503    /* Görsel feedback */
13504    elem.classList.add('adding');
13505    var originalText = elem.textContent;
13506    elem.textContent = '✓';
13507
13508    /* Sepete ekle */
13509    addToCartSmart(productId, {
13510      checkVariant: true,
13511      variantCount: allSelects.length,
13512      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
13513    });
13514
13515    setTimeout(function(){
13516      elem.textContent = originalText;
13517      elem.classList.remove('adding');
13518      closeAll();
13519    }, 800);
13520
13521    return false;
13522  };
13523
13524
13525  /* ============================================
13526     SEPETE EKLE - Modal killer ile
13527     ============================================ */
13528  function addToCartSmart(productId, extraOptions){
13529    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
13530
13531    var options = {
13532      quantity: 1,
13533      hideNativeModal: 'lux-card-' + productId
13534    };
13535
13536    if(extraOptions){
13537      Object.keys(extraOptions).forEach(function(k){
13538        options[k] = extraOptions[k];
13539      });
13540    } else if(holder){
13541      var selects = holder.querySelectorAll('select[data-variant]');
13542      if(selects.length > 0){
13543        options.checkVariant = true;
13544        options.variantCount = selects.length;
13545        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
13546      }
13547    }
13548
13549    startModalKill(2000);
13550
13551    if(typeof addCart === "function"){
13552      try {
13553        addCart(productId, 'card', options);
13554        flashSuccess(productId);
13555      } catch(err){
13556        console.error('Sepete ekleme hatası:', err);
13557      }
13558    }
13559  }
13560
13561})();
13562</script>
13562</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
13563                             data-lux-product-shell="1"
13564                             data-lux-page="1"><style>
13565@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
13566
13567/* ===== VEZZA LUX CARD ===== */
13568.card-product{
13569  font-family:'Poppins',sans-serif;
13570  background:#fff !important;
13571  position:relative;
13572}
13573.card-product-inner{
13574  background:transparent !important;
13575  position:relative;
13576}
13577.card-product .c-p-i-link,
13578.card-product a{
13579  background:transparent !important;
13580}
13581.card-product-inner > div{
13582  background:transparent !important;
13583}
13584.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
13585  background:transparent !important;
13586}
13587.card-product .card-product-content,
13588.card-product .price-group,
13589.card-product .prices{
13590  background:transparent !important;
13591}
13592[class*="skeleton"],
13593[class*="placeholder"],
13594[class*="loading"]{
13595  background:transparent !important;
13596}
13597
13598/* ===== IMAGE AREA - KARE GÖRSEL ===== */
13599.image-wrapper{
13600  position:relative;
13601  width:100%;
13602  aspect-ratio:1/1;
13603  overflow:hidden;
13604  background:#fff !important;
13605}
13606
13607.image{
13608  position:relative;
13609  width:100%;
13610  height:100%;
13611}
13612
13613.image-wrapper img{
13614  width:100% !important;
13615  height:100% !important;
13616  object-fit:cover !important;
13617  object-position:center center !important;
13618  display:block;
13619  transition:transform .35s ease;
13620}
13621
13622/* ===== DISCOUNT ===== */
13623.discount{
13624  position:absolute;
13625  top:12px;
13626  left:12px;
13627  width:28px;
13628  height:48px;
13629  background:#e10b0b;
13630  color:#fff;
13631  font-size:12px;
13632  font-weight:600;
13633  display:flex;
13634  align-items:center;
13635  justify-content:center;
13636  writing-mode:vertical-rl;
13637  transform:rotate(180deg);
13638  letter-spacing:.5px;
13639  z-index:7;
13640}
13641
13642/* ===== FAV ===== */
13643.lux-fav{
13644  position:absolute;
13645  top:12px;
13646  right:12px;
13647  z-index:7;
13648}
13649.lux-fav a,
13650.lux-fav button{
13651  background:transparent !important;
13652  border:0 !important;
13653  padding:0 !important;
13654  cursor:pointer;
13655  display:inline-flex;
13656  align-items:center;
13657  justify-content:center;
13658}
13659
13660/* ===== SEPET IKON ===== */
13661.lux-bag{
13662  position:absolute;
13663  bottom:12px;
13664  right:12px;
13665  z-index:7;
13666  width:34px;
13667  height:34px;
13668  display:inline-flex;
13669  align-items:center;
13670  justify-content:center;
13671  background:rgba(255,255,255,.92);
13672  border:1px solid rgba(0,0,0,.10);
13673  border-radius:10px;
13674  cursor:pointer;
13675  transition:.2s ease;
13676}
13677.lux-bag:hover{
13678  background:#fff;
13679  border-color:rgba(0,0,0,.25);
13680}
13681.lux-bag.is-loading{
13682  opacity:.6;
13683  cursor:wait;
13684}
13685.lux-bag.is-success{
13686  background:#2e7d32 !important;
13687  border-color:#2e7d32 !important;
13688  color:#fff !important;
13689}
13690.card-product.sizes-open .lux-bag{
13691  opacity:0;
13692  pointer-events:none;
13693}
13694
13695/* Loading spinner */
13696.lux-bag.is-loading i::before{
13697  content:"⏳";
13698}
13699
13700/* ===== SIZE STRIP ===== */
13701.size-strip{
13702  width:100%;
13703  max-height:0;
13704  overflow:hidden;
13705  background:#fff;
13706  display:flex;
13707  flex-wrap:wrap;
13708  transition:max-height .3s ease, border-color .3s ease;
13709  border-top:1px solid transparent;
13710  border-bottom:1px solid transparent;
13711}
13712.size-strip.open{
13713  max-height:200px;
13714  border-top-color:rgba(0,0,0,.08);
13715  border-bottom-color:rgba(0,0,0,.08);
13716}
13717.size-item{
13718  flex:1 0 auto;
13719  min-width:38px;
13720  height:42px;
13721  display:flex;
13722  align-items:center;
13723  justify-content:center;
13724  font-size:13px;
13725  font-weight:500;
13726  color:#111 !important;
13727  cursor:pointer;
13728  user-select:none;
13729  background:transparent;
13730  transition:background .15s ease, color .15s ease;
13731  border-right:1px solid rgba(0,0,0,.08);
13732}
13733.size-item:last-child{ border-right:0; }
13734.size-item:hover:not(.disabled):not(.adding){
13735  background:#000 !important;
13736  color:#fff !important;
13737}
13738.size-item.disabled{
13739  color:#111 !important;
13740  text-decoration:line-through !important;
13741  opacity:.30 !important;
13742  cursor:not-allowed;
13743}
13744.size-item.adding{
13745  background:#2e7d32 !important;
13746  color:#fff !important;
13747  cursor:wait;
13748}
13749
13750/* ===== META ===== */
13751.lux-meta{
13752  padding:12px 6px 6px;
13753  background:transparent !important;
13754}
13755.lux-brand{
13756  font-size:16px;
13757  font-weight:600;
13758  color:#111;
13759  margin-bottom:2px;
13760}
13761.lux-title{
13762  font-size:14px;
13763  font-weight:400;
13764  line-height:1.45;
13765  color:#111;
13766  margin:0;
13767}
13768.lux-price{
13769  margin-top:10px;
13770  display:flex;
13771  gap:10px;
13772  align-items:baseline;
13773  background:transparent !important;
13774}
13775.lux-price .list-price{
13776  font-size:14px;
13777  font-weight:400;
13778  color:#111;
13779  text-decoration:line-through;
13780}
13781.lux-price .sale-price{
13782  font-size:16px;
13783  font-weight:600;
13784  color:#e10b0b;
13785}
13786
13787.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
13788.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
13789</style><div class="card-product"
13790     id="card-10164"
13791     data-lux-card-id="10164"
13792     data-lux-product-link="https://www.vezzalux.com/gg-807-siyah-bogazli-beyaz-yildiz-erkek-ayakkabi"
13793     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%38</div><a href="https://www.vezzalux.com/gg-807-siyah-bogazli-beyaz-yildiz-erkek-ayakkabi" class="c-p-i-link" title="Gg 807 Siyah Boğazlı Beyaz Yıldız Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c706a3143-60100938-sw1200sh1200.webp" alt="Gg 807 Siyah Boğazlı Beyaz Yıldız Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c706a3143-60100938-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c70804450-88565336-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" 
13794        onclick="userProductFavourite('add', 10164)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
13795         id="lux-bag-10164"
13796         onclick="return luxBagClick(event, 10164);"
13797         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10164" style="display:none;"></div><div class="size-strip" id="size-strip-10164" data-loaded="0"></div><a href="https://www.vezzalux.com/gg-807-siyah-bogazli-beyaz-yildiz-erkek-ayakkabi" class="c-p-i-link" title="Gg 807 Siyah Boğazlı Beyaz Yıldız Er
13797kek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Golden Goose</div><div class="lux-title">Gg 807 Siyah Boğazlı Beyaz Yıldız Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">10.499,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
13797<script>
13798(function(){
13799
13800  /* Bir kez kur */
13801  if(window.__luxCardInit) return;
13802  window.__luxCardInit = true;
13803
13804  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
13805  window.__luxVariantCache = window.__luxVariantCache || {};
13806
13807  function closeAll(){
13808    document.querySelectorAll('.size-strip.open').forEach(function(s){
13809      s.classList.remove('open');
13810    });
13811    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
13812      c.classList.remove('sizes-open');
13813    });
13814  }
13815
13816  function flashSuccess(productId){
13817    var bag = document.getElementById('lux-bag-' + productId);
13818    if(!bag) return;
13819    bag.classList.add('is-success');
13820    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
13821  }
13822
13823  /* Dış tıklama - kapat */
13824  document.addEventListener('click', function(e){
13825    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
13826    if(!inside) closeAll();
13827  });
13828
13829  document.addEventListener('keydown', function(e){
13830    if(e.key === 'Escape') closeAll();
13831  });
13832
13833
13834  /* ============================================
13835     MODAL KILLER - yedek güvence
13836     ============================================ */
13837  var LUX_MODAL_KILL_ACTIVE = false;
13838
13839  function killVisibleModals(){
13840    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
13841    modals.forEach(function(m){
13842      var id = (m.id || '').toLowerCase();
13843      var txt = (m.textContent || '').toLowerCase();
13844      var isCartModal = id.indexOf('cart') > -1
13845                     || id.indexOf('variant') > -1
13846                     || id.indexOf('fast') > -1
13847                     || id.indexOf('urun') > -1
13848                     || txt.indexOf('lütfen seçin') > -1;
13849
13850      if(isCartModal){
13851        if(typeof jQuery !== 'undefined'){
13852          try { jQuery(m).modal('hide'); } catch(e){}
13853        }
13854        m.classList.remove('show','in');
13855        m.style.display = 'none';
13856      }
13857    });
13858
13859    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
13860    document.body.classList.remove('modal-open');
13861    document.body.style.overflow = '';
13862    document.body.style.paddingRight = '';
13863  }
13864
13865  function startModalKill(durationMs){
13866    if(LUX_MODAL_KILL_ACTIVE) return;
13867    LUX_MODAL_KILL_ACTIVE = true;
13868    killVisibleModals();
13869    var interval = setInterval(killVisibleModals, 50);
13870    setTimeout(function(){
13871      clearInterval(interval);
13872      LUX_MODAL_KILL_ACTIVE = false;
13873    }, durationMs || 2000);
13874  }
13875
13876
13877  /* ============================================
13878     AJAX: Varyantları detay sayfasından çek
13879     ============================================
13880     Ürün detay sayfasının tam HTML'ini indir,
13881     DOMParser ile parse et, varyantları bul
13882     ============================================ */
13883  function fetchVariants(productId, productLink, callback){
13884
13885    /* Cache'te varsa hemen döndür */
13886    if(window.__luxVariantCache[productId]){
13887      callback(window.__luxVariantCache[productId]);
13888      return;
13889    }
13890
13891    fetch(productLink, {
13892      method: 'GET',
13893      credentials: 'same-origin',
13894      headers: { 'Accept': 'text/html' }
13895    })
13896    .then(function(r){ return r.text(); })
13897    .then(function(html){
13898      var parser = new DOMParser();
13899      var doc = parser.parseFromString(html, 'text/html');
13900
13901      /* Detay sayfasındaki .variant-box'ı bul */
13902      var variantBox = doc.querySelector('.variant-box');
13903      if(!variantBox){
13904        callback({ variants: [], error: 'no_variant_box' });
13905        return;
13906      }
13907
13908      /* Her varyant grubu için select'leri ve option'ları oku */
13909      var variants = [];
13910      var variantLis = variantBox.querySelectorAll('.variant');
13911
13912      variantLis.forEach(function(li, idx){
13913        var nameEl = li.querySelector('.name');
13914        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
13915
13916        var values = [];
13917
13918        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
13919        var optLinks = li.querySelectorAll('.options a');
13920
13921        if(optLinks.length > 0){
13922          optLinks.forEach(function(a){
13923            /* Beden/renk değerini doğru attribute'tan oku
13924               - data-variant-value: asıl değer (örn: "38", "KAHVE")
13925               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
13926               - textContent: fallback */
13927            var deger = a.getAttribute('data-variant-value')
13928                     || a.textContent.trim();
13929
13930            /* Stok kontrolü - birden fazla yoldan kontrol et */
13931            var isSoldOut = a.classList.contains('sold-out')
13932                         || a.classList.contains('sold_out')
13933                         || a.classList.contains('disabled')
13934                         || a.classList.contains('stoksuz')
13935                         || a.classList.contains('out-of-stock')
13936                         || a.hasAttribute('disabled')
13937                         || a.getAttribute('data-in-stock') === '0'
13938                         || a.getAttribute('data-in-stock') === 'false'
13939                         || a.getAttribute('data-stokta-var-mi') === '0'
13940                         || a.getAttribute('data-stokta-var-mi') === 'false';
13941
13942            values.push({
13943              deger: deger,
13944              inStock: !isSoldOut
13945            });
13946          });
13947        } else {
13948          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
13949          var select = li.querySelector('select');
13950          if(select){
13951            var opts = select.querySelectorAll('option');
13952            opts.forEach(function(o){
13953              if(!o.value) return;
13954              values.push({
13955                deger: o.value,
13956                inStock: !o.disabled
13957              });
13958            });
13959          }
13960        }
13961
13962        variants.push({
13963          index: idx,
13964          baslik: name,
13965          values: values
13966        });
13967      });
13968
13969      var result = { variants: variants };
13970      window.__luxVariantCache[productId] = result;
13971      callback(result);
13972    })
13973    .catch(function(err){
13974      console.error('Varyant çekme hatası:', err);
13975      callback({ variants: [], error: 'fetch_failed' });
13976    });
13977  }
13978
13979
13980  /* ============================================
13981     Beden şeridini ve gizli variant-box'ı oluştur
13982     ============================================ */
13983  function buildVariantUI(productId, data){
13984    var card = document.getElementById('card-' + productId);
13985    if(!card) return false;
13986
13987    var holder = card.querySelector('.lux-variant-box');
13988    var strip = document.getElementById('size-strip-' + productId);
13989    if(!holder || !strip) return false;
13990
13991    if(!data.variants || data.variants.length === 0){
13992      /* Varyant yok */
13993      return false;
13994    }
13995
13996    /* Çoklu değerli ilk varyantı bul (beden) */
13997    var displayVariant = null;
13998    data.variants.forEach(function(v){
13999      if(!displayVariant && v.values.length > 1){
14000        displayVariant = v;
14001      }
14002    });
14003
14004    /* Gizli variant-box HTML */
14005    var html = '<div class="variant-box"><ul>';
14006    data.variants.forEach(function(v){
14007      html += '<li class="variant">';
14008      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
14009
14010      if(v.values.length > 1){
14011        html += '<option value="">Lütfen seçin</option>';
14012      }
14013
14014      v.values.forEach(function(val, i){
14015        var selected = (v.values.length === 1) ? ' selected' : '';
14016        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
14017      });
14018
14019      html += '</select></li>';
14020    });
14021    html += '</ul></div>';
14022
14023    holder.innerHTML = html;
14024    holder.style.display = '';
14025
14026    /* Strip HTML (sadece çoklu değerli varyantlar için)
14027       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
14028    if(displayVariant){
14029      var stripHtml = '';
14030      var inStockCount = 0;
14031
14032      /* DEBUG - console'da gör */
14033      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
14034
14035      displayVariant.values.forEach(function(val){
14036        /* SADECE stokta olanları ekle */
14037        if(val.inStock === true){
14038          stripHtml += '<div class="size-item" '
14039                    + 'data-urun-id="' + productId + '" '
14040                    + 'data-varyant-deger="' + val.deger + '" '
14041                    + 'onclick="return luxAddVariant(event, this);">'
14042                    + val.deger + '</div>';
14043          inStockCount++;
14044        }
14045      });
14046
14047      /* Eğer stokta hiç beden yoksa şeridi gösterme */
14048      if(inStockCount === 0){
14049        strip.setAttribute('data-loaded', '1');
14050        strip.setAttribute('data-has-variants', '0');
14051        return false;
14052      }
14053
14054      strip.innerHTML = stripHtml;
14055      strip.setAttribute('data-loaded', '1');
14056      strip.setAttribute('data-has-variants', '1');
14057      return true;
14058    } else {
14059      strip.setAttribute('data-loaded', '1');
14060      strip.setAttribute('data-has-variants', '0');
14061      return false;
14062    }
14063  }
14064
14065
14066  /* ============================================
14067     SEPET IKONU TIKLAMASI
14068     ============================================ */
14069  window.luxBagClick = function(ev, productId){
14070    ev.preventDefault();
14071    ev.stopPropagation();
14072
14073    var card = document.getElementById('card-' + productId);
14074    var strip = document.getElementById('size-strip-' + productId);
14075    var bag = document.getElementById('lux-bag-' + productId);
14076    if(!card || !strip) return false;
14077
14078    /* Strip zaten yüklenmişse direkt davran */
14079    if(strip.getAttribute('data-loaded') === '1'){
14080      if(strip.getAttribute('data-has-variants') === '1'){
14081        toggleStrip(productId);
14082      } else {
14083        addToCartSmart(productId);
14084      }
14085      return false;
14086    }
14087
14088    /* İlk tıklama - AJAX ile varyantları çek */
14089    bag.classList.add('is-loading');
14090    var productLink = card.getAttribute('data-lux-product-link');
14091
14092    fetchVariants(productId, productLink, function(data){
14093      bag.classList.remove('is-loading');
14094
14095      var hasVariants = buildVariantUI(productId, data);
14096
14097      if(hasVariants){
14098        /* Bedenler var - şeridi aç */
14099        toggleStrip(productId);
14100      } else {
14101        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
14102        addToCartSmart(productId);
14103      }
14104    });
14105
14106    return false;
14107  };
14108
14109  function toggleStrip(productId){
14110    var strip = document.getElementById('size-strip-' + productId);
14111    var card = document.getElementById('card-' + productId);
14112    if(!strip) return;
14113
14114    document.querySelectorAll('.size-strip.open').forEach(function(s){
14115      if(s !== strip) s.classList.remove('open');
14116    });
14117    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
14118      if(c !== card) c.classList.remove('sizes-open');
14119    });
14120
14121    strip.classList.toggle('open');
14122    if(card) card.classList.toggle('sizes-open');
14123  }
14124
14125
14126  /* ============================================
14127     BEDEN TIKLAMASI
14128     ============================================ */
14129  window.luxAddVariant = function(ev, elem){
14130    ev.preventDefault();
14131    ev.stopPropagation();
14132
14133    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
14134
14135    var productId = elem.getAttribute('data-urun-id');
14136    var varyantDeger = elem.getAttribute('data-varyant-deger');
14137
14138    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
14139    if(!holder) return false;
14140
14141    /* Seçilen bedeni ilk select'e yaz */
14142    var firstSelect = holder.querySelector('select[data-variant="0"]');
14143    if(firstSelect){
14144      firstSelect.value = varyantDeger;
14145      if(typeof jQuery !== "undefined"){
14146        jQuery(firstSelect).val(varyantDeger).trigger('change');
14147      }
14148    }
14149
14150    /* Diğer select'lere ilk geçerli değeri koy */
14151    var allSelects = holder.querySelectorAll('select[data-variant]');
14152    allSelects.forEach(function(sel, idx){
14153      if(idx === 0) return;
14154      if(sel.value) return;
14155      var options = sel.querySelectorAll('option');
14156      for(var i = 0; i < options.length; i++){
14157        if(options[i].value){
14158          sel.value = options[i].value;
14159          if(typeof jQuery !== "undefined"){
14160            jQuery(sel).val(options[i].value).trigger('change');
14161          }
14162          break;
14163        }
14164      }
14165    });
14166
14167    /* Görsel feedback */
14168    elem.classList.add('adding');
14169    var originalText = elem.textContent;
14170    elem.textContent = '✓';
14171
14172    /* Sepete ekle */
14173    addToCartSmart(productId, {
14174      checkVariant: true,
14175      variantCount: allSelects.length,
14176      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
14177    });
14178
14179    setTimeout(function(){
14180      elem.textContent = originalText;
14181      elem.classList.remove('adding');
14182      closeAll();
14183    }, 800);
14184
14185    return false;
14186  };
14187
14188
14189  /* ============================================
14190     SEPETE EKLE - Modal killer ile
14191     ============================================ */
14192  function addToCartSmart(productId, extraOptions){
14193    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
14194
14195    var options = {
14196      quantity: 1,
14197      hideNativeModal: 'lux-card-' + productId
14198    };
14199
14200    if(extraOptions){
14201      Object.keys(extraOptions).forEach(function(k){
14202        options[k] = extraOptions[k];
14203      });
14204    } else if(holder){
14205      var selects = holder.querySelectorAll('select[data-variant]');
14206      if(selects.length > 0){
14207        options.checkVariant = true;
14208        options.variantCount = selects.length;
14209        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
14210      }
14211    }
14212
14213    startModalKill(2000);
14214
14215    if(typeof addCart === "function"){
14216      try {
14217        addCart(productId, 'card', options);
14218        flashSuccess(productId);
14219      } catch(err){
14220        console.error('Sepete ekleme hatası:', err);
14221      }
14222    }
14223  }
14224
14225})();
14226</script>
14226</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
14227                             data-lux-product-shell="1"
14228                             data-lux-page="1"><style>
14229@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
14230
14231/* ===== VEZZA LUX CARD ===== */
14232.card-product{
14233  font-family:'Poppins',sans-serif;
14234  background:#fff !important;
14235  position:relative;
14236}
14237.card-product-inner{
14238  background:transparent !important;
14239  position:relative;
14240}
14241.card-product .c-p-i-link,
14242.card-product a{
14243  background:transparent !important;
14244}
14245.card-product-inner > div{
14246  background:transparent !important;
14247}
14248.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
14249  background:transparent !important;
14250}
14251.card-product .card-product-content,
14252.card-product .price-group,
14253.card-product .prices{
14254  background:transparent !important;
14255}
14256[class*="skeleton"],
14257[class*="placeholder"],
14258[class*="loading"]{
14259  background:transparent !important;
14260}
14261
14262/* ===== IMAGE AREA - KARE GÖRSEL ===== */
14263.image-wrapper{
14264  position:relative;
14265  width:100%;
14266  aspect-ratio:1/1;
14267  overflow:hidden;
14268  background:#fff !important;
14269}
14270
14271.image{
14272  position:relative;
14273  width:100%;
14274  height:100%;
14275}
14276
14277.image-wrapper img{
14278  width:100% !important;
14279  height:100% !important;
14280  object-fit:cover !important;
14281  object-position:center center !important;
14282  display:block;
14283  transition:transform .35s ease;
14284}
14285
14286/* ===== DISCOUNT ===== */
14287.discount{
14288  position:absolute;
14289  top:12px;
14290  left:12px;
14291  width:28px;
14292  height:48px;
14293  background:#e10b0b;
14294  color:#fff;
14295  font-size:12px;
14296  font-weight:600;
14297  display:flex;
14298  align-items:center;
14299  justify-content:center;
14300  writing-mode:vertical-rl;
14301  transform:rotate(180deg);
14302  letter-spacing:.5px;
14303  z-index:7;
14304}
14305
14306/* ===== FAV ===== */
14307.lux-fav{
14308  position:absolute;
14309  top:12px;
14310  right:12px;
14311  z-index:7;
14312}
14313.lux-fav a,
14314.lux-fav button{
14315  background:transparent !important;
14316  border:0 !important;
14317  padding:0 !important;
14318  cursor:pointer;
14319  display:inline-flex;
14320  align-items:center;
14321  justify-content:center;
14322}
14323
14324/* ===== SEPET IKON ===== */
14325.lux-bag{
14326  position:absolute;
14327  bottom:12px;
14328  right:12px;
14329  z-index:7;
14330  width:34px;
14331  height:34px;
14332  display:inline-flex;
14333  align-items:center;
14334  justify-content:center;
14335  background:rgba(255,255,255,.92);
14336  border:1px solid rgba(0,0,0,.10);
14337  border-radius:10px;
14338  cursor:pointer;
14339  transition:.2s ease;
14340}
14341.lux-bag:hover{
14342  background:#fff;
14343  border-color:rgba(0,0,0,.25);
14344}
14345.lux-bag.is-loading{
14346  opacity:.6;
14347  cursor:wait;
14348}
14349.lux-bag.is-success{
14350  background:#2e7d32 !important;
14351  border-color:#2e7d32 !important;
14352  color:#fff !important;
14353}
14354.card-product.sizes-open .lux-bag{
14355  opacity:0;
14356  pointer-events:none;
14357}
14358
14359/* Loading spinner */
14360.lux-bag.is-loading i::before{
14361  content:"⏳";
14362}
14363
14364/* ===== SIZE STRIP ===== */
14365.size-strip{
14366  width:100%;
14367  max-height:0;
14368  overflow:hidden;
14369  background:#fff;
14370  display:flex;
14371  flex-wrap:wrap;
14372  transition:max-height .3s ease, border-color .3s ease;
14373  border-top:1px solid transparent;
14374  border-bottom:1px solid transparent;
14375}
14376.size-strip.open{
14377  max-height:200px;
14378  border-top-color:rgba(0,0,0,.08);
14379  border-bottom-color:rgba(0,0,0,.08);
14380}
14381.size-item{
14382  flex:1 0 auto;
14383  min-width:38px;
14384  height:42px;
14385  display:flex;
14386  align-items:center;
14387  justify-content:center;
14388  font-size:13px;
14389  font-weight:500;
14390  color:#111 !important;
14391  cursor:pointer;
14392  user-select:none;
14393  background:transparent;
14394  transition:background .15s ease, color .15s ease;
14395  border-right:1px solid rgba(0,0,0,.08);
14396}
14397.size-item:last-child{ border-right:0; }
14398.size-item:hover:not(.disabled):not(.adding){
14399  background:#000 !important;
14400  color:#fff !important;
14401}
14402.size-item.disabled{
14403  color:#111 !important;
14404  text-decoration:line-through !important;
14405  opacity:.30 !important;
14406  cursor:not-allowed;
14407}
14408.size-item.adding{
14409  background:#2e7d32 !important;
14410  color:#fff !important;
14411  cursor:wait;
14412}
14413
14414/* ===== META ===== */
14415.lux-meta{
14416  padding:12px 6px 6px;
14417  background:transparent !important;
14418}
14419.lux-brand{
14420  font-size:16px;
14421  font-weight:600;
14422  color:#111;
14423  margin-bottom:2px;
14424}
14425.lux-title{
14426  font-size:14px;
14427  font-weight:400;
14428  line-height:1.45;
14429  color:#111;
14430  margin:0;
14431}
14432.lux-price{
14433  margin-top:10px;
14434  display:flex;
14435  gap:10px;
14436  align-items:baseline;
14437  background:transparent !important;
14438}
14439.lux-price .list-price{
14440  font-size:14px;
14441  font-weight:400;
14442  color:#111;
14443  text-decoration:line-through;
14444}
14445.lux-price .sale-price{
14446  font-size:16px;
14447  font-weight:600;
14448  color:#e10b0b;
14449}
14450
14451.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
14452.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
14453</style><div class="card-product"
14454     id="card-10305"
14455     data-lux-card-id="10305"
14456     data-lux-product-link="https://www.vezzalux.com/mcq-982-ful-beyaz-arkasi-fermarli-erkek-ayakkabi"
14457     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</div><a href="https://www.vezzalux.com/mcq-982-ful-beyaz-arkasi-fermarli-erkek-ayakkabi" class="c-p-i-link" title="Mcq 982 Ful Beyaz Arkası Fermarlı Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca742ac42-13247058-sw1200sh1200.webp" alt="Mcq 982 Ful Beyaz Arkası Fermarlı Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca742ac42-13247058-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0ca75adede-14406833-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" 
14458        onclick="userProductFavourite('add', 10305)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
14459         id="lux-bag-10305"
14460         onclick="return luxBagClick(event, 10305);"
14461         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10305" style="display:none;"></div><div class="size-strip" id="size-strip-10305" data-loaded="0"></div><a href="https://www.vezzalux.com/mcq-982-ful-beyaz-arkasi-fermarli-erkek-ayakkabi" class="c-p-i-link" title="Mcq 982 Ful Beyaz Arkası Fermarlı Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Alexander Mcqueen</div><div class="lux-title">Mcq 982 Ful Beyaz Arkası Fermarlı Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">12.500,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
14461<script>
14462(function(){
14463
14464  /* Bir kez kur */
14465  if(window.__luxCardInit) return;
14466  window.__luxCardInit = true;
14467
14468  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
14469  window.__luxVariantCache = window.__luxVariantCache || {};
14470
14471  function closeAll(){
14472    document.querySelectorAll('.size-strip.open').forEach(function(s){
14473      s.classList.remove('open');
14474    });
14475    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
14476      c.classList.remove('sizes-open');
14477    });
14478  }
14479
14480  function flashSuccess(productId){
14481    var bag = document.getElementById('lux-bag-' + productId);
14482    if(!bag) return;
14483    bag.classList.add('is-success');
14484    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
14485  }
14486
14487  /* Dış tıklama - kapat */
14488  document.addEventListener('click', function(e){
14489    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
14490    if(!inside) closeAll();
14491  });
14492
14493  document.addEventListener('keydown', function(e){
14494    if(e.key === 'Escape') closeAll();
14495  });
14496
14497
14498  /* ============================================
14499     MODAL KILLER - yedek güvence
14500     ============================================ */
14501  var LUX_MODAL_KILL_ACTIVE = false;
14502
14503  function killVisibleModals(){
14504    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
14505    modals.forEach(function(m){
14506      var id = (m.id || '').toLowerCase();
14507      var txt = (m.textContent || '').toLowerCase();
14508      var isCartModal = id.indexOf('cart') > -1
14509                     || id.indexOf('variant') > -1
14510                     || id.indexOf('fast') > -1
14511                     || id.indexOf('urun') > -1
14512                     || txt.indexOf('lütfen seçin') > -1;
14513
14514      if(isCartModal){
14515        if(typeof jQuery !== 'undefined'){
14516          try { jQuery(m).modal('hide'); } catch(e){}
14517        }
14518        m.classList.remove('show','in');
14519        m.style.display = 'none';
14520      }
14521    });
14522
14523    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
14524    document.body.classList.remove('modal-open');
14525    document.body.style.overflow = '';
14526    document.body.style.paddingRight = '';
14527  }
14528
14529  function startModalKill(durationMs){
14530    if(LUX_MODAL_KILL_ACTIVE) return;
14531    LUX_MODAL_KILL_ACTIVE = true;
14532    killVisibleModals();
14533    var interval = setInterval(killVisibleModals, 50);
14534    setTimeout(function(){
14535      clearInterval(interval);
14536      LUX_MODAL_KILL_ACTIVE = false;
14537    }, durationMs || 2000);
14538  }
14539
14540
14541  /* ============================================
14542     AJAX: Varyantları detay sayfasından çek
14543     ============================================
14544     Ürün detay sayfasının tam HTML'ini indir,
14545     DOMParser ile parse et, varyantları bul
14546     ============================================ */
14547  function fetchVariants(productId, productLink, callback){
14548
14549    /* Cache'te varsa hemen döndür */
14550    if(window.__luxVariantCache[productId]){
14551      callback(window.__luxVariantCache[productId]);
14552      return;
14553    }
14554
14555    fetch(productLink, {
14556      method: 'GET',
14557      credentials: 'same-origin',
14558      headers: { 'Accept': 'text/html' }
14559    })
14560    .then(function(r){ return r.text(); })
14561    .then(function(html){
14562      var parser = new DOMParser();
14563      var doc = parser.parseFromString(html, 'text/html');
14564
14565      /* Detay sayfasındaki .variant-box'ı bul */
14566      var variantBox = doc.querySelector('.variant-box');
14567      if(!variantBox){
14568        callback({ variants: [], error: 'no_variant_box' });
14569        return;
14570      }
14571
14572      /* Her varyant grubu için select'leri ve option'ları oku */
14573      var variants = [];
14574      var variantLis = variantBox.querySelectorAll('.variant');
14575
14576      variantLis.forEach(function(li, idx){
14577        var nameEl = li.querySelector('.name');
14578        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
14579
14580        var values = [];
14581
14582        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
14583        var optLinks = li.querySelectorAll('.options a');
14584
14585        if(optLinks.length > 0){
14586          optLinks.forEach(function(a){
14587            /* Beden/renk değerini doğru attribute'tan oku
14588               - data-variant-value: asıl değer (örn: "38", "KAHVE")
14589               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
14590               - textContent: fallback */
14591            var deger = a.getAttribute('data-variant-value')
14592                     || a.textContent.trim();
14593
14594            /* Stok kontrolü - birden fazla yoldan kontrol et */
14595            var isSoldOut = a.classList.contains('sold-out')
14596                         || a.classList.contains('sold_out')
14597                         || a.classList.contains('disabled')
14598                         || a.classList.contains('stoksuz')
14599                         || a.classList.contains('out-of-stock')
14600                         || a.hasAttribute('disabled')
14601                         || a.getAttribute('data-in-stock') === '0'
14602                         || a.getAttribute('data-in-stock') === 'false'
14603                         || a.getAttribute('data-stokta-var-mi') === '0'
14604                         || a.getAttribute('data-stokta-var-mi') === 'false';
14605
14606            values.push({
14607              deger: deger,
14608              inStock: !isSoldOut
14609            });
14610          });
14611        } else {
14612          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
14613          var select = li.querySelector('select');
14614          if(select){
14615            var opts = select.querySelectorAll('option');
14616            opts.forEach(function(o){
14617              if(!o.value) return;
14618              values.push({
14619                deger: o.value,
14620                inStock: !o.disabled
14621              });
14622            });
14623          }
14624        }
14625
14626        variants.push({
14627          index: idx,
14628          baslik: name,
14629          values: values
14630        });
14631      });
14632
14633      var result = { variants: variants };
14634      window.__luxVariantCache[productId] = result;
14635      callback(result);
14636    })
14637    .catch(function(err){
14638      console.error('Varyant çekme hatası:', err);
14639      callback({ variants: [], error: 'fetch_failed' });
14640    });
14641  }
14642
14643
14644  /* ============================================
14645     Beden şeridini ve gizli variant-box'ı oluştur
14646     ============================================ */
14647  function buildVariantUI(productId, data){
14648    var card = document.getElementById('card-' + productId);
14649    if(!card) return false;
14650
14651    var holder = card.querySelector('.lux-variant-box');
14652    var strip = document.getElementById('size-strip-' + productId);
14653    if(!holder || !strip) return false;
14654
14655    if(!data.variants || data.variants.length === 0){
14656      /* Varyant yok */
14657      return false;
14658    }
14659
14660    /* Çoklu değerli ilk varyantı bul (beden) */
14661    var displayVariant = null;
14662    data.variants.forEach(function(v){
14663      if(!displayVariant && v.values.length > 1){
14664        displayVariant = v;
14665      }
14666    });
14667
14668    /* Gizli variant-box HTML */
14669    var html = '<div class="variant-box"><ul>';
14670    data.variants.forEach(function(v){
14671      html += '<li class="variant">';
14672      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
14673
14674      if(v.values.length > 1){
14675        html += '<option value="">Lütfen seçin</option>';
14676      }
14677
14678      v.values.forEach(function(val, i){
14679        var selected = (v.values.length === 1) ? ' selected' : '';
14680        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
14681      });
14682
14683      html += '</select></li>';
14684    });
14685    html += '</ul></div>';
14686
14687    holder.innerHTML = html;
14688    holder.style.display = '';
14689
14690    /* Strip HTML (sadece çoklu değerli varyantlar için)
14691       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
14692    if(displayVariant){
14693      var stripHtml = '';
14694      var inStockCount = 0;
14695
14696      /* DEBUG - console'da gör */
14697      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
14698
14699      displayVariant.values.forEach(function(val){
14700        /* SADECE stokta olanları ekle */
14701        if(val.inStock === true){
14702          stripHtml += '<div class="size-item" '
14703                    + 'data-urun-id="' + productId + '" '
14704                    + 'data-varyant-deger="' + val.deger + '" '
14705                    + 'onclick="return luxAddVariant(event, this);">'
14706                    + val.deger + '</div>';
14707          inStockCount++;
14708        }
14709      });
14710
14711      /* Eğer stokta hiç beden yoksa şeridi gösterme */
14712      if(inStockCount === 0){
14713        strip.setAttribute('data-loaded', '1');
14714        strip.setAttribute('data-has-variants', '0');
14715        return false;
14716      }
14717
14718      strip.innerHTML = stripHtml;
14719      strip.setAttribute('data-loaded', '1');
14720      strip.setAttribute('data-has-variants', '1');
14721      return true;
14722    } else {
14723      strip.setAttribute('data-loaded', '1');
14724      strip.setAttribute('data-has-variants', '0');
14725      return false;
14726    }
14727  }
14728
14729
14730  /* ============================================
14731     SEPET IKONU TIKLAMASI
14732     ============================================ */
14733  window.luxBagClick = function(ev, productId){
14734    ev.preventDefault();
14735    ev.stopPropagation();
14736
14737    var card = document.getElementById('card-' + productId);
14738    var strip = document.getElementById('size-strip-' + productId);
14739    var bag = document.getElementById('lux-bag-' + productId);
14740    if(!card || !strip) return false;
14741
14742    /* Strip zaten yüklenmişse direkt davran */
14743    if(strip.getAttribute('data-loaded') === '1'){
14744      if(strip.getAttribute('data-has-variants') === '1'){
14745        toggleStrip(productId);
14746      } else {
14747        addToCartSmart(productId);
14748      }
14749      return false;
14750    }
14751
14752    /* İlk tıklama - AJAX ile varyantları çek */
14753    bag.classList.add('is-loading');
14754    var productLink = card.getAttribute('data-lux-product-link');
14755
14756    fetchVariants(productId, productLink, function(data){
14757      bag.classList.remove('is-loading');
14758
14759      var hasVariants = buildVariantUI(productId, data);
14760
14761      if(hasVariants){
14762        /* Bedenler var - şeridi aç */
14763        toggleStrip(productId);
14764      } else {
14765        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
14766        addToCartSmart(productId);
14767      }
14768    });
14769
14770    return false;
14771  };
14772
14773  function toggleStrip(productId){
14774    var strip = document.getElementById('size-strip-' + productId);
14775    var card = document.getElementById('card-' + productId);
14776    if(!strip) return;
14777
14778    document.querySelectorAll('.size-strip.open').forEach(function(s){
14779      if(s !== strip) s.classList.remove('open');
14780    });
14781    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
14782      if(c !== card) c.classList.remove('sizes-open');
14783    });
14784
14785    strip.classList.toggle('open');
14786    if(card) card.classList.toggle('sizes-open');
14787  }
14788
14789
14790  /* ============================================
14791     BEDEN TIKLAMASI
14792     ============================================ */
14793  window.luxAddVariant = function(ev, elem){
14794    ev.preventDefault();
14795    ev.stopPropagation();
14796
14797    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
14798
14799    var productId = elem.getAttribute('data-urun-id');
14800    var varyantDeger = elem.getAttribute('data-varyant-deger');
14801
14802    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
14803    if(!holder) return false;
14804
14805    /* Seçilen bedeni ilk select'e yaz */
14806    var firstSelect = holder.querySelector('select[data-variant="0"]');
14807    if(firstSelect){
14808      firstSelect.value = varyantDeger;
14809      if(typeof jQuery !== "undefined"){
14810        jQuery(firstSelect).val(varyantDeger).trigger('change');
14811      }
14812    }
14813
14814    /* Diğer select'lere ilk geçerli değeri koy */
14815    var allSelects = holder.querySelectorAll('select[data-variant]');
14816    allSelects.forEach(function(sel, idx){
14817      if(idx === 0) return;
14818      if(sel.value) return;
14819      var options = sel.querySelectorAll('option');
14820      for(var i = 0; i < options.length; i++){
14821        if(options[i].value){
14822          sel.value = options[i].value;
14823          if(typeof jQuery !== "undefined"){
14824            jQuery(sel).val(options[i].value).trigger('change');
14825          }
14826          break;
14827        }
14828      }
14829    });
14830
14831    /* Görsel feedback */
14832    elem.classList.add('adding');
14833    var originalText = elem.textContent;
14834    elem.textContent = '✓';
14835
14836    /* Sepete ekle */
14837    addToCartSmart(productId, {
14838      checkVariant: true,
14839      variantCount: allSelects.length,
14840      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
14841    });
14842
14843    setTimeout(function(){
14844      elem.textContent = originalText;
14845      elem.classList.remove('adding');
14846      closeAll();
14847    }, 800);
14848
14849    return false;
14850  };
14851
14852
14853  /* ============================================
14854     SEPETE EKLE - Modal killer ile
14855     ============================================ */
14856  function addToCartSmart(productId, extraOptions){
14857    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
14858
14859    var options = {
14860      quantity: 1,
14861      hideNativeModal: 'lux-card-' + productId
14862    };
14863
14864    if(extraOptions){
14865      Object.keys(extraOptions).forEach(function(k){
14866        options[k] = extraOptions[k];
14867      });
14868    } else if(holder){
14869      var selects = holder.querySelectorAll('select[data-variant]');
14870      if(selects.length > 0){
14871        options.checkVariant = true;
14872        options.variantCount = selects.length;
14873        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
14874      }
14875    }
14876
14877    startModalKill(2000);
14878
14879    if(typeof addCart === "function"){
14880      try {
14881        addCart(productId, 'card', options);
14882        flashSuccess(productId);
14883      } catch(err){
14884        console.error('Sepete ekleme hatası:', err);
14885      }
14886    }
14887  }
14888
14889})();
14890</script>
14890</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
14891                             data-lux-product-shell="1"
14892                             data-lux-page="1"><style>
14893@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
14894
14895/* ===== VEZZA LUX CARD ===== */
14896.card-product{
14897  font-family:'Poppins',sans-serif;
14898  background:#fff !important;
14899  position:relative;
14900}
14901.card-product-inner{
14902  background:transparent !important;
14903  position:relative;
14904}
14905.card-product .c-p-i-link,
14906.card-product a{
14907  background:transparent !important;
14908}
14909.card-product-inner > div{
14910  background:transparent !important;
14911}
14912.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
14913  background:transparent !important;
14914}
14915.card-product .card-product-content,
14916.card-product .price-group,
14917.card-product .prices{
14918  background:transparent !important;
14919}
14920[class*="skeleton"],
14921[class*="placeholder"],
14922[class*="loading"]{
14923  background:transparent !important;
14924}
14925
14926/* ===== IMAGE AREA - KARE GÖRSEL ===== */
14927.image-wrapper{
14928  position:relative;
14929  width:100%;
14930  aspect-ratio:1/1;
14931  overflow:hidden;
14932  background:#fff !important;
14933}
14934
14935.image{
14936  position:relative;
14937  width:100%;
14938  height:100%;
14939}
14940
14941.image-wrapper img{
14942  width:100% !important;
14943  height:100% !important;
14944  object-fit:cover !important;
14945  object-position:center center !important;
14946  display:block;
14947  transition:transform .35s ease;
14948}
14949
14950/* ===== DISCOUNT ===== */
14951.discount{
14952  position:absolute;
14953  top:12px;
14954  left:12px;
14955  width:28px;
14956  height:48px;
14957  background:#e10b0b;
14958  color:#fff;
14959  font-size:12px;
14960  font-weight:600;
14961  display:flex;
14962  align-items:center;
14963  justify-content:center;
14964  writing-mode:vertical-rl;
14965  transform:rotate(180deg);
14966  letter-spacing:.5px;
14967  z-index:7;
14968}
14969
14970/* ===== FAV ===== */
14971.lux-fav{
14972  position:absolute;
14973  top:12px;
14974  right:12px;
14975  z-index:7;
14976}
14977.lux-fav a,
14978.lux-fav button{
14979  background:transparent !important;
14980  border:0 !important;
14981  padding:0 !important;
14982  cursor:pointer;
14983  display:inline-flex;
14984  align-items:center;
14985  justify-content:center;
14986}
14987
14988/* ===== SEPET IKON ===== */
14989.lux-bag{
14990  position:absolute;
14991  bottom:12px;
14992  right:12px;
14993  z-index:7;
14994  width:34px;
14995  height:34px;
14996  display:inline-flex;
14997  align-items:center;
14998  justify-content:center;
14999  background:rgba(255,255,255,.92);
15000  border:1px solid rgba(0,0,0,.10);
15001  border-radius:10px;
15002  cursor:pointer;
15003  transition:.2s ease;
15004}
15005.lux-bag:hover{
15006  background:#fff;
15007  border-color:rgba(0,0,0,.25);
15008}
15009.lux-bag.is-loading{
15010  opacity:.6;
15011  cursor:wait;
15012}
15013.lux-bag.is-success{
15014  background:#2e7d32 !important;
15015  border-color:#2e7d32 !important;
15016  color:#fff !important;
15017}
15018.card-product.sizes-open .lux-bag{
15019  opacity:0;
15020  pointer-events:none;
15021}
15022
15023/* Loading spinner */
15024.lux-bag.is-loading i::before{
15025  content:"⏳";
15026}
15027
15028/* ===== SIZE STRIP ===== */
15029.size-strip{
15030  width:100%;
15031  max-height:0;
15032  overflow:hidden;
15033  background:#fff;
15034  display:flex;
15035  flex-wrap:wrap;
15036  transition:max-height .3s ease, border-color .3s ease;
15037  border-top:1px solid transparent;
15038  border-bottom:1px solid transparent;
15039}
15040.size-strip.open{
15041  max-height:200px;
15042  border-top-color:rgba(0,0,0,.08);
15043  border-bottom-color:rgba(0,0,0,.08);
15044}
15045.size-item{
15046  flex:1 0 auto;
15047  min-width:38px;
15048  height:42px;
15049  display:flex;
15050  align-items:center;
15051  justify-content:center;
15052  font-size:13px;
15053  font-weight:500;
15054  color:#111 !important;
15055  cursor:pointer;
15056  user-select:none;
15057  background:transparent;
15058  transition:background .15s ease, color .15s ease;
15059  border-right:1px solid rgba(0,0,0,.08);
15060}
15061.size-item:last-child{ border-right:0; }
15062.size-item:hover:not(.disabled):not(.adding){
15063  background:#000 !important;
15064  color:#fff !important;
15065}
15066.size-item.disabled{
15067  color:#111 !important;
15068  text-decoration:line-through !important;
15069  opacity:.30 !important;
15070  cursor:not-allowed;
15071}
15072.size-item.adding{
15073  background:#2e7d32 !important;
15074  color:#fff !important;
15075  cursor:wait;
15076}
15077
15078/* ===== META ===== */
15079.lux-meta{
15080  padding:12px 6px 6px;
15081  background:transparent !important;
15082}
15083.lux-brand{
15084  font-size:16px;
15085  font-weight:600;
15086  color:#111;
15087  margin-bottom:2px;
15088}
15089.lux-title{
15090  font-size:14px;
15091  font-weight:400;
15092  line-height:1.45;
15093  color:#111;
15094  margin:0;
15095}
15096.lux-price{
15097  margin-top:10px;
15098  display:flex;
15099  gap:10px;
15100  align-items:baseline;
15101  background:transparent !important;
15102}
15103.lux-price .list-price{
15104  font-size:14px;
15105  font-weight:400;
15106  color:#111;
15107  text-decoration:line-through;
15108}
15109.lux-price .sale-price{
15110  font-size:16px;
15111  font-weight:600;
15112  color:#e10b0b;
15113}
15114
15115.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
15116.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
15117</style><div class="card-product"
15118     id="card-10158"
15119     data-lux-card-id="10158"
15120     data-lux-product-link="https://www.vezzalux.com/gg-799-arkasi-gumus-erkek-ayakkabi"
15121     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%38</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="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" 
15122        onclick="userProductFavourite('add', 10158)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
15123         id="lux-bag-10158"
15124         onclick="return luxBagClick(event, 10158);"
15125         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="list-price">10.499,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
15125<script>
15126(function(){
15127
15128  /* Bir kez kur */
15129  if(window.__luxCardInit) return;
15130  window.__luxCardInit = true;
15131
15132  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
15133  window.__luxVariantCache = window.__luxVariantCache || {};
15134
15135  function closeAll(){
15136    document.querySelectorAll('.size-strip.open').forEach(function(s){
15137      s.classList.remove('open');
15138    });
15139    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
15140      c.classList.remove('sizes-open');
15141    });
15142  }
15143
15144  function flashSuccess(productId){
15145    var bag = document.getElementById('lux-bag-' + productId);
15146    if(!bag) return;
15147    bag.classList.add('is-success');
15148    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
15149  }
15150
15151  /* Dış tıklama - kapat */
15152  document.addEventListener('click', function(e){
15153    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
15154    if(!inside) closeAll();
15155  });
15156
15157  document.addEventListener('keydown', function(e){
15158    if(e.key === 'Escape') closeAll();
15159  });
15160
15161
15162  /* ============================================
15163     MODAL KILLER - yedek güvence
15164     ============================================ */
15165  var LUX_MODAL_KILL_ACTIVE = false;
15166
15167  function killVisibleModals(){
15168    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
15169    modals.forEach(function(m){
15170      var id = (m.id || '').toLowerCase();
15171      var txt = (m.textContent || '').toLowerCase();
15172      var isCartModal = id.indexOf('cart') > -1
15173                     || id.indexOf('variant') > -1
15174                     || id.indexOf('fast') > -1
15175                     || id.indexOf('urun') > -1
15176                     || txt.indexOf('lütfen seçin') > -1;
15177
15178      if(isCartModal){
15179        if(typeof jQuery !== 'undefined'){
15180          try { jQuery(m).modal('hide'); } catch(e){}
15181        }
15182        m.classList.remove('show','in');
15183        m.style.display = 'none';
15184      }
15185    });
15186
15187    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
15188    document.body.classList.remove('modal-open');
15189    document.body.style.overflow = '';
15190    document.body.style.paddingRight = '';
15191  }
15192
15193  function startModalKill(durationMs){
15194    if(LUX_MODAL_KILL_ACTIVE) return;
15195    LUX_MODAL_KILL_ACTIVE = true;
15196    killVisibleModals();
15197    var interval = setInterval(killVisibleModals, 50);
15198    setTimeout(function(){
15199      clearInterval(interval);
15200      LUX_MODAL_KILL_ACTIVE = false;
15201    }, durationMs || 2000);
15202  }
15203
15204
15205  /* ============================================
15206     AJAX: Varyantları detay sayfasından çek
15207     ============================================
15208     Ürün detay sayfasının tam HTML'ini indir,
15209     DOMParser ile parse et, varyantları bul
15210     ============================================ */
15211  function fetchVariants(productId, productLink, callback){
15212
15213    /* Cache'te varsa hemen döndür */
15214    if(window.__luxVariantCache[productId]){
15215      callback(window.__luxVariantCache[productId]);
15216      return;
15217    }
15218
15219    fetch(productLink, {
15220      method: 'GET',
15221      credentials: 'same-origin',
15222      headers: { 'Accept': 'text/html' }
15223    })
15224    .then(function(r){ return r.text(); })
15225    .then(function(html){
15226      var parser = new DOMParser();
15227      var doc = parser.parseFromString(html, 'text/html');
15228
15229      /* Detay sayfasındaki .variant-box'ı bul */
15230      var variantBox = doc.querySelector('.variant-box');
15231      if(!variantBox){
15232        callback({ variants: [], error: 'no_variant_box' });
15233        return;
15234      }
15235
15236      /* Her varyant grubu için select'leri ve option'ları oku */
15237      var variants = [];
15238      var variantLis = variantBox.querySelectorAll('.variant');
15239
15240      variantLis.forEach(function(li, idx){
15241        var nameEl = li.querySelector('.name');
15242        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
15243
15244        var values = [];
15245
15246        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
15247        var optLinks = li.querySelectorAll('.options a');
15248
15249        if(optLinks.length > 0){
15250          optLinks.forEach(function(a){
15251            /* Beden/renk değerini doğru attribute'tan oku
15252               - data-variant-value: asıl değer (örn: "38", "KAHVE")
15253               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
15254               - textContent: fallback */
15255            var deger = a.getAttribute('data-variant-value')
15256                     || a.textContent.trim();
15257
15258            /* Stok kontrolü - birden fazla yoldan kontrol et */
15259            var isSoldOut = a.classList.contains('sold-out')
15260                         || a.classList.contains('sold_out')
15261                         || a.classList.contains('disabled')
15262                         || a.classList.contains('stoksuz')
15263                         || a.classList.contains('out-of-stock')
15264                         || a.hasAttribute('disabled')
15265                         || a.getAttribute('data-in-stock') === '0'
15266                         || a.getAttribute('data-in-stock') === 'false'
15267                         || a.getAttribute('data-stokta-var-mi') === '0'
15268                         || a.getAttribute('data-stokta-var-mi') === 'false';
15269
15270            values.push({
15271              deger: deger,
15272              inStock: !isSoldOut
15273            });
15274          });
15275        } else {
15276          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
15277          var select = li.querySelector('select');
15278          if(select){
15279            var opts = select.querySelectorAll('option');
15280            opts.forEach(function(o){
15281              if(!o.value) return;
15282              values.push({
15283                deger: o.value,
15284                inStock: !o.disabled
15285              });
15286            });
15287          }
15288        }
15289
15290        variants.push({
15291          index: idx,
15292          baslik: name,
15293          values: values
15294        });
15295      });
15296
15297      var result = { variants: variants };
15298      window.__luxVariantCache[productId] = result;
15299      callback(result);
15300    })
15301    .catch(function(err){
15302      console.error('Varyant çekme hatası:', err);
15303      callback({ variants: [], error: 'fetch_failed' });
15304    });
15305  }
15306
15307
15308  /* ============================================
15309     Beden şeridini ve gizli variant-box'ı oluştur
15310     ============================================ */
15311  function buildVariantUI(productId, data){
15312    var card = document.getElementById('card-' + productId);
15313    if(!card) return false;
15314
15315    var holder = card.querySelector('.lux-variant-box');
15316    var strip = document.getElementById('size-strip-' + productId);
15317    if(!holder || !strip) return false;
15318
15319    if(!data.variants || data.variants.length === 0){
15320      /* Varyant yok */
15321      return false;
15322    }
15323
15324    /* Çoklu değerli ilk varyantı bul (beden) */
15325    var displayVariant = null;
15326    data.variants.forEach(function(v){
15327      if(!displayVariant && v.values.length > 1){
15328        displayVariant = v;
15329      }
15330    });
15331
15332    /* Gizli variant-box HTML */
15333    var html = '<div class="variant-box"><ul>';
15334    data.variants.forEach(function(v){
15335      html += '<li class="variant">';
15336      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
15337
15338      if(v.values.length > 1){
15339        html += '<option value="">Lütfen seçin</option>';
15340      }
15341
15342      v.values.forEach(function(val, i){
15343        var selected = (v.values.length === 1) ? ' selected' : '';
15344        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
15345      });
15346
15347      html += '</select></li>';
15348    });
15349    html += '</ul></div>';
15350
15351    holder.innerHTML = html;
15352    holder.style.display = '';
15353
15354    /* Strip HTML (sadece çoklu değerli varyantlar için)
15355       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
15356    if(displayVariant){
15357      var stripHtml = '';
15358      var inStockCount = 0;
15359
15360      /* DEBUG - console'da gör */
15361      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
15362
15363      displayVariant.values.forEach(function(val){
15364        /* SADECE stokta olanları ekle */
15365        if(val.inStock === true){
15366          stripHtml += '<div class="size-item" '
15367                    + 'data-urun-id="' + productId + '" '
15368                    + 'data-varyant-deger="' + val.deger + '" '
15369                    + 'onclick="return luxAddVariant(event, this);">'
15370                    + val.deger + '</div>';
15371          inStockCount++;
15372        }
15373      });
15374
15375      /* Eğer stokta hiç beden yoksa şeridi gösterme */
15376      if(inStockCount === 0){
15377        strip.setAttribute('data-loaded', '1');
15378        strip.setAttribute('data-has-variants', '0');
15379        return false;
15380      }
15381
15382      strip.innerHTML = stripHtml;
15383      strip.setAttribute('data-loaded', '1');
15384      strip.setAttribute('data-has-variants', '1');
15385      return true;
15386    } else {
15387      strip.setAttribute('data-loaded', '1');
15388      strip.setAttribute('data-has-variants', '0');
15389      return false;
15390    }
15391  }
15392
15393
15394  /* ============================================
15395     SEPET IKONU TIKLAMASI
15396     ============================================ */
15397  window.luxBagClick = function(ev, productId){
15398    ev.preventDefault();
15399    ev.stopPropagation();
15400
15401    var card = document.getElementById('card-' + productId);
15402    var strip = document.getElementById('size-strip-' + productId);
15403    var bag = document.getElementById('lux-bag-' + productId);
15404    if(!card || !strip) return false;
15405
15406    /* Strip zaten yüklenmişse direkt davran */
15407    if(strip.getAttribute('data-loaded') === '1'){
15408      if(strip.getAttribute('data-has-variants') === '1'){
15409        toggleStrip(productId);
15410      } else {
15411        addToCartSmart(productId);
15412      }
15413      return false;
15414    }
15415
15416    /* İlk tıklama - AJAX ile varyantları çek */
15417    bag.classList.add('is-loading');
15418    var productLink = card.getAttribute('data-lux-product-link');
15419
15420    fetchVariants(productId, productLink, function(data){
15421      bag.classList.remove('is-loading');
15422
15423      var hasVariants = buildVariantUI(productId, data);
15424
15425      if(hasVariants){
15426        /* Bedenler var - şeridi aç */
15427        toggleStrip(productId);
15428      } else {
15429        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
15430        addToCartSmart(productId);
15431      }
15432    });
15433
15434    return false;
15435  };
15436
15437  function toggleStrip(productId){
15438    var strip = document.getElementById('size-strip-' + productId);
15439    var card = document.getElementById('card-' + productId);
15440    if(!strip) return;
15441
15442    document.querySelectorAll('.size-strip.open').forEach(function(s){
15443      if(s !== strip) s.classList.remove('open');
15444    });
15445    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
15446      if(c !== card) c.classList.remove('sizes-open');
15447    });
15448
15449    strip.classList.toggle('open');
15450    if(card) card.classList.toggle('sizes-open');
15451  }
15452
15453
15454  /* ============================================
15455     BEDEN TIKLAMASI
15456     ============================================ */
15457  window.luxAddVariant = function(ev, elem){
15458    ev.preventDefault();
15459    ev.stopPropagation();
15460
15461    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
15462
15463    var productId = elem.getAttribute('data-urun-id');
15464    var varyantDeger = elem.getAttribute('data-varyant-deger');
15465
15466    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
15467    if(!holder) return false;
15468
15469    /* Seçilen bedeni ilk select'e yaz */
15470    var firstSelect = holder.querySelector('select[data-variant="0"]');
15471    if(firstSelect){
15472      firstSelect.value = varyantDeger;
15473      if(typeof jQuery !== "undefined"){
15474        jQuery(firstSelect).val(varyantDeger).trigger('change');
15475      }
15476    }
15477
15478    /* Diğer select'lere ilk geçerli değeri koy */
15479    var allSelects = holder.querySelectorAll('select[data-variant]');
15480    allSelects.forEach(function(sel, idx){
15481      if(idx === 0) return;
15482      if(sel.value) return;
15483      var options = sel.querySelectorAll('option');
15484      for(var i = 0; i < options.length; i++){
15485        if(options[i].value){
15486          sel.value = options[i].value;
15487          if(typeof jQuery !== "undefined"){
15488            jQuery(sel).val(options[i].value).trigger('change');
15489          }
15490          break;
15491        }
15492      }
15493    });
15494
15495    /* Görsel feedback */
15496    elem.classList.add('adding');
15497    var originalText = elem.textContent;
15498    elem.textContent = '✓';
15499
15500    /* Sepete ekle */
15501    addToCartSmart(productId, {
15502      checkVariant: true,
15503      variantCount: allSelects.length,
15504      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
15505    });
15506
15507    setTimeout(function(){
15508      elem.textContent = originalText;
15509      elem.classList.remove('adding');
15510      closeAll();
15511    }, 800);
15512
15513    return false;
15514  };
15515
15516
15517  /* ============================================
15518     SEPETE EKLE - Modal killer ile
15519     ============================================ */
15520  function addToCartSmart(productId, extraOptions){
15521    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
15522
15523    var options = {
15524      quantity: 1,
15525      hideNativeModal: 'lux-card-' + productId
15526    };
15527
15528    if(extraOptions){
15529      Object.keys(extraOptions).forEach(function(k){
15530        options[k] = extraOptions[k];
15531      });
15532    } else if(holder){
15533      var selects = holder.querySelectorAll('select[data-variant]');
15534      if(selects.length > 0){
15535        options.checkVariant = true;
15536        options.variantCount = selects.length;
15537        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
15538      }
15539    }
15540
15541    startModalKill(2000);
15542
15543    if(typeof addCart === "function"){
15544      try {
15545        addCart(productId, 'card', options);
15546        flashSuccess(productId);
15547      } catch(err){
15548        console.error('Sepete ekleme hatası:', err);
15549      }
15550    }
15551  }
15552
15553})();
15554</script>
15554</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
15555                             data-lux-product-shell="1"
15556                             data-lux-page="1"><style>
15557@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
15558
15559/* ===== VEZZA LUX CARD ===== */
15560.card-product{
15561  font-family:'Poppins',sans-serif;
15562  background:#fff !important;
15563  position:relative;
15564}
15565.card-product-inner{
15566  background:transparent !important;
15567  position:relative;
15568}
15569.card-product .c-p-i-link,
15570.card-product a{
15571  background:transparent !important;
15572}
15573.card-product-inner > div{
15574  background:transparent !important;
15575}
15576.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
15577  background:transparent !important;
15578}
15579.card-product .card-product-content,
15580.card-product .price-group,
15581.card-product .prices{
15582  background:transparent !important;
15583}
15584[class*="skeleton"],
15585[class*="placeholder"],
15586[class*="loading"]{
15587  background:transparent !important;
15588}
15589
15590/* ===== IMAGE AREA - KARE GÖRSEL ===== */
15591.image-wrapper{
15592  position:relative;
15593  width:100%;
15594  aspect-ratio:1/1;
15595  overflow:hidden;
15596  background:#fff !important;
15597}
15598
15599.image{
15600  position:relative;
15601  width:100%;
15602  height:100%;
15603}
15604
15605.image-wrapper img{
15606  width:100% !important;
15607  height:100% !important;
15608  object-fit:cover !important;
15609  object-position:center center !important;
15610  display:block;
15611  transition:transform .35s ease;
15612}
15613
15614/* ===== DISCOUNT ===== */
15615.discount{
15616  position:absolute;
15617  top:12px;
15618  left:12px;
15619  width:28px;
15620  height:48px;
15621  background:#e10b0b;
15622  color:#fff;
15623  font-size:12px;
15624  font-weight:600;
15625  display:flex;
15626  align-items:center;
15627  justify-content:center;
15628  writing-mode:vertical-rl;
15629  transform:rotate(180deg);
15630  letter-spacing:.5px;
15631  z-index:7;
15632}
15633
15634/* ===== FAV ===== */
15635.lux-fav{
15636  position:absolute;
15637  top:12px;
15638  right:12px;
15639  z-index:7;
15640}
15641.lux-fav a,
15642.lux-fav button{
15643  background:transparent !important;
15644  border:0 !important;
15645  padding:0 !important;
15646  cursor:pointer;
15647  display:inline-flex;
15648  align-items:center;
15649  justify-content:center;
15650}
15651
15652/* ===== SEPET IKON ===== */
15653.lux-bag{
15654  position:absolute;
15655  bottom:12px;
15656  right:12px;
15657  z-index:7;
15658  width:34px;
15659  height:34px;
15660  display:inline-flex;
15661  align-items:center;
15662  justify-content:center;
15663  background:rgba(255,255,255,.92);
15664  border:1px solid rgba(0,0,0,.10);
15665  border-radius:10px;
15666  cursor:pointer;
15667  transition:.2s ease;
15668}
15669.lux-bag:hover{
15670  background:#fff;
15671  border-color:rgba(0,0,0,.25);
15672}
15673.lux-bag.is-loading{
15674  opacity:.6;
15675  cursor:wait;
15676}
15677.lux-bag.is-success{
15678  background:#2e7d32 !important;
15679  border-color:#2e7d32 !important;
15680  color:#fff !important;
15681}
15682.card-product.sizes-open .lux-bag{
15683  opacity:0;
15684  pointer-events:none;
15685}
15686
15687/* Loading spinner */
15688.lux-bag.is-loading i::before{
15689  content:"⏳";
15690}
15691
15692/* ===== SIZE STRIP ===== */
15693.size-strip{
15694  width:100%;
15695  max-height:0;
15696  overflow:hidden;
15697  background:#fff;
15698  display:flex;
15699  flex-wrap:wrap;
15700  transition:max-height .3s ease, border-color .3s ease;
15701  border-top:1px solid transparent;
15702  border-bottom:1px solid transparent;
15703}
15704.size-strip.open{
15705  max-height:200px;
15706  border-top-color:rgba(0,0,0,.08);
15707  border-bottom-color:rgba(0,0,0,.08);
15708}
15709.size-item{
15710  flex:1 0 auto;
15711  min-width:38px;
15712  height:42px;
15713  display:flex;
15714  align-items:center;
15715  justify-content:center;
15716  font-size:13px;
15717  font-weight:500;
15718  color:#111 !important;
15719  cursor:pointer;
15720  user-select:none;
15721  background:transparent;
15722  transition:background .15s ease, color .15s ease;
15723  border-right:1px solid rgba(0,0,0,.08);
15724}
15725.size-item:last-child{ border-right:0; }
15726.size-item:hover:not(.disabled):not(.adding){
15727  background:#000 !important;
15728  color:#fff !important;
15729}
15730.size-item.disabled{
15731  color:#111 !important;
15732  text-decoration:line-through !important;
15733  opacity:.30 !important;
15734  cursor:not-allowed;
15735}
15736.size-item.adding{
15737  background:#2e7d32 !important;
15738  color:#fff !important;
15739  cursor:wait;
15740}
15741
15742/* ===== META ===== */
15743.lux-meta{
15744  padding:12px 6px 6px;
15745  background:transparent !important;
15746}
15747.lux-brand{
15748  font-size:16px;
15749  font-weight:600;
15750  color:#111;
15751  margin-bottom:2px;
15752}
15753.lux-title{
15754  font-size:14px;
15755  font-weight:400;
15756  line-height:1.45;
15757  color:#111;
15758  margin:0;
15759}
15760.lux-price{
15761  margin-top:10px;
15762  display:flex;
15763  gap:10px;
15764  align-items:baseline;
15765  background:transparent !important;
15766}
15767.lux-price .list-price{
15768  font-size:14px;
15769  font-weight:400;
15770  color:#111;
15771  text-decoration:line-through;
15772}
15773.lux-price .sale-price{
15774  font-size:16px;
15775  font-weight:600;
15776  color:#e10b0b;
15777}
15778
15779.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
15780.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
15781</style><div class="card-product"
15782     id="card-10261"
15783     data-lux-card-id="10261"
15784     data-lux-product-link="https://www.vezzalux.com/fendi-930-siyah-sari-erkek-ayakkabi"
15785     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%48</div><a href="https://www.vezzalux.com/fendi-930-siyah-sari-erkek-ayakkabi" class="c-p-i-link" title="Fendi 930 Siyah Sarı Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c968790a4-15944944-sw1200sh1200.webp" alt="Fendi 930 Siyah Sarı Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c968790a4-15944944-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0c966ab58d-42827392-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" 
15786        onclick="userProductFavourite('add', 10261)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
15787         id="lux-bag-10261"
15788         onclick="return luxBagClick(event, 10261);"
15789         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10261" style="display:none;"></div><div class="size-strip" id="size-strip-10261" data-loaded="0"></div><a href="https://www.vezzalux.com/fendi-930-siyah-sari-erkek-ayakkabi" class="c-p-i-link" title="Fendi 930 Siyah Sarı Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Fendi</div><div class="lux-title">Fendi 930 Siyah Sarı Erkek Ayakkabı</div><div class="lux-price"><div class="list-price">12.500,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
15789<script>
15790(function(){
15791
15792  /* Bir kez kur */
15793  if(window.__luxCardInit) return;
15794  window.__luxCardInit = true;
15795
15796  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
15797  window.__luxVariantCache = window.__luxVariantCache || {};
15798
15799  function closeAll(){
15800    document.querySelectorAll('.size-strip.open').forEach(function(s){
15801      s.classList.remove('open');
15802    });
15803    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
15804      c.classList.remove('sizes-open');
15805    });
15806  }
15807
15808  function flashSuccess(productId){
15809    var bag = document.getElementById('lux-bag-' + productId);
15810    if(!bag) return;
15811    bag.classList.add('is-success');
15812    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
15813  }
15814
15815  /* Dış tıklama - kapat */
15816  document.addEventListener('click', function(e){
15817    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
15818    if(!inside) closeAll();
15819  });
15820
15821  document.addEventListener('keydown', function(e){
15822    if(e.key === 'Escape') closeAll();
15823  });
15824
15825
15826  /* ============================================
15827     MODAL KILLER - yedek güvence
15828     ============================================ */
15829  var LUX_MODAL_KILL_ACTIVE = false;
15830
15831  function killVisibleModals(){
15832    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
15833    modals.forEach(function(m){
15834      var id = (m.id || '').toLowerCase();
15835      var txt = (m.textContent || '').toLowerCase();
15836      var isCartModal = id.indexOf('cart') > -1
15837                     || id.indexOf('variant') > -1
15838                     || id.indexOf('fast') > -1
15839                     || id.indexOf('urun') > -1
15840                     || txt.indexOf('lütfen seçin') > -1;
15841
15842      if(isCartModal){
15843        if(typeof jQuery !== 'undefined'){
15844          try { jQuery(m).modal('hide'); } catch(e){}
15845        }
15846        m.classList.remove('show','in');
15847        m.style.display = 'none';
15848      }
15849    });
15850
15851    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
15852    document.body.classList.remove('modal-open');
15853    document.body.style.overflow = '';
15854    document.body.style.paddingRight = '';
15855  }
15856
15857  function startModalKill(durationMs){
15858    if(LUX_MODAL_KILL_ACTIVE) return;
15859    LUX_MODAL_KILL_ACTIVE = true;
15860    killVisibleModals();
15861    var interval = setInterval(killVisibleModals, 50);
15862    setTimeout(function(){
15863      clearInterval(interval);
15864      LUX_MODAL_KILL_ACTIVE = false;
15865    }, durationMs || 2000);
15866  }
15867
15868
15869  /* ============================================
15870     AJAX: Varyantları detay sayfasından çek
15871     ============================================
15872     Ürün detay sayfasının tam HTML'ini indir,
15873     DOMParser ile parse et, varyantları bul
15874     ============================================ */
15875  function fetchVariants(productId, productLink, callback){
15876
15877    /* Cache'te varsa hemen döndür */
15878    if(window.__luxVariantCache[productId]){
15879      callback(window.__luxVariantCache[productId]);
15880      return;
15881    }
15882
15883    fetch(productLink, {
15884      method: 'GET',
15885      credentials: 'same-origin',
15886      headers: { 'Accept': 'text/html' }
15887    })
15888    .then(function(r){ return r.text(); })
15889    .then(function(html){
15890      var parser = new DOMParser();
15891      var doc = parser.parseFromString(html, 'text/html');
15892
15893      /* Detay sayfasındaki .variant-box'ı bul */
15894      var variantBox = doc.querySelector('.variant-box');
15895      if(!variantBox){
15896        callback({ variants: [], error: 'no_variant_box' });
15897        return;
15898      }
15899
15900      /* Her varyant grubu için select'leri ve option'ları oku */
15901      var variants = [];
15902      var variantLis = variantBox.querySelectorAll('.variant');
15903
15904      variantLis.forEach(function(li, idx){
15905        var nameEl = li.querySelector('.name');
15906        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
15907
15908        var values = [];
15909
15910        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
15911        var optLinks = li.querySelectorAll('.options a');
15912
15913        if(optLinks.length > 0){
15914          optLinks.forEach(function(a){
15915            /* Beden/renk değerini doğru attribute'tan oku
15916               - data-variant-value: asıl değer (örn: "38", "KAHVE")
15917               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
15918               - textContent: fallback */
15919            var deger = a.getAttribute('data-variant-value')
15920                     || a.textContent.trim();
15921
15922            /* Stok kontrolü - birden fazla yoldan kontrol et */
15923            var isSoldOut = a.classList.contains('sold-out')
15924                         || a.classList.contains('sold_out')
15925                         || a.classList.contains('disabled')
15926                         || a.classList.contains('stoksuz')
15927                         || a.classList.contains('out-of-stock')
15928                         || a.hasAttribute('disabled')
15929                         || a.getAttribute('data-in-stock') === '0'
15930                         || a.getAttribute('data-in-stock') === 'false'
15931                         || a.getAttribute('data-stokta-var-mi') === '0'
15932                         || a.getAttribute('data-stokta-var-mi') === 'false';
15933
15934            values.push({
15935              deger: deger,
15936              inStock: !isSoldOut
15937            });
15938          });
15939        } else {
15940          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
15941          var select = li.querySelector('select');
15942          if(select){
15943            var opts = select.querySelectorAll('option');
15944            opts.forEach(function(o){
15945              if(!o.value) return;
15946              values.push({
15947                deger: o.value,
15948                inStock: !o.disabled
15949              });
15950            });
15951          }
15952        }
15953
15954        variants.push({
15955          index: idx,
15956          baslik: name,
15957          values: values
15958        });
15959      });
15960
15961      var result = { variants: variants };
15962      window.__luxVariantCache[productId] = result;
15963      callback(result);
15964    })
15965    .catch(function(err){
15966      console.error('Varyant çekme hatası:', err);
15967      callback({ variants: [], error: 'fetch_failed' });
15968    });
15969  }
15970
15971
15972  /* ============================================
15973     Beden şeridini ve gizli variant-box'ı oluştur
15974     ============================================ */
15975  function buildVariantUI(productId, data){
15976    var card = document.getElementById('card-' + productId);
15977    if(!card) return false;
15978
15979    var holder = card.querySelector('.lux-variant-box');
15980    var strip = document.getElementById('size-strip-' + productId);
15981    if(!holder || !strip) return false;
15982
15983    if(!data.variants || data.variants.length === 0){
15984      /* Varyant yok */
15985      return false;
15986    }
15987
15988    /* Çoklu değerli ilk varyantı bul (beden) */
15989    var displayVariant = null;
15990    data.variants.forEach(function(v){
15991      if(!displayVariant && v.values.length > 1){
15992        displayVariant = v;
15993      }
15994    });
15995
15996    /* Gizli variant-box HTML */
15997    var html = '<div class="variant-box"><ul>';
15998    data.variants.forEach(function(v){
15999      html += '<li class="variant">';
16000      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
16001
16002      if(v.values.length > 1){
16003        html += '<option value="">Lütfen seçin</option>';
16004      }
16005
16006      v.values.forEach(function(val, i){
16007        var selected = (v.values.length === 1) ? ' selected' : '';
16008        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
16009      });
16010
16011      html += '</select></li>';
16012    });
16013    html += '</ul></div>';
16014
16015    holder.innerHTML = html;
16016    holder.style.display = '';
16017
16018    /* Strip HTML (sadece çoklu değerli varyantlar için)
16019       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
16020    if(displayVariant){
16021      var stripHtml = '';
16022      var inStockCount = 0;
16023
16024      /* DEBUG - console'da gör */
16025      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
16026
16027      displayVariant.values.forEach(function(val){
16028        /* SADECE stokta olanları ekle */
16029        if(val.inStock === true){
16030          stripHtml += '<div class="size-item" '
16031                    + 'data-urun-id="' + productId + '" '
16032                    + 'data-varyant-deger="' + val.deger + '" '
16033                    + 'onclick="return luxAddVariant(event, this);">'
16034                    + val.deger + '</div>';
16035          inStockCount++;
16036        }
16037      });
16038
16039      /* Eğer stokta hiç beden yoksa şeridi gösterme */
16040      if(inStockCount === 0){
16041        strip.setAttribute('data-loaded', '1');
16042        strip.setAttribute('data-has-variants', '0');
16043        return false;
16044      }
16045
16046      strip.innerHTML = stripHtml;
16047      strip.setAttribute('data-loaded', '1');
16048      strip.setAttribute('data-has-variants', '1');
16049      return true;
16050    } else {
16051      strip.setAttribute('data-loaded', '1');
16052      strip.setAttribute('data-has-variants', '0');
16053      return false;
16054    }
16055  }
16056
16057
16058  /* ============================================
16059     SEPET IKONU TIKLAMASI
16060     ============================================ */
16061  window.luxBagClick = function(ev, productId){
16062    ev.preventDefault();
16063    ev.stopPropagation();
16064
16065    var card = document.getElementById('card-' + productId);
16066    var strip = document.getElementById('size-strip-' + productId);
16067    var bag = document.getElementById('lux-bag-' + productId);
16068    if(!card || !strip) return false;
16069
16070    /* Strip zaten yüklenmişse direkt davran */
16071    if(strip.getAttribute('data-loaded') === '1'){
16072      if(strip.getAttribute('data-has-variants') === '1'){
16073        toggleStrip(productId);
16074      } else {
16075        addToCartSmart(productId);
16076      }
16077      return false;
16078    }
16079
16080    /* İlk tıklama - AJAX ile varyantları çek */
16081    bag.classList.add('is-loading');
16082    var productLink = card.getAttribute('data-lux-product-link');
16083
16084    fetchVariants(productId, productLink, function(data){
16085      bag.classList.remove('is-loading');
16086
16087      var hasVariants = buildVariantUI(productId, data);
16088
16089      if(hasVariants){
16090        /* Bedenler var - şeridi aç */
16091        toggleStrip(productId);
16092      } else {
16093        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
16094        addToCartSmart(productId);
16095      }
16096    });
16097
16098    return false;
16099  };
16100
16101  function toggleStrip(productId){
16102    var strip = document.getElementById('size-strip-' + productId);
16103    var card = document.getElementById('card-' + productId);
16104    if(!strip) return;
16105
16106    document.querySelectorAll('.size-strip.open').forEach(function(s){
16107      if(s !== strip) s.classList.remove('open');
16108    });
16109    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
16110      if(c !== card) c.classList.remove('sizes-open');
16111    });
16112
16113    strip.classList.toggle('open');
16114    if(card) card.classList.toggle('sizes-open');
16115  }
16116
16117
16118  /* ============================================
16119     BEDEN TIKLAMASI
16120     ============================================ */
16121  window.luxAddVariant = function(ev, elem){
16122    ev.preventDefault();
16123    ev.stopPropagation();
16124
16125    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
16126
16127    var productId = elem.getAttribute('data-urun-id');
16128    var varyantDeger = elem.getAttribute('data-varyant-deger');
16129
16130    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
16131    if(!holder) return false;
16132
16133    /* Seçilen bedeni ilk select'e yaz */
16134    var firstSelect = holder.querySelector('select[data-variant="0"]');
16135    if(firstSelect){
16136      firstSelect.value = varyantDeger;
16137      if(typeof jQuery !== "undefined"){
16138        jQuery(firstSelect).val(varyantDeger).trigger('change');
16139      }
16140    }
16141
16142    /* Diğer select'lere ilk geçerli değeri koy */
16143    var allSelects = holder.querySelectorAll('select[data-variant]');
16144    allSelects.forEach(function(sel, idx){
16145      if(idx === 0) return;
16146      if(sel.value) return;
16147      var options = sel.querySelectorAll('option');
16148      for(var i = 0; i < options.length; i++){
16149        if(options[i].value){
16150          sel.value = options[i].value;
16151          if(typeof jQuery !== "undefined"){
16152            jQuery(sel).val(options[i].value).trigger('change');
16153          }
16154          break;
16155        }
16156      }
16157    });
16158
16159    /* Görsel feedback */
16160    elem.classList.add('adding');
16161    var originalText = elem.textContent;
16162    elem.textContent = '✓';
16163
16164    /* Sepete ekle */
16165    addToCartSmart(productId, {
16166      checkVariant: true,
16167      variantCount: allSelects.length,
16168      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
16169    });
16170
16171    setTimeout(function(){
16172      elem.textContent = originalText;
16173      elem.classList.remove('adding');
16174      closeAll();
16175    }, 800);
16176
16177    return false;
16178  };
16179
16180
16181  /* ============================================
16182     SEPETE EKLE - Modal killer ile
16183     ============================================ */
16184  function addToCartSmart(productId, extraOptions){
16185    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
16186
16187    var options = {
16188      quantity: 1,
16189      hideNativeModal: 'lux-card-' + productId
16190    };
16191
16192    if(extraOptions){
16193      Object.keys(extraOptions).forEach(function(k){
16194        options[k] = extraOptions[k];
16195      });
16196    } else if(holder){
16197      var selects = holder.querySelectorAll('select[data-variant]');
16198      if(selects.length > 0){
16199        options.checkVariant = true;
16200        options.variantCount = selects.length;
16201        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
16202      }
16203    }
16204
16205    startModalKill(2000);
16206
16207    if(typeof addCart === "function"){
16208      try {
16209        addCart(productId, 'card', options);
16210        flashSuccess(productId);
16211      } catch(err){
16212        console.error('Sepete ekleme hatası:', err);
16213      }
16214    }
16215  }
16216
16217})();
16218</script>
16218</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
16219                             data-lux-product-shell="1"
16220                             data-lux-page="1"><style>
16221@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
16222
16223/* ===== VEZZA LUX CARD ===== */
16224.card-product{
16225  font-family:'Poppins',sans-serif;
16226  background:#fff !important;
16227  position:relative;
16228}
16229.card-product-inner{
16230  background:transparent !important;
16231  position:relative;
16232}
16233.card-product .c-p-i-link,
16234.card-product a{
16235  background:transparent !important;
16236}
16237.card-product-inner > div{
16238  background:transparent !important;
16239}
16240.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
16241  background:transparent !important;
16242}
16243.card-product .card-product-content,
16244.card-product .price-group,
16245.card-product .prices{
16246  background:transparent !important;
16247}
16248[class*="skeleton"],
16249[class*="placeholder"],
16250[class*="loading"]{
16251  background:transparent !important;
16252}
16253
16254/* ===== IMAGE AREA - KARE GÖRSEL ===== */
16255.image-wrapper{
16256  position:relative;
16257  width:100%;
16258  aspect-ratio:1/1;
16259  overflow:hidden;
16260  background:#fff !important;
16261}
16262
16263.image{
16264  position:relative;
16265  width:100%;
16266  height:100%;
16267}
16268
16269.image-wrapper img{
16270  width:100% !important;
16271  height:100% !important;
16272  object-fit:cover !important;
16273  object-position:center center !important;
16274  display:block;
16275  transition:transform .35s ease;
16276}
16277
16278/* ===== DISCOUNT ===== */
16279.discount{
16280  position:absolute;
16281  top:12px;
16282  left:12px;
16283  width:28px;
16284  height:48px;
16285  background:#e10b0b;
16286  color:#fff;
16287  font-size:12px;
16288  font-weight:600;
16289  display:flex;
16290  align-items:center;
16291  justify-content:center;
16292  writing-mode:vertical-rl;
16293  transform:rotate(180deg);
16294  letter-spacing:.5px;
16295  z-index:7;
16296}
16297
16298/* ===== FAV ===== */
16299.lux-fav{
16300  position:absolute;
16301  top:12px;
16302  right:12px;
16303  z-index:7;
16304}
16305.lux-fav a,
16306.lux-fav button{
16307  background:transparent !important;
16308  border:0 !important;
16309  padding:0 !important;
16310  cursor:pointer;
16311  display:inline-flex;
16312  align-items:center;
16313  justify-content:center;
16314}
16315
16316/* ===== SEPET IKON ===== */
16317.lux-bag{
16318  position:absolute;
16319  bottom:12px;
16320  right:12px;
16321  z-index:7;
16322  width:34px;
16323  height:34px;
16324  display:inline-flex;
16325  align-items:center;
16326  justify-content:center;
16327  background:rgba(255,255,255,.92);
16328  border:1px solid rgba(0,0,0,.10);
16329  border-radius:10px;
16330  cursor:pointer;
16331  transition:.2s ease;
16332}
16333.lux-bag:hover{
16334  background:#fff;
16335  border-color:rgba(0,0,0,.25);
16336}
16337.lux-bag.is-loading{
16338  opacity:.6;
16339  cursor:wait;
16340}
16341.lux-bag.is-success{
16342  background:#2e7d32 !important;
16343  border-color:#2e7d32 !important;
16344  color:#fff !important;
16345}
16346.card-product.sizes-open .lux-bag{
16347  opacity:0;
16348  pointer-events:none;
16349}
16350
16351/* Loading spinner */
16352.lux-bag.is-loading i::before{
16353  content:"⏳";
16354}
16355
16356/* ===== SIZE STRIP ===== */
16357.size-strip{
16358  width:100%;
16359  max-height:0;
16360  overflow:hidden;
16361  background:#fff;
16362  display:flex;
16363  flex-wrap:wrap;
16364  transition:max-height .3s ease, border-color .3s ease;
16365  border-top:1px solid transparent;
16366  border-bottom:1px solid transparent;
16367}
16368.size-strip.open{
16369  max-height:200px;
16370  border-top-color:rgba(0,0,0,.08);
16371  border-bottom-color:rgba(0,0,0,.08);
16372}
16373.size-item{
16374  flex:1 0 auto;
16375  min-width:38px;
16376  height:42px;
16377  display:flex;
16378  align-items:center;
16379  justify-content:center;
16380  font-size:13px;
16381  font-weight:500;
16382  color:#111 !important;
16383  cursor:pointer;
16384  user-select:none;
16385  background:transparent;
16386  transition:background .15s ease, color .15s ease;
16387  border-right:1px solid rgba(0,0,0,.08);
16388}
16389.size-item:last-child{ border-right:0; }
16390.size-item:hover:not(.disabled):not(.adding){
16391  background:#000 !important;
16392  color:#fff !important;
16393}
16394.size-item.disabled{
16395  color:#111 !important;
16396  text-decoration:line-through !important;
16397  opacity:.30 !important;
16398  cursor:not-allowed;
16399}
16400.size-item.adding{
16401  background:#2e7d32 !important;
16402  color:#fff !important;
16403  cursor:wait;
16404}
16405
16406/* ===== META ===== */
16407.lux-meta{
16408  padding:12px 6px 6px;
16409  background:transparent !important;
16410}
16411.lux-brand{
16412  font-size:16px;
16413  font-weight:600;
16414  color:#111;
16415  margin-bottom:2px;
16416}
16417.lux-title{
16418  font-size:14px;
16419  font-weight:400;
16420  line-height:1.45;
16421  color:#111;
16422  margin:0;
16423}
16424.lux-price{
16425  margin-top:10px;
16426  display:flex;
16427  gap:10px;
16428  align-items:baseline;
16429  background:transparent !important;
16430}
16431.lux-price .list-price{
16432  font-size:14px;
16433  font-weight:400;
16434  color:#111;
16435  text-decoration:line-through;
16436}
16437.lux-price .sale-price{
16438  font-size:16px;
16439  font-weight:600;
16440  color:#e10b0b;
16441}
16442
16443.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
16444.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
16445</style><div class="card-product"
16446     id="card-10451"
16447     data-lux-card-id="10451"
16448     data-lux-product-link="https://www.vezzalux.com/cl-1168-gri-sneaker-erkek-ayakkabi"
16449     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><a href="https://www.vezzalux.com/cl-1168-gri-sneaker-erkek-ayakkabi" class="c-p-i-link" title="Cl 1168 Gri Sneaker Erkek Ayakkabı"><div class="image"><img class="img-auto lazy-load " data-src="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cd3907759-72642519-sw1200sh1200.webp" alt="Cl 1168 Gri Sneaker Erkek Ayakkabı" data-image-1="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cd3907759-72642519-sw1200sh1200.webp" data-image-2="https://percdn.com/f/607271/cG96WmFtNG0vcUp3ZUdGdkg4OG5iYmdQYmNFPQ/p/69e0cd3a5891e-67436955-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" 
16450        onclick="userProductFavourite('add', 10451)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
16451         id="lux-bag-10451"
16452         onclick="return luxBagClick(event, 10451);"
16453         aria-label="Sepete Ekle"><i class="coreicon-cart-2"></i></a></div><div class="lux-variant-box" data-lux-card-id="10451" style="display:none;"></div><div class="size-strip" id="size-strip-10451" data-loaded="0"></div><a href="https://www.vezzalux.com/cl-1168-gri-sneaker-erkek-ayakkabi" class="c-p-i-link" title="Cl 1168 Gri Sneaker Erkek Ayakkabı"><div class="lux-meta"><div class="lux-brand">Christian Louboutin</div><div class="lux-title">Cl 1168 Gri Sneaker Erkek Ayakkabı</div><div class="lux-price"><div class="sale-price">12.500,00 TL</div></div></div></a></div></div>
16453<script>
16454(function(){
16455
16456  /* Bir kez kur */
16457  if(window.__luxCardInit) return;
16458  window.__luxCardInit = true;
16459
16460  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
16461  window.__luxVariantCache = window.__luxVariantCache || {};
16462
16463  function closeAll(){
16464    document.querySelectorAll('.size-strip.open').forEach(function(s){
16465      s.classList.remove('open');
16466    });
16467    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
16468      c.classList.remove('sizes-open');
16469    });
16470  }
16471
16472  function flashSuccess(productId){
16473    var bag = document.getElementById('lux-bag-' + productId);
16474    if(!bag) return;
16475    bag.classList.add('is-success');
16476    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
16477  }
16478
16479  /* Dış tıklama - kapat */
16480  document.addEventListener('click', function(e){
16481    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
16482    if(!inside) closeAll();
16483  });
16484
16485  document.addEventListener('keydown', function(e){
16486    if(e.key === 'Escape') closeAll();
16487  });
16488
16489
16490  /* ============================================
16491     MODAL KILLER - yedek güvence
16492     ============================================ */
16493  var LUX_MODAL_KILL_ACTIVE = false;
16494
16495  function killVisibleModals(){
16496    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
16497    modals.forEach(function(m){
16498      var id = (m.id || '').toLowerCase();
16499      var txt = (m.textContent || '').toLowerCase();
16500      var isCartModal = id.indexOf('cart') > -1
16501                     || id.indexOf('variant') > -1
16502                     || id.indexOf('fast') > -1
16503                     || id.indexOf('urun') > -1
16504                     || txt.indexOf('lütfen seçin') > -1;
16505
16506      if(isCartModal){
16507        if(typeof jQuery !== 'undefined'){
16508          try { jQuery(m).modal('hide'); } catch(e){}
16509        }
16510        m.classList.remove('show','in');
16511        m.style.display = 'none';
16512      }
16513    });
16514
16515    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
16516    document.body.classList.remove('modal-open');
16517    document.body.style.overflow = '';
16518    document.body.style.paddingRight = '';
16519  }
16520
16521  function startModalKill(durationMs){
16522    if(LUX_MODAL_KILL_ACTIVE) return;
16523    LUX_MODAL_KILL_ACTIVE = true;
16524    killVisibleModals();
16525    var interval = setInterval(killVisibleModals, 50);
16526    setTimeout(function(){
16527      clearInterval(interval);
16528      LUX_MODAL_KILL_ACTIVE = false;
16529    }, durationMs || 2000);
16530  }
16531
16532
16533  /* ============================================
16534     AJAX: Varyantları detay sayfasından çek
16535     ============================================
16536     Ürün detay sayfasının tam HTML'ini indir,
16537     DOMParser ile parse et, varyantları bul
16538     ============================================ */
16539  function fetchVariants(productId, productLink, callback){
16540
16541    /* Cache'te varsa hemen döndür */
16542    if(window.__luxVariantCache[productId]){
16543      callback(window.__luxVariantCache[productId]);
16544      return;
16545    }
16546
16547    fetch(productLink, {
16548      method: 'GET',
16549      credentials: 'same-origin',
16550      headers: { 'Accept': 'text/html' }
16551    })
16552    .then(function(r){ return r.text(); })
16553    .then(function(html){
16554      var parser = new DOMParser();
16555      var doc = parser.parseFromString(html, 'text/html');
16556
16557      /* Detay sayfasındaki .variant-box'ı bul */
16558      var variantBox = doc.querySelector('.variant-box');
16559      if(!variantBox){
16560        callback({ variants: [], error: 'no_variant_box' });
16561        return;
16562      }
16563
16564      /* Her varyant grubu için select'leri ve option'ları oku */
16565      var variants = [];
16566      var variantLis = variantBox.querySelectorAll('.variant');
16567
16568      variantLis.forEach(function(li, idx){
16569        var nameEl = li.querySelector('.name');
16570        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
16571
16572        var values = [];
16573
16574        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
16575        var optLinks = li.querySelectorAll('.options a');
16576
16577        if(optLinks.length > 0){
16578          optLinks.forEach(function(a){
16579            /* Beden/renk değerini doğru attribute'tan oku
16580               - data-variant-value: asıl değer (örn: "38", "KAHVE")
16581               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
16582               - textContent: fallback */
16583            var deger = a.getAttribute('data-variant-value')
16584                     || a.textContent.trim();
16585
16586            /* Stok kontrolü - birden fazla yoldan kontrol et */
16587            var isSoldOut = a.classList.contains('sold-out')
16588                         || a.classList.contains('sold_out')
16589                         || a.classList.contains('disabled')
16590                         || a.classList.contains('stoksuz')
16591                         || a.classList.contains('out-of-stock')
16592                         || a.hasAttribute('disabled')
16593                         || a.getAttribute('data-in-stock') === '0'
16594                         || a.getAttribute('data-in-stock') === 'false'
16595                         || a.getAttribute('data-stokta-var-mi') === '0'
16596                         || a.getAttribute('data-stokta-var-mi') === 'false';
16597
16598            values.push({
16599              deger: deger,
16600              inStock: !isSoldOut
16601            });
16602          });
16603        } else {
16604          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
16605          var select = li.querySelector('select');
16606          if(select){
16607            var opts = select.querySelectorAll('option');
16608            opts.forEach(function(o){
16609              if(!o.value) return;
16610              values.push({
16611                deger: o.value,
16612                inStock: !o.disabled
16613              });
16614            });
16615          }
16616        }
16617
16618        variants.push({
16619          index: idx,
16620          baslik: name,
16621          values: values
16622        });
16623      });
16624
16625      var result = { variants: variants };
16626      window.__luxVariantCache[productId] = result;
16627      callback(result);
16628    })
16629    .catch(function(err){
16630      console.error('Varyant çekme hatası:', err);
16631      callback({ variants: [], error: 'fetch_failed' });
16632    });
16633  }
16634
16635
16636  /* ============================================
16637     Beden şeridini ve gizli variant-box'ı oluştur
16638     ============================================ */
16639  function buildVariantUI(productId, data){
16640    var card = document.getElementById('card-' + productId);
16641    if(!card) return false;
16642
16643    var holder = card.querySelector('.lux-variant-box');
16644    var strip = document.getElementById('size-strip-' + productId);
16645    if(!holder || !strip) return false;
16646
16647    if(!data.variants || data.variants.length === 0){
16648      /* Varyant yok */
16649      return false;
16650    }
16651
16652    /* Çoklu değerli ilk varyantı bul (beden) */
16653    var displayVariant = null;
16654    data.variants.forEach(function(v){
16655      if(!displayVariant && v.values.length > 1){
16656        displayVariant = v;
16657      }
16658    });
16659
16660    /* Gizli variant-box HTML */
16661    var html = '<div class="variant-box"><ul>';
16662    data.variants.forEach(function(v){
16663      html += '<li class="variant">';
16664      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
16665
16666      if(v.values.length > 1){
16667        html += '<option value="">Lütfen seçin</option>';
16668      }
16669
16670      v.values.forEach(function(val, i){
16671        var selected = (v.values.length === 1) ? ' selected' : '';
16672        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
16673      });
16674
16675      html += '</select></li>';
16676    });
16677    html += '</ul></div>';
16678
16679    holder.innerHTML = html;
16680    holder.style.display = '';
16681
16682    /* Strip HTML (sadece çoklu değerli varyantlar için)
16683       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
16684    if(displayVariant){
16685      var stripHtml = '';
16686      var inStockCount = 0;
16687
16688      /* DEBUG - console'da gör */
16689      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
16690
16691      displayVariant.values.forEach(function(val){
16692        /* SADECE stokta olanları ekle */
16693        if(val.inStock === true){
16694          stripHtml += '<div class="size-item" '
16695                    + 'data-urun-id="' + productId + '" '
16696                    + 'data-varyant-deger="' + val.deger + '" '
16697                    + 'onclick="return luxAddVariant(event, this);">'
16698                    + val.deger + '</div>';
16699          inStockCount++;
16700        }
16701      });
16702
16703      /* Eğer stokta hiç beden yoksa şeridi gösterme */
16704      if(inStockCount === 0){
16705        strip.setAttribute('data-loaded', '1');
16706        strip.setAttribute('data-has-variants', '0');
16707        return false;
16708      }
16709
16710      strip.innerHTML = stripHtml;
16711      strip.setAttribute('data-loaded', '1');
16712      strip.setAttribute('data-has-variants', '1');
16713      return true;
16714    } else {
16715      strip.setAttribute('data-loaded', '1');
16716      strip.setAttribute('data-has-variants', '0');
16717      return false;
16718    }
16719  }
16720
16721
16722  /* ============================================
16723     SEPET IKONU TIKLAMASI
16724     ============================================ */
16725  window.luxBagClick = function(ev, productId){
16726    ev.preventDefault();
16727    ev.stopPropagation();
16728
16729    var card = document.getElementById('card-' + productId);
16730    var strip = document.getElementById('size-strip-' + productId);
16731    var bag = document.getElementById('lux-bag-' + productId);
16732    if(!card || !strip) return false;
16733
16734    /* Strip zaten yüklenmişse direkt davran */
16735    if(strip.getAttribute('data-loaded') === '1'){
16736      if(strip.getAttribute('data-has-variants') === '1'){
16737        toggleStrip(productId);
16738      } else {
16739        addToCartSmart(productId);
16740      }
16741      return false;
16742    }
16743
16744    /* İlk tıklama - AJAX ile varyantları çek */
16745    bag.classList.add('is-loading');
16746    var productLink = card.getAttribute('data-lux-product-link');
16747
16748    fetchVariants(productId, productLink, function(data){
16749      bag.classList.remove('is-loading');
16750
16751      var hasVariants = buildVariantUI(productId, data);
16752
16753      if(hasVariants){
16754        /* Bedenler var - şeridi aç */
16755        toggleStrip(productId);
16756      } else {
16757        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
16758        addToCartSmart(productId);
16759      }
16760    });
16761
16762    return false;
16763  };
16764
16765  function toggleStrip(productId){
16766    var strip = document.getElementById('size-strip-' + productId);
16767    var card = document.getElementById('card-' + productId);
16768    if(!strip) return;
16769
16770    document.querySelectorAll('.size-strip.open').forEach(function(s){
16771      if(s !== strip) s.classList.remove('open');
16772    });
16773    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
16774      if(c !== card) c.classList.remove('sizes-open');
16775    });
16776
16777    strip.classList.toggle('open');
16778    if(card) card.classList.toggle('sizes-open');
16779  }
16780
16781
16782  /* ============================================
16783     BEDEN TIKLAMASI
16784     ============================================ */
16785  window.luxAddVariant = function(ev, elem){
16786    ev.preventDefault();
16787    ev.stopPropagation();
16788
16789    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
16790
16791    var productId = elem.getAttribute('data-urun-id');
16792    var varyantDeger = elem.getAttribute('data-varyant-deger');
16793
16794    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
16795    if(!holder) return false;
16796
16797    /* Seçilen bedeni ilk select'e yaz */
16798    var firstSelect = holder.querySelector('select[data-variant="0"]');
16799    if(firstSelect){
16800      firstSelect.value = varyantDeger;
16801      if(typeof jQuery !== "undefined"){
16802        jQuery(firstSelect).val(varyantDeger).trigger('change');
16803      }
16804    }
16805
16806    /* Diğer select'lere ilk geçerli değeri koy */
16807    var allSelects = holder.querySelectorAll('select[data-variant]');
16808    allSelects.forEach(function(sel, idx){
16809      if(idx === 0) return;
16810      if(sel.value) return;
16811      var options = sel.querySelectorAll('option');
16812      for(var i = 0; i < options.length; i++){
16813        if(options[i].value){
16814          sel.value = options[i].value;
16815          if(typeof jQuery !== "undefined"){
16816            jQuery(sel).val(options[i].value).trigger('change');
16817          }
16818          break;
16819        }
16820      }
16821    });
16822
16823    /* Görsel feedback */
16824    elem.classList.add('adding');
16825    var originalText = elem.textContent;
16826    elem.textContent = '✓';
16827
16828    /* Sepete ekle */
16829    addToCartSmart(productId, {
16830      checkVariant: true,
16831      variantCount: allSelects.length,
16832      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
16833    });
16834
16835    setTimeout(function(){
16836      elem.textContent = originalText;
16837      elem.classList.remove('adding');
16838      closeAll();
16839    }, 800);
16840
16841    return false;
16842  };
16843
16844
16845  /* ============================================
16846     SEPETE EKLE - Modal killer ile
16847     ============================================ */
16848  function addToCartSmart(productId, extraOptions){
16849    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
16850
16851    var options = {
16852      quantity: 1,
16853      hideNativeModal: 'lux-card-' + productId
16854    };
16855
16856    if(extraOptions){
16857      Object.keys(extraOptions).forEach(function(k){
16858        options[k] = extraOptions[k];
16859      });
16860    } else if(holder){
16861      var selects = holder.querySelectorAll('select[data-variant]');
16862      if(selects.length > 0){
16863        options.checkVariant = true;
16864        options.variantCount = selects.length;
16865        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
16866      }
16867    }
16868
16869    startModalKill(2000);
16870
16871    if(typeof addCart === "function"){
16872      try {
16873        addCart(productId, 'card', options);
16874        flashSuccess(productId);
16875      } catch(err){
16876        console.error('Sepete ekleme hatası:', err);
16877      }
16878    }
16879  }
16880
16881})();
16882</script>
16882</div><div class="col-6 col-sm-6 col-md-6 col-lg-3 col-xl-3 col-list-p-v-1"
16883                             data-lux-product-shell="1"
16884                             data-lux-page="1"><style>
16885@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
16886
16887/* ===== VEZZA LUX CARD ===== */
16888.card-product{
16889  font-family:'Poppins',sans-serif;
16890  background:#fff !important;
16891  position:relative;
16892}
16893.card-product-inner{
16894  background:transparent !important;
16895  position:relative;
16896}
16897.card-product .c-p-i-link,
16898.card-product a{
16899  background:transparent !important;
16900}
16901.card-product-inner > div{
16902  background:transparent !important;
16903}
16904.card-product-inner > div:not(.image-wrapper):not(.lux-meta):not(.size-strip){
16905  background:transparent !important;
16906}
16907.card-product .card-product-content,
16908.card-product .price-group,
16909.card-product .prices{
16910  background:transparent !important;
16911}
16912[class*="skeleton"],
16913[class*="placeholder"],
16914[class*="loading"]{
16915  background:transparent !important;
16916}
16917
16918/* ===== IMAGE AREA - KARE GÖRSEL ===== */
16919.image-wrapper{
16920  position:relative;
16921  width:100%;
16922  aspect-ratio:1/1;
16923  overflow:hidden;
16924  background:#fff !important;
16925}
16926
16927.image{
16928  position:relative;
16929  width:100%;
16930  height:100%;
16931}
16932
16933.image-wrapper img{
16934  width:100% !important;
16935  height:100% !important;
16936  object-fit:cover !important;
16937  object-position:center center !important;
16938  display:block;
16939  transition:transform .35s ease;
16940}
16941
16942/* ===== DISCOUNT ===== */
16943.discount{
16944  position:absolute;
16945  top:12px;
16946  left:12px;
16947  width:28px;
16948  height:48px;
16949  background:#e10b0b;
16950  color:#fff;
16951  font-size:12px;
16952  font-weight:600;
16953  display:flex;
16954  align-items:center;
16955  justify-content:center;
16956  writing-mode:vertical-rl;
16957  transform:rotate(180deg);
16958  letter-spacing:.5px;
16959  z-index:7;
16960}
16961
16962/* ===== FAV ===== */
16963.lux-fav{
16964  position:absolute;
16965  top:12px;
16966  right:12px;
16967  z-index:7;
16968}
16969.lux-fav a,
16970.lux-fav button{
16971  background:transparent !important;
16972  border:0 !important;
16973  padding:0 !important;
16974  cursor:pointer;
16975  display:inline-flex;
16976  align-items:center;
16977  justify-content:center;
16978}
16979
16980/* ===== SEPET IKON ===== */
16981.lux-bag{
16982  position:absolute;
16983  bottom:12px;
16984  right:12px;
16985  z-index:7;
16986  width:34px;
16987  height:34px;
16988  display:inline-flex;
16989  align-items:center;
16990  justify-content:center;
16991  background:rgba(255,255,255,.92);
16992  border:1px solid rgba(0,0,0,.10);
16993  border-radius:10px;
16994  cursor:pointer;
16995  transition:.2s ease;
16996}
16997.lux-bag:hover{
16998  background:#fff;
16999  border-color:rgba(0,0,0,.25);
17000}
17001.lux-bag.is-loading{
17002  opacity:.6;
17003  cursor:wait;
17004}
17005.lux-bag.is-success{
17006  background:#2e7d32 !important;
17007  border-color:#2e7d32 !important;
17008  color:#fff !important;
17009}
17010.card-product.sizes-open .lux-bag{
17011  opacity:0;
17012  pointer-events:none;
17013}
17014
17015/* Loading spinner */
17016.lux-bag.is-loading i::before{
17017  content:"⏳";
17018}
17019
17020/* ===== SIZE STRIP ===== */
17021.size-strip{
17022  width:100%;
17023  max-height:0;
17024  overflow:hidden;
17025  background:#fff;
17026  display:flex;
17027  flex-wrap:wrap;
17028  transition:max-height .3s ease, border-color .3s ease;
17029  border-top:1px solid transparent;
17030  border-bottom:1px solid transparent;
17031}
17032.size-strip.open{
17033  max-height:200px;
17034  border-top-color:rgba(0,0,0,.08);
17035  border-bottom-color:rgba(0,0,0,.08);
17036}
17037.size-item{
17038  flex:1 0 auto;
17039  min-width:38px;
17040  height:42px;
17041  display:flex;
17042  align-items:center;
17043  justify-content:center;
17044  font-size:13px;
17045  font-weight:500;
17046  color:#111 !important;
17047  cursor:pointer;
17048  user-select:none;
17049  background:transparent;
17050  transition:background .15s ease, color .15s ease;
17051  border-right:1px solid rgba(0,0,0,.08);
17052}
17053.size-item:last-child{ border-right:0; }
17054.size-item:hover:not(.disabled):not(.adding){
17055  background:#000 !important;
17056  color:#fff !important;
17057}
17058.size-item.disabled{
17059  color:#111 !important;
17060  text-decoration:line-through !important;
17061  opacity:.30 !important;
17062  cursor:not-allowed;
17063}
17064.size-item.adding{
17065  background:#2e7d32 !important;
17066  color:#fff !important;
17067  cursor:wait;
17068}
17069
17070/* ===== META ===== */
17071.lux-meta{
17072  padding:12px 6px 6px;
17073  background:transparent !important;
17074}
17075.lux-brand{
17076  font-size:16px;
17077  font-weight:600;
17078  color:#111;
17079  margin-bottom:2px;
17080}
17081.lux-title{
17082  font-size:14px;
17083  font-weight:400;
17084  line-height:1.45;
17085  color:#111;
17086  margin:0;
17087}
17088.lux-price{
17089  margin-top:10px;
17090  display:flex;
17091  gap:10px;
17092  align-items:baseline;
17093  background:transparent !important;
17094}
17095.lux-price .list-price{
17096  font-size:14px;
17097  font-weight:400;
17098  color:#111;
17099  text-decoration:line-through;
17100}
17101.lux-price .sale-price{
17102  font-size:16px;
17103  font-weight:600;
17104  color:#e10b0b;
17105}
17106
17107.buttons-wrapper,.buttons,.quantity,.product-code,.barcode{display:none!important;}
17108.btn-cart,.btn-cart-right,.btn-preview,.btn-show{display:none!important;}
17109</style><div class="card-product"
17110     id="card-10200"
17111     data-lux-card-id="10200"
17112     data-lux-product-link="https://www.vezzalux.com/gg-855-beyaz-tuylu-erkek-ayakkabi"
17113     data-lux-has-stock="1"><div class="card-product-inner"><div class="image-wrapper"><div class="discount">%38</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="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" 
17114        onclick="userProductFavourite('add', 10200)"><i class="far fa-heart"></i></a></div></div><a href="javascript:;" class="lux-bag"
17115         id="lux-bag-10200"
17116         onclick="return luxBagClick(event, 10200);"
17117         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="list-price">10.499,00 TL</div><div class="sale-price">6.499,00 TL</div></div></div></a></div></div>
17117<script>
17118(function(){
17119
17120  /* Bir kez kur */
17121  if(window.__luxCardInit) return;
17122  window.__luxCardInit = true;
17123
17124  /* Varyant cache - aynı ürüne tekrar tıklanırsa tekrar AJAX yapma */
17125  window.__luxVariantCache = window.__luxVariantCache || {};
17126
17127  function closeAll(){
17128    document.querySelectorAll('.size-strip.open').forEach(function(s){
17129      s.classList.remove('open');
17130    });
17131    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
17132      c.classList.remove('sizes-open');
17133    });
17134  }
17135
17136  function flashSuccess(productId){
17137    var bag = document.getElementById('lux-bag-' + productId);
17138    if(!bag) return;
17139    bag.classList.add('is-success');
17140    setTimeout(function(){ bag.classList.remove('is-success'); }, 1200);
17141  }
17142
17143  /* Dış tıklama - kapat */
17144  document.addEventListener('click', function(e){
17145    var inside = e.target.closest('.size-strip') || e.target.closest('.lux-bag');
17146    if(!inside) closeAll();
17147  });
17148
17149  document.addEventListener('keydown', function(e){
17150    if(e.key === 'Escape') closeAll();
17151  });
17152
17153
17154  /* ============================================
17155     MODAL KILLER - yedek güvence
17156     ============================================ */
17157  var LUX_MODAL_KILL_ACTIVE = false;
17158
17159  function killVisibleModals(){
17160    var modals = document.querySelectorAll('.modal.show, .modal.in, .modal.fade.in');
17161    modals.forEach(function(m){
17162      var id = (m.id || '').toLowerCase();
17163      var txt = (m.textContent || '').toLowerCase();
17164      var isCartModal = id.indexOf('cart') > -1
17165                     || id.indexOf('variant') > -1
17166                     || id.indexOf('fast') > -1
17167                     || id.indexOf('urun') > -1
17168                     || txt.indexOf('lütfen seçin') > -1;
17169
17170      if(isCartModal){
17171        if(typeof jQuery !== 'undefined'){
17172          try { jQuery(m).modal('hide'); } catch(e){}
17173        }
17174        m.classList.remove('show','in');
17175        m.style.display = 'none';
17176      }
17177    });
17178
17179    document.querySelectorAll('.modal-backdrop').forEach(function(b){ b.remove(); });
17180    document.body.classList.remove('modal-open');
17181    document.body.style.overflow = '';
17182    document.body.style.paddingRight = '';
17183  }
17184
17185  function startModalKill(durationMs){
17186    if(LUX_MODAL_KILL_ACTIVE) return;
17187    LUX_MODAL_KILL_ACTIVE = true;
17188    killVisibleModals();
17189    var interval = setInterval(killVisibleModals, 50);
17190    setTimeout(function(){
17191      clearInterval(interval);
17192      LUX_MODAL_KILL_ACTIVE = false;
17193    }, durationMs || 2000);
17194  }
17195
17196
17197  /* ============================================
17198     AJAX: Varyantları detay sayfasından çek
17199     ============================================
17200     Ürün detay sayfasının tam HTML'ini indir,
17201     DOMParser ile parse et, varyantları bul
17202     ============================================ */
17203  function fetchVariants(productId, productLink, callback){
17204
17205    /* Cache'te varsa hemen döndür */
17206    if(window.__luxVariantCache[productId]){
17207      callback(window.__luxVariantCache[productId]);
17208      return;
17209    }
17210
17211    fetch(productLink, {
17212      method: 'GET',
17213      credentials: 'same-origin',
17214      headers: { 'Accept': 'text/html' }
17215    })
17216    .then(function(r){ return r.text(); })
17217    .then(function(html){
17218      var parser = new DOMParser();
17219      var doc = parser.parseFromString(html, 'text/html');
17220
17221      /* Detay sayfasındaki .variant-box'ı bul */
17222      var variantBox = doc.querySelector('.variant-box');
17223      if(!variantBox){
17224        callback({ variants: [], error: 'no_variant_box' });
17225        return;
17226      }
17227
17228      /* Her varyant grubu için select'leri ve option'ları oku */
17229      var variants = [];
17230      var variantLis = variantBox.querySelectorAll('.variant');
17231
17232      variantLis.forEach(function(li, idx){
17233        var nameEl = li.querySelector('.name');
17234        var name = nameEl ? nameEl.textContent.replace(':','').trim() : ('Varyant ' + (idx+1));
17235
17236        var values = [];
17237
17238        /* ÖNCE options'tan oku - çünkü stok bilgisi orada */
17239        var optLinks = li.querySelectorAll('.options a');
17240
17241        if(optLinks.length > 0){
17242          optLinks.forEach(function(a){
17243            /* Beden/renk değerini doğru attribute'tan oku
17244               - data-variant-value: asıl değer (örn: "38", "KAHVE")
17245               - data-variant: grup index'i (örn: 0, 1) - DEĞER DEĞİL!
17246               - textContent: fallback */
17247            var deger = a.getAttribute('data-variant-value')
17248                     || a.textContent.trim();
17249
17250            /* Stok kontrolü - birden fazla yoldan kontrol et */
17251            var isSoldOut = a.classList.contains('sold-out')
17252                         || a.classList.contains('sold_out')
17253                         || a.classList.contains('disabled')
17254                         || a.classList.contains('stoksuz')
17255                         || a.classList.contains('out-of-stock')
17256                         || a.hasAttribute('disabled')
17257                         || a.getAttribute('data-in-stock') === '0'
17258                         || a.getAttribute('data-in-stock') === 'false'
17259                         || a.getAttribute('data-stokta-var-mi') === '0'
17260                         || a.getAttribute('data-stokta-var-mi') === 'false';
17261
17262            values.push({
17263              deger: deger,
17264              inStock: !isSoldOut
17265            });
17266          });
17267        } else {
17268          /* Options yoksa select'ten oku - stok bilgisi olmayacak, hepsi stokta say */
17269          var select = li.querySelector('select');
17270          if(select){
17271            var opts = select.querySelectorAll('option');
17272            opts.forEach(function(o){
17273              if(!o.value) return;
17274              values.push({
17275                deger: o.value,
17276                inStock: !o.disabled
17277              });
17278            });
17279          }
17280        }
17281
17282        variants.push({
17283          index: idx,
17284          baslik: name,
17285          values: values
17286        });
17287      });
17288
17289      var result = { variants: variants };
17290      window.__luxVariantCache[productId] = result;
17291      callback(result);
17292    })
17293    .catch(function(err){
17294      console.error('Varyant çekme hatası:', err);
17295      callback({ variants: [], error: 'fetch_failed' });
17296    });
17297  }
17298
17299
17300  /* ============================================
17301     Beden şeridini ve gizli variant-box'ı oluştur
17302     ============================================ */
17303  function buildVariantUI(productId, data){
17304    var card = document.getElementById('card-' + productId);
17305    if(!card) return false;
17306
17307    var holder = card.querySelector('.lux-variant-box');
17308    var strip = document.getElementById('size-strip-' + productId);
17309    if(!holder || !strip) return false;
17310
17311    if(!data.variants || data.variants.length === 0){
17312      /* Varyant yok */
17313      return false;
17314    }
17315
17316    /* Çoklu değerli ilk varyantı bul (beden) */
17317    var displayVariant = null;
17318    data.variants.forEach(function(v){
17319      if(!displayVariant && v.values.length > 1){
17320        displayVariant = v;
17321      }
17322    });
17323
17324    /* Gizli variant-box HTML */
17325    var html = '<div class="variant-box"><ul>';
17326    data.variants.forEach(function(v){
17327      html += '<li class="variant">';
17328      html += '<select class="form-control" data-variant="' + v.index + '" data-variant-name="' + v.baslik + '">';
17329
17330      if(v.values.length > 1){
17331        html += '<option value="">Lütfen seçin</option>';
17332      }
17333
17334      v.values.forEach(function(val, i){
17335        var selected = (v.values.length === 1) ? ' selected' : '';
17336        html += '<option value="' + val.deger + '"' + selected + '>' + val.deger + '</option>';
17337      });
17338
17339      html += '</select></li>';
17340    });
17341    html += '</ul></div>';
17342
17343    holder.innerHTML = html;
17344    holder.style.display = '';
17345
17346    /* Strip HTML (sadece çoklu değerli varyantlar için)
17347       Stokta olmayanlar görünmez - sadece alınabilecek bedenler */
17348    if(displayVariant){
17349      var stripHtml = '';
17350      var inStockCount = 0;
17351
17352      /* DEBUG - console'da gör */
17353      console.log('[LUX] Ürün ' + productId + ' varyantları:', displayVariant.values);
17354
17355      displayVariant.values.forEach(function(val){
17356        /* SADECE stokta olanları ekle */
17357        if(val.inStock === true){
17358          stripHtml += '<div class="size-item" '
17359                    + 'data-urun-id="' + productId + '" '
17360                    + 'data-varyant-deger="' + val.deger + '" '
17361                    + 'onclick="return luxAddVariant(event, this);">'
17362                    + val.deger + '</div>';
17363          inStockCount++;
17364        }
17365      });
17366
17367      /* Eğer stokta hiç beden yoksa şeridi gösterme */
17368      if(inStockCount === 0){
17369        strip.setAttribute('data-loaded', '1');
17370        strip.setAttribute('data-has-variants', '0');
17371        return false;
17372      }
17373
17374      strip.innerHTML = stripHtml;
17375      strip.setAttribute('data-loaded', '1');
17376      strip.setAttribute('data-has-variants', '1');
17377      return true;
17378    } else {
17379      strip.setAttribute('data-loaded', '1');
17380      strip.setAttribute('data-has-variants', '0');
17381      return false;
17382    }
17383  }
17384
17385
17386  /* ============================================
17387     SEPET IKONU TIKLAMASI
17388     ============================================ */
17389  window.luxBagClick = function(ev, productId){
17390    ev.preventDefault();
17391    ev.stopPropagation();
17392
17393    var card = document.getElementById('card-' + productId);
17394    var strip = document.getElementById('size-strip-' + productId);
17395    var bag = document.getElementById('lux-bag-' + productId);
17396    if(!card || !strip) return false;
17397
17398    /* Strip zaten yüklenmişse direkt davran */
17399    if(strip.getAttribute('data-loaded') === '1'){
17400      if(strip.getAttribute('data-has-variants') === '1'){
17401        toggleStrip(productId);
17402      } else {
17403        addToCartSmart(productId);
17404      }
17405      return false;
17406    }
17407
17408    /* İlk tıklama - AJAX ile varyantları çek */
17409    bag.classList.add('is-loading');
17410    var productLink = card.getAttribute('data-lux-product-link');
17411
17412    fetchVariants(productId, productLink, function(data){
17413      bag.classList.remove('is-loading');
17414
17415      var hasVariants = buildVariantUI(productId, data);
17416
17417      if(hasVariants){
17418        /* Bedenler var - şeridi aç */
17419        toggleStrip(productId);
17420      } else {
17421        /* Varyant yok veya hepsi tek değerli - direkt sepete ekle */
17422        addToCartSmart(productId);
17423      }
17424    });
17425
17426    return false;
17427  };
17428
17429  function toggleStrip(productId){
17430    var strip = document.getElementById('size-strip-' + productId);
17431    var card = document.getElementById('card-' + productId);
17432    if(!strip) return;
17433
17434    document.querySelectorAll('.size-strip.open').forEach(function(s){
17435      if(s !== strip) s.classList.remove('open');
17436    });
17437    document.querySelectorAll('.card-product.sizes-open').forEach(function(c){
17438      if(c !== card) c.classList.remove('sizes-open');
17439    });
17440
17441    strip.classList.toggle('open');
17442    if(card) card.classList.toggle('sizes-open');
17443  }
17444
17445
17446  /* ============================================
17447     BEDEN TIKLAMASI
17448     ============================================ */
17449  window.luxAddVariant = function(ev, elem){
17450    ev.preventDefault();
17451    ev.stopPropagation();
17452
17453    if(elem.classList.contains('adding') || elem.classList.contains('disabled')) return false;
17454
17455    var productId = elem.getAttribute('data-urun-id');
17456    var varyantDeger = elem.getAttribute('data-varyant-deger');
17457
17458    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
17459    if(!holder) return false;
17460
17461    /* Seçilen bedeni ilk select'e yaz */
17462    var firstSelect = holder.querySelector('select[data-variant="0"]');
17463    if(firstSelect){
17464      firstSelect.value = varyantDeger;
17465      if(typeof jQuery !== "undefined"){
17466        jQuery(firstSelect).val(varyantDeger).trigger('change');
17467      }
17468    }
17469
17470    /* Diğer select'lere ilk geçerli değeri koy */
17471    var allSelects = holder.querySelectorAll('select[data-variant]');
17472    allSelects.forEach(function(sel, idx){
17473      if(idx === 0) return;
17474      if(sel.value) return;
17475      var options = sel.querySelectorAll('option');
17476      for(var i = 0; i < options.length; i++){
17477        if(options[i].value){
17478          sel.value = options[i].value;
17479          if(typeof jQuery !== "undefined"){
17480            jQuery(sel).val(options[i].value).trigger('change');
17481          }
17482          break;
17483        }
17484      }
17485    });
17486
17487    /* Görsel feedback */
17488    elem.classList.add('adding');
17489    var originalText = elem.textContent;
17490    elem.textContent = '✓';
17491
17492    /* Sepete ekle */
17493    addToCartSmart(productId, {
17494      checkVariant: true,
17495      variantCount: allSelects.length,
17496      variantDiv: '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box'
17497    });
17498
17499    setTimeout(function(){
17500      elem.textContent = originalText;
17501      elem.classList.remove('adding');
17502      closeAll();
17503    }, 800);
17504
17505    return false;
17506  };
17507
17508
17509  /* ============================================
17510     SEPETE EKLE - Modal killer ile
17511     ============================================ */
17512  function addToCartSmart(productId, extraOptions){
17513    var holder = document.querySelector('.lux-variant-box[data-lux-card-id="' + productId + '"]');
17514
17515    var options = {
17516      quantity: 1,
17517      hideNativeModal: 'lux-card-' + productId
17518    };
17519
17520    if(extraOptions){
17521      Object.keys(extraOptions).forEach(function(k){
17522        options[k] = extraOptions[k];
17523      });
17524    } else if(holder){
17525      var selects = holder.querySelectorAll('select[data-variant]');
17526      if(selects.length > 0){
17527        options.checkVariant = true;
17528        options.variantCount = selects.length;
17529        options.variantDiv = '.lux-variant-box[data-lux-card-id="' + productId + '"] .variant-box';
17530      }
17531    }
17532
17533    startModalKill(2000);
17534
17535    if(typeof addCart === "function"){
17536      try {
17537        addCart(productId, 'card', options);
17538        flashSuccess(productId);
17539      } catch(err){
17540        console.error('Sepete ekleme hatası:', err);
17541      }
17542    }
17543  }
17544
17545})();
17546</script>
17546</div></div><div class="lux-custom-empty" id="luxCustomEmpty" style="display:none;">
17547                    Seçilen bedene uygun ürün bulunamadı.
17548                </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=6">6</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>
17549            .social-media {
17550    display: flex;
17551    align-items: center;
17552    gap: 10px;
17553    flex-wrap: wrap;
17554}
17555
17556.social-media-title {
17557    font-size: 11px;
17558    letter-spacing: 0.15em;
17559    text-transform: uppercase;
17560    color: #555;
17561    margin-right: 4px;
17562}
17563
17564.social-icon {
17565    width: 38px;
17566    height: 38px;
17567    border: 0.5px solid #333;
17568    border-radius: 50%;
17569    display: flex;
17570    align-items: center;
17571    justify-content: center;
17572    color: #888;
17573    font-size: 14px;
17574    text-decoration: none;
17575    transition: border-color 0.2s, color 0.2s;
17576}
17577
17578.social-icon:hover {
17579    border-color: #fff;
17580    color: #fff;
17581}
17582.footer-newsletter-band {
17583    background: #f5c518;
17584    padding: 18px 0;
17585}
17586
17587.footer-newsletter-band form {
17588    max-width: 700px;
17589    margin: 0 auto;
17590    display: flex;
17591    align-items: center;
17592    gap: 14px;
17593    padding: 0 20px;
17594    flex-wrap: wrap;
17595    justify-content: center;
17596}
17597
17598.fnb-icon {
17599    color: #000;
17600    font-size: 16px;
17601    flex-shrink: 0;
17602}
17603
17604.fnb-text {
17605    font-size: 11px;
17606    letter-spacing: 0.08em;
17607    color: #000;
17608    font-weight: 500;
17609    flex: 1;
17610    min-width: 200px;
17611    text-align: left;
17612}
17613
17614.fnb-input {
17615    background: transparent;
17616    border: none;
17617    border-bottom: 1px solid rgba(0,0,0,0.3);
17618    color: #000;
17619    font-size: 12px;
17620    padding: 6px 0;
17621    width: 220px;
17622    outline: none;
17623    transition: border-color 0.2s;
17624}
17625
17626.fnb-input:focus {
17627    border-bottom-color: #000;
17628}
17629
17630.fnb-input::placeholder {
17631    color: rgba(0,0,0,0.4);
17632}
17633
17634.fnb-btn {
17635    background: #000;
17636    border: none;
17637    border-radius: 4px;
17638    color: #f5c518;
17639    font-size: 11px;
17640    letter-spacing: 0.12em;
17641    text-transform: uppercase;
17642    padding: 8px 20px;
17643    cursor: pointer;
17644    flex-shrink: 0;
17645    transition: background 0.2s;
17646}
17647
17648.fnb-btn:hover {
17649    background: #222;
17650}
17651        </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">
17651Mobil 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">
17652                                                        Hakkımızda
17653                                                    </a></li><li><a href="https://www.vezzalux.com/iletisim">
17654                                                        İletişim
17655                                                    </a></li><li><a href="https://www.vezzalux.com/gizlilik-sozlesmesi">
17656                                                        Gizlilik Sözleşmesi
17657                                                    </a></li><li><a href="https://www.vezzalux.com/kullanici-sozlesmesi">
17658                                                        Kullanıcı Sözleşmesi
17659                                                    </a></li><li><a href="https://www.vezzalux.com/cerez-politikasi">
17660                                                        Çerez Politikası
17661                                                    </a></li><li><a href="https://www.vezzalux.com/mesafeli-satis-sozlesmesi">
17662                                                        Mesafeli Satış Sözleşmesi
17663                                                    </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">
17664                                                        Sıkça Sorulan Sorular
17665                                                    </a></li><li><a href="https://www.vezzalux.com/siparis-takip">
17666                                                        Sipariş Takip
17667                                                    </a></li><li><a href="https://www.vezzalux.com/havale-bildirimleri">
17668                                                        Havale Bildirimleri
17669                                                    </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">
17670                                                        ERKEK
17671                                                    </a></li><li><a href="https://www.vezzalux.com/kadin">
17672                                                        KADIN
17673                                                    </a></li><li><a href="https://www.vezzalux.com/yeni-sezon">
17674                                                        YENİ SEZON
17675                                                    </a></li><li><a href="https://www.vezzalux.com/erkek-tek-kalanlar">
17676                                                        FIRSAT ÜRÜNLERİ
17677                                                    </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">
17678                                            Haftai&ccedil;i 09:00 - 19:00 Cumartesi 10:00 - 17:00 saatleri arasında ulaşabilirsiniz.
17679                                        </div></div></div></div></div></div></div></div></div></footer></div></div></div></div></div></div></section>
17679<script type="text/javascript">
17680        var SITE_CONFIG = {
17681            mode: 'production',
17682            page: 'categories',
17683            url: 'https://www.vezzalux.com',
17684            baseUrl: 'https://www.vezzalux.com',
17685            cartUrl: 'https://www.vezzalux.com/sepet',
17686            cartShippingType: 'in_order',
17687            paymentUrl: 'https://www.vezzalux.com/odeme',
17688            defaultCountry: 'TR',
17689            preferredCountries: ["TR"],
17690            onlyCountries: ["TR"],
17691            userIsLogin: false,
17692            userId: 0,
17693            lazyLoadEffectTime: '0',
17694            token: 'CFzphng6Vw8PshK0RDYS414c84f809674a0ff884ae0821538fe4eslqKex9a93F6z2IY9OcJcLr8zV6UgCdERWDRMFqLCgfuOKztWTIifk2i0BAyagLX6+p1NAbRSixMoRluROAoKPKieXLHMZCZAdvXcxCPTPco1RUJ+BlxX1YwlkNSm5RaZ/GU2ZYHNAeFmeOuzZuSsDba1B+wg4McrRkhiCQ7pPPkI2m/02h4FgM+YVWpYnrhgnL3poRI/QEdBGUWn/2AJRQDxkyu45bjxhQVVqhUYJ8V/yYRNSKjBdfg73USk3kgAM9ZA==fimtAUzo1v',
17695            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',
17696            pageKey: '336466d91adec5f72804a14dddd1a81coGJlWUTKMPHaZCH7KZzlsqDsmrJxIPZPrGhQgYmv0bQCuGT49rQQomJikStB869Bzf4B8KW35EamfANDyxesIIzE9hvESHBWQT0KIcIglF+FASk0CX8MduCGiRNRAMrH2PYB7U/c9bRfmEk9fJhYO/eGSB48tCnyhnnw/4H4SJZ2Y97QMfWmNnM3sgdT7rpwaI8BNhoZrj9T9Xg2a4a01QDCdeTfnwMu820L5Z7MVOn4kiL3nVJkhF22BAhO0ZN5eLAzGIKeb6Wwi/1yvnDZB6ySNwlwbvJyOYiTiNFR7jXt480=',
17697            paymentStep: '0',
17698            orderCode: '',
17699            contentId: '267',
17700            contentTitle: 'Ayakkabı',
17701            contentType: 'category',
17702            priceRounding: {
17703                active: false,
17704                type: '1',
17705                direction: '0'
17706            },
17707            currency: {
17708                name: 'Türk Lirası',
17709                symbol: 'TL',
17710                code: 'TRY',
17711                decimal: '2',
17712                displayType: '0'
17713            },
17714            listPriceRule: {
17715                active: false,
17716                limit: '15'
17717            },
17718            analytics: {
17719                mode: 'production',
17720                sessionInterval: '1800',
17721                liveVisitInterval: '600',
17722                cookieSettings: 'Secure; SameSite=None; path=/;',
17723                apiUrl: 'https://analytics.qs-apps.com/',
17724                trackingId: '4377112946590',
17725                visitorDetails: 'eyJkb21haW4iOiJ2ZXp6YWx1eC5jb20iLCJpc19ib3QiOmZhbHNlLCJ1c2VyX2FnZW50IjoiTW96aWxsYVwvNS4wIEFwcGxlV2ViS2l0XC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvOyBjb21wYXRpYmxlOyBQYWdlU291cmNlU2VhcmNoQm90XC8xLjA7IGh0dHBzOlwvXC9wYWdlc291cmNlc2VhcmNoLmNvbVwvYm90KSBDaHJvbWVcLzEyOC4wLjAuMCBTYWZhcmlcLzUzNy4zNiIsInV0bV9zb3VyY2UiOmZhbHNlLCJ1dG1fbWVkaXVtIjpmYWxzZSwidXRtX2NhbXBhaWduIjpmYWxzZSwidXRtX3Rlcm0iOmZhbHNlLCJ1dG1fY29udGVudCI6ZmFsc2UsImNoYW5uZWwiOjAsInRyYWZmaWNfc291cmNlIjpmYWxzZSwic2VhcmNoX2tleXdvcmQiOmZhbHNlLCJub3RpZmljYXRpb25fY2FtcGFpZ25fY29kZSI6ZmFsc2UsImFmZmlsaWF0ZV9pbmZsdWVuY2VyX2NvZGUiOmZhbHNlLCJ1c2VyX2NvbGxlY3Rpb25fY29kZSI6ZmFsc2V9',
17726                namespace: {
17727                    localCurrentSession: 'qanalytcs_session_',
17728                    localDailyVisit: 'qanalytcs_uniquev',
17729                    localLiveVisits: 'qanalytcs_activities',
17730                    localTimeSpent: 'qanalytcs_lstra',
17731                    cookieTest: 'qanalytcs_test',
17732                    cookieTimeSpent: 'qanalytcs_tts',
17733                    cookieScreenWidth: 'qanalytcs_scrnwdth'
17734                }
17735            },
17736            datepicker: {
17737                load: false,
17738                css: 'https://www.vezzalux.com/template/smart/default/assets/plugins/datepicker/datepicker.css?v=1673397887',
17739                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/datepicker/datepicker.js?v=1673398008',
17740            },
17741            simplebar: {
17742                load: false,
17743                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/simplebar/simplebar.js?v=1673398960',
17744            },
17745            fancybox: {
17746                load: false,
17747                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/fancybox/fancybox.js?v=1673399778',
17748            },
17749            imageupload: {
17750                load: false,
17751                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/imageupload/upload.js?v=1687644019',
17752            },
17753            croppie: {
17754                load: false,
17755                css: 'https://www.vezzalux.com/template/smart/default/assets/plugins/croppie/croppie.css?v=1684160415',
17756                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/croppie/croppie.js?v=1684193487',
17757                js2: 'https://www.vezzalux.com/template/smart/default/assets/plugins/croppie/exif.js?v=1684160405',
17758            },
17759            tweenmax: {
17760                load: false,
17761                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/tweenmax/TweenMax.min.js?v=1690415568',
17762            },
17763            form: {
17764                load: false,
17765                js: 'https://www.vezzalux.com/template/smart/default/assets/form.js?v=1790058138',
17766            },
17767            mask: {
17768                load: false,
17769                js: 'https://www.vezzalux.com/template/smart/default/assets/plugins/inputmask/jquery.inputmask.min.js?v=1771941751',
17770            },
17771            print: {
17772                load: false,
17773                js: 'https://www.vezzalux.com/template/smart/default/assets/print.js?v=1790058138',
17774            },
17775        };
17776        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%}
17776\" 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!"};
17777    </script>
17777<script type="text/javascript" src="https://www.vezzalux.com/template/smart/default/assets/plugins/bootstrap.js?v=1774571286" /></script>
17777<script type="text/javascript" src="https://www.vezzalux.com/template/smart/default/assets/scripts.min.js?v=1790058138" /></script>
17777<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">
17778    .addons-mobile-menu {
17779        height: 65px;
17780        background: #ffffff;
17781        border-top: 1px solid #cfcfcf;
17782    }
17783    .addons-mobile-menu ul li a .icon {
17784        color: #333333;
17785        font-size: 15px;
17786    }
17787    .addons-mobile-menu ul li a .title {
17788        color: #333333;
17789        font-size: 12px;
17790    }
17791    @media (max-width: 991px) {
17792        body {
17793            padding-bottom: 65px;
17794        }
17795    }
17796</style><div class="addons-whatsapp-widget aww-direction-0 aww-size-1 aww-title-0 aww-desktop-1 aww-mobile-1"
17797     style="padding: 10px;"><div class="wp-title">
17798        Size nasıl yardımcı olabiliriz?
17799    </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"
17800             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
17801                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
17802                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
17803                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
17804                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
17805                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
17806                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
17807                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
17808                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">
17809        
17810                @media (max-width: 991px) {
17811            .addons-whatsapp-widget {
17812                margin-bottom: 70px
17813            }
17814        }
17815            </style>
17815<script src="https://apis.google.com/js/platform.js" async defer></script>
17815<div class="google-review-badge gwb-footer gwb-hide-desktop gwb-hide-mobile"><g:ratingbadge merchant_id="5772617662"></g:ratingbadge></div>
17815<script>
17816        window.___gcfg = {
17817            lang: 'tr'
17818        };
17819    </script>
17819<script type="text/javascript">
17820    browserAlert("VEZZALUX | Lüksün Dijital Dünyası ");
17821</script>
17821<div class="qk-app-sticky-discount" tabindex="-1"
17822     data-position-type="fixed"
17823     data-position-element=""
17824     data-position-element-location="after"
17825     data-desktop="true"
17826     data-mobile="true"><div class="sticky-button">
17827        %60 a Varan İndirim
17828        <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">
17829                    Seçili Ürünlerde %60 a Varan İndirim
17830                </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">
17831    .qk-app-sticky-discount {
17832        display: none;
17833                    position: fixed;
17834            z-index: 9;
17835            }
17836    .qk-app-sticky-discount.active {
17837        z-index: 9999
17838    }
17839    .qk-app-sticky-discount .sticky-button {
17840        cursor: pointer;
17841        position: relative;
17842        display: flex;
17843        justify-content: center;
17844        align-items: center;
17845        text-align: center;
17846        background: #4a0e0e;
17847        width: 210px;
17848        height: 41.4px;
17849        color: #ffffff;
17850        font-size: 18px;
17851        font-weight: 500;
17852                    -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17853            -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17854            box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17855            }
17856    .qk-app-sticky-discount .sticky-button i {
17857        font-size: 13px;
17858        margin: 0 0 -2px 10px;
17859    }
17860    .qk-app-sticky-discount .sticky-contents {
17861        display: flex;
17862        width: 210px;
17863        height: 230px;
17864        background: #4a0e0e;
17865        position: absolute;
17866        flex-direction: column;
17867        justify-content: center;
17868        align-items: center;
17869        text-align: center;
17870        -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
17871        -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
17872        box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
17873        overflow-y: auto;
17874        overflow-x: hidden;
17875    }
17876    .qk-app-sticky-discount .sticky-contents .button-close {
17877        cursor: pointer;
17878        background: rgba(0, 0, 0, .5);
17879        color: #fff;
17880        position: absolute;
17881        right: 3px;
17882        top: 3px;
17883        font-size: 11px;
17884        width: 23px;
17885        height: 23px;
17886        padding-top: 3px;
17887    }
17888            .qk-app-sticky-discount .sticky-contents .item-custom {
17889            display: flex;
17890            flex-direction: column;
17891            justify-content: center;
17892            align-items: center;
17893            text-align: center;
17894            height: 100%;
17895            width: 100%;
17896            padding: 15px
17897        }
17898        .qk-app-sticky-discount .sticky-contents span,
17899        .qk-app-sticky-discount .sticky-contents a {
17900            display: block;
17901            margin: 5px 0
17902        }
17903        .qk-app-sticky-discount .sticky-contents a {
17904            color: #fff;
17905            width: 100%;
17906            padding: 10px 5px;
17907            border-radius: 5px;
17908            font-weight: 500;
17909            -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17910            -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17911            box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
17912        }
17913        .qk-app-sticky-discount .sticky-contents a:hover {
17914            opacity: 0.9;
17915        }
17916    
17917            .qk-app-sticky-discount .sticky-button {
17918            position: absolute;
17919            width: 41.4px;
17920            height: 230px;
17921            writing-mode: vertical-lr;
17922            transform: scale(-1);
17923        }
17924        .qk-app-sticky-discount .sticky-button i {
17925            margin: 10px 0 0 -2px;
17926        }
17927        .qk-app-sticky-discount .sticky-button,
17928        .qk-app-sticky-discount .sticky-contents {
17929                                        left: 0;
17930                    }
17931    
17932    @media (min-width: 992px){
17933        .qk-app-sticky-discount {
17934        left: 0px;right: auto;top: calc(50% - 115px);bottom: auto;transform: scale(1);transform-origin: left ;margin: 0px;
17935                }
17936    }
17937    @media (max-width: 992px){
17938        .qk-app-sticky-discount {
17939        left: 0px;right: auto;top: calc(50% - 115px);bottom: auto;transform: scale(0.7);transform-origin: left ;margin: 0px;
17940                }
17941    }
17942</style>
17942<script type="text/javascript">
17943    $( window ).on("load", function() {
17944        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 () {
17945            let element = '.qk-app-sticky-discount';
17946
17947            // check current screen sizes
17948            let screen_width = (window.innerWidth || document.documentElement.clientWidth);
17949            if ((screen_width >= 992 && !$(element).data('desktop')) ||
17950                (screen_width < 992 && !$(element).data('mobile'))){
17951                return
17952            }
17953
17954            customAppScreenPosition(element);
17955
17956            // click campaign icon to show gifts
17957            $(element).find('.sticky-button').on('click', function (){
17958                $(element).find('.sticky-contents').fadeToggle(250);
17959                $(element).toggleClass('active');
17960            })
17961
17962            // click outside gifts box to hide
17963            $(element).on('focusout', function () {
17964                $(element).find('.sticky-contents').fadeOut(250);
17965                $(element).removeClass('active');
17966            });
17967
17968            // close button
17969            $(element+ ' .button-close').on('click', function () {
17970                $(element).find('.sticky-contents').fadeOut(250);
17971                $(element).removeClass('active');
17972            });
17973
17974        });
17975    });
17976</script>
17976<div class="qk-app-dropdown-products" tabindex="-1"
17977     data-position-type="fixed"
17978     data-position-element=""
17979     data-position-element-location="after"
17980     data-desktop="true"
17981     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">
17982    .qk-app-dropdown-products {
17983        display: none;
17984                    position: fixed;
17985            z-index: 9;
17986            }
17987    .qk-app-dropdown-products.active {
17988        z-index: 9999
17989    }
17990    .qk-app-dropdown-products .sticky-button {
17991        cursor: pointer;
17992        position: relative;
17993        display: flex;
17994        justify-content: center;
17995        align-items: center;
17996        text-align: center;
17997        background: #ffffff;
17998        width: 140px;
17999        height: 50px;
18000        color: #222222;
18001        font-size: 14px;
18002        border: 1px solid #dddddd;
18003                    -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18004            -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18005            box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18006            }
18007    .qk-app-dropdown-products .sticky-button i {
18008        color: #222222;
18009        font-size: 14px;
18010        margin-right: 10px
18011    }
18012            .qk-app-dropdown-products .sticky-button {
18013            position: absolute;
18014            width: 50px;
18015            height: 140px;
18016            writing-mode: vertical-lr;
18017            transform: scale(-1);
18018        }
18019        .qk-app-dropdown-products .sticky-button i {
18020            margin: 0 0 10px -2px;
18021        }
18022        .qk-app-dropdown-products .sticky-button,
18023        .qk-app-dropdown-products .sticky-contents {
18024                            right: 0;
18025                    }
18026                .qk-app-dropdown-products .sticky-contents {
18027            right: 0;
18028        }
18029    
18030    .qk-app-dropdown-products .sticky-contents {
18031        display: flex;
18032        width: 300px;
18033        min-height: 200px;
18034        height: auto;
18035        max-height: 520px;
18036        background: #fff;
18037        position: absolute;
18038        flex-direction: column;
18039        justify-content: center;
18040        align-items: center;
18041        text-align: center;
18042        -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
18043        -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
18044        box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.25);
18045    }
18046    .qk-app-dropdown-products .sticky-contents .bar {
18047        width: 100%;
18048        height: 60px;
18049        display: flex;
18050        justify-content: flex-start;
18051        align-items: center;
18052        padding: 0 15px;
18053        position: relative;
18054        color: #222222;
18055        font-size: 17px;
18056        border: 1px solid rgba(0,0,0,.1);
18057        font-weight: 500;
18058    }
18059    .qk-app-dropdown-products .sticky-contents .bar .button-close {
18060        cursor: pointer;
18061        color: #777;
18062        position: absolute;
18063        right: 13px;
18064        top: 12px;
18065        font-size: 17px;
18066        width: 25px;
18067        height: 25px;
18068        padding-top: 4px;
18069        border-radius: 5px;
18070    }
18071    .qk-app-dropdown-products .sticky-contents .items {
18072        flex: 1;
18073        max-height: 460px;
18074        width: 100%;
18075        padding-right: 10px
18076    }
18077    .qk-app-dropdown-products .sticky-contents .items .alert-message {
18078        padding: 10px 0;
18079    }
18080    .qk-app-dropdown-products .sticky-contents .items .item {
18081        display: flex;
18082        justify-content: flex-start;
18083        align-items: flex-start;
18084        border-bottom: 1px solid #ebebeb;
18085        padding: 10px;
18086        height: 115px;
18087        color: #333
18088    }
18089    .qk-app-dropdown-products .sticky-contents .items .item .image {
18090        flex: 1
18091    }
18092    .qk-app-dropdown-products .sticky-contents .items .item .image img {
18093        max-height: 90px;
18094        max-width: 90px;
18095    }
18096    .qk-app-dropdown-products .sticky-contents .items .item .info {
18097        flex: 2;
18098        height: 100%;
18099        display: flex;
18100        flex-direction: column;
18101        align-items: flex-start;
18102        margin-left: 10px;
18103        text-align: left;
18104    }
18105    .qk-app-dropdown-products .sticky-contents .items .item .info .title {
18106        font-size: 13px;
18107        margin-bottom: 6px
18108    }
18109    .qk-app-dropdown-products .sticky-contents .items .item .info .list-price {
18110        font-size: 12px;
18111        color: #555;
18112        text-decoration: line-through;
18113        margin-bottom: 6px
18114    }
18115    .qk-app-dropdown-products .sticky-contents .items .item .info .sale-price {
18116        font-size: 15px;
18117        font-weight: 600;
18118        color: #d21c1c;
18119        margin-bottom: 6px
18120    }
18121
18122    @media (min-width: 992px){
18123        .qk-app-dropdown-products {
18124        left: auto;right: 10px;top: calc(50% - 25px);bottom: auto;transform: scale(1);transform-origin: right ;margin: 0px;
18125                }
18126    }
18127    @media (max-width: 992px){
18128        .qk-app-dropdown-products {
18129        left: auto;right: 10px;top: calc(50% - 25px);bottom: auto;transform: scale(0.85);transform-origin: right ;margin: 0px;
18130                }
18131    }
18132</style>
18132<script type="text/javascript">
18133    $( window ).on("load", function() {
18134        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 () {
18135            let element = '.qk-app-dropdown-products';
18136
18137            // check current screen sizes
18138            let screen_width = (window.innerWidth || document.documentElement.clientWidth);
18139            if ((screen_width >= 992 && !$(element).data('desktop')) ||
18140                (screen_width < 992 && !$(element).data('mobile'))){
18141                return
18142            }
18143
18144            customAppScreenPosition(element);
18145
18146            // click campaign icon to show gifts
18147            var fetch_products = false;
18148            $(element).find('.sticky-button').on('click', function (){
18149                $(element).find('.sticky-contents').fadeToggle(150);
18150                $(element).toggleClass('active');
18151                if (!fetch_products){
18152                    fetch_products = true;
18153                    customAppDropDownFetchProducts(element);
18154                }
18155            })
18156
18157            // click outside gifts box to hide
18158            $(element).on('focusout', function () {
18159                $(element).find('.sticky-contents').fadeOut(150);
18160                $(element).removeClass('active');
18161            });
18162
18163            // close button
18164            $(element+ ' .button-close').on('click', function () {
18165                $(element).find('.sticky-contents').fadeOut(150);
18166                $(element).removeClass('active');
18167            });
18168
18169        });
18170    });
18171    function customAppDropDownFetchProducts(element)
18172    {
18173        var data = [
18174            {name: "type", value: 'visited'},
18175            {name: "limit", value: '4'},
18176        ]
18177
18178        ajaxFormGate(
18179            'POST', 'Category', 'getSimpleProducts', data, false, function(result){
18180                if (result.length == 0){
18181                    $(element+ ' .sticky-contents').find('.items').html('<div class="alert-message">Ürün bulunamadı.</div>')
18182                }else{
18183                    $(element+ ' .sticky-contents').find('.items').html(' ')
18184                    let item = '', html = '';
18185                    for(let i = 0; i < result.length; i++){
18186                        item = result[i];
18187                        html = '';
18188                        html = html + '<a class="item" href="'+ item.link +'">';
18189                        html = html + '<div class="image">';
18190                        html = html + '<img src="'+ item.resim +'" alt="" />';
18191                        html = html + '</div>';
18192                        html = html + '<div class="info">';
18193                        html = html + '<span class="title">'+ item.adi +'</span>';
18194                        if (item.indirim){
18195                            html = html + '<span class="list-price">'+ item.piyasa_fiyati +'</span>';
18196                        }
18197                        html = html + '<span class="sale-price">'+ item.fiyat +'</span>';
18198                        html = html + '</div>';
18199                        html = html + '</a>';
18200                        $(element + ' .sticky-contents .items').append(html)
18201                    }
18202                }
18203            },
18204            false
18205        )
18206    }
18207</script>
18207<div class="qk-app-popup-products" tabindex="-1"
18208     data-position-type="fixed"
18209     data-position-element=""
18210     data-position-element-location="after"
18211     data-desktop="true"
18212     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">
18213    .qk-app-popup-products {
18214        display: none;
18215                    position: fixed;
18216            z-index: 999999;
18217                left: 0;
18218        right: 0;
18219        top: 0;
18220        bottom: 0;
18221        background: rgba(0, 0, 0, .6);
18222    }
18223    .qk-app-popup-products .wrapper-showcase {
18224        position: fixed;
18225        background: #ffffff;
18226        width: 750px;
18227        height: 460px;
18228        padding: 30px;
18229                    -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18230            -moz-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18231            box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
18232            }
18233    .qk-app-popup-products .wrapper-showcase .bar {
18234        display: flex;
18235        flex-direction: column;
18236        text-align: center;
18237        justify-content: center;
18238        align-items: center;
18239    }
18240    .qk-app-popup-products .wrapper-showcase .bar .title {
18241        color: #222222;
18242        font-size: 17px;
18243        margin-bottom: 5px;
18244        font-weight: 500
18245    }
18246    .qk-app-popup-products .wrapper-showcase .bar .sub-title {
18247        color: #222222;
18248        font-size: 14px;
18249    }
18250    .qk-app-popup-products .wrapper-showcase .bar .button-close {
18251        cursor: pointer;
18252        color: #555;
18253        position: absolute;
18254        right: 5px;
18255        top: 5px;
18256        font-size: 20px;
18257        width: 23px;
18258        height: 23px;
18259        padding-top: 3px;
18260    }
18261    .qk-app-popup-products .wrapper-showcase .items {
18262        width: 100%;
18263        margin-top: 20px
18264    }
18265    .qk-app-popup-products .wrapper-showcase .items .item {
18266        padding: 10px;
18267        color: #333
18268    }
18269    .qk-app-popup-products .wrapper-showcase .items .item .image {
18270        flex: 1;
18271        text-align: center;
18272        justify-content: center;
18273        align-items: center;
18274        display: flex;
18275    }
18276    .qk-app-popup-products .wrapper-showcase .items .item .image img {
18277        max-height: 200px;
18278        max-width: 200px;
18279        width: auto;
18280        height: auto;
18281    }
18282    .qk-app-popup-products .wrapper-showcase .items .item .info {
18283        display: flex;
18284        flex-direction: column;
18285        align-items: flex-start;
18286        margin-top: 10px;
18287        text-align: left;
18288    }
18289    .qk-app-popup-products .wrapper-showcase .items .item .info .title {
18290        font-size: 13px;
18291        margin-bottom: 6px
18292    }
18293    .qk-app-popup-products .wrapper-showcase .items .item .info .list-price {
18294        font-size: 12px;
18295        color: #555;
18296        text-decoration: line-through;
18297        margin-top: 6px
18298    }
18299    .qk-app-popup-products .wrapper-showcase .items .item .info .sale-price {
18300        font-size: 15px;
18301        font-weight: 600;
18302        color: #d21c1c;
18303        margin-top: 6px
18304    }
18305
18306    @media (min-width: 992px){
18307        .qk-app-popup-products {
18308                    }
18309        .qk-app-popup-products .wrapper-showcase {
18310            left: calc(50% - 375px);right: auto;top: calc(50% - 230px);bottom: auto;transform: scale(1);transform-origin: center ;margin: 0px;
18311        }
18312    }
18313    @media (max-width: 992px){
18314        .qk-app-popup-products {
18315                    }
18316        .qk-app-popup-products .wrapper-showcase {
18317            left: calc(50% - 375px);right: auto;top: calc(50% - 230px);bottom: auto;transform: scale(0.95);transform-origin: center ;margin: 0px;
18318            width: 100% !important;
18319            left: 0 !important;
18320            right: 0 !important;
18321        }
18322    }
18323</style>
18323<script type="text/javascript">
18324    $( window ).on("load", function() {
18325        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 () {
18326            let element = '.qk-app-popup-products';
18327
18328            // check current screen sizes
18329            let screen_width = (window.innerWidth || document.documentElement.clientWidth);
18330            if ((screen_width >= 992 && !$(element).data('desktop')) ||
18331                (screen_width < 992 && !$(element).data('mobile'))){
18332                return
18333            }
18334
18335            customAppScreenPosition(element);
18336
18337            // close button
18338            $(element+ ' .button-close').on('click', function () {
18339                $(element).remove();
18340            });
18341
18342            // fetch products
18343            var data = [
18344                {name: "type", value: 'visited'},
18345                {name: "limit", value: '10'},
18346            ];
18347
18348            ajaxFormGate(
18349                'POST', 'Category', 'getSimpleProducts', data, false, function(result){
18350                    if (result.length == 0){
18351                        $(element).remove();
18352                    }else{
18353                        $(element).find('.items').html(' ')
18354                        let item = '', html = '';
18355                        for(let i = 0; i < result.length; i++){
18356                            item = result[i];
18357                            html = '';
18358                            html = html + '<a class="owl-carousel-item item" href="'+ item.link +'">';
18359                            html = html + '<div class="image">';
18360                            html = html + '<img src="'+ item.resim +'" alt="" />';
18361                            html = html + '</div>';
18362                            html = html + '<div class="info">';
18363                            html = html + '<span class="title">'+ item.adi +'</span>';
18364                            if (item.indirim){
18365                                html = html + '<span class="list-price">'+ item.piyasa_fiyati +'</span>';
18366                            }
18367                            html = html + '<span class="sale-price">'+ item.fiyat +'</span>';
18368                            html = html + '</div>';
18369                            html = html + '</a>';
18370                            $(element).find('.items').append(html)
18371                        }
18372                        createOwlCarousel('qk-app-popup-products-items', {"0":{"items":2},"992":{"items":3}});
18373                    }
18374                },
18375                false
18376            )
18377
18378        });
18379    });
18380</script>
18380<div class="cookie-agreement-module"
18381     tabindex="-1"
18382     data-desktop="true"
18383     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">
18384                Kabul Ediyorum
18385            </button></div></div><style type="text/css">
18386    .cookie-agreement-module {
18387                    z-index: 9999999;
18388            position: fixed;
18389                background: rgba(0, 0, 0, 0.97);
18390                border-radius: 35px;
18391    }
18392    .cookie-agreement-module .cam-contents {
18393        position: relative;
18394        display: flex;
18395        justify-content: center;
18396        align-items: center;
18397        min-height: 110px;
18398        width: 100%;
18399                    padding: 5px 15px;
18400            max-width: 360px;
18401            margin: 0 auto;
18402            }
18403    .cookie-agreement-module .items {
18404        flex: 1;
18405        text-align: left;
18406    }
18407    .cookie-agreement-module .items .title {
18408        color: #ffffff !important;
18409        font-size: 14px !important;
18410        margin-bottom: 5px;
18411        font-weight: 500;
18412    }
18413    .cookie-agreement-module .items .description {
18414        color: #ffffff !important;
18415        font-size: 13px !important;
18416    }
18417    .cookie-agreement-module .items .description a {
18418        color: #ffffff !important;
18419        font-size: 13px !important;
18420        text-decoration: none !important;
18421    }
18422    .cookie-agreement-module .cam-btn {
18423        border: 0 !important;
18424        border-radius: 3px !important;
18425        display: inline-block !important;
18426        padding: 7px 10px;
18427        font-weight: 600;
18428        background: #ffffff;
18429        color: #000000;
18430        font-size: 13px;
18431                    margin-left: 10px;
18432            }
18433    .cookie-agreement-module .button-close {
18434        cursor: pointer;
18435        font-size: 13px;
18436        color: #000000;
18437                    margin-left: 10px;
18438            }
18439    @media (min-width: 992px){
18440        .cookie-agreement-module {
18441            left: calc(50% - 180px);right: auto;top: auto;bottom: 15px;transform: scale(0.75);transform-origin:  bottom;margin: 0px;
18442                                        left: 0 !important;
18443                right: 0 !important;
18444                    }
18445                    .cookie-agreement-module .cam-contents {
18446                max-width: initial;
18447            }
18448            }
18449    @media (max-width: 992px){
18450        .cookie-agreement-module {
18451            left: calc(50% - 180px);right: auto;top: auto;bottom: 5px;transform: scale(0.95);transform-origin:  bottom;margin: 0px;
18452                                        left: 0 !important;
18453                right: 0 !important;
18454                    }
18455                    .cookie-agreement-module .cam-contents {
18456                padding: 8px;
18457                flex-direction: column;
18458                align-items: flex-start;
18459            }
18460            .cookie-agreement-module .cam-btn {
18461                margin: 10px auto 0 auto;
18462            }
18463            }
18464</style>
18464<script type="text/javascript">
18465    $( window ).on("load", function() {
18466        let element = '.cookie-agreement-module';
18467        // check current screen sizes
18468        let screen_width = (window.innerWidth || document.documentElement.clientWidth);
18469        if ((screen_width >= 992 && !$(element).data('desktop')) ||
18470            (screen_width < 992 && !$(element).data('mobile'))){
18471            return
18472        }
18473
18474        customAppScreenPosition(element);
18475    });
18476
18477    function cookieAgreement(){
18478        ajaxFormGate(
18479            'POST', 'Visitor', 'cookieAgreement', [], false, function(result){
18480                $('.cookie-agreement-module').remove();
18481            },
18482            false
18483        );
18484    }
18485</script>
18485<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>
18485<script type="text/javascript">
18486        var swal_alert_timer = 10;
18487    </script>
18487<script type="text/javascript" src="https://www.vezzalux.com/theme/___sirius/assets/scripts.js?v=1653353722" /></script>
18487<script type="text/javascript">
18488            $(function () {
18489                $('.addons-marquee-bar').marquee({
18490                    pauseOnHover: true,
18491                    direction: 'left',
18492                    duration: 60000,
18493                    duplicated: true,
18494                    startVisible: true,
18495                    delayBeforeStart: 0
18496                });
18497            });
18498        </script>
18498<style>
18499body.lux-size-filter-active #luxNativePagination,
18500.lux-category-products-area.is-lux-filter-active + #luxNativePagination {
18501    display: none !important;
18502}
18503
18504.lux-custom-empty {
18505    padding: 40px 10px;
18506    text-align: center;
18507    color: #999;
18508    font-size: 14px;
18509}
18510
18511.lux-custom-pagination {
18512    display: flex;
18513    justify-content: center;
18514    align-items: center;
18515    gap: 6px;
18516    flex-wrap: wrap;
18517    margin: 34px 0 20px;
18518    padding: 0;
18519    list-style: none;
18520}
18521
18522.lux-custom-pagination button,
18523.lux-custom-pagination span {
18524    min-width: 38px;
18525    height: 38px;
18526    padding: 0 12px;
18527    border: 1px solid #ddd;
18528    background: #fff;
18529    color: #333;
18530    font-size: 13px;
18531    font-weight: 500;
18532    cursor: pointer;
18533    border-radius: 2px;
18534    transition: all .2s ease;
18535}
18536
18537.lux-custom-pagination button:hover {
18538    border-color: #111;
18539    color: #111;
18540}
18541
18542.lux-custom-pagination button.is-active {
18543    background: #111;
18544    border-color: #111;
18545    color: #fff;
18546    cursor: default;
18547}
18548
18549.lux-custom-pagination button:disabled {
18550    opacity: .45;
18551    cursor: not-allowed;
18552}
18553
18554.lux-custom-pagination span {
18555    display: inline-flex;
18556    align-items: center;
18557    justify-content: center;
18558    border: none;
18559    color: #aaa;
18560    cursor: default;
18561}
18562</style>
18562<script type="text/javascript">
18563const CATEGORY_PAGE_DATA = {
18564    k: '',
18565    url: 'https://www.vezzalux.com/e-ayakkabi',
18566    filtreleme: 'bd80ad94fd2a696434eb9b254e2bd412OktpoC6pg7TqedcowYbu/3qxiN85Mgw+Y5Rl+r5uZgI7MR69DRB1yt71ODJq9ZolP4JfQFhj/KSQuht5D2LqhwyI76XOdMd5k4qv1IV1xuti8ubuxXfpNF8WeACc1U+mEI2sesey70jPCRJhpOO9nbYFiQ8njKlakPRIPHVony+FQ1D57aUVroOBf3o/rfswJ2XLKcN6+7TxYl+msYrVYh7WSZwmwQrMsrg2647NJAu9xaQCN5s5PVv/aoBi+AepwfH+U3740zS4pdR7VKGVqE/es2XInVhASDgHxkviJO3/LxUERd4c6PQILblhBIYKVTdVf+G8mYw7QeCn5DVtD7MikIPK6tWeMY7hM4aXxbeZQsqS90Z4aAkAmaOaqlAR3qkSF2cNHgOV5qqtrJlsom7hQBNy5phILZNoSADqxVnHP7XR6iQg+I80B14U9MOxf4krli2COIhfDBn5DLPqfQNz0+ehQGqZMqG4Qprs6EG07KNNbsPnXdr6jC2W/ToiBEGFH2ibUqoKH4t1Vy18GV2RoBcItJlm3JFEkdaGnWXmKYYiUTfl7dOO9Vm9TEqoDf3Ge3mNst07cQDunEzPDchMFtYn3EqnCNux9tnUZ5tWpsd7teaL4iSQ5atOhqqtdjfZ3riZqWoqduwzp43MycqwybWt6rUaqioKWcRWw1KPxQ+hm0Ik/duQL0TTdqZL4AWBE+HrxZg4XMqCazTbR3M1M7J04CXPQ6E2ha8tMcAgl4EStp9CPXLg5BpB4dsd1+bsgVFZK1oXpGz752jxeotl2vVBoGd03G4baLcD52y6PWhkhrhIMv5W3vGPEIhNZkpXjcz/8jluwKIt8+stYcfjvzz2nR0lRgdOC2tCDF2j/vYMPtzFTVlZw/KKnlwdaV7Z4fQUpBceDvhFvMO/iGKZ7NIohsw8/cyP6e8ge656pXe7mRgB9mriYg0SfMQRhe+SBclgrI8zbHEgRirGgaZEkxOHRerbuie9KBJ91XK2ZKkT2R58vEnfcqIQHQ7sTGETukbq+4iwaW/r5rPoXNO+UWtuI8+mdeCjyloN+Gff5l6pWOTlwvvt/EwaklbDn6Zt8vQ28pEKSfelv4n1onXwYLFgn+8Gtufur0tH1HoV3LeOKoMdnF15R9AnEyxbUUOADetEElCZ6zIqd5MEEg+tpL6aP7CS6ggSAPsOZN3POg=='
18567};
18568
18569$(function(){
18570    smartCategoryFilters(CATEGORY_PAGE_DATA);
18571
18572    if (localStorage.getItem('category-view-type') == 2){
18573        categoryViewType(6, 6, 2);
18574    } else if (localStorage.getItem('category-view-type') == 3){
18575        categoryViewType(4, 4, 3);
18576    } else if (localStorage.getItem('category-view-type') == 4){
18577        categoryViewType(4, 3, 4);
18578    }
18579});
18580
18581function categoryViewType(cls1, cls2, type){
18582    $(".p-g-mod-t-20 .col-list-p-v-1, #luxProductGrid .col-list-p-v-1").removeClass()
18583        .addClass("col-6 col-sm-6 col-md-6 col-lg-"+cls1+" col-xl-"+cls2+" col-list-p-v-1");
18584
18585    localStorage.setItem('category-view-type', type);
18586}
18587
18588if (localStorage.getItem('category-view-type') == 2){
18589    $(".two-view").addClass("active");
18590} else if (localStorage.getItem('category-view-type') == 3){
18591    $(".three-view").addClass("active");
18592} else if (localStorage.getItem('category-view-type') == 4){
18593    $(".four-view").addClass("active");
18594}
18595
18596$(".two-view").click(function(){
18597    $(".product-view-select a").removeClass("active");
18598    $(".two-view").addClass("active");
18599});
18600
18601$(".three-view").click(function(){
18602    $(".product-view-select a").removeClass("active");
18603    $(".three-view").addClass("active");
18604});
18605
18606$(".four-view").click(function(){
18607    $(".product-view-select a").removeClass("active");
18608    $(".four-view").addClass("active");
18609});
18610
18611function catFilterOrder(element){
18612    $("#cat-filter-order-"+$(element).val()).prop('checked', true).click();
18613}
18614</script>
18614<style type="text/css">
18615            .swal-modal {
18616                background: #fff !important;
18617                border-radius: 10px !important;
18618                padding: 0 !important;
18619            }
18620            .swal-footer {
18621                background: #F1F1F1 !important;
18622                border-radius: 0 0 10px 10px;
18623                padding: 10px;
18624                text-align: center;
18625            }
18626            .swal-footer .swal-button:focus {
18627                box-shadow: none;
18628            }
18629            .swal-title {
18630                font-size: 20px!important;
18631                margin-top: 15px!important;
18632                margin-bottom: 10px!important;
18633            }
18634            .swal-text {
18635                font-size: 15px!important;
18636                font-weight: 500!important;
18637                color: #555!important;
18638                padding: 0 10px!important;
18639            }
18640            .swal-icon {
18641                margin: 5px auto
18642            }
18643            .swal-icon--success {
18644                color: #fff !important;
18645            }
18646            .swal-icon--success__ring {
18647                background: #a5dc86;
18648                z-index: 1
18649            }
18650            .swal-icon--success__hide-corners {
18651                background: transparent;
18652            }
18653            .swal-icon--success__line {
18654                background: #fff;
18655            }
18656            .swal-icon--error {
18657                background: #f27474;
18658            }
18659            .swal-icon--error__line {
18660                background: #fff;
18661            }
18662        </style>
18662<script type="text/javascript">
18663
18664        $(function(){
18665
18666                                    
18667                                        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":"10731","item_name":"Cl 1302 Ye\u015fil Loafer Erkek Ayakkab\u0131","item_brand":"Christian Louboutin","price":12500,"index":0,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Loafer"},{"item_id":"10741","item_name":"Bottega 1314 Kahverengi S\u00fcet Loafer Erkek Ayakkab\u0131","item_brand":"Bottega Veneta","price":13500,"index":1,"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":6499,"index":2,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Bot"},{"item_id":"10215","item_name":"Lv 872 Turkuaz Erkek Ayakkab\u0131","item_brand":"Louis Vuitton","price":6499,"index":3,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"9791","item_name":"Fendi 922 Bej Loafer Erkek Ayakkab\u0131","item_brand":"Fendi","price":6499,"index":4,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Loafer"},{"item_id":"10306","item_name":"Mcq 983 Full Beyaz Desenli Erkek Ayakkab\u0131","item_brand":"Alexander Mcqueen","price":6499,"index":5,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10162","item_name":"Gg 805 Arkas\u0131 K\u0131rm\u0131z\u0131 Erkek Ayakkab\u0131","item_brand":"Golden Goose","price":6499,"index":6,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10262","item_name":"Fendi 931 Siyah Sar\u0131 Beyaz Erkek Ayakkab\u0131","item_brand":"Fendi","price":6499,"index":7,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10733","item_name":"Cl 1301 Gri Loafer Erkek Ayakkab\u0131","item_brand":"Christian Louboutin","price":12500,"index":8,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Loafer"},{"item_id":"10452","item_name":"Cl 1169 Siyah Sneaker Erkek Ayakkab\u0131","item_brand":"Christian Louboutin","price":12500,"index":9,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10201","item_name":"Gg 856 Arkas\u0131 Gold Erkek Ayakkab\u0131","item_brand":"Golden Goose","price":6499,"index":10,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10289","item_name":"Prada 962 Deri Siyah T\u0131rnakl\u0131 Erkek Ayakkab\u0131","item_brand":"Prada","price":6499,"index":11,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10250","item_name":"Lora 914 Krem Bo\u011fazl\u0131 Erkek Ayakkab\u0131","item_brand":"Lora piana","price":6499,"index":12,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Bot"},{"item_id":"10236","item_name":"Dg 894 Siyah Gri Erkek Ayakkab\u0131","item_brand":"Dolce Gabbana","price":6499,"index":13,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10454","item_name":"Prada 1171 Krem Loafer S\u00fcet Erkek Ayakkab\u0131","item_brand":"Prada","price":12500,"index":14,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Loafer"},{"item_id":"10334","item_name":"Dior 1015 Full Gri Beyaz Taban Erkek Ayakkab\u0131","item_brand":"Dior","price":6499,"index":15,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10177","item_name":"Amiri 823 Siyah Erkek Ayakkab\u0131","item_brand":"Amiri","price":6499,"index":16,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10273","item_name":"Dior 943 Siyah Logosu Kuma\u015f Erkek Ayakkab\u0131","item_brand":"Dior","price":6499,"index":17,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10164","item_name":"Gg 807 Siyah Bo\u011fazl\u0131 Beyaz Y\u0131ld\u0131z Erkek Ayakkab\u0131","item_brand":"Golden Goose","price":6499,"index":18,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Bo\u011fazl\u0131 Sneaker"},{"item_id":"10305","item_name":"Mcq 982 Ful Beyaz Arkas\u0131 Fermarl\u0131 Erkek Ayakkab\u0131","item_brand":"Alexander Mcqueen","price":6499,"index":19,"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":6499,"index":20,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10261","item_name":"Fendi 930 Siyah Sar\u0131 Erkek Ayakkab\u0131","item_brand":"Fendi","price":6499,"index":21,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"},{"item_id":"10451","item_name":"Cl 1168 Gri Sneaker Erkek Ayakkab\u0131","item_brand":"Christian Louboutin","price":12500,"index":22,"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":6499,"index":23,"item_category":"ERKEK","item_category2":"Ayakkab\u0131","item_category3":"Sneaker"}]}},{"platform":"facebook","event_name":"ViewContent","event_id":"","encrypted_data":"","params":{"content_name":"ERKEK > Ayakkab\u0131","content_type":"product","content_ids":["10731","10741","10329","10215","9791","10306","10162","10262","10733","10452","10201","10289","10250","10236","10454","10334","10177","10273","10164","10305","10158","10261","10451","10200"]}}]);
18668            
18669                                });
18670    </script>
18670<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>
18670
18671</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.