/* ========== CONTACT GRID ========== */
.contact-section{
  padding:var(--section-pad);background:var(--ivory);
}
.contact-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;
}

/* ========== FORM STYLES ========== */
.contact-form{
  background:white;padding:48px 40px;
  border:1px solid rgba(201,168,76,.2);position:relative;
}
.contact-form::before,.contact-form::after{
  content:'';position:absolute;width:40px;height:40px;
}
.contact-form::before{top:-1px;left:-1px;border-top:2px solid var(--gold);border-left:2px solid var(--gold)}
.contact-form::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold)}
.form-group{margin-bottom:24px}
.form-group label{
  display:block;font-size:.78rem;letter-spacing:2px;
  text-transform:uppercase;color:var(--navy);font-weight:600;margin-bottom:8px;
}
.form-group input,
.form-group textarea,
.form-group select{
  width:100%;padding:14px 16px;border:1px solid rgba(201,168,76,.25);
  background:var(--ivory);font-family:'Raleway',sans-serif;
  font-size:.95rem;color:var(--navy);transition:all .3s;
  outline:none;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.1);
}
.form-group textarea{min-height:140px;resize:vertical}
.form-group input.error,
.form-group textarea.error,
.form-group select.error{border-color:#c44c4c}
.form-error{
  font-size:.78rem;color:#c44c4c;margin-top:4px;display:none;
}
.form-group input.error ~ .form-error,
.form-group textarea.error ~ .form-error,
.form-group select.error ~ .form-error{display:block}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-submit{
  width:100%;padding:16px;background:var(--gold);color:var(--navy);
  border:none;font-family:'Raleway',sans-serif;font-size:.82rem;
  letter-spacing:3px;text-transform:uppercase;font-weight:600;
  cursor:pointer;transition:all .4s;
}
.form-submit:hover{
  background:var(--gold-light);box-shadow:0 8px 30px rgba(201,168,76,.35);
}

/* ========== FORM SUCCESS MESSAGE ========== */
.form-success{
  display:none;text-align:center;padding:60px 40px;
  background:var(--navy);border:1px solid rgba(201,168,76,.3);
}
.form-success.visible{display:block}
.form-success h3{
  font-size:1.6rem;color:var(--champagne);letter-spacing:3px;
  text-transform:uppercase;margin-bottom:16px;
}
.form-success p{
  color:rgba(240,232,212,.6);font-size:1rem;line-height:1.8;font-weight:300;
}

/* ========== CONTACT INFO ========== */
.contact-info{display:flex;flex-direction:column;gap:30px}
.contact-info-card{
  padding:36px 30px;border:1px solid rgba(201,168,76,.2);
  display:flex;gap:20px;align-items:flex-start;transition:all .4s;
}
.contact-info-card:hover{
  box-shadow:0 10px 30px rgba(12,27,51,.06);transform:translateY(-2px);
}
.contact-info-icon{
  width:48px;height:48px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.contact-info-icon svg{width:100%;height:100%}
.contact-info-card h4{
  font-family:'Poiret One',cursive;font-size:1.1rem;
  letter-spacing:2px;text-transform:uppercase;color:var(--navy);margin-bottom:6px;
}
.contact-info-card p{
  font-size:.92rem;color:rgba(12,27,51,.6);line-height:1.7;font-weight:300;
}
.contact-info-card a{color:var(--gold);font-weight:500;transition:color .3s}
.contact-info-card a:hover{color:var(--dark-gold)}

/* ========== MAP PLACEHOLDER ========== */
.map-placeholder{
  width:100%;height:220px;background:var(--navy);
  border:1px solid rgba(201,168,76,.2);
  display:flex;align-items:center;justify-content:center;
  color:rgba(240,232,212,.3);font-size:.85rem;letter-spacing:2px;
  text-transform:uppercase;
}

/* ========== RESPONSIVE ========== */
@media(max-width:768px){
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .form-row{grid-template-columns:1fr}
  .contact-form{padding:36px 24px}
}
@media(max-width:480px){
  .contact-form{padding:28px 16px}
  .contact-info-card{padding:24px 20px;gap:14px}
  .contact-info-icon{width:36px;height:36px}
  .map-placeholder{height:160px}
}
