.contact-grid {
   display: grid;
   grid-template-columns: 1fr 1.5fr;
   gap: 0;
   background: var(--deep);
   box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
   margin-bottom: 60px;
   border: 1px solid var(--border);
   border-radius: 8px;
   overflow: hidden;
   animation: slideUp 0.8s ease-out forwards;
   opacity: 0;
   transform: translateY(20px);
}

.contact-info-panel {
   background: var(--black);
   padding: 40px;
   color: var(--cream);
   display: flex;
   flex-direction: column;
   justify-content: center;
   border-right: 1px solid var(--border);
   position: relative;
   overflow: hidden;
}

.contact-info-panel::before {
   content: '';
   position: absolute;
   top: -50px; right: -50px;
   width: 250px; height: 250px;
   border: 1px solid var(--gold);
   border-radius: 50%;
   opacity: 0.2;
}

.info-header { margin-bottom: 50px; position: relative; z-index: 2; }
.info-header h2 { 
   font-size: 36px; 
   font-weight: 700; 
   margin-bottom: 15px; 
   color: var(--white); 
   line-height: 1.1;
}
.info-header h2 em { color: var(--gold); font-style: italic; }
.info-header p { 
   color: var(--gray); 
   font-family: 'Cormorant Garamond', serif;
   font-size: 18px; 
}

.info-list { position: relative; z-index: 2; }
.info-item {
   display: flex;
   align-items: center;
   margin-bottom: 25px;
   padding: 20px;
   background: rgba(255,255,255,0.02);
   border-radius: 4px;
   border: 1px solid rgba(201,168,76,0.1);
   transition: var(--transition);
}
.info-item:hover {
   background: rgba(201,168,76,0.05);
   border-color: var(--gold);
   transform: translateX(5px);
}

.info-icon {
   width: 50px; height: 50px;
   background: transparent;
   color: var(--gold);
   border: 1px solid var(--gold);
   border-radius: 50%;
   display: flex; align-items: center; justify-content: center;
   font-size: 20px;
   margin-right: 20px;
   flex-shrink: 0;
   transition: var(--transition);
}
.info-item:hover .info-icon {
   background: var(--gold);
   color: var(--black);
}

.info-content h4 { 
   font-size: 11px; 
   margin-bottom: 4px; 
   color: var(--gold); 
   text-transform: uppercase; 
   letter-spacing: 2px; 
   font-family: 'Josefin Sans', sans-serif;
}
.info-content p { margin: 0; color: var(--white); font-size: 16px; font-weight: 400; font-family: 'Playfair Display', serif; }
.info-content a { color: var(--white); transition: 0.3s; }
.info-content a:hover { color: var(--gold); }

.social-links { margin-top: 10px; display: flex; gap: 15px; position: relative; z-index: 2; }
.social-btn {
   width: 45px; height: 45px;
   border-radius: 50%;
   background: transparent;
   color: var(--white);
   display: flex; align-items: center; justify-content: center;
   font-size: 18px;
   border: 1px solid var(--border);
   transition: var(--transition);
}
.social-btn:hover { background: var(--gold); border-color: var(--gold); color: var(--black); transform: translateY(-3px); }





/* ─── RIGHT PANEL: FORM ─── */
.contact-form-panel { background: var(--deep); padding: 40px; }
.form-title { 
   font-size: 28px; 
   font-weight: 700; 
   margin-bottom: 35px; 
   color: var(--white); 
   letter-spacing: -0.5px;
}
.text-gold { color: var(--gold); font-style: italic; }
.form-group { margin-bottom: 25px; position: relative; }
.form-group label {
   display: block;
   font-size: 10px;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 2px;
   color: var(--gold);
   margin-bottom: 10px;
   font-family: 'Josefin Sans', sans-serif;
}
.form-control {
   width: 100%;
   padding: 15px 20px;
   border: 1px solid rgba(255,255,255,0.1);
   background: rgba(255,255,255,0.04);
   border-radius: 0;
   font-size: 15px;
   color: var(--white);
   font-family: 'Josefin Sans', sans-serif;
   transition: var(--transition);
}
.form-control:focus {
   outline: none;
   border-color: var(--gold);
   background: rgba(201,168,76,0.05);
}
.row-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
textarea.form-control { min-height: 140px; resize: vertical; }



.btn-submit {
   width: 100%;
   padding: 18px;
   background: var(--gold);
   color: var(--black);
   border: none;
   border-radius: 0;
   font-size: 12px;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 2px;
   font-family: 'Josefin Sans', sans-serif;
   transition: var(--transition);
   position: relative;
   overflow: hidden;
   cursor: pointer;
}



.map-section-title { text-align: center; margin-bottom: 40px; animation: fadeIn 1.5s ease; }
.map-section-title h3 {
   font-size: 28px;
   font-weight: 700;
   color: var(--white);
   display: inline-block;
   position: relative;
   padding-bottom: 15px;
}
.map-section-title h3::after {
   content: '';
   position: absolute;
   bottom: 0; left: 50%; transform: translateX(-50%);
   width: 40px; height: 2px;
   background: var(--gold);
}

.map-full-wrapper {
   width: 100%;
   height: 450px;
   position: relative;
   border: 1px solid var(--border);
   box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
   overflow: hidden;
   animation: fadeIn 1.5s ease;
}
.map-full-wrapper iframe {
   width: 100%;
   height: 100%;
   border: 0;

}




@keyframes slideUp {
   to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
   from { opacity: 0; }
   to { opacity: 1; }
}


@media (max-width: 992px) {
   .contact-grid { grid-template-columns: 1fr; }
   .contact-info-panel { padding: 40px 30px; border-right: none; border-bottom: 1px solid var(--border); }
   .contact-form-panel { padding: 50px 30px; }
}

@media (max-width: 576px) {
   .row-grid { grid-template-columns: 1fr; }
   .contact-grid { border-radius: 8px; }
   .map-full-wrapper { height: 300px; }
}