﻿/* ==========================================================================
   Contact Page Stylesheet (sunway_goweb)
   Conforms to goweb-layout-views responsive guidelines
   ========================================================================== */

.contact_page {
    font-size: 1rem;
    padding-bottom: 8em;
}

/* --------------------------------------------------------------------------
   Contact Cards Layout (Get in Touch + Send Us a Message)
   -------------------------------------------------------------------------- */
.contact_cart_section {
    display: grid;
    grid-template-columns: 43em minmax(0, 1fr);
    gap: 2.4em;
    align-items: stretch;
    margin-top: 4.8em;
}

/* Card Container */
.contact_card {
    background-color: var(--neutral-1);
    border: 1px solid var(--neutral-7);
    border-radius: 1.6em;
    box-shadow: 0 0.4em 2.4em rgba(0, 0, 0, 0.04);
}

.contact_card_title {
    font-size: 2.4em;
    font-weight: 500;
    color: var(--secondary-8);
    margin-bottom: 0.4em;
}

.contact_card_desc {
    font-size: 1.3em;
    color: var(--neutral-4);
}

/* --------------------------------------------------------------------------
   Left Card: Get in Touch
   -------------------------------------------------------------------------- */
.contact_info_card {
    padding: 2.4em;
    display: flex;
    flex-direction: column;
}

.contact_info_card .contact_card_desc {
    margin-bottom: 3.6em;
}

.contact_info_list {
    display: flex;
    flex-direction: column;
    gap: 2.4em;
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact_info_item {
    display: flex;
    align-items: flex-start;
    gap: 1.4em;
}

.contact_icon_circle {
    width: 3.6em;
    height: 3.6em;
    min-width: 3.6em;
    border-radius: 50%;
    background-color: var(--secondary-15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.2em;
}

.contact_icon_circle > svg {
    width: 1.8em;
    height: 1.8em;
    color: var(--neutral-1);
}

.contact_item_text {
    display: flex;
    flex-direction: column;
    gap: 0.4em;
}

.contact_item_label {
    font-size: 1.5em;
    font-weight: 600;
    color: var(--secondary-8);
    margin: 0;
}

.contact_item_val {
    font-size: 1.4em;
    color: var(--neutral-6);
    line-height: 1.4;
    text-decoration: none;
    transition: color 0.2s ease;
}

a.contact_item_val:hover {
    color: var(--brand-1);
}

/* --------------------------------------------------------------------------
   Right Card: Send Us a Message Form
   -------------------------------------------------------------------------- */
.contact_form_card {
    padding: 3.6em 3.6em 4.2em;
    display: flex;
    flex-direction: column;
}

.contact_form_card .contact_card_desc {
    margin-bottom: 2.8em;
}

.contact_form {
    display: flex;
    flex-direction: column;
}

.contact_form_grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.8em 2em;
}

.contact_form_group {
    display: flex;
    flex-direction: column;
    gap: 0.8em;
}

.contact_form_group_full {
    grid-column: 1 / -1;
}

.contact_form_label {
    font-size: 1.3em;
    font-weight: 500;
    color: var(--secondary-8);
}

.contact_form_input {
    width: 100%;
    height: 3.8rem;
    font-size: 1.3em;
    font-family: inherit;
    color: var(--neutral-9);
    background-color: var(--neutral-1);
    border: 1px solid var(--neutral-7);
    border-radius: 0.8em;
    outline: none;
    padding: 0 1.2em;
    box-sizing: border-box;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.contact_form_input::placeholder {
    color: var(--neutral-11);
}

.contact_form_input:focus {
    border-color: var(--brand-1);
    box-shadow: 0 0 0 0.3em rgba(0, 110, 69, 0.1);
}

.contact_form_textarea {
    height: auto;
    min-height: 10em;
    padding: 1em 1.2em;
    resize: vertical;
}

.contact_form_action {
    display: flex;
    justify-content: center;
    margin-top: 3.2em;
}

.contact_submit_btn {
    width: 32em;
    max-width: 100%;
    height: 4.4em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--brand-1);
    color: var(--neutral-1);
    border: none;
    border-radius: 1em;
    cursor: pointer;
    transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}

.contact_submit_btn > span {
    font-size: 1.5em;
    font-weight: 500;
}

.contact_submit_btn:hover {
    background-color: var(--secondary-4);
    transform: translateY(-0.2em);
    box-shadow: 0 0.6em 1.6em rgba(0, 110, 69, 0.25);
}

.contact_submit_btn:active {
    transform: translateY(0);
}

/* --------------------------------------------------------------------------
   Responsive Overrides
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
    .contact_cart_section {
        grid-template-columns: 1fr;
        gap: 3.2em;
        margin-top: 3.6em;
    }

    .contact_info_card,
    .contact_form_card {
        padding: 3em 2.4em;
    }
}

@media (max-width: 575px) {
    .contact_page {
        padding-bottom: 5em;
    }

    .contact_cart_section {
        margin-top: 2.4em;
        gap: 2.4em;
    }

    .contact_info_card,
    .contact_form_card {
        padding: 2.4em 1.8em;
        border-radius: 1.2em;
    }

    .contact_card_title {
        font-size: clamp(2em, 5vw, 2.4em);
    }

    .contact_form_grid {
        grid-template-columns: 1fr;
        gap: 1.6em;
    }

    .contact_submit_btn {
        width: 100%;
    }
}
