@font-face { font-family: 'Sahel'; src: url('//cdn.fontcdn.ir/Font/Persian/Sahel/Sahel.woff2') format('woff2'); }
.lz-app, .lz-modal { font-family: 'Sahel', Tahoma, sans-serif !important; direction: rtl; }
.lz-app { max-width:500px; margin:0 auto; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.08); position:relative; min-height:400px; }
.lz-balloon-overlay { position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(255,255,255,0.95); z-index:100; display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; }
.lz-balloon { width:100px; height:120px; background:rgba(255,100,100,0.9); border-radius:50%; position:relative; animation: float 3s ease-in-out infinite; box-shadow:inset -10px -10px 20px rgba(0,0,0,0.1); margin-bottom:50px; top: -10%; }
.lz-balloon::before { content:''; position:absolute; bottom:-12px; left:50%; transform:translateX(-50%); width:0; height:0; border-left:12px solid transparent; border-right:12px solid transparent; border-bottom:12px solid rgba(255,100,100,0.9); }
.lz-balloon::after { content:''; position:absolute; top:25px; right:25px; width:20px; height:30px; border-radius:50%; background:rgba(255,255,255,0.3); transform:rotate(45deg); }
.lz-string { width:2px; height:80px; background:#aaa; margin-top:-5px; position:absolute; top:100%; left:50%; }
.lz-msg { margin-top:20px; font-weight:bold; color:#444; font-size:18px; animation: pulse 2s infinite; text-align:center; padding:0 20px; }
@keyframes float { 0%,100%{transform:translateY(0) rotate(-5deg)} 50%{transform:translateY(-30px) rotate(5deg)} }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.6} }
.confetti { position:absolute; width:12px; height:12px; background:#f00; z-index:101; border-radius:3px; }
.lz-head img { width:100%; height:200px; object-fit:cover; display:none; transition: opacity 0.3s; }
.lz-head img[src]:not([src=""]) { display:block; }
.lz-step { padding:20px; display:none; }
.lz-step.active { display:block; animation:lz-fade 0.4s; }
@keyframes lz-fade { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.lz-inp, select.lz-inp { width:100%; padding:14px; margin-bottom:15px; border:2px solid #f0f0f0; border-radius:12px; box-sizing:border-box; text-align:center; font-size:16px; font-family:inherit; background:#fff; -webkit-appearance: none; }
.lz-btn { width:100%; padding:16px; background:#ff9900; color:#fff; border:none; border-radius:12px; font-weight:bold; font-size:18px; cursor:pointer; font-family:inherit; }
.lz-hall { border:2px solid #eee; border-radius:12px; padding:10px; margin-bottom:10px; cursor:pointer; position:relative; overflow:hidden; transition:0.2s; }
.lz-hall.sel { border-color:#ff9900; background:#fffbf0; }
.lz-hall.full { opacity:0.6; filter:grayscale(1); cursor:not-allowed; }
.lz-hall-flex { display:flex; align-items:center; position:relative; z-index:2; flex-wrap:nowrap; }
.lz-hall img { width:60px; height:60px; border-radius:8px; margin-left:10px; object-fit:cover; display:none; flex-shrink:0; }
.lz-hall img[src]:not([src=""]){ display:block; }
.lz-prog-bg { position:absolute; bottom:0; left:0; height:6px; background:#eee; width:100%; }
.lz-prog-fill { height:100%; transition: width 0.5s; }
.lz-qty { display:flex; align-items:center; gap:5px; background:#f9f9f9; padding:3px; border-radius:10px; }
.lz-qbtn { width:40px; height:40px; border:none; background:#fff; border-radius:8px; font-size:20px; cursor:pointer; box-shadow:0 2px 5px rgba(0,0,0,0.05); color:#555; touch-action: manipulation; }
.lz-qval { width:60px; border:none; background:transparent; text-align:center; font-weight:bold; font-size:18px; color:#333; -moz-appearance:textfield; }
.lz-modal { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:99999; align-items:center; justify-content:center; }
.lz-m-content { background:#fff; padding:30px; border-radius:15px; text-align:center; width:80%; max-width:300px; animation:lz-pop .3s; }
@keyframes lz-pop { from{transform:scale(0.8)} to{transform:scale(1)} }
@media(max-width:480px){.lz-hall-flex{align-items:flex-start}.lz-hall img{width:50px;height:50px}}
.lz-free-badge { background: #27ae60; color: #fff; padding: 2px 10px; border-radius: 10px; font-size: 11px; display: inline-block; margin-top: 3px; }
.lz-pkg-item { display: flex; flex-direction:column; border: 1px solid #eee; padding: 12px; margin-bottom: 10px; border-radius: 12px; background: #fff; }
.lz-pkg-top { display:flex; justify-content:center; align-items:center; margin-bottom:10px; font-weight:bold; font-size:14px; color:#333; }
.lz-pkg-bot { display:flex; justify-content:space-between; align-items:center; }
.lz-pkg-img { width: 50px; height: 50px; border-radius: 8px; object-fit: cover; }
.lz-pkg-qty-box { display: flex; align-items: center; gap: 5px; background: #f9f9f9; padding: 2px; border-radius: 8px; }