/* Base Styles */ * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; line-height: 1.6; color: #333; } footer { text-align: center; padding: 1rem; background-color: #f8f9fa; margin-top: 2rem; } footer p { margin: 0; font-size: 0.9rem; color: #666; } #profileLink { color: #007bff; text-decoration: none; font-weight: 500; } /* Modal Styles */ .modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); overflow-y: auto; -webkit-overflow-scrolling: touch; } .modal-content { background-color: #fff; margin: 2% auto; width: 90%; max-width: 500px; max-height: 90vh; border-radius: 10px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); animation: modalopen 0.3s; overflow: hidden; display: flex; flex-direction: column; } @keyframes modalopen { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } } .modal-header { padding: 1.2rem 1.5rem; border-bottom: 1px solid #eee; position: sticky; top: 0; background: white; z-index: 10; } .modal-header h2 { font-size: 1.4rem; color: #333; margin: 0; } .modal-body { padding: 1.5rem; overflow-y: auto; flex: 1; } .close { position: absolute; right: 1.5rem; top: 1.2rem; font-size: 1.8rem; color: #aaa; cursor: pointer; transition: color 0.2s; z-index: 11; } .close:hover { color: #333; } /* Profile Section */ .profile-section { display: flex; flex-direction: column; align-items: center; margin-bottom: 1.5rem; } .profile-img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin-bottom: 1rem; border: 3px solid #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .profile-info p { text-align: center; color: #555; font-size: 0.95rem; } /* Search Section */ .search-section { margin: 2rem 0; padding: 1.5rem 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; } .search-section h3 { font-size: 1.2rem; margin-bottom: 0.5rem; color: #333; } .search-section p { color: #666; font-size: 0.9rem; margin-bottom: 1rem; } .search-input-group { display: flex; margin-bottom: 1rem; border: 1px solid #ddd; border-radius: 30px; overflow: hidden; transition: border-color 0.3s; } .search-input-group:focus-within { border-color: #007bff; } #searchInput { flex: 1; padding: 0.75rem 1rem; border: none; outline: none; font-size: 0.95rem; } .search-btn { background: #007bff; color: white; border: none; padding: 0 1.2rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s; } .search-btn:hover { background: #0069d9; } /* Search Results */ .search-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; margin-top: 0.5rem; } .search-results img { width: 100%; height: 100px; object-fit: cover; border-radius: 5px; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; } .search-results img:hover { transform: scale(1.03); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2); } /* Contact Section */ .contact-section { margin-top: 2rem; } .contact-section h3 { font-size: 1.2rem; margin-bottom: 1rem; color: #333; } .form-group { margin-bottom: 1rem; } .form-group label { display: block; margin-bottom: 0.5rem; font-size: 0.9rem; color: #555; font-weight: 500; } .form-group input, .form-group textarea { width: 100%; padding: 0.75rem; border: 1px solid #ddd; border-radius: 5px; font-size: 0.95rem; transition: border-color 0.3s; } .form-group input:focus, .form-group textarea:focus { border-color: #007bff; outline: none; } .form-group textarea { resize: vertical; min-height: 100px; } .submit-btn { background: #007bff; color: white; border: none; padding: 0.75rem 1.5rem; font-size: 1rem; border-radius: 5px; cursor: pointer; width: 100%; transition: background 0.2s; margin-top: 0.5rem; } .submit-btn:hover { background: #0069d9; } /* Loading and No Results */ .loading, .no-results { text-align: center; padding: 1rem; color: #666; font-size: 0.9rem; } /* Responsive Adjustments */ @media (max-width: 480px) { .modal-content { margin: 3% auto; width: 95%; } .modal-header h2 { font-size: 1.2rem; } .profile-img { width: 100px; height: 100px; } .search-results { grid-template-columns: repeat(2, 1fr); } .search-results img { height: 80px; } } @media (max-width: 360px) { .search-results { grid-template-columns: 1fr; } .modal-body { padding: 1rem; } }