section.contact_form_info .contact_form_info__form,
section.contact_form_info .contact_form_info__panel {
    max-width: 773px;
    width: 100%;
}

/* Contact form layout */
section.contact_form_info .contact_form_info__form {
    padding: 50px;
}

section.contact_form_info .contact_form_info__form .fcc-cf7-header {
    display: none;
}

section.contact_form_info .contact_form_info__form .wpcf7-form {
    display: flex;
    flex-direction: column;
}

section.contact_form_info .contact_form_info__form .wpcf7-form p {
    margin: 0;
}

section.contact_form_info .contact_form_info__form .fcc-cf7-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 20px;
}

section.contact_form_info .contact_form_info__form .fcc-cf7-row:last-child {
    margin-bottom: 0;
}

section.contact_form_info .contact_form_info__form .fcc-cf7-field-full,
section.contact_form_info .contact_form_info__form .fcc-cf7-label {
    grid-column: 1 / -1;
}

section.contact_form_info .contact_form_info__form .fcc-cf7-label {
    color: #fff;
    font-family: var(--poppinsRegular);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

/* Contact Form 7 fields */
section.contact_form_info .contact_form_info__form .wpcf7-form-control-wrap {
    position: relative;
    display: block; 
    width: 100%;
}

section.contact_form_info .contact_form_info__form input:not([type='submit']),
section.contact_form_info .contact_form_info__form select,
section.contact_form_info .contact_form_info__form textarea {
    display: block;
    width: 100%;
    min-height: 50px;
    padding: 13px 20px;  
    border: none;
    outline: none;
    border-radius: 100px;  
    color: #fff; 
    font-family: var(--poppinsRegular);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 54.52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0) 50.1%, rgba(255, 255, 255, 0.08) 100%);
    background-blend-mode: lighten, soft-light;
    box-shadow:
        8px 12px 9px -10px rgba(255, 255, 255, 0.9) inset,
        2px -1px 1px -2px rgba(179, 179, 179, 0.5) inset,
        -2px 1px 1px -2px rgba(179, 179, 179, 0.5) inset,
        -8px -12px 9px -10px rgba(255, 255, 255, 0.9) inset,
        0 4px 8px 0 rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transition: 0.3s ease-in-out;
}

section.contact_form_info .contact_form_info__form input:not([type='submit']):hover,
section.contact_form_info .contact_form_info__form select:hover,
section.contact_form_info .contact_form_info__form textarea:hover {
    background-color: rgba(255, 255, 255, 0.18);
    box-shadow:
        7px 12px 5px -9px rgba(255, 255, 255, 0.9) inset,
        2px -1px 5px -2px rgba(255, 255, 255, 0.8) inset,
        -2px 1px 5px -2px rgba(255, 255, 255, 0.8) inset,
        -7px -12px 5px -9px rgba(255, 255, 255, 0.9) inset;
}

section.contact_form_info .contact_form_info__form textarea {
    min-height: 140px;
    border-radius: 20px;
    resize: vertical;
}

section.contact_form_info .contact_form_info__form select {
    appearance: none;
    -webkit-appearance: none;
}

section.contact_form_info .contact_form_info__form select option {
    color: #433833;
}

section.contact_form_info .contact_form_info__form input::placeholder,
section.contact_form_info .contact_form_info__form textarea::placeholder,
section.contact_form_info .contact_form_info__form select:invalid {
    color: rgba(255, 255, 255, 0.9);
    opacity: 1;
}

