/* BOTON STYLES */

/* Avoid scrolling window when dialog is open */
html:has(dialog[open]),
body:has(dialog[open]) {
    overflow: hidden;
}

.pac-position-container {
    position: relative;
}

div.pac-container {
    top: 70px !important;
    left: 0 !important;
}

.form-window {
    width: fit-content;
    height: fit-content;
    padding: 0;
    border: 0;
    border-radius: 20px;
    box-shadow: var(--shadow-01);
    overflow-y: hidden;
    transition: opacity .5s var(--ease-3);
}

.form-window:not([open]) {
    /* pointer-events: none;
    opacity: 0; */
}

.form-window::backdrop {
    backdrop-filter: blur(12px);
}

.form-window__container {
    margin: 24px;
}

.form-window__content {
    max-height: 70vh;
    max-width: 640px;
    padding: 0 20px 100px 10px;
    background-color: white;
    display: flex;
    flex-flow: column;
    gap: 24px;
    overflow-y: scroll;
}

.form-window__content::-webkit-scrollbar {
    width: 8px;
}

/* Track */
.form-window__content::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

/* Handle */
.form-window__content::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
}

/* Handle on hover */
.form-window__content::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.form-window__close-btn {
    height: 44px;
    width: 44px;
    padding: 0;
    margin-top: 2px;
    border: none;
    border-radius: 100vmax;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .25s ease-in-out;
}

.form-window__close-btn * {
    transition: all .25s ease-in-out;
    fill: var(--c-gray-400);
}

.form-window__close-btn:active,
.form-window__close-btn:focus,
.form-window__close-btn:hover {
    background-color: var(--c-gray-400);
    outline: none;
}

.form-window__close-btn:hover *,
.form-window__close-btn:active *,
.form-window__close-btn:focus * {
    fill: white;
}

.form-window__header {
    padding: 0 0 20px 10px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.form-window__subtitle {
    text-transform: uppercase;
    color: var(--c-gray-500);
}

.form-window .text-box>* {
    margin: 0;
}

.form-label {
    width: 100%;
}

.form-label .input-field {
    margin-top: 8px;
    border-radius: 5px;
    transition: all .15s ease-in-out;
}

.form-label .input-offer {
    text-transform: uppercase;
}

.form-label .input-field:is([type="text"], [type="email"], [type="tel"]) {
    background-color: var(--c-gray-300);
    border-color: var(--c-gray-300);
}

.form-label .input-field:focus {
    background-color: white;
}

.form-submit {
    display: flex;
    justify-content: center;
}

.form-submit input {
    border: none;
    border-radius: 100vmax;
}

/* CF7 Form */
.wpcf7-spinner {
    display: none;
}

/* Form file send area */
.codedropz-upload-handler {
    background-color: var(--c-gray-300);
}

.codedropz-upload-handler .codedropz-upload-inner * {
    font-size: 1rem;
    color: var(--c-gray-500);
}

.codedropz-upload-handler .codedropz-upload-inner .cd-upload-btn {
    color: var(--c-green-300);
}

@media screen and (max-width: 720px) {
    .input-text-area {
        height: 100px;
    }
}

@media screen and (min-width: 720px) {
    .form-window__container {
        margin: 40px 24px;
    }

    .form-window__header {
        padding: 0 0 20px 24px;
    }

    .form-window__content {
        padding: 0 20px 100px;
    }

    .input-text-area {
        height: 120px;
    }
}

/* Animations */

@media (prefers-reduced-motion: no-preference) {
    .fade-out-bottom {
        -webkit-animation: fade-out-bottom 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
        animation: fade-out-bottom 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    }

    .slide-in-bottom {
        -webkit-animation: slide-in-bottom 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
        animation: slide-in-bottom 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    }
}

/* Keyframes */


/**
 * ----------------------------------------
 * animation slide-in-bottom
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-bottom {
    0% {
        -webkit-transform: translateY(1000px);
        transform: translateY(1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slide-in-bottom {
    0% {
        -webkit-transform: translateY(1000px);
        transform: translateY(1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

/**
 * ----------------------------------------
 * animation fade-out-bottom
 * ----------------------------------------
 */
@-webkit-keyframes fade-out-bottom {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        opacity: 0;
    }
}

@keyframes fade-out-bottom {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        opacity: 0;
    }
}