/* ===== OneStopDemocracyShop v8 Enhancements ===== */

/* Icon buttons (cart, search) — shared across all pages */
.icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--text);border:1px solid var(--border);border-radius:50%;cursor:pointer;transition:all .2s;background:transparent;}
.icon-btn:hover{background:var(--bg-hover);color:var(--accent);}
.cart-btn{position:relative;}
.cart-count{position:absolute;top:-2px;right:-2px;background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;}

/* Light image backgrounds so ALL products are visible */
.prod-img-wrap,.prod-img{background:#e8e8e8 !important;}

/* Improved product cards */
.product-card{box-shadow:0 4px 20px rgba(0,0,0,.15);transition:transform .25s,box-shadow .25s,border-color .25s;}
.product-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,0,0,.3);border-color:var(--accent);}

/* ===== CART DRAWER ===== */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:2000;opacity:0;visibility:hidden;transition:all .3s;}
.cart-overlay.open{opacity:1;visibility:visible;}
.cart-drawer{position:fixed;top:0;right:0;width:420px;max-width:90vw;height:100%;background:var(--bg-light);border-left:1px solid var(--border);z-index:2001;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;}
.cart-drawer.open{transform:translateX(0);}
.cart-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.cart-header h3{font-family:'Bebas Neue';font-size:1.6rem;letter-spacing:2px;color:#fff;}
.cart-close{background:none;border:none;color:var(--text);font-size:1.5rem;cursor:pointer;}
.cart-close:hover{color:var(--accent);}
.cart-body{flex:1;overflow-y:auto;padding:1.5rem;}
.cart-empty{text-align:center;color:var(--text-muted);padding:3rem 0;}
.cart-item{display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
.cart-item-img{width:80px;height:80px;background:#f5f5f5;border-radius:4px;overflow:hidden;flex-shrink:0;}
.cart-item-img img{width:100%;height:100%;object-fit:cover;}
.cart-item-info{flex:1;}
.cart-item-title{font-size:.85rem;color:#fff;margin-bottom:.25rem;}
.cart-item-price{font-size:.9rem;color:var(--accent);font-weight:600;}
.cart-item-qty{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;}
.cart-item-qty button{width:28px;height:28px;background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;font-size:.8rem;border-radius:3px;}
.cart-item-qty button:hover{border-color:var(--accent);color:var(--accent);}
.cart-item-qty span{font-size:.85rem;color:var(--text);min-width:24px;text-align:center;}
.cart-item-remove{color:var(--text-dark);font-size:.75rem;cursor:pointer;margin-top:.3rem;display:inline-block;}
.cart-item-remove:hover{color:var(--accent);}
.cart-footer{padding:1.5rem;border-top:1px solid var(--border);}
.cart-subtotal{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:1.1rem;color:#fff;font-weight:600;}
/* PayPal Buttons in Cart */
#paypal-button-container{margin-top:.75rem;border-top:1px solid var(--border);padding-top:1rem;}
#paypal-button-container > div{border-radius:4px;overflow:hidden;}
.cart-footer-label{font-size:.7rem;color:var(--text-dark);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem;}
.cart-footer-label svg{opacity:.5;}
.paypal-secure{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 0;font-size:.7rem;color:var(--text-dark);margin-top:.5rem;}
.paypal-secure svg{opacity:.4;}

/* ===== SEARCH OVERLAY ===== */
.search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:3000;opacity:0;visibility:hidden;transition:all .3s;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;}
.search-overlay.open{opacity:1;visibility:visible;}
.search-box{width:600px;max-width:90vw;background:var(--bg-light);border:1px solid var(--border);border-radius:8px;padding:1.5rem;}
.search-input{width:100%;background:var(--bg);border:1px solid var(--border);color:#fff;padding:1rem 1.2rem;font-size:1.1rem;border-radius:4px;outline:none;}
.search-input:focus{border-color:var(--accent);}
.search-results{max-height:400px;overflow-y:auto;margin-top:1rem;}
.search-result{display:flex;gap:1rem;padding:.75rem;cursor:pointer;border-radius:4px;transition:background .2s;}
.search-result:hover{background:var(--bg-hover);}
.search-result img{width:50px;height:50px;object-fit:cover;border-radius:4px;background:#f5f5f5;}
.search-result-info{flex:1;}
.search-result-title{font-size:.85rem;color:#fff;}
.search-result-price{font-size:.8rem;color:var(--accent);}
.search-close{position:absolute;top:2rem;right:2rem;background:none;border:none;color:var(--text);font-size:2rem;cursor:pointer;}
.search-close:hover{color:var(--accent);}

/* ===== MOBILE NAV ===== */
.mobile-menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px;}
.mobile-menu-btn span{width:24px;height:2px;background:var(--text);display:block;transition:all .3s;}
.mobile-nav{position:fixed;top:0;left:0;width:300px;max-width:80vw;height:100%;background:var(--bg-light);border-right:1px solid var(--border);z-index:2002;transform:translateX(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);padding:2rem;}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav h4{font-family:'Bebas Neue';font-size:1.4rem;color:var(--accent);margin-bottom:2rem;}
.mobile-nav a{display:block;padding:.8rem 0;color:var(--text-muted);font-size:.9rem;border-bottom:1px solid var(--border);transition:color .2s;}
.mobile-nav a:hover{color:var(--accent);}
.mobile-nav-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text);font-size:1.5rem;cursor:pointer;}

/* ===== TOAST ===== */
.toast-container{position:fixed;bottom:2rem;right:2rem;z-index:4000;display:flex;flex-direction:column;gap:.5rem;}
.toast{background:var(--bg-light);border:1px solid var(--border);border-left:4px solid var(--accent);color:#fff;padding:1rem 1.5rem;border-radius:4px;font-size:.85rem;box-shadow:0 8px 30px rgba(0,0,0,.4);animation:toastIn .4s ease,toastOut .4s ease 2.6s forwards;max-width:320px;}
.toast.success{border-left-color:#22c55e;}
@keyframes toastIn{from{transform:translateX(120%);opacity:0;}to{transform:translateX(0);opacity:1;}}
@keyframes toastOut{from{transform:translateX(0);opacity:1;}to{transform:translateX(120%);opacity:0;}}

/* ===== NEWSLETTER ===== */
.newsletter{background:linear-gradient(135deg,var(--bg-light),var(--bg));border-top:1px solid var(--border);padding:4rem 2rem;text-align:center;}
.newsletter-inner{max-width:600px;margin:0 auto;}
.newsletter h2{font-family:'Bebas Neue';font-size:2.5rem;color:#fff;letter-spacing:2px;margin-bottom:.5rem;}
.newsletter p{color:var(--text-muted);margin-bottom:1.5rem;}
.newsletter-form{display:flex;gap:.5rem;max-width:450px;margin:0 auto;}
.newsletter-form input{flex:1;background:var(--bg);border:1px solid var(--border);color:#fff;padding:.9rem 1.2rem;font-size:.9rem;border-radius:4px;outline:none;}
.newsletter-form input:focus{border-color:var(--accent);}
.newsletter-form button{background:var(--accent);color:#fff;border:none;padding:.9rem 1.5rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;border-radius:4px;transition:background .2s;}
.newsletter-form button:hover{background:var(--accent-hover);}

/* ===== MISC ===== */
.price{font-size:1.05rem !important;}
.compare{font-size:.9rem !important;color:var(--text-muted) !important;}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.site-header.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.3);}

/* Responsive */
@media(max-width:768px){
  .mobile-menu-btn{display:flex;}
  .nav-main{display:none;}
  .cart-drawer{width:100%;}
  .search-box{width:95vw;}
  .newsletter-form{flex-direction:column;}
}
