/* ==========================================================================
   MASTER CONTACT US STYLESHEET (css-contactus.css)
   Organized: Grid Layout, Info Column, Form Styling, and Mobile/RTL
   ========================================================================== */


/* ==================================================================================
   04. LAYOUT / GRID
   (Header, footer, main containers)
   ================================================================================== */

/* Main Vault Card */
.kh-contact-vault {
    background: #ffffff !important;
    border: 1px solid #eeeeee !important;
    border-radius: 20px !important;
    padding: 50px !important;
    max-width: 1100px !important;
    margin: 40px auto !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03) !important;
}

/* Grid Layout */
.kh-contact-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 60px !important;
    align-items: center !important;
}

/* Left Column (Contact Info & Titles) */
.kh-contact-info-col {
    padding-right: 60px !important;
    border-right: 2px solid #8db73b !important;
}


/* ==================================================================================
   03. TYPOGRAPHY
   (Headings, paragraphs, links)
   ================================================================================== */

.kh-contact-title {
    font-size: 22px !important;
    font-weight: 400 !important;
    color: #555 !important;
    margin-bottom: 25px !important;
}

.kh-contact-title .kh-dark { font-weight: 900 !important; color: #222 !important; }
.kh-contact-title .kh-green { color: #8db73b !important; }

/* Horizontal Divider Line */
.kh-contact-divider {
    border: 0 !important;
    height: 1px !important;
    background: #eeeeee !important;
    margin: 40px 0 !important;
}

/* Direct Contact Methods (Forced Single Line) */
.kh-direct-methods {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
}

.kh-method-link {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #555 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    white-space: nowrap !important;
}

.kh-method-link:hover { color: #8db73b !important; }
.kh-method-link svg { color: #8db73b !important; }

/* Premium Styling for the Form Title */
.kh-contact-form-col .kh-contact-title {
    font-size: 28px !important;
    font-weight: 900 !important;
    color: #222222 !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    text-align: left !important;
    text-transform: none !important;
}


/* ==================================================================================
   06. COMPONENTS / MODULES
   (Buttons, badges, product cards, forms)
   ================================================================================== */

/* Social Icons */
.kh-social-icons {
    display: flex !important;
    gap: 20px !important;
}

.kh-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    background: #fdfdfd !important;
    color: #8db73b !important;
    border: 1px solid #8db73b !important;
    transition: all 0.3s ease !important;
}

.kh-icon:hover { color: #ffffff !important; border-color: transparent !important; transform: translateY(-3px) !important;}
.kh-icon.kh-fb:hover { background: #1877F2 !important; }
.kh-icon.kh-ig:hover { background: #E1306C !important; }

/* Nuke massive blank spaces at the bottom from WPForms/CF7 */
.kh-contact-form-col p:empty,
.kh-contact-form-col br {
    display: none !important;
}
.kh-contact-form-col .wpcf7-response-output {
    margin-bottom: 0 !important;
    margin-top: 15px !important;
}
.kh-contact-form-col p:last-of-type,
.kh-contact-form-col p:last-child {
    margin-bottom: 0 !important;
}

.kh-contact-form-col form { width: 100% !important; margin: 0 !important; padding: 0 !important; }

/* Form Fields Layout */
.kh-contact-form-col .kh-form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    margin-bottom: 20px !important;
}

.kh-contact-form-col label {
    display: block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 8px !important;
}

.kh-contact-form-col input[type="text"],
.kh-contact-form-col input[type="email"],
.kh-contact-form-col textarea {
    width: 100% !important;
    padding: 15px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    background: #fdfdfd !important;
    font-size: 14px !important;
    color: #333 !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
}

.kh-contact-form-col input:focus,
.kh-contact-form-col textarea:focus {
    border-color: #8db73b !important;
    background: #ffffff !important;
    outline: none !important;
}

.kh-contact-form-col textarea {
    height: 120px !important;
    resize: vertical !important;
    margin-bottom: 20px !important;
}

.kh-contact-form-col input[type="submit"] {
    background: #8db73b !important;
    color: #ffffff !important;
    border: none !important;
    padding: 16px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.kh-contact-form-col input[type="submit"]:hover { background: #7ca332 !important; }


/* ==================================================================================
   08. MEDIA QUERIES / RESPONSIVE
   (Mobile and tablet specific overrides)
   ================================================================================== */

/* Mobile Adjustments */
@media (max-width: 992px) {
    .kh-contact-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
    .kh-contact-info-col { padding-right: 0 !important; border-right: none !important; border-bottom: 2px solid #8db73b !important; padding-bottom: 40px !important; }
}

@media (max-width: 600px) {
    .kh-contact-vault { padding: 30px 20px !important; }
    .kh-contact-form-col .kh-form-row { grid-template-columns: 1fr !important; gap: 15px !important; }
    .kh-direct-methods { flex-wrap: wrap !important; justify-content: flex-start !important; gap: 15px 25px !important; }
}

/* RTL (Arabic) Overrides */
html[dir="rtl"] .kh-contact-info-col {
    padding-right: 0 !important;
    border-right: none !important;
    padding-left: 60px !important;
    border-left: 2px solid #8db73b !important;
}

html[dir="rtl"] .kh-contact-form-col .kh-contact-title {
    text-align: right !important;
}

@media (max-width: 992px) {
    html[dir="rtl"] .kh-contact-info-col {
        padding-left: 0 !important;
        border-left: none !important;
    }
}
