﻿.fp-wizard {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: #fafafa;
    background-image: url('/img/background/background1.webp');
    background-size: cover;
    background-position: center;
}

.fp-wizard-container {
    display: flex;
    position: relative;
    flex-direction: column;
    background: white;
    border-radius: 0;
    min-width: 1175px;
    max-width: 95vw; /* Container never bigger than 95% of viewport */
    /* Use min-height for flexible sizing, max-height for scroll constraint */
    min-height: 50vh; /* Minimum size to look good */
    max-height: 95vh; /* Never exceed 95% of viewport - this enables scrolling */
    height: auto; /* Allow flexible height within the min/max constraints */
    box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;
}

    .fp-wizard-container > form, .fp-wizard-container > .form {
        height: 100%;
        display: flex;
        flex-direction: column;
        min-height: inherit; /* Inherit the min-height behavior */
        box-sizing: border-box;
        padding-bottom: 80px; /* Reserve space for absolutely positioned control buttons */
    }

.fp-wizard-content {
    flex: 1;
    display: flex;
    overflow-y: auto; /* This will scroll when content exceeds available height */
    overflow-x: hidden;
    scrollbar-width: thin;
    /* The form padding-bottom now handles button space, so use viewport-based constraint for scrolling */
    max-height: calc(95vh - 100px); /* Viewport-based constraint for scrolling */
    min-height: 0; /* Allow shrinking */
}

.fp-wizard-container-sm {
    max-width: 65vw;
    min-height: 50vh;
    max-height: 95vh;
}

.fp-wizard-left-section {
    flex: 1.3;
    padding: 60px;
    /* No height restrictions - let content determine height */
}

.fp-wizard-left-section-sm {
    flex: .5;
    padding: 60px;
    text-align: left;
    /* No height restrictions - let content determine height */
}

.fp-wizard-right-section {
    flex: 1;
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
    /* No height restrictions - let content determine height */
}

/* Scrollbar styling for content area */
.fp-wizard-content::-webkit-scrollbar {
    width: 6px;
}

.fp-wizard-content::-webkit-scrollbar-track {
    background: transparent;
}

.fp-wizard-content::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 3px;
}

.fp-control-buttons {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    height: 80px; /* Fixed height for proper space calculation */
    padding: 20px 40px;
    background: white;
    text-align: right;
    z-index: 1;
    border-top: 1px solid #eee;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.fp-wizard-close-button {
    position: absolute;
    top: 20px;
    right: 20px;
    color: black;
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    font-size: 16px;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
}

    .fp-wizard-close-button > .icon-cancel-circle {
        font-size: 32px;
    }
