/* ===========================================================
   Forms — Wholesale Inquiry & Contact
   =========================================================== */

.form-layout{
  display: grid;
  grid-template-columns: 1.35fr .85fr;
  gap: var(--sp-8);
  align-items: start;
}
@media (max-width: 960px){
  .form-layout{ grid-template-columns: 1fr; }
}

.field-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-5);
}
.field{ display: flex; flex-direction: column; gap: .6em; margin-bottom: var(--sp-5); }
.field.span-2{ grid-column: 1 / -1; }
.field label{
  font-size: .76rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
}
.field label .req{ color: var(--gold-dim); margin-left: .3em; }
.field input,
.field select,
.field textarea{
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  padding: .75em .1em;
  font-size: 1rem;
  color: var(--ink);
  transition: border-color .3s var(--ease-editorial);
  width: 100%;
}
.field textarea{ resize: vertical; min-height: 110px; }
.field input:focus,
.field select:focus,
.field textarea:focus{ border-color: var(--gold); }
.field input::placeholder,
.field textarea::placeholder{ color: #A9A69E; }

.file-drop{
  border: 1px dashed var(--line);
  padding: var(--sp-6);
  text-align: center;
  color: var(--muted);
  font-size: .9rem;
  cursor: pointer;
  transition: border-color .3s, background .3s;
  position: relative;
}
.file-drop:hover{ border-color: var(--gold); background: rgba(198,161,91,.05); }
.file-drop input{ position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.file-drop strong{ color: var(--ink); }
.file-drop .file-name{ margin-top: .5em; color: var(--gold-dim); font-size: .85rem; }

@media (max-width: 560px){
  .field-grid{ grid-template-columns: 1fr; }
}

.form-submit-row{
  display: flex; align-items: center; gap: var(--sp-5);
  margin-top: var(--sp-6);
  flex-wrap: wrap;
}
.form-note{ font-size: .82rem; color: var(--muted); max-width: 40ch; }

.form-success{
  display: none;
  border: 1px solid var(--gold);
  padding: var(--sp-6);
  margin-top: var(--sp-6);
}
.form-success.is-visible{ display: block; }
.form-success h3{ margin-bottom: .4em; }
.form-success p{ color: var(--muted); font-size: .92rem; }

/* ---- Side panel: prefer WhatsApp / quick contact ---- */
.side-panel{
  background: var(--charcoal);
  color: var(--paper);
  padding: var(--sp-7) var(--sp-6);
  position: sticky;
  top: 120px;
}
.side-panel h3{ color: var(--white); margin-bottom: var(--sp-3); }
.side-panel p{ color: var(--muted-dark); font-size: .92rem; margin-bottom: var(--sp-6); }
.side-panel__contact{
  display: flex; align-items: center; justify-content: space-between;
  padding-block: var(--sp-4);
  border-top: 1px solid var(--line-dark);
  font-size: .95rem;
}
.side-panel__contact:last-of-type{ border-bottom: 1px solid var(--line-dark); }
.side-panel__contact .lbl{ font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-dark); display: block; margin-bottom: .3em; }
.side-panel__contact a{ color: var(--white); }
.side-panel__contact a:hover{ color: var(--gold); }
.side-panel .btn{ width: 100%; justify-content: center; margin-top: var(--sp-6); }

@media (max-width: 960px){
  .side-panel{ position: static; }
}

/* ===========================================================
   Manufacturing / Products page grid
   =========================================================== */
.prod-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
}
.prod-card{
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
  background: var(--charcoal-2);
}
.prod-card img{
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .8s var(--ease-editorial);
}
.prod-card:hover img{ transform: scale(1.06); }
.prod-card figcaption{
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: var(--sp-5);
  color: var(--white);
  background: linear-gradient(0deg, rgba(10,10,10,.78) 0%, rgba(10,10,10,0) 70%);
}
.prod-card figcaption .tag{
  font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold);
  display: block; margin-bottom: .35em;
}
.prod-card figcaption h3{ font-size: 1.15rem; color: var(--white); }
.prod-card--wide{ grid-column: span 2; aspect-ratio: unset; }

@media (max-width: 900px){
  .prod-grid{ grid-template-columns: 1fr 1fr; }
  .prod-card--wide{ grid-column: span 2; aspect-ratio: 16/10; }
}
@media (max-width: 560px){
  .prod-grid{ grid-template-columns: 1fr; }
  .prod-card--wide{ grid-column: span 1; }
}

/* Services strip on manufacturing page */
.services-strip{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.services-strip__item{
  background: var(--paper);
  padding: var(--sp-6) var(--sp-5);
}
.services-strip__item h3{ font-size: 1.05rem; margin-bottom: .6em; }
.services-strip__item ul{ display: flex; flex-direction: column; gap: .4em; }
.services-strip__item li{ font-size: .88rem; color: var(--muted); position: relative; padding-left: 1em; }
.services-strip__item li::before{ content: "—"; position: absolute; left: 0; color: var(--gold-dim); }

@media (max-width: 900px){ .services-strip{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .services-strip{ grid-template-columns: 1fr; } }
