/* ==================== Shared Review UI ==================== */

.review-page-shell {
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background-color: transparent !important;
}

.review-page-top-offset {
    margin-top: 12px;
}

.review-tip-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: stretch;
}

.review-tip-icon-inner-wrap {
    border: 3px solid var(--waterstons-blue-primary);
    border-radius: 50px;
    z-index: 10;
    width: 32.5px;
    height: 32.5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.review-tip-text {
    line-height: 1.2 !important;
    width: 100%;
    padding: 5px;
    border-radius: 3px;
    margin-left: -15px !important;
    padding-left: 15px;
}

.review-status-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 200px;
}

.app-shell-layout .review-status-state {
    min-height: calc(100vh - var(--shell-bar-height));
    transform: translateY(calc(var(--shell-bar-height) * -0.5));
}

.mt--10 {
    margin-top: -40px !important;
}

.review-tip-item {
    width: 100%;
}

.review-form-grid > .mud-grid-item {
    margin-top: 0;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 10px;
    padding-right: 10px;
}

.review-loading-circle {
    color: rgba(255, 255, 255, 0.68) !important;
}

.review-load-info-text {
    color: var(--waterstons-green) !important;
    opacity: 0.77;
}

.op-77 {
    opacity: 0.77;
}

.review-submit-button.mud-button-root.mud-disabled {
    background-color: rgba(255, 255, 255, 0.5);
    color: rgba(21, 41, 67, 0.55);
}

/* Shared action button theme + hover effect */
.review-action-btn {
    --btn-theme-start-tc: var(--waterstons-blue-primary);
    --btn-theme-start-bc: var(--waterstons-white);
    --btn-theme-end-tc: var(--waterstons-white);
    --btn-theme-end-bc: transparent;

    color: var(--btn-theme-start-tc) !important;
    background-color: var(--btn-theme-start-bc) !important;
    box-shadow: 0 0 0 0 var(--btn-theme-start-bc) !important;
    transition: box-shadow 0.25s ease-in-out, background 0.5s ease, color 0.1s ease-out !important;
}

.review-action-theme-white {
    --btn-theme-start-tc: var(--waterstons-blue-primary);
    --btn-theme-start-bc: var(--waterstons-white);
    --btn-theme-end-tc: var(--waterstons-white);
    --btn-theme-end-bc: transparent;
}

.review-action-theme-orange {
    --btn-theme-start-tc: var(--waterstons-blue-primary);
    --btn-theme-start-bc: var(--waterstons-orange);
    --btn-theme-end-tc: var(--waterstons-orange);
    --btn-theme-end-bc: transparent;
}

.review-action-theme-orange-ghost {
    --btn-theme-start-tc: var(--waterstons-orange);
    --btn-theme-start-bc: transparent;
    --btn-theme-end-tc: var(--waterstons-orange);
    --btn-theme-end-bc: transparent;
}

    .review-action-btn:hover:not(.mud-disabled) {
        box-shadow: 0 0 5px 0.2px var(--btn-theme-end-tc) !important;
        background: var(--btn-theme-end-bc) !important;
        color: var(--btn-theme-end-tc) !important;

        .mud-icon-root {
            color: var(--btn-theme-end-tc) !important;
            fill: var(--btn-theme-end-tc);
        }
    }

    .review-action-btn.mud-button-root.mud-button-filled:hover {
        background-color: var(--btn-theme-end-bc) !important;
    }

/* Shared helper text alignment for Mud input validation */
.review-input-helper-aligned .mud-input-control-helper-container {
    position: absolute;
    top: 100%;
    margin-top: -2px;
}

/* Review Server Error (responsive) */

@media (max-width: 1650px) {

    .review-server-error {
        padding: 0px !important;
        font-size: 0.64rem;
        border-radius: 12.5px !important;

        .mud-alert-position {
            align-items: center;
        }

        .mud-alert-message {
            padding: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .mud-alert-icon {
            padding: 0;
            transform: scale(0.9);

            &.mud-alert-icon-left {
                margin-right: 1px !important;
            }
        }
    }

}
