/* ============================================================
   CONTACT PAGE STYLES
   ============================================================ */

/* Uses .section.section--split in HTML — no position/z-index/width/max-width/margin needed here */
.contact-wrap {
  align-items: start;
}
.contact-info { position: sticky; top: 2rem; align-self: start; }
.contact-info__title { font-size: 3rem; color: var(--C-TEA); margin-bottom: 0.6rem; }
.contact-info p { font-size: 1rem; color: var(--C-DRK); opacity: 0.65; line-height: 1.8; margin-bottom: 2rem; max-width: 380px; }
.contact-detail { display: flex; flex-direction: column; gap: var(--GAP-CARDS); margin-bottom: 2.5rem; }
.contact-detail__item { display: flex; align-items: center; gap: 0.8rem; font-size: 0.95rem; color: var(--C-DRK); opacity: 0.75; text-decoration: none; transition: var(--T-BASE), opacity 0.2s; }
.contact-detail__item:hover { color: var(--C-TEA); opacity: 1; }
.contact-detail__item i { color: var(--C-TEA); font-size: 1rem; width: 20px; text-align: center; }
.contact-social { display: flex; gap: var(--GAP-CARDS); }
.contact-social a { font-size: 1.4rem; color: var(--C-DRK); opacity: 0.4; transition: var(--T-BASE), opacity 0.2s; }
.contact-social a:hover { color: var(--C-TEA); opacity: 1; }

.contact-form {
  background: var(--C-WHT);
  border: 1px solid var(--C-LIG);
  border-radius: var(--R-MD);
  padding: var(--PAD-CARD);
  box-shadow: var(--S-FORM);
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--GAP-CARDS); margin-bottom: 1.4rem; }
.form-row .form-group { margin-bottom: 0; }
.form-group { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1.4rem; }
.form-group label { font-family: var(--F-QCK); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--C-DRK); opacity: 0.6; }
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--C-LIG);
  border-radius: var(--R-MD);
  background: var(--C-LIG);
  font-family: var(--F-RUB);
  font-size: 0.95rem;
  color: var(--C-DRK);
  outline: none;
  transition: var(--T-BASE);
}
.form-group select {
  color: rgba(28, 27, 35, 0.5); /* matches hint opacity */
}
.form-group select:focus,
.form-group select.has-value {
  color: var(--C-DRK);
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color: var(--C-TEA); background: var(--C-WHT); }
.form-group textarea { resize: vertical; min-height: 130px; }
.form-group input[type="file"] {
  width: 100%;
  padding: 0.6rem 0.9rem;
  border: 1.5px dashed var(--C-LIG);
  border-radius: var(--R-MD);
  background: var(--C-LIG);
  font-family: var(--F-RUB);
  font-size: 0.9rem;
  color: var(--C-DRK);
  cursor: pointer;
  transition: var(--T-BASE);
}
.form-group input[type="file"]:hover,
.form-group input[type="file"]:focus { border-color: var(--C-TEA); outline: none; }

.form-submit {
  width: 100%;
  padding: 0.85rem;
  background: var(--C-TEA);
  color: var(--C-WHT);
  border: none;
  border-radius: var(--R-MD);
  font-family: var(--F-QCK);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: var(--T-BASE);
}
.form-submit:hover { background: var(--C-DTEA); }
.form-success { display: none; text-align: center; padding: 2rem 0; }
.form-success i { font-size: 2.5rem; color: var(--C-TEA); margin-bottom: 0.8rem; display: block; }
.form-success p { font-size: 1rem; color: var(--C-DRK); opacity: 0.7; }

