/* =========================================================
   CONTACT PAGE — Editorial luxury redesign (2026-07-10)
   Palette: espresso ink · ivory · champagne gold · serif+sans
   Loaded only on the contact page (see functions.php).
   Mirrors the Our Story / Stockists design language.
   ========================================================= */

/* ── Hero tweak: gold hairline divider ───────────────── */
.page-hero--contact .page-hero__inner{padding-bottom:3.5rem}
.page-hero--contact .page-hero__divider{
  width:1px;
  height:64px;
  background:linear-gradient(180deg, rgba(201,168,106,0), var(--gold-soft) 35%, rgba(201,168,106,0));
  margin:2.2rem auto 0;
}

/* ── Layout shell ─────────────────────────────────────── */
.page-content--contact{padding:5rem 2.4rem}
.contact-shell{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:3rem;
  align-items:start;
}

/* ── LEFT: form card ─────────────────────────────────── */
.contact-card{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  padding:clamp(2rem,3.5vw,3.2rem);
  box-shadow:0 30px 70px -48px rgba(27,22,17,.4);
}
.contact-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg, var(--gold), var(--gold-soft));
}
.contact-card__head{margin-bottom:2.4rem}
.contact-card__head .eyebrow{
  display:block;
  color:var(--gold);
  letter-spacing:.2em;
  margin-bottom:.9rem;
}
.contact-card__head .section-title{
  color:var(--espresso);
  margin:0;
}

/* form mechanics — keep native validation, brand the look */
.contact-form{display:flex;flex-direction:column;gap:1.4rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form-field{display:flex;flex-direction:column;gap:.5rem}
.form-field label{
  font-family:var(--sans);
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--espresso);
  font-weight:500;
}
.form-field input,
.form-field textarea{
  width:100%;
  box-sizing:border-box;
  background:var(--ivory-2);
  border:1px solid var(--line);
  border-radius:3px;
  padding:.95rem 1.1rem;
  font-family:var(--sans);
  font-size:.95rem;
  color:var(--espresso);
  outline:none;
  transition:border-color .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);
}
.form-field textarea{resize:vertical;min-height:130px;line-height:1.7}
.form-field input::placeholder,
.form-field textarea::placeholder{color:rgba(27,22,17,.32)}
.form-field input:focus,
.form-field textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 1px var(--gold);
  background:#fff;
}

/* select with branded chevron */
.select-wrap{position:relative}
.select-wrap select{
  width:100%;
  box-sizing:border-box;
  appearance:none;-webkit-appearance:none;
  background:var(--ivory-2);
  border:1px solid var(--line);
  border-radius:3px;
  padding:.95rem 2.8rem .95rem 1.1rem;
  font-family:var(--sans);
  font-size:.95rem;
  color:var(--espresso);
  cursor:pointer;
  outline:none;
  transition:border-color .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23B0894F' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1.1rem center;
}
.select-wrap select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 1px var(--gold);
  background-color:#fff;
}

/* form footer */
.contact-form__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  margin-top:.4rem;
}
.contact-form__note{
  margin:0;
  font-size:.82rem;
  color:var(--muted);
  line-height:1.5;
}
.contact-form__foot .btn--gold{
  flex:0 0 auto;
  padding:1rem 2.2rem;
  letter-spacing:.18em;
}

/* submit acknowledgement (placeholder form — no backend yet) */
.form-msg{
  display:none;
  margin:1.4rem 0 0;
  padding:1rem 1.2rem;
  background:var(--ivory-2);
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  color:var(--espresso);
  font-family:var(--sans);
  font-size:.9rem;
  line-height:1.6;
  border-radius:3px;
}

/* ── RIGHT: info aside — bigger text, aligned with form card top ─ */
.contact-aside{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:clamp(2rem,3.5vw,3.2rem) 0;
}
.contact-aside__lede{
  font-family:var(--serif);
  font-size:1.35rem;
  line-height:1.6;
  color:var(--espresso);
  margin:0 0 2rem;
  max-width:36ch;
}

