:root {
    --bg-gradient: linear-gradient(90deg, #2345A9 0%, #000000 100%);
    --bg-card-menu: linear-gradient(90deg, #2345A9 0%, #000000 100%);
    --bg-box: linear-gradient(90deg, #eff1f6 0%, #88adc5 100%);
    --bg-card-gradient: linear-gradient(90deg, hsl(0, 0%, 100%) 0%, #dbdbe2 100%);
    --bg-overlay-color: transparent;
    --shd: 0 4px 16px rgba(0, 0, 0, 0.2); /* Example shadow */
    --primary-color: #007bff; /* Add primary color variable */
    --secondary-color: #ffffff; /* Add secondary color variable */
    --background-color: #120c4b; /* Add background color variable */
}

body {
    margin: 0;
    padding: 0;

    /* height: 100vh; Make sure the background covers the entire viewport */
    /* display: flex; */
    justify-content: center;
    align-items: center;
    line-height: 2;
}

html, body {
height: 100%; /* Ensure the page takes up full height */
margin: 0; /* Remove default margin */
}

html {
    /* Reserve scrollbar space permanently so nav items never shift
       when a scrollbar appears or disappears between pages */
    overflow-y: scroll;
    scrollbar-gutter: stable;
}
#content {
flex: 1 0 auto; /* Flex grow, don’t shrink, auto basis */
}

#footer {
flex-shrink: 0; /* Prevent footer from shrinking */
/* Additional footer styling here */
}
.wrapper {
display: flex;
flex-direction: column;
height: 100%;
background-image: url("../images/bg.png");
background-size: cover;
background-repeat: no-repeat;
}

@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 400;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXclJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 400;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXcBJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 400;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXchJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+1F00-1FFF;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 400;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXcdJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+0370-03FF;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 400;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXctJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 400;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXcpJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 400;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXcRJUQZA3Jw.woff2") format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 700;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXclJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 700;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXcBJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 700;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXchJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+1F00-1FFF;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 700;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXcdJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+0370-03FF;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 700;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXctJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 700;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXcpJUQZA3JzsTQ.woff2") format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
font-display: block;
}
@font-face {
font-family: 'Jura';
font-style: normal;
font-weight: 700;
src: url("//static.parastorage.com/tag-bundler/api/v1/fonts-cache/googlefont/woff2/s/jura/v13/z7NbdRfiaC4VXcRJUQZA3Jw.woff2") format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
font-display: block;
}


.navbar-brand {
    padding-bottom: 0 !important;
}

/* Active nav-link — no background highlight, just colour */
.navbar-dark .navbar-nav .nav-link.active {
    color: #E2F704 !important;
    background-color: transparent;
}
.navbar-brand {
    margin-left: 15px; /* Adjust this value to increase or decrease the left margin */
}

.white-text {
        color: white;
}
.pnp-text {
        color: #8867fd !important; 
        font-weight: bolder !important;
        text-align: left !important;
}
.grey-text {
        color: rgb(108, 107, 107) !important; 
        font-weight: bolder !important;
        text-align: left !important;
}
.black-text {
        color:black !important; 
        font-weight:normal !important;
        text-align: left !important;
}
.red-text {
        color:red !important; 
        font-weight:bold !important;
        text-align: left !important;
}
/* Additional styling for content */
.content {
    color: white;
}

.form-signin {
    width: 100%;
    max-width: 330px;
    padding: 15px;
    margin: auto;
}
.form-signin .checkbox {
    font-weight: 400;
}
.form-signin .form-control {
    position: relative;
    box-sizing: border-box;
    height: auto;
    padding: 10px;
    font-size: 16px;
}


.form-signin .form-control:focus {
    z-index: 2;
}
.form-signin input[type="email"] {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
    margin-bottom: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.form-signin button {
    background-color: #007bff; /* Adjust the color to match the theme */
    border: none;
}
.btn-block.mb-4 {
    margin-bottom: 1.5rem !important; /* Adjust the value as needed */
}
.custom-btn-spacing {
    margin-bottom: 20px;
}

.form-control-wide {
    width: 100% !important;
}

.form-signin {
    max-width: 600px !important;
    margin: auto !important;
}
/* Scoped only to the navbar — do NOT apply text-align:right globally */
.navbar .container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
}
.bg_menu {
    background: var(--bg-gradient);
}

/* ── Navbar — match pnp-engineering.fr ────────────────────────────────── */

/* Slim the navbar to match the static site height */
.navbar {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Right-align nav items (works regardless of Bootstrap 4 vs 5) */
.navbar-collapse .pnp-nav-list {
    margin-left: auto !important;
}

/* Hide the Bootstrap dropdown caret on the avatar */
.pnp-avatar-toggle::after {
    display: none;
}

/* Separator between items — inset top/bottom, visible, matches static site */
.navbar-nav .nav-item {
    position: relative;
}
.navbar-nav .nav-item + .nav-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10%;
    height: 80%;
    width: 1.5px;
    background: rgba(255, 255, 255, 0.40);
}

/* Avatar container — matches flag area width on static site (79px measured) */
li.nav-item.pnp-avatar-item {
    min-width: 120px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* Nav link base style — Jura font + padding matches static site item widths */
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.88) !important;
    font-family: Jura, sans-serif !important;
    font-size: 15px !important;
    font-weight: 100 !important;
    padding-top: 0.6rem !important;
    padding-bottom: 0.6rem !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    transition: color 0.15s ease;
}
/* Teal hover — matches static site */
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
    color: #3ECDC4 !important;
}
/* Dashboard stays yellow, always */
.navbar-dark .navbar-nav .nav-link.pnp-nav-dashboard {
    color: #E2F704 !important;
}
/* Remove any active-state background highlight */
.navbar-dark .navbar-nav .nav-link.active {
    background-color: transparent !important;
}
footer.bg_menu {
    background: var(--bg-gradient);
    padding-bottom: 0rem!important;
}


