@charset "utf-8";
/* CSS Document */
:root {
  --ink: #123438;
  --gold: #C3A62E;
  --cream: #FAF7F0;
  --white: #FFFFFF;
  --rule: #D8CFB8;
  --muted: #8A8578;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: 'Roboto', sans-serif;
  background: #1a2d30;
  color: var(--ink);
  font-weight: 300;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}
.form-card {
  background: var(--white);
  width: 100%;
  max-width: 780px;
  padding: 3rem 3rem 2.5rem;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
  border-radius: 2px;
}
@media (max-width: 640px) {
  .form-card { padding: 2rem 1.5rem; }
}
.form-header { text-align: center; margin-bottom: 2.5rem; }
.eyebrow {
  font-family: 'Roboto', sans-serif; text-transform: uppercase;
  letter-spacing: 0.3em; font-size: 0.7rem; color: var(--gold); margin-bottom: 0.75rem;
}
.form-header h2 {
  font-family: 'Merriweather', serif; font-weight: 300;
  font-size: 1.75rem; color: var(--ink); margin-bottom: 0.5rem;
}
.form-header p {
  font-family: 'Merriweather', serif; font-style: italic;
  font-size: 0.95rem; color: var(--muted);
}
.grid-2 {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem;
}
@media (max-width: 600px) { .grid-2 { grid-template-columns: 1fr; } }
.field { margin-bottom: 1rem; }

/* New Label Styles */
.form-label {
  display: block;
  font-size: 0.75rem;
  color: var(--muted);
  margin-bottom: 0.4rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-family: 'Roboto', sans-serif;
}

input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="date"], select, textarea {
  width: 100%; padding: 0.9rem 1rem;
  font-family: 'Roboto', sans-serif; font-size: 0.95rem; font-weight: 300;
  background: var(--white); border: 1px solid var(--rule);
  color: var(--ink); border-radius: 2px; transition: border-color 0.2s;
}
input::placeholder, textarea::placeholder { color: #ccc7bf; font-weight: 300; }
select { color: #9a9488; }
select.filled { color: var(--ink); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--gold); }
textarea { resize: vertical; min-height: 90px; font-family: 'Roboto', sans-serif; }
.destinations-label, .checkbox-label {
  font-size: 0.75rem; color: var(--muted); margin-bottom: 0.6rem; display: block;
  letter-spacing: 0.05em; text-transform: uppercase; font-family: 'Roboto', sans-serif;
}
.dest-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; margin-bottom: 1rem;
}
@media (max-width: 600px) { .dest-grid { grid-template-columns: 1fr 1fr; } }
.dest-option {
  display: flex; align-items: center; gap: 0.5rem; padding: 0.6rem 0.75rem;
  border: 1px solid var(--rule); background: var(--white);
  cursor: pointer; transition: all 0.2s; border-radius: 2px; font-size: 0.85rem;
}
.dest-option:hover { border-color: var(--gold); background: #FDFBF4; }
.dest-option input { accent-color: var(--gold); cursor: pointer; }
.btn-submit {
  background: var(--gold); color: var(--white); border: none;
  padding: 0.95rem 2.5rem; font-family: 'Roboto', sans-serif;
  font-size: 0.85rem; letter-spacing: 0.15em; font-weight: 400;
  cursor: pointer; border-radius: 2px; transition: all 0.3s;
  display: inline-flex; align-items: center; gap: 0.6rem;
  margin-top: 1rem;
}
.btn-submit:hover { background: var(--ink); }
.btn-submit .arrow { transition: transform 0.3s; }
.btn-submit:hover .arrow { transform: translateX(4px); }
.btn-submit:disabled { opacity: 0.7; cursor: not-allowed; }
.footer-note {
  font-size: 0.75rem; color: var(--muted); margin-top: 1rem;
  font-style: italic; text-align: left;
}
.success { display: none; text-align: center; padding: 2rem 1rem; }
.success.active { display: block; }
.success h3 {
  font-family: 'Merriweather', serif; font-weight: 300;
  font-size: 2rem; color: var(--ink); margin-bottom: 1rem;
}
.success .gold-line { width: 50px; height: 1px; background: var(--gold); margin: 1.5rem auto; }
.success p { color: var(--muted); max-width: 400px; margin: 0 auto 1rem; font-size: 0.95rem; }