.contact-info{list-style:none;margin:0;padding:0}
.contact-info__item{
  display:flex;
  align-items:flex-start;
  gap:1.2rem;
  padding:1.2rem 0;
  border-bottom:1px solid var(--line);
}
.contact-info__item:first-child{padding-top:0}
.contact-info__icon{
  flex:0 0 44px;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);
  border:1px solid var(--gold-soft);
  border-radius:50%;
  background:linear-gradient(135deg, rgba(176,137,79,.06), rgba(176,137,79,.02));
}
.contact-info__icon svg{width:22px;height:22px;display:block}
.contact-info__item h4{
  font-family:var(--sans);
  font-size:.82rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:600;
  margin:0 0 .35rem;
}
.contact-info__item a{
  display:inline-block;
  font-family:var(--serif);
  font-size:1.25rem;
  color:var(--espresso);
  text-decoration:none;
  margin:0 0 .25rem;
  line-height:1.4;
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.contact-info__item a:hover{
  color:var(--gold);
  border-bottom-color:var(--gold-soft);
}
.contact-info__item p{
  font-family:var(--sans);
  font-size:1rem;
  color:var(--muted);
  margin:0 0 .15rem;
  line-height:1.65;
}
.contact-info__item p:last-child{margin-bottom:0}

/* social */
.contact-social{
  display:flex;
  align-items:center;
  gap:1.3rem;
  margin-top:2rem;
}
.contact-social__label{
  font-size:.82rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:600;
}
.social-links{display:flex;flex-wrap:wrap;gap:.75rem}
.social-links a{
  display:inline-flex;align-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--espresso);
  font-family:var(--sans);
  font-size:.9rem;
  letter-spacing:.02em;
  text-decoration:none;
  padding:.6rem 1.25rem;
  transition:color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease), background .3s var(--ease);
}
.social-links a:hover{
  color:var(--ivory);
  background:var(--espresso);
  border-color:var(--espresso);
  transform:translateY(-2px);
}
.social-links a svg.social-ico{
  width:17px;height:17px;
  margin-right:.5rem;
  flex:0 0 auto;
  fill:currentColor;
}

/* square social grid (alt. layout) — currently unused, kept for reference
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.social-grid a{flex-direction:column;gap:.55rem;padding:1rem .5rem}
.social-grid a svg.social-ico{width:22px;height:22px;margin-right:0}
*/

/* wholesale CTA — full-width band, seamless with page background */
.contact-cta{
  margin-top:6rem;
  background:var(--ivory);
}
.contact-cta__inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:5rem 2.4rem;
}

/* larger, centered text */
.contact-cta__text{text-align:center}
.contact-cta__text .eyebrow{
  display:block;
  color:var(--gold);
  font-size:.85rem;
  letter-spacing:.2em;
  margin-bottom:1rem;
}
.contact-cta__text .section-title{
  color:var(--espresso);
  font-size:2.2rem;
  margin:0 0 1.4rem;
  white-space:nowrap;
}
.contact-cta__text p{
  color:var(--muted);
  font-size:1.05rem;
  max-width:620px;
  line-height:1.9;
  margin:0 auto;
}
.contact-cta__action{display:flex;justify-content:center;margin-top:2.2rem}
.contact-cta__action .btn--gold{
  padding:1rem 2.2rem;
  letter-spacing:.18em;
}

/* ── Responsive ───────────────────────────────────────── */
@media(max-width:980px){
  .contact-shell{grid-template-columns:1fr;gap:3rem}
  .contact-aside__lede{max-width:none}
  .contact-aside{align-self:start; justify-content:flex-start; padding:0;}
  .contact-cta__text .section-title{font-size:1.8rem;white-space:normal}
}

@media(max-width:768px){
  .page-content--contact{padding:3rem 1.6rem}
  .form-row{grid-template-columns:1fr}
  .contact-form__foot{flex-direction:column;align-items:stretch;gap:1rem}
  .contact-form__foot .btn--gold{width:100%}
  .contact-card__head{margin-bottom:1.8rem}
  .contact-cta{margin-top:4rem}
  .contact-cta__inner{padding:3.5rem 1.6rem}
  .contact-cta__text .section-title{font-size:1.6rem}
  .contact-social{flex-wrap:wrap}
}

@media(max-width:480px){
  .contact-info__item{gap:.9rem}
  .contact-info__icon{flex-basis:38px;width:38px;height:38px}
  .contact-info__icon svg{width:18px;height:18px}
}
