/* ==========================================================================
   Armstrong Build — Contact / Enquiry (page-specific)
   Figma node 189:305 — frame width 1440. Reuses global tokens from main.css.
   ========================================================================== */

.contact-head{ background:var(--paper); }
.contact-head .container{
  padding-top:100px; padding-bottom:60px;
  display:flex; flex-direction:column; gap:24px;
}
.contact-head__title{
  font-family:var(--font-serif); font-weight:300;
  color:var(--ink); font-size:79px; line-height:1.04;
}
.contact-head__lede{
  font-family:var(--font-sans); font-weight:300;
  color:var(--text-soft); font-size:18px; line-height:1.6;
  max-width:680px;
}

/* --------------------------------------------------------------- Success / error */
.contact-success{ background:var(--paper); }
.contact-success .container{ padding-bottom:120px; }
.contact-success__card{
  display:flex; align-items:flex-start; gap:24px;
  background:var(--card); border:1px solid var(--line-2);
  border-radius:var(--radius-card); padding:48px;
}
.contact-success__check{
  flex-shrink:0; width:56px; height:56px; border-radius:28px;
  background:var(--ink); color:var(--paper);
  display:inline-flex; align-items:center; justify-content:center; font-size:24px;
}
.contact-success__title{
  font-family:var(--font-serif); font-weight:500; color:var(--ink-2);
  font-size:30px; line-height:1.2;
}
.contact-success__body{
  font-family:var(--font-sans); font-weight:300; color:var(--text-soft);
  font-size:16px; line-height:1.6; margin-top:12px; max-width:560px;
}

.contact-error{ background:var(--paper); }
.contact-error__msg{
  background:#f7ece6; border:1px solid #e3c8b8; color:#7a3a1f;
  padding:18px 24px; font-size:14px; letter-spacing:.3px;
}

/* --------------------------------------------------------------- Enquiry categories */
.contact-cats{ background:var(--paper); }
.contact-cats .container{
  display:flex; flex-direction:column; gap:20px; padding-bottom:20px;
}
.contact-cats__label{
  font-family:var(--font-sans); font-weight:400;
  color:var(--muted); font-size:11px; letter-spacing:2px;
}
.contact-cats__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.cat-card{
  position:relative; display:flex; flex-direction:column; gap:8px;
  border:1px solid var(--line-2); background:transparent;
  padding:26px 28px; cursor:pointer;
  transition:background-color .25s ease, border-color .25s ease;
}
.cat-card input{
  position:absolute; opacity:0; width:0; height:0; margin:0; pointer-events:none;
}
.cat-card__title{
  font-family:var(--font-serif); font-weight:500; color:var(--ink); font-size:24px; line-height:1.1;
  transition:color .25s ease;
}
.cat-card__desc{
  font-family:var(--font-sans); font-weight:400; color:var(--muted); font-size:13px;
  transition:color .25s ease;
}
.cat-card:hover{ border-color:var(--line-4); }
.cat-card.is-active,
.cat-card:has(input:checked){
  background:var(--ink); border-color:var(--ink);
}
.cat-card.is-active .cat-card__title,
.cat-card:has(input:checked) .cat-card__title{ color:var(--paper); }
.cat-card.is-active .cat-card__desc,
.cat-card:has(input:checked) .cat-card__desc{ color:var(--muted); }
.cat-card:focus-within{ outline:2px solid var(--ink); outline-offset:2px; }

/* --------------------------------------------------------------- Form body */
.contact-body{ background:var(--paper); }
.contact-body__inner{
  display:flex; align-items:flex-start; gap:80px;
  padding-top:40px; padding-bottom:120px;
}
.enquiry-form{
  flex:1 1 0; min-width:0;
  display:flex; flex-direction:column; gap:56px;
}

/* Fieldsets / legends */
.enq-fieldset{ border:0; margin:0; padding:0; display:flex; flex-direction:column; gap:24px; }
.enq-legend{
  display:flex; align-items:center; gap:16px; width:100%;
  padding:0 0 20px; border-bottom:1px solid var(--line-2); float:none;
}
.enq-legend__num{ font-family:var(--font-serif); font-weight:300; color:var(--muted); font-size:24px; }
.enq-legend__title{ font-family:var(--font-serif); font-weight:500; color:var(--ink); font-size:24px; }

