/* /subsite/contact.css */

/* Bigger + cleaner contact layout */
.contact-wrap{
  padding-top: 92px;
  padding-bottom: 120px;
}

.contact-head{
  display:grid;
  gap: 12px;
  margin-bottom: 22px;
  max-width: 76ch;
}

.contact-title{
  font-size: clamp(38px, 3.8vw, 54px);
  line-height: 1.04;
  letter-spacing: -0.045em;
  margin: 0;
}

.contact-note{
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
  font-size: 17px;
  max-width: 70ch;
}

.contact-shell{
  display:grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 18px;
  align-items: start;
  margin-top: 20px;
}

.spacer{ height: 16px; }

/* Info card */
.info-card{
  border-radius: var(--radius2);
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,.66);
  box-shadow: 0 10px 28px rgba(2,6,23,.06);
  padding: 20px;
}

.info-title{
  font-weight: 950;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
  font-size: 17px;
}

.info-list{
  margin: 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 12px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.info-item{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}

/* NEW: Form card wrapper (THIS fixes the broken look) */
.form-card{
  border-radius: var(--radius2);
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,.66);
  box-shadow: 0 10px 28px rgba(2,6,23,.06);
  overflow: hidden;
}

/* Form spacing */
.form{
  padding: 22px;
}

.form-title{
  margin: 0 0 6px;
  font-weight: 950;
  letter-spacing: -0.02em;
  font-size: 20px;
}

.form-sub{
  margin: 0 0 16px;
  color: var(--muted);
  line-height: 1.75;
  font-size: 14px;
  max-width: 72ch;
}

label{
  display:block;
}

label span{
  display:block;
  margin: 0 0 6px;
  font-size: 12px;
  color: rgba(11,18,32,.62);
  letter-spacing: .02em;
}

/* Inputs */
input, textarea, select{
  width:100%;
  border-radius: 16px;
  padding: 14px 14px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,.92);
  color: var(--text);
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
  font-family: inherit;
  font-size: 14px;
}

/* Fix dropdown looking raw */
select{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(11,18,32,.55) 50%),
    linear-gradient(135deg, rgba(11,18,32,.55) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 40px;
}

input::placeholder, textarea::placeholder{
  color: var(--muted2);
}

input:focus, textarea:focus, select:focus{
  border-color: rgba(209,26,42,.35);
  box-shadow: 0 0 0 6px rgba(209,26,42,.10);
  background: #fff;
}

textarea{
  resize: vertical;
  min-height: 170px;
}

/* Rows */
.form-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}

/* Chips */
.chips{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 16px;
}

.chip{
  border: 1px solid rgba(2,6,23,.12);
  background: rgba(255,255,255,.70);
  border-radius: 999px;
  padding: 9px 11px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(11,18,32,.78);
  cursor: pointer;
  user-select: none;
  transition: transform .12s ease, border-color .12s ease, background .12s ease;
}

.chip:hover{
  transform: translateY(-1px);
  border-color: rgba(209,26,42,.22);
  background: rgba(255,255,255,.85);
}

/* Status message */
.form-status{
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(11,18,32,.75);
}

.form-status[data-type="success"]{
  color: rgba(16, 122, 74, .95);
}

.form-status[data-type="error"]{
  color: rgba(209,26,42,.95);
}

/* Form actions */
.form-actions{
  margin-top: 14px;
}

.form-hint{
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--muted2);
  text-align: left;
}

/* Bottom buttons */
.contact-bottom-actions{
  margin-top: 22px;
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 980px){
  .contact-shell{ grid-template-columns: 1fr; }
  .form-row{ grid-template-columns: 1fr; }
  .contact-wrap{ padding-top: 84px; }
}
