﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

/* @import url('https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&amp;subset=latin,latin-ext&amp;display=swap'); */

/* Bundling/minification note: keep external imports minimal */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:wght@300;400;500;600;700&display=swap');


html, body {
    font-family: "IBM Plex Serif", serif;
}

small {
    font-family: "IBM Plex Sans", sans-serif;
}

h3 {
    font-size: 24px;    
}

.table-responsive {
    font-family: "IBM Plex Sans", sans-serif;
}

.card-header {
    font-family: "IBM Plex Serif", serif;
}

.card-body {
    font-family: "IBM Plex Sans", sans-serif;
}

a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

/* Provide sufficient contrast against white background */
a {
    color: #0366d6; /*blue*/
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #1b6ec2; /* #8e568f; */
    border-color: #1861ac;     /* #8e568f; */
    font-family: "IBM Plex Sans", sans-serif;
}

.purple-anchor {
    color: #0063af;
}

.white-anchor {
    color: #fff;
}

.black-anchor {
    color: #000;
}

.anchor-uline {
    text-decoration: underline;
}

.clsDivError {
    font-size: small;
    color: red;
}

.obd-pointer {
    cursor: pointer;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

/* .box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
} */

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    width: 100%;
    height: 100%;
    /* background-color: #faf3ff; Much lighter very light purple */
    background-color: #000000; 
   /*background-image: linear-gradient(1deg, rgba(240,220,250,0.65) 100%, rgba(250,240,255,0.29) 100%), url(../images/backdrop/default.jpg); */
    background-image:
        linear-gradient(
            1deg,
            rgba(231,231,231,0.65) 100%,
            rgba(231,231,231,0.29) 100%
        ), url(../images/backdrop/default.png);
    /* background-size: cover; */

    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain; /* ensures full image fits inside screen */
    background-attachment: fixed; /* optional: keeps it still when scrolling */
}


/* ====================================================
    Integrated web pages.
   ----------------------------------------------------

/* Only used for T&Cs Cookies and Privacy */
.inner-panel {
    /* background-color: white; #eee2efe6; */
    background-color: rgba(254, 254, 254, 0.8) !important;
    border-radius: 8px;
    padding: 10px;
    border: solid 1px gray; /* #d4d1d4; */
}
/* ---------------------------------------------------- */


