form p { margin-bottom: .9rem; }
label { display: block; margin-bottom: .3rem; font-weight: 600; }
input, select, textarea {
  width: 100%;
  padding: .72rem;
  border: 1px solid #d9cbbd;
  border-radius: 10px;
  background: #fff;
}
.form-card { max-width: 760px; }

.enquiry-section {
  padding-bottom: clamp(5rem, 8vw, 7.5rem);
}

.services-group-title {
  margin: 2.25rem 0 1rem;
  font-size: clamp(1.7rem, 3vw, 2.2rem);
}

.services-group-grid {
  margin-bottom: 0.5rem;
}

.services-package-intro {
  margin: 2rem 0 0.5rem;
  color: var(--text-soft);
  font-style: italic;
}

.service-card--package {
  border-color: rgba(219, 179, 113, 0.7);
  box-shadow:
    14px 18px 34px rgba(0, 0, 0, 0.4),
    -8px -8px 20px rgba(246, 221, 194, 0.08),
    inset 0 0 0 1px rgba(255, 226, 198, 0.11);
}

.service-package-tag {
  margin: 0 0 0.4rem;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gold);
}

.general-booking-form,
.bridal-enquiry-form {
  display: grid;
  gap: 1.1rem;
  padding: clamp(1.3rem, 3vw, 2rem);
  background:
    linear-gradient(180deg, rgba(23, 17, 15, 0.95), rgba(12, 9, 9, 0.94));
  border: 1px solid rgba(198, 160, 98, 0.58);
  box-shadow:
    inset 0 0 0 1px rgba(236, 198, 160, 0.12),
    0 24px 40px rgba(0, 0, 0, 0.36);
}

.general-booking-form .form-field,
.bridal-enquiry-form .form-field {
  display: grid;
  gap: 0.45rem;
}

.general-booking-form label,
.bridal-enquiry-form label {
  margin: 0;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--blush-gold);
}

.general-booking-form input,
.general-booking-form select,
.general-booking-form textarea,
.bridal-enquiry-form input,
.bridal-enquiry-form select,
.bridal-enquiry-form textarea {
  width: 100%;
  padding: 0.85rem 0.95rem;
  border-radius: 0.6rem;
  border: 1px solid rgba(213, 174, 115, 0.62);
  color: var(--text-light);
  background:
    linear-gradient(180deg, rgba(25, 19, 17, 0.95), rgba(15, 11, 10, 0.95));
  box-shadow: inset 0 0 0 1px rgba(255, 229, 203, 0.06);
}

.general-booking-form select,
.bridal-enquiry-form select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(231, 178, 164, 0.85) 50%),
    linear-gradient(135deg, rgba(231, 178, 164, 0.85) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% + 1px),
    calc(100% - 12px) calc(50% + 1px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 2.1rem;
}

.general-booking-form textarea,
.bridal-enquiry-form textarea {
  min-height: 140px;
  resize: vertical;
}

.general-booking-form input::placeholder,
.general-booking-form textarea::placeholder,
.bridal-enquiry-form input::placeholder,
.bridal-enquiry-form textarea::placeholder {
  color: var(--text-soft);
}

.general-booking-form input:focus,
.general-booking-form select:focus,
.general-booking-form textarea:focus,
.bridal-enquiry-form input:focus,
.bridal-enquiry-form select:focus,
.bridal-enquiry-form textarea:focus {
  outline: none;
  border-color: rgba(231, 178, 164, 0.95);
  box-shadow:
    0 0 0 2px rgba(10, 8, 7, 0.95),
    0 0 0 4px rgba(213, 174, 115, 0.45);
}

.general-booking-form .field-help,
.bridal-enquiry-form .field-help {
  color: var(--text-soft);
  font-size: 0.85rem;
}

.general-booking-form .field-errors,
.general-booking-form .form-errors,
.bridal-enquiry-form .field-errors,
.bridal-enquiry-form .form-errors {
  color: #f6b4b4;
  font-size: 0.9rem;
}

.general-booking-form .btn,
.bridal-enquiry-form .btn {
  margin-top: 0.4rem;
  width: fit-content;
}

.bridal-enquiry-form .checkbox-field {
  gap: 0.6rem;
}

.bridal-enquiry-form .checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  width: fit-content;
  padding: 0.68rem 0.82rem;
  border-radius: 0.6rem;
  border: 1px solid rgba(213, 174, 115, 0.62);
  background: linear-gradient(180deg, rgba(25, 19, 17, 0.95), rgba(15, 11, 10, 0.95));
  box-shadow: inset 0 0 0 1px rgba(255, 229, 203, 0.06);
}

.bridal-enquiry-form .checkbox-label input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  accent-color: #d5ae73;
  margin: 0;
}

.bridal-enquiry-form .checkbox-label span {
  color: var(--blush-gold);
  font-size: 1rem;
  letter-spacing: 0.03em;
}

@media (max-width: 620px) {
  .general-booking-form,
  .bridal-enquiry-form {
    gap: 0.95rem;
    padding: 1.15rem;
  }

  .general-booking-form label,
  .bridal-enquiry-form label {
    font-size: 1.02rem;
  }

  .general-booking-form .btn,
  .bridal-enquiry-form .btn {
    width: 100%;
  }
}

.booking-policy-card {
  margin: 1.2rem 0 1.5rem;
  padding: clamp(1.2rem, 3vw, 1.8rem);
  border: 1px solid rgba(198, 160, 98, 0.58);
  background: linear-gradient(180deg, rgba(21, 15, 14, 0.94), rgba(12, 9, 9, 0.95));
  box-shadow: inset 0 0 0 1px rgba(255, 229, 203, 0.08);
}

.booking-policy-card h2 {
  margin-bottom: 0.6rem;
}

.booking-policy-card p {
  margin: 0.45rem 0;
  color: var(--text-light);
}
