.contact_section {
    width: 100%;
    padding: 0 !important;
    overflow: hidden;

    & > .container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
    }

    & .section_inner {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        min-height: 50rem;

        @media (max-width: 991px) {
            flex-direction: column;
        }

        & .contact_left {
            width: 38%;
            flex-shrink: 0;
            background: #1a1f17;
            padding: 10rem;
            display: flex;
            flex-direction: column;
            justify-content: center;

            @media (max-width: 1200px) {
                padding: 5rem;
            }

            @media (max-width: 991px) {
                width: 100%;
                padding: 4rem;
            }

            & h2 {
                font-weight: 700;
                color: var(--white);
                margin: 0 0 2rem;
                line-height: 1.2;

                @media (max-width: 991px) {
                    font-size: 2.6rem;
                }
            }

            & p.contact_intro {
                color: rgba(255,255,255,0.65);
                margin: 0 0 4rem;
                line-height: 1.6;
            }

            & .contact_detail {
                display: flex;
                align-items: center;
                gap: 2rem;
                font-weight: 700;
                color: var(--white);
                text-decoration: none;
                margin-bottom: 2rem;
                transition: color 0.3s ease;

                &:hover {
                    color: var(--primary);
                }

                & .contact_icon {
                    width: 4rem;
                    height: 4rem;
                    flex-shrink: 0;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    background: var(--primary);
                    border-radius: 50%;

                    & svg {
                        display: block;
                    }
                }
            }
        }

        & .contact_right {
            width: 100%;
            padding: 6rem 8rem;
            flex: 1;

            @media (max-width: 1200px) {
                padding: 5rem 4rem;
            }

            @media (max-width: 991px) {
                padding: 4rem 2rem;
            }
        }

        & h2 {
            font-weight: 400;
            color: var(--primary);
            margin: 0 0 3rem;
        }

        & p {
            font-weight: 400;
            color: var(--primary);
            margin: 0 0 3rem;

            & a {
                color: var(--primary);
                text-decoration: underline;
            }
        }

        & .gform_heading {
            & h2 {
                font-size: 2.4rem;
                color: #333333;
                margin: 0 0 3rem;
            }
        }

        & .gform_wrapper {
            width: 100%;
            display: flex;
            flex-direction: column;

            & .gform_heading {
                order: 2;
                margin-top: 3rem;
            }

            & form {
                & .gform_body {
                    & .gform_fields {
                        row-gap: 2rem;

                        label.gform-field-label.gform-field-label--type-sub {
                            display: none;
                        }

                        label, legend {
                            font-size: 1.8rem;
                            font-weight: 700;
                            color: var(--text);
                        }

                        & input:not([type=checkbox]):not([type=radio]), & select, & textarea {
                            width: 100%;
                            font-size: 1.6rem;
                            font-weight: 400;
                            color: var(--text);
                            padding: 1rem 0;
                            height: auto;
                            border-top: none;
                            border-left: none;
                            border-right: none;
                            border-bottom: 1px solid var(--primary);
                            background: none;
                            box-shadow: none;
                            border-radius: 0;
                            outline: 0;
                        }

                        & textarea {
                            height: 8rem;
                        }

                        & .gfield_description:not(.ginput_counter) {
                            margin: 0;
                            padding: 0 0 1rem;
                        }
                        
                        & .ginput_counter {
                            margin: 1rem 0 0;
                        }
                    }
                }

                & .gform_footer {
                    width: 100%;
                    margin: 4rem 0 0;
                    padding: 0;

                    @media (max-width: 991px) {
                        display: flex;
                        justify-content: center;
                    }

                    & input {
                        width: auto !important;
                        display: inline-block !important;
                        text-decoration: none !important;
                        outline: none !important;
                        cursor: pointer !important;
                        text-align: center !important;
                        border-radius: 5rem !important;
                        padding: 1.4rem 10rem !important;
                        font-size: 1.8rem !important;
                        font-weight: 400 !important;
                        font-style: normal !important;
                        line-height: normal !important;
                        transition: all 0.5s ease !important;
                        text-transform: uppercase !important;
                        border: 1px solid transparent !important;
                        color: var(--white) !important;
                        background-color: var(--primary) !important;
                        border-color: var(--primary) !important;
                    }
                }
            }
        }

        /* Contact Form 7 styles */
        & .wpcf7 {
            width: 100%;

            & .wpcf7-form {
                & p {
                    margin: 0 0 2.4rem;
                    color: var(--text);

                    & label {
                        display: block;
                        font-size: 1.6rem;
                        font-weight: 600;
                        color: var(--text);
                        margin-bottom: 0.6rem;
                    }

                    & input:not([type=submit]),
                    & textarea {
                        width: 100%;
                        font-size: 1.6rem;
                        font-weight: 400;
                        color: var(--text);
                        padding: 1rem 0;
                        height: auto;
                        border-top: none;
                        border-left: none;
                        border-right: none;
                        border-bottom: 1px solid var(--primary);
                        background: none;
                        box-shadow: none;
                        border-radius: 0;
                        outline: 0;
                        transition: border-color 0.3s ease;

                        &:focus {
                            border-bottom-color: var(--black);
                        }
                    }

                    & textarea {
                        height: 10rem;
                        resize: vertical;
                    }

                    & input[type=submit] {
                        width: auto;
                        display: inline-block;
                        cursor: pointer;
                        text-align: center;
                        border-radius: 5rem;
                        padding: 1.4rem 6rem;
                        font-size: 1.6rem;
                        font-weight: 600;
                        transition: all 0.3s ease;
                        text-transform: uppercase;
                        border: 1px solid var(--primary);
                        color: var(--white);
                        background-color: var(--primary);
                        letter-spacing: 0.05rem;

                        &:hover {
                            background-color: transparent;
                            color: var(--primary);
                        }
                    }
                }
            }
        }
    }

    &.scheme--light {
        & .contact_left {
            background: #f5f7f3;

            & h2 {
                color: var(--black);
            }

            & p.contact_intro {
                color: rgba(0, 0, 0, 0.6);
            }

            & .contact_detail {
                color: var(--black);
            }
        }
    }
}