.bg_card_menu {
    background: var(--bg-card-menu);
    border-top-left-radius: 0.5rem !important;
    border-top-right-radius: 0.5rem !important;
}
.card {
    background: var(--bg-card-gradient);
}

div.card { /* Increased specificity by specifying the element */
    min-width: 30%;
    margin: 1% !important;
    border-radius: 0.5rem !important;
    border:0px !important;
}


.custom-nav .nav-item {
    list-style-type: disc; /* Add bullets */
    display: list-item; /* Required for bullets to show */
    margin-left: 20px; /* Adjust spacing to align bullets */
    color: black  !important;
}
.update-icon, .delete-icon {
    font-size: 16px; /* Example size */
    cursor: pointer;
}

.delete-icon {
    margin-left: 10px; /* Space between icons */
}
.thin-row {
    height: 1.5rem !important;
    padding: 0 !important;
}

    .form-signin {
        max-width: 400px !important;
        margin: auto !important;
        background-color: #120c4b; /* For visibility */
        padding: 20px;
        border-radius: 5px;
    }
    .form-control-wide, .form-signin .btn {
        width: 100% !important;
        box-sizing: border-box; /* Ensures padding and border are included in the width */
    }
.card-row {
    flex-wrap: nowrap !important;
    justify-content: center !important;

}

/* Customizes the scrollbar for Firefox */
.container {
    scrollbar-color: transparent transparent !important;
}
.container {
    height: 100%; /* or any specific height */
    max-width: 100% !important;
    overflow-x: scroll; /* This enforces a vertical scrollbar */
    overflow-y: scroll; /* This enforces a vertical scrollbar */
}
    
.form-group {
    margin-bottom: 0.2rem !important;
}
.small-size {
    max-width: 200px !important;
    text-align: left !important;
}

.modal {
    display: none;
    position: fixed;
    z-index: 1050; /* Bootstrap default for modals */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.4);
}

.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 50%;
}

.dropdown-menu {
    min-width: none !important;
    right: 0;
    left: auto; /* Adjust this as necessary */
}


.modal-backdrop.show {
    z-index: 1040; /* Bootstrap default for backdrops */
}

.flash-messages {
    position: fixed;
    top: 20px; /* Adjust the top position to your liking */
    left: 50%;
    transform: translateX(-50%);
    z-index: 1050; /* Ensure it appears above other content */
    width: auto;
    max-width: 80%; /* Adjust based on your preference for max width */
    text-align: center;
}


.flash-message {
    margin-top: 20px; /* Space between messages */
}

.data-rows {
    display: flex;
    flex-direction: column;
}

.header-row {
    display: flex;
    flex-direction: row;
    background-color: #333;
    color: white;
    font-weight: bold;
}

.row {
    display: flex;
    flex-direction: row;
}

.cell {
    flex: 1;
    padding: 8px;
}

.cell img {
    max-width: 50px;
    max-height: 50px;
}

.icon-button {
    border: none;
    background: none;
    padding: 0;
    color: inherit; /* Or any color you wish to use */
}

.icon-button:hover,
.icon-button:focus {
    color: #007bff; /* Change color on hover/focus */
    cursor: pointer;
    outline: none;
}

.custom-icon-size {
    font-size: 15px; /* Or any size you prefer */
}
.custom-icon-larger-size {
    font-size: 25px; /* Or any size you prefer */
    padding-right: 20px;
}
.custom-icon-medium-size {
    font-size: 15px; /* Or any size you prefer */
    padding-right: 20px;
}

.qrcode_small {
    max-width: 200px;
    height: auto;
}   
.centered-image {
    display: block !important;
    margin: auto !important;
}

.hidden {
    display: none;
}


/* Chatbot styles */

#chatbot {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 300px;
    height: 400px;
    display: none;
    background-color: var(--background-color); /* Apply background color */
    border: 1px solid #ccc;
    box-shadow: var(--shd); /* Apply shadow */
    border-radius: 10px; /* Apply rounded corners */
    z-index: 1000;
    overflow: hidden; /* Hide overflow for better appearance */
}

#chatbot-header {
    cursor: pointer;
}

#chatbot-messages {
    padding: 10px;
    height: 270px;
    overflow-y: scroll;
    background-color: #fff; /* Set background color for message area */
}

#chatbot-input {
    display: flex;
    padding: 10px;
    background-color: #fff; /* Set background color for input area */
    border-bottom-left-radius: 10px; /* Apply rounded corners */
    border-bottom-right-radius: 10px; /* Apply rounded corners */
}

#chatbot-user-input {
    flex: 1;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px; /* Apply rounded corners */
}

#chatbot-send {
    margin-left: 10px;
    padding: 10px 15px;
    background-color: var(--primary-color); /* Apply primary color */
    color: var(--secondary-color); /* Apply secondary color */
    border: none;
    border-radius: 5px; /* Apply rounded corners */
    cursor: pointer;
}

#chat-icon {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background-color: var(--primary-color); /* Apply primary color */
    color: var(--secondary-color); /* Apply secondary color */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shd); /* Apply shadow */
    z-index: 1000;
}

