/* --- 1. Layout & Header Fixes --- */ .contact-view { padding: 15px 5% 40px; max-width: 1100px; margin: 0 auto; color: #fff; box-sizing: border-box; } .contact-header { text-align: center; margin-bottom: 25px; } .contact-header h1 { font-size: clamp(2rem, 5vw, 3rem) !important; margin-bottom: 10px; font-weight: 800; } .highlight { color: #0096c7; } .contact-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 60px; align-items: center; } /* --- 2. Info Panel & Community Icons --- */ .contact-info-panel { display: flex; flex-direction: column; gap: 40px; } .info-item h3 { color: #0096c7; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; } .info-item p { font-size: 1.2rem; margin: 0; } .sub-text { font-size: 0.85rem !important; opacity: 0.6; } .community-section h3 { color: #0096c7; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 15px; opacity: 0.8; } .community-links { display: flex; gap: 15px; } .community-btn { display: flex; align-items: center; gap: 10px; padding: 10px 18px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; color: #fff; text-decoration: none; font-size: 0.9rem; font-weight: 500; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .community-btn svg { width: 18px; height: 18px; fill: #fff; flex-shrink: 0; } .community-btn:hover { background: rgba(255, 255, 255, 0.1); transform: translateY(-2px); border-color: #0096c7; } .community-btn.discord:hover { color: #5865F2; border-color: #5865F2; background: rgba(88, 101, 242, 0.1); box-shadow: 0 0 15px rgba(88, 101, 242, 0.4); } .community-btn.discord:hover svg { fill: #5865F2; } .community-btn.slack:hover { color: #ECB22E; border-color: #ECB22E; background: rgba(236, 178, 46, 0.1); box-shadow: 0 0 15px rgba(236, 178, 46, 0.4); } .community-btn.slack:hover svg { fill: #ECB22E; } /* --- 3. Form Styling & Zero-Height Validation --- */ .form-container { background: rgba(255, 255, 255, 0.03); padding: 40px; border-radius: 15px; border: 1px solid rgba(255, 255, 255, 0.1); box-sizing: border-box; } .form-group { margin-bottom: 28px; width: 100%; position: relative; } .form-group label { display: block; margin-bottom: 8px; font-size: 0.9rem; color: #ccc; } ::deep .validation-message { position: absolute; bottom: -18px; left: 0; font-size: 0.75rem; color: #ff4d4d; white-space: nowrap; } ::deep input, ::deep select, ::deep textarea { width: 100%; padding: 12px 15px; background: rgba(0, 0, 0, 0.4) !important; border: 1px solid rgba(255, 255, 255, 0.1) !important; border-radius: 6px; color: #fff !important; font-family: inherit; box-sizing: border-box; outline: none; } ::deep input:focus, ::deep select:focus, ::deep textarea:focus { border-color: #0096c7 !important; background: rgba(0, 0, 0, 0.6) !important; } /* --- 4. Custom Dropdown & Submit --- */ ::deep select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%230096c7' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: calc(100% - 15px) center !important; } ::deep select option { background-color: #0b1114; color: #fff; } .btn-submit { width: 100%; padding: 15px; background: #0096c7; color: white; border: none; border-radius: 6px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; margin-top: 5px; } .btn-submit:hover { background: #0077a3; filter: brightness(1.1); } /* Availability Badge */ .availability-badge { align-self: flex-start; margin-top: 10px; padding: 12px; background: rgba(0, 255, 150, 0.05); border: 1px solid rgba(0, 255, 150, 0.2); border-radius: 8px; font-size: 0.85rem; display: flex; align-items: center; gap: 10px; } .pulse-dot { width: 8px; height: 8px; background: #00ff96; border-radius: 50%; animation: pulse 2s infinite; } @keyframes pulse { 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 255, 150, 0.7); } 70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(0, 255, 150, 0); } 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 255, 150, 0); } } @media (max-width: 768px) { .contact-grid { grid-template-columns: 1fr; gap: 40px; } .contact-view { padding: 30px 5% 40px; } }