/* --- Contact Page Styles --- */
.cn-root { padding-top: 100px; }
.cn-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* Hero */
.cn-hero { padding: 80px 0 40px; text-align: center; }
.cn-eyebrow { font-size: 13px; text-transform: uppercase; letter-spacing: 0.3em; color: hsl(var(--accent)); font-weight: 600; display: block; margin-bottom: 15px; }
.cn-main-title { font-size: clamp(32px, 5vw, 56px); font-weight: 300; margin-bottom: 20px; line-height: 1.1; }
.cn-main-title i { font-family: 'Cormorant Garamond', serif; font-style: italic; color: hsla(var(--accent) / 0.8); }
.cn-lead { color: hsl(var(--muted-foreground)); max-width: 600px; margin: 0 auto; line-height: 1.6; }

/* Grid */
.cn-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 60px; padding: 60px 0; }

/* Form Card */
.cn-form-card { padding: 50px 40px; border-radius: 40px; }
.cn-actual-form { display: flex; flex-direction: column; gap: 25px; }
.cn-input-group { display: flex; flex-direction: column; gap: 8px; }
.cn-input-group label { font-size: 14px; font-weight: 600; color: hsl(var(--foreground)); margin-left: 5px; }

.cn-input-group input, 
.cn-input-group select, 
.cn-input-group textarea {
    width: 100%; padding: 15px 20px; border: 1px solid hsla(var(--glass-border) / 0.5);
    border-radius: 15px; font-family: inherit; font-size: 15px; color: hsl(var(--foreground));
    outline: none; transition: 0.3s;
}

.cn-input-group input:focus, .cn-input-group textarea:focus { border-color: hsl(var(--accent)); }

.cn-submit-btn {
    height: 55px; border-radius: 30px; background: #1a1a1a; color: #fff;
    border: none; cursor: pointer; font-weight: 500; display: flex;
    align-items: center; justify-content: center; gap: 12px; transition: 0.4s; margin-top: 10px;
}
.cn-submit-btn:hover { background: #000; transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }

/* Info Column */
.cn-info-list { display: flex; flex-direction: column; gap: 40px; }
.cn-info-item { display: flex; gap: 20px; align-items: flex-start; }
.cn-info-icon { width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.cn-info-text h3 { font-size: 18px; margin-bottom: 8px; font-weight: 600; }
.cn-info-text p { color: hsl(var(--muted-foreground)); line-height: 1.6; font-size: 15px; }

.cn-social-box h4 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: hsl(var(--muted-foreground)); margin-bottom: 15px; }
.cn-social-links { display: flex; gap: 10px; flex-wrap: wrap; }
.cn-social-links a { text-decoration: none; padding: 10px 20px; border-radius: 12px; font-size: 13px; color: hsl(var(--foreground)); transition: 0.3s; }
.cn-social-links a:hover { transform: translateY(-3px); background: hsla(var(--glass-bg) / 1); }

/* Mobile Responsive */
@media (max-width: 900px) {
    .cn-grid { grid-template-columns: 1fr; gap: 50px; }
    .cn-form-card { padding: 40px 20px; }
}

@media (max-width: 480px) {
    .cn-main-title { font-size: 2.2rem !important; word-break: keep-all; }
}
/* ============================================================
   CONTACT PAGE - ASTRA CONFLICT & DROPDOWN FIXES
   ============================================================ */

/* 1. Force Astra container to be a normal block, not a flexbox */
.page-template-page-contact .ast-container {
    display: block !important;
    max-width: 1300px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

#contact-page {
    width: 100% !important;
    padding-top: 120px !important; /* Space for the header */
}

/* 2. Fix the cut-off Dropdown / Select Field */
.cn-input-group select {
    appearance: auto !important; /* Restores the arrow so it's functional */
    background: #fdfcf9 !important; /* Solid background so options are visible */
    color: #1a1a1a !important; /* Dark text for readability */
    height: 55px !important;
    cursor: pointer;
    border: 1px solid hsla(var(--glass-border) / 0.8) !important;
}