.footerSummary {
    background-color: rgba(254, 254, 254, 0.8); /* FEFEFE @ 80% opacity */
    padding: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.footerSummary h4 {
    color: #000000;
}

.footerSummary ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footerSummary li {
    position: relative;
    padding-left: 14px;
    margin-bottom: 0.5em;
}

.footerSummary li::before {
    position: absolute;
    top: 9px;
    left: 0;
    border-width: 3px;
    border-style: solid;
    border-radius: 3px;
    content: "";
    color: #0063af;
}

/* Footer copyright section */
.footer-copyright {
    font-size: 10px;
    background-color: rgba(254, 254, 254, 0.8); /* FEFEFE @ 80% opacity */
    color: black;
    text-align: center;
    padding: 8px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.footer-copyright a {
    color: black;
    /* background-color: rgba(254, 254, 254, 0.8) !important; */
    background: transparent !important;   /* fixes white background */
    padding: 6px;
    margin: 0;
    text-decoration: none;
    transition: opacity 0.3s ease-in-out;
    text-align: left !important;
}

.footer-copyright a:hover {
    opacity: 0.7;
}


/* .footerSummary h4 {
    color: #000000;
}

.footerSummary ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footerSummary li {
    position: relative;
    padding-left: 14px;
    margin-bottom: 0.5em;
}

.footerSummary li::before {
        position: absolute;
        top: 9px;
        left: 0;
        border-width: 3px;
        border-style: solid;
        webkit-border-radius: 3px;
        moz-border-radius: 3px;
        border-radius: 3px;
        content: "";
    }

.footerSummary li::before {
        color: #0063af;
    }

.footer-copyright {
    font-size: 10px;
    background-color: #f4f4f4;
    color: black;
}

.footer-copyright a {
        color: black;
        background-color: rgba(254, 254, 254, 0.8) !important;
        padding: 6px;
        margin: 0px;
    } */

/* NAVBAR STYLES */
/* Used on all pages for the main navbar */

.navbar {
    border: none;
    background-color: rgba(254, 254, 254, 0.8) !important;
    backdrop-filter: blur(6px);
    /* font-family: "Open Sans", sans-serif; just use the body font */
    font-weight: 600;
}

.navbar-logo {
    background-image: url(../images/logos/ssd-banner-logo.svg);
    background-size: cover;
    height: 60px;
    width: 200px;
}

/* Nav items inherit the translucent background from .navbar */
.nav-item {
    display: inline-block !important;
    padding-right: 12px;
}

/* Nav links */
.nav-link {
    color: rgba(0, 0, 0, 0.6) !important;
    opacity: 0.7;
    /* transition: all 0.3s ease-in-out; */
}

.nav-link:hover,
.nav-item:hover > .nav-link {
    color: #0F1B33 !important;
    opacity: 0.5;
}

.nav-item.active > .nav-link {
    color: #0F1B33 !important;
    opacity: 1.0;
}


/* SECONDARY NAVBAR STYLES FOR INTERNAL PAGES */
/* Used on some internal pages for secondary navbars */

.nav-link2 {
    color: rgba(0,0,0,.5) !important;
    /* //font-family: "Open Sans"; */
    font-weight: 600;
    display: block;
    padding: 0.5rem 1rem;
    text-decoration: none !important;
}


.nav-item2 {
    color: rgba(0,0,0,.5) !important;
    font-weight: 600;
    display: inline-block !important;
    padding-right: 12px;
    align-items: center;
    text-decoration: none !important;
    /*    padding-bottom: 26px;
    padding-top: 26px;*/
}

.nav-item2:hover {
    opacity: 1.0;
    transition: all 0.4s ease-in-out;
    visibility: inherit  !important;
    
}

.nav-item2.active > .nav-link2 {
    /* color: #752e76 !important; */
    color: #0F1B33 !important; /* #752e76 !important; */
    
    visibility: inherit !important;
}

.nav-link2:hover {
    opacity: 1.0 !important;
    /* color: #752e76 !important; */
    color: #0F1B33 !important; /* #752e76 !important; */
    
    /*    opacity: 1.0 !important;*/
/*    transition: all 0.4s ease-in-out !important;*/
}

.dropdown:hover .dropdown-menu {
    display: block;
    padding: 20px 0;
    /* border-top: 3px solid #752376; */
    border-top: 3px solid #0F1B33;
    
    opacity: 1 !important;
    background-color: white;
    width: 240px;
    transition: none !important;
    margin-top: 0; /* Added to remove gap */
}

.dropdown-menu {
    padding: 20px 0;
    /* border-top: 3px solid #752376; */
     border-top: 3px solid #0F1B33;
    opacity: 1 !important;
    background-color: white;
    width: 240px !important;
    transition: none !important;
    margin-top: 0; /* Added to remove gap */
    z-index: 1060 !important;
}

/* Added to create hover bridge */
.dropdown-menu:before {
    content: '';
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 15px;
    background: transparent;
}

/* Added to ensure proper containment */
.dropdown {
    padding-bottom: 5px;
}


.dropdown-menu .dropdown-item.active,
.dropdown-menu .dropdown-item:active {
  background-color: #0F1B33 !important;
  color: #fff !important;
}

/* Ensure active item remains readable even on hover */
.dropdown-menu .dropdown-item.active:hover,
.dropdown-menu .dropdown-item:active:hover {
  background-color: #0F1B33 !important; /* keep dark background */
  color: #fff !important;               /* keep white text */
}


.menubutton-hover:focus {
    color: white !important;
    background-color: #0F1B33 !important; /* ;#8e568f #f8f9fa;*/
}




.navbar-box-shadow {
    box-shadow: 0 0.25rem 0.75rem rgb(0 0 0 / 0.5) !important;
}

.main-container {
    min-height: 500px !important;
    Padding-top: 15px;
    padding-bottom: 80px;
}

/* .card {
    border: 1px solid rgb(0,0,0,.25);
} */

.card-header {
    border-bottom: 1px solid rgb(0,0,0,.25);
}

.table-lesshzpad td, .table-lesshzpad th {
    padding: .3rem .5rem;
}

.table-noheadrow-topborder th {
    border: none;
}

/* ======================================================
    Obeden SPECIFICS
------------------------------------------------------ */
.btn-primary {
    background-color: #0F1B33 !important; /* #8e568f !important; */
    border-color: #0F1B33!important; /* #8f5690 !important; */
    font-family: "IBM Plex Sans", sans-serif;
}

.btn-primary:hover {
    background-color: #162850 !important; /* 20% lighter than #0F1B33 */
    border-color: #162850 !important;
    font-family: "IBM Plex Sans", sans-serif;
}

.btn-secondary {
    font-family: "IBM Plex Sans", sans-serif;
}

.btn-secondary:hover {
    font-family: "IBM Plex Sans", sans-serif;
}

.import-licence-summary td:nth-child(2) {
    width: 50px;
    text-align: right;
}

.FormFieldErrorMsg {
    color: red;
    font-size: small;
}

/* Formatting for assessment/survey radio button selections */
.btn-survey-radio-set {
    background-color: #f7f0f7 !important;
    border-color: #5a3177 !important;
    color: #5a3177 !important;
}

.btn-survey-radio-set:not(:disabled):not(.disabled).active {
    background-color: #8d568e !important;
    border-color: #5a3177 !important;
    color: white !important;
}

.btn-survey-radio-set.disabled {
    background-color: #f2f2f2 !important;
    border-color: #c5c5c5 !important;
    color: #5a3177 !important;
}

/* --------------------------------------
    CARDS
*/
/*
.card {
    border: solid 1px #72baea !important;
}
.card-header {
    background-color: #6dd8ff !important;
    border-bottom: solid #72baea 1px !important;
}
*/
.bg-blue {
    background-color: #0063af !important;
}

/* Audit list row action indicators */
.obd-pointer:hover {
    cursor: pointer;
}

.obd-not-allowed:hover {
    cursor: not-allowed;
}

/* Assessment report information, Warning boxes. */
.assessment-report-critical {
    padding: 15px;
    background-color: #ff695a;
    border: solid 1px #ffb020;
    border-radius: 8px;
}

.assessment-report-warning {
    padding: 15px;
    background-color: #ffb55a;
    border: solid 1px #ffb020;
    border-radius: 8px;
}

.assessment-report-information {
    padding: 15px;
    background-color: #99e6aa;
    border: solid 1px #d8d5cf;
    border-radius: 8px;
}

.assessment-report-response {
    padding: 15px;
    background-color: #e6e6e6;
    border: solid 1px #d8d5cf;
    border-radius: 8px;
}

.assessment-report-cell-critical {
    //padding: 15px;
    background-color: #ff695a;
}

.assessment-report-cell-warning {
    //padding: 15px;
    background-color: #ffb55a;
}

.assessment-report-cell-information {
    //padding: 15px;
    background-color: #99e6aa;
}

/* These classes are for questions that are filled in via the Control Panel cell functions. */
.autoresponse-btn {
    background-color: #42b8d3;
    border: solid 1px #2ea4bf;
    /*
    background-color: #3ddaf3;
    border: solid 1px#dda705;
    */
    border-radius: 0.25rem;
    color: #f8f9fa;
    font-weight: 500;
    margin: 0 auto;
    padding: 0.375rem 0.75rem;
    width: 90%;
}

.autoresponse-text {
    border: solid 1px gray;
    background-color: white;
    border-radius: 8px;
    padding: 10px;
    width: 100%;
}

.autoresponse-action {
    border: solid 1px #2ea4bf;
    background-color: #42b8d3;
    border-radius: 0.25rem;
    color: white;
    font-size: 0.9em;
    padding: 10px;
    text-align: left;
}


/*
    code by Iatek LLC 2018 - CC 2.0 License - Attribution required
    code customized by Azmind.com
*/
@media (min-width: 768px) and (max-width: 991px) {
    /* Show 4th slide on md if col-md-4*/
    .carousel-inner .active.col-md-4.carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -33.3333%; /*change this with javascript in the future*/
        z-index: -1;
        display: block;
        visibility: visible;
    }
}

@media (min-width: 576px) and (max-width: 768px) {
    /* Show 3rd slide on sm if col-sm-6*/
    .carousel-inner .active.col-sm-6.carousel-item + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -50%; /*change this with javascript in the future*/
        z-index: -1;
        display: block;
        visibility: visible;
    }
}

