:root {
    --ct-gold: #cba14f;
    --ct-dark: #0b0f19;
    --ct-card: #151b2b;
    --ct-text: #94a3b8;
    --ct-white: #ffffff;
    --ct-border: rgba(255,255,255,0.1);
}

.premium-contact-section {
    background-color: var(--ct-dark);
    padding: 120px 0;
    font-family: 'Segoe UI', sans-serif;
    position: relative;
    overflow: hidden;
}

/* Background Texture */
.premium-contact-section::before {
    content: ''; position: absolute; inset: 0;
    background-image: radial-gradient(var(--ct-card) 1px, transparent 1px);
    background-size: 40px 40px; opacity: 0.5; pointer-events: none;
}

.contact-container { max-width: 1200px; margin: 0 auto; padding: 0 30px; position: relative; z-index: 2; }

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr; /* Info takes less, Form takes more */
    gap: 80px;
    align-items: flex-start;
}

/* --- LEFT COLUMN: INFO --- */
.gold-subtitle { color: var(--ct-gold); font-size: 12px; letter-spacing: 3px; font-weight: 700; margin-bottom: 20px; display: block; }

.contact-title {
    font-family: 'Cinzel', serif; font-size: 48px; color: var(--ct-white);
    margin: 0 0 25px 0; line-height: 1.1;
}
.italic-gold { font-family: 'Playfair Display', serif; color: var(--ct-gold); font-style: italic; font-weight: 400; }

.contact-desc { font-size: 16px; color: var(--ct-text); line-height: 1.8; margin-bottom: 40px; max-width: 90%; }

.detail-item { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 30px; }
.detail-item i {
    width: 50px; height: 50px; border-radius: 50%; border: 1px solid var(--ct-border);
    color: var(--ct-gold); display: flex; align-items: center; justify-content: center; font-size: 18px;
    flex-shrink: 0; transition: 0.3s;
}
.detail-item:hover i { background: var(--ct-gold); color: var(--ct-dark); border-color: var(--ct-gold); }

.detail-item h5 { margin: 0 0 5px 0; color: var(--ct-white); font-size: 16px; }
.detail-item p, .detail-item a { margin: 0; color: var(--ct-text); font-size: 14px; text-decoration: none; transition: 0.2s; }
.detail-item a:hover { color: var(--ct-gold); }

.social-connect { margin-top: 50px; border-top: 1px solid var(--ct-border); padding-top: 30px; }
.social-connect span { display: block; color: var(--ct-white); font-size: 14px; margin-bottom: 15px; font-weight: 600; }
.social-row { display: flex; gap: 15px; }
.s-icon {
    color: var(--ct-text); font-size: 18px; transition: 0.3s;
    width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,0.05); border-radius: 4px; text-decoration: none;
}
.s-icon:hover { background: var(--ct-gold); color: var(--ct-dark); }


/* --- RIGHT COLUMN: FORM --- */
.form-wrapper {
    background: var(--ct-card); padding: 50px; border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3); border: 1px solid var(--ct-border);
}

.form-title { color: var(--ct-white); font-size: 24px; margin: 0 0 30px 0; font-family: 'Cinzel', serif; }

.input-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

/* Floating Label Logic */
.input-group { position: relative; margin-bottom: 25px; }

.form-input {
    width: 100%; padding: 15px 0; background: transparent; border: none;
    border-bottom: 1px solid rgba(255,255,255,0.2); color: var(--ct-white);
    font-size: 16px; outline: none; transition: 0.3s; border-radius: 0;
}

.input-group label {
    position: absolute; top: 15px; left: 0; color: #64748b; font-size: 14px;
    transition: 0.3s; pointer-events: none;
}

/* Float label when focused or has value (placeholder hack) */
.form-input:focus, .form-input:not(:placeholder-shown) { border-bottom-color: var(--ct-gold); }
.form-input:focus + label, .form-input:not(:placeholder-shown) + label {
    top: -10px; font-size: 12px; color: var(--ct-gold);
}

/* Static label for select */
.static-label { top: -10px !important; font-size: 12px !important; color: #64748b !important; }
select.form-input { padding-top: 5px; cursor: pointer; }
select option { background: var(--ct-dark); color: white; }

/* Button */
.btn-submit-gold {
    width: 100%; padding: 18px; background: var(--ct-gold); color: var(--ct-dark);
    font-weight: 700; text-transform: uppercase; letter-spacing: 2px; border: none;
    cursor: pointer; font-size: 14px; transition: 0.3s; margin-top: 10px;
}
.btn-submit-gold:hover { background: white; }
.btn-submit-gold i { margin-left: 10px; }

/* Messages */
.success-message { background: rgba(16, 185, 129, 0.2); color: #10b981; padding: 15px; margin-bottom: 20px; border-left: 3px solid #10b981; }
.error-message { background: rgba(239, 68, 68, 0.2); color: #ef4444; padding: 15px; margin-bottom: 20px; border-left: 3px solid #ef4444; }

/* RESPONSIVE */
@media (max-width: 900px) {
    .premium-contact-section { padding: 60px 0; }
    .contact-grid { grid-template-columns: 1fr; gap: 50px; }
    
    .contact-info-col { text-align: center; }
    .detail-item { justify-content: center; text-align: center; flex-direction: column; align-items: center; gap: 10px; }
    .social-row { justify-content: center; }
    
    .form-wrapper { padding: 30px 20px; }
    .input-row { grid-template-columns: 1fr; gap: 0; }
}