/* ==========================================================================
   G.R. Medical College - Contact Us Page Stylesheet
   Design Spec: Matches Figma Screenshots with "Reach out to us for any enquiries,
   assistance, or appointments" title, Left "Enquire now" soft lilac form card with
   minimalist underline inputs, Right contact details and entrance photo.
   ========================================================================== */

/* Main Section */
.gr-contact-section {
    padding: 60px 0 90px 0;
    background-color: #FFFFFF;
}

.gr-contact-container {
    width: 100%;
    margin: 0 auto;
}

@media (min-width: 1400px) {
    .gr-contact-container {
        max-width: 1540px;
        padding-left: 31px;
        padding-right: 31px;
    }
}

/* 1. Header Title (Matches Screenshot 1 Exactly) */
.gr-contact-header {
    margin-bottom: 45px;
}

.gr-contact-main-title {
    font-family: 'Instrument Sans', 'Outfit', 'Inter', sans-serif;
    font-size: 2.75rem;
    font-weight: 400;
    color: #111111;
    line-height: 1.22;
    letter-spacing: -0.02em;
    margin: 0;
}

@media (max-width: 991px) {
    .gr-contact-main-title {
        font-size: 2.2rem;
    }
}

@media (max-width: 576px) {
    .gr-contact-main-title {
        font-size: 1.8rem;
    }
}

/* 2. Main 2-Column Grid (Matches Screenshot 2 Exactly) */
.gr-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

@media (max-width: 991px) {
    .gr-contact-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* Left Column: Enquire Now Card */
.gr-enquire-card {
    background-color: #F6F8FE;
    padding: 42px 48px;
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

@media (max-width: 576px) {
    .gr-enquire-card {
        padding: 32px 20px;
    }
}

.gr-enquire-title {
    font-family: 'Instrument Sans', 'Outfit', sans-serif;
    font-size: 23px;
    font-weight: 500;
    color: #2B44E7;
    text-align: center;
    margin: 0 0 22px 0;
    letter-spacing: -0.01em;
}

/* Underline Minimalist Input Fields */
.gr-form-group {
    margin-bottom: 14px;
    position: relative;
}

.gr-form-label {
    display: block;
    font-family: 'Instrument Sans', 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #334155;
    margin-bottom: 2px;
}

.gr-form-input {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1.5px solid #64748B;
    border-radius: 0 !important;
    padding: 3px 0 6px 0;
    font-family: 'Instrument Sans', 'Inter', sans-serif;
    font-size: 14.5px;
    color: #0F172A;
    transition: border-color 0.25s ease;
    box-sizing: border-box;
}

.gr-form-input:focus {
    outline: none;
    border-bottom-color: #2B44E7;
    background: transparent;
}

.gr-form-textarea {
    resize: vertical;
    min-height: 44px;
}

/* Submit Button */
.gr-enquire-submit-wrap {
    text-align: center;
    margin-top: 24px;
}

.gr-enquire-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    height: 44px;
    padding: 0 32px;
    background-color: #2B44E7;
    color: #FFFFFF;
    border: none;
    border-radius: 0 !important;
    font-family: 'Instrument Sans', 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}

.gr-enquire-btn:hover {
    background-color: #1E34C8;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(43, 68, 231, 0.3);
}

.gr-enquire-btn:active {
    transform: translateY(0);
}

/* Right Column: Details & Campus Entrance Photo */
.gr-contact-info-col {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 88px; /* Aligns horizontally with "Full Name" label on LHS form */
}

@media (max-width: 991px) {
    .gr-contact-info-col {
        padding-top: 0;
    }
}

/* Address Box */
.gr-contact-address-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}

.gr-contact-icon {
    color: #2B44E7;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 3px;
}

.gr-contact-address-text {
    font-family: 'Instrument Sans', 'Inter', sans-serif;
    line-height: 1.4;
}

.gr-address-title {
    font-size: 15.5px;
    font-weight: 500;
    color: #111111;
    margin-bottom: 2px;
}

.gr-address-subtitle {
    font-size: 14.5px;
    font-weight: 400;
    color: #222222;
}

/* Horizontal Dividing Line */
.gr-contact-divider-line {
    width: 100%;
    height: 1px;
    background-color: #CBD5E1;
    margin: 16px 0 20px 0;
    border: none;
}

/* Phone & Email Dual Split */
.gr-contact-dual-row {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
    margin-bottom: 30px;
}

.gr-contact-dual-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex: 1;
}

.gr-contact-dual-vsep {
    width: 1px;
    background-color: #CBD5E1;
    height: 42px;
    flex-shrink: 0;
    margin-top: 2px;
}

@media (max-width: 576px) {
    .gr-contact-dual-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .gr-contact-dual-vsep {
        display: none;
    }
}

/* Phone Block */
.gr-phone-block-lines {
    font-family: 'Instrument Sans', 'Inter', sans-serif;
    font-size: 14.5px;
    line-height: 1.45;
    color: #111111;
}

.gr-phone-block-lines a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.gr-phone-block-lines a:hover {
    color: #2B44E7;
}

/* Email Grid Alignment (Aligns secondary email right below primary email) */
.gr-email-block-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 5px;
    row-gap: 2px;
    font-family: 'Instrument Sans', 'Inter', sans-serif;
    font-size: 14.5px;
    line-height: 1.45;
    color: #111111;
}

.gr-email-label {
    grid-column: 1;
    grid-row: 1;
    color: #111111;
    white-space: nowrap;
}

.gr-email-primary {
    grid-column: 2;
    grid-row: 1;
}

.gr-email-secondary {
    grid-column: 2;
    grid-row: 2;
}

.gr-email-block-grid a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.gr-email-block-grid a:hover {
    color: #2B44E7;
}

/* Campus Entrance Photo Card */
.gr-contact-image-card {
    width: 100%;
    position: relative;
    overflow: hidden;
    background-color: #E2E8F0;
    margin-top: 10px;
    border-radius: 0 !important;
}

.gr-contact-image-card img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0 !important;
    transition: transform 0.4s ease;
}

.gr-contact-image-card:hover img {
    transform: scale(1.015);
}

/* Alerts */
.gr-contact-alert {
    padding: 14px 18px;
    margin-bottom: 24px;
    font-size: 14.5px;
    border-radius: 0 !important;
}

.gr-contact-alert-success {
    background-color: #ECFDF5;
    color: #065F46;
    border: 1px solid #A7F3D0;
}

.gr-contact-alert-danger {
    background-color: #FEF2F2;
    color: #991B1B;
    border: 1px solid #FECACA;
}