@media (min-width: 576px) {
    .carousel-item {
        margin-right: 0;
    }
    /* show 2 items */
    .carousel-inner .active + .carousel-item {
        display: block;
    }

    .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left),
    .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item {
        transition: none;
    }

    .carousel-inner .carousel-item-next {
        position: relative;
        transform: translate3d(0, 0, 0);
    }
    /* left or forward direction */
    .active.carousel-item-left + .carousel-item-next.carousel-item-left,
    .carousel-item-next.carousel-item-left + .carousel-item,
    .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    /* farthest right hidden item must be also positioned for animations */
    .carousel-inner .carousel-item-prev.carousel-item-right {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        display: block;
        visibility: visible;
    }
    /* right or prev direction */
    .active.carousel-item-right + .carousel-item-prev.carousel-item-right,
    .carousel-item-prev.carousel-item-right + .carousel-item,
    .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        display: block;
        visibility: visible;
    }
}
/* MD */
@media (min-width: 768px) {
    /* show 3rd of 3 item slide */
    .carousel-inner .active + .carousel-item + .carousel-item {
        display: block;
    }

    .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item {
        transition: none;
    }

    .carousel-inner .carousel-item-next {
        position: relative;
        transform: translate3d(0, 0, 0);
    }
    /* left or forward direction */
    .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    /* right or prev direction */
    .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        display: block;
        visibility: visible;
    }
}
/* LG */
@media (min-width: 991px) {
    /* show 4th item */
    .carousel-inner .active + .carousel-item + .carousel-item + .carousel-item {
        display: block;
    }

    .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item + .carousel-item {
        transition: none;
    }
    /* Show 5th slide on lg if col-lg-3 */
    .carousel-inner .active.col-lg-3.carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: absolute;
        top: 0;
        right: -25%; /*change this with javascript in the future*/
        z-index: -1;
        display: block;
        visibility: visible;
    }
    /* left or forward direction */
    .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    /* right or prev direction //t - previous slide direction last item animation fix */
    .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        display: block;
        visibility: visible;
    }
}





