/* ============ POPUPS ============ */
.pew-popup{position:fixed;inset:0;z-index:99999;display:none}
.pew-popup.open{display:flex;align-items:center;justify-content:center}
.pew-popup-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.pew-popup-box{position:relative;background:#fff;border-radius:14px;max-width:600px;width:90%;max-height:85vh;overflow:auto;padding:30px;z-index:1;animation:pewPopIn .3s}
@keyframes pewPopIn{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
.pew-popup-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:26px;cursor:pointer;color:#666;line-height:1}
.pew-popup-slide-in .pew-popup-box{position:absolute;bottom:20px;right:20px;max-width:380px}
.pew-popup-flyout .pew-popup-box{position:absolute;top:0;right:0;height:100%;border-radius:0;max-width:400px}
body.pew-popup-open{overflow:hidden}
/* ============ FLOATING BAR ============ */
.pew-floating-bar{position:fixed;left:0;right:0;z-index:9990;background:#1a1a2e;color:#fff;transform:translateY(120%);transition:transform .4s}
.pew-floating-bottom{bottom:0}
.pew-floating-top{top:0;transform:translateY(-120%)}
.pew-floating-bar.visible{transform:translateY(0)!important}
.pew-floating-inner{max-width:1200px;margin:auto;padding:14px 20px;display:flex;gap:14px;align-items:center;justify-content:center}
.pew-floating-bar a{background:#6c5ce7;color:#fff;padding:8px 18px;border-radius:6px;text-decoration:none;font-weight:600}
.pew-floating-close{background:none;border:none;color:inherit;font-size:22px;cursor:pointer;line-height:1}
/* ============ OFF-CANVAS ============ */
.pew-oc-trigger{padding:10px 20px;background:#6c5ce7;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}
.pew-oc-panel{position:fixed;top:0;bottom:0;width:var(--pew-oc-size,320px);background:#fff;z-index:100000;box-shadow:0 10px 40px rgba(0,0,0,.15);transition:transform .4s;padding:30px;overflow:auto}
.pew-oc-left{left:0;transform:translateX(-110%)}
.pew-oc-right{right:0;transform:translateX(110%)}
.pew-oc-top{left:0;right:0;bottom:auto;height:var(--pew-oc-size);width:auto;transform:translateY(-110%)}
.pew-oc-bottom{left:0;right:0;top:auto;height:var(--pew-oc-size);width:auto;transform:translateY(110%)}
.pew-oc-panel.open{transform:translate(0,0)!important}
.pew-oc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99999;opacity:0;pointer-events:none;transition:opacity .3s}
.pew-oc-overlay.open{opacity:1;pointer-events:auto}
.pew-oc-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:26px;cursor:pointer}
/* ============ FLOATING ACTION ============ */
.pew-fab-wrap{position:fixed;z-index:9990;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.pew-fab-bottom-right{bottom:30px;right:30px}
.pew-fab-bottom-left{bottom:30px;left:30px;align-items:flex-start}
.pew-fab-top-right{top:30px;right:30px}
.pew-fab-top-left{top:30px;left:30px;align-items:flex-start}
.pew-fab{width:60px;height:60px;border-radius:50%;border:none;background:#6c5ce7;color:#fff;font-size:24px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:transform .3s}
.pew-fab:hover{transform:scale(1.08)}
.pew-fab-menu{display:flex;flex-direction:column;gap:8px;opacity:0;pointer-events:none;transition:opacity .3s}
.pew-fab-wrap.open .pew-fab-menu{opacity:1;pointer-events:auto}
.pew-fab-item{display:flex;align-items:center;gap:8px;background:#fff;padding:10px 16px;border-radius:30px;text-decoration:none;color:#333;box-shadow:0 4px 14px rgba(0,0,0,.1);font-size:14px;font-weight:500}
.pew-fab-ic{font-size:16px}
/* ============ BLOCKQUOTE ============ */
.pew-bq{position:relative;padding:30px 40px 30px 70px;background:#f9f9fb;border-radius:12px;margin:0}
.pew-bq:before{content:'"';position:absolute;left:20px;top:10px;font-size:80px;color:#6c5ce7;font-family:Georgia,serif;line-height:1}
.pew-bq p{margin:0 0 12px;font-size:18px;font-style:italic;line-height:1.6}
.pew-bq cite{font-style:normal;font-weight:700;font-size:15px}
.pew-bq-tweet{background:#1da1f2;color:#fff;padding:4px 12px;border-radius:20px;text-decoration:none;font-size:12px;margin-left:10px}
/* ============ CODE ============ */
.pew-code{background:#2d2d2d;color:#f8f8f2;padding:20px;border-radius:10px;overflow:auto;font-family:Menlo,Consolas,monospace;font-size:14px;line-height:1.6}
/* ============ PAYPAL / STRIPE ============ */
.pew-paypal button{padding:14px 32px;background:#0070ba;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px}
.pew-stripe{display:inline-block;padding:14px 32px;background:#635bff;color:#fff;text-decoration:none;border-radius:8px;font-weight:600}
/* ============ VIDEO PLAYLIST ============ */
.pew-vpl{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.pew-vpl-player{background:#000;border-radius:10px;overflow:hidden;aspect-ratio:16/9}
.pew-vpl-player iframe{width:100%;height:100%;border:0;display:block}
.pew-vpl-list{list-style:none;padding:0;margin:0;max-height:520px;overflow:auto}
.pew-vpl-list li{padding:12px 16px;border-radius:8px;cursor:pointer;font-size:14px;background:#f5f5f7;margin-bottom:6px;transition:background .2s}
.pew-vpl-list li:hover,.pew-vpl-list li.active{background:#6c5ce7;color:#fff}
/* ============ GALLERY ============ */
.pew-gal{display:grid;gap:12px}
.pew-gal-masonry{grid-auto-rows:10px}
.pew-gal-item{position:relative;margin:0;border-radius:10px;overflow:hidden}
.pew-gal-item img{width:100%;display:block;transition:transform .4s}
.pew-gal-zoom .pew-gal-item:hover img{transform:scale(1.08)}
.pew-gal-item figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;padding:16px 14px 10px;font-size:13px;opacity:0;transition:opacity .3s}
.pew-gal-item:hover figcaption{opacity:1}
.pew-lb{position:fixed;inset:0;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;z-index:100000;padding:40px}
.pew-lb img{max-width:100%;max-height:100%}
.pew-lb-close{position:absolute;top:20px;right:20px;background:none;border:none;color:#fff;font-size:36px;cursor:pointer}
/* ============ LOOP ============ */
.pew-loop-grid{display:grid;gap:20px}
.pew-loop-pagination{margin-top:24px;text-align:center}
.pew-loop-pagination a,.pew-loop-pagination span{display:inline-block;padding:8px 14px;margin:0 4px;border:1px solid #ddd;border-radius:6px;text-decoration:none;color:#333}
.pew-loop-pagination .current{background:#6c5ce7;color:#fff;border-color:#6c5ce7}
.pew-loop-carousel{overflow:hidden}
.pew-loop-carousel-track{display:flex;transition:transform .5s ease}
.pew-loop-carousel-item{padding:8px;box-sizing:border-box}
/* ============ FORM ADVANCED ============ */
.pew-fa{display:flex;flex-direction:column;gap:16px;max-width:600px}
.pew-fa-steps{display:flex;gap:10px;justify-content:center;margin-bottom:10px}
.pew-fa-steps span{width:32px;height:32px;border-radius:50%;background:#eee;color:#666;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
.pew-fa-steps span.active{background:#6c5ce7;color:#fff}
.pew-fa-field label{display:block;margin-bottom:6px;font-weight:600;font-size:14px}
.pew-fa-field input[type="text"],.pew-fa-field input[type="email"],.pew-fa-field input[type="tel"],
.pew-fa-field input[type="number"],.pew-fa-field input[type="date"],.pew-fa-field textarea,
.pew-fa-field select{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:8px;font-size:15px;font-family:inherit}
.pew-fa-field textarea{min-height:120px;resize:vertical}
.pew-fa-field input:focus,.pew-fa-field textarea:focus,.pew-fa-field select:focus{outline:none;border-color:#6c5ce7}
.pew-fa-opt{display:block;margin:6px 0;font-weight:400}
.pew-fa-actions{display:flex;gap:10px;margin-top:10px}
.pew-fa-actions button{padding:14px 28px;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:15px}
.pew-fa-next,.pew-fa-submit{background:#6c5ce7;color:#fff}
.pew-fa-prev{background:#eee;color:#333}
.pew-fa-msg{margin-top:10px;font-size:14px}
.pew-fa-msg.success{color:#28a745}
.pew-fa-msg.error{color:#dc3545}
/* ============ CUSTOM CURSOR ============ */
.pew-custom-cursor{position:fixed;pointer-events:none;border-radius:50%;z-index:999999;transition:transform .1s;width:24px;height:24px;border:2px solid #6c5ce7;transform:translate(-50%,-50%)}
.pew-fx-cursor-dot .pew-custom-cursor,.pew-fx-cursor-dot{cursor:none!important}
.pew-fx-cursor-dot .pew-custom-cursor{width:8px;height:8px;background:#6c5ce7}
.pew-fx-cursor-circle{cursor:none!important}
/* ============ TB HEADERS/FOOTERS ============ */
.pew-tb-header,.pew-tb-footer{width:100%}
/* ============ RESPONSIVE ============ */
@media(max-width:768px){
    .pew-vpl{grid-template-columns:1fr}
    .pew-loop-carousel-item{flex-basis:85%!important}
    .pew-fab-bottom-right{bottom:20px;right:20px}
}
