/* Contacto premium — camada visual sobre a estrutura existente */
.contact-page {
  background: radial-gradient(circle at 8% 10%, #fff8f2 0, transparent 32%), #f3eee8 !important;
  color: #211e1c !important;
  padding-top: 132px !important;
}
.contact-wrap { max-width: 1280px !important; margin-top: 22px !important; }
.contact-hero {
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr) !important;
  gap: 0 !important;
  min-height: 600px;
  overflow: hidden;
  border: 1px solid #ffffff18;
  border-radius: 34px;
  background: linear-gradient(135deg, #252321, #151515);
  box-shadow: 0 28px 70px #2118121f;
}
.contact-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 6vw, 78px) !important;
  background: radial-gradient(circle at 0 100%, #c73a2d28, transparent 44%);
}
.contact-copy .kicker { color: #f07b6d !important; letter-spacing: 2.8px !important; }
.contact-copy h1 { color: #fff !important; font-size: clamp(48px, 5.2vw, 78px) !important; line-height: .99 !important; letter-spacing: -3.4px !important; margin: 20px 0 !important; }
.contact-copy h1 em { color: #f06d60 !important; }
.contact-copy > p { max-width: 520px !important; color: #d6d0ca !important; font-size: 16px !important; line-height: 1.75 !important; }
.actions { margin-top: 34px !important; }
.actions .primary { background: #d44135 !important; box-shadow: 0 14px 28px #d4413538 !important; }
.actions .secondary { color: #fff !important; border-color: #ffffff55 !important; }
.contact-image { min-height: 600px !important; border-radius: 0 !important; background: #121212 !important; }
.contact-image img { min-height: 600px !important; opacity: .68 !important; filter: saturate(.82) contrast(1.04); }
.contact-image:after { background: linear-gradient(0deg, #11100ef2 0%, #11100e0c 62%, #11100e36 100%) !important; }
.image-caption { left: 38px !important; right: 38px !important; bottom: 36px !important; }
.image-caption strong { font-size: 28px !important; line-height: 1.13 !important; }
.image-caption span { color: #f0e7df !important; }
.contact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; margin-top: 22px !important; }
.contact-card {
  min-height: 190px;
  padding: 27px !important;
  border: 1px solid #e0d6cd !important;
  border-radius: 22px !important;
  background: #fffdfa !important;
  box-shadow: 0 16px 35px #2a1f180b !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.contact-card:hover { transform: translateY(-4px); border-color: #d56a5e !important; box-shadow: 0 20px 40px #2a1f1818 !important; }
.contact-card small { color: #c64b3f !important; letter-spacing: 2px !important; font-weight: 600; }
.contact-card h2 { margin: 18px 0 13px !important; font-size: 23px !important; line-height: 1.2 !important; letter-spacing: -.8px !important; }
.contact-card a { color: #c83b30 !important; font-weight: 600; }
.contact-card p { margin-top: 12px !important; color: #746b63 !important; }
.contact-lower { grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr) !important; gap: 18px !important; margin-top: 18px !important; }
.form-card { padding: clamp(28px, 4vw, 48px) !important; border: 1px solid #312d2a !important; border-radius: 28px !important; background: #252321 !important; color: #fff !important; box-shadow: 0 22px 55px #2118121c !important; }
.form-card .kicker { color: #f07869 !important; }
.form-card h2 { color: #fff !important; font-size: clamp(30px, 3.2vw, 46px) !important; letter-spacing: -1.8px !important; margin: 14px 0 28px !important; }
.contact-form label { color: #ddd5ce !important; gap: 8px !important; }
.contact-form input, .contact-form select, .contact-form textarea { border: 1px solid #ffffff26 !important; background: #ffffff0b !important; color: #fff !important; border-radius: 13px !important; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #aaa09a !important; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: 2px solid #e26054 !important; border-color: transparent !important; }
.form-card .primary { background: #d44135 !important; }
.hours-card { padding: clamp(28px, 4vw, 42px) !important; border-radius: 28px !important; background: #fffdfa !important; border: 1px solid #e0d6cd !important; }
.hours-card .kicker { color: #c64b3f !important; }
.hours-card h2 { font-size: clamp(30px, 3.2vw, 44px) !important; line-height: 1.05 !important; margin: 14px 0 25px !important; }
.hours-row { padding: 16px 0 !important; border-color: #e8dfd8 !important; }
.hours-row span { color: #c44337; font-weight: 600; }
.map { min-height: 330px !important; margin-top: 18px !important; border-radius: 28px !important; border: 1px solid #312d2a; box-shadow: 0 20px 48px #21181218; }
.map img { min-height: 330px !important; }
.map-copy { left: 34px !important; bottom: 30px !important; }
.map-copy strong { font-size: 30px !important; }
.contact-footer { max-width: 1280px !important; margin-top: 28px !important; padding-bottom: 24px; }
@media (max-width: 900px) {
  .contact-page { padding: 105px 15px 58px !important; }
  .contact-wrap { margin-top: 12px !important; }
  .contact-hero { display: flex !important; flex-direction: column !important; min-height: 0 !important; border-radius: 26px !important; }
  .contact-copy { padding: 34px 25px 36px !important; }
  .contact-copy h1 { font-size: clamp(43px, 12vw, 62px) !important; letter-spacing: -2.2px !important; }
  .contact-copy > p { font-size: 15px !important; line-height: 1.65 !important; }
  .contact-image { min-height: 330px !important; order: 2; }
  .contact-image img { min-height: 330px !important; }
  .image-caption { left: 24px !important; right: 24px !important; bottom: 24px !important; }
  .image-caption strong { font-size: 23px !important; }
  .contact-grid, .contact-lower { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; }
  .contact-grid { margin-top: 14px !important; }
  .contact-card { min-height: 0; }
  .contact-lower { margin-top: 14px !important; }
  .form-card, .hours-card { border-radius: 23px !important; }
  .map { min-height: 260px !important; }
  .map img { min-height: 260px !important; }
  .map-copy { left: 23px !important; bottom: 22px !important; }
  .map-copy strong { font-size: 24px !important; }
  .contact-footer { display: block !important; line-height: 1.8 !important; }
}
