body{margin:0;padding:0;background:#f5f5f5}
.public-card-container{max-width:400px;margin:0 auto;min-height:100vh}

.qr-lightbox{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.qr-lightbox:hover{transform:scale(1.05);box-shadow:0 4px 16px rgba(0,0,0,.18)}

.qr-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}
.qr-overlay.active{display:flex;opacity:1}
.qr-overlay-img{max-width:90vmin;max-height:90vmin;border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.5);transform:scale(.9);transition:transform .3s ease}
.qr-overlay.active .qr-overlay-img{transform:scale(1)}
.qr-overlay-close{position:absolute;top:20px;left:20px;width:40px;height:40px;background:rgba(255,255,255,.15);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;z-index:10000}
.qr-overlay-close:hover{background:rgba(255,255,255,.3)}
.qr-overlay-close svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.qr-overlay-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:13px;font-family:'Vazirmatn',sans-serif;white-space:nowrap}

/* ===== AD BANNERS ===== */
.ad-banner{max-width:400px;margin:0 auto;padding:0 16px}
.ad-banner-top{margin-bottom:16px}
.ad-banner-bottom{margin-top:16px}
.ad-banner-label{font-size:10px;color:#9ca3af;text-align:center;margin-bottom:4px;font-family:'Vazirmatn',sans-serif;letter-spacing:0.5px}
.ad-banner-content{border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.08);text-align:center}
.ad-banner-content img{max-width:100%;height:auto;display:block}
.ad-banner-content a{display:block;text-decoration:none}
.ad-banner-content a:hover{opacity:0.95}
.ad-banner-content > div{margin:0;padding:0}

/* Bottom banner between last module and bot-bar */
.ad-banner-bottom-ad{max-width:400px;margin:0 auto;padding:0 16px;margin-top:22px;margin-bottom:12px}

/* Side banners */
.ad-banner-side{position:fixed;width:120px;z-index:100}
.ad-banner-side .ad-banner-label{font-size:9px;margin-bottom:3px}
.ad-banner-side .ad-banner-content{border-radius:8px}
.ad-banner-side .ad-banner-content img{max-width:100%;height:auto}
.ad-banner-side .ad-banner-content a{display:block;text-decoration:none}
.ad-banner-top-left{top:16px;left:16px}
.ad-banner-top-right{top:16px;right:16px}
.ad-banner-bottom-left{bottom:16px;left:16px}
.ad-banner-bottom-right{bottom:16px;right:16px}

@media (max-width:768px){
    .ad-banner-side{display:none}
}
