.upload-page {
    margin-top: 50px;
}

.required {
    color: red;
    margin-right: 0.25rem;
}

.date-selector {
    text-align: left;
    margin-top: 10px;
}

.form-control {
    margin-top: 10px;
    margin-bottom: 10px;
}

.delivery-time {
    margin-right: 14px;
}

.courier-wrapper {
    position: relative;
    text-align: left;
}

.courier-wrapper .required {
    position: absolute;
    right: 5px;
    /* adjust according to desired spacing */
    top: 50%;
    transform: translateY(-50%);
    color: red;
    /* make the asterisk red */
    font-weight: bold;
    pointer-events: none;
    /* so the asterisk doesn’t interfere with input clicks */
    text-align: left;
}

.ready-by-wrapper {
    position: relative;
}

.animated-btn {
    display: inline-block;
    padding: 12px 24px;
    background-color: #007bff;
    /* Primary background color */
    color: #fff;
    /* Text color */
    border: none;
    /* Remove default border */
    border-radius: 4px;
    /* Rounded corners */
    font-size: 16px;
    /* Base font size */
    text-transform: uppercase;
    /* Uppercase text */
    letter-spacing: 1px;
    /* Slight letter spacing */
    cursor: pointer;
    /* Pointer cursor on hover */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    /* Subtle shadow */
}

.animated-btn:hover {
    transform: scale(1.05);
    /* Expands the button to 105% of its size */
    background-color: #0056b3;
    /* Darkens the background color */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    /* Increases the shadow for a "lifted" effect */
}

.delete-btn {
    padding: 10px 20px;
    /* Adjust padding for size */
    font-size: 16px;
    /* Font size */
    color: #ffffff;
    /* White text */
    background-color: #e74c3c;
    /* Red color for delete actions */
    border: none;
    /* Remove default border */
    border-radius: 5px;
    /* Slightly rounded corners */
    cursor: pointer;
    /* Pointer cursor on hover */
    text-transform: uppercase;
    /* Uppercase text */
    letter-spacing: 0.05em;
    /* Slight letter spacing */

    margin-left: 100px;
    margin-right: 100px;

    /* Transition for smooth hover effects */
    transition: background-color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

/* Hover state */
.delete-btn:hover {
    background-color: #c0392b;
    /* Darker red on hover */
    transform: scale(1.05);
    /* Slightly enlarge the button */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    /* Add a subtle shadow */
}

/* Active/pressed state */
.delete-btn:active {
    transform: scale(0.98);
    /* Slightly shrink when pressed */
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
    /* Adjust shadow for pressed effect */
}

.no-files-message {
    text-align: center;
    margin-top: 20px;
    font-size: 18px;
}

input[type="file"] {
    padding: 4px;
    margin: -4px;
    position: relative;
    outline: none;

    /* File Selector Button Styles */
    &::file-selector-button {
        border-radius: 4px;
        padding: 0 16px;
        height: 40px;
        cursor: pointer;
        background-color: white;
        border: 1px solid rgba(#000, 0.16);
        box-shadow: 0px 1px 0px rgba(#000, 0.05);
        margin-right: 16px;

        /*
      This is a hack to change the button label. 
      I'm hiding the default label and then 
      manually applying the width based on 
      updated icon and label.
    */
        width: 132px;
        color: transparent;

        /*
      Firefox doesn't support the pseudo ::before 
      or ::after elements on this input field so 
      we need to use the @supports rule to enable 
      default styles fallback for Firefox.
    */
        @supports (-moz-appearance: none) {
            color: var(--primary-color);
        }

        &:hover {
            background-color: #f3f444;
        }

        &:active {
            background-color: #e5e7eb;
        }
    }

    /* Faked label styles and icon */
    &::before {
        position: absolute;
        pointer-events: none;
        top: 14px;
        left: 16px;
        height: 20px;
        width: 20px;
        content: "";
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230964B0'%3E%3Cpath d='M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2zM7 9l1.41 1.41L11 7.83V16h2V7.83l2.59 2.58L17 9l-5-5-5 5z'/%3E%3C/svg%3E");
    }

    &::after {
        position: absolute;
        pointer-events: none;
        top: 12px;
        left: 40px;
        color: var(--primary-color);
        content: "Upload File";
    }

    /* Handle Component Focus */
    &:focus-within::file-selector-button,
    &:focus::file-selector-button {
        outline: 2px solid var(--primary-color);
        outline-offset: 2px;
    }

    /* file upload button hover state */
    &::file-selector-button:hover {
        background-color: #f3f4f6;
    }

    /* file upload button active state */
    &::file-selector-button:active {
        background-color: #e5e7eb;
    }
}