@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
.vcard-container { display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 40px 20px; background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); font-family: 'Poppins', sans-serif; }
.vc12-container { background: #fff; border-radius: 25px; box-shadow: 0 20px 50px rgba(0,0,0,0.1); border: 1px solid #f0f0f0; width: 100%; max-width: 420px; padding: 40px 30px; box-sizing: border-box; margin: auto; }
.vc12-profile-section { text-align: center; margin-bottom: 35px; }
.vc12-profile-pic { width: 120px; height: 120px; border-radius: 35px; margin: 0 auto 20px; background: #eef2f6; display: flex; align-items: center; justify-content: center; color: #222; overflow: hidden; box-shadow: 0 10px 25px rgba(0,0,0,0.08); }
.vc12-profile-pic img { width: 100%; height: 100%; object-fit: cover; }
.vc12-initials { font-size: 2.8rem; font-weight: 600; }
.vc12-name { font-size: 1.7rem; margin: 0 0 5px 0; font-weight: 700; color: #111; }
.vc12-designation { font-size: 0.95rem; color: #888; font-weight: 500; }
.vc12-contact-list { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 35px; }
.vc12-contact-item { background: #f8fafc; border-radius: 18px; padding: 20px 10px; text-align: center; text-decoration: none; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: 0.3s; border: 1px solid transparent; }
.vc12-contact-item:hover { background: #fff; border-color: #e2e8f0; box-shadow: 0 10px 25px rgba(0,0,0,0.05); transform: translateY(-5px); }
.vc12-icon { width: 45px; height: 45px; border-radius: 50%; background: #e2e8f0; color: #334155; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; margin-bottom: 12px; transition: 0.3s; }
.vc12-contact-item:hover .vc12-icon { background: #3b82f6; color: #fff; box-shadow: 0 5px 15px rgba(59,130,246,0.3); }
.vc12-text { font-size: 0.85rem; color: #475569; font-weight: 600; }
.vc12-socials { display: flex; justify-content: center; gap: 15px; margin-bottom: 35px; flex-wrap: wrap; }
.vc12-socials a { width: 45px; height: 45px; border-radius: 14px; background: #f1f5f9; color: #475569; display: flex; align-items: center; justify-content: center; text-decoration: none; transition: 0.3s; font-size: 1.2rem; }
.vc12-socials a:hover { background: #0f172a; color: #fff; transform: translateY(-4px); box-shadow: 0 8px 15px rgba(15,23,42,0.2); }
.vc12-save-btn { display: block; background: #0f172a; color: #fff; text-align: center; padding: 16px; border-radius: 16px; text-decoration: none; font-weight: 600; font-size: 1.1rem; transition: 0.3s; box-shadow: 0 10px 25px rgba(15,23,42,0.2); }
.vc12-save-btn:hover { background: #1e293b; transform: translateY(-3px); box-shadow: 0 15px 30px rgba(15,23,42,0.3); color: #fff; }
@media (max-width: 480px) { .vcard-container { padding: 15px; } .vc12-container { padding: 30px 20px; } }

.vcard-container a { text-decoration: none !important; cursor: pointer !important; }
.vcard-container a:hover { text-decoration: none !important; }

/* Catalog Styles */
.vcard-container { flex-direction: column; }
.vcard-catalog-wrapper { margin-top: 40px; width: 100%; max-width: 500px; }
.vcard-section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.vcard-section-title { font-size: 1.3rem; font-weight: 800; color: inherit; }
.vcard-section-action { font-size: 0.9rem; font-weight: 700; text-decoration: none; padding: 5px 15px; border-radius: 20px; background: rgba(0,0,0,0.05); transition: 0.3s; }
.vcard-section-action:hover { background: rgba(0,0,0,0.1); }
.vcard-products { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.vcard-product-item { background: #fff; border-radius: 15px; padding: 12px; display: flex; flex-direction: column; box-shadow: 0 10px 30px rgba(0,0,0,0.05); text-decoration: none; transition: 0.3s; color: #222; }
.vcard-product-item:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(0,0,0,0.1); color: #222; }
.vcard-product-icon-wrap { width: 100%; height: 140px; border-radius: 10px; overflow: hidden; margin-bottom: 12px; background: #f8f9fa; }
.vcard-product-icon-wrap img { width: 100%; height: 100%; object-fit: cover; transition: 0.3s; }
.vcard-product-item:hover .vcard-product-icon-wrap img { transform: scale(1.05); }
.vcard-product-details { flex: 1; }
.vcard-product-name { font-weight: 700; font-size: 1rem; margin-bottom: 5px; line-height: 1.3; }
.vcard-product-desc { font-size: 0.8rem; color: #666; line-height: 1.4; margin-bottom: 12px; }
.vcard-product-price { font-weight: 800; font-size: 1.1rem; color: #5b5ec1; margin-top: auto; }
@media (max-width: 480px) { .vcard-products { grid-template-columns: 1fr 1fr; gap: 10px; } .vcard-product-icon-wrap { height: 110px; } .vcard-product-item { padding: 10px; } .vcard-product-name { font-size: 0.9rem; } .vcard-product-price { font-size: 1rem; } }