/* Reusable Fancybox modal styling for CF7 forms */
.sunrise-modal {
    width: min(720px, calc(100vw - 48px));
}

.sunrise-modal__panel {
    background: #ffffff;
    border-radius: 18px;
    /* padding: 32px; */
    /* box-shadow: 0 30px 60px rgba(10, 37, 64, 0.16); */
    /* border: 1px solid rgba(10, 37, 64, 0.06); */
    position: relative;
    overflow: hidden;
}

.sunrise-modal__panel::before {
    content: "";
    position: absolute;
    inset: 0;
    /* background: radial-gradient(120% 120% at 100% 0%, rgba(15, 111, 190, 0.08), transparent 55%),
        radial-gradient(120% 120% at 0% 100%, rgba(8, 190, 173, 0.08), transparent 50%); */
    pointer-events: none;
    z-index: 0;
}

.sunrise-modal__header,
.sunrise-modal__form,
.sunrise-modal__footnote {
    position: relative;
    z-index: 1;
}

.sunrise-modal__header {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}

.sunrise-modal__title {
    font-size: 26px;
    font-weight: 700;
    /* color: #0a2540; */
    letter-spacing: -0.01em;
    margin: 0;
}

.sunrise-modal__subtitle {
    margin: 0;
    color: #4c5561;
    font-size: 15px;
    line-height: 1.6;
}

.sunrise-modal__form .wpcf7 {
    width: 100%;
}

.sunrise-modal__form form {
    display: grid;
    gap: 14px;
}

.sunrise-modal__form label {
    font-weight: 600;
    /* color: #0a2540; */
    display: inline-block;
    margin-bottom: 6px;
}

.sunrise-modal__form input[type="text"],
.sunrise-modal__form input[type="email"],
.sunrise-modal__form input[type="tel"],
.sunrise-modal__form textarea,
.sunrise-modal__form select {
    width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(10, 37, 64, 0.18);
    padding: 12px 14px;
    font-size: 15px;
    line-height: 1.5;
    /* color: #0a2540; */
    background: rgba(255, 255, 255, 0.9);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sunrise-modal__form input:focus,
.sunrise-modal__form textarea:focus,
.sunrise-modal__form select:focus {
    outline: none;
    border-color: #0f6fbe;
    box-shadow: 0 0 0 3px rgba(15, 111, 190, 0.16);
}

.sunrise-modal__form input[type="submit"] {
    /* background: linear-gradient(120deg, #0f6fbe, #08bead); */
    background: var(--primary-color);
    border: none;
    color: #ffffff;
    font-weight: 700;
    border-radius: 12px;
    padding: 13px 16px;
    cursor: pointer;
    text-transform: none;
    width: 100%;
    display: block;
    letter-spacing: 0;
    transition: transform 0.15s ease, box-shadow 0.2s ease;
}

.sunrise-modal__form input[type="submit"]:hover {
    /* transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 111, 190, 0.25); */
}

.sunrise-modal__form .wpcf7-not-valid-tip {
    color: #c0392b;
    font-weight: 600;
    margin-top: 6px;
}

.sunrise-modal__form .wpcf7-response-output {
    border-radius: 10px;
    border: 1px solid rgba(10, 37, 64, 0.15);
    margin: 4px 0 0;
    padding: 10px 12px;
}

.sunrise-modal__footnote {
    margin-top: 10px;
    font-size: 13px;
    color: #5b6570;
}

/* Fancybox tweaks */
.fancybox__backdrop {
    background: rgba(7, 20, 34, 0.7);
}

.fancybox__content > .sunrise-modal {
    background: transparent;
    padding: 0;
}

@media (max-width: 640px) {
    .sunrise-modal__panel {
        padding: 22px;
        border-radius: 14px;
    }

    .sunrise-modal__title {
        font-size: 22px;
    }
}
