/* ════════════════════════
   CONTACT PAGE STYLES
════════════════════════ */

.page-hero { background: var(--section-alt,#F5EFE3); padding: 120px 6% 80px; border-bottom: 1px solid var(--border); position: relative; overflow: hidden; }
.page-hero::before { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.ph-label { font-family:var(--font-ui); font-size:0.56rem; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.ph-title { font-family:var(--font-display); font-size:clamp(2.4rem,4vw,4rem); font-weight:400; color:var(--text-dark); line-height:1.1; }
.ph-title em { font-style:italic; color:var(--gold); }

/* ─── CONTACT SECTION ─── */
.contact-section { padding: 100px 6%; background: var(--cream); }
.contact-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: 70px; }

.contact-info { padding-right: 10px; }
.info-card {
  display: flex; gap: 18px; padding: 24px;
  border: 1px solid var(--border); background: #fff;
  margin-bottom: 16px; transition: all 0.3s;
}
.info-card:hover { border-color: var(--gold); box-shadow: var(--shadow-sm); }
.info-ic { width: 46px; height: 46px; border-radius: 50%; background: rgba(184,134,11,0.08); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: var(--gold); flex-shrink: 0; }
.info-card:hover .info-ic { background: var(--gold); color: #fff; border-color: var(--gold); }
.info-lbl { font-family: var(--font-ui); font-size: 0.56rem; letter-spacing: 2.5px; text-transform: uppercase; color: var(--text-light); margin-bottom: 6px; }
.info-val { font-size: 0.88rem; color: var(--text-body); line-height: 1.7; }

.hours-box { background: var(--dark-bg); padding: 28px; margin-top: 20px; }
.hours-title { font-family: var(--font-ui); font-size: 0.6rem; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
.hours-row { display: flex; justify-content: space-between; font-size: 0.82rem; color: rgba(255,255,255,0.5); padding: 8px 0; border-bottom: 1px solid rgba(184,134,11,0.1); }
.hours-row:last-child { border-bottom: none; }
.hours-row span:last-child { color: rgba(255,255,255,0.8); }

/* ─── FORM ─── */
.contact-form-wrap { background: #fff; border: 1px solid var(--border); padding: 50px 44px; }
.form-title { font-family: var(--font-display); font-size: 1.8rem; font-weight: 600; color: var(--text-dark); margin-bottom: 8px; }
.form-sub { font-size: 0.85rem; color: var(--text-mid); margin-bottom: 36px; }

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-group { margin-bottom: 24px; }
.form-group label { display: block; font-family: var(--font-ui); font-size: 0.56rem; letter-spacing: 2.5px; text-transform: uppercase; color: var(--text-mid); margin-bottom: 8px; font-weight: 500; }
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%; padding: 13px 16px;
  border: 1px solid rgba(184,134,11,0.2);
  background: var(--cream); color: var(--text-dark);
  font-family: var(--font-body); font-size: 0.88rem;
  outline: none; transition: border-color 0.3s, background 0.3s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--gold);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(184,134,11,0.08);
}
.form-group textarea { resize: vertical; min-height: 130px; }
.form-group select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23B8860B' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }

.form-submit { width: 100%; padding: 15px; font-size: 0.62rem; }
.form-success { display: none; text-align: center; padding: 30px; }
.form-success i { font-size: 3rem; color: var(--gold); margin-bottom: 16px; }
.form-success h3 { font-family: var(--font-display); font-size: 1.6rem; color: var(--text-dark); }
.form-success p { font-size: 0.9rem; color: var(--text-mid); margin-top: 8px; }

/* ─── MAP PLACEHOLDER ─── */
.map-section { padding: 0 6% 80px; }
.map-box { height: 350px; background: var(--section-alt); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; color: var(--text-light); }
.map-box i { font-size: 2.5rem; color: var(--gold); opacity: 0.5; }
.map-box p { font-size: 0.82rem; letter-spacing: 1px; }

/* ─── RESPONSIVE ─── */
@media (max-width:1024px) { .contact-grid { grid-template-columns: 1fr; } }
@media (max-width:600px) { .contact-form-wrap { padding: 30px 24px; } .form-row { grid-template-columns: 1fr; } }
