*{box-sizing:border-box}
:root{--primary:#1a7f37;--accent:#f59e0b}
html{font-size:19px}
body{margin:0;font-family:'Hind Siliguri','Noto Sans Bengali',sans-serif;background:#f6f7f9;color:#1c2430;line-height:1.55}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1150px;margin:0 auto;padding:20px 16px 48px}
.topbar{background:#123324;color:#fff;text-align:center;padding:6px;font-size:.9rem}
.site-header{background:#fff;border-bottom:3px solid var(--primary);padding:12px 16px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.brand{display:flex;align-items:center;gap:10px;color:#1c2430}
.logo{height:52px;width:auto}
.brand-text{display:flex;flex-direction:column}
.shop-name{font-size:1.6rem;font-weight:700;color:var(--primary)}
.tagline{font-size:.9rem;color:#666}
.search-box{display:flex;flex:1;min-width:230px}
.search-box input{flex:1;padding:10px;border:2px solid #d4d9de;border-right:none;border-radius:8px 0 0 8px;font-size:1rem;font-family:inherit}
.search-box button{background:var(--primary);color:#fff;border:none;padding:10px 20px;border-radius:0 8px 8px 0;font-size:1rem;cursor:pointer;font-family:inherit}
.main-nav{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.main-nav a{font-weight:600}
.hero{background:linear-gradient(120deg,var(--primary),#0d5023);color:#fff;border-radius:14px;padding:36px 26px;margin-bottom:22px}
.hero h1{margin:0 0 6px;font-size:2.2rem}
.hero-offer{display:inline-block;background:var(--accent);color:#231a00;padding:4px 14px;border-radius:20px;font-weight:700;margin-top:8px}
.filter-bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px;align-items:center}
.cat-links{display:flex;flex-wrap:wrap;gap:8px}
.cat-links a{background:#fff;border:2px solid #d4d9de;padding:5px 16px;border-radius:20px;color:#333}
.cat-links a.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.sort-form select{padding:8px;border-radius:8px;border:2px solid #d4d9de;font-family:inherit;font-size:.95rem}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.product-card{background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.product-card img{width:100%;height:180px;object-fit:cover;border-radius:8px}
.img-placeholder{height:180px;display:flex;align-items:center;justify-content:center;font-size:4rem;background:#eef2ee;border-radius:8px}
.img-placeholder.big{height:330px}
.product-card h3{margin:10px 0 2px;font-size:1.1rem}
.cat-name{color:#778;font-size:.9rem;margin:2px 0}
.price{font-size:1.3rem;font-weight:700;color:var(--primary)}
.big-price{font-size:2rem}
.btn{display:inline-block;background:#e8ecef;color:#1c2430;border:none;padding:9px 18px;border-radius:8px;cursor:pointer;font-size:1rem;font-family:inherit;margin:3px 2px}
.btn:hover{text-decoration:none;opacity:.92}
.btn-primary{background:var(--primary);color:#fff}
.btn-light{background:#eef2f5}
.btn-danger{background:#c62f3b;color:#fff}
.btn-sm{padding:5px 12px;font-size:.9rem}
.btn-lg{padding:12px 26px;font-size:1.1rem}
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;margin-bottom:20px}
.table th,.table td{padding:10px 12px;border-bottom:1px solid #e4e8ec;text-align:left;vertical-align:top}
.table th{background:var(--primary);color:#fff}
.qty-input{width:70px;padding:6px;font-family:inherit}
.totals{background:#fff;border-radius:12px;padding:18px 20px;max-width:480px;margin-top:18px;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.totals .grand{font-size:1.3rem;border-top:2px solid #eee;padding-top:8px}
.form-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 5px rgba(0,0,0,.07);display:flex;flex-direction:column;gap:12px}
.form-card.narrow{max-width:480px}
.form-card label{display:flex;flex-direction:column;gap:5px;font-weight:600}
.form-card input,.form-card textarea,.form-card select{padding:10px;border:2px solid #d4d9de;border-radius:8px;font-size:1rem;font-family:inherit}
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media(max-width:760px){.checkout-grid{grid-template-columns:1fr}}
.flash{background:#e3f4e5;border:2px solid var(--primary);color:#14521f;padding:10px 16px;border-radius:10px;margin-bottom:16px}
.error-box{background:#fde8e9;border:2px solid #c62f3b;color:#7c1520;padding:10px 16px;border-radius:10px;margin-bottom:16px}
.success-box{background:#e3f4e5;border:2px solid var(--primary);padding:24px;border-radius:12px}
.empty{color:#667;background:#fff;padding:16px;border-radius:10px}
.hint{color:#667;font-size:.9rem}
.card-box{background:#fff;border:2px dashed var(--accent);border-radius:12px;padding:18px;margin:16px 0}
.stat-card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 5px rgba(0,0,0,.07)}
.stat-card h3{margin:0 0 4px;color:var(--primary);font-size:1.5rem}
.account-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-bottom:22px}
.big-balance{max-width:420px;margin-bottom:18px}
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:#fff;border-radius:14px;padding:22px}
@media(max-width:760px){.product-detail{grid-template-columns:1fr}}
.pd-img img{width:100%;border-radius:10px}
.add-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:14px}
.add-form input{width:90px;padding:9px;border:2px solid #d4d9de;border-radius:8px;font-family:inherit}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.scratch-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 5px rgba(0,0,0,.08)}
.scratch-card.status-used{opacity:.65}
.scratch-card.status-cancelled{opacity:.5}
.sc-head{font-weight:700;color:#555}
.sc-discount{font-size:1.5rem;font-weight:700;color:var(--primary)}
.scratch-wrap{position:relative;width:260px;height:150px;max-width:100%}
.sc-prize{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff7e6;border:2px solid var(--accent);border-radius:10px;padding:8px}
.scratch-canvas{position:absolute;inset:0;border-radius:10px;cursor:pointer;touch-action:none}
.scratch-wrap.revealed .scratch-canvas{display:none}
/* পণ্যের উপরে স্ক্র্যাচ (প্রতি-পণ্য) */
.ps-media{position:relative}
.ps-layer{position:absolute;inset:0;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:10px;z-index:2}
.ps-cover{background:linear-gradient(135deg,#39434e,#6d7885);color:#fff;border:2px dashed var(--accent)}
.ps-cover .ps-title{font-weight:700;font-size:1.05rem}
.ps-cover .ps-price{font-size:.95rem}
.ps-note{font-size:.8rem;opacity:.92}
.ps-won{background:rgba(227,244,229,.95);border:2px solid var(--primary);color:#14521f}
.ps-won strong{font-size:1.5rem;color:var(--primary)}
.ps-won small{display:block;font-size:.8rem}
.scratch-wrap.fill{position:absolute;inset:0;width:auto;height:auto;max-width:none}
.scratch-wrap.fill .scratch-canvas{width:100%;height:100%}
.ps-reveal{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);z-index:3;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.ps-box{margin-top:16px}
.site-footer{background:#123324;color:#dcefe2;margin-top:30px;padding:28px 16px}
.footer-grid{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.site-footer h3{color:#fff;margin-top:0}
.site-footer a{color:#ffd98a}
.footer-note{max-width:1150px;margin:16px auto 0;border-top:1px solid #2c5540;padding-top:12px;text-align:center;font-size:.9rem}
/* অ্যাডমিন */
.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.admin-nav a{background:#fff;border:2px solid #d4d9de;padding:6px 14px;border-radius:20px;color:#333;font-weight:600}
.admin-nav a.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.inline-form input,.inline-form select{padding:8px;border:2px solid #d4d9de;border-radius:8px;font-family:inherit}
.color-input{width:70px;height:40px;padding:2px}