/* Datepicker */
section.contact_form_info .contact_form_info__form input[type='date'],
section.contact_form_info .contact_form_info__form input[name='preferred-date'],
section.contact_form_info .contact_form_info__form input[name='your-date'] {
    padding-right: 54px;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6.458 2.084a.625.625 0 0 0-1.25 0v1.317c-1.2.095-1.986.33-2.565.91-.579.577-.814 1.364-.911 2.565h16.535c-.096-1.2-.331-1.987-.91-2.565-.579-.58-1.366-.815-2.565-.911V2.084a.625.625 0 0 0-1.25 0v1.261c-.555-.011-1.176-.011-1.875-.011H8.333c-.699 0-1.321 0-1.875.011V2.084Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1.667 10c0-.699 0-1.321.01-1.875h16.646c.01.554.01 1.176.01 1.875v1.667c0 3.142 0 4.714-.976 5.69-.977.976-2.548.976-5.69.976H8.333c-3.142 0-4.714 0-5.69-.976-.976-.977-.976-2.548-.976-5.69V10Zm12.5 1.667a.833.833 0 1 0 0-1.667.833.833 0 0 0 0 1.667Zm0 3.333a.833.833 0 1 0 0-1.667.833.833 0 0 0 0 1.667Zm-3.334-4.167a.833.833 0 1 1-1.666 0 .833.833 0 0 1 1.666 0Zm0 3.334a.833.833 0 1 1-1.666 0 .833.833 0 0 1 1.666 0Zm-5-2.5a.833.833 0 1 0 0-1.667.833.833 0 0 0 0 1.667Zm0 3.333a.833.833 0 1 0 0-1.667.833.833 0 0 0 0 1.667Z' fill='white'/%3E%3C/svg%3E"),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 54.52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0) 50.1%, rgba(255, 255, 255, 0.08) 100%);
    background-position: right 20px center, 0 0, 0 0;
    background-repeat: no-repeat;
    background-size: 20px 20px, auto, auto;
}

section.contact_form_info .contact_form_info__form input[type='date']::-webkit-calendar-picker-indicator {
    opacity: 0;
    cursor: pointer;
}

.fcc-contact-datepicker {
    z-index: 9999 !important;
    width: auto;
    max-width: 100vw;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 20px;
    box-sizing: border-box;
    color: #fff;
    font-family: var(--poppinsRegular);
    background: rgba(184, 198, 149, 0.7);
    box-shadow:
        8px 12px 9px -10px rgba(255, 255, 255, 0.9) inset,
        -8px -12px 9px -10px rgba(255, 255, 255, 0.9) inset,
        0 12px 30px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.fcc-contact-datepicker .ui-datepicker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.fcc-contact-datepicker .ui-datepicker-title {
    order: 2;
    flex: 1;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
}

.fcc-contact-datepicker .ui-datepicker-prev,
.fcc-contact-datepicker .ui-datepicker-next {
    position: relative;
    order: 1;
    width: 30px;
    height: 30px;
    border-radius: 100px;
    color: transparent;
    cursor: pointer;
}

.fcc-contact-datepicker .ui-datepicker-next {
    order: 3;
}

.fcc-contact-datepicker .ui-datepicker-prev::before,
.fcc-contact-datepicker .ui-datepicker-next::before {
    content: '';
    position: absolute;
    inset: 0;
    width: 8px;
    height: 8px;
    margin: auto;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
}

.fcc-contact-datepicker .ui-datepicker-prev::before {
    transform: rotate(-45deg);
}

.fcc-contact-datepicker .ui-datepicker-next::before {
    transform: rotate(135deg);
}

.fcc-contact-datepicker table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.fcc-contact-datepicker th,
.fcc-contact-datepicker td {
    width: 14.285%;
    padding: 4px 2px;
    text-align: center;
}

.fcc-contact-datepicker th {
    color: rgba(255, 255, 255, 0.8);
    font-size: 11px;
    font-weight: 600;
    line-height: 16px;
}

.fcc-contact-datepicker td a,
.fcc-contact-datepicker td span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(30px, 100%);
    height: 30px;
    margin: 0 auto;
    border-radius: 100px;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    text-decoration: none;
}

.fcc-contact-datepicker td a:hover,
.fcc-contact-datepicker .ui-datepicker-current-day a {
    background: rgba(255, 255, 255, 0.22);
    box-shadow:
        7px 12px 5px -9px rgba(255, 255, 255, 0.9) inset,
        -7px -12px 5px -9px rgba(255, 255, 255, 0.9) inset;
}

