:root {
–primary: #0a1f3d;
–primary-light: #132d54;
–primary-dark: #060e1a;
–accent: #c9a84c;
–accent-light: #e8c95a;
–accent-glow: rgba(201, 168, 76, 0.4);
–gold-gradient: linear-gradient(135deg, #c9a84c, #f0d780, #c9a84c);
–premium-gradient: linear-gradient(135deg, #0a1f3d 0%, #1a3a6b 50%, #0a1f3d 100%);
–dark-gradient: linear-gradient(180deg, #060e1a 0%, #0a1f3d 50%, #060e1a 100%);
–glass-bg: rgba(255, 255, 255, 0.04);
–glass-border: rgba(255, 255, 255, 0.08);
–text-white: #ffffff;
–text-light: #b8c5d9;
–text-muted: #7a8ba3;
–success: #27ae60;
–danger: #e74c3c;
–shadow-gold: 0 0 30px rgba(201, 168, 76, 0.2);
–radius: 16px;
–radius-sm: 8px;
–radius-lg: 24px;
–transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}.ft-page{font-family:'Poppins','Noto Sans Bengali',sans-serif;background:var(–primary-dark);color:var(–text-white);overflow-x:hidden;width:100%;max-width:100vw;position:relative;}
.ft-page img{max-width:100%;height:auto;display:block;}
.ft-page a{text-decoration:none;color:inherit;}#ftBubbleCanvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;}@keyframes ft-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes ft-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes ft-shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes ft-slideInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
@keyframes ft-rotateGlow{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes ft-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes ft-fadeOut{to{opacity:0;transform:translateX(100px)}}
@keyframes ft-scaleIn{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}
@keyframes ft-confetti{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}
@keyframes ft-checkmark{0%{stroke-dashoffset:100}100%{stroke-dashoffset:0}}
@keyframes ft-popIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}.ft-reveal{opacity:0;transform:translateY(30px);transition:all 0.7s cubic-bezier(0.4,0,0.2,1);}
.ft-reveal.ft-visible{opacity:1;transform:translateY(0);}.ft-section{position:relative;z-index:1;padding:80px 20px;width:100%;}
.ft-container{max-width:1200px;margin:0 auto;width:100%;}/* Section Headers */
.ft-section-header{text-align:center;margin-bottom:60px;position:relative;padding-bottom:20px;}
.ft-section-header::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:2px;background:var(–gold-gradient);border-radius:10px;}
.ft-section-label{display:inline-flex;align-items:center;gap:8px;padding:6px 20px;background:linear-gradient(135deg,rgba(201,168,76,0.08),rgba(201,168,76,0.15));border:1px solid rgba(201,168,76,0.2);border-radius:50px;font-size:11px;font-weight:600;color:var(–accent);letter-spacing:3px;text-transform:uppercase;margin-bottom:18px;}
.ft-section-label i{font-size:10px;}
.ft-section-heading{font-size:clamp(22px,4.5vw,38px);font-weight:800;line-height:1.3;margin-bottom:10px;color:var(–text-white);}
.ft-heading-accent{background:linear-gradient(135deg,#c9a84c,#f0d780);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ft-section-sub{font-size:14px;color:var(–text-muted);max-width:500px;margin:0 auto;line-height:1.6;}/* Hero */
.ft-hero{position:relative;width:100%;overflow:hidden;background:var(–primary-dark);}
.ft-hero-topbar{position:absolute;top:0;left:0;right:0;z-index:10;padding:15px 20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,rgba(6,14,26,0.7),transparent);}
.ft-hero-topbar img{height:50px;width:auto;filter:drop-shadow(0 2px 10px rgba(201,168,76,0.3));}
.ft-hero-slider{position:relative;width:100%;}
.ft-hero-slide{display:none;width:100%;}
.ft-hero-slide.ft-active{display:block;}
.ft-hero-slide img{width:100%;height:auto;display:block;}
.ft-hero-bottom-fade{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent,var(–primary-dark));z-index:5;pointer-events:none;}
.ft-hero-dots{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:8;}
.ft-hero-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.3);cursor:pointer;transition:var(–transition);border:none;}
.ft-hero-dot.ft-active{background:var(–accent);box-shadow:0 0 12px var(–accent-glow);transform:scale(1.3);}/* Gallery */
.ft-gallery-section{background:var(–dark-gradient);padding:100px 20px;}
.ft-gv-wrapper{display:grid;grid-template-columns:1fr 400px;gap:25px;width:100%;}
.ft-gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(2,250px);gap:10px;width:100%;}
.ft-gallery-item{position:relative;overflow:hidden;border-radius:var(–radius-sm);cursor:pointer;border:1px solid var(–glass-border);transition:var(–transition);}
.ft-gallery-item::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(10,31,61,0.7),transparent);z-index:1;opacity:0;transition:var(–transition);}
.ft-gallery-item:hover::before{opacity:1;}
.ft-gallery-item:hover{transform:translateY(-4px);box-shadow:var(–shadow-gold);border-color:rgba(201,168,76,0.3);}
.ft-gallery-item img{width:100%;height:100%;object-fit:cover;transition:var(–transition);}
.ft-gallery-item:hover img{transform:scale(1.08);}
.ft-gallery-zoom{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);z-index:2;width:44px;height:44px;background:rgba(201,168,76,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(–primary-dark);font-size:16px;transition:var(–transition);}
.ft-gallery-item:hover .ft-gallery-zoom{transform:translate(-50%,-50%) scale(1);}.ft-lightbox{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.95);z-index:999999;align-items:center;justify-content:center;padding:20px;}
.ft-lightbox.ft-show{display:flex;}
.ft-lightbox img{max-width:90%;max-height:90vh;border-radius:var(–radius);}
.ft-lightbox-close{position:absolute;top:20px;right:30px;font-size:36px;color:var(–accent);cursor:pointer;background:none;border:none;transition:var(–transition);z-index:2;}.ft-video-box{position:relative;border-radius:var(–radius-lg);overflow:hidden;border:1px solid rgba(201,168,76,0.3);height:100%;min-height:512px;background:var(–primary);}
.ft-video-box iframe{width:100%;height:100%;min-height:512px;border:none;}
.ft-video-glow-ring{position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:var(–radius-lg);background:conic-gradient(from 0deg,rgba(201,168,76,0.3),transparent,rgba(201,168,76,0.3),transparent);z-index:-1;animation:ft-rotateGlow 6s linear infinite;opacity:0.4;}/* Details – FIXED FOR MOBILE */
.ft-details-section{background:var(–premium-gradient);padding:100px 20px;position:relative;}
.ft-details-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,0.3),transparent);}
.ft-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;width:100%;}
.ft-carousel-wrap{position:relative;border-radius:var(–radius-lg);width:100%;overflow:hidden;}
.ft-carousel-main{position:relative;width:100%;padding-bottom:100%;overflow:hidden;border-radius:var(–radius-lg);border:1px solid var(–glass-border);}
.ft-carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 0.5s ease;}
.ft-carousel-slide.ft-active{opacity:1;}
.ft-carousel-slide img{width:100%;height:100%;object-fit:cover;}
.ft-carousel-caption{position:absolute;bottom:0;left:0;right:0;padding:18px 22px;background:linear-gradient(to top,rgba(6,14,26,0.9),transparent);font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;}
.ft-carousel-caption i{color:var(–accent);}
.ft-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;background:rgba(201,168,76,0.85);border:none;border-radius:50%;color:var(–primary-dark);font-size:16px;cursor:pointer;transition:var(–transition);z-index:3;display:flex;align-items:center;justify-content:center;}
.ft-carousel-nav:hover{background:var(–accent);transform:translateY(-50%) scale(1.1);}
.ft-carousel-prev{left:12px;}
.ft-carousel-next{right:12px;}
.ft-carousel-thumbs{display:flex;gap:6px;margin-top:12px;overflow-x:auto;padding:4px 0;width:100%;scrollbar-width:none;}
.ft-carousel-thumbs::-webkit-scrollbar{display:none;}
.ft-carousel-thumb{flex-shrink:0;width:55px;height:55px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:var(–transition);opacity:0.4;}
.ft-carousel-thumb.ft-active{border-color:var(–accent);opacity:1;box-shadow:0 0 12px var(–accent-glow);}
.ft-carousel-thumb img{width:100%;height:100%;object-fit:cover;}.ft-details-content{width:100%;overflow:hidden;}
.ft-details-content h3{font-size:22px;font-weight:800;margin-bottom:25px;color:var(–accent);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ft-feature-list{list-style:none;display:flex;flex-direction:column;gap:14px;width:100%;}
.ft-feature-item{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:var(–glass-bg);border:1px solid var(–glass-border);border-radius:var(–radius);transition:var(–transition);position:relative;overflow:hidden;width:100%;}
.ft-feature-item::before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:var(–gold-gradient);opacity:0;transition:var(–transition);}
.ft-feature-item:hover::before{opacity:1;}
.ft-feature-item:hover{transform:translateX(6px);border-color:rgba(201,168,76,0.2);}
.ft-feature-icon{flex-shrink:0;width:36px;height:36px;background:rgba(201,168,76,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(–accent);font-size:15px;}
.ft-feature-text{font-size:13.5px;line-height:1.7;color:var(–text-light);flex:1;min-width:0;overflow-wrap:break-word;word-wrap:break-word;}/* Size Guide */
.ft-size-section{background:var(–dark-gradient);padding:100px 20px;}
.ft-size-table-wrap{overflow-x:auto;border-radius:var(–radius-lg);border:1px solid var(–glass-border);background:var(–glass-bg);width:100%;-webkit-overflow-scrolling:touch;}
.ft-size-table{width:100%;border-collapse:collapse;min-width:600px;}
.ft-size-table thead{background:linear-gradient(135deg,var(–accent),var(–accent-light));}
.ft-size-table thead th{padding:16px 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(–primary-dark);text-align:center;white-space:nowrap;}
.ft-size-table tbody tr{border-bottom:1px solid var(–glass-border);transition:var(–transition);}
.ft-size-table tbody tr:hover{background:rgba(201,168,76,0.05);}
.ft-size-table tbody td{padding:14px;text-align:center;font-size:13px;color:var(–text-light);white-space:nowrap;}
.ft-size-table tbody td:first-child{font-weight:700;color:var(–accent);font-size:15px;}
.ft-size-table tbody tr:last-child{border-bottom:none;}
.ft-size-note{text-align:center;margin-top:18px;font-size:12px;color:var(–text-muted);}/* Offer */
.ft-offer-section{padding:0;position:relative;overflow:hidden;background:linear-gradient(135deg,#0a1f3d,#162d50,#0a1f3d);width:100%;}
.ft-offer-marquee-wrap{padding:12px 0;background:var(–accent);overflow:hidden;width:100%;}
.ft-offer-marquee{display:flex;animation:ft-marquee 22s linear infinite;width:max-content;}
.ft-offer-marquee-text{display:flex;align-items:center;gap:25px;padding:0 25px;white-space:nowrap;font-size:13px;font-weight:700;color:var(–primary-dark);text-transform:uppercase;letter-spacing:2px;}
.ft-offer-marquee-text i{font-size:16px;}
.ft-offer-main{padding:70px 20px;text-align:center;position:relative;}
.ft-offer-main::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,0.06),transparent);pointer-events:none;}
.ft-offer-badge-tag{display:inline-block;padding:8px 25px;background:rgba(231,76,60,0.15);border:1.5px solid rgba(231,76,60,0.5);border-radius:50px;color:#ff6b6b;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:25px;animation:ft-pulse 1.5s ease-in-out infinite;}
.ft-offer-cards{display:flex;gap:25px;justify-content:center;flex-wrap:wrap;margin-top:35px;}
.ft-offer-card{padding:35px 30px;background:var(–glass-bg);border:1.5px solid rgba(201,168,76,0.3);border-radius:var(–radius-lg);text-align:center;min-width:250px;max-width:380px;flex:1;position:relative;overflow:hidden;transition:var(–transition);animation:ft-float 5s ease-in-out infinite;}
.ft-offer-card:nth-child(2){animation-delay:1.5s;}
.ft-offer-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(201,168,76,0.05),transparent);animation:ft-rotateGlow 8s linear infinite;}
.ft-offer-card:hover{transform:translateY(-8px);box-shadow:var(–shadow-gold);border-color:var(–accent);}
.ft-offer-card-icon{font-size:42px;color:var(–accent);margin-bottom:15px;position:relative;z-index:1;}
.ft-offer-card h3{font-size:18px;font-weight:800;color:var(–text-white);margin-bottom:8px;position:relative;z-index:1;}
.ft-offer-card p{font-size:14px;color:var(–accent-light);font-weight:600;position:relative;z-index:1;}
.ft-offer-highlight{font-size:30px;font-weight:900;color:var(–accent);display:block;margin:8px 0;text-shadow:0 0 15px var(–accent-glow);position:relative;z-index:1;}/* Products */
.ft-products-section{background:var(–premium-gradient);padding:100px 20px;}
.ft-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;width:100%;}
.ft-product-card{background:var(–glass-bg);border:1px solid var(–glass-border);border-radius:var(–radius-lg);overflow:hidden;transition:var(–transition);position:relative;width:100%;}
.ft-product-card:hover{transform:translateY(-6px);border-color:rgba(201,168,76,0.3);box-shadow:var(–shadow-gold);}
.ft-product-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(–gold-gradient);opacity:0;transition:var(–transition);}
.ft-product-card:hover::after{opacity:1;}
.ft-product-img-wrap{position:relative;width:100%;height:0;padding-bottom:120%;overflow:hidden;background:linear-gradient(135deg,#0d2341,#162d50);}
.ft-product-img-wrap img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:var(–transition);}
.ft-product-card:hover .ft-product-img-wrap img{transform:scale(1.06);}
.ft-sale-tag{position:absolute;top:10px;left:10px;padding:4px 12px;background:var(–danger);color:white;font-size:10px;font-weight:700;border-radius:50px;letter-spacing:1px;animation:ft-pulse 2s ease-in-out infinite;z-index:2;}
.ft-product-info{padding:14px;width:100%;}
.ft-product-name{font-size:14px;font-weight:700;color:var(–text-white);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ft-price-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.ft-price-old{font-size:13px;color:var(–text-muted);text-decoration:line-through;}
.ft-price-new{font-size:18px;font-weight:800;color:var(–accent);}
.ft-price-save{font-size:10px;padding:2px 7px;background:rgba(39,174,96,0.15);color:var(–success);border-radius:50px;font-weight:600;}
.ft-size-selector{display:flex;gap:5px;margin-bottom:10px;flex-wrap:wrap;width:100%;}
.ft-size-btn{padding:6px 12px;background:rgba(255,255,255,0.04);border:1.5px solid var(–glass-border);border-radius:6px;color:var(–text-light);font-size:12px;font-weight:600;cursor:pointer;transition:var(–transition);font-family:inherit;}
.ft-size-btn:hover{border-color:rgba(201,168,76,0.5);color:var(–accent);}
.ft-size-btn.ft-selected{background:var(–accent);border-color:var(–accent);color:var(–primary-dark);box-shadow:0 0 12px var(–accent-glow);}
.ft-qty-row{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:10px;width:100%;}
.ft-qty-btn{width:32px;height:32px;background:rgba(255,255,255,0.06);border:1px solid var(–glass-border);border-radius:6px;color:var(–text-white);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(–transition);font-family:inherit;flex-shrink:0;}
.ft-qty-btn:hover{border-color:var(–accent);color:var(–accent);}
.ft-qty-input{width:44px;height:32px;text-align:center;background:rgba(255,255,255,0.04);border:1px solid var(–glass-border);border-radius:6px;color:var(–text-white);font-size:14px;font-weight:600;font-family:inherit;flex-shrink:0;}
.ft-qty-input:focus{outline:none;border-color:var(–accent);}
.ft-add-btn{width:100%;padding:11px 8px;background:var(–gold-gradient);border:none;border-radius:var(–radius-sm);color:var(–primary-dark);font-size:13px;font-weight:700;cursor:pointer;transition:var(–transition);display:flex;align-items:center;justify-content:center;gap:6px;text-transform:uppercase;letter-spacing:0.5px;font-family:inherit;}
.ft-add-btn:hover{transform:scale(1.02);box-shadow:var(–shadow-gold);}
.ft-add-btn:disabled{opacity:0.4;cursor:not-allowed;transform:none;}
.ft-add-btn.ft-added{background:linear-gradient(135deg,#27ae60,#2ecc71);color:white;}/* Checkout */
.ft-checkout-section{background:var(–dark-gradient);padding:100px 20px;}
.ft-checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;width:100%;}
.ft-form-side{background:var(–glass-bg);border:1px solid var(–glass-border);border-radius:var(–radius-lg);padding:35px;width:100%;}
.ft-form-title{font-size:22px;font-weight:800;color:var(–accent);margin-bottom:25px;display:flex;align-items:center;gap:10px;}
.ft-form-group{margin-bottom:18px;width:100%;}
.ft-form-group label{display:block;font-size:12px;font-weight:600;color:var(–text-light);margin-bottom:6px;text-transform:uppercase;letter-spacing:1px;}
.ft-form-group .ft-req{color:var(–danger);}
.ft-input{width:100%;padding:13px 16px;background:rgba(255,255,255,0.04);border:1.5px solid var(–glass-border);border-radius:var(–radius);color:var(–text-white);font-size:14px;font-family:inherit;transition:var(–transition);}
.ft-input:focus{outline:none;border-color:var(–accent);box-shadow:0 0 12px rgba(201,168,76,0.15);}
.ft-input::placeholder{color:var(–text-muted);}
textarea.ft-input{resize:vertical;min-height:70px;}
select.ft-input{appearance:none;background-image:url(“data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23c9a84c' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E”);background-repeat:no-repeat;background-position:calc(100% – 14px) center;padding-right:38px;}.ft-cart-side{background:var(–glass-bg);border:1px solid var(–glass-border);border-radius:var(–radius-lg);padding:35px;position:sticky;top:20px;max-height:calc(100vh – 40px);overflow-y:auto;width:100%;}
.ft-cart-side::-webkit-scrollbar{width:4px;}
.ft-cart-side::-webkit-scrollbar-thumb{background:var(–accent);border-radius:10px;}
.ft-cart-title{font-size:22px;font-weight:800;color:var(–accent);margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.ft-cart-items{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;max-height:350px;overflow-y:auto;padding-right:4px;width:100%;}
.ft-cart-items::-webkit-scrollbar{width:3px;}
.ft-cart-items::-webkit-scrollbar-thumb{background:var(–accent);border-radius:10px;}
.ft-cart-empty{text-align:center;padding:35px 15px;color:var(–text-muted);font-size:14px;}
.ft-cart-empty i{font-size:45px;display:block;margin-bottom:12px;opacity:0.25;}
.ft-cart-item{display:flex;gap:10px;padding:12px;background:rgba(255,255,255,0.02);border:1px solid var(–glass-border);border-radius:var(–radius);align-items:center;transition:var(–transition);animation:ft-slideInRight 0.3s ease;width:100%;}
.ft-cart-item-img{width:50px;height:50px;border-radius:6px;overflow:hidden;flex-shrink:0;}
.ft-cart-item-img img{width:100%;height:100%;object-fit:cover;}
.ft-cart-item-info{flex:1;min-width:0;}
.ft-cart-item-name{font-size:13px;font-weight:600;color:var(–text-white);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ft-cart-item-meta{font-size:11px;color:var(–text-muted);}
.ft-cart-qty-wrap{display:flex;align-items:center;gap:3px;margin-top:4px;}
.ft-cart-qty-b{width:22px;height:22px;background:rgba(255,255,255,0.06);border:1px solid var(–glass-border);border-radius:4px;color:var(–text-white);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(–transition);font-family:inherit;}
.ft-cart-qty-b:hover{border-color:var(–accent);color:var(–accent);}
.ft-cart-qty-wrap span{font-size:12px;font-weight:600;min-width:20px;text-align:center;}
.ft-cart-item-price{font-size:13px;font-weight:700;color:var(–accent);white-space:nowrap;flex-shrink:0;}
.ft-cart-item-remove{width:26px;height:26px;background:rgba(231,76,60,0.1);border:none;border-radius:50%;color:var(–danger);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(–transition);font-size:11px;flex-shrink:0;}
.ft-cart-item-remove:hover{background:var(–danger);color:white;}.ft-offer-tag{padding:10px 14px;background:rgba(39,174,96,0.08);border:1px solid rgba(39,174,96,0.25);border-radius:var(–radius);margin-bottom:12px;font-size:12px;color:var(–success);display:flex;align-items:center;gap:8px;}
.ft-offer-tag.ft-hidden{display:none;}.ft-summary{border-top:1px solid var(–glass-border);padding-top:18px;width:100%;}
.ft-summary-row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px;color:var(–text-light);}
.ft-summary-row span:last-child{font-weight:600;}
.ft-summary-row.ft-green{color:var(–success);}
.ft-summary-row.ft-total-row{font-size:18px;font-weight:800;color:var(–text-white);border-top:2px solid var(–accent);padding-top:14px;margin-top:14px;}
.ft-summary-row.ft-total-row span:last-child{color:var(–accent);font-size:22px;}.ft-payment{margin:18px 0;padding:14px;background:rgba(255,255,255,0.02);border:1px solid var(–glass-border);border-radius:var(–radius);}
.ft-payment label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(–text-light);cursor:pointer;}
.ft-payment input[type=”radio”]{accent-color:var(–accent);}
.ft-payment-desc{font-size:11px;color:var(–text-muted);margin-top:6px;padding-left:22px;}.ft-order-btn{width:100%;padding:16px;background:var(–gold-gradient);border:none;border-radius:var(–radius);color:var(–primary-dark);font-size:16px;font-weight:800;cursor:pointer;transition:var(–transition);display:flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:2px;margin-top:18px;position:relative;overflow:hidden;font-family:inherit;}
.ft-order-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent);animation:ft-shimmer 3s infinite;}
.ft-order-btn:hover{transform:translateY(-2px);box-shadow:var(–shadow-gold);}
.ft-order-btn:disabled{opacity:0.4;cursor:not-allowed;transform:none;}
.ft-processing{display:none;text-align:center;padding:25px;}
.ft-processing.ft-show{display:block;}
.ft-spinner{width:44px;height:44px;border:3px solid var(–glass-border);border-top-color:var(–accent);border-radius:50%;animation:ft-rotateGlow 1s linear infinite;margin:0 auto 12px;}/* ============================================
SUCCESS POPUP
============================================ */
.ft-success-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.85);z-index:9999999;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(10px);}
.ft-success-overlay.ft-show{display:flex;}.ft-success-popup{background:linear-gradient(135deg,#0a1f3d,#132d54);border:2px solid var(–accent);border-radius:var(–radius-lg);padding:40px 35px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;text-align:center;position:relative;animation:ft-popIn 0.5s ease;box-shadow:0 0 60px rgba(201,168,76,0.3);}.ft-success-confetti{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden;border-radius:var(–radius-lg);}
.ft-confetti-piece{position:absolute;top:-10px;width:10px;height:10px;border-radius:2px;animation:ft-confetti 3s ease-in-out forwards;}.ft-success-check{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px rgba(39,174,96,0.4);}
.ft-success-check i{font-size:36px;color:white;}.ft-success-title{font-size:26px;font-weight:900;color:var(–accent);margin-bottom:8px;}
.ft-success-subtitle{font-size:15px;color:var(–text-light);margin-bottom:25px;}.ft-order-info{background:rgba(255,255,255,0.03);border:1px solid var(–glass-border);border-radius:var(–radius);padding:20px;margin-bottom:20px;text-align:left;}
.ft-order-info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.05);font-size:13px;color:var(–text-light);}
.ft-order-info-row:last-child{border-bottom:none;}
.ft-order-info-row span:first-child{color:var(–text-muted);}
.ft-order-info-row span:last-child{font-weight:600;color:var(–text-white);}
.ft-order-info-row.ft-order-total{border-top:2px solid var(–accent);margin-top:8px;padding-top:12px;font-size:16px;}
.ft-order-info-row.ft-order-total span:last-child{color:var(–accent);font-weight:800;font-size:20px;}.ft-order-items-list{margin-top:10px;}
.ft-order-item-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12px;color:var(–text-light);border-bottom:1px solid rgba(255,255,255,0.03);}
.ft-order-item-row:last-child{border-bottom:none;}.ft-success-msg{font-size:13px;color:var(–text-muted);margin-bottom:25px;line-height:1.7;padding:12px;background:rgba(39,174,96,0.08);border:1px solid rgba(39,174,96,0.2);border-radius:var(–radius);}.ft-success-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}.ft-success-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:50px;font-size:14px;font-weight:700;cursor:pointer;transition:var(–transition);border:none;font-family:inherit;text-decoration:none;}
.ft-success-btn:hover{transform:translateY(-2px);}.ft-btn-whatsapp{background:#25d366;color:white;}
.ft-btn-whatsapp:hover{box-shadow:0 0 20px rgba(37,211,102,0.4);}
.ft-btn-facebook{background:#1877f2;color:white;}
.ft-btn-facebook:hover{box-shadow:0 0 20px rgba(24,119,242,0.4);}
.ft-btn-continue{background:var(–gold-gradient);color:var(–primary-dark);}
.ft-btn-continue:hover{box-shadow:var(–shadow-gold);}/* Toast */
.ft-toast-box{position:fixed;top:20px;right:20px;z-index:99999999;display:flex;flex-direction:column;gap:8px;max-width:calc(100vw – 40px);}
.ft-toast{padding:14px 20px;background:rgba(10,31,61,0.95);border:1px solid rgba(201,168,76,0.4);border-radius:var(–radius);color:var(–text-white);font-size:13px;font-weight:500;box-shadow:var(–shadow-gold);animation:ft-slideInRight 0.4s ease,ft-fadeOut 0.4s ease 2.6s forwards;display:flex;align-items:center;gap:8px;max-width:320px;}
.ft-toast i{color:var(–accent);font-size:16px;flex-shrink:0;}/* Sticky Bar */
.ft-sticky-bar{position:fixed;bottom:0;left:0;right:0;background:rgba(6,14,26,0.97);backdrop-filter:blur(20px);border-top:1.5px solid var(–accent);padding:10px 18px;z-index:999998;display:none;align-items:center;justify-content:space-between;transform:translateY(100%);transition:var(–transition);}
.ft-sticky-bar.ft-show{transform:translateY(0);}
.ft-sticky-info{display:flex;align-items:center;gap:10px;}
.ft-sticky-count{width:32px;height:32px;background:var(–accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(–primary-dark);font-weight:800;font-size:13px;flex-shrink:0;}
.ft-sticky-total{font-size:16px;font-weight:700;color:var(–accent);}
.ft-sticky-btn{padding:10px 24px;background:var(–gold-gradient);border:none;border-radius:50px;color:var(–primary-dark);font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;flex-shrink:0;}/* ============================================
RESPONSIVE
============================================ */
@media(max-width:1024px){
.ft-gv-wrapper{grid-template-columns:1fr;}
.ft-gallery-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:auto;}
.ft-gallery-item{height:200px;}
.ft-video-box{min-height:400px;}.ft-video-box iframe{min-height:400px;}
.ft-details-grid{grid-template-columns:1fr;gap:40px;}
.ft-checkout-grid{grid-template-columns:1fr;}
.ft-cart-side{position:relative;top:auto;max-height:none;}
.ft-offer-cards{flex-direction:column;align-items:center;}
}
@media(max-width:768px){
.ft-section{padding:50px 15px;}
.ft-hero-topbar{padding:10px 15px;}.ft-hero-topbar img{height:40px;}
.ft-gallery-section{padding:60px 15px;}
.ft-gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px;}.ft-gallery-item{height:160px;}
.ft-video-box{min-height:350px;}.ft-video-box iframe{min-height:350px;}
.ft-carousel-main{padding-bottom:100%;}
.ft-products-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
.ft-product-info{padding:10px;}.ft-product-name{font-size:13px;}.ft-price-new{font-size:16px;}.ft-price-old{font-size:12px;}
.ft-form-side,.ft-cart-side{padding:20px 15px;}
.ft-sticky-bar{display:flex;}
.ft-section-header{margin-bottom:40px;}.ft-section-heading{font-size:20px;}.ft-section-label{font-size:10px;letter-spacing:2px;padding:5px 14px;}.ft-section-sub{font-size:12px;}
.ft-offer-card{min-width:auto;width:100%;padding:25px 15px;}
.ft-details-content h3{font-size:16px;}
.ft-feature-item{padding:12px;gap:10px;}.ft-feature-text{font-size:12px;}.ft-feature-icon{width:30px;height:30px;font-size:13px;}
.ft-carousel-thumb{width:45px;height:45px;}
.ft-success-popup{padding:25px 20px;margin:10px;}
.ft-success-title{font-size:22px;}
.ft-success-buttons{flex-direction:column;gap:10px;}
.ft-success-btn{justify-content:center;width:100%;}
}
@media(max-width:480px){
.ft-section{padding:40px 12px;}
.ft-hero-topbar img{height:35px;}
.ft-gallery-section{padding:40px 12px;}
.ft-gallery-grid{grid-template-columns:1fr 1fr;gap:6px;}.ft-gallery-item{height:140px;}
.ft-products-grid{grid-template-columns:1fr 1fr;gap:8px;}
.ft-product-info{padding:8px;}.ft-product-name{font-size:12px;margin-bottom:4px;}
.ft-price-row{margin-bottom:8px;gap:5px;}.ft-price-old{font-size:11px;}.ft-price-new{font-size:15px;}.ft-price-save{display:none;}
.ft-size-selector{gap:3px;margin-bottom:8px;}.ft-size-btn{padding:5px 8px;font-size:10px;}
.ft-qty-row{gap:3px;margin-bottom:8px;}.ft-qty-btn{width:28px;height:28px;font-size:14px;}.ft-qty-input{width:38px;height:28px;font-size:13px;}
.ft-add-btn{padding:9px 6px;font-size:11px;gap:4px;letter-spacing:0;}
.ft-section-heading{font-size:18px;}.ft-section-sub{font-size:11px;}
.ft-form-side,.ft-cart-side{padding:15px 12px;}
.ft-form-title,.ft-cart-title{font-size:18px;}
.ft-input{padding:11px 12px;font-size:13px;}
.ft-order-btn{padding:14px;font-size:14px;letter-spacing:1px;}
.ft-cart-item{padding:10px 8px;gap:8px;}.ft-cart-item-img{width:42px;height:42px;}.ft-cart-item-name{font-size:12px;}.ft-cart-item-price{font-size:12px;}.ft-cart-item-remove{width:22px;height:22px;font-size:10px;}
.ft-success-popup{padding:20px 15px;}
.ft-success-title{font-size:20px;}
.ft-success-check{width:65px;height:65px;}.ft-success-check i{font-size:28px;}
.ft-order-info-row{font-size:12px;}
.ft-success-btn{padding:12px 20px;font-size:13px;}
}
× Jam Color
Navy Blue
White
Maroon
Black
Sea Green
Sky Blue
Olive
Ash
Lemon
āĻĒā§āϰāĻŋāĻŽāĻŋāϝāĻŧāĻžāĻŽ āĻļāĻžāϰā§āĻā§āϰ āĻŦāĻŋāĻļā§āώ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ
āĻĒā§āϰāĻŋāĻŽāĻŋāϝāĻŧāĻžāĻŽ āĻĢā§āĻŦā§āϰāĻŋāĻ: āĻšāĻžāĻ āϏā§āĻĒā§āϝāĻžāύā§āĻĄā§āĻā§āϏ āĻ āϏāĻĢāĻ āĻĢā§āĻŦā§āϰāĻŋāĻ, āĻ
āϤā§āϝāύā§āϤ āĻāϰāĻžāĻŽāĻĻāĻžāϝāĻŧāĻāĨ¤
āϏā§āĻā§āϰā§āĻā§āĻŦāϞ āĻ āϰāĻŋāĻā§āĻā§āϞ-āĻĢā§āϰāĻŋ: āϏāĻšāĻā§ āĻāĻžāĻāĻ āĻĒāĻĄāĻŧā§ āύāĻž, āϏā§āĻŽāĻžāϰā§āĻ āϞā§āĻāĨ¤
āĻāĻžāϞāĻžāϰ āĻĢā§āĻĄ āύā§āĻ: āĻāĻžāϰā§āĻŽā§āύā§āĻāϏ āĻāϝāĻŧāĻžāĻļ, āϰāĻ āύāώā§āĻ āĻšāĻŦā§ āύāĻžāĨ¤
ā§§ā§Ļā§Ļ% QC Passed: āĻāĻ ā§āϰ Quality Control āĻĒāĻžāϏāĨ¤
āύāĻŋāĻāϏā§āĻŦ āĻāĻžāϰā§āĻŽā§āύā§āĻāϏ: āĻā§āϝāĻŧāĻžāϞāĻŋāĻāĻŋāϰ āĻāĻĒāϰ āĻĒā§āϰā§āĻŖ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖāĨ¤
Export Quality: āϏā§āĻāĻžāĻāϞ āĻ āĻāĻŽāĻĢā§āϰā§āĻā§āϰ āĻĒāĻžāϰāĻĢā§āĻā§āĻ āϏāĻŽāύā§āĻŦāϝāĻŧāĨ¤
Size Chest Length Collar Height Weight M 38″ 28″ 15 5'4″â5'5″ 50â57kg L 40″ 29″ 15.5 5'6″â5'7″ 60â68kg XL 42″ 30″ 16 5'8″â5'10″ 70â75kg 2XL 44″ 30.5″ 16.5 5'10″â5'11″ 76â85kg 3XL 46″ 31.5″ 17 5'11″â6'2″ 84â95kg
â ī¸ āϏāĻžāĻāĻ āύāĻŋāϰā§āĻŦāĻžāĻāύ⧠āϏāĻŽāϏā§āϝāĻž āĻšāϞ⧠āϝā§āĻāĻžāϝā§āĻ āĻāϰā§āύ
LIMITED TIME OFFER ā§ŠāĻāĻŋ āĻļāĻžāϰā§āĻ āĻāĻŋāύāϞ⧠āĻĢā§āϰāĻŋ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ ā§ŠāĻāĻŋ āĻļāĻžāϰā§āĻ āĻāĻŋāύāϞ⧠ā§Ŧā§Ļā§Ļā§ŗ āĻĄāĻŋāϏāĻāĻžāĻāύā§āĻ PREMIUM QUALITY
LIMITED TIME OFFER ā§ŠāĻāĻŋ āĻļāĻžāϰā§āĻ āĻāĻŋāύāϞ⧠āĻĢā§āϰāĻŋ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ ā§ŠāĻāĻŋ āĻļāĻžāϰā§āĻ āĻāĻŋāύāϞ⧠ā§Ŧā§Ļā§Ļā§ŗ āĻĄāĻŋāϏāĻāĻžāĻāύā§āĻ PREMIUM QUALITY
đĨ Limited Time Offer đĨ
āĻĢā§āϰāĻŋ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ đ ā§ŠāĻāĻŋ āĻļāĻžāϰā§āĻ āĻāĻŋāύāϞ⧠āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĢā§āϰāĻŋ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ!
ā§Ŧā§Ļā§Ļ āĻāĻžāĻāĻž āĻāĻžāĻĄāĻŧ đ° ā§Ŧā§Ļā§Ļā§ŗ OFF ā§ŠāĻāĻŋ āĻļāĻžāϰā§āĻ āĻāĻŋāύāϞ⧠ā§Ŧā§Ļā§Ļā§ŗ āĻĄāĻŋāϏāĻāĻžāĻāύā§āĻ!
ORDER NOW āϏā§āĻŽāĻŋāϤ āϏāĻŽāϝāĻŧā§āϰ āĻ
āĻĢāĻžāϰ BUY 3 GET FREE DELIVERY BUY 3 GET 600TK OFF
ORDER NOW āϏā§āĻŽāĻŋāϤ āϏāĻŽāϝāĻŧā§āϰ āĻ
āĻĢāĻžāϰ BUY 3 GET FREE DELIVERY BUY 3 GET 600TK OFF
SALE Jam Color ā§ŗā§§,ā§Ļā§Žā§Ļ ā§ŗā§Žā§Ģā§Ļ -ā§ŗ230
M L XL 2XL 3XL
â +
āϏāĻžāĻāĻ āϏāĻŋāϞā§āĻā§āĻ āĻāϰā§āύSALE Navy Blue ā§ŗā§§,ā§Ļā§Žā§Ļ ā§ŗā§Žā§Ģā§Ļ -ā§ŗ230
M L XL 2XL 3XL
â +
āϏāĻžāĻāĻ āϏāĻŋāϞā§āĻā§āĻ āĻāϰā§āύSALE White ā§ŗā§§,ā§Ļā§Žā§Ļ ā§ŗā§Žā§Ģā§Ļ -ā§ŗ230
M L XL 2XL 3XL
â +
āϏāĻžāĻāĻ āϏāĻŋāϞā§āĻā§āĻ āĻāϰā§āύSALE Maroon ā§ŗā§§,ā§Ļā§Žā§Ļ ā§ŗā§Žā§Ģā§Ļ -ā§ŗ230
M L XL 2XL 3XL
â +
āϏāĻžāĻāĻ āϏāĻŋāϞā§āĻā§āĻ āĻāϰā§āύSALE Black ā§ŗā§§,ā§Ļā§Žā§Ļ ā§ŗā§Žā§Ģā§Ļ -ā§ŗ230
M L XL 2XL 3XL
â +
āϏāĻžāĻāĻ āϏāĻŋāϞā§āĻā§āĻ āĻāϰā§āύSALE Sea Green ā§ŗā§§,ā§Ļā§Žā§Ļ ā§ŗā§Žā§Ģā§Ļ -ā§ŗ230
M L XL 2XL 3XL
â +
āϏāĻžāĻāĻ āϏāĻŋāϞā§āĻā§āĻ āĻāϰā§āύSALE Sky Blue ā§ŗā§§,ā§Ļā§Žā§Ļ ā§ŗā§Žā§Ģā§Ļ -ā§ŗ230
M L XL 2XL 3XL
â +
āϏāĻžāĻāĻ āϏāĻŋāϞā§āĻā§āĻ āĻāϰā§āύSALE Olive ā§ŗā§§,ā§Ļā§Žā§Ļ ā§ŗā§Žā§Ģā§Ļ -ā§ŗ230
M L XL 2XL 3XL
â +
āϏāĻžāĻāĻ āϏāĻŋāϞā§āĻā§āĻ āĻāϰā§āύSALE Ash ā§ŗā§§,ā§Ļā§Žā§Ļ ā§ŗā§Žā§Ģā§Ļ -ā§ŗ230
M L XL 2XL 3XL
â +
āϏāĻžāĻāĻ āϏāĻŋāϞā§āĻā§āĻ āĻāϰā§āύSALE Lemon ā§ŗā§§,ā§Ļā§Žā§Ļ ā§ŗā§Žā§Ģā§Ļ -ā§ŗ230
M L XL 2XL 3XL
â +
āϏāĻžāĻāĻ āϏāĻŋāϞā§āĻā§āĻ āĻāϰā§āύ āĻāĻĒāύāĻžāϰ āĻāĻžāϰā§āĻ āĻāĻžāϰā§āĻ āĻāĻžāϞāĻŋ āĻāĻā§āĻāĻĒāϰ⧠āĻĨā§āĻā§ āĻĒāĻŖā§āϝ āϝā§āĻ āĻāϰā§āύ
āĻĢā§āϰāĻŋ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻ
āĻĢāĻžāϰ!
ā§Ŧā§Ļā§Ļā§ŗ āĻĄāĻŋāϏāĻāĻžāĻāύā§āĻ!
Subtotal ā§ŗ0
Discount -ā§ŗ600
Delivery ā§ŗ0
Total ā§ŗ0
Cash on Delivery āĻĒāĻŖā§āϝ āĻšāĻžāϤ⧠āĻĒā§āϝāĻŧā§ āĻŽā§āϞā§āϝ āĻĒāϰāĻŋāĻļā§āϧ āĻāϰā§āύ
āĻ
āϰā§āĻĄāĻžāϰ āĻāύāĻĢāĻžāϰā§āĻŽ āĻāϰā§āύ
āĻ
āϰā§āĻĄāĻžāϰ āĻĒā§āϰāϏā§āϏ āĻšāĻā§āĻā§…
(function(){
'use strict';// Bubbles
var cv=document.getElementById('ftBubbleCanvas'),cx=cv.getContext('2d'),bbs=[],
bcols=['rgba(201,168,76,0.12)','rgba(100,180,255,0.08)','rgba(160,120,255,0.07)','rgba(100,220,200,0.08)','rgba(255,180,150,0.07)','rgba(201,168,76,0.08)','rgba(120,200,255,0.09)'];
function rcv(){cv.width=window.innerWidth;cv.height=window.innerHeight;}
rcv();window.addEventListener('resize',rcv);
function mkb(){return{x:Math.random()*cv.width,y:cv.height+Math.random()*100,r:Math.random()*25+8,c:bcols[Math.floor(Math.random()*bcols.length)],sy:Math.random()*0.6+0.15,sx:(Math.random()-0.5)*0.3,o:0,mo:Math.random()*0.5+0.2,ph:Math.random()*Math.PI*2,w:Math.random()*0.5+0.2};}
var bc2=window.innerWidth<768?12:20;
for(var i=0;i<bc2;i++){var b=mkb();b.y=Math.random()*cv.height;b.o=b.mo*Math.random();bbs.push(b);}
function drb(){cx.clearRect(0,0,cv.width,cv.height);for(var i=0;icv.height*0.8)b.o=Math.min(b.o+0.003,b.mo);else if(b.y<cv.height*0.15)b.o=Math.max(b.o-0.005,0);else b.o=Math.min(b.o+0.002,b.mo);if(b.y<-b.r*2||b.o<=0){bbs[i]=mkb();continue;}cx.beginPath();var g=cx.createRadialGradient(b.x-b.r*0.3,b.y-b.r*0.3,0,b.x,b.y,b.r);g.addColorStop(0,b.c.replace(/[\d.]+\)$/,(b.o*1.5)+')'));g.addColorStop(0.7,b.c.replace(/[\d.]+\)$/,(b.o*0.5)+')'));g.addColorStop(1,b.c.replace(/[\d.]+\)$/,'0)'));cx.fillStyle=g;cx.arc(b.x,b.y,b.r,0,Math.PI*2);cx.fill();}requestAnimationFrame(drb);}
drb();var cart=[],DI=70,DO2=120,DT=3,DAM=600;// Hero
var hi=0,hs=document.querySelectorAll('.ft-hero-slide'),hd=document.querySelectorAll('.ft-hero-dot');
function ftHeroGo(i){for(var j=0;j50)ftHeroGo((hi+1)%hs.length);else if(ex-hsx>50)ftHeroGo(hi===0?hs.length-1:hi-1);});}// Lightbox
window.ftLB=function(el){document.getElementById('ftLBImg').src=el.querySelector('img').src;document.getElementById('ftLightbox').classList.add('ft-show');document.body.style.overflow='hidden';};
window.ftCloseLB=function(){document.getElementById('ftLightbox').classList.remove('ft-show');document.body.style.overflow='';};
document.addEventListener('keydown',function(e){if(e.key==='Escape')ftCloseLB();});// Carousel
var ci=0,cs=document.querySelectorAll('#ftCarousel .ft-carousel-slide'),ct=document.querySelectorAll('.ft-carousel-thumb');
function ftCGo(i){for(var j=0;j=cs.length)ci=0;if(ci50)ftCNext();else if(ex-tsx>50)ftCPrev();});}window.ftSS=function(btn){var c=btn.closest('.ft-product-card'),bs=c.querySelectorAll('.ft-size-btn');for(var i=0;i<bs.length;i++)bs[i].classList.remove('ft-selected');btn.classList.add('ft-selected');var ab=c.querySelector('.ft-add-btn');ab.disabled=false;ab.innerHTML='
āĻāĻžāϰā§āĻā§ āϝā§āĻ āĻāϰā§āύ';};
window.ftQC=function(btn,d){var inp=btn.closest('.ft-qty-row').querySelector('.ft-qty-input');var v=parseInt(inp.value)+d;if(v10)v=10;inp.value=v;};window.ftATC=function(btn){
var c=btn.closest('.ft-product-card'),sel=c.querySelector('.ft-size-btn.ft-selected');if(!sel)return;
var pid=c.getAttribute('data-pid'),pn=c.getAttribute('data-pname'),pp=parseInt(c.getAttribute('data-pprice')),pi=c.getAttribute('data-pimg'),vid=sel.getAttribute('data-v'),sz=sel.getAttribute('data-s'),qty=parseInt(c.querySelector('.ft-qty-input').value);
var ex=-1;for(var i=0;i-1)cart[ex].qty+=qty;else cart.push({pid:pid,pn:pn,pp:pp,pi:pi,vid:vid,sz:sz,qty:qty});
btn.classList.add('ft-added');btn.innerHTML='
āϝā§āĻ āĻšāϝāĻŧā§āĻā§!';
setTimeout(function(){btn.classList.remove('ft-added');btn.innerHTML='
āĻāĻžāϰā§āĻā§ āϝā§āĻ āĻāϰā§āύ';},2000);
ftToast(pn+' ('+sz+') āĻāĻžāϰā§āĻā§ āϝā§āĻ āĻšāϝāĻŧā§āĻā§!');updateCart();
};function updateCart(){
var box=document.getElementById('ftCartBox'),sum=document.getElementById('ftSummary'),pay=document.getElementById('ftPay'),ob=document.getElementById('ftOrderBtn'),sb=document.getElementById('ftSticky');
if(cart.length===0){box.innerHTML='
āĻāĻžāϰā§āĻ āĻāĻžāϞāĻŋāĻĒāĻŖā§āϝ āϝā§āĻ āĻāϰā§āύ
';sum.style.display='none';pay.style.display='none';ob.disabled=true;sb.classList.remove('ft-show');document.getElementById('ftOFD').classList.add('ft-hidden');document.getElementById('ftODC').classList.add('ft-hidden');return;}
var h='';for(var i=0;i<cart.length;i++){var it=cart[i];h+='
'+it.pn+'
Size: '+it.sz+'
â '+it.qty+' +
ā§ŗ'+(it.pp*it.qty).toLocaleString()+'
';}
box.innerHTML=h;
var tq=0,st=0;for(var j=0;j=DT){disc=DAM;fd=true;del=0;document.getElementById('ftOFD').classList.remove('ft-hidden');document.getElementById('ftODC').classList.remove('ft-hidden');document.getElementById('ftDR').classList.remove('ft-hidden');}
else{document.getElementById('ftOFD').classList.add('ft-hidden');document.getElementById('ftODC').classList.add('ft-hidden');document.getElementById('ftDR').classList.add('ft-hidden');}
var total=st-disc+del;
document.getElementById('ftSub').textContent='ā§ŗ'+st.toLocaleString();document.getElementById('ftDA').textContent='-ā§ŗ'+disc.toLocaleString();document.getElementById('ftDel').textContent=fd?'FREE đ':'ā§ŗ'+del;document.getElementById('ftTot').textContent='ā§ŗ'+total.toLocaleString();
sum.style.display='block';pay.style.display='block';ob.disabled=false;
document.getElementById('ftSC').textContent=tq;document.getElementById('ftST').textContent='ā§ŗ'+total.toLocaleString();
if(window.innerWidth<=768)sb.classList.add('ft-show');
}document.getElementById('ftDistrict').addEventListener('change',updateCart);
window.ftCQC=function(idx,d){cart[idx].qty+=d;if(cart[idx].qty<1)cart.splice(idx,1);updateCart();};
window.ftRFC=function(idx){cart.splice(idx,1);updateCart();};// ===== FIXED ORDER PLACEMENT =====
window.ftOrder=function(e){
e.preventDefault();
if(cart.length===0){ftToast('â ī¸ āĻāĻžāϰā§āĻā§ āĻĒāĻŖā§āϝ āύā§āĻ!');return;}
var name=document.getElementById('ftName').value.trim();
var phone=document.getElementById('ftPhone').value.trim();
var district=document.getElementById('ftDistrict').value;
var address=document.getElementById('ftAddress').value.trim();
if(!name||!phone||!district||!address){ftToast('â ī¸ āϏāĻāϞ āϤāĻĨā§āϝ āĻĒā§āϰāĻŖ āĻāϰā§āύ!');return;}
if(!/^01[3-9]\d{8}$/.test(phone)){ftToast('â ī¸ āϏāĻ āĻŋāĻ āĻŽā§āĻŦāĻžāĻāϞ āύāĻŽā§āĻŦāϰ āĻĻāĻŋāύ!');return;}var orderBtn=document.getElementById('ftOrderBtn');
var procEl=document.getElementById('ftProc');
orderBtn.style.display='none';
procEl.classList.add('ft-show');// Build items array
var items=[];
for(var i=0;i<cart.length;i++){
items.push({
product_id: parseInt(cart[i].pid),
variation_id: parseInt(cart[i].vid),
quantity: parseInt(cart[i].qty)
});
}// Get AJAX URL
var ajaxUrl = (typeof ftAjaxUrl !== 'undefined') ? ftAjaxUrl : '/wp-admin/admin-ajax.php';// METHOD 1: Try with FormData (most compatible with WP)
var formData = new FormData();
formData.append('action', 'ft_create_order');
formData.append('name', name);
formData.append('phone', phone);
formData.append('email', document.getElementById('ftEmail').value || '');
formData.append('district', district);
formData.append('address', address);
formData.append('note', document.getElementById('ftNote').value || '');
// Add items as individual entries
for(var j=0;j<items.length;j++){
formData.append('items['+j+'][product_id]', items[j].product_id);
formData.append('items['+j+'][variation_id]', items[j].variation_id);
formData.append('items['+j+'][quantity]', items[j].quantity);
}console.log('Sending order to:', ajaxUrl);
console.log('Items:', items);fetch(ajaxUrl, {
method: 'POST',
body: formData,
credentials: 'same-origin'
})
.then(function(response){
console.log('Response status:', response.status);
return response.text();
})
.then(function(text){
console.log('Response text:', text);
// Try to parse JSON
var res;
try {
// WordPress sometimes returns 0 or HTML before JSON
// Find the JSON part
var jsonStart = text.indexOf('{');
if(jsonStart === -1){
throw new Error('No JSON in response');
}
var jsonStr = text.substring(jsonStart);
// Find the last closing brace
var lastBrace = jsonStr.lastIndexOf('}');
if(lastBrace !== -1){
jsonStr = jsonStr.substring(0, lastBrace + 1);
}
res = JSON.parse(jsonStr);
} catch(parseErr){
console.error('Parse error:', parseErr, 'Raw:', text);
throw new Error('Invalid response from server');
}
procEl.classList.remove('ft-show');
if(res.success){
console.log('Order created:', res);
ftShowSuccess(res, name, phone, district, address);
} else {
orderBtn.style.display='flex';
ftToast('â ī¸ ' + (res.message || 'āĻ
āϰā§āĻĄāĻžāϰ āĻāϰāĻž āϝāĻžāϝāĻŧāύāĻŋ'));
console.error('Order failed:', res);
}
})
.catch(function(err){
console.error('Fetch error:', err);
procEl.classList.remove('ft-show');
orderBtn.style.display='flex';
// METHOD 2: Fallback with XMLHttpRequest
console.log('Trying fallback method…');
var xhr = new XMLHttpRequest();
xhr.open('POST', ajaxUrl, true);
xhr.onreadystatechange = function(){
if(xhr.readyState === 4){
console.log('XHR status:', xhr.status, 'Response:', xhr.responseText);
if(xhr.status === 200){
try{
var jsonStart2 = xhr.responseText.indexOf('{');
var jsonStr2 = xhr.responseText.substring(jsonStart2);
var lastBrace2 = jsonStr2.lastIndexOf('}');
jsonStr2 = jsonStr2.substring(0, lastBrace2 + 1);
var res2 = JSON.parse(jsonStr2);
procEl.classList.remove('ft-show');
if(res2.success){
ftShowSuccess(res2, name, phone, district, address);
} else {
orderBtn.style.display='flex';
ftToast('â ī¸ ' + (res2.message || 'āϏāĻŽāϏā§āϝāĻž āĻšāϝāĻŧā§āĻā§'));
}
}catch(e2){
orderBtn.style.display='flex';
ftToast('â ī¸ āϏāĻžāϰā§āĻāĻžāϰ āϏāĻŽāϏā§āϝāĻžāĨ¤ āĻāĻŦāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āύāĨ¤');
}
} else {
orderBtn.style.display='flex';
ftToast('â ī¸ āϏāĻžāϰā§āĻāĻžāϰ āϏāĻŽāϏā§āϝāĻžāĨ¤ āĻāĻŦāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āύāĨ¤');
}
}
};
xhr.send(formData);
});
};// ===== SUCCESS POPUP =====
function ftShowSuccess(res, name, phone, district, address){
var tq=0,st=0;
for(var i=0;i=3?600:0;
var del=tq>=3?0:(district==='Dhaka'?70:120);
var total=st-disc+del;var info='';
info+='
āĻ
āϰā§āĻĄāĻžāϰ āύāĻŽā§āĻŦāϰ #'+res.order_number+'
';
info+='
āύāĻžāĻŽ '+name+'
';
info+='
āĻŽā§āĻŦāĻžāĻāϞ '+phone+'
';
info+='
āĻ āĻŋāĻāĻžāύāĻž '+address+', '+district+'
';
info+='
āĻĒā§āĻŽā§āύā§āĻ Cash on Delivery
';
info+='
';
for(var j=0;j<cart.length;j++){
info+='
'+cart[j].pn+' ('+cart[j].sz+') Ã '+cart[j].qty+' ā§ŗ'+(cart[j].pp*cart[j].qty).toLocaleString()+'
';
}
info+='
';
if(disc>0){info+='
Discount -ā§ŗ'+disc+'
';}
info+='
Delivery '+(del===0?'FREE đ':'ā§ŗ'+del)+'
';
info+='
Total ā§ŗ'+total.toLocaleString()+'
';document.getElementById('ftOrderInfo').innerHTML=info;// Confetti
var confEl=document.getElementById('ftConfetti');
confEl.innerHTML='';
var confColors=['#c9a84c','#f0d780','#27ae60','#e74c3c','#3498db','#9b59b6','#1abc9c','#ff6b6b'];
for(var k=0;k<40;k++){
var piece=document.createElement('div');
piece.className='ft-confetti-piece';
piece.style.left=Math.random()*100+'%';
piece.style.backgroundColor=confColors[Math.floor(Math.random()*confColors.length)];
piece.style.animationDuration=(Math.random()*2+2)+'s';
piece.style.animationDelay=Math.random()*1+'s';
piece.style.width=(Math.random()*8+4)+'px';
piece.style.height=(Math.random()*8+4)+'px';
confEl.appendChild(piece);
}document.getElementById('ftSuccessOverlay').classList.add('ft-show');
document.body.style.overflow='hidden';// Reset
cart=[];
updateCart();
document.getElementById('ftForm').reset();
document.getElementById('ftOrderBtn').style.display='flex';
document.getElementById('ftOrderBtn').disabled=true;
}window.ftCloseSuccess=function(){
document.getElementById('ftSuccessOverlay').classList.remove('ft-show');
document.body.style.overflow='';
};function ftToast(msg){var c=document.getElementById('ftToasts'),t=document.createElement('div');t.className='ft-toast';t.innerHTML='
'+msg;c.appendChild(t);setTimeout(function(){if(t.parentNode)t.remove();},3000);}
window.ftToast=ftToast;var revEls=document.querySelectorAll('.ft-reveal');
if('IntersectionObserver' in window){var ro=new IntersectionObserver(function(en){for(var i=0;i<en.length;i++){if(en[i].isIntersecting)en[i].target.classList.add('ft-visible');}},{threshold:0.08,rootMargin:'0px 0px -30px 0px'});for(var r=0;r<revEls.length;r++)ro.observe(revEls[r]);}
else{for(var r2=0;r2<revEls.length;r2++)revEls[r2].classList.add('ft-visible');}
})();