@media (max-width: 900px) {
  /* .section--split collapse handled by style.css */
  .contact-info { position: static; }
  .contact-info__title { font-size: 2rem; }
  .form-row { grid-template-columns: 1fr; }
  .nc-checkbox-group { grid-template-columns: 1fr; }
  /* Info panel: heading full width, then text + bullets side by side */
  .contact-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--SPACE-SM) var(--GAP-SECTION-LG);
    align-items: start;
  }
  .contact-info__title {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .contact-info__text {
    grid-column: 1;
    grid-row: 2;
  }
  .contact-info__text p {
    margin-bottom: var(--SPACE-SM);
    max-width: 100%;
  }
  .contact-info__text p:last-child { margin-bottom: 0; }
  .contact-detail {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin-bottom: 0;
  }
}

@media (max-width: 560px) {
  .contact-info__title { font-size: 1.75rem; }
  .contact-info p { font-size: 0.9rem; }
  .contact-form { padding: var(--SPACE-MD); }

  /* Collapse info panel back to single column */
  .contact-info {
    display: block;
  }
  .contact-info__text p {
    margin-bottom: 2rem;
    max-width: 380px;
  }
  .contact-detail {
    margin-bottom: 2.5rem;
  }
}


/* ── New customer form additions ─────────────────────────── */
.nc-section-label {
  font-family: var(--F-QCK);
  font-size: var(--TEXT-XS);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--C-TEA);
  margin: var(--SPACE-XL) 0 var(--SPACE-MD);
  padding-bottom: var(--SPACE-SM);
  border-bottom: 1px solid var(--C-LIG);
}
.nc-section-label:first-of-type { margin-top: 0; }

.form-required {
  color: var(--C-MAG);
  margin-left: 2px;
}

/* Radio group */
.nc-radio-group {
  display: flex;
  flex-direction: column;
  gap: var(--SPACE-SM);
  margin-top: var(--SPACE-SM);
}
.nc-checkbox-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--SPACE-SM) var(--GAP-CARDS);
  margin-top: var(--SPACE-SM);
}

@media (max-width: 600px) {
  .nc-checkbox-group {
    grid-template-columns: 1fr;
  }
}

.nc-radio,
.nc-checkbox {
  display: flex;
  align-items: center;
  gap: var(--SPACE-SM);
  cursor: pointer;
  font-size: var(--TEXT-MD);
  color: var(--C-DRK);
  opacity: 0.75;
  transition: opacity var(--T-FAST);
  line-height: 1.5;
}
.nc-radio:hover,
.nc-checkbox:hover { opacity: 1; }

.nc-radio input[type="radio"],
.nc-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--C-TEA);
  flex-shrink: 0;
  cursor: pointer;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}

.nc-radio--other {
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--SPACE-XS);
}

.nc-radio__text-input {
  flex: 1;
  max-width: 180px;
  padding: 0.3rem 0.6rem;
  border: 1px solid var(--C-LIG);
  border-radius: var(--R-SM);
  background: var(--C-LIG);
  font-family: var(--F-RUB);
  font-size: var(--TEXT-SM);
  color: var(--C-DRK);
  outline: none;
  transition: var(--T-BASE);
}
.nc-radio__text-input:not(:disabled) { background: var(--C-WHT); border-color: var(--C-TEA); }
.nc-radio__text-input:disabled { opacity: 0.4; cursor: not-allowed; }
.nc-radio__text-input:focus { border-color: var(--C-TEA); background: var(--C-WHT); }

/* Error state */
.nc-error {
  text-align: center;
  padding: 1.5rem 0;
  color: var(--C-MAG);
}
.nc-error i { font-size: 2rem; margin-bottom: 0.6rem; display: block; }
.nc-error p { font-size: var(--TEXT-MD); opacity: 0.8; }
.nc-error a { color: var(--C-TEA); }

/* ── Shared form helpers ─────────────────────────────────── */
.form-hint {
  font-size: var(--TEXT-XS);
  color: var(--C-DRK);
  opacity: 0.5;
  margin-top: 0.2rem;
}
.form-hint-inline {
  font-size: var(--TEXT-XS);
  color: var(--C-DRK);
  opacity: 0.5;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}