/* ===== Contact Page Styles ===== */
.contact-info-card { padding: 36px; height: 100%; text-align: center; }
.contact-info-card .ci-icon {
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--gradient-card); border: 1px solid var(--border-glass);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px; font-size: 1.3rem; color: var(--primary);
}
.contact-info-card h5 { font-size: 1.05rem; margin-bottom: 8px; }
.contact-info-card p { color: var(--text-secondary); font-size: 0.9rem; }
.contact-info-card a { color: var(--primary); }

/* Contact Form */
.contact-form-card { padding: 50px; }
.contact-form-card h3 { font-size: 1.5rem; margin-bottom: 8px; }
.contact-form-card > p { color: var(--text-secondary); font-size: 0.92rem; margin-bottom: 30px; }

.form-floating-custom { margin-bottom: 20px; position: relative; }
.form-floating-custom input,
.form-floating-custom textarea,
.form-floating-custom select {
  width: 100%; padding: 16px 20px;
  background: rgba(255,255,255,0.04); border: 1px solid var(--border-glass);
  border-radius: var(--radius-sm); color: var(--text-primary);
  font-family: var(--font-body); font-size: 0.92rem; outline: none;
  transition: var(--transition); resize: none;
}
.form-floating-custom input:focus,
.form-floating-custom textarea:focus,
.form-floating-custom select:focus {
  border-color: rgba(0,240,255,0.4);
  box-shadow: 0 0 15px rgba(0,240,255,0.08);
}
.form-floating-custom input::placeholder,
.form-floating-custom textarea::placeholder { color: var(--text-muted); }
.form-floating-custom select option { background: var(--bg-dark); color: var(--text-primary); }
.form-floating-custom label {
  position: absolute; top: -8px; left: 16px;
  background: var(--bg-dark); padding: 0 6px;
  font-size: 0.75rem; color: var(--primary);
  font-weight: 500; letter-spacing: 0.5px;
}

.form-message {
  padding: 14px 20px; border-radius: var(--radius-sm);
  font-size: 0.88rem; display: none; margin-top: 16px;
}
.form-message.success {
  display: block; background: rgba(0,240,100,0.1);
  border: 1px solid rgba(0,240,100,0.2); color: #00f064;
}
.form-message.error {
  display: block; background: rgba(255,45,117,0.1);
  border: 1px solid rgba(255,45,117,0.2); color: var(--accent);
}

/* Map */
.map-container { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-glass); }
.map-container iframe { width: 100%; height: 400px; border: none; filter: invert(0.9) hue-rotate(180deg); }
