﻿/* Theme stylings */

:root {
    /* Main body colors */
    --primary-btn: #FC5700;
    --primary-btn-hover: #F25300;
    --secondary-btn: #0061B9;
    --secondary-btn-hover: #005098;
    --tertiary-border: #909090;
    --tertiary-text: #595959;
    --disabled-bg: #E8E8E8;
    --disabled-text: #595959;
    --link-color: #0061B9;
    --main-text: #1F1F1F;
    --placeholder: #717171;
    --small-text: #434343;
    --font-family-base: 'Roboto', sans-serif;

    /* Navbar */
    --navbar-bg: #1E2235;
    --navbar-height: 56px;
    --navbar-text: #FFFFFF;
    --navbar-text-muted: #ADAFBC;
    --navbar-icon: #C8CAD4;
    --navbar-hover-bg: rgba(255, 255, 255, 0.08);
    --navbar-active-bg: rgba(255, 255, 255, 0.12);
    --navbar-border: rgba(255, 255, 255, 0.08);

    /* Sidebar */
    --sidebar-bg: #1E2235;
    --sidebar-width: 320px;
    --sidebar-user-bg: #282C3E;
    --sidebar-separator: rgba(255, 255, 255, 0.1);
    --sidebar-section-label: #A6A9B8;

    /* Dropdown */
    --dropdown-bg: #282C3E;
    --dropdown-hover: rgba(255, 255, 255, 0.06);
    --dropdown-border: rgba(255, 255, 255, 0.1);
    --dropdown-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);

    /* Badge */
    --badge-bg: rgba(255, 255, 255, 0.12);
    --badge-text: #C8CAD4;

    /* Language selected */
    --lang-selected-bg: rgba(255, 255, 255, 0.06);
    --lang-check: #4CAF50;

    /* Backdrop */
    --backdrop-bg: rgba(0, 0, 0, 0.5);

    /* Page background (for dark mode toggle) */
    --page-bg: #f0f4f8;
    --page-text: #1F1F1F;
    --card-bg: #ffffff;

    /* Focus Indicator - WCAG 2.2 Requirement */
    --focus-ring-color: #4A90D9;
}

body {
    font-family: var(--font-family-base) !important;
    color: var(--main-text);
    background-color: #f5f5f5;
    min-height: 100vh;
    margin: 0;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex: 1;
    flex: 1;
    height: 100%;
}

/* Button stylings */

.btn-disabled {
    background: var(--disabled-bg);
    color: var(--disabled-text);
    cursor: not-allowed;
}

/* Typography */
.main-title {
    color: var(--main-text);
}

.sub-title {
    color: var(--main-text) !important;
    font-size: 1rem;
}

.fw-500 {
    font-weight: 500;
}

/* Main Layout for loader */

.main-wrapper {
    min-height: 100vh;
    padding: 20px;
}


/* Form validations */

input.invalid:not(#z),
.form-control.invalid:not(#z) {
    border-color: #EF0000 !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 2px rgba(239, 0, 0, 0.1) !important;
}

input.invalid:focus:not(#z),
.form-control.invalid:focus:not(#z) {
    border-color: #EF0000 !important;
    box-shadow: 0 0 0 2px rgba(239, 0, 0, 0.2) !important;
}

/* Skeleton stylings -  general*/
.placeholder-glow .placeholder {
    background-color: #e0e0e0 !important;
    opacity: 1 !important;
    border-radius: 14px !important;
}

/* Universal design */
#page-title:focus {
    outline: none !important;
}

#page-title.user-focused:focus {
    outline: 3px solid var(--focus-ring-color) !important;
    outline-offset: 8px;
    border-radius: 4px;
}

/* Preloader stylings animation */
.eso-logo {
    position: relative;
}

.eso-logo-quad {
    animation-duration: 1.2s;
    animation-iteration-count: infinite;
    animation-name: scaleAnim;
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    background-color: #f60;
    border-radius: 10%;
    height: 36px;
    position: absolute;
    width: 36px;
}

@keyframes scaleAnim {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(0.7);
    }

    100% {
        transform: scale(1);
    }
}

.eso-logo-column1 {
    left: 0px;
}

.eso-logo-column2 {
    left: 40px;
}

.eso-logo-column3 {
    left: 80px;
}

.eso-logo-column4 {
    left: 120px;
}

.eso-logo-column5 {
    left: 160px;
}

.eso-logo-row1 {
    top: 0px;
}

.eso-logo-row2 {
    top: 40px;
}

.eso-logo-row3 {
    top: 80px;
}

.eso-logo-quad2, .eso-logo-quad3, .eso-logo-quad6, .eso-logo-quad9, .eso-logo-quad12, .eso-logo-quad13 {
    background-color: #fff;
}

.eso-logo-quad1 {
    animation-delay: 100ms;
}

.eso-logo-quad2, .eso-logo-quad6 {
    animation-delay: 200ms;
}

.eso-logo-quad3, .eso-logo-quad7, .eso-logo-quad11 {
    animation-delay: 300ms;
}

.eso-logo-quad4, .eso-logo-quad8, .eso-logo-quad12 {
    animation-delay: 400ms;
}

.eso-logo-quad5, .eso-logo-quad9, .eso-logo-quad13 {
    animation-delay: 500ms;
}

.eso-logo-quad10, .eso-logo-quad14 {
    animation-delay: 600ms;
}

.eso-logo-quad15 {
    animation-delay: 700ms;
}

.widget {
    height: 115px;
    position: relative;
    width: 200px;
}

.waiting-area {
    width: 30rem;
}


@media (max-width: 576px) {
    .waiting-area {
        width: 95% !important;
        margin: 0 auto;
    }

    .waiting-area .row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center;
        justify-content: center;
        gap: 0; 
    }

    .waiting-area .col {
        flex: 0 0 auto !important;
        width: auto !important;
        padding: 0 !important;
    }

    .eso-logo.widget {
        transform: scale(0.6); 
        transform-origin: left center; 
        width: 85px; 
        height: 45px; 
        margin-right: 65px; 
        position: relative;
        top: -22px;
    }

    .waiting-area img {
        width: 130px !important; 
        height: auto;
        display: block;
    }
}

@media (prefers-reduced-motion: reduce) {
    .eso-logo-quad {
        animation: none !important; 
        transform: scale(0.8);
    }
}

/* PWA Install Banner */
.pwa-install-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    background-color: var(--card-bg, #ffffff);
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.12);
    font-size: 0.9rem;
}

@media (max-width: 576px) {
    .pwa-install-banner {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }

    .pwa-install-banner .d-flex.gap-2 {
        justify-content: center;
    }
}