/* Fields */
.enq-field{ display:flex; flex-direction:column; gap:12px; width:100%; }
.enq-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.enq-label{
  font-family:var(--font-sans); font-weight:400;
  color:var(--muted); font-size:12px; letter-spacing:1px;
}
.enq-req{ color:#a3744f; }

.enq-input{
  width:100%; font-family:var(--font-sans); font-weight:400;
  font-size:15px; color:var(--ink);
  background:transparent; border:1px solid var(--line-2); border-radius:0;
  padding:18px 20px; line-height:1.4;
  transition:border-color .2s ease, background-color .2s ease;
}
.enq-input::placeholder{ color:var(--muted); opacity:1; }
.enq-input:focus{ outline:none; border-color:var(--ink); background:var(--card); }
.enq-textarea{ resize:vertical; min-height:120px; padding-bottom:80px; }

/* Chip selectors (radio buttons styled as chips) */
.enq-chips{ display:flex; flex-wrap:wrap; gap:12px; }
.enq-chip__input{ position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
.enq-chip{
  display:inline-flex; align-items:center; cursor:pointer;
  border:1px solid var(--line-2); padding:14px 22px;
  font-family:var(--font-sans); font-weight:400; font-size:14px; letter-spacing:.5px;
  color:var(--text-soft);
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.enq-chip:hover{ border-color:var(--line-4); }
.enq-chip__input:checked + .enq-chip{
  background:var(--ink); border-color:var(--ink); color:var(--paper);
}
.enq-chip__input:focus-visible + .enq-chip{ outline:2px solid var(--ink); outline-offset:2px; }

/* Dropzone */
.enq-dropzone{
  display:flex; flex-direction:column; align-items:center; gap:12px;
  background:var(--paper-3); border:1px dashed var(--line-2);
  padding:56px 24px; cursor:pointer; text-align:center;
  transition:background-color .2s ease, border-color .2s ease;
}
.enq-dropzone:hover{ background:var(--paper-4); border-color:var(--line-4); }
.enq-dropzone__icon{ font-family:var(--font-sans); color:var(--muted); font-size:28px; line-height:1; }
.enq-dropzone__head{ font-family:var(--font-serif); font-weight:500; color:var(--ink); font-size:22px; }
.enq-dropzone__hint{ font-family:var(--font-sans); font-weight:400; color:var(--muted); font-size:13px; }
.enq-dropzone__input{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.enq-dropzone:focus-within{ outline:2px solid var(--ink); outline-offset:4px; }

/* Submit */
.enq-submit{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding-top:8px;
}
.enq-submit__note{ font-family:var(--font-sans); font-weight:300; color:var(--muted); font-size:13px; }
.enq-submit__btn{ gap:12px; border-radius:0; padding:20px 44px; }
.enq-submit__arrow{ font-size:16px; letter-spacing:0; }

/* --------------------------------------------------------------- Sidebar */
.enq-sidebar{
  flex:0 0 380px; width:380px;
  background:var(--paper-3); padding:48px 40px;
  display:flex; flex-direction:column; gap:40px;
}
.enq-sidebar__label{
  font-family:var(--font-sans); font-weight:400; color:var(--muted);
  font-size:11px; letter-spacing:2px;
}
.enq-sidebar__item{ display:flex; flex-direction:column; gap:6px; }
.enq-sidebar__sub{ font-family:var(--font-sans); font-weight:400; color:var(--muted); font-size:12px; letter-spacing:1px; }
.enq-sidebar__val{
  font-family:var(--font-serif); font-weight:500; color:var(--ink); font-size:22px;
  transition:opacity .2s ease;
}
a.enq-sidebar__val:hover{ opacity:.7; }
.enq-sidebar__note{
  padding-top:24px; border-top:1px solid var(--line-2);
}
.enq-sidebar__note p{
  font-family:var(--font-sans); font-weight:300; color:var(--text-soft);
  font-size:14px; line-height:1.6;
}

/* --------------------------------------------------------------- Responsive */
@media (max-width:1100px){
  .contact-cats__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px){
  .contact-head .container{ padding-top:64px; padding-bottom:40px; }
  .contact-head__title{ font-size:48px; }
  .contact-body__inner{ flex-direction:column; gap:48px; padding-bottom:80px; }
  .enquiry-form{ width:100%; }
  .enq-sidebar{ flex-basis:auto; width:100%; }
  .enq-grid-2{ grid-template-columns:1fr; }
  .enq-submit{ flex-direction:column; align-items:flex-start; gap:20px; }
  .enq-submit__btn{ width:100%; }
}
@media (max-width:560px){
  .contact-cats__grid{ grid-template-columns:1fr; }
  .contact-head__title{ font-size:40px; }
}
