/* === CONTACT — DARK CINEMATIC === */

body { font-family: 'Montserrat', sans-serif; background: #0a0a0a; color: #fff; margin: 0; padding: 0; }

.accent-text     { color: #8b0000; }
.accent-text-red { color: #8b0000; }
.text-dark       { color: #f0f0f0 !important; }
.dark-grey-text  { color: #ffffff; }
.lead            { color: rgba(255,255,255,0.62) !important; }

/* ── HERO ── */
.contact-hero-silver {
  height: 62vh; position: relative; overflow: hidden;
  background: url('https://img.freepik.com/free-photo/top-view-photo-camera-indoors-still-life_23-2150630615.jpg?semt=ais_rp_progressive&w=740&q=80') center center / cover no-repeat;
}
.contact-overlay-silver {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(0,0,0,0.72) 0%, rgba(10,10,10,0.94) 100%);
  z-index: 0;
}

/* ── CONTENT SECTION ── */
.contact-content-silver { background: #0a0a0a; }

/* ── CARDS ── */
.silver-card {
  background: #0f0f0f; border-radius: 8px; padding: 44px;
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 3px solid #8b0000;
  box-shadow: 0 20px 50px rgba(0,0,0,0.45);
}

/* ── FORM INPUTS ── */
.input-group-silver { position: relative; margin-bottom: 10px; }
.input-group-silver input,
.input-group-silver textarea {
  width: 100%;
  background: #1a1a1a; border: 1px solid rgba(255,255,255,0.1);
  border-radius: 4px; padding: 16px 20px;
  color: #fff; font-family: 'Montserrat', sans-serif;
  font-size: 0.9rem; transition: all 0.3s ease; outline: none;
}
.input-group-silver label {
  position: absolute; left: 20px; top: 16px;
  color: rgba(255,255,255,0.3); font-size: 0.9rem;
  pointer-events: none; transition: all 0.3s ease;
}
.input-group-silver input:focus ~ label,
.input-group-silver input:not(:placeholder-shown) ~ label,
.input-group-silver textarea:focus ~ label,
.input-group-silver textarea:not(:placeholder-shown) ~ label {
  top: -10px; left: 15px; font-size: 0.72rem;
  color: #8b0000; background: #0f0f0f; padding: 0 6px; letter-spacing: 1.5px;
}
.input-group-silver input:focus,
.input-group-silver textarea:focus {
  border-color: rgba(139,0,0,0.65);
  box-shadow: 0 0 0 3px rgba(139,0,0,0.08);
}

/* ── SUBMIT BUTTON ── */
.contact-submit-btn-silver {
  background: #8b0000; color: #fff; border: none;
  padding: 16px 44px; font-size: 0.82rem;
  text-transform: uppercase; letter-spacing: 3px;
  font-weight: 700; border-radius: 2px;
  cursor: pointer; transition: all 0.3s ease; width: 100%;
  font-family: 'Montserrat', sans-serif;
}
.contact-submit-btn-silver:hover {
  background: #fff; color: #8b0000;
  transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,0.4);
}

/* ── CONTACT INFO ── */
.info-icon-silver {
  width: 42px; height: 42px; flex-shrink: 0;
  background: rgba(139,0,0,0.1); color: #8b0000;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; margin-right: 16px;
  border: 1px solid rgba(139,0,0,0.2);
  transition: all 0.3s ease;
}
.info-row-silver:hover .info-icon-silver { background: #8b0000; color: #fff; transform: scale(1.1); }

.info-text a   { color: rgba(255,255,255,0.5); text-decoration: none; font-size: 0.9rem; transition: color 0.3s ease; }
.info-text a:hover { color: #8b0000; }
.info-text span { color: rgba(255,255,255,0.5); font-size: 0.9rem; }
.info-text h6  { color: #fff; font-size: 0.85rem; letter-spacing: 1px; }

/* ── MAP ── */
.map-container-silver {
  border-radius: 8px; overflow: hidden; min-height: 250px;
  border: 1px solid rgba(255,255,255,0.06);
}
.map-container-silver iframe {
  filter: grayscale(100%) brightness(0.38) contrast(1.3);
  transition: filter 0.5s ease;
}
.map-container-silver iframe:hover { filter: grayscale(60%) brightness(0.6); }

@media (max-width: 768px) {
  .contact-hero-silver { height: 50vh; }
  .silver-card { padding: 28px 22px; }
  .map-container-silver { min-height: 300px; margin-top: 20px; }
  /* Hero text wrapping improvement */
  .contact-hero-silver h1 { font-size: 3rem; }
}

@media (max-width: 480px) {
  .contact-hero-silver { height: 45vh; }
  .silver-card { padding: 22px 16px; }
  .contact-submit-btn-silver { padding: 14px 28px; font-size: .78rem; }
  .info-icon-silver { width: 36px; height: 36px; font-size: .95rem; margin-right: 12px; }
}

/* ── SELECT FIELD ── */
.input-group-silver select {
  width: 100%; background: #1a1a1a; border: 1px solid rgba(255,255,255,0.1);
  border-radius: 4px; padding: 16px 44px 16px 20px; color: rgba(255,255,255,0.35);
  font-family: 'Montserrat', sans-serif; font-size: 0.9rem;
  transition: all 0.3s ease; outline: none; appearance: none; cursor: pointer;
}
.input-group-silver select.selected { color: #fff; }
.input-group-silver select:focus {
  border-color: rgba(139,0,0,0.65); box-shadow: 0 0 0 3px rgba(139,0,0,0.08);
}
.input-group-silver select option { background: #1a1a1a; color: #fff; }
.select-arrow {
  position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
  color: rgba(255,255,255,0.3); pointer-events: none; font-size: 0.72rem;
}

/* ── FORM STATES ── */
.form-success { text-align: center; padding: 48px 10px; }
.form-success-icon {
  width: 72px; height: 72px; background: rgba(139,0,0,0.1); color: #8b0000;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  margin: 0 auto 24px; font-size: 2rem; border: 1px solid rgba(139,0,0,0.2);
}
.form-error-msg { color: #e06060; font-size: 0.82rem; text-align: center; }
.form-note {
  color: rgba(255,255,255,0.25); font-size: 0.73rem;
  text-align: center; margin-top: 14px; letter-spacing: .5px;
}
.btn-reset-form {
  background: none; border: none; color: rgba(255,255,255,0.4);
  font-family: 'Montserrat', sans-serif; font-size: 0.73rem;
  cursor: pointer; letter-spacing: 2px; text-transform: uppercase;
  padding: 0; margin-top: 20px; transition: color 0.3s;
}
.btn-reset-form:hover { color: #8b0000; }
.contact-submit-btn-silver:disabled { opacity: 0.7; cursor: not-allowed; }
.contact-submit-btn-silver:disabled:hover {
  transform: none; background: #8b0000; color: #fff; box-shadow: none;
}
@keyframes spin { to { transform: rotate(360deg); } }
.spin-icon { animation: spin 0.8s linear infinite; }
