/*
Theme Name: Emedical Wala
Description: Custom Medical Ecommerce Theme
Version: 1.0
Author: Custom Developer
Text Domain: emedical-wala
Tags: ecommerce, medical, responsive
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Poppins', sans-serif; line-height: 1.6; color: #333; background: #f8f9fa; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.header { background: #fff; box-shadow: 0 2px 20px rgba(0,0,0,0.1); position: fixed; width: 100%; top: 0; z-index: 1000; }
.nav { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.logo { font-size: 28px; font-weight: 700; background: linear-gradient(135deg, #007cba, #28a745); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-decoration: none; }
.nav-menu { display: flex; list-style: none; gap: 2rem; }
.nav-menu a { text-decoration: none; color: #333; font-weight: 500; transition: all 0.3s; padding: 0.5rem 0; position: relative; }
.nav-menu a:hover { color: #007cba; }
.cart-count { background: #ff6b35; color: white; border-radius: 50%; padding: 2px 8px; font-size: 12px; margin-left: 5px; }

.hero { background: linear-gradient(135deg, #007cba 0%, #28a745 50%, #20c997 100%); color: white; padding: 160px 0 100px; text-align: center; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>'); }
.hero-content { position: relative; z-index: 2; }
.hero h1 { font-size: 3.8rem; margin-bottom: 1.5rem; font-weight: 700; text-shadow: 0 2px 10px rgba(0,0,0,0.3); }
.hero p { font-size: 1.4rem; margin-bottom: 2.5rem; opacity: 0.95; max-width: 600px; margin-left: auto; margin-right: auto; }
.search-box { max-width: 650px; margin: 0 auto 3rem; display: flex; box-shadow: 0 20px 40px rgba(0,0,0,0.2); border-radius: 50px; overflow: hidden; background: rgba(255,255,255,0.95); }
.search-box input { flex: 1; padding: 20px 30px; border: none; font-size: 16px; background: transparent; outline: none; }
.search-btn { background: linear-gradient(135deg, #ff6b35, #ff8c42); color: white; border: none; padding: 20px 40px; cursor: pointer; font-weight: 600; font-size: 16px; transition: all 0.3s; white-space: nowrap; }
.search-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(255,107,53,0.4); }

.products-section { padding: 100px 0; background: #fff; }
.section-title { text-align: center; font-size: 2.8rem; margin-bottom: 4rem; color: #333; position: relative; }
.section-title::after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 80px; height: 4px; background: linear-gradient(135deg, #007cba, #28a745); border-radius: 2px; }
.products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 2.5rem; }

.product-card { background: white; border-radius: 25px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.1); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); position: relative; }
.product-card:hover { transform: translateY(-20px) scale(1.02); box-shadow: 0 30px 80px rgba(0,0,0,0.2); }
.product-img { width: 100%; height: 250px; object-fit: cover; transition: transform 0.4s; }
.product-card:hover .product-img { transform: scale(1.1); }
.product-badge { position: absolute; top: 20px; right: 20px; background: #28a745; color: white; padding: 8px 15px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.product-info { padding: 2.5rem; }
.product-title { font-size: 1.4rem; margin-bottom: 1rem; color: #333; line-height: 1.4; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.price { font-size: 2.2rem; font-weight: 800; background: linear-gradient(135deg, #28a745, #20c997); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 1.5rem; }
.add-to-cart { background: linear-gradient(135deg, #007cba, #005a87); color: white; border: none; padding: 16px 32px; border-radius: 30px; cursor: pointer; width: 100%; font-weight: 600; font-size: 16px; transition: all 0.3s; position: relative; overflow: hidden; }
.add-to-cart:hover { transform: translateY(-3px); box-shadow: 0 15px 35px rgba(0,124,186,0.4); }
.add-to-cart:active { transform: translateY(0); }

.footer { background: linear-gradient(135deg, #1a1a1a 0%, #0d0d0d 100%); color: white; padding: 5rem 0 2rem; position: relative; overflow: hidden; }
.footer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, #28a745, transparent); }
.footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 3rem; margin-bottom: 3rem; }
.footer h3 { margin-bottom: 1.5rem; color: #28a745; font-size: 1.5rem; }
.footer h4 { margin-bottom: 1rem; color: white; }
.footer a { color: #ccc; text-decoration: none; display: block; margin-bottom: 0.8rem; transition: color 0.3s; }
.footer a:hover { color: #28a745; transform: translateX(5px); }
.footer-bottom { text-align: center; padding-top: 3rem; border-top: 1px solid #444; color: #999; font-size: 14px; }

@media (max-width: 768px) {
    .hero h1 { font-size: 2.5rem; }
    .nav-menu { position: fixed; top: 80px; left: -100%; width: 100%; height: calc(100vh - 80px); background: white; flex-direction: column; padding: 2rem; transition: left 0.3s; }
    .nav-menu.active { left: 0; }
    .products-grid { grid-template-columns: 1fr; gap: 2rem; }
    .search-box { flex-direction: column; border-radius: 15px; }
}