/* 駐易家 頁尾預約表單 — uses the Astra theme tokens so it matches the site */
.eh-booking {
  background: var(--ast-global-color-5, #F0F5FA);
  border-top: 1px solid var(--ast-global-color-7, #D1D5DB);
  padding: 56px 20px;
  scroll-margin-top: 72px; /* clear the sticky header */
  color: var(--ast-global-color-3, #334155);
}
.eh-booking__inner { max-width: 880px; margin: 0 auto; }
.eh-booking h2 {
  margin: 0 0 8px;
  font-size: 1.6rem;
  line-height: 1.3;
  color: var(--ast-global-color-2, #1e293b);
}
.eh-booking__lead { margin: 0 0 28px; font-size: 1rem; }
.eh-booking__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
}
.eh-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.eh-field--wide { grid-column: 1 / -1; }
.eh-field label, .eh-field legend {
  font-size: .95rem;
  font-weight: 600;
  color: var(--ast-global-color-2, #1e293b);
  padding: 0;
}
.eh-req { color: #c2410c; margin-left: 2px; }
.eh-field input, .eh-field textarea, .eh-field select {
  width: 100%;
  box-sizing: border-box;
  font: inherit;
  font-size: 16px; /* prevents iOS zoom on focus */
  padding: 12px 14px;
  min-height: 48px;
  border: 1px solid var(--ast-global-color-7, #D1D5DB);
  border-radius: 8px;
  background: #fff;
  color: var(--ast-global-color-2, #1e293b);
}
.eh-field textarea { min-height: 110px; resize: vertical; }
.eh-field input:focus, .eh-field textarea:focus, .eh-field select:focus {
  outline: 2px solid var(--ast-global-color-0, #046bd2);
  outline-offset: 1px;
  border-color: var(--ast-global-color-0, #046bd2);
}
.eh-field fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.eh-choices { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.eh-choices label {
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 400;
  padding: 10px 16px;
  min-height: 44px; box-sizing: border-box;
  border: 1px solid var(--ast-global-color-7, #D1D5DB);
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
}
.eh-choices input { width: auto; min-height: 0; margin: 0; accent-color: var(--ast-global-color-0, #046bd2); }
.eh-choices label:has(input:checked) {
  border-color: var(--ast-global-color-0, #046bd2);
  background: #e8f1fb;
}
.eh-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.eh-booking__foot {
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
  margin-top: 22px;
}
.eh-submit {
  appearance: none; border: 0; cursor: pointer;
  font: inherit; font-size: 1.05rem; font-weight: 600;
  padding: 14px 32px; min-height: 50px;
  border-radius: 8px;
  color: #fff;
  background: var(--ast-global-color-0, #046bd2);
}
.eh-submit:hover { background: var(--ast-global-color-1, #045cb4); }
.eh-submit:disabled { opacity: .6; cursor: wait; }
.eh-alt { font-size: .95rem; }
.eh-alt a { color: var(--ast-global-color-0, #046bd2); font-weight: 600; }
.eh-status { margin-top: 16px; padding: 14px 16px; border-radius: 8px; display: none; }
.eh-status.is-ok { display: block; background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.eh-status.is-err { display: block; background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.eh-privacy { font-size: .85rem; margin: 14px 0 0; opacity: .85; }

@media (max-width: 544px) {
  .eh-booking { padding: 40px 16px; }
  .eh-booking h2 { font-size: 1.35rem; }
  .eh-booking__grid { grid-template-columns: 1fr; }
  .eh-submit { width: 100%; }
}