.badge-pill-shared-green {
    display: inline-block;
    padding: 2px 10px;
    background: #29a34a;      /* solid green */
    color: #fff;
    border-radius: 9999px;     /* full pill */
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: .2px;
    white-space: nowrap;
    font-family: "IBM Plex Sans", sans-serif;
}

.badge-pill-shared-grey{
    display: inline-block;
    padding: 2px 10px;
    background: grey;
    color: #fff;
    border-radius: 9999px;     /* full pill */
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: .2px;
    white-space: nowrap;
    font-family: "IBM Plex Sans", sans-serif;
}

.badge-pill-shared-blue{
    display: inline-block;
    padding: 2px 10px;
    background: blue;
    color: #fff;
    border-radius: 9999px;     /* full pill */
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: .2px;
    white-space: nowrap;
    font-family: "IBM Plex Sans", sans-serif;
}

.badge-pill-shared-red{
    display: inline-block;
    padding: 2px 10px;
    background: red;
    color: #fff;
    border-radius: 9999px;     /* full pill */
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: .2px;
    white-space: nowrap;
    font-family: "IBM Plex Sans", sans-serif;
}

/* -------------------------------------------------------
   Card background adjustment – 80% opaque white
   ------------------------------------------------------- */
.box-shadow {
    background-color: rgba(255, 255, 255, 0.8) !important;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.5) !important;
    border-radius: 8px;
}

.card {
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.5) !important;
    border-radius: 8px;
}


.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    font-family: "IBM Plex Sans", sans-serif;
}

.btn-icon img {
    width: 16px;
    height: 16px;
    margin-right: 6px;
    vertical-align: middle;
    filter: brightness(0) invert(1); /* make SVG white inside .btn-primary / .btn-danger */
    font-family: "IBM Plex Sans", sans-serif;
}

.btn-secondary.btn-icon img {
    filter: none; /* keep dark icons on light buttons */
    font-family: "IBM Plex Sans", sans-serif;
}


.btn-icon i {
    font-size: 16px;
    margin-right: 6px;
    vertical-align: middle;
    color: inherit; /* uses button text color (white inside .btn-primary, etc.) */
    font-family: "IBM Plex Sans", sans-serif;
}


/* Share file display select box */
select[multiple] option {
    padding: 6px 10px;
    margin: 2px 0;
}

/* and for safari */
select[multiple] {
    font-size: 0.95rem;
    line-height: 1.6;
    padding: 6px 10px;
    margin: 2px 0;
}




/* ============================================
   File name cell truncation
   ============================================ */

/* Forces table cells to respect defined header widths */
.table-fixed {
    table-layout: fixed !important;
    width: 100%;
}

.table td .file-name {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}



.secuura-card {
    border: none !important;
    border-bottom: none !important;
    background-color: rgba(15, 27, 51, 0.7) !important; /* 80% opaque */
    color: white;
    border-radius: 8px
}

