/******************
    User custom CSS
    ---------------

    In this file you can add your own custom CSS
    It will be loaded last, so you can override any other property.
    Also, it will never be updated. So if you inheritate a core template and just add here some CSS, you'll still benefit of all the updates
*/
.needs-attention {
    border: 3px solid #dc3545 !important;
    background-color: #fff3f3 !important;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
}

.needs-attention input,
.needs-attention select,
.needs-attention textarea {
    border-color: #dc3545 !important;
}

.needs-attention::before {
    content: "This question requires attention";
    display: block;
    color: #b02a37;
    font-weight: bold;
    margin-bottom: 10px;
}

#navbar-menu {
    display: flex;
    align-items: center;
}

.necstour-save-later {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-right: 0.75rem;
    padding: 0.55rem 0.9rem;
    border: 1px solid var(--bs-primary, #0072bc);
    border-radius: 5px;
    background: #ffffff;
    color: var(--bs-primary, #0072bc);
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.necstour-save-later:hover,
.necstour-save-later:focus {
    background: var(--bs-primary, #0072bc);
    color: #ffffff;
    text-decoration: none;
}

.necstour-save-later .ri-save-line {
    font-size: 1.1rem;
}

.save-later-short {
    display: none;
}

@media (max-width: 575.98px) {
    .save-later-long {
        display: none;
    }

    .save-later-short {
        display: inline;
    }

    .necstour-save-later {
        padding: 0.5rem 0.7rem;
    }
}

.review-summary {
    border-left: 4px solid #d99000;
}

.review-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 1.25rem 0;
}

.review-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    background: #ffffff;
    border-left: 4px solid #d99000;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

.review-item-hidden {
    display: none !important;
}

.review-item-label {
    line-height: 1.4;
}

.review-jump {
    flex: 0 0 auto;
    padding: 0.55rem 0.85rem;
    color: #005a96;
    font-weight: 600;
    background: #ffffff;
    border: 1px solid #006eb7;
    border-radius: 4px;
    cursor: pointer;
}

.review-jump:hover,
.review-jump:focus {
    color: #ffffff;
    background: #006eb7;
    outline: none;
}

.review-jump:focus-visible {
    outline: 3px solid rgba(0, 110, 183, 0.35);
    outline-offset: 2px;
}

.review-help {
    margin: 1rem 0 0;
}

.review-target-flash {
    scroll-margin-top: 8rem;
    animation: necstour-review-flash 2.2s ease-out;
}

@keyframes necstour-review-flash {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 110, 183, 0.7);
    }

    40% {
        box-shadow: 0 0 0 10px rgba(0, 110, 183, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(0, 110, 183, 0);
    }
}

@media (max-width: 767px) {
    .review-item {
        align-items: stretch;
        flex-direction: column;
    }

    .review-jump {
        width: 100%;
    }
}