/* ===== Contact Page ===== */

.contact-breadcrumb {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 6px;
   font-size: 14px;
}
.contact-breadcrumb-link { color: #ccc; text-decoration: none; }
.contact-breadcrumb-sep { color: #ccc; }
.contact-breadcrumb-current { color: #C9A84C; }

.contact-banner-wrap {
   width: 100%;
   max-width: 1200px;
   padding: 48px 24px 0 24px;
   margin: 0 auto;
   box-sizing: border-box;
   text-align: center;
}
.contact-banner-link {
   display: block;
   border-radius: 12px;
   overflow: hidden;
   border: 1px solid rgba(201,168,76,0.2);
}
.contact-banner-img {
   width: 100%;
   max-width: 100%;
   height: auto;
   display: block;
}

.contact-tagline {
   text-align: center;
   color: #999999;
   font-size: 16px;
   margin: 24px 0 0;
   padding: 0 24px;
}

.contact-section {
   background: #111111;
   padding: 64px 0 96px;
}
.contact-container {
   max-width: 1200px;
   margin: 0 auto;
   padding: 0 24px;
}

.contact-grid {
   display: grid;
   grid-template-columns: 1fr 1.3fr;
   gap: 56px;
   align-items: start;
}

.contact-info-list {
   display: flex;
   flex-direction: column;
   gap: 24px;
}
.contact-eyebrow {
   display: inline-block;
   color: #C9A84C;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 3px;
   text-transform: uppercase;
   margin-bottom: 16px;
}
.contact-heading {
   font-family: 'Playfair Display', Georgia, serif;
   font-size: clamp(28px, 3vw, 40px);
   font-weight: 700;
   line-height: 1.2;
   color: #FFFFFF;
   margin-bottom: 16px;
}
.contact-heading-accent { color: #C9A84C; }
.contact-heading-divider {
   width: 48px;
   height: 3px;
   background: #C9A84C;
   border-radius: 2px;
}

.contact-info-card {
   display: flex;
   align-items: flex-start;
   gap: 16px;
   background: #1F1F1F;
   border: 1px solid rgba(201,168,76,0.2);
   border-radius: 12px;
   padding: 22px 24px;
}
.contact-info-icon {
   width: 44px;
   height: 44px;
   border-radius: 10px;
   background: rgba(201,168,76,0.08);
   border: 1px solid rgba(201,168,76,0.2);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 18px;
   flex-shrink: 0;
}
.contact-info-label {
   font-size: 11px;
   color: #999999;
   text-transform: uppercase;
   letter-spacing: 1.5px;
   font-weight: 700;
   margin-bottom: 6px;
}
.contact-info-value {
   font-size: 16px;
   font-weight: 700;
   color: #FFFFFF;
   text-decoration: none;
   word-break: break-word;
}
.contact-info-value:hover { color: #C9A84C; }
.contact-info-value--address { line-height: 1.6; }

.contact-form-card {
   background: #1F1F1F;
   border: 1px solid rgba(201,168,76,0.2);
   border-radius: 16px;
   padding: 40px;
}
.contact-input {
   width: 100%;
   background: #111111 !important;
   border: 1px solid rgba(201,168,76,0.2) !important;
   border-radius: 8px !important;
   color: #FFFFFF !important;
   padding: 14px 16px !important;
   font-size: 15px;
}
.contact-input::placeholder { color: #777777; }
.contact-input:focus {
   outline: none;
   border-color: #C9A84C !important;
   box-shadow: 0 0 0 2px rgba(201,168,76,0.15);
}
.contact-submit-btn {
   display: inline-block;
   background: #C9A84C;
   color: #0A0A0A;
   border: none;
   padding: 14px 36px;
   border-radius: 6px;
   font-size: 15px;
   font-weight: 700;
   letter-spacing: 0.5px;
   cursor: pointer;
   transition: background 0.2s, transform 0.2s;
}
.contact-submit-btn:hover {
   background: #E2C170;
   transform: translateY(-2px);
}

.contact-map-section {
   background: #0A0A0A;
}
.contact-map-wrap {
   width: 100%;
   line-height: 0;
}

@media (max-width: 991px) {
   .contact-grid {
      grid-template-columns: 1fr;
      gap: 40px;
   }
   .contact-form-card {
      padding: 28px;
   }
}

@media (max-width: 480px) {
   .contact-info-card {
      padding: 18px;
   }
   .contact-form-card {
      padding: 20px;
   }
}
