/* ============================
   page-contact.css
   お問い合わせページ固有スタイル
   ============================ */

/* Phone list */
.phone-list {
  background: var(--color-white);
  border-radius: 40px;
  padding: var(--space-3xl) var(--space-4xl);
  max-width: 800px;
  margin: 0 auto;
}
.phone-list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-lg) 0;
  border-bottom: 1px solid var(--color-border);
}
.phone-list__item:last-child {
  border-bottom: none;
}
.phone-list__name {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.5;
}
.phone-list__name::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--color-primary);
  border-radius: 50%;
  flex-shrink: 0;
}
.phone-list__number {
  font-family: var(--font-family-en);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 700;
  color: var(--color-primary);
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.phone-list__number a {
  color: var(--color-primary);
  text-decoration: none;
}
.phone-list__number a:hover {
  opacity: 0.7;
}

/* Form card (Figma: white rounded card) */
.form-card {
  background: var(--color-white);
  border-radius: 40px;
  padding: var(--space-4xl) var(--space-3xl);
  max-width: 1100px;
  margin: 0 auto;
}

/* Form intro */
.form-intro {
  text-align: center;
  margin-bottom: var(--space-3xl);
  line-height: 2;
}
.form-intro__urgent {
  font-weight: 700;
  color: var(--color-primary);
  font-size: var(--font-size-lg);
}

/* Figma: input fields with beige bg, rounded 16px, no border */
.contact-form__input,
.contact-form__select,
.contact-form__textarea {
  width: 100%;
  background-color: var(--color-bg);
  border: none;
  border-radius: var(--radius-xl);
  padding: var(--space-md) var(--space-lg);
  box-sizing: border-box;
}
.contact-form__input:focus,
.contact-form__select:focus,
.contact-form__textarea:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}
.contact-form__textarea {
  min-height: 300px;
}
.contact-form__label-col {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-text);
}
.contact-form__required {
  color: var(--color-primary);
  font-weight: 700;
  background: none;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
  margin-left: 2px;
}
.contact-form__input::placeholder,
.contact-form__select option[disabled] {
  color: #c2c2bb;
}

/* Privacy note */
.form-privacy {
  text-align: center;
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--color-text);
  line-height: 2;
  margin-top: var(--space-3xl);
}
.form-privacy a {
  color: var(--color-text);
  text-decoration: underline;
}

/* Submit button (Figma: orange pill) */
.form-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  margin: var(--space-2xl) auto 0;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: var(--font-size-xl);
  font-weight: 700;
  padding: var(--space-md) var(--space-3xl);
  border-radius: var(--radius-full);
  border: none;
  cursor: pointer;
  transition: background-color var(--transition);
}
.form-submit:hover { background-color: #e06a15; }
.form-submit svg { width: 20px; height: 20px; fill: currentColor; }

.form-disclaimer {
  background: var(--color-bg);
  border-radius: var(--radius-lg);
  padding: var(--space-lg) var(--space-xl);
  margin-bottom: var(--space-3xl);
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  line-height: 1.8;
}

@media (max-width: 768px) {
  .phone-list { padding: var(--space-xl) var(--space-lg); border-radius: 24px; }
  .phone-list__item { flex-direction: column; align-items: flex-start; gap: var(--space-xs); }
  .form-card { padding: var(--space-2xl) var(--space-lg); border-radius: 24px; }
  .contact-form__label-col { font-size: var(--font-size-sm); }
  .form-intro { font-size: var(--font-size-sm); }
  .form-intro__urgent { font-size: var(--font-size-base); }
  .form-submit { font-size: var(--font-size-base); }
}