.fcc-contact-datepicker .ui-datepicker-unselectable span {
    color: rgba(255, 255, 255, 0.35);
}

/* Custom select */
section.contact_form_info .contact_form_info__form select.fcc-native-select-hidden {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0;
    pointer-events: none;
}

section.contact_form_info .contact_form_info__form .fcc-glass-select {
    position: relative;
    z-index: 1;
    width: 100%;
}

section.contact_form_info .contact_form_info__form .fcc-glass-select__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 50px;
    padding: 13px 54px 13px 20px;
    border: none;
    outline: none;
    border-radius: 100px;
    color: #fff;
    font-family: var(--poppinsRegular);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    text-align: left;
    cursor: pointer;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6' fill='none'%3E%3Cpath d='M4.243 5.656L0 1.414L1.415 0L4.243 2.828L7.071 0L8.486 1.414L4.243 5.656Z' fill='white'/%3E%3C/svg%3E") right 20px center / 9px 6px no-repeat,
        linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 54.52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0) 50.1%, rgba(255, 255, 255, 0.08) 100%);
    background-blend-mode: normal, lighten, soft-light;
    box-shadow:
        8px 12px 9px -10px rgba(255, 255, 255, 0.9) inset,
        2px -1px 1px -2px rgba(179, 179, 179, 0.5) inset,
        -2px 1px 1px -2px rgba(179, 179, 179, 0.5) inset,
        -8px -12px 9px -10px rgba(255, 255, 255, 0.9) inset,
        0 4px 8px 0 rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transition: 0.3s ease-in-out;
}

section.contact_form_info .contact_form_info__form .fcc-glass-select[data-select-name='preferred-time'] .fcc-glass-select__button,
section.contact_form_info .contact_form_info__form .fcc-glass-select[data-select-name='your-time'] .fcc-glass-select__button {
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 1.666A8.333 8.333 0 1 1 10 18.332 8.333 8.333 0 0 1 10 1.666ZM10 5a.833.833 0 0 0-.833.833V10c0 .22.088.433.244.589l2.5 2.5a.833.833 0 1 0 1.178-1.179l-2.256-2.256V5.833A.833.833 0 0 0 10 5Z' fill='white'/%3E%3C/svg%3E") right 20px center / 20px 20px no-repeat,
        linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 54.52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0) 50.1%, rgba(255, 255, 255, 0.08) 100%);
}

section.contact_form_info .contact_form_info__form .fcc-glass-select__button:hover,
section.contact_form_info .contact_form_info__form .fcc-glass-select__button:focus-visible,
section.contact_form_info .contact_form_info__form .fcc-glass-select.is-open .fcc-glass-select__button {
    background-color: rgba(255, 255, 255, 0.18);
    box-shadow:
        7px 12px 5px -9px rgba(255, 255, 255, 0.9) inset,
        2px -1px 5px -2px rgba(255, 255, 255, 0.8) inset,
        -2px 1px 5px -2px rgba(255, 255, 255, 0.8) inset,
        -7px -12px 5px -9px rgba(255, 255, 255, 0.9) inset;
}

section.contact_form_info .contact_form_info__form .fcc-glass-select__button.is-placeholder {
    color: rgba(255, 255, 255, 0.9);
}

