/* =========================================================================
   ENISHI — CONTACT page (contact.html)
   Links style.css first; tokens/components reused, only page-specific rules here.
   ========================================================================= */

/* ---- Body band --------------------------------------------------------- */
.contact-body{ background:var(--surface); border-top:1px solid var(--line); }
.contact-body .wrap{ padding-block:80px; }

/* ---- 2-column grid (form 1.5fr + aside 1fr) ---------------------------- */
.contact-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:56px;
  align-items:start;
}

/* ---- Left — form ------------------------------------------------------- */
.contact-form-card{ padding:36px; }
.contact-form{ display:flex; flex-direction:column; gap:22px; }

.contact-form__actions{
  display:flex; align-items:center; gap:20px;
  flex-wrap:wrap; margin-top:6px;
}
.contact-form__note{ font-size:12px; color:var(--muted); line-height:1.6; }
.contact-form__trap{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
.contact-form__status{ min-height:1.6em; font-size:14px; font-weight:700; }
.contact-form__status.is-success{ color:#176b3a; }
.contact-form__status.is-error{ color:#b42318; }
.contact-form [data-submit-button]:disabled{ opacity:.65; cursor:wait; }

/* ---- Right — info aside ------------------------------------------------ */
.contact-aside{
  padding:32px;
  position:sticky; top:102px;
  display:flex; flex-direction:column; gap:24px;
}
.contact-aside__title{
  font-family:var(--font-heading); font-weight:700; font-size:18px;
  color:var(--ink); letter-spacing:.5px;
}

.contact-info{ display:flex; flex-direction:column; gap:18px; }
.contact-info__row{ display:flex; align-items:flex-start; gap:14px; }
.contact-info__icon{
  width:38px; height:38px; border-radius:10px; font-size:18px; margin-top:1px;
}
.contact-info__text{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.contact-info__label{ font-size:13px; color:var(--muted); }
.contact-info__value{ font-size:15px; color:var(--ink); line-height:1.6; word-break:break-word; }
.contact-info__link{ color:var(--accent); text-decoration:none; }
.contact-info__link:hover{ text-decoration:underline; }

.contact-aside__faq{
  font-size:13px; color:var(--muted); line-height:1.8;
  padding-top:20px; border-top:1px solid var(--line);
}
.contact-aside__faq-link{ color:var(--accent); font-weight:600; text-decoration:underline; margin-inline:2px; }
.contact-aside__faq-link:hover{ color:#ff8c1f; }

/* ---- Responsive -------------------------------------------------------- */
@media (max-width:900px){
  .contact-grid{ grid-template-columns:1fr; gap:32px; }
  .contact-aside{ position:static; top:auto; }
}
@media (max-width:600px){
  .contact-body .wrap{ padding-block:56px; }
  .contact-form-card{ padding:24px; }
  .contact-aside{ padding:24px; }
  .contact-form__actions .btn{ width:100%; justify-content:center; }
}
