html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .new-button-container {
        flex-direction: column; /* Stacks them vertically */
    }

    .btn {
        width: 50%; /* Makes buttons take up the full width of the screen */
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    background-image: linear-gradient(#000000, #808080);
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.blue-gradient-btn {
    background: linear-gradient(180deg, #002244, #0077cc);
    border: 2px solid #ffffff;
    /* Adds rounded corners to the border */
    border-radius: 8px;
    /* Text styling for maximum contrast and readability */
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    font-family: sans-serif;
    /* Spacing inside the button */
    padding: 12px 24px;
    /* Improves UX interactions */
    cursor: pointer;
    transition: opacity 0.2s ease-in-out;
    max-width: 500px;
}

.blue-gradient-btn-small {
    background: linear-gradient(180deg, #002244, #0077cc);
    border: 2px solid #00000;
    border-radius: 8px;
    color: #ffffff;
    font-weight: 600;
    font-family: sans-serif;
    padding: 12px 24px;
    cursor: pointer;
    font-size: 1rem;
    padding: 0.75rem 1.5rem; /* Vertically and horizontally spaces the text */
    width: 100 px;
    height: 44px;
    box-sizing: border-box;
    transition: opacity 0.2s ease-in-out;
}

.blue-gradient-btn:hover {
    opacity: 0.9;
}

.button-container {
    display: flex;
    flex-direction: column; /* Stacks them vertically */
    align-items: stretch; /* 👈 FORCES all buttons to stretch to the same width */
    gap: 12px;
    width: max-content; /* 👈 Shrinks the container to match the largest button */
    max-width: 100%; /* Keeps it responsive on mobile */
    margin: 0 auto; /* 👈 Centers the entire block on your desktop screen */
}

    .button-container .btn {
        width: 100%; /* Allows buttons to adapt responsively */
        max-width: 260px; /* 👈 FORCES all buttons to match this identical size on desktop */
        padding: 12px 24px; /* Inside spacing for the buttons */
        box-sizing: border-box; /* Crucial: stops padding from breaking the max-width boundary */
    }

.mobile-video-container {
    position: relative;
    width: 100%;
    max-width: 600px; /* Limits size on larger screens */
    margin: 0 auto;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
}

.responsive-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px; /* Optional: rounds video edges for a modern app look */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
/* The wrapper div handles the layout and responsiveness */
.table-container {
    display: flex;
    justify-content: center; /* Centers the table horizontally */
    width: 100%; /* Spans full width of its parent */
    overflow-x: auto; /* Adds a horizontal scrollbar on mobile if the table is too wide */
    padding: 10px; /* Optional: adds breathing room */
}

/* The table styles */
table {
    border-collapse: collapse;
    /* Add any additional styling like borders or backgrounds here */
}

new-button-container {
    display: flex;
    flex-wrap: wrap; /* Allows buttons to drop to a new line on small screens */
    gap: 12px; /* Spacing between the buttons */
    justify-content: center; /* Centers the buttons (use 'flex-start' for left, 'flex-end' for right) */
}
/* Container sizing */
.custom-dropdown {
    position: relative;
    width: 320px;
    font-family: Arial, sans-serif;
    user-select: none;
}

/* The box you click to open the dropdown */
.dropdown-trigger {
    background: #fff;
    border: 1px solid #ccc;
    padding: 10px 12px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .dropdown-trigger:hover {
        border-color: #888;
    }

    /* Container for text + image inside the trigger/items */
    .dropdown-trigger img,
    .dropdown-item-custom img {
        width: 32px;
        height: 32px;
        object-fit: cover;
        border-radius: 4px;
        margin-right: 12px;
    }

/* Dropdown list - hidden by default */
.dropdown-options {
    display: none;
    position: absolute;
    top: 105%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 100;
    max-height: 250px;
    overflow-y: auto;
}

    /* Show class toggled via JavaScript */
    .dropdown-options.show {
        display: block;
    }

/* Individual list item rows */
.dropdown-item-custom {
    padding: 10px 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: background 0.2s ease;
}

    .dropdown-item-custom:hover {
        background-color: #f1f1f1;
    }

.arrow {
    font-size: 0.8rem;
    color: #666;
}
.image-clickable-card {
    cursor: pointer;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    border: 2px solid transparent;
}

    .image-clickable-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.15);
        border-color: #0d6efd; /* Highlight border on hover */
    }

/* Forces images to be large, uniform, and proportional without stretching */
.image-wrapper {
    width: 100%;
    height: 250px; /* Adjust this height to make them even larger if desired */
    overflow: hidden;
    background-color: transparent;
}

    .image-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: contain; /* Crops the image beautifully to fit the frame */
        background-color: transparent;
    }
image-text-wrapper {
    max-height: 250px; /* Change this to whatever height you prefer */
    overflow-y: auto; /* Enables vertical scrolling when content overflows */
    border: 1px solid #ccc; /* Optional: adds a border so the box is visible */
    padding: 10px; /* Optional: adds spacing inside the box */
    background-color: #f9f9f9; /* Optional: light background */
    /* Optional: prevents long unbroken strings/URLs from breaking the layout */
    word-break: break-word;
}

.lnk-btn-gradient {
    /* 1. Reset and Layout */
    display: inline-block;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    /* ADDED FOR BUTTONS: Removes default button styling */
    cursor: pointer; /* Makes the cursor a "hand" icon on hover */
    outline: none; /* Removes default focus ring */
    -webkit-appearance: none; /* Prevents iOS default button styling */
    -moz-appearance: none;
    appearance: none;
    /* 2. Sizing and Shape */
    padding: 14px 32px;
    border-radius: 50px;
    /* 3. The White Border */
    border: 2px solid #ffffff;
    /* 4. Dark Blue Gradient Background */
    background: linear-gradient(135deg, #1e3c72 0%, #1a2a6c 100%);
    /* 5. Depth and Transition effects */
    box-shadow: 0 4px 15px rgba(26, 42, 108, 0.4);
    transition: all 0.3s ease;
}

    /* Hover State (Mouse Over) */
    .btn-gradient:hover {
        background: linear-gradient(135deg, #1a2a6c 0%, #1e3c72 100%);
        color: #ffffff;
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(26, 42, 108, 0.6);
    }

    /* Active State (Button Press) */
    .btn-gradient:active {
        transform: translateY(1px);
        box-shadow: 0 2px 10px rgba(26, 42, 108, 0.3);
    }
/* Sets a mobile-friendly default height, but lets it expand to 100% on desktop */
.img-container {
    min-height: 300px;
}

/* Forces the image to stretch and fill the space perfectly */
.img-fit {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    background-color: transparent;
}
.selected-card {
    border: 3px solid #0d6efd !important; /* Bootstrap primary blue */
    box-shadow: 0 4px 15px rgba(13, 110, 253, 0.3);
    transform: scale(1.02);
    transition: all 0.2s ease-in-out;
}