section.contact_form_info .contact_form_info__form .fcc-glass-select__value {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fcc-glass-select__menu {
    position: absolute;
    z-index: 9998;
    max-height: 330px;
    padding: 9px;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 20px;
    background: rgba(184, 198, 149, 0.7);
    box-shadow:
        8px 12px 9px -10px rgba(255, 255, 255, 0.9) inset,
        -8px -12px 9px -10px rgba(255, 255, 255, 0.9) inset,
        0 12px 30px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.fcc-glass-select__menu[hidden] {
    display: none;
}

.fcc-glass-select__option {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    border: 0;
    border-radius: 14px;
    color: #fff;
    font-family: var(--poppinsRegular);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    text-align: left;
    background: transparent;
    cursor: pointer;
}

.fcc-glass-select__option:hover,
.fcc-glass-select__option:focus-visible,
.fcc-glass-select__option.is-selected {
    color: #fff;
    background: rgba(255, 255, 255, 0.2);
    box-shadow:
        7px 12px 5px -9px rgba(255, 255, 255, 0.9) inset,
        -7px -12px 5px -9px rgba(255, 255, 255, 0.9) inset;
}

.fcc-glass-select__option:disabled {
    color: rgba(255, 255, 255, 0.5);
    cursor: not-allowed;
}

/* Validation and submit */
section.contact_form_info .contact_form_info__form input[type='submit'],
section.contact_form_info .contact_form_info__form button[type='submit'] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    padding: 13px 20px;
    border: none;
    outline: none;
    border-radius: 100px;
    color: #fff;
    font-family: var(--poppinsRegular);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    cursor: pointer;
}

section.contact_form_info .contact_form_info__form .wpcf7-spinner {
    margin: 10px auto 0;
}

section.contact_form_info .contact_form_info__form .wpcf7-not-valid-tip {
    margin-top: 8px;
    color: #fff;
    font-family: var(--poppinsRegular);
    font-size: 12px;
    line-height: 18px;
}

section.contact_form_info .contact_form_info__form .wpcf7-response-output {
    margin: 0;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.6);
}

section.contact_form_info .contact_form_info__panel {
    position: relative;
    overflow: hidden;
    border-radius: 30px; 
}

section.contact_form_info .contact_form_info__background {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.contact_form_info .contact_form_info__panel-content {
    position: relative;
    display: flex;
    flex-direction: column; 
    justify-content: end;
    width: 100%;
    height: 100%;
    padding: 80px;
}

section.contact_form_info .contact_form_info__intro {
    margin-bottom: 50px;
}

section.contact_form_info .contact_form_info__intro h2 {
    margin-bottom: 20px;
}

section.contact_form_info .contact_form_info__contact-details {
    margin-bottom: 45px;
}

section.contact_form_info .contact_form_info__contact-details h3,
section.contact_form_info .contact_form_info__opening-hours h3 {
    margin-bottom: 20px;
}

section.contact_form_info .contact_form_info__contact-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

section.contact_form_info .contact_form_info__contact-item p {
    margin-bottom: 12px;
}

section.contact_form_info .contact_form_info__contact-item a {
    font-weight: 400;
}

section.contact_form_info .contact_form_info__opening-row:not(:last-child) {
    margin-bottom: 12px;
}

@media (max-width: 1199px) {
    section.contact_form_info .contact_form_info__form {
        max-width: 100%;
        width: 100%;
        margin-inline: auto;
    }

    section.contact_form_info .contact_form_info__panel {
        max-width: 100%;
        width: 100%;
        max-height: 869px;
        aspect-ratio: 773 / 869;
        margin-inline: auto;
    }
}

@media (max-width: 767px) {
    /* Responsive */
    section.contact_form_info .contact_form_info__main {
        gap: 35px;
    }

    section.contact_form_info .contact_form_info__form {
        padding: 30px 20px;
    }

    section.contact_form_info .contact_form_info__panel {
        max-width: none;
        width: 100vw;
        margin-inline: calc(50% - 50vw);
        border-radius: 0;
        max-height: 682px;
    }

    section.contact_form_info .contact_form_info__form .fcc-cf7-row {
        grid-template-columns: 1fr;
    }

    section.contact_form_info .contact_form_info__panel-content {
        padding: 50px 35px;
    }

    section.contact_form_info .contact_form_info__contact-details {
        margin-bottom: 16px;
    }

    section.contact_form_info .contact_form_info__contact-list {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    section.contact_form_info .contact_form_info__contact-item p {
        margin-bottom: 5px;
    }
}

@media (max-width: 575px) {
    section.contact_form_info .contact_form_info__panel {
        aspect-ratio: auto;                         
    }
}