.secuura-card .secuura-card-body {
    border: none !important;
    border-bottom: none !important;
    background-color: rgba(15, 27, 51, 0.7) !important; /* 80% opaque */
    color: white;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.secuura-card  .secuura-card-header {
    border: none !important;
    border-bottom: none !important;
    background-color: rgba(15, 27, 51, 0.7) !important; /* 80% opaque */
    color: yellow;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}


.login-card {
    border: none !important;
    border-bottom: none !important;
    background-color: rgba(254, 254, 254, 0.8) !important; /* #FEFEFE  80% opacity */
    color: #0F1B33; /* dark text for contrast */
    border-radius: 8px;
}

.login-card .login-card-body {
    border: none !important;
    border-bottom: none !important;
    background-color: rgba(254, 254, 254, 0.8) !important;
    color: #0F1B33;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.login-card .login-card-header {
    border: none !important;
    border-bottom: none !important;
    background-color: rgba(254, 254, 254, 0.8) !important;
    color: #0F1B33;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}



/* Stronger fade on hover (applies to all nav links, including active) */
.navbar .nav-link {
    opacity: 0.9; /* higher base so the fade is more noticeable */
    transition: opacity 0.2s ease-in-out;
}

.navbar .nav-link:hover,
.navbar .nav-item:hover > .nav-link {
    opacity: 0.35 !important; /* clear dimming */
}

/* Active link default + hover dim */
.navbar .nav-item.active > .nav-link {
    color: #0F1B33 !important;
    opacity: 0.9; /* match base */
}

.navbar .nav-item.active > .nav-link:hover {
    opacity: 0.35 !important;
}

/* If items render inside a collapsed/mobile .show container, ensure same fade */
.navbar .show .nav-link:hover {
    opacity: 0.35 !important;
}



/* Keep navbar above page content */
.navbar {
  position: relative;
  z-index: 1050;
  overflow: visible;
}

/* Raise the dropdown menu, but don't change its positioning ancestor */
.navbar .dropdown {
  position: relative;             /* keep as relative so hover area includes the toggle */
}

.navbar .dropdown-menu {
  position: absolute;
  top: 100%;
  /* left: 0; */
  margin-top: 0;
  z-index: 1080 !important;       /* above cards, below modals */
}

/* Robust hover logic: keep it open when hovering the menu itself */
.dropdown:hover > .dropdown-menu,
.dropdown-menu:hover {
  display: block;
}

/* If you also use the secondary nav classes, include them too */
.nav-item2.dropdown:hover > .dropdown-menu,
.nav-item2 .dropdown-menu:hover {
  display: block;
}

/* Optional: widen the hover “bridge” so there’s no flicker between toggle and menu */
.dropdown-menu::before {
  content: "";
  position: absolute;
  top: -12px;                      /* adjust if needed */
  left: 0;
  width: 100%;
  height: 12px;                    /* increases the catch area */
  background: transparent;
}



/* =========================================================
   Dropdown menu typography and spacing – match IBM Plex Serif
   ========================================================= */
.dropdown-menu .dropdown-item {
    font-family: "IBM Plex Serif", serif !important;   /* match main site font */
    font-size: 15px !important;                        /* slightly larger for clarity */
    font-weight: 500;                                  /* consistent with navbar */
    line-height: 1.4;
    padding: 8px 18px;                                 /* improved click area */
    color: rgba(0, 0, 0, 0.7);
    background-color: rgba(254, 254, 254, 0.9);        /* match your translucent white theme */
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Hover and active states */
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    background-color: rgba(15, 27, 51, 0.1);  /* subtle blue-gray tint */
    color: #0F1B33 !important;                /* brand dark-blue text */
}

/* Active item styling */
.dropdown-menu .dropdown-item.active {
    background-color: rgba(15, 27, 51, 0.15) !important;
    color: #0F1B33 !important;
}


* Disable the blue focus ring and click selection */
.nav-link2:focus,
.nav-link2:active,
.nav-link2:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  color: inherit !important;
}

/* Prevent Bootstrap’s click/focus visual toggle */
.nav-item2 .nav-link2,
.nav-item2.dropdown .nav-link2 {
  pointer-events: none;       /* disables click so Bootstrap can't toggle .show */
}

/* Restore hover behaviour for the parent instead */
.nav-item2.dropdown:hover > .nav-link2 {
  pointer-events: auto;       /* re-enable hover/hover color only */
}

/* Remove blue focus ring and active border */
.nav-item2 .nav-link2:focus,
.nav-item2 .nav-link2:active,
.nav-item2.dropdown.show > .nav-link2 {
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  color: inherit !important;
}