﻿.page-loading {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all .4s .2s ease-in-out;
    transition: all .4s .2s ease-in-out;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    z-index: 9999;
}

    .page-loading.active {
        opacity: 1;
        visibility: visible;
    }

.page-loading-inner {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    text-align: center;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: opacity .2s ease-in-out;
    transition: opacity .2s ease-in-out;
    opacity: 0;
}

.page-loading.active > .page-loading-inner {
    opacity: 1;
}

.page-loading-inner > span {
    display: block;
    font-size: 1rem;
    font-weight: normal;
    color: #666276;
}

.page-spinner {
    display: inline-block;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: .75rem;
    vertical-align: text-bottom;
    border: .15em solid #bbb7c5;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spinner .75s linear infinite;
    animation: spinner .75s linear infinite;
}

@-webkit-keyframes spinner {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spinner {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

label.required::after {
    content: " *";
    color: red;
}

.input-error-self {
    border: 2px solid red !important;
    background-image: url('../img/img/error.svg') !important;
    background-repeat: no-repeat;
    background-position: right 1.125rem center, center right 2.53125rem;
    background-size: 16px 12px, calc(0.75em + 0.575rem) calc(0.75em + 0.575rem);
}

.input-success-self {
    border: 2px solid green !important;
    background-image: url('../img/img/success.svg') !important;
    background-repeat: no-repeat;
    background-position: right 1.125rem center, center right 2.53125rem;
    background-size: 16px 12px, calc(0.75em + 0.575rem) calc(0.75em + 0.575rem);
}

.filepond--item {
    width: calc(50% - 0.5em);
}

@media (max-width: 600px) {
    .filepond--item {
        width: 100%;
    }
}

.filepond--root {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.filepond--list {
    gap: 1em;
}

.filepond--file-poster video {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    z-index: 1;
}

.filepond--file-poster video {
    position: relative !important;
}

.filepond-wrapper {
    position: relative;
    z-index: 0;
    overflow: hidden;
}

.filepond--root .filepond--drop-label {
    min-height: 4.75em;
}

input[type="radio"] {
    -webkit-appearance: none; /* Chrome, Safari */
    -moz-appearance: none; /* Firefox */
    appearance: none; /* Standard */
    margin-right: .1em;
    width: 1em; /* desired width */
    height: 1em; /* desired height */
    border: 2px solid #bbb7c5;
    border-radius: 50%; /* makes it circular */
    outline: none;
    cursor: pointer;
    position: relative;
    vertical-align: middle;
    background-color: rgba(0,0,0,0);
}

    input[type="radio"]:checked::after {
        content: '';
        display: block;
        width: 6px; /* inner dot size */
        height: 6px;
        background-color: #fd5631; /* color of selected dot */
        border-radius: 50%;
        border: 2px solid #fd5631 !important;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    input[type="radio"]:checked {
        border-color: #fd5631;
    }

input[type="checkbox"] {
    -webkit-appearance: none; /* Chrome, Safari */
    -moz-appearance: none; /* Firefox */
    appearance: none; /* Standard */
    margin-right: .1em;
    width: 1em;
    height: 1em;
    border: 2px solid #bbb7c5; /* default border */
    border-radius: .1875em; /* slightly rounded corners */
    background-color: rgba(0,0,0,0);
    cursor: pointer;
    position: relative;
    vertical-align: middle;
    outline: none;
}

    /* Checked state */
    input[type="checkbox"]:checked {
        border-color: #fd5631; /* border color when checked */
        background-color: rgba(0,0,0,0); /* background when checked */
    }

        /* Checkmark */
        input[type="checkbox"]:checked::after {
            content: '';
            position: absolute;
            top: 2px;
            left: 4px;
            width: 4px;
            height: 6px;
            border: solid #fd5631; /* white checkmark */
            border-width: 0 2px 2px 0;
            transform: rotate(45deg);
            display: block;
        }

.custom-radio-checkbox label {
    margin-right: 1em;
    margin-left: 0.3em;
}

.rbl-bootstrap label {
    padding-top: 4px;
}

/* Card wrapper */
.img-card {
    width: 48%;
    display: inline-block;
    margin: 1%;
    vertical-align: top;
    box-sizing: border-box;
}

/* Desktop view - 4 per row */
@media (min-width: 768px) {
    .img-card {
        width: 23%;
    }
}

/* Image container */
.img-wrapper {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s;
}

    /* Hover zoom effect */
    .img-wrapper:hover {
        transform: scale(1.03);
    }

    /* Image */
    .img-wrapper img {
        width: 100%;
        height: 180px;
        object-fit: cover;
        display: block;
    }

/* Delete button */
.delete-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    background: rgba(255,255,255,0.8);
    border-radius: 50%;
    padding: 3px;
    z-index: 10;
    cursor: pointer;
}

    /* Hover Delete button */
    .delete-btn:hover {
        background: red;
    }

/* Main overlay frame */
.main-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.5); /* neutral dark semi-transparent */
    padding: 5px 0;
    text-align: center;
    color: white;
    z-index: 5;
    font-weight: bold;
}

    /* Radio button styling */
    .main-overlay input[type=radio] {
        accent-color: #fd5631; /* your desired radio button color */
        margin-right: 5px;
    }

    /* Radio button styling */
    .main-overlay input[type=radio] {
        margin-right: 5px;
    }

.delete-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
    width: 32px; /* fixed square for centering */
    height: 32px; /* fixed square */
    background: rgba(255,255,255,0.8);
    border-radius: 50%;
    display: flex; /* flex for center alignment */
    align-items: center; /* vertical center */
    justify-content: center; /* horizontal center */
    color: #fd5631; /* icon color */
    font-size: 16px; /* icon size */
    cursor: pointer;
    transition: 0.3s;
}

    .delete-btn:hover {
        background: #fd5631;
        color: white;
    }

    .delete-btn:hover {
        background: #fd5631;
        color: white;
    }

.password-toggle-btn {
    display: flex;
    align-items: center; /* vertically center the checkbox inside label */
    cursor: pointer;
    height: 100%; /* same height as the input */
}

    .password-toggle-btn input {
        margin: 0; /* remove extra checkbox spacing */
    }

.password-toggle-indicator {
    width: 20px;
    height: 20px;
    background: #ccc;
    display: inline-block;
    margin-left: 5px;
}

.otp-box {
    width: 70px;
    height: 70px;
    text-align: center;
    font-size: 25px;
    border: 2px solid #ccc;
    border-radius: 8px;
}

    .otp-box:focus {
        border-color: #0d6efd;
        outline: none;
    }

.logo-text {
    font-size: 22px;
    font-weight: 700;
    color: #333;
    text-decoration: none;
    letter-spacing: 1px;
}

.shadow-sm {
    box-shadow: 0 0.125rem 0.125rem .250rem rgba(31, 27, 45, 0.08), 0 0.25rem 0.75rem rgba(31, 27, 45, 0.08) !important;
}


.user-dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
}

.user-dropdown .dropdown-menu {
    margin-top: 0;
}

.carousel-item img.developer {
    max-height: 420px;
    object-fit: cover;
}
