/* SecureDevice catalog styles */
.container { max-width:1400px; margin:0 auto; }
h1 { font-size:3rem; margin-bottom:.5rem; text-align:center; }
.intro { text-align:center; font-size:1.1rem; opacity:.9; margin-bottom:2rem; }
.cart-widget { position:fixed; bottom:30px; right:30px; background:white; color:#667eea; padding:1rem 1.5rem; border-radius:50px; box-shadow:0 6px 30px rgba(0,0,0,.4); cursor:pointer; font-weight:700; z-index:999; transition:.3s; }
.cart-widget:hover { transform:scale(1.05); }
.cart-count { background:#667eea; color:white; border-radius:50%; padding:.3rem .6rem; margin-left:.5rem; font-size:.9rem; }
.device-category { margin-bottom:3rem; }
.category-title { font-size:2rem; margin-bottom:1.5rem; padding-bottom:.5rem; border-bottom:2px solid rgba(255,255,255,0.3); }
.device-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:2rem; }
.device-card { background:rgba(255,255,255,0.12); backdrop-filter:blur(12px); border-radius:16px; padding:2rem; border:1px solid rgba(255,255,255,0.25); transition:.3s; }
.device-card:hover { transform:translateY(-5px); box-shadow:0 10px 30px rgba(0,0,0,.3); background:rgba(255,255,255,0.15); }
.device-icon { font-size:3rem; margin-bottom:1rem; }
.device-card h3 { font-size:1.5rem; margin-bottom:.8rem; }
.device-specs { font-size:.95rem; opacity:.9; line-height:1.6; margin-bottom:1rem; }
.device-price { font-size:1.8rem; font-weight:700; margin:1rem 0; color:#a8edea; }
.device-stock { font-size:.9rem; opacity:.85; margin-bottom:1rem; }
.quantity-controls { display:flex; align-items:center; gap:1rem; margin-top:1rem; }
.qty-btn { background:rgba(255,255,255,0.2); border:none; color:white; padding:.5rem 1rem; border-radius:8px; cursor:pointer; font-size:1.2rem; font-weight:bold; transition:.3s; }
.qty-btn:hover { background:rgba(255,255,255,0.3); }
.qty-btn:disabled { opacity:.5; cursor:not-allowed; }
.qty-display { font-size:1.2rem; font-weight:600; min-width:40px; text-align:center; }
.add-to-cart { flex:1; background:white; color:#667eea; border:none; padding:.7rem; border-radius:8px; cursor:pointer; font-weight:700; transition:.3s; }
.add-to-cart:hover { transform:translateY(-2px); box-shadow:0 4px 15px rgba(0,0,0,.3); }
.modal { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.7); z-index:2000; align-items:center; justify-content:center; }
.modal.active { display:flex; }
.modal-content { background:linear-gradient(135deg,#667eea 0%,#764ba2 100%); padding:2rem; border-radius:16px; max-width:600px; width:90%; max-height:80vh; overflow-y:auto; }
.modal-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; }
.close-modal { background:none; border:none; color:white; font-size:2rem; cursor:pointer; }
.cart-item { background:rgba(255,255,255,0.15); padding:1rem; border-radius:8px; margin-bottom:1rem; }
.cart-item-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:.5rem; }
.remove-item { background:rgba(244,67,54,0.3); border:none; color:white; padding:.3rem .8rem; border-radius:5px; cursor:pointer; font-size:.9rem; }
.form-group { margin-bottom:1.5rem; }
.form-group label { display:block; margin-bottom:.5rem; font-weight:600; }
.form-group input, .form-group textarea { width:100%; padding:.9rem; border-radius:8px; border:1px solid rgba(255,255,255,0.3); background:rgba(255,255,255,0.15); color:white; outline:none; box-sizing:border-box; }
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(255,255,255,0.7); }
.form-group textarea { resize:vertical; min-height:80px; font-family:inherit; }
.total-cost { font-size:1.8rem; font-weight:700; margin:1.5rem 0; padding:1rem; background:rgba(255,255,255,0.1); border-radius:8px; text-align:center; }
.submit-btn { width:100%; padding:1rem; border-radius:50px; border:none; background:white; color:#667eea; font-weight:700; font-size:1.1rem; cursor:pointer; transition:.3s; }
.submit-btn:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,.3); }
.empty-state { text-align:center; padding:2rem; opacity:.9; }
.messages { margin-bottom:2rem; }
.message { padding:1rem 1.2rem; border-radius:8px; margin-bottom:.8rem; }
.message.error { background:rgba(244,67,54,0.2); border:1px solid rgba(244,67,54,0.4); }
.message.success { background:rgba(76,175,80,0.2); border:1px solid rgba(76,175,80,0.4); }
@media (max-width:768px){ h1{font-size:2.2rem;} .device-grid{grid-template-columns:1fr;} .cart-widget{bottom:20px; right:20px; padding:.8rem 1.2rem;} }
