/* ============================================================
   Luxshine Hair — Contact page (contact.html)
   Built from sample comment-assets/cmuw2625ij1m9-muw26r34.png.
   Tokens only (tokens.css). Reuses .field / .btn / .breadcrumb.
   ============================================================ */

.contact-page { background: var(--color-white); }

/* ---------------- Hero (gold band) + two columns ---------------- */
/* Gold only covers the top half of the hero (≈ the vertical middle of the
   form card); the lower half sits on the white page. The grid is vertically
   centred in the hero, so 50% lands on the form's middle without JS. */
.contact-hero {
  position: relative;
  background: transparent;
  padding-bottom: var(--space-20);
}
.contact-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: var(--color-primary);
  z-index: 0;
}
.contact-hero > .container { position: relative; z-index: 1; }
/* Breadcrumb (shop.css, which defines these, is not loaded on this page) */
.breadcrumb { display: flex; align-items: center; gap: var(--space-4); }
.breadcrumb__item {
  font-size: var(--caption-size);
  line-height: 20px;
  letter-spacing: 0.56px;
  text-transform: capitalize;
  text-decoration: none;
  color: var(--text-muted);
}
.breadcrumb__item--current { font-weight: 600; }
.breadcrumb__sep { width: 1px; height: 9px; background: var(--grey-400); }
.contact-hero .breadcrumb {
  padding-top: var(--space-6);
  padding-bottom: var(--space-10);
}
/* On the gold hero, darken for AA contrast */
.contact-hero .breadcrumb__item { color: var(--color-black); }
.contact-hero a.breadcrumb__item { color: var(--color-font); }
.contact-hero a.breadcrumb__item:hover { color: var(--color-black); }
.contact-hero .breadcrumb__sep { background: rgba(20, 20, 20, 0.4); }
.contact-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-12);
  align-items: start;
}

/* ---------------- Left: contact information card ---------------- */
.contact-info {
  background: var(--color-white);
  border-radius: 0;
  padding: var(--space-6);
  box-shadow: var(--shadow-md);
}
.contact-info__title {
  font-family: var(--font-heading);
  font-size: var(--sec-title-size);
  line-height: var(--sec-title-lh);
  color: var(--color-black);
  margin-bottom: var(--space-4);
}
.contact-info__title span { color: var(--primary-600); }
.contact-info__intro {
  color: var(--text-secondary);
  font-size: var(--body-size);
  line-height: var(--body-lh);
  margin-bottom: var(--space-8);
  max-width: 44ch;
}
.contact-info__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.contact-info__item {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
}
.contact-info__icon {
  flex: none;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-pill);
  background: var(--primary-100);
  color: var(--primary-600);
}
.contact-info__icon svg { width: 20px; height: 20px; display: block; }
.contact-info__body { min-width: 0; }
.contact-info__label {
  font-size: var(--caption-size);
  line-height: var(--caption-lh);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: var(--space-1);
}
.contact-info__value {
  display: block;
  font-size: var(--body-size);
  line-height: var(--body-lh);
  color: var(--color-black);
  font-weight: 500;
  text-decoration: none;
}
a.contact-info__value:hover,
a.contact-info__value:focus-visible { color: var(--primary-600); }

/* ---------------- Right: "Get in touch!" form (white card) ---------------- */
.contact-form-card {
  background: var(--color-white);
  padding: var(--space-6);
  border-radius: 0;
  box-shadow: var(--shadow-md);
}
.contact-form-card__title {
  font-family: var(--font-heading);
  font-size: var(--sec-title-size);
  line-height: var(--sec-title-lh);
  color: var(--color-black);
  margin-bottom: var(--space-4);
}
.contact-form-card__title span { color: var(--color-black); }
.contact-form-card__intro {
  color: var(--color-black);
  font-size: var(--body-size);
  line-height: var(--body-lh);
  margin-bottom: var(--space-8);
  max-width: 52ch;
}
.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
}
/* Readable on the gold band: solid dark labels + visible underlines */
.contact-form .field label { color: var(--color-black); }
.contact-form .field input,
.contact-form .field select,
.contact-form .field textarea {
  background: transparent;
  color: var(--color-black);
  border-bottom-color: rgba(20, 20, 20, 0.45);
}
.contact-form .field input::placeholder,
.contact-form .field textarea::placeholder { color: rgba(20, 20, 20, 0.55); }
.contact-form .field input:focus,
.contact-form .field select:focus,
.contact-form .field textarea:focus { border-bottom-color: var(--color-black); }
.contact-form__submit {
  width: 100%;
  justify-content: center;
  margin-top: var(--space-2);
}

/* ---------------- Our location ---------------- */
.contact-location {
  background: var(--color-white);
  padding: var(--space-20) 0;
}
.contact-location__title {
  font-family: var(--font-heading);
  font-size: var(--sec-title-size);
  line-height: var(--sec-title-lh);
  color: var(--color-black);
  margin-bottom: var(--space-4);
}
.contact-location__title span { color: var(--primary-600); }
.contact-location__intro {
  color: var(--text-secondary);
  font-size: var(--body-size);
  line-height: var(--body-lh);
  margin-bottom: var(--space-8);
  max-width: 52ch;
}
.contact-map {
  position: relative;
  min-height: 380px;
  background: var(--grey-300);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  padding: var(--space-8);
  text-align: center;
}
.contact-map__pin {
  width: 44px;
  height: 44px;
  color: var(--primary-600);
}
.contact-map__pin svg { width: 100%; height: 100%; display: block; }
.contact-map__text {
  max-width: 44ch;
  font-size: var(--body-size);
  line-height: var(--body-lh);
  color: var(--text-secondary);
}

/* ---------------- Responsive ---------------- */
@media (max-width: 1024px) {
  .contact-hero__grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .contact-hero { padding-bottom: var(--space-16); }
}
@media (max-width: 640px) {
  .contact-form__row { grid-template-columns: 1fr; gap: var(--space-6); }
  .contact-hero { padding-bottom: var(--space-12); }
  .contact-hero .breadcrumb { padding-bottom: var(--space-8); }
  .contact-location { padding: var(--space-12) 0; }
  .contact-map { min-height: 280px; }
}
