.font-sans { font-family: "Figtree", sans-serif; } .dropdown-content { max-height: 0; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease, border-color 0.3s ease; background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); border-top: 1px solid #e5e7eb; border-radius: 0 0 12px 12px; position: relative; } .dropdown-content.open { border: 1px solid #e5e7eb; border-top: none; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04), 0 0 0 1px rgba(59, 130, 246, 0.1); } .dropdown-content.opening { border-color: #3b82f6; box-shadow: 0 20px 40px -10px rgba(59, 130, 246, 0.25); } .dropdown-content.closing { border-color: #e5e7eb; } .dropdown-header { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 1.5rem; background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); border: 2px solid #e5e7eb; border-radius: 12px; cursor: pointer; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); margin-bottom: 0.5rem; font-weight: 600; color: #374151; position: relative; overflow: hidden; backdrop-filter: blur(10px); transform: translateY(0); } .dropdown-header::before { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient( 90deg, transparent, rgba(59, 130, 246, 0.1), transparent ); transition: left 0.5s ease; } .dropdown-header:hover::before { left: 100%; } .dropdown-header:hover { background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); border-color: #3b82f6; box-shadow: 0 8px 25px -5px rgba(59, 130, 246, 0.2), 0 8px 10px -5px rgba(59, 130, 246, 0.1); transform: translateY(-2px); } .dropdown-header.active { background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%); border-color: #2563eb; color: #1e40af; box-shadow: 0 12px 30px -8px rgba(37, 99, 235, 0.3), 0 0 0 3px rgba(59, 130, 246, 0.1); transform: translateY(-1px); } .dropdown-header:active { transform: translateY(0); transition: transform 0.1s ease; } .dropdown-icon { width: 24px; height: 24px; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s ease, filter 0.3s ease; color: #6b7280; flex-shrink: 0; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1)); } .dropdown-header:hover .dropdown-icon { color: #3b82f6; filter: drop-shadow(0 4px 8px rgba(59, 130, 246, 0.3)); } .dropdown-header.active .dropdown-icon { color: #1e40af; filter: drop-shadow(0 6px 12px rgba(30, 64, 175, 0.4)); } .dropdown-content > div { padding: 2rem; color: #4b5563; line-height: 1.7; background: linear-gradient( 135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.9) 100% ); position: relative; } .dropdown-content > div::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #3b82f6, #8b5cf6, #06b6d4); opacity: 0; transition: opacity 0.3s ease; } .dropdown-content.open > div::before { opacity: 1; } .dropdown-content h3 { margin: 0 0 1.5rem 0; color: #111827; font-size: 1.25rem; font-weight: 700; position: relative; padding-left: 1rem; } .dropdown-content h3::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 4px; height: 1.5rem; background: linear-gradient(135deg, #3b82f6, #8b5cf6); border-radius: 2px; } .dropdown-content p { margin: 0 0 1.5rem 0; transition: transform 0.3s ease; } .dropdown-content p:hover { transform: translateX(5px); } .dropdown-content ul { margin: 1.5rem 0; padding-left: 2rem; position: relative; } .dropdown-content li { margin-bottom: 0.75rem; color: #4b5563; position: relative; transition: all 0.3s ease; padding-left: 0.5rem; } .dropdown-content li:hover::before { transform: translateX(3px); } .dropdown-content li:hover { color: #1f2937; transform: translateX(5px); } .dropdown-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); background: white; } .dropdown-content th, .dropdown-content td { padding: 1rem 0.75rem; text-align: left; border-bottom: 1px solid #f1f5f9; transition: background-color 0.3s ease; } .dropdown-content th { background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); font-weight: 700; color: #374151; position: relative; } .dropdown-content th::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, #3b82f6, #8b5cf6); } .dropdown-content tr:hover td { background-color: #f0f9ff; transform: scale(1.01); } .dropdown-content tbody tr { transition: all 0.3s ease; } .content-item { transition: opacity 0.3s ease, transform 0.3s ease; } .dropdown-content.opening .content-item { opacity: 0; transform: translateY(20px); } .dropdown-content.open .content-item { opacity: 1; transform: translateY(0); } .ripple-effect { position: absolute; border-radius: 50%; background: radial-gradient( circle, rgba(59, 130, 246, 0.3) 0%, transparent 70% ); transform: scale(0); animation: ripple-animation 0.6s ease-out; pointer-events: none; } .dropdown-header::after { content: ""; position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; background: linear-gradient(90deg, #3b82f6, #8b5cf6); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); transform: translateX(-50%); } .dropdown-header.active::after { width: 100%; } .dropdown-header.active h2 { background: linear-gradient(135deg, #1e40af, #7c3aed); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } @keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4); } 50% { box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); } } .dropdown-header:hover { animation: pulse-glow 2s infinite; } .dropdown-content.opening { animation: slide-in-content 0.5s ease-out; } @keyframes slide-in-content { from { opacity: 0; transform: translateY(-20px) scale(0.95); } to { opacity: 1; transform: translateY(0) scale(1); } } .dropdown-header:hover .bg-gradient-to-br { transform: scale(1.1) rotate(5deg); transition: transform 0.3s ease; } .dropdown-header.active .bg-gradient-to-br { transform: scale(1.1) rotate(-5deg); animation: icon-bounce 0.6s ease; } @keyframes icon-bounce { 0%, 20%, 60%, 100% { transform: scale(1.1) rotate(-5deg); } 40% { transform: scale(1.2) rotate(-10deg); } 80% { transform: scale(1.15) rotate(-2deg); } } @media (max-width: 768px) { .dropdown-header { padding: 1rem; font-size: 0.875rem; border-radius: 10px; } .dropdown-content > div { padding: 1.5rem 1rem; } .dropdown-content h3 { font-size: 1.125rem; margin-bottom: 1rem; } .dropdown-icon { width: 20px; height: 20px; } .dropdown-content > div { padding: 1rem; } } .whatsapp-widget { position: fixed; bottom: 20px; right: 20px; z-index: 1000; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; } .whatsapp-button { position: relative; width: 60px; height: 60px; background: linear-gradient(135deg, #25d366 0%, #128c7e 100%); border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); animation: bounce 2s infinite; } .whatsapp-button:hover { transform: scale(1.1); box-shadow: 0 6px 25px rgba(37, 211, 102, 0.6); } .whatsapp-icon { width: 32px; height: 32px; color: white; z-index: 2; } .pulse-ring { position: absolute; width: 60px; height: 60px; border: 2px solid #25d366; border-radius: 50%; animation: pulse 2s infinite; opacity: 0; } .pulse-ring-2 { position: absolute; width: 60px; height: 60px; border: 2px solid #25d366; border-radius: 50%; animation: pulse 2s infinite 1s; opacity: 0; } @keyframes pulse { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.3); opacity: 0.3; } 100% { transform: scale(1.6); opacity: 0; } } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-5px); } 60% { transform: translateY(-3px); } } .whatsapp-popup { position: absolute; bottom: 80px; right: 0; width: 350px; background: white; border-radius: 15px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2); opacity: 0; transform: translateY(20px) scale(0.9); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events: none; overflow: hidden; } .whatsapp-popup.show { opacity: 1; transform: translateY(0) scale(1); pointer-events: all; } .popup-header { background: linear-gradient(135deg, #25d366 0%, #128c7e 100%); color: white; padding: 15px; display: flex; align-items: center; justify-content: space-between; } .header-content { display: flex; align-items: center; gap: 12px; } .avatar { display: flex; align-items: center; justify-content: center; position: relative; width: 45px; height: 45px; border-radius: 50%; overflow: hidden; border: 2px solid rgba(255, 255, 255, 0.3); } .avatar img { width: 100%; height: 100%; object-fit: cover; background: white; padding: 5px; } .online-indicator { position: absolute; bottom: 2px; right: 2px; width: 12px; height: 12px; background: #4caf50; border-radius: 50%; border: 2px solid white; animation: blink 2s infinite; } @keyframes blink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: 0.3; } } .header-text h4 { margin: 0; font-size: 16px; font-weight: 600; } .online-status { margin: 0; font-size: 12px; opacity: 0.9; } .close-btn { background: none; border: none; color: white; width: 24px; height: 24px; cursor: pointer; border-radius: 50%; transition: background 0.2s; } .close-btn:hover { background: rgba(255, 255, 255, 0.2); } .popup-body { padding: 20px; max-height: 300px; overflow-y: auto; } .chat-message { display: flex; gap: 10px; margin-bottom: 20px; animation: slideInUp 0.5s ease-out; } @keyframes slideInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .message-avatar { width: 30px; height: 30px; border-radius: 50%; overflow: hidden; flex-shrink: 0; } .message-avatar img { width: 100%; height: 100%; object-fit: cover; background: #f0f0f0; padding: 3px; } .message-bubble { background: #f0f0f0; border-radius: 15px 15px 15px 5px; padding: 12px 15px; flex: 1; position: relative; } .message-bubble p { margin: 0 0 5px 0; font-size: 14px; line-height: 1.4; color: #333; } .message-bubble p:last-of-type { margin-bottom: 0; } .message-time { text-align: right; margin-top: 8px; } .message-time span { font-size: 11px; color: #999; } .quick-options h5 { margin: 0 0 15px 0; font-size: 14px; font-weight: 600; color: #333; } .options-list { display: flex; flex-direction: column; gap: 8px; } .option-btn { background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 12px 15px; text-align: left; cursor: pointer; transition: all 0.2s; font-size: 13px; color: #495057; } .option-btn:hover { background: #25d366; color: white; border-color: #25d366; transform: translateX(5px); } .popup-footer { padding: 15px; border-top: 1px solid #f0f0f0; } .whatsapp-chat-btn { width: 100%; background: linear-gradient(135deg, #25d366 0%, #128c7e 100%); color: white; border: none; border-radius: 25px; padding: 12px 20px; font-size: 14px; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: all 0.3s; } .whatsapp-chat-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3); } .chat-icon { width: 18px; height: 18px; } @media (max-width: 768px) { .whatsapp-popup { width: 300px; right: -25px; } .whatsapp-widget { bottom: 15px; right: 15px; } } @media (max-width: 480px) { .whatsapp-popup { width: 280px; right: 5px; } } .popup-body::-webkit-scrollbar { width: 4px; } .popup-body::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 2px; } .popup-body::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 2px; } .popup-body::-webkit-scrollbar-thumb:hover { background: #a8a8a8; }