/* Page styles for contact/index.astro (ported from its scoped <style> block). */

/* ── Ambient glows ── */
.contact-glow-gold {
  position: absolute;
  top: -10%;
  right: -5%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(242,182,54,0.12) 0%, transparent 70%);
  filter: blur(80px);
  border-radius: 9999px;
  z-index: 0;
  pointer-events: none;
}
.contact-glow-navy {
  position: absolute;
  bottom: -10%;
  left: -5%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(31,45,92,0.30) 0%, transparent 70%);
  filter: blur(80px);
  border-radius: 9999px;
  z-index: 0;
  pointer-events: none;
}

/* ── Faint background image ── */
.contact-bg-image {
  position: absolute;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 56rem;
  opacity: 0.07;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.arch-top {
  border-radius: 999px 999px 0 0;
}

/* ── Glassmorphic form card ── */
.glass-form-card {
  background: rgba(30, 30, 44, 0.72);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: var(--radius-card);
  padding: 3rem;
  border: 1px solid rgba(242, 182, 54, 0.14);
  box-shadow: var(--shadow-lift);
}
@media (max-width: 768px) {
  .glass-form-card { padding: 1.75rem; }
}

/* Sparkle motif (inside clip, decorative) */
.form-sparkle {
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  width: 28px;
  height: 28px;
  opacity: 0.55;
  pointer-events: none;
  z-index: 1;
}
.form-sparkle--sm {
  top: auto;
  bottom: 1.25rem;
  left: 1.5rem;
  right: auto;
  width: 16px;
  height: 16px;
  opacity: 0.4;
}

/* Top shimmer line */
.form-shimmer-line {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(242,182,54,0.35) 50%, transparent 100%);
}

/* ── Form elements ── */
.form-label {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 600;
  margin-left: 0.25rem;
  margin-bottom: 0.5rem;
  color: var(--color-gold);
  font-family: var(--font-body);
}
.form-input {
  width: 100%;
  background: rgba(13, 13, 26, 0.5);
  border: 1px solid rgba(242, 182, 54, 0.12);
  border-radius: var(--radius-ui);
  padding: 1rem 1.25rem;
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 0.9375rem;
  outline: none;
  transition: border-color var(--dur-mid) var(--ease-pop), box-shadow var(--dur-mid) var(--ease-pop);
}
.form-input::placeholder {
  color: rgba(205, 191, 166, 0.4);
}
.form-input:focus {
  border-color: var(--color-gold);
  box-shadow: 0 0 0 3px rgba(242, 182, 54, 0.18);
}
.form-select {
  appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23F2B636' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}
.form-select option {
  background: #1e1e2c;
  color: var(--color-text);
}

/* ── Submit button (gold pill, hard-offset shadow, bouncy) ── */
.form-submit-btn {
  background: linear-gradient(135deg, var(--gold-glow), var(--gold) 55%, var(--gold-deep));
  color: var(--night);
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  padding: 1.25rem 4rem;
  border-radius: var(--radius-pill);
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 0 var(--gold-deep), var(--glow-gold);
  transition: box-shadow var(--dur-mid) var(--ease-pop), transform var(--dur-mid) var(--ease-pop), background var(--dur-mid) var(--ease-pop);
  width: 100%;
}
@media (min-width: 768px) {
  .form-submit-btn { width: auto; }
}
.form-submit-btn:hover {
  background: linear-gradient(135deg, var(--gold-glow), var(--gold-glow) 55%, var(--gold));
  box-shadow: 0 6px 0 var(--gold-deep), var(--glow-gold);
  transform: translateY(-2px);
}
.form-submit-btn:active {
  background: var(--gold-deep);
  box-shadow: 0 2px 0 var(--gold-deep), var(--glow-gold);
  transform: translateY(1px);
}

/* Status message (mailto handoff feedback) */
.form-status-msg {
  min-height: 1.25rem;
  font-size: 0.8125rem;
  font-family: var(--font-body);
  color: var(--color-text-muted);
  text-align: center;
}
.form-status-msg.is-success {
  color: var(--color-gold);
}
.form-status-msg.is-error {
  color: #ff8a8a;
}

/* Privacy note */
.form-privacy-note {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: rgba(205, 191, 166, 0.55);
  font-family: var(--font-body);
}

/* ── Contact info cards ── */
.contact-info-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
/* DISABLED — never applied on the Astro site (its scoped styles didn't reach the <Icon> SVG).
   Kept for parity; uncomment to restore the originally intended look. */
/*
.contact-info-icon {
  color: var(--color-gold);
  font-size: 2rem;
}
*/
.contact-info-heading {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-style: italic;
  color: var(--color-text);
}
.contact-info-text {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  letter-spacing: 0.08em;
  line-height: 1.6;
}

/* ── Organic blob decoration ── */
.contact-blob-decoration {
  position: absolute;
  bottom: -5rem;
  right: -5rem;
  width: 20rem;
  height: 20rem;
  opacity: 0.35;
  mix-blend-mode: screen;
  pointer-events: none;
  z-index: 0;
}
.organic-blob {
  border-radius: 60% 40% 70% 30% / 50% 60% 40% 50%;
}

/* ── Date input calendar icon color (Webkit) ── */
input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(0.6) sepia(1) saturate(3) hue-rotate(10deg);
  cursor: pointer;
  opacity: 0